名称实体解析算法

时间:2016-04-10 20:30:12

标签: python algorithm machine-learning nlp

我正在尝试建立一个实体解析系统,我的实体在哪里,

(i) General named entities, that is organization, person, location,date, time, money, and percent.
(ii) Some other entities like, product, title of person like president,ceo, etc. 
(iii) Corefererred entities like, pronoun, determiner phrase,synonym, string match, demonstrative noun phrase, alias, apposition. 

从各种文献和其他参考文献中,我已经确定了其范围,因为我不会考虑每个实体超出其实体类别的模糊性。也就是说,我正在攻读牛津大学牛津分校 与牛津不同,因为前一个是组织实体的第一个词,第二个是位置的实体。

我的任务是构建一个解析算法,我将在其中提取 并解决实体。

所以,我首先要制定一个实体提取器。 第二,如果我试图将我发现的共同关系联系起来 像seminal work这样的各种文学,他们都试图解决这个问题 基于决策树的算法,具有一些功能,如距离, i-pronoun,j-pronoun,字符串匹配,确定名词 短语,示范性名词短语,数字一致性特征, 语义类协议,性别协议,专有名称,别名,并置 等。

这个算法看起来很不错,其中使用隐马尔可夫模型(HMM)提取enities。

我可以用HMM制作一个实体识别系统。 现在我正在尝试制定一个共同参与和一个实体 决议系统。我试图感觉而不是使用这么多 如果我使用带注释的语料库并直接训练它的功能 基于HMM的标记器,用于解决关系提取问题,

*"Obama/PERS is/NA delivering/NA a/NA lecture/NA in/NA Washington/LOC, he/PPERS knew/NA it/NA was/NA going/NA to/NA be/NA
small/NA as/NA it/NA may/NA not/NA be/NA his/PoPERS speech/NA as/NA Mr. President/APPERS"

where, PERS-> PERSON
       PPERS->PERSONAL PRONOUN TO PERSON
       PoPERS-> POSSESSIVE PRONOUN TO PERSON
       APPERS-> APPOSITIVE TO PERSON
       LOC-> LOCATION
       NA-> NOT AVAILABLE*
我会错的吗?我做了大约10,000个单词的实验。早期的结果似乎 令人鼓舞。在我的同事的支持下,我试图插入一些 语义信息,如, PERSUSPOL,LOCCITUS,PoPERSM等,适用于美国政治,美国地区城市,拥有人的男性,在标签中一次性结合实体消歧。我现在感觉关系提取会好得多。 请看这个新想法。 我用朴素贝叶斯分类器得到了一些好的结果 主要有一组关键字被标记为一个类。

如果有人提出任何不同的方法,请随时提出建议。

我在MS-Windows上使用Python2.x并尝试使用像NLTK,Scikit-learn,Gensim这样的库, 熊猫,Numpy,Scipy等。

先谢谢。

1 个答案:

答案 0 :(得分:3)

看起来你正走在三条完全不同的不同路径中,每条路径都可以在一个独立的博士中完成。有很多关于它们的文献。我的第一个建议专注于主要任务,并将剩余的任务外包。如果你打算用非着名的语言来开发它,你也可以建立在其他语言之上。

命名实体识别

Standford NLP对于英语来说真的太过分了。他们很好地解决了命名实体,它们被广泛使用并且拥有一个很好的社区。

openNLP for python中可能存在其他解决方案。

有些人试图将其扩展到不寻常的细粒类型,但是你需要更大的训练数据来覆盖案例,而且决策变得更加困难。

编辑:Stanford NER存在于NLTK python中

命名实体解析/链接/消除歧义

这关注将名称与某些知识库联系起来,并解决了牛津大学牛津大学的问题。

AIDA:是其中最先进的技术之一。他们使用不同的上下文信息以及一致性信息。此外,他们尝试支持多种语言。他们有很好的基准。

Babelfy:提供有趣的API,为实体和概念提供NER和NED。此外,他们支持许多语言但从未有过很好的工作。

其他人如tagme和wikifi ......等

会议决议

此外,斯坦福大学的CoreNLP在这个方向上也做得很好。我还可以推荐this work将会议决议与NED结合起来。