识别一个人的姓名与字典单词

时间:2012-09-05 22:27:09

标签: algorithm search nlp dictionary

有没有办法认识到一个单词很可能是/不可能是一个人的名字?

因此,如果我看到“理解”这个词我会得到0.01的概率,而“约翰逊”这个词会返回0.99的概率,而像史密斯这样的词会返回0.75和像苹果0.15这样的词。

有没有办法做到这一点?

目标是,如果有人搜索,例如Charles Darwin galapagos,搜索引擎会猜测它应该在作者字段中搜索CharlesDarwin以及{的标题和摘要字段{1}}。

3 个答案:

答案 0 :(得分:8)

我的快速黑客就是这样:

按人气普查顺序从人口普查局获取名单,免费提供。为每个名称指定一个标准化的受欢迎度分数(1.0 =最受欢迎,0.0 =最少)。

然后,获取一个开源词典,并做一些研究,将每个单词的频率分数汇总在一起。你可以找到一个here, at wiktionary。为每个单词指定一个受欢迎度分数,1.0到0.0。方便的是,如果你在频率列表上找不到一个单词,你会认为这是一个非常罕见的词。

在两个列表中查找单词。如果它只是在一个或另一个,你就完成了。如果它在两者上,使用公式来计算加权概率...类似(名称人气)/(名称人气+其他人气)。如果它不在任何一个列表中,它可能是一个名字。

答案 1 :(得分:6)

自然语言处理中的相关任务称为命名实体识别,并处理人员,组织,位置等的名称。

设计用于解决此问题的大多数模型本质上是统计的,并且在其预测中使用上下文和先验知识。可以使用许多开源实现,例如, Stanford NER,请参阅online demo

答案 2 :(得分:0)

基于单词(或不构成句子的单词系列),我会说不,或者至少不能提供比“已知单词字典”查找更多信息的单词。

不同的语言环境也会有不同的概率,它非常适合单词在句子中的位置,而其他单词则表示它是名称还是其他名词/动词。

例如,“Word”可能是:

  1. 名词 - “页面上的字模糊不清”
  2. 动词 - “我仔细说出我的句子”
  3. 形容词 - “我喜欢文字游戏”
  4. 专有名称 - “我的朋友Word对我很好”
  5. 这完全取决于句子中的背景和位置 - 以及从语言到语言的这种变化的规则。此外,新名称定期发明 - 明年的most popular baby name可能是“加拉帕戈斯”而不是“利亚姆”。