Sas 自然语言词关系网如何建立

Sas 自然语言词关系网如何建立,sas,nlp,neural-network,Sas,Nlp,Neural Network,我正在研究分析一些非常混乱的雇主名称数据(应用程序中的自由文本字段)的最佳方法。每个雇主在拼写、缩写甚至语言方面可能有100种不同的变体 解决这个问题的最佳和最准确的方法是什么?什么工具最有效?我目前正在使用Base SAS,但我认为它无法满足我的要求。我不知道有任何工具可以神奇地为您解决此问题。如前所述;我会试着将你名单上的每个雇主的名字与其他雇主的名字进行比较,并检查编辑距离。有一个非常易于使用的Levenshtein函数用于此,只是: import Levenshtein ed = Lev

我正在研究分析一些非常混乱的雇主名称数据(应用程序中的自由文本字段)的最佳方法。每个雇主在拼写、缩写甚至语言方面可能有100种不同的变体


解决这个问题的最佳和最准确的方法是什么?什么工具最有效?我目前正在使用Base SAS,但我认为它无法满足我的要求。

我不知道有任何工具可以神奇地为您解决此问题。如前所述;我会试着将你名单上的每个雇主的名字与其他雇主的名字进行比较,并检查编辑距离。有一个非常易于使用的Levenshtein函数用于此,只是:

import Levenshtein
ed = Levenshtein.distance('someString', 'someOtherString')
您可能希望通过以下方式对此进行规范化:

normalized = ed / max(len('someString'), len('someOtherString'))
然后浏览列表并根据此进行清理。
进行某种单词或ngram频率分析还可以快速找到一些常用的缩写词,您可能需要统一这些缩写词(“inc.”和“incorporated”)、“ltd.”和“limited”等确定两个单词匹配的可能性,表示为两个单词之间的不对称拼写距离。可能可以使用它来清理数据?您可能还需要查看一些其他文本比较函数:COMPLEV“返回两个字符串之间的Levenshtein编辑距离”。COMPGED:返回两个字符串之间的广义编辑距离“还
soundex()
-