由于我被告知Spacy是一个用于自然语音处理的强大Python模块,我现在拼命寻找一种将单词组合在一起而不是名词短语的方法,最重要的是,介词短语。 我怀疑有一个Spacy功能,但这是我猜的最简单的方法(SpacySpaCy导入已在我的项目中实现)。 尽管如此,我仍然乐于进行短语识别/分块。
答案 0 :(得分:5)
这是获得PP的解决方案。通常,您可以使用parseInt
获取短语。
subtree
用法:
def get_pps(doc):
"Function to get PPs from a parsed document."
pps = []
for token in doc:
# Try this with other parts of speech for different subtrees.
if token.pos_ == 'ADP':
pp = ' '.join([tok.orth_ for tok in token.subtree])
pps.append(pp)
return pps
打印:
import spacy
nlp = spacy.load('en')
ex = 'A short man in blue jeans is working in the kitchen.'
doc = nlp(ex)
print(get_pps(doc))