sas - 寻找最相似的短语
问题描述
我有两个数据集。一是假设维修说明
Electric Component keyboard replacement
第二个数据集是所有之前有维修短语和后来有一些维修描述的客户的所有维修描述。例如:
Electric Keyboard replace
Monitor Component Replacement
Mouse component
Wire Replacement
PIN part
所以对于这个例子,我希望它从第二组中选择“电子键盘替换”作为与“电子元件键盘替换”最相似的短语
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 更正或匹配的示例时,我尝试了这种方法。但是也可以使用这些函数来匹配相似的短语吗?有没有其他解决方案可以实现这一目标?通常我的匹配项将是重新排列的单词或额外的单词或更短的单词(例如替换替换)
解决方案
我也设法使用 compged 对名称和地址进行了类似的操作!创建一个数据集,其中包含您需要从初始表中扫描的字段,这样您就可以将要扫描的每条记录乘以您需要匹配的修复类型所以您最终会得到类似这样的结果(抱歉无法在此处制作可视化表): - 字段 1 - 字段 2 :更换电子元件键盘 - 更换电子键盘 更换电子元件键盘 - 更换显示器元件 更换电子元件键盘 - 更换鼠标元件 更换电子元件键盘 - 更换电线 更换电子元件键盘 - 更换 PIN 部件
从那里您在这些字段上运行 compged,它会为您提供一个数字输出,以匹配您尝试获取的所有单词
compged(string1, string2);
然后对 compged 的结果进行排名,然后对该表进行查询以仅获取具有最低 compged 值的记录
请注意,这并不意味着您的 2 个句子将是真正的匹配,但它只会保留那些最有可能匹配的句子!
推荐阅读
- python - OpenGL第一人称射击视图的顶点/片段着色器?
- python - 如何正确使用 Plotly 的 `@app.callback` 函数?
- c# - WPF - 具有 MultiBinding 和不同 DataContexts 的自定义工具提示
- r - R闪亮的checkergroupinputbox按反应输入分组,按反应输入汇总
- r - 为什么 R 中的 googledrive 库识别多个文件,而 Drive 文件夹中只有一个文件?
- python - 根据条件用另一个数据帧的值替换一个数据帧的值
- c# - 加载引用另一个表中相关数据的数据列表
- informatica-powercenter - Informatica IDQ 配置文件中的空值处理(大数据开发人员/BDM)
- deepsecurity - 趋势科技服务器深度安全防护系统 12 - 通过 API 更新代理
- swift - Xcode 是否可用于 Windows 10?