Python:使用Spacy等来清除其他名词短语(例如介词)

时间:2016-08-23 12:03:12

标签: python nlp chunking phrases spacy

由于我被告知Spacy是一个用于自然语音处理的强大Python模块,我现在拼命寻找一种将单词组合在一起而不是名词短语的方法,最重要的是,介词短语。 我怀疑有一个Spacy功能,但这是我猜的最简单的方法(SpacySpaCy导入已在我的项目中实现)。 尽管如此,我仍然乐于进行短语识别/分块。

1 个答案:

答案 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))