我有一个字符串:
fmt_string="I am a non-smoker female with a sum assured amount of
1000000 and a policy term for 20 years"
在此之后,我删除了停止语
from nltk.corpus import stopwords
stop = set(stopwords.words('english'))
d = [i for i in fmt_string.lower().split() if i not in stop]
现在我希望我的输出为:
{'gender': 'female', 'Sum assured amount': '1000000', 'smoke': 'non-
smoker', 'Policy term': '20'}
为了达到同样的效果,我运行了以下代码:
print {'smoke':d[0], 'gender':d[1], 'Sum assured amount': d[5],
'Policy term': d[8]}
但在下面的代码中,我硬编码我的代码,并给出用于提取值的位置值。 有没有一种可能的方法,我不需要给出值在我的列表中的确切位置,并使代码更一般化。你知道吗
简而言之:问题的解决方案在nltk book的前七章中有描述。你知道吗
换句话说,对于一个刚开始的程序员来说,你所要求的太难了(对于这个网站来说,这个问题太宽泛了)。你需要全通径的信息提取,而不是“从列表中提取键和值”。基本上,你需要为你感兴趣的每个属性(为此你需要一个带注释的语料库)训练一个自定义分类器,除此之外还有其他一些事情。是的,一些答案会建议你把他们考虑过的三个虚构的例子结合起来,但是他们不太可能对真实数据做任何有用的事情。你知道吗
我建议你至少暂时把这个项目搁置一边。然后学习一个好的Python教程,然后学习nltk书籍。(尽管他们的用意很好,nltk的书并不是最好的语言入门。)
可能是这样的
现在是词性标注
然后你可以使用列表理解来搜索你想要的东西
我想你会有不同的句子
你只有两个数字,JJ代表非-吸烟者。现在你想打印什么就打印什么。你知道吗
这段代码将适用于这个,句子,你必须玩关键字,你还需要设置一些条件来检查金额和年份是否是整数,如果不是去附近的整数。只是这是一种方式
希望你能玩关键字。。!你知道吗
相关问题 更多 >
编程相关推荐