SAS模糊查找

时间:2017-06-13 09:14:52

标签: sas lookup fuzzy

我试图对SAS中的两个数据集进行模糊查找。我搜索了谷歌并找到了以下链接,它解释了在SAS中进行模糊查找的过程。 链接:http://blogs.sas.com/content/sgf/2015/01/27/how-to-perform-a-fuzzy-match-using-sas-functions/

为了详细解释问题,这两个数据集包含医院名称和其他附加信息的信息。我必须根据医院名称匹配两个数据集。但主要的挑战是在某些情况下我的医院名称如下:

Dataset1(医院名称):St.Hospital 数据集2(医院名称):圣医院

喜欢明智的INC和公司。

我想知道有没有最好的方法在SAS中进行模糊查找。

谢谢, VJ

1 个答案:

答案 0 :(得分:0)

如您所链接的文章所解释的那样,无法进行模糊查找。您必须决定针对特定问题域的最佳方法以及针对误报和漏报的特定容忍度等。

对于您的数据,我可能只会定义一组最佳猜测'在两个输入数据集中转换医院名称,然后对转换后的名称进行标准合并。转换将类似于:

  • 转换为大写
  • 转换' ST。'或者' ST'到#SAINT' (或应该是' STREET' ??)
  • 转换' INC'或者' INC。'到' INCORPORATED'
  • 转换上述任何其他已知的常用字符串
  • 删除所有剩余的标点符号
  • 使用COMPBL将多个空格缩减为单个空格
  • 进行合并

然后,您必须检查结果并确定它是否足以满足您的目的。计算机没有通用的方法来匹配可能被任意拼写错误的两个字符串,特别是如果有多个可能的正确的'匹配 - 这是拼写检查者几十年来一直试图解决的问题 - 没有办法(孤立地)知道一个拼写错误的单词是否像'falt'本来应该是“错误”,“跌倒”,“快速'”'胖'等

如果您的结果 完美,那么您需要一个人来审核任何不完全匹配的内容,即便如此,某些完全匹配可能会发生错误拼写错误匹配另一家医院的名称(例如,'圣玛丽医院'圣'圣梅医院')。这就是为什么首选方法通常是通过ID号和名称来识别医院,而不仅仅是名称。