我正在尝试使用NLTK分块从下面的文本中收集各种关键信息。你知道吗
我需要旧的和新的表格号码,生效日期,国家清单和产品清单在单独的清单。你知道吗
我使用了以下代码:
script = 'please replace the forms CA1235 and CB3456 effective from 12/26/2018 with CA5467 for the state of Alabama, California and North Carolina for CAB and WCP products.'
# POS Tagging method
scrtagged = pos_tag(word_tokenize(script, language='english'))
print('Parts of speech tagging:',scrtagged)
screntities = nltk.chunk.ne_chunk(scrtagged)
print('Entities extracted:', screntities)
pattern = """
VBD:{<VBD>}
STATE:{<GPE>}
PRODUCT: r'\D{3}'
FORM:{<IN>?<JJ>?<ORGANIZATION>+|<JJ>?<NN>+<ORGANIZATION>}
EFFDATE1: r'\d+\/*\-*\d+\/*\-*\d{2,4}'
EFFDATE:{<IN><CD>|<IN><JJ>}
"""
NPChunker = nltk.RegexpParser(pattern)
result = NPChunker.parse(list(screntities))
result.pprint()
我得到的结果如下:
(S
please/VB
replace/VB
the/DT
forms/NNS
(FORM (ORGANIZATION CA1235/NNP))
and/CC
(FORM (ORGANIZATION CB3456/NNP))
effective/JJ
(EFFDATE from/IN 12/26/2018/CD)
(FORM with/IN (ORGANIZATION CA5467/NNP))
for/IN
the/DT
state/NN
of/IN
(STATE (GPE Alabama/NNP))
,/,
(STATE (GPE California/NNP))
and/CC
(FORM (ORGANIZATION Illinois/NNP))
(FORM for/IN (ORGANIZATION CAB/NNP))
and/CC
(FORM (ORGANIZATION WCP/NNP))
products/NNS
./.)
正如你所看到的,有多个问题。伊利诺伊州没有被nltk chunker认定为GPE。 EFFDATE 1模式无法识别。 产品模式不起作用。你知道吗
我需要的能力,以确定新的形式和旧的形式清单清楚。我不知道怎么做。你知道吗
你可以从上面知道我是初学者,手头有一项复杂的任务。我的目标是触发一个第三方业务软件中的工作流程,使用来自自由格式英语请求电子邮件的值。 请帮助我确定问题和nltk chunker的正确用法。你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