nltk chunker从业务处理需求中提取关键信息

2024-10-05 13:16:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用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的正确用法。你知道吗


Tags: andoftheinformforstatenltk

热门问题