【问题标题】:An algorithm to split concatenated names拆分连接名称的算法
【发布时间】:2017-08-10 09:54:33
【问题描述】:

我的问题是

我的全名是串联的,例如“davidrobert jones”。我想将其拆分为“david robert jones”。

我使用名称字典的最长前缀匹配算法测试了解决方案,但这并不是那么简单,因为名称可以用多种方式编写。 我也加了语音匹配算法,但也有很多名字发音相同,所以很模棱两可。

这样做的最佳解决方案是什么?我相信机器学习可以有答案,但我对机器学习知之甚少。

【问题讨论】:

  • 这可能是一个愚蠢的问题,但我想名称在拆分点通常没有大写字母,对吧?无论如何,如前所述,这个问题太宽泛,定义也不是很好;例如,“Jeanmarie”、“Jean-Marie”和“Jean Marie”都是似是而非的名字。
  • 嗯,我认为这是一个具有挑战性的问题。我编辑了问题以更清楚地解决问题,全名都是小写字母。如果一个名字是合理的名字并不意味着它是这个人的正确名字。
  • 你的问题也很模糊。你说你想为同一个名字捕捉不同的拼写,但你不希望名字听起来相同但拼写不同。然后你想猜“正确的名字”,但没有办法判断“Jeanmarie”还是“Jean Marie”是正确的答案。数据驱动的方法(例如使用机器学习)可能会帮助您获得最合理的方法(不一定是正确的方法),但您似乎不希望那样......
  • 您能否提供更多示例,包括导致大多数问题的示例

标签: python algorithm machine-learning nlp


【解决方案1】:

我认为您的问题类似于Named Entity Recognizer命名实体识别 (NER) 标记文本中的单词序列,这些单词是事物的名称,例如人名和公司名。在第 5 节中,这个articleNamed Entity Recognition 的python 方法。

【讨论】:

    【解决方案2】:

    一种可能的算法解决方案是创建一个更长的组合字典,表示所有可能的first_name last_name。然后对于任何给定的标记列表作为名称(用空格分隔的单词),对于每个标记,找到与该标记具有最短编辑距离的所有字典条目

    【讨论】:

      猜你喜欢
      • 2012-04-26
      • 1970-01-01
      • 1970-01-01
      • 2017-01-27
      • 1970-01-01
      • 2023-02-09
      • 1970-01-01
      • 2016-12-03
      • 2012-10-07
      相关资源
      最近更新 更多