首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >查找最相似的短语

问查找最相似的短语
EN

Stack Overflow用户
提问于 2018-05-25 22:21:32
回答 1查看 88关注 0票数 5

我有两个数据集。一种是假设修复描述

代码语言:javascript
复制
Electric Component keyboard replacement

第二个数据集是所有客户的所有维修描述,这些客户之前有维修阶段,后来有一些维修描述。例如:

代码语言:javascript
复制
Electric Keyboard replace
Monitor Component Replacement
Mouse component
Wire Replacement
PIN part

因此,对于这个例子,我希望它从第二组中选择“电动键盘更换”作为与“电气组件键盘更换”最相似的短语。

代码语言:javascript
复制
DATA NAME;
INFILE DATALINES DSD; 
length FIRST $ 1000;
INPUT FIRST $;
DATALINES;
Electric Component keyboard replacement
;

DATA COMPONENT;
INFILE DATALINES DSD; 
length FIRST_B $ 1000;
INPUT FIRST_B $;
DATALINES;
Electric Keyboard replace
Monitor Component Replacement
Mouse component
Wire Replacement
PIN part
;

PROC SQL;
CREATE TABLE Possible_Matches AS
SELECT *
FROM Name AS n, COMPONENT AS b
WHERE (n.FIRST  =* b.FIRST_B);
QUIT;

它使用类似于声音的操作符工作,我很兴奋。但是当我试着这样做的时候,比如我换成了“键盘部件替换”而不是“电子键盘替换”。它没有识别出它给了我空白的数据集。我也尝试了“比较”,但不能实现。我尝试了这种方法,因为我看到了一些名称和电子邮件id更正或匹配的示例。但是,相似的短语也可以使用这些函数进行匹配吗?有没有其他的解决方案来实现这一点?正常情况下,我的匹配将是重新排列的单词或额外的单词或较短的单词(如替换以替换)

EN

回答 1

Stack Overflow用户

发布于 2018-10-03 19:52:30

我也设法用compged做了一些与name和adress类似的事情!创建一个数据集,其中包含需要从初始表中扫描的字段,以便您拥有要扫描的每条记录乘以需要匹配的维修类型,因此最终结果如下所示(很抱歉,此处不能显示表格):PIN1-字段2:电气组件键盘更换-电子键盘更换电气组件键盘更换-显示器组件更换电气组件键盘更换-鼠标组件电气组件键盘更换-电线更换电气组件键盘更换- -Field部件

在那里,您可以对这些too字段运行compged,它将为您提供一个数字输出,用于匹配您正在尝试获取的所有单词

代码语言:javascript
复制
compged(string1, string2);

然后对compged的结果进行排名,然后对该表进行查询,以仅获取具有最低compged值的记录

请注意,这并不意味着你的两句话将真正匹配,但它将只保留那些最有可能匹配的句子!

here is the doc on compged

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50531350

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档