我有大量包含数字和文本数据的 CSV;这是一个示例:
公司ID | 公司名称 | 群组ID | 货币 | 金额 | ... |
---|---|---|---|---|---|
8494494 | Acme 公司 | F942G | 欧元 | 1.56 美元 | ... |
9283422A | 沃尔玛 | XXH3F3 | 澳元 | $5.64 | ... |
... | ... | ... | ... | ... | ... |
我有一组单独的 CSV,其标题可能被错误标记。我想构建分类器来确定另一组中的列是否是 Company ID、Company Name 或 Group ID。
这三列中的数据足够复杂,我无法单独使用正则表达式来解决这个问题;然而,从肉眼测试来看,我相信可以训练一个简单的分类器来区分它们(并且对于其他杂项数据(例如“AUD”)也返回 False)。
这里最好使用什么模型?我考虑过通过 BERT 传递这些字符串,然后在嵌入之上构建一个分类器。我也考虑过只在角色级别训练 RNN。
~
PS:我还有两个稍微复杂一点的想法:
在尝试您建议的方法之前,我会采取比建议的方法更简单的方法,例如看看 n-gram。然后训练一个简单的分类器,例如逻辑回归或朴素贝叶斯分类器,如这篇文章。
我认为这应该适用于您此处的大多数列,可能只有 ID 列(例如组 ID 和公司 ID)可能会变得困难,因为它们的外观没有明确的模式。也许看看如何区分此类列以及它们对于这种方法是否太随机。
这可能比嵌入更容易,我认为它应该非常有效。