我正在尝试构建一个实体解析系统,我的实体是:
(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.
我从各种文献和其他参考资料中得出结论,我认为每个实体的模糊性不应超出其实体类别的范围。也就是说,我认为牛津大学的“牛津”与地方的“牛津”是不同的,因为前者是组织实体的第一个单词,而后者是位置实体。
我的任务是构建一个解析算法,其中我会提取和解析实体。
因此,我首先正在开发一个实体提取器。其次,如果我试图将核心指代关系与我在各种文献中找到的内容联系起来,如这一开创性工作,他们试图设计一种基于决策树的算法,并使用一些功能,例如距离、i-pronoun、j-pronoun、字符串匹配、明确名词短语、指示性名词短语、数字协议特征、语义类协议、性别协议、两个专有名词、别名、同位语等。
该算法似乎是一个很不错的算法,其中实体是通过隐马尔可夫模型(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*
我做了一个大约有10,000个单词的实验,我觉得结果是令人鼓舞的。我正在尝试在标记集中加入一些语义信息,例如 PERSUSPOL、 LOCCITUS、PoPERSM 等等,以便在一次操作中进行实体消歧。我的感觉是关系抽取现在会更好。请参考这个新想法。我还用朴素贝叶斯分类器获得了一些不错的结果,其中将主要具有一组关键字的句子标记为一类。
如果有人有任何不同的建议,请随时提出。
我在 MS-Windows 上使用 Python2.x,并尝试使用 NLTK、Scikit-learn、Gensim、pandas、Numpy、Scipy 等库。
提前致谢。