NLP应用场景
图谱的本质,就是把
自然语言处理的文本段落的无序的结构
转换成有数据结构的信息
,图谱本身是有结构的数据。
家谱本质上就是图谱的一种表现形式。图谱可以大大促进AI的推理能力。
知识图谱(Neo4j演示)
知识图谱最重要的是,我们要从文本和自然语言里面得到现实存在的实体,还有一些基本的概念,以及实体和实体之间的关系。也就是把没有结构的信息,转换成有结构的信息。
以语法为辅,以贝叶斯概率来解释语言。
这套方法,我们需要有语料库,通过海量的运算去训练模型,模型就可以感知和掌握人类表达的一些基本方式和套路。
而我们想要找到实体、属性、以及实体属性之间的关系,要做的第一件事情就是要把这句话命名实体识别。
比如来了某句话之后,我们要通过词性进行标注。哪个是名词、动词、形容词、副词等等。包括词和词之间的关系,称为关系抽取。如果里面有事件,也可以把事件抽取出来。这一系列的过程,就叫命名实体识别。
命名实体识别
- 实体识别工具——jieba:机器学习中的贝叶斯算法
哈工大、百度等,这些工具靠的是原有的词库和字典。在字典里面有的词,就可以快速的切分,还可以配置专用名词和停用词。字典里面已经具备的词性,需要匹配的,就可以把它标注出来。 - 现阶段使用比较多的,HMM、CRF等,采用概率模型来完成实体识别。目前CRF用的更多。
上图为命名实体识别的发展阶段:
- 早期方法:规则和字典我们已经写好,拿到一句话或者一个段落的时候,就去已有方法里匹配,效果不好,优势是对算力要求低。
- 传统机器学习:概率的方式,相对于原来的方式效率更高。若搭配神经网络,效果会更好。
- 深度学习:先把这些词,经过词向量,通过神经网络来进行训练,大大提升分词效率。提升效率之后,再做词性的标注会更有保障。所以这一套是深度学习的解决方案。
- 局限性:只适合公共性的文章和字段的标注。公共性的语料库是比较完善的,但凡是用了机器学习和深度学习,我们都要有训练集,训练集质量越高模型效果越好。后续拿这个模型做未来的命名实体识别效果肯定是比较好的。
- 但是有些垂直细分领域、专业的领域,这套方案不太合适。比如医疗、能源、军工。所以,后续又引申出来了注意力模型。
- 近期:注意力模型、迁移学习等。既然我们专业领域的词汇并不会很多,比较有限。对于一些大公司,例如Google、亚马逊等,会公布一些已经处理好的自然语言处理的网络结构。
- 这种结构通常已经把网络层构建好了,并且根据大公司已有的优势,训练好了网络参数。如果这些参数靠谱,就可以直接用。如果不靠谱,我们把现阶段垂直细分领域的一些数据拿过来,再继续训练一次。因为之前的参数已经训练的差不多了,现阶段的训练就是去优化这个参数。让这些参数更好的匹配专业的某个领域。
- 未来:脑机接口。
- 例如脑机接口,本质来说,无论脑机接口还是自然语言的识别,完成的只有一个目的,就是更高效的接收和转换人类的信息。如果我们可以更精准的捕获人类的信息,无论图片、声音、视频等。在未来才可以真正实现人机交互。
模型架构讲解
下图中,bert 可以认为是RNN或者LSTM,之后用CRF或者HMM进行标注。
上图中
- 最底层是我们说的词,词首先要被转为词向量。
- 然后通过bert框架;
- 输出结果后,再用类似的HMM或者CRM进行词性的标注。
- 最上面,B、I、O是一些序列的标注,如下面截图所解释。
HMM与CRF
HMM五大要素(两大状态与三大概率)
HMM案例分享
HMM实体识别应用场景
代码实现