我想使用NLTK来识别“红色连衣裙”和“礼服鞋”之间的区别。两者的词性是相同的,我尝试过的所有标记器都没有起作用。
我知道POS标记器一次只能拾取一个令牌,这带来了一些问题。我是NLTK的新手,我确定我只是在这里错过了一些非常基本的东西。
最佳答案
尝试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
(名词)之间的关系是形容词修饰符(amod
),而dress
(名词)和shoes
(名词)之间的关系是复合词。可以通过
token.dep_
(用于依赖)和token.pos_
(用于词性)进行访问。 Documentation here关于python - 使用NLTK标记名词附加或定语,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50932132/