【发布时间】:2015-06-23 22:15:04
【问题描述】:
我当前的项目需要提高客户详细信息的数据质量。
我们遇到的一个问题是,客户的姓名对于名字、中间名和姓氏有单独的数据捕获输入字段,但在许多情况下,姓名的每个部分都输入错误。
我们需要清理我们持有的数据。
此数据质量问题会影响我们在通信中联系客户时,因为我们不知道他们的名字、中间名和姓氏,因此我们使用不恰当的称呼冒犯了一些客户
我们需要一个命名实体识别库,它不仅可以检测 PERSONS 姓名,还可以检测 First、Middle 和 Surnames。
使这项数据质量任务变得更加困难的是,我们拥有近 1 亿客户,我们的客户群遍布全球,因此我们需要能够识别名字、中间名和姓氏,例如给定的名称、父名和不同的部分顺序。有帮助的是我们还了解客户的国籍。
是否存在特定于 Person Name PARTS 的命名实体识别?
我意识到“完美”的解决方案是不可能的,但我确信我可以提高我们目前拥有的数据质量。
我刚刚提到了 First, Middle 和 surnames 作为我最熟悉的名字结构,但是我明白以下是我所面临的例子
In many parts of the world, parts of names are derived from titles, locations, genealogical information, caste, religious references, and so on. Here are a few examples:
the Indian name Kogaddu Birappa Timappa Nair follows the order villageName-fathersName-givenName-lastName.
the Rajasthani name Aditya Pratap Singh Chauhan is composed of givenName-fathersName-surname-casteName.
in another part of India the name Madurai Mani Iyer represents townName-givenName-casteName.
the Arabic Abu Karim Muhammad al-Jamil ibn Nidal ibn Abdulaziz al-Filistini translates as "Father of Karim, Muhammad (given name), The beautiful, Son of Nidal, Son of Abdulaziz, the Palestinian". Karim is Muhammad's first-born son.
【问题讨论】:
-
在全球数据库中,您需要处理姓名完全不遵循“名、中、姓”模式的人。
-
此外,在任何语言或国籍中,姓氏可能与该语言中任何常见的名字相匹配的单词并不少见。例如。约翰杰克。而且很可能无法保证订单。为了有总比没有好,我会根据给定语言/国籍的名字数据库实施一些最佳猜测启发式算法,包括通常作为一些公开报告提供的流行度。
-
考虑这篇 W3C 文章:Personal names around the world
-
对于特许权使用费和一般贵宾的特殊情况,我们有一个专门的数据质量部门作为紧急事项纠正这些情况。但是,我们不能对所有 1 亿客户使用这种方法。
标签: java named-entity-recognition