主要分为几个部分: NER+消歧,NERC+CRF,POS Tagging+HMM+实例提取,事实提取+信息提取+马尔科夫逻辑,语义网+可决定性,数据安全。
NER+消歧:
NER目的:找entity名字
NER的两种方式:字典,正则
字典分为两类:传统字典和TRIE,传统字典慢,TRIE是单词树,添加单词分为两种,一种是添加KB中已经有的单词的prefix,那么就直接把对应的node从F改成T,另一种是添加新单词,需要构建新的叶子和树枝
消歧:停止词,context
停止词:多,无搜索价值
context:有两种,一种是关于entity的context,即entity的邻居entity的label,另外一种是关于word的Context,即文章中该word周围除了停止词以外的所有词
消歧:看context和原文的overlap程度,越多越好
当corpus过小,就用prior Disambiguation,即对要消歧的词进行加权,搜索需要消歧的词的相关资料,相关资料越多的,权重就越高
NERC+CRF:
NERC是要把找到的entity名字进行分类
四种方式:
根据Feature:
有3种features,syntactic:大小写,数字,etc, Dictionary:cities,countries,
morphological:ist,isme结尾,有几个音节,pos tag etc,根据feature判断是哪一个pos的
根据rules:
建立window,宽度若为a,总长度为2a+1,其他tokens的类别决定主token的类别。创立rules,若每个token都满足rules中的条件,则主token被分到rules规定的那个类。
Rules learning算法:有一个已经备注好的corpus,对于每个备注都创建rules,合并rules并用更泛化的词代替relation位置上的词,合并rules并去掉一个feature,去掉重复rules,不断重复这个过程
困难:句子成分很复杂很难完全满足一个rules
根据ML:
KNN,根据身边k个邻居的类决定自己是哪个类。k一般为奇数
根据statistical methods:
feature当做条件例如x=in and y = loc计算使权重最大的Y向量,即分类向量。
若corpus大,我们需要知道如何计算w,即给出X向量,即corpus的单词,Y向量,和一系列的rules,即对应单词的分类,根据X和Y训练,根据概率分布关于w和f的概率分布,发现w变大才会使概率变大,尽量使权重大,就需要利用到梯度上升的方法,然后得到每个rules改有多少权重,给出一个新的corpus,利用w,rules,找到Y。
CRF:CRF是应用与给单词分类,是MRF的一种特殊形式,MRF的势函数里面只有Ci,而CRF里面有y,有对应的是X的分类。CRF中,一部分是显示即单词部分,一部分变量是隐式的,分类部分
形成CRF的条件是一些列随机变量满足,当前变量只由它的邻居决定。邻居可以形成cliques,当CRF中的概率全部大于0时可以被矢量化,矢量化的含义是概率等于势函数的乘积,,