http://blog.csdn.net/ice110956/article/details/17090061

整理至11月中旬在重庆参加的自然语言处理与机器学习会议,第一讲为自然语言处理。

由基本理论到实际运用,整理了基本的框架。

1.      自然语言处理基础

词性标注(POS):

为句子中的每个词语标注词性,可看做是句法分析的关键任务,也可以看做是句法分析的最低层次.对后续句法分析,语义消歧等任务非常有用.

POS集合,也就是基本词性规则:

常用的是PennTreebank set,包好45个tags

基本方法:

基于规则:人工基于词汇与其他语言知识构造标注规则

基于学习:基于人工语料进行训练

统计模型:HMM,Maximum EntropyMarkov(MEMM),conditional random field(CRF)

规则学习:transformation basedlearning(TBL)

序列POS:

POS问题可以看做最一个序列进行POS的问题.

基于分类的序列标注:

把每个词看做上下文的一个特征,如相邻的词,用分类算法来解决.

如:John saw thefish and decided to take it to the table.

Saw可以看成john + saw +fish的一个特征,用分类算法来POS.

缺点:

1.不容易集成来自左右两个方向上的词语标记信息.

2.难以表达与传递词语标签半段的不确定性,难以为序列中所有词语统一确定最可能的联合标签判断.

具体的算法有前向分类与后向分类.

基于概率的序列标注:概率序列标注模型允许集成序列中多个相互依赖的个体分类的不确定性,统一确定最可能的全局标签判断.

典型模型:HMM,MEMM,CRF

其中,HMM可使用监督学习与无监督学习,半监督学习等等.其中使用viterbi动态规划算法.

中文语法分析效果

总体F值为95%

主要错误为新词;命名实体识别效果偏低,效果跟文本类型有关.总体水品超过90%.

句法分析(句子结构)

类型:句法分析与依存关系分析;完全分析与浅层分析.

涉及知识:组块分析(chunking),Chomsky语法层次,Context Free Grammars(CFG)上下文无关语法,句法树(parsing)等.

句法结构分析(parsing):

1.给定一串终结符号和一个CFG,确定该符号是否能够被CFG所生成,同时为该符号串返回句法树.

2.搜索以获取句法树的推导

Top-down parsing:从初始符开始

Bottom-up parsing:从符号串中的终结符开始

3.      动态规划parsing方法

CKY(cocke-kasami-younger)算法;基于自底向上分析,需要对句法进行规范化

Enrley parser:自顶向下分析,不需要句法规范化,但更加复杂

Chart parser:融合自顶向下与自底向上搜索

统计句法分析

使用句法概率模型为每颗句法树计算概率值;允许使用有监督学习和无监督学习得到句法分析模型.

Probabilistic context freegrammar(PCFG):CFG的概率形式;以及概率话的CKY等.

已训练得到的树库:

见wiki:Treebank

中文句法分析效果:

短语结构总体水平F值>=80%,依存关系为90%

2.      互联网语义计算与信息总结

语义分析(句子含义):

获取语言单元的意义:不同层次,词汇级,句子级,篇章级

句法驱动的句子级语义分析:句子的语义分析由其组成成分的语义组合而得到.基于词汇和语法信息获取句子意义表达.

1.运用句法树生成一阶逻辑表达式.

2.语法角色标注:施事,受事,来源,目的,工具等.

语法分析效果:深层语义分析很困难,目前没有成熟的技术和系统;语义角色标注的总体水平(F值)在70%

篇章分析(discourseparsing)

篇章是一组连贯且具有结构的句子,如独白,对话.

主要任务:篇章分割(分段)句间关系识别,指代消解.

理想情况下需要深层文本理解技术来应对以上任务,但目前为止主要采用浅层分析方法.

1.篇章分割:

将文档分割成子话题的线性序列.如科技文章可分为:摘要,简介,方法,结果,结论等等.

应用:文档摘要:每个段落分别摘要;信息检索与信息抽取:在合适的段落上进行

相关任务:对于语音识别文本的段落分割.

