如何将句子拆分为相关词(术语提取)?

Ala*_*cka 5 python nlp text-extraction nltk sentiment-analysis

是否有任何 NLP python 库可以拆分句子或将单词连接成相关的单词对?例如:

那不是坏例子->“那个”“是”“不错”“例子”

“不错”的意思是一样的好,所以在机器学习中把它当作“不”和“坏”来处理是没有用的。我什至不知道如何称呼这些相关的词对。(术语提取?阶段提取?)或者甚至更好地拆分为带名词的形容词,例如:

与减税有关的不诚实媒体 -> “不诚实媒体”、“相关”、“关于”、“减税”

我找到了 toopia.termextract 但它不适用于 python3。

mat*_*orm 1

查看Spacy 库(请参阅链接)。

它没有开箱即用的功能,因为您需要构建规则,但规则非常易于阅读,并且您可以输入许多选项(POS 标签、正则表达式、引理或这些的任意组合) , ETC。)

PhraseMarker() 特别值得注意的是关于类的部分。

直接从文档复制的是代码示例:

import spacy
from spacy.matcher 
import PhraseMatcher

nlp = spacy.load('en')
matcher = PhraseMatcher(nlp.vocab)
terminology_list = ['Barack Obama', 'Angela Merkel', 'Washington, D.C.']
patterns = [nlp(text) for text in terminology_list]
matcher.add('TerminologyList', None, *patterns)

doc = nlp(u"German Chancellor Angela Merkel and US President Barack Obama "
          u"converse in the Oval Office inside the White House in Washington, D.C.")
matches = matcher(doc)
Run Code Online (Sandbox Code Playgroud)