中文分词把文本切分成词语,还可以反过来,把该拼一起的词再拼到一起,找到命名实体。

概率图模型条件随机场适用观测值条件下决定随机变量有有限个取值情况。给定观察序列X,某个特定标记序列Y概率,指数函数 exp(∑λt+∑μs)。符合最大熵原理。基于条件随机场命名实体识别方法属于有监督学习方法,利用已标注大规模语料库训练。

命名实体的放射性。命名实体的前后词。

特征模板,当前位置前后n个位置字/词/字母/数字/标点作为特征,基于已经标注好语料,词性、词形已知。特征模板选择和具体识别实体类别有关。

命名实体,人名(政治家、艺人等)、地名(城市、州、国家、建筑等)、组织机构名、时间、数字、专有名词(电影名、书名、项目名、电话号码等)。命名性指称、名词性指称和代词性指称。

词形上下文训练模型,给定词形上下文语境中产生实体概率。词性上下文训练模型,给定词性上下文语境中产生实体概率。给定实体词形串作为实体概率。给定实体词性串作为实体概率。

词性,名、动、形、数、量、代、副、介、连、助、叹、拟声。自然语言处理词性,区别词、方位词、成语、习用语、机构团体、时间词,多达100多种。汉语词性标注最大困难“兼类”,一个词在不同语境中有不同词性,很难从形式上识别。

词性标注过程。标注,根据规则或统计方法做词性标注。校验,一致性检查和自动校对方法修正。

统计模型词性标注方法。大量已标注语料库训练,选择合适训练用数学模型,概率图隐马尔科夫模型(HMM)适合词性标注基于观察序列标注情形。

隐马尔可夫模型参数初始化。模型参数初始化,在利用语料库前用最小成本和最接近最优解目标设定初值。HMM,基于条件概率生成式模型,模型参数生成概率,假设每个词生成概率是所有可能词性个数倒数,计算最简单最有可能接近最优解生成概率。每个词所有可能词性,已有词表标记,词表生成方法简单,已标注语料库,很好统计。生成概率初值设置0。

规则词性标注方法。既定搭配关系上下文语境规则,判断实际语境按照规则标注词性。适合既有规则,对兼词词性识别效果好,不适合网络新词层出不穷、网络用语新规则。机器学习自动提取规则,初始标注器标注结果和人工标注结果差距,生成修正标注转换规则,错误驱动学习方法。经过人工校总结大量有用信息补充调整规则库。

统计方法、规则方法相结合词性标注方法。规则排歧,统计标注,最后校对,得到正确标注结果。首选统计方法标注,同时计算计算置信度或错误率,判断结果是否可疑,在可疑情况下采用规则方法歧义消解,达到最佳效果。

词性标注校验。校验确定正确性,修正结果。检查词性标注一致性。一致性,所有标注结果,相同语境同一个词标注相同。兼类词,被标记不同词性。非兼类词,人工校验或其他原因导致标记不同词性。词数目多,词性多,一致性指标无法计算公式求得,基于聚类和分类方法,根据欧式距离定义一致性指标,设定阈值,保证一致性在阈值范围内。词性标注自动校对。不需要人参与,直接找出错误标注修正,适用一个词词性标注通篇全错,数据挖掘和规则学习方法判断相对准确。大规模训练语料生成词性校对决策表,找通篇全错词性标注自动修正。

句法分析树生成。把一句话按照句法逻辑组织成一棵树。

句法分析分句法结构分析和依存关系分析。句法结构分析是短语结构分析,提取出句子名词短语、动词短语等。分基于规则的分析方法和基于统计分析方法。基于规则方法存在很多局限性。基于统计方法,基于概率上下文无关文法(PCFG),终结符集合、非终结符集合、规则集。

先展示简单例子,感受计算过程,再叙述理论。

终结符集合,表示有哪些字可作句法分析树叶子节点。非终结符集合,表示树非页子节点,连接多个节点表达关系节点,句法规则符号。规则集,句法规则符号,模型训练概率值左部相同的概率和一定是1。

一句话句法结构树可能有多种,只选择概率最大作句子最佳结构。 设W={ω1ω2ω3……}表示一个句子,其中ω表示一个词(word),利用动态规划算法计算非终结符A推导出W中子串ωiωi+1ωi+2……ωj的概率,假设概率为αij(A),递归公式,αij(A)=P(A->ωi),αij(A)=∑∑P(A->BC)αik(B)α(k+1)j(C)。

句法规则提取方法与PCFG的概率参数估计。大量的树库,训练数据。树库中句法规则提取生成结构形式,进行合并、归纳等处理,得到终结符集合∑、非终结符集合N、规则集R。概率参数计算方法,给定参数一个随机初始值,采用EM迭代算法,不断训练数据,计算每条规则使用次数作为最大似然计算得到概率估值,不断迭代更新概率,最终得出概率符合最大似然估计精确值。

参考资料:

《Python 自然语言处理》

http://www.shareditor.com/blogshow?blogId=82

http://www.shareditor.com/blogshow?blogId=86

http://www.shareditor.com/blogshow?blogId=87