方法:基于凝聚性的方法(Cohesion-based approach)

将文旦分割成子话题,每个子话题中的段落/句子之间相互凝聚子话题边界处的凝聚性较差

TextTiling算法.

2.篇章结构(discoursestructure):

基于连贯关系的篇章层次结构,类似于句法树的结构.树节点表示句子之间的连贯关系:discourse segment(notlinear)

应用:文摘系统:可以忽略或合并被elaboration关系连接的单元;问答系统:利用explanation关系进行回答;信息抽取系统:不需要对从没有连贯关系的单元上抽取的信息融合.

3.篇章解析

指代消除(referenceresolution):确定哪个实体被哪个语言表达所意指.

分类:

coreference resolution(共指消解):发现指向相同实体的指称表达式,也就是寻找共指链,如:{Mr.Obama,The president,he}

pronominal Anaphora Resolution(人称代词消解):如下一句的he指向Mr.Obama.

词汇语义计算

我想扁你->Ithink flat you.

研究意义:怎样表达词语的意义?词语之间是怎样关联的?同义词,反义词,上位词,下位词,相似不相似等等.

名词:词义(word senses):

一个词语的特定意义

一个词语可以有多个词义

一个词义能被一个注释所描述.如apple:水果,红色,黄色或者绿色,甜味.

词汇相似度(wordsimilarity)

同义词/反义词等二值关系

更宽松的准则:词汇相似度/词义距离(Word similarity or word semantic distance)

两种计算方法:

基于语义词典的方法(Thesaurus-based):构造一个wordnet,判断在wordnet中的关系

基于语料统计的方法(Distributional/Statisticalalgorithm):比较词语在语料库中的上下文.

基于Wordnet的词义相似度:

著名的英文词义关系计算资源,同义词库。

基本单元为一个synet,也就是一个同义词集合。

每个词条包含多个synet,用来注解。

不同的synets之间通过不同的词义关系相连。

语义词典方法的缺点:

许多语言没有好用的语义词典。许多新词不被包含。限于名词,对于形容词和动词并不完善。

基于语料统计的词汇相似度:

比如根据许多句话以及上下文,我们可以推断某个未知的英文单词的含义。语料统计也是相似的过程。通过互联网的语料,来统计某个词的语义。或者有机遇wiki百科的语义分析等。

词义消歧

计算完语义后,就可以通过语义来消歧。

互联网信息摘要

对海量的内容进行提炼与总结,以简洁,直观的摘要来概括用户所关注的主要内容。比如微博图谱,新闻摘要等等,是自然语言处理与篇章分析的一个主要运用。

NLP--自然语言处理与机器学习会议的更多相关文章

  1. NLP 自然语言处理实战

    前言 自然语言处理 ( Natural Language Processing, NLP) 是计算机科学领域与人工智能领域中的一个重要方向.它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和 ...

  2. flask 第六章 人工智能 百度语音合成 识别 NLP自然语言处理+simnet短文本相似度 图灵机器人

    百度智能云文档链接 : https://cloud.baidu.com/doc/SPEECH/index.html 1.百度语音合成 概念: 顾名思义,就是将你输入的文字合成语音,例如: from a ...

  3. 《转载》python/人工智能/Tensorflow/自然语言处理/计算机视觉/机器学习学习资源分享

    本次分享一部分python/人工智能/Tensorflow/自然语言处理/计算机视觉/机器学习的学习资源,也是一些比较基础的,如果大家有看过网易云课堂的吴恩达的入门课程,在看这些视频还是一个很不错的提 ...

  4. 聊天机器人(chatbot)终极指南:自然语言处理(NLP)和深度机器学习(Deep Machine Learning)

    在过去的几个月中,我一直在收集自然语言处理(NLP)以及如何将NLP和深度学习(Deep Learning)应用到聊天机器人(Chatbots)方面的最好的资料. 时不时地我会发现一个出色的资源,因此 ...

  5. NLP 自然语言处理

    参考: 自然语言处理怎么最快入门:http://www.zhihu.com/question/ 自然语言处理简介:http://wenku.baidu.com/link?url=W6Mw1f-XN8s ...

  6. NLP 自然语言处理之综述

    (1) NLP 介绍 NLP 是什么? NLP (Natural Language Processing) 自然语言处理,是计算机科学.人工智能和语言学的交叉学科,目的是让计算机处理或"理解 ...

  7. [NLP自然语言处理]谷歌BERT模型深度解析

    我的机器学习教程「美团」算法工程师带你入门机器学习   已经开始更新了,欢迎大家订阅~ 任何关于算法.编程.AI行业知识或博客内容的问题,可以随时扫码关注公众号「图灵的猫」,加入”学习小组“,沙雕博主 ...

  8. NLP自然语言处理学习笔记二(初试)

    前言: 用Python对自然语言处理有很好的库.它叫NLTK.下面就是对NLTK的第一尝试. 安装: 1.安装Pip 比较简单,得益于CentOS7自带的easy_install.执行一行命令就可以搞 ...

  9. NLP自然语言处理 jieba中文分词,关键词提取,词性标注,并行分词,起止位置,文本挖掘,NLP WordEmbedding的概念和实现

    1. NLP 走近自然语言处理 概念 Natural Language Processing/Understanding,自然语言处理/理解 日常对话.办公写作.上网浏览 希望机器能像人一样去理解,以 ...

