1

我有一个 mysql 数据库,我在其中添加新闻文章,在添加之前,它会尝试将该文章与 100 篇最后一篇文章进行比较,如果它有任何相似之处。

因此,如果相似度为 95%,我可以将其标记为 与文章 122相同,或者如果相似度为 70-95%,我可以将其标记为与文章 133相似,

这是最好的方法:

  1. 有没有mysql可以做到的方法或功能

  2. 我是否需要使用 python 在while循环中将那篇文章与其他 100 篇文章进行比较

正如我在论坛中看到的那样,python 是最好的方法,但我尝试了一些库来比较 string1(article1) 和 string2(article2),即使它完全不同的文章告诉我它是 70% 相同

我认为这是因为一些相同的词,例如:and , he ,she, will, news,text,or,and, the, i

4

2 回答 2

-1

如果您使用的是 Linux,您可以从 python 调用 diff 命令并使用参数,几年前的一位老师在编程考试中这样做是为了检测副本,即使在重新格式化代码后它也可以工作

于 2021-12-05T13:09:03.170 回答
-1

正如我在论坛中看到的那样,python 是最好的方法,但我尝试了一些库来比较 string1(article1) 和 string2(article2),即使它完全不同的文章告诉我它是 70% 相同

我认为这是因为一些相同的词,例如:and , he ,she, will, news,text,or,and, the, i

我会建议删除停用词,可能会有所帮助。

SELECT * FROM INFORMATION_SCHEMA.INNODB_FT_DEFAULT_STOPWORD;

默认 mysql 停止词。有关信息,请查看MYSQL 全文停用词文档微调 MySQL 全文搜索

于 2021-12-05T13:18:54.880 回答