【发布时间】:2016-07-31 21:06:06
【问题描述】:
我正在尝试从杂乱的数据集中提取测量值。 一些基本的示例条目是:
- 1.5 克扑热息痛
- 1.5g 扑热息痛
- 1.5 克。扑热息痛
我正在尝试提取每个条目的度量和单位,因此以上所有内容的结果应该是: (1.5, g)
其他一些问题建议将 NLTK 用于此类任务,但我在执行以下操作时遇到了麻烦:
import nltk
s1 = "1.5g of paracetamol"
s2 = "1.5 gram of paracetamol"
words_s1 = nltk.word_tokenize(s1)
words_s2 = nltk.word_tokenize(s2)
nltk.pos_tag(words_s1)
nltk.pos_tag(words_s2)
返回
[('1.5g', 'CD'), ('of', 'IN'), ('paracetamol', 'NN')]
[('1.5', 'CD'), ('gram', 'NN'), ('of', 'IN'), ('paracetamol', 'NN')]
问题在于,在第一个示例中,单位“g”被保留为 CD 的一部分。我怎样才能得到以下结果?
[('1.5', 'CD'), ('g', 'NN'), ('of', 'IN'), ('paracetamol', 'NN')]
在真实数据集上,单位更加多样化(毫克、毫克、公斤、公斤......)
谢谢!
【问题讨论】: