gpt4 book ai didi

machine-learning - 使用模型来比较名字和姓氏

转载 作者:行者123 更新时间:2023-11-30 09:33:44 26 4
gpt4 key购买 nike

我将员工姓名保存在文本文件中。我处理了该文件并比较了已经存在的名称。当我使用most_similar方法检查时,我发现即使语料库中存在完全相同的名称,它也会返回完全不相关的名称。

import gensim

training_file='todel.txt'
mylist=list()
with open(training_file, encoding="iso-8859-1") as f:
for i, line in enumerate(f):
mylist.append(gensim.models.doc2vec.TaggedDocument(gensim.utils.simple_preprocess(line), [i]))

model = gensim.models.doc2vec.Doc2Vec(vector_size=50, min_count=2, epochs=55)
model.build_vocab(mylist)

inferred_vector=model.infer_vector(['aakash', 'prakash', 'patel'])

sims = model.docvecs.most_similar([inferred_vector])

' '.join(mylist[sims[0][0]].words)

如何正确训练数据以返回(紧密)匹配的名称?

最佳答案

您可以根据编辑距离来定义相似度,即两个字符串的相似程度。

x2vec 模型根据语义接近度定义相似性,即两个含义的相似程度,通过机器学习和共现统计计算得出。

换句话说,你正在使用大锤来杀死一只苍蝇。查看tools for computing string distance相反:

from Levenshtein import distance
string1 = 'aakash'
string2 = 'akash'
string3 = 'konstantinos'
print(distance(string1, string2))
1
print(distance(string1, string3))
11

关于machine-learning - 使用模型来比较名字和姓氏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49768453/

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