链接两个独立的数据代码集,没有公共标识符

我有两套大数据。 两套都是一种结构化编码体系,用于根据职业分类人群。 这两组数据没有共同的标识符。 除了包含唯一标识符的列之外,每个表格都具有对所述标识符的描述,但是尽pipe它们可能描述了类似的事物,但描述并不相同。

如何创build一个连接两组数据的表,而不必返回并手动尝试找出如何在两个标识之间build立连接。 我不确定这是否可以在Access或SQL上完成。 如果有办法做到这一点,我想知道什么软件可能在那里。

以下是一些示例数据:

Table 1: Z Identifier DescriptionA 162000 Pharmacist 3123566 Electronic Repairman 143246 Banker 8444455 Doctor Table 2: Q Identifier DescriptionB XX134556 COPY/PRINT/SCAN EQUIP 666Q1224 DRUGS 722WWYZ Financial Svc 8456435T Medical Services 15666PP Health Services 

期望的输出:

 Table 3: Z Identifier DescriptionA Q Identifier DescriptionB 162000 Pharmacist 666Q1224 DRUGS 3123566 Electr Repairman XX134556 COPY/PRINT/SCAN EQUIP 143246 Banker 722WWYZ Financial Svc 8444455 Doctor 8456435T Medical Services 

 Table 1: Z Identifier DescriptionA 162000 Pharmacist 3123566 Electronic Repairman 143246 Banker 8444455 Doctor Table 2: Q Identifier DescriptionB XX134556 COPY/PRINT/SCAN EQUIP 666Q1224 DRUGS 722WWYZ Financial Svc 8456435T Medical Services 15666PP Health Services Output: Z Identifier DescriptionA Q Identifier DescriptionB 162000 Pharmacist 666Q1224 DRUGS 3123566 Electr Repairman XX134556 COPY/PRINT/SCAN EQUIP 143246 Banker 722WWYZ Financial Svc 8444455 Doctor 8456435T Medical Services 

您习惯的常规工具(如Access,Excel和SQL)只能比较单词的含义和用法。

换句话说(原谅双关语),为了做到这一点,你需要某种自然语言处理工具包(NLPT) 。 除此之外,还需要一些关于如何编程的知识,因为我不认为有前端接口可以给你输出所需的输出,只给你列出的input,只填写一些表格。

所以考虑到这一点,为了解决你的问题(我假设你知道如何编程,并可以用你select的语言来select一个NLPT),你需要做以下的事情:

  1. 把你的两个数据集放在一些表中。
  2. 操作DescriptionA和DescriptionB是对您正在使用的NLPT有意义的内容。 他们不会喜欢“COPY / PRINT / SCAN / EQUIP”等string。 他们会想要删除斜杠和单词分开。
  3. 通过在库中使用path_similaritytypes的函数,以置换样式的方式将DescriptionA与DescriptionB进行比较。 例如path_similarity('animal.definition1', 'dog.definition1')应该返回一个很高的值,比如.60,而path_similarity('animal.definition1', 'book.definition1')应该返回一个低的值,比如.10 。
  4. 如果path_similarity高于某个值(由您决定),请将这两个项目连接在一起,并将它们作为单个行附加到结果表中,同时将它们从各自的表中删除。 继续执行此操作,直到说明列表中的内容耗尽到与说明B的某种相似度。 然后对表1和表2中剩下的行进行其他操作。

这应该都是相当容易做到编程。 你可能会发现你在这个方法的某些地方没有得到正确的匹配,因为你随机select两个单词进行比较。 因此,您可能希望find另一种algorithm,而不仅仅是排列,也许是查看每个数据片段的path_similarity性的统计数据,并更合适地采取行动。

此外,您可能希望允许两个以上的单词配对。 例如; “伐木工人”,“砍树者”和“树砍刀”更有意义的是,将其中另外两列分组成一行,而不是将其中一个列出来,而这两列可能没有一对。 我刚才列出的所有问题, 我肯定不是新的问题,你可以在互联网上search,以解决它们。 祝你好运!