使用NLTK标记名词附加或定语

时间:2018-06-19 15:33:09

标签: python nltk

我想使用NLTK来识别“红色连衣裙”和“礼服鞋”之间的区别。两者的词性相同,我尝试过的所有标记器都没有起作用。

我知道POS标记器一次只能拾取一个令牌,这带来了一些问题。我是NLTK的新手,我敢肯定我只是在这里错过了一些非常基本的东西。

1 个答案:

答案 0 :(得分:2)

尝试Spacy

pip install spacy

这是一个解析和可视化"dress shoes"的小例子:

import spacy
from spacy import displacy

nlp = spacy.load('en')
doc = nlp("dress shoes")
displacy.serve(doc, style='dep')

red dress dress shoes

red(形容词)与dress(名词)之间的关系是形容词修饰语amod),而{{1}之间的关系}(名词)和dress(名词)是化合物

可以通过shoes(用于依赖性)和token.dep_(用于词性)访问这些内容。 Documentation here