Spacy有两个我想要结合的功能 - 词性(POS)和基于规则的匹配.
我怎样才能以简洁的方式将它们组合起来?
例如 - 假设输入是单个句子,我想验证它是否符合某些POS排序条件 - 例如动词在名词之后(类似于名词**动词正则表达式).结果应该是真的还是假的.那可行吗?或者匹配器在示例中是特定的
基于规则的匹配可以有POS规则吗?
如果不是 - 这是我目前的计划 - 将所有内容收集在一个字符串中并应用正则表达式
import spacy
nlp = spacy.load('en')
#doc = nlp(u'is there any way you can do it')
text=u'what are the main issues'
doc = nlp(text)
concatPos = ''
print(text)
for word in doc:
print(word.text, word.lemma, word.lemma_, word.tag, word.tag_, word.pos, word.pos_)
concatPos += word.text +"_" + word.tag_ + "_" + word.pos_ + "-"
print('-----------')
print(concatPos)
print('-----------')
# output of string- what_WP_NOUN-are_VBP_VERB-the_DT_DET-main_JJ_ADJ-issues_NNS_NOUN-
Run Code Online (Sandbox Code Playgroud)