Java命名实体识别库,用于人员姓名“部件”

时间:2015-06-20 08:51:54

标签: java named-entity-recognition

我目前的项目需要提高客户详细信息的数据质量。

我们遇到的一个问题是,客户名称具有First,Middle名称和姓氏的单独数据捕获输入字段,但在许多情况下,名称的每个部分都输入错误。

我们需要清理我们持有的数据。

当我们以相应的方式联系我们的客户时,这个数据质量问题会受到影响,因为我们不知道他们的名字,中间名和姓氏,我们通过使用不恰当的称呼来冒犯一些客户

我们需要一个命名实体识别库,它不仅可以检测PERSONS名称,还可以分离First,Middle和Surnames。

这使数据质量任务变得更难的原因是我们拥有近1亿客户,我们的客户群遍布全球,因此我们需要能够识别第一,中间和姓氏,例如:给定名称,父系和不同的部分。有用的是我们也了解客户的国家性。

是否存在特定于人名部分的命名实体识别?

我意识到“完美”解决方案是不可能的,但我确信我可以提高目前的数据质量。

我刚才提到了First,Middle和姓氏,因为这是我最熟悉的名称结构,但是我知道以下是我所面对的例子

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.

1 个答案:

答案 0 :(得分:1)

有一个简单,通用的解决方案,公司似乎不太愿意申请:

当且仅当通信真正来自正在为接收者准备该通信的人时,才包括称呼。在这种情况下,关注接收者的一部分是在考虑接受者的文化的情况下写出正确的称呼。

如果您使用数据库中的名称进行计算机生成通信,请诚实地说明您正在做什么。只需显示它提供给您的名称,无论它来自何种形式。不要试图用它来构建正式的称呼。不要以任何方式改变它。显然是由计算机生成但试图假装个人注意力的通信看起来很愚蠢,即使它们不足以引起实际烦恼也是如此。