使用机器学习进行属性映射

时间:2018-07-21 15:29:33

标签: machine-learning database-design gensim

我有几个表具有不同的列名,这些表名是通过ETL映射的。总共大约有200个表和500个属性,因此该集合并不庞大。

一些列映射如下:

startDate EFT_DATE
startDate START_DATE
startDate entryDate 

如您所见,相同的列名称可以在不同的表中映射为不同的名称。

我正在尝试解决以下问题:

给出两个我想在属性名称之间找到匹配的模式。

我想知道是否有一种方法可以利用gensim来解决这个问题,类似于Google示例中的源词。我面临的挑战是用于训练模型的数据集。我也想知道是否还有另一种解决问题的方法。

1 个答案:

答案 0 :(得分:2)

您可以通过预处理每个术语来对此应用基本的text analyzers

  • 由任何非字母字符分隔。
    • 例如EFT_DATE成为[eft,date]
  • 由camelCase分割。
    • 例如startDate成为[start,date]
  • 每学期小写
  • 对每个令牌应用模糊字典查找
    • 例如startt-> start(打字错误检测..)
  • 应用词干
    • 例如starting-> start
  • 也许应用同义词转换。
    • 例如begin-> start

对术语进行可选排序:

  • dateStarted-> [date,start]
  • startingDate-> [start,date]-> [date,start]

您现在可以应用set distance个操作,即O(^2)。考虑到您的基数适中。如果您使用的术语集比可扩展的集合比较方法大,例如以下内容,可以帮助降低复杂性。