- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我正在尝试创建一个脚本来找到我的表格行之间的匹配百分比。例如,我的 mySQL 数据库中的表 products 包含字段 name(索引,全文),其值如
LG 50PK350 PLASMA TV 50" Plasma TV Full HD 600Hz
LG TV 50PK350 PLASMA 50"
LG S24AW 24000 BTU
Aircondition LG S24AW 24000 BTU Inverter
如您所见,它们都有一些相同的关键字。但是第一个名字和第二个名字更相似。此外,第 3 和第 4 之间的相似关键字比第 1 和第 2 多。
我的 mySQL 数据库有数千个产品名称。我想要的是找到那些相似度超过一定百分比(比如 60%)的名称。
例如,正如我所说,1st、2nd(和任何其他名称)在它们之间的匹配度超过 60%,将以组样式格式回显,让我知道这些产品是相似的。第 3 和第 4 以及匹配度超过 60% 的任何其他商品将在另一组之后回显,告诉我这些产品匹配。
如果可以的话,把满足所有分组匹配名称的关键词都回显出来就好了。例如,LG S24AW 24000 BTU 是包含在第 3 和第 4 个名称中的关键字。
最后,我将创建所有这些关键字的列表。
我现在有以下查询(正如 Jitamaro 所建议的)
Select t1.name, t2.name From products t1, products t2
在所有其他名称旁边创建一个新的名称字段。对不起,我不知道如何正确解释它,但这就是它的作用:(真正的值(value)是像上面的产品名称)
查询前
-name-
A
B
C
D
E
查询后
-name- -name-
A A
B A
C A
D A
E A
A B
B B
C B
D B
E B
.
.
.
有没有一种方法可以使用 mySQL 或 PHP 找到匹配的名称并提取关键字,如上所述?请分享代码示例。
感谢社区。
最佳答案
使用 LIKE OR REGEXP 查询数据库:
SELECT * FROM product WHERE product_name LIKE '%LG%';
SELECT * FROM product WHERE product_name REGEXP "LG";
循环结果并使用 similar_text():
$a = "LG 50PK350 PLASMA TV 50\" Plasma TV Full HD 600Hz"; // DB value
$b = "LG TV 50PK350 PLASMA 50\"" ; // USER QUERY
$i = similar_text($a, $b, $p);
echo("Matched: $i Percentage: $p%");
//outputs: Matched: 21 Percentage: 58.3333333333%
您的第二个示例匹配 62.0689655172%:
$a = "LG S24AW 24000 BTU"; // DB value
$b = "Aircondition LG S24AW 24000 BTU Inverter" ; // USER QUERY
$i = similar_text($a, $b, $p);
echo("Matched: $i Percentage: $p%");
您可以定义一个高于 40% 的百分比来匹配产品。
请注意 similar_text() 是大小写 SensItivE,因此您应该将字符串小写。
关于php - 如何找到 mySQL 行之间的相似性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6926863/
我需要在基于 Java 的应用程序中使用 Wordnet。我想: 搜索同义词集 找到同义词集之间的相似性/相关性 我的应用程序使用 RDF 图,我知道 Wordnet 有 SPARQL 端点,但我想最
假设我们有一个 IEnumerable Collection,其中包含 20 000 人 对象项。那么假设我们创建了另一个 Person 对象。 我们想列出所有与这个人相似的人。这意味着,例如,如果姓
我使用 JAWS 作为普通的 wordnet 来查找单词之间的相似性。 我安装了 wordnet 2.1 并添加了 jar 文件:edu.mit.jwi_2.1.4.jar 和 edu.sussex.
我用这段代码做了一个词嵌入: with open("text.txt",'r') as longFile: sentences = [] single= []
我正在尝试找出确定各种对象或数组之间的共性或相似性的最佳方法,并且有兴趣获得社区的意见。我目前正在用 javascript 构建一个早期研究原型(prototype),我需要采用一种巧妙的方式来比较对
我在将 Flash 游戏转换为 C# 时遇到问题。在 Flash 中我会使用这种语法: public function doMove() { eaze(this).to(actionTime,
我有一批形状为 (bs, m, n) 的向量(即维度为 mxn 的 bs 向量)。对于每个批处理,我想计算第一个向量与其余 (m-1) 个向量的 Jaccard 相似度 例子: a = [ [
如何使用 Whoosh 获取文档的相似性度量? 我想创建一个“相关”特征,对与文档具有高度相似性的其他先前编入索引的文档进行排名。 我是否将文档作为长查询字符串输入?我是否将文档添加到索引并以某种方式
我编写了一个 Python 函数,它接受两个列表,使用 Levenshtein 比较它们并将足够相似的单词合并到一个名为“merged”的列表中。 我如何为超过 6 个列表执行此操作?确保将每个列表与
请原谅我对 Go 的了解非常有限。我有这样的定义 type ErrorVal int const ( LEV_ERROR ErrorVal = iota LEV_WARNING
我正在从事文本分析项目,一次比较两个不同的报告并将结果保存到 pandas 数据框中。 我能够得到 cosine 和 jacard 的相似性,但需要确保我得到正确的度量。作为参数,我使用位于给定文件夹
我是一名优秀的程序员,十分优秀!