我有一个电子产品目录。我将它们放在字段/列中的SQL DB中,例如Title,Mfg Part Nr,UPC等。然后我爬过列出的电子产品的外部网站。亚马逊。在大多数情况下,这会产生一些HTML文本,但我可以找出标题。我需要比较这个HTML文本(外部网站上的网页结果)是否描述了我拥有的产品。
我知道这种比较并不准确,即我不希望这种情况在100%的时间内得到纠正。反正有没有这样做?
虽然很难提供完整的示例,但我们将比较仅限于两种产品的标题。
标题我有:摩托罗拉Talkabout MH230R便携式 - 双向对讲机 - FRS / GMRS 22通道 - 黄色(3个装)
亚马逊的标题:摩托罗拉MH230TPR巨型可充电双向无线电3包装,FRS / GMRS
这些代表相同的产品。有没有办法确定它们是否相似/相同?简单的文本比较是行不通的。
如果有工具来处理这个问题会很棒。如果不是,我会欣赏我可以用来进一步研究这个领域的算法或一些指示。
我知道C#和Java。我在数值分析中使用了一些AI /神经网络 - 特别是反向传播和遗传算法 - 在比较图像和寻找最佳点时。但是我不知道如何处理文本数据。
如果这个问题不清楚,请告诉我,我会尽量澄清我的描述。 谢谢你们。
答案 0 :(得分:1)
当然有许多算法可以处理字符串中的文本相似性和距离度量(对于short list of them look in wikipedia)。以下是如何更具体地解决该问题的一些想法:
一般来说,如果你设法将这些字符串的知识放入你编写的代码中,而不是使用一般方法,你会得到更好的结果......但是,因为你来自AI /神经网络背景......你可以如果您生成输入字符串的有用描述符,请找出通过机器学习技术使字符串相似的内容。为此,您需要足够大的已经正确分配的匹配产品字符串。
但也许你需要一些非常简单的东西?然后查看agrep