随机推荐

  1. Docker系列之(四):Win10上运行Docker

    1. 前言 Docker最近推出了可以运行在Win10和Mac上的稳定版本,让我们赶紧来体验一下. 2. 安装准备 需要的条件为: 64bit Windows 10,开启Hyper-V 2.1 下载D ...

  2. 安装node.js / npm / express / KMC

    http://www.cnblogs.com/seanlv/archive/2011/11/22/2258716.html 1. 下载Node.js官方Windows版程序: http://nodej ...

  3. PHP项目收藏

    API接口管理系统 Github上的PHP资源汇总大全 Github.com上有哪些比较有趣的PHP项目 SOAP NuSOAP - SOAP Toolkit for PHP [官网] [教程] 通用 ...

  4. WebLogic使用总结(二)——WebLogic卸载

    一.WebLogic 12c的卸载 WebLogic的卸载是非常容易的,找到WebLogic的卸载程序,如下图所示: 启动卸载程序,如下图所示:

  5. mvn常用插件目标

    由于Maven在使用时非常简单,比如下面是百度百科中对Maven常用命令的列表: mvn archetype:create 创建Maven项目 mvn compile 编译源代码 mvn deploy ...

  6. 怎样在xcode5中使用低版本sdk,解决兼容ios7ui问题

    问题 令人头疼的是,xcode每次升级都会使用最新版本的sdk,而且只有最新版本的sdk,对之前老版本的sdk都没有默认安装,这搞的最近我很头疼, 最近我升级到Xcode5.0版本,编译后运行后,在i ...

  7. C#编程(四十)----------运算符重载

    运算符重载 所谓的运算符重载是指允许用户使用用户定义的类型编写表达式的能力. 例如,通常需要编写类似与以下内容的代码,入江两个数字相加,很明显,sum是两个数字之和. int i=5,j=4; int ...

  8. 【docker】【Gitlab】gitlab中clone项目时,IP地址是一串数字(内网Gitlab的IP地址不正确)的问题解决

    首次在内网搭建Gitlab环境,在成功后在Gitlab上新建了一个项目. 然而在IDEA上clone项目时发现,项目地址如下: git@0096ce63c43f:root/jump.git 或者这样 ...

  9. java高分局之jstat命令使用(转)

    转自:http://blog.csdn.net/h_025/article/details/52813817 java高分局之jstat命令使用 jstat命令可以查看堆内存各部分的使用量,以及加载类 ...

  10. 黑帆第四季/全集Black Sails迅雷下载

    本季看点:<黑帆>本剧是著名海盗故事<金银岛>(Treasure Island)的前传.Starz宣布<Black Sails>已提前获得第四季续订,第四季10集和 ...