我想提取与度量单位关联的Cardinal(CD)值,并将其存储在字典中.例如,如果文本包含“ 20公斤”之类的标记,则应将其提取并保存在词典中.
例:
>对于输入文本,“ 10英寸煎锅具有出色的导热性和分布性”,输出字典应类似于{“ dimension”:“ 10-inch”}
>对于输入文本“此水桶可容纳5升水.”,输出应类似于{“ volume”:“ 5 litres”}
line = 'This bucket holds 5 litres of water.'
tokenized = nltk.word_tokenize(line)
tagged = nltk.pos_tag(tokenized)
上面的行将给出输出:
[('This', 'DT'), ('bucket', 'NN'), ('holds', 'VBZ'), ('5', 'CD'), ('litres', 'NNS'), ('of', 'IN'), ('water', 'NN'), ('.', '.')]
有没有办法从文本中提取CD和UOM值?
解决方法:
不确定您需要该过程如何灵活.您可以使用nltk.RegexParser并提出一些好的模式:
import nltk
sentence = 'This bucket holds 5 litres of water.'
parser = nltk.RegexpParser(
"""
INDICATOR: {<CD><NNS>}
""")
print parser.parse(nltk.pos_tag(nltk.word_tokenize(sentence)))
输出:
(S
This/DT
bucket/NN
holds/VBZ
(INDICATOR 5/CD litres/NNS)
of/IN
water/NN
./.)
您还可以创建一个语料库并训练分块器.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。