名称实体解析算法

Coe*_*016 5 python algorithm nlp machine-learning

我试图建立一个实体解决系统,我的实体在哪里,

(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. 
Run Code Online (Sandbox Code Playgroud)

从各种文献和其他参考文献中,我已经定义了其范围,因为我不会考虑超出其实体类别的每个实体的歧义。也就是说,我将牛津大学的牛津与牛津所处的地方不同,因为前一个是组织实体的第一个单词,第二个是位置实体。

我的任务是构造一种解析算法,从中提取并解析实体。

因此,我首先要设计一个实体提取器。其次,如果我尝试像在这本开创性著作中从各种文献中找到的那样,将共指关系进行关联,他们将尝试制定基于决策树的算法,并具有一些功能,例如距离,i代词,j代词,字符串匹配,定名词短语,指示性名词短语,数字约定特征,语义类别约定,性别约定,专有名称,别名,并置等

该算法似乎是一种不错的算法,其中使用隐马尔可夫模型(HMM)提取实体。

我可以用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*
Run Code Online (Sandbox Code Playgroud)

我会错吗?我做了约10,000个字的实验。早期结果似乎令人鼓舞。在我的一位同事的支持下,我试图在标签集中插入一些语义信息,例如PERSUSPOL,LOCCITUS,PoPERSM等,以供美国政治人士,LOCATION CITY US和POSSESSIVE PERSON MALE个人使用,以消除实体歧义走。我的感情关系提取现在会好得多。也请参阅此新想法。我通过朴素贝叶斯分类器获得了一些不错的结果,在该分类器中,主要具有一组关键字的句子被标记为一个类。

如果有人建议采用任何其他方法,请随时提出建议。

我在MS-Windows上使用Python2.x,并尝试使用NLTK,Scikit-learn,Gensim,pandas,Numpy,Scipy等库。

提前致谢。

Moh*_*rab 3

看来你正在走三种完全不同的不同道路,每一条都可以在独立的博士学位中完成。有很多关于他们的文献。我的第一个建议集中于主要任务并将其余任务外包。如果您要为非著名语言开发此语言,您也可以在其他语言的基础上进行构建。

命名实体识别

斯坦福 NLP在这方面确实走得太远了,特别是在英语领域。它们很好地解析了命名实体,它们被广泛使用并且有一个很好的社区。

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

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

编辑:斯坦福 NER存在于 NLTK python 中

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

这涉及到将名称链接到某些知识库,并解决牛津大学是否为牛津市的问题。

AIDA:是这方面最先进的之一。他们使用不同的上下文信息以及连贯性信息。此外,他们还尝试支持多种语言。他们有很好的基准。

Babelfy:提供有趣的 API,可以对实体和概念进行 NER 和 NED。此外,它们支持多种语言,但效果不佳。

其他如 tagme 和 wikifi ...等

会议决议

斯坦福 CoreNLP 在这方面也做了一些很好的工作。我还可以推荐这项工作,他们将会议决议与 NED 结合起来。