我想从这个句子
中提取名词-形容词对。所以,基本上我想要这样的东西:
(马克,真诚)(约翰,真诚)
。
from nltk import word_tokenize, pos_tag, ne_chunk
sentence = "Mark and John are sincere employees at Google."
print ne_chunk(pos_tag(word_tokenize(sentence)))
最佳答案
Spacy 的 POS tagging会比 NLTK
更好。它更快更好。这是您要执行的操作的示例
import spacy
nlp = spacy.load('en')
doc = nlp(u'Mark and John are sincere employees at Google.')
noun_adj_pairs = []
for i,token in enumerate(doc):
if token.pos_ not in ('NOUN','PROPN'):
continue
for j in range(i+1,len(doc)):
if doc[j].pos_ == 'ADJ':
noun_adj_pairs.append((token,doc[j]))
break
noun_adj_pairs
输出
[(Mark, sincere), (John, sincere)
]
关于python - 如何从句子中提取名词形容词对,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49166071/