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. Codeforces Round #370 (Div. 2) C. Memory and De-Evolution 水题

    C. Memory and De-Evolution 题目连接: http://codeforces.com/contest/712/problem/C Description Memory is n ...

  2. phpexcel错误 You tried to set a sheet active by the out of bounds index: 1解决办法

    $objPHPExcel->createSheet($k);

  3. j.u.c系列(06)---之锁条件:Condition

    写在前面 在没有Lock之前,我们使用synchronized来控制同步,配合Object的wait().notify()系列方法可以实现等待/通知模式.在Java SE5后,Java提供了Lock接 ...

  4. Using an LPC-Link2 as an LPC4370 evaluation board

    https://www.lpcware.com/content/faq/lpcxpresso/using-lpclink2-as-lpc4370-eval As well as being a sta ...

  5. 初探C++类模版学习笔记

    类模板 实现:在定义类的时候给它一个或多个參数,这个些參数表示不同的数据类型.                              -->抽象的类. 在调用类模板时, 指定參数, 由编译系 ...

  6. JAVA 对象序列化(二)——Externalizable

    Java默认的序列化机制非常简单,而且序列化后的对象不需要再次调用构造器重新生成,但是在实际中,我们可以会希望对象的某一部分不需要被序列化,或者说一个对象被还原之后,其内部的某些子对象需要重新创建,从 ...

  7. leetcode第一刷_Unique Binary Search Trees

    这道题事实上跟二叉搜索树没有什么关系,给定n个节点,让你求有多少棵二叉树也是全然一样的做法.思想是什么呢,给定一个节点数x.求f(x),f(x)跟什么有关系呢,当然是跟他的左右子树都有关系.所以能够利 ...

  8. Revit API画垂直于风管的风管

    start /// <summary> /// 选择风管与风管外一点,画与风管垂直的风管. /// </summary> [Transaction(TransactionMod ...

  9. 基于开源SuperSocket实现客户端和服务端通信项目实战

    一.课程介绍 本期带给大家分享的是基于SuperSocket的项目实战,阿笨在实际工作中遇到的真实业务场景,请跟随阿笨的视角去如何实现打通B/S与C/S网络通讯,如果您对本期的<基于开源Supe ...

  10. 使用Axure RP原型设计实践02,自定义部件以及熟悉与部件相关面板

    本篇体验在Axure中自定义部件,并熟悉Widget Interations and Notes面板,Widget Properties and Style面板,Widget Manager面板. 在 ...