gpt4 book ai didi

php - 判断句子是否相似

转载 作者:行者123 更新时间:2023-11-29 08:48:11 25 4
gpt4 key购买 nike

我有一个包含数百个健身目标的表格。以下是一个子集。

  1. “我想减掉 10 磅。”
  2. “在 6 分钟内跑完一英里。”
  3. “在 7 分钟内跑完一英里。”
  4. “准备好泳衣并减掉 5 磅。”
  5. “不到七分钟就能跑完一英里。”

如何找到类似健身目标的匹配项?例如,#1 和#4 都想减肥,#3 和#5 都想在 7 分钟内跑一英里。另外,#2、#3 和#5 都希望跑得更快。如何有效地搜索此健身目标表以确定哪些目标相似?目标存储在 mysql 表中。我正在寻找 PHP 中的实现。

最佳答案

您可以通过以下两种方式之一执行此操作:

在 PHP 中您可以使用 similar-text功能。然而,这是一种非常普通的方法。

更好的方法是使用Mysql's full text search 。问题是您无法比较数据库中的两行,而是将文本字符串与表中的数据进行比较:

示例基于:

mysql> CREATE TABLE articles (
-> id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
-> title VARCHAR(200),
-> body TEXT,
-> FULLTEXT (title,body)
-> ) ENGINE=MyISAM;
Query OK, 0 rows affected (0.00 sec)

mysql> INSERT INTO articles (title,body) VALUES
-> ('MySQL Tutorial','DBMS stands for DataBase ...'),
-> ('How To Use MySQL Well','After you went through a ...'),
-> ('Optimizing MySQL','In this tutorial we will show ...'),
-> ('1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'),
-> ('MySQL vs. YourSQL','In the following database comparison ...'),
-> ('MySQL Security','When configured properly, MySQL ...');
Query OK, 6 rows affected (0.00 sec)

mysql> SELECT id, MATCH (title,body) AGAINST ('Tutorial')
-> FROM articles;
+----+-----------------------------------------+
| id | MATCH (title,body) AGAINST ('Tutorial') |
+----+-----------------------------------------+
| 1 | 0.65545833110809 |
| 2 | 0 |
| 3 | 0.66266459226608 |
| 4 | 0 |
| 5 | 0 |
| 6 | 0 |
+----+-----------------------------------------+
6 rows in set (0.00 sec)

这将根据最佳匹配对结果进行排名。

您可以很好地使用它从数据库中获取一行,然后使用它来查找最匹配的行。

关于php - 判断句子是否相似,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12023046/

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