欢迎推荐上海机器学习工作机会,我的微信:qingxingfengzi

学习笔记CB007:分词、命名实体识别、词性标注、句法分析树的更多相关文章

  1. NLP入门(八)使用CRF++实现命名实体识别(NER)

    CRF与NER简介   CRF,英文全称为conditional random field, 中文名为条件随机场,是给定一组输入随机变量条件下另一组输出随机变量的条件概率分布模型,其特点是假设输出随机 ...

  2. 神经网络结构在命名实体识别(NER)中的应用

    神经网络结构在命名实体识别(NER)中的应用 近年来,基于神经网络的深度学习方法在自然语言处理领域已经取得了不少进展.作为NLP领域的基础任务-命名实体识别(Named Entity Recognit ...

  3. HMM(隐马尔科夫模型)与分词、词性标注、命名实体识别

    转载自 http://www.cnblogs.com/skyme/p/4651331.html HMM(隐马尔可夫模型)是用来描述隐含未知参数的统计模型,举一个经典的例子:一个东京的朋友每天根据天气{ ...

  4. HMM与分词、词性标注、命名实体识别

    http://www.hankcs.com/nlp/hmm-and-segmentation-tagging-named-entity-recognition.html HMM(隐马尔可夫模型)是用来 ...

  5. 哈工大LTP基本使用-分词、词性标注、依存句法分析、命名实体识别、角色标注

    代码 import os from pprint import pprint from pyltp import Segmentor, Postagger, Parser, NamedEntityRe ...

  6. 用深度学习做命名实体识别(七)-CRF介绍

    还记得之前介绍过的命名实体识别系列文章吗,可以从句子中提取出人名.地址.公司等实体字段,当时只是简单提到了BERT+CRF模型,BERT已经在上一篇文章中介绍过了,本文将对CRF做一个基本的介绍.本文 ...

  7. NLP入门(五)用深度学习实现命名实体识别(NER)

    前言   在文章:NLP入门(四)命名实体识别(NER)中,笔者介绍了两个实现命名实体识别的工具--NLTK和Stanford NLP.在本文中,我们将会学习到如何使用深度学习工具来自己一步步地实现N ...

  8. 用深度学习做命名实体识别(六)-BERT介绍

    什么是BERT? BERT,全称是Bidirectional Encoder Representations from Transformers.可以理解为一种以Transformers为主要框架的双 ...

  9. 用深度学习做命名实体识别(二):文本标注工具brat

    本篇文章,将带你一步步的安装文本标注工具brat. brat是一个文本标注工具,可以标注实体,事件.关系.属性等,只支持在linux下安装,其使用需要webserver,官方给出的教程使用的是Apac ...

随机推荐

  1. DNS区域传送、子域授权

    前言 DNS服务器搭建参考上一篇: DNS主从复制,就是将主DNS服务器的解析库复制传送至从DNS服务器,进而从服务器就可以进行正向.反向解析了.从服务器向主服务器更新查询数据,保证数据一致性,此为区 ...

  2. 修改create-react-app支持多入口

    使用Facebook官方脚手架create-react-app创建React应用,默认只能生成一个SPA,入口是index.html.虽然,SPA的页面切换可以使用前台路由框架方便(比如React-R ...

  3. Touch事件分发源码解析

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 以下源码基于Gingerbread 2.3.7 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1.先看ViewGroup的di ...

  4. Shadow Properties之美(二)【Microsoft Entity Framework Core随笔】

    接着上一篇Shadow Properties之美(一),我们来继续举一个有点啰嗦的栗子. 先看简单需求:某HR系统,需要记录员工资料.需要记录的资料有: 员工号(规则:分公司所在城市拼音首字母,加上三 ...

  5. [HAOI2008]移动玩具

    这又是一道神奇的搜索题...只要记录每种状态...然后暴力判断这种状态往后一步的情况... 广搜出最优解即可... 呆码: #include<iostream> #include<c ...

  6. 学习python及Pygame的安装及运行

    Python: 注意勾上Add Python 2.7 to PATH,然后点“Install Now”即可完成安装. 或手动修改环境变量,win7:右击我的电脑->属性->高级->环 ...

  7. 以太坊Bootstrap和Kademlia算法实现逻辑简介(基于cpp-ethereum)

  8. struts拦截器的知识

    如何使用struts2拦截器,或者自定义拦截器.特别注意,在使用拦截器的时候,在Action里面必须最后一定要引用struts2自带的拦截器缺省堆栈defaultStack,如下(这里我是引用了str ...

  9. SharePoint Framework 在web部件中使用已存在的JavaScript库 - 捆绑打包和外部引用

    博客地址:http://blog.csdn.net/FoxDave 在构建SPFx客户端web部件时,你可以使用公网已有的JavaScript库来构建强大的解决方案.但是在使用的时候你需要考虑你引用的 ...

  10. 如何将plist大图拆分成原来的小图

    我们一般为了提升性能和减少包体,大多会使用textpackture将图片打包成大图,有时候我们也需要查看它的原来小图,但是没有原图,这时候我们就可以使用cocos的工具,cocos studio. 预 ...