Java 中的 spaCy 替代品

vin*_*vin 5 nlp pos-tagger stanford-nlp spacy

我目前使用 spaCy 来遍历依赖树并生成实体。

nlp = get_spacy_model(detect_lang(unicode_text))
doc = nlp(unicode_text)

entities = set()
for sentence in doc.sents:

  # traverse tree picking up entities
  for token in sentence.subtree:
    ## pick entitites using some pre-defined rules

entities.discard('')
return entities
Run Code Online (Sandbox Code Playgroud)

spaCy 有什么好的 Java 替代品吗?

我正在寻找像 spaCy 那样生成依赖树的库。

编辑:

我研究了斯坦福解析器。但是,它生成了以下解析树:

                     ROOT
                      |
                      NP
       _______________|_________
      |                         NP
      |                _________|___
      |               |             PP
      |               |     ________|___
      NP              NP   |            NP
  ____|__________     |    |     _______|____
 DT   JJ    JJ   NN  NNS   IN   DT      JJ   NN
 |    |     |    |    |    |    |       |    |
the quick brown fox jumps over the     lazy dog
Run Code Online (Sandbox Code Playgroud)

但是,我正在寻找像 spaCy 那样的树结构:

                             jumps_VBZ
   __________________________|___________________
  |       |        |         |      |         over_IN
  |       |        |         |      |            |
  |       |        |         |      |          dog_NN
  |       |        |         |      |     _______|_______
The_DT quick_JJ brown_JJ   fox_NN  ._. the_DT         lazy_JJ
Run Code Online (Sandbox Code Playgroud)

Gab*_*eli 2

您正在寻找斯坦福依存解析器。与大多数斯坦福工具一样,它也与注释器下的斯坦福 CoreNLPdepparse捆绑在一起。其他解析器包括Malt 解析器(基于特征的移位归约解析器)和 Ryan McDonald 的MST 解析器(准确但速度较慢的最大生成树解析器)。