Я пытаюсь выполнить маркировку POS с помощью модуля spaCy в Python.
Вот мой код для того же
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')]
Я думаю, что основной причиной, почему хрустящий не был помечен как прилагательное в первом случае, было то, что доса была помечена как "NN", тогда как фри был помечен как "NNS" во втором случае.
Есть ли способ, чтобы я мог хрустящим быть помеченным как прилагательное во втором случае?