gpt4 book ai didi

python - 字符串的语义相似性——结果不佳

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

我的目标是创建一个基本程序,该程序在语义上比较字符串并决定哪个更相似(在语义方面)。现在我不想在 NTLKSKlearnGensim 中从头开始构建一个新的(doc2vec?)模型,但我想测试已经存在的可以进行语义分析的 API。

具体来说,我选择测试 ParallelDots AI API,为此我用 python 编写了以下程序:

import  paralleldots

api_key = "*******************************************"

paralleldots.set_api_key(api_key)

phrase1 = "I have a swelling on my eyelid"
phrase2 = "I have a lump on my hand"
phrase3 = "I have a lump on my lid"

print(phrase1, " VS ", phrase3, "\n")
print(paralleldots.similarity(phrase1, phrase3), "\n\n")

print(phrase2, " VS ", phrase3, "\n")
print(paralleldots.similarity(phrase2, phrase3))

这是我从 API 得到的响应:

I have a swelling on my eyelid  VS  I have a lump on my lid 

{'normalized_score': 1.38954, 'usage': 'By accessing ParallelDots API or using information generated by ParallelDots API, you are agreeing to be bound by the ParallelDots API Terms of Use: http://www.paralleldots.com/terms-and-conditions', 'actual_score': 0.114657, 'code': 200}


I have a lump on my hand VS I have a lump on my lid

{'normalized_score': 3.183968, 'usage': 'By accessing ParallelDots API or using information generated by ParallelDots API, you are agreeing to be bound by the ParallelDots API Terms of Use: http://www.paralleldots.com/terms-and-conditions', 'actual_score': 0.323857, 'code': 200}

这个回答让我很失望。很明显,这句话

I have a lump on my lid

在语义上几乎与短语相同

I have a swelling on my eyelid

它也和短语有关

I have a lump on my hand

因为他们指的是肿 block ,但显然它根本不像前一个那么接近。然而,ParallelDots AI API 输出几乎完全相反的结果。

如果我是对的,ParallelDots AI APIDandelion API 等其他 API 一样是最流行的语义分析 API 之一,但它获取的结果令人失望。我希望这些 API 使用一些丰富的同义词数据库。我也用这三个短语测试了 Dandelion API,但结果也很差(实际上它们更糟)。

我可以在上面的程序中修复什么以获得更合理的结果?

有没有其他更快的语义比较字符串的方法?

最佳答案

我是 ParallelDots 的数据科学家之一。很遗憾您没有获得预期的结果,但请注意,通过 API 提供的通用模型是在新闻和推特等公开数据集上训练的。

在语义相似性 API 的情况下,我们已经在新闻语料库上对其进行了训练,如果阅读一般新闻文章,则不太可能发现肿 block 和肿胀的相关性。

只是单词 lump 在不同的语境下在英语中有如此多的不同含义,这使得模型高度依赖于数据。例如,在金融界,lump 更接近于 sum、investments 等。

如果您正在尝试查找域数据的语义相关性,我建议您使用 ParallelDots Enterprise 服务来自定义数据的语义相关性模型。您需要大量未标记数据的语料库来进行自定义,并且您会受益于更高的准确性,而准确性只会随着更多数据被迭代添加到模型中而提高。

我将以一般性说明结束回答,这是我在软件开发人员倾向于使用 AI 等本质上具有概率性的服务时观察到的。作为一名软件工程师,我们受过培训,可以在结果不是我们对一组输入的期望时进行故障排除,但是在机器学习中;在尝试调试模型并得出结论之前,我们倾向于在足够大的样本上测试模型。我将鼓励软件开发人员构建测试集并在其上运行 AI 模型,以找到准确度指标并评估该模型是否对他们的数据集有用。

关于python - 字符串的语义相似性——结果不佳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49946245/

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