gpt4 book ai didi

python - 使用 python NLTK 的斯坦福 NER 因包含多个 "!!"的字符串而失败?

转载 作者:太空宇宙 更新时间:2023-11-03 17:14:45 25 4
gpt4 key购买 nike

假设这是我的文件内容:

When they are over 45 years old!! It would definitely help Michael Jordan.

下面是我用于标记设置的代码。

st = NERTagger('stanford-ner/classifiers/english.all.3class.distsim.crf.ser.gz', 'stanford-ner/stanford-ner.jar')
tokenized_sents = [word_tokenize(sent) for sent in sent_tokenize(filecontent)]
taggedsents = st.tag_sents(tokenized_sents)

我希望 tokenized_sentstaggedsents 包含相同数量的句子。

但它们包含以下内容:

for ts in tokenized_sents:
print "tok ", ts

for ts in taggedsents:
print "tagged ",ts

>> tok ['When', 'they', 'are', 'over', '45', 'years', 'old', '!', '!']
>> tok ['It', 'would', 'definitely', 'help', '.']
>> tagged [(u'When', u'O'), (u'they', u'O'), (u'are', u'O'), (u'over', u'O'), (u'45', u'O'), (u'years', u'O'), (u'old', u'O'), (u'!', u'O')]
>> tagged [(u'!', u'O')]
>> tagged [(u'It', u'O'), (u'would', u'O'), (u'definitely', u'O'), (u'help', u'O'), (u'Michael', u'PERSON'), (u'Jordan', u'PERSON'), (u'.', u'O')]

这是因为有双“!”在假定的第一句话的末尾。在使用 st.tag_sents()

之前是否必须删除双“!”

我该如何解决这个问题?

最佳答案

如果您按照我在另一个问题中的解决方案而不是使用 nltk,您将获得 JSON,该 JSON 可以将此文本正确地拆分为两个句子。

链接到上一个问题:how to speed up NE recognition with stanford NER with python nltk

关于python - 使用 python NLTK 的斯坦福 NER 因包含多个 "!!"的字符串而失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33755092/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com