python识别电子邮件中的文本

时间:2018-05-23 13:58:04

标签: python classification conv-neural-network email-processing

想象一下,你会收到这样的电子邮件:

name1: value
name2: value
name3: value

...

这些值应插入到数据库中,其列名等于电子邮件中的名称。

但是,电子邮件可能有一些错误,例如拼写错误,或使用缩写而不是全名。 此外,作者可能会随意选择更改名称,例如将自行车改为自行车。

即使有错误,也应自动处理这些电子邮件。处理脚本应该能够修复"错误。

我认为文本分类(卷积)神经网络可能会起作用,但看起来它有点矫枉过正。是否有更好或更简单的解决方案?

1 个答案:

答案 0 :(得分:1)

这是一些想法,因为你事先知道了键(列名)。我们假设有colordensity

  • 您可以使用诸如编辑距离(例如Levenshtein距离)之类的东西来将任何未识别的距离与最接近的实际距离匹配(如果距离足够近)。说,cloor可以与color匹配,因为编辑距离为1.(但是,如果有多个匹配编辑距离足够低,您可能希望安全地播放它而不是映射数据。
  • 同样,对于缩写,您可以选择按唯一前缀映射它们,即如果有人使用dens,并且只有一列(density)以dens开头,则可以可能安全地想象它是density

对于所有未映射的列,我会向数据库添加一个“存储”列,您可以将无法识别的数据放入(例如,JSON格式),并让脚本向操作员(您!)提醒有关无法识别的键,因此,您可以改进逻辑,并使用该逻辑将数据从存储列映射到实际列。