Sas 寻找最相似的短语

Sas 寻找最相似的短语,sas,Sas,我有两个数据集。 一个是假设维修描述 Electric Component keyboard replacement 第二个数据集是所有客户的所有维修说明,这些客户以前有维修阶段,后来有一些维修说明。 例如: 因此,在这个例子中,我想从第二组中选择“电子键盘更换”作为“电子元件键盘更换”最相似的短语 它使用的声音就像操作员,我很兴奋。但是当我尝试这个的时候,例如在哪里 我改为“键盘组件更换”,而不是“电子键盘更换”。 它没有识别它给了我一个空白的数据集。我也尝试过“比较”,但没有成功。我尝试了

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

Electric Component keyboard replacement
第二个数据集是所有客户的所有维修说明,这些客户以前有维修阶段,后来有一些维修说明。 例如:

因此,在这个例子中,我想从第二组中选择“电子键盘更换”作为“电子元件键盘更换”最相似的短语

它使用的声音就像操作员,我很兴奋。但是当我尝试这个的时候,例如在哪里 我改为“键盘组件更换”,而不是“电子键盘更换”。
它没有识别它给了我一个空白的数据集。我也尝试过“比较”,但没有成功。我尝试了这种方法,因为我看到了一些姓名和电子邮件id更正或匹配的示例。但是,使用这些函数是否也可以匹配相似的短语?是否有其他解决方案来实现这一点?通常情况下,我的匹配将被重新排列的单词或额外的单词或较短的单词(如替换为替换)

我也使用comped对名称和地址进行了类似的操作! 使用需要从初始表扫描的字段创建一个数据集,以便将要扫描的每条记录乘以需要匹配的修复类型 因此,您最终会遇到这样的情况(很抱歉,无法在此处显示桌子): -字段1-字段2: 电子部件键盘的更换-电子键盘的更换 电子部件键盘的更换-显示器部件的更换 电子元件键盘的更换-鼠标元件 电子部件键盘的更换-导线的更换 电子元件键盘的更换-针脚零件

从这里开始,您在这些字段上运行comped,它将为您提供一个数字输出,以匹配您试图获取的所有单词

compged(string1, string2);
然后对compged的结果进行排名,然后对该表进行查询,仅获取compged值最低的记录

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


Comped或SOUNDEX是您可以查看的另外两个选项。
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;
compged(string1, string2);