【发布时间】:2014-07-07 19:42:49
【问题描述】:
在 NLTK 中制作分块语法时是否可以使用非标准的词性标签?例如,我有以下句子要解析:
complication/patf associated/qlco with/prep breast/noun surgery/diap
independent/adj of/prep the/det use/inpr of/prep surgical/diap device/medd ./pd
“medd”或“diap”等专门标签极大地帮助了从文本中找到我需要的短语。我以为因为你可以使用 RegEx 进行解析,所以它会独立于其他任何东西,但是当我尝试运行以下代码时,我得到一个错误:
grammar = r'TEST: {<diap>}'
cp = nltk.RegexpParser(grammar)
cp.parse(sentence)
ValueError: Transformation generated invalid chunkstring:
<patf><qlco><prep><noun>{<diap>}<adj><prep><det><inpr><prep>{<diap>}<medd><pd>
我认为这与标签本身有关,因为 NLTK 无法从它们生成树,但是否可以跳过该部分并只返回分块项?也许 NLTK 不是最好的工具,如果是这样,任何人都可以推荐另一个模块来分块文本吗?
我正在使用 Anaconda 发行版在 python 2.7.6 中进行开发。
提前致谢!
【问题讨论】:
-
我遇到了同样的问题,发生在我身上的是我的一些自定义标签是空的'',这导致分块器在解析时失败