gpt4 book ai didi

python - 通过将 Stanford NER 与 Python 结合使用将名字和姓氏标记为一个标记

转载 作者:行者123 更新时间:2023-11-28 19:11:38 25 4
gpt4 key购买 nike

我正在使用带有 Python 的斯坦福命名实体识别器来查找小说“百年孤独”中的专有名称。其中有许多由名字和姓氏组成,例如“Aureliano Buendía”或“Santa Sofía de la Piedad”。这些 token 总是分开的,例如“Aureliano”“Buendia”,因为我正在使用标记器。我想把它们放在一起作为标记,这样它们就可以用 Stanford NER 一起标记为“PERSON”。

我写的代码:

import nltk

from nltk.tag import StanfordNERTagger

from nltk import word_tokenize

from nltk import FreqDist

sentence1 = open('book1.txt').read()

sentence = sentence1.split()

path_to_model = "C:\Python34\stanford-ner-2015-04-20\classifiers\english.muc.7class.distsim.crf.ser"

path_to_jar = "C:\Python34\stanford-ner-2015-04-20\stanford-ner.jar"

st = StanfordNERTagger(model_filename=path_to_model, path_to_jar=path_to_jar)

taggedSentence = st.tag(sentence)

def findtags (tagged_text,tag_prefix):

cfd = nltk.ConditionalFreqDist((tag, word) for (word, tag) in taggedSentence

if tag.endswith(tag_prefix))

return dict((tag, cfd[tag].most_common(1000)) for tag in cfd.conditions())


print (findtags('_','PERSON'))

结果是这样的:

{'PERSON': [('Aureliano', 397), ('José', 294), ('Arcadio', 286), ('Buendía', 251), ...

有人有解决办法吗?我将不胜感激

最佳答案

import nltk

from nltk.tag import StanfordNERTagger

sentence1 = open('book1.txt').read()

sentence = sentence1.split()

path_to_model = "C:\Python34\stanford-ner-2015-04-20\classifiers\english.muc.7class.distsim.crf.ser"

path_to_jar = "C:\Python34\stanford-ner-2015-04-20\stanford-ner.jar"

st = StanfordNERTagger(model_filename=path_to_model, path_to_jar=path_to_jar)

taggedSentence = st.tag(sentence)

test = []

test_dict = {}

for element in range(len(taggedSentence)):

a = ''

if element < len(taggedSentence):
while taggedSentence[element][1] == 'PERSON':
a += taggedSentence[element][0] + ' '
taggedSentence.pop(element)
if len(a) > 1:
test.append(a.strip())

test_dict[data.split('.')[0]] = tuple(test)

print(test_dict)

关于python - 通过将 Stanford NER 与 Python 结合使用将名字和姓氏标记为一个标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39454994/

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