我正在尝试使用 Python 中的 spaCy 模块进行 POS 标记。
这是我的相同代码
from spacy.en import English, LOCAL_DATA_DIR
import spacy.en
import os
data_dir = os.environ.get('SPACY_DATA', LOCAL_DATA_DIR)
nlp = English(parser=False, tagger=True, entity=False)
def print_fine_pos(token):
return (token.tag_)
def pos_tags(sentence):
sentence = unicode(sentence, "utf-8")
tokens = nlp(sentence)
tags = []
for tok in tokens:
tags.append((tok,print_fine_pos(tok)))
return tags
a = "we had crispy dosa"
print pos_tags(a)
输出:
[(We , u'PRP'), (had , u'VBD'), (crispy , u'NN'), (dosa, u'NN')]
在这里,它以名词而不是形容词的形式返回脆皮。但是,如果我使用像这样的测试句
a="we had crispy fries"
它承认脆皮是一个形容词。这是输出:
[(we , u'PRP'), (had , u'VBD'), (crispy , u'JJ'), (fries, u'NNS')]
我认为在第一种情况下,crispy 没有被标记为形容词的主要原因是因为在第二种情况下,dosa 被标记为“NN”,而 fries 被标记为“NNS”。
在第二种情况下,有什么方法可以让我变得酥脆以被标记为形容词吗?