【发布时间】:2020-07-09 13:54:43
【问题描述】:
我正在做一个项目,我在 Esports Wiki 上抓取球员转会、团队变动等信息。我已经到了可以隔离“Sizz 作为教练加入 NRG Esports”之类的字符串的地步。这个字符串我想识别玩家、团队和事件类型。这些字符串的措辞简单明了,但并不总是一致的,例如“team drops player”或“player leave team”应该导致解析相同的事件。有时,一个字符串也会包含多个事件,所以我一直无法使用关键字或类似的东西。
我正在寻找的东西会包含一个句子并吐出带有关系 POS 标记的解析树,如下所示:
或者,以文本形式:
( (IP-MAT (NP-SBJ (PRO I))
(VP (VBP enjoy)
(NP-OB1 (N hunting)))
(PUNC .)))
其中 -sbj 和 -obj 是标签,而不仅仅是 NP、VP 等
spacy-nlp 似乎可以做到,但它使用了 socket.io 和 Python,这似乎很多。 CoreNLP 似乎同样有希望,因为它使用了斯坦福大学的大型 CoreNLP 项目,但同样使用了 Java。 Compromise 似乎是一个非常好的、轻量级的解决方案,但是虽然它在识别名词/动词/形容词/等方面效果很好,但它似乎没有任何关系标记(主语和宾语)的功能。
我一直在寻找几个小时,并且正在考虑在这一点上用 Python 重做我的整个项目,但这似乎是一个足够简单的任务,一些 JS NLP 解决方案应该能够处理它。有什么指点吗?
【问题讨论】:
标签: node.js npm nlp pos-tagger