辅助信息抽取辅助信息抽取辅助信息抽取
- 1.data_naming.ipynb
- 2.data_preprocessing.ipynb
- 3.ner_by_rule_or_dict.ipynb
- 4.ner_json_to_iboes.ipynb
- 5.ner_by_crf.ipynb
- 6.word_embedding.ipynb
- 7.BiLSTM + CRF进行NER.ipynb
- 8.nre_by_pcnn.ipynb
- 9.service_nre
知识图谱的概念与应用
知识图谱里通常用“实体(Entity)”来表达图里的节点,用“关系(Relationship)”来表达图里的边。
储存方式:三元组(entity1,entity2,relationship)
什么是信息抽取:
对于结构化与半结构化数据需要复杂表数据的处理和定义抽取的包装器等方式实现。
对非结构化的纯文本数据需要借助自然语言处理等技术来自动地提取出结构化信息。这个过程一般称为信息抽取。
自然语言理解本质是结构预测
自然语言理解的众多任务,包括并不限于中文分词、词性标注、命名实体识别、共指消解、句法分析.语义角色标注等,都是在对文本序列背后特定语义结构进行预测。
信息抽取的主要任务:
搭建一个知识图谱系统的重点并不在于算法和开发,其实最重要的核心在于对业务的理解以及对知识图谱本身的设计
步骤:
1.定义具体的业务问题
2.数据的收集&预处理
3.知识图谱的设计
4.把数据存入知识图谱
5 . 上层应用的开发,以及系统的评估。
标注工具:brat
http://brat.nlplab.org
正则表达式与AC自动机
AC自动机:
字符串搜索算法,用于在输入的一串字符串中匹配有限组“字典”中的子串。它与普通字符串匹配的不同点
在于同时与所有字典串进行匹配。算法均摊情况下具有近似于线性的时间复杂度,约为字符串的长度加所有匹配的数量。
KMP算法:
KMP算法核心为部分匹配表,记录字符串中的前缀集合与后缀集合的交集中最长元素的长度。根据部分匹配表,可避免重复检查先前匹配的元素。
Trie树:
trie,又称前缀树或字典树,是一种有序树,用于保存关联数组,其中的键通常是字符串。一个节点的所有子孙都有相同的前缀,也就是这个节点对应的字符串,而根节点对应空字符串。一般情况下,不是所有的节点都有对应的值,只有叶子节点和部分内部节点所对应的键才有相关的值。
AC自动机:
AC自动机= KMP + Trie树
依靠构造一个有限状态机(类似于在一个trie树中添加失配指针)来实现。这些额外的失配指针允许在查找字符串失败时进行回退(例如设Trie树的单词cat匹配失败,但是在Trie树中存在另一个单词cart,失配指针就会指向前缀ca),转向某前缀的其他分支,免于重复匹配前缀,提高算法效率。
正则表达式:
原理:NFA自动机(Non deterministicFinite Automaton不确定型有穷自动机)NFA 是以正则表达式为基准去匹配的.发现不匹配了。此时就会发生回溯。
基于规则的信息抽取:
NER发展
机器学习的基本流程
自然语言处理,人工智能皇冠上的明珠!
中文NLP语言处理的一般流程:
- 1.获取语料
- 2.语料预处理
- 3.特征工程
- 4.特征选择
- 5.模型训练
- 6.评价指标
- 7.模型上线应用
中文分词
中文切词常见方法里既有经典的机械切分法(如正向/逆向最大匹配,双向最大匹配等),也有效果更好一些的统计切分方法(如隐马尔可夫HMM,条件随机场CRF)以及近年来兴起的采用深度神经网络的RNNLSTM等方法。
词性标注
常见的词性标注方法可以分为基于规则和基于统计的方法。其中基于统计的方法,如基于最大嫡的词性标注、基于统计最大概率输出词性和基于HMM的词性标注。近年来兴起的采用深度神经网络的RNN,LSTM等方法。
去停用词
停用词词典是根据具体场景来决定的,比如在情感分析中,语气词、感叹号是应该保留的,因为他们对表示语气程度、感情色彩有一定的贡献和意义。
命名实体识别
NER通常包括两部分:(1)实体边界识别;(2)确定实体类别(人名、地名、机构名或其他)。
英文中的命名实体具有比较明显的形式标志(即实体中的每个词的第一个字母要大写),所以实体边界识别相对容易,任务的重点是确定实体的类别。和英文相比,中文命名实体识别任务更加复杂,而且相对于实体类别标注子任务,实体边界的识别更加困难。
大部分情况下,标签体系越复杂准确度也越高,但相应的训练时间也会增加。因此需要根据实际情况选择合适的标签体系。
序列标注
NER评价标准
一般采用2,使用考虑实体边界+实体类型评测
多分类的评价标准
基于规则的信息抽取:精确率高,但召回率比较低。
基于规则的方式比较适合半结构化或比较规范的文本中的进行抽取任务,结合业务需求能够达到一定的效果。
优点:简单,快速;
缺点:召回低,泛化能力差
HMM与维特比解码
马尔可夫过程为状态空间中经过从一个状态到另一个状态的转换的随机过程。
该过程要求具备“无记忆”的性质:下一状态的概率分布只能由当前状态决定,在时间序列中它前面的事件均与之无关。这种特定类型的“无记忆性”称作马尔可夫性质。
隐马尔可夫模型,是统计模型,它用来描述一个含有隐含未知参数的马尔可夫过程。其难点是从可观察的参数中确定该过程的隐含参数。
HMM的两个假设
HMM模型描述的就是由这些隐状态序列(实体标记)生成可观测状态(可读文本)的过程.
HMM的三个基本问题
维特比算法
维特比算法解码使用了动态规划算法来解决HMM的预测问题,找到概率最大路径,也就是最优路径。
在每一时刻,计算当前时刻落在每种隐状态的最大概率,并记录这个最大概率是从前一时刻哪一个隐状态转移过来的,最后再从结尾回溯最大概率,也就是最有可能的最优路径.
条件随机场
概率图模型
概率图模型是指一种用图结构来描述多元随机变量之间条件独立关系的概率模型。
图中的每个节点都对应一个随机变量,可以是观察变量,隐变量或是未知参数等;每个连接表示两个随机变量之间具有依赖关系。
无向图G中任何两个结点均有边连接的节点子集称为团。若C是无向图G的一个团,并且不能再加进任何一个G的结点使其成为一个更大的团,则称此C为最大团。
无向图的联合概率可以分解为一系列定义在最大团上的非负函数的乘积形式。
如果随机变量Y构成一个由无向图G=(V,E)表示的马尔可夫随机场,对任意节点vEV都成立,即
则称P(Y|X)是条件随机场。式中w≠v表示w是除v以外的所有节点,w~v表示w是与v相连接的所有节点。
生成:对联合概率P(X,Y)建模
判别:对条件概率P(Y|X)建模
CRF更加强大-CRF可以为任何HMM能够建模的事物建模,甚至更多。
CRF可以定义更加广泛的特征集。而HMM在本质上必然是局部的,而CRF就可以使用更加全局的特征。CRF可以有任意权重值,HMM的概率值必须满足特定的约束。
1.基于规则的专家系统
召回低,规则维护复杂,泛化能力差
2.基于特征的监督学习
需要大量特征工程,泛化能力一般
基于DL的NER模型成为主流,并取得了sOTA
深度学习的关键优势在于其强大的表示学习能力,通过向量表示和神经网络学习复杂的组合语义。
深度学习可以通过对原始数据进行训练自动发现分类或检测所需的语义表示。
NLP中监督任务的基本套路:
- 文本数据搜集和预处理
- 将文本进行编码和表征
- 设计模型解决具体任务
文本表示
文本表示是深度学习进行NLP任务的第一步,将自然语言转化为深度学习能处理的数据。
词向量,将自然语言进行数学化。
- One-hot :
维度灾难,不能刻画词与词之间的相似性 - Distributed:
将词映射成固定长度的短向量,构造词向量空间,通过距离刻画词之间的相似性。