使用机器学习方法在记录链接中进行匹配的描述

时间:2017-08-22 15:43:21

标签: machine-learning artificial-intelligence apache-spark-mllib record-linkage

我们正在开展记录联动项目。

简单来说,我们只是通过查看描述的相似性来搜索数据库中的产品。这是一个非常有趣的问题需要解决,但是目前我们采用的机器学习方法导致精度非常低。如果你能提出一些非常横向的方法,它将对我们的项目有很大帮助。

输入说明

+-----+----------------------------------------------+
 | ID | description                                  |
-+----|----------------------------------------------+
 |  1 |delta t17267-ss ara 17 series shower trim ss  |
 |  2 |delta t14438 chrome lahara tub shower trim on |
 |  3 |delta t14459 trinsic tub/shower trim          |
 |  4 |delta t17497 cp cassidy tub/shower trim only  |
 |  5 |delta t14497-rblhp cassidy tub & shower trim  |
 |  6 |delta t17497-ss cassidy 17 series tub/shower  |
-+---------------------------------------------------+

数据库中的描述

+---+-----------------------------------------------------------------------------------------------------+
|ID | description                                                                                         | 
----+-----------------------------------------------------------------------------------------------------+
| 1 | delta monitor17 ara® shower trim 2 gpm 1 lever handle stainless commercial                      |                       
| 2 | delta monitor 14 lahara® tub and shower trim 2 gpm 1 handle chrome plated residential           |                        
| 3 | delta monitor 14 trinsic® tub and shower trim 2 gpm 1 handle chrome plated residential          |                        
| 4 | delta monitor17 addison™ tub and shower trim 2 gpm 1 handle chrome plated domestic residential|                       
| 5 | delta monitor 14 cassidy™ tub and shower trim 2 gpm venetian bronze                           |                        
| 6 | delta monitor 17 addison™ tub and shower trim 2 gpm 1 handle stainless domestic residential   |
+---+-----------------------------------------------------------------------------------------------------+

背景资料

1.数据库中的记录基本上非常接近,因此导致了巨大的问题。

2.数据库中有大约200万条记录,但搜索特定制造商时搜索空间减少,搜索空间减少到几百个。

3.记录ID为1的“输入描述”中的记录与记录ID为1的“数据库描述”中的记录相同(我们知道使用手动方法。)

4.我们使用随机森林列车进行预测。

目前的做法

  1. 我们将描述标记为

  2. 删除停用词

  3. 添加了缩写信息

  4. 对于每个记录对,我们计算不同字符串度量的分数,如jacard,sorendice,cosine,计算所有这些分数的平均值。

  5. 然后我们使用jaro winker度量方法计算制造商Id的分数。
  6. 因此,如果“输入描述”中有5个制造商的记录,而“数据库”中有制造商的10个记录,则总组合为50个记录对,即每个记录10对,这导致得分是很近。我们考虑了每组10对的前4对记录。对于记录对,对于多个记录对有相似的分数,我们已经考虑了所有记录对。

    7.我们得出以下学习数据集格式。

    |----------------------------------------------------------+---------------------------- +--------------+-----------+
    |ISMatch | Descrption average score  |manufacturer ID score| jacard score of description | sorensenDice | cosine(3) |
    |-------------------------------------------------------------------------------------------------------------------
    |1       | 1:0.19                   | 2:0.88               |3:0.12                       | 4:0.21       | 5:0.23    |
    |0       | 1:0.14                   |2:0.66                |3:0.08                       | 4:0.16       |  5:0.17   |
    |0       | 1:0.14                   |2:0.68                |3:0.08                       |4:0.15        |  5:0.19   |
    |0       | 1:0.14                   |2:0.58                |3:0.08                       |4:0.16        |  5:0.16   |
    |0       | 1:0.12                   |2:0.55                |3:0.08                       |4:0.14        |  5:0.14   |
    |--------+--------------------------+----------------------+--------------------------------------------+-----------+
    

    我们训练上述数据集。当使用相同的方法实时预测时,准确度非常低。 请建议任何其他替代方法,

    我们计划使用TF-IDF,但初步调查显示它也可能无法通过巨额条款提高准确性。

0 个答案:

没有答案