NLP--自然语言处理与机器学习会议
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--自然语言处理与机器学习会议的更多相关文章
- NLP 自然语言处理实战
前言 自然语言处理 ( Natural Language Processing, NLP) 是计算机科学领域与人工智能领域中的一个重要方向.它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和 ...
- flask 第六章 人工智能 百度语音合成 识别 NLP自然语言处理+simnet短文本相似度 图灵机器人
百度智能云文档链接 : https://cloud.baidu.com/doc/SPEECH/index.html 1.百度语音合成 概念: 顾名思义,就是将你输入的文字合成语音,例如: from a ...
- 《转载》python/人工智能/Tensorflow/自然语言处理/计算机视觉/机器学习学习资源分享
本次分享一部分python/人工智能/Tensorflow/自然语言处理/计算机视觉/机器学习的学习资源,也是一些比较基础的,如果大家有看过网易云课堂的吴恩达的入门课程,在看这些视频还是一个很不错的提 ...
- 聊天机器人(chatbot)终极指南:自然语言处理(NLP)和深度机器学习(Deep Machine Learning)
在过去的几个月中,我一直在收集自然语言处理(NLP)以及如何将NLP和深度学习(Deep Learning)应用到聊天机器人(Chatbots)方面的最好的资料. 时不时地我会发现一个出色的资源,因此 ...
- NLP 自然语言处理
参考: 自然语言处理怎么最快入门:http://www.zhihu.com/question/ 自然语言处理简介:http://wenku.baidu.com/link?url=W6Mw1f-XN8s ...
- NLP 自然语言处理之综述
(1) NLP 介绍 NLP 是什么? NLP (Natural Language Processing) 自然语言处理,是计算机科学.人工智能和语言学的交叉学科,目的是让计算机处理或"理解 ...
- [NLP自然语言处理]谷歌BERT模型深度解析
我的机器学习教程「美团」算法工程师带你入门机器学习 已经开始更新了,欢迎大家订阅~ 任何关于算法.编程.AI行业知识或博客内容的问题,可以随时扫码关注公众号「图灵的猫」,加入”学习小组“,沙雕博主 ...
- NLP自然语言处理学习笔记二(初试)
前言: 用Python对自然语言处理有很好的库.它叫NLTK.下面就是对NLTK的第一尝试. 安装: 1.安装Pip 比较简单,得益于CentOS7自带的easy_install.执行一行命令就可以搞 ...
- NLP自然语言处理 jieba中文分词,关键词提取,词性标注,并行分词,起止位置,文本挖掘,NLP WordEmbedding的概念和实现
1. NLP 走近自然语言处理 概念 Natural Language Processing/Understanding,自然语言处理/理解 日常对话.办公写作.上网浏览 希望机器能像人一样去理解,以 ...
随机推荐
- 吴恩达-coursera-机器学习-week9
十五.异常检测(Anomaly Detection) 15.1 问题的动机 15.2 高斯分布 15.3 算法 15.4 开发和评价一个异常检测系统 15.5 异常检测与监督学习对比 15.6 选择特 ...
- Java_Certificates does not conform to algorithm constraints
java.security.cert.CertificateException: Certificates does not conform to algorithm constraints SSL证 ...
- ARM Cortex Design Considerations for Debug
JTAG was the traditional mechanism for debug connections for ARM7/9 parts, but with the Cortex-M fam ...
- lodoop打印控件详解
注意:使用此打印控件需要引入(在我上传的Demo中都有): install_lodop32.exe install_lodop64.exe LodopFuncs.js jquery-1.10.0.mi ...
- WebLogic使用总结(三)——WebLogic配置JNDI数据源
一.在WebLogic新建针对Oracle数据库的JNDI数据源 进入weblogic管理控制台,此处是远程访问:http://192.168.1.144:7001/console 点击左侧[ 域结构 ...
- 支持xp风格的manifest
MSDN 和一些网站上的manifest 有问题 , 自己修改了一下加上Microsoft.VC80.DebugCRT 和 Microsoft.VC80.DebugMFC 就可以了.如果是relea ...
- finger-guessing game:3增加猜拳次数及猜拳按钮显示
增加猜拳次数及猜拳按钮 //初始化引擎组件 init(50, "div_caiquan", 800, 400, main); //定义游戏层,加载进度层.游戏背景层,结果显示层,出 ...
- C# 连接Oracle数据库,免安装oracle客户端
一.方案1 首先下面的内容,有待我的进一步测试和证实.18.12.20 被证实了,还需要安装Oracle客户端,或者本机上安装oracle数据库软件. 18.12.20 1.下载Oracle.Mana ...
- 【多线程】java多线程实现生产者消费者模式
思考问题: 1.为什么用wait()+notify()实现生产者消费者模式? wait()方法可以暂停线程,并释放对象锁 notify()方法可以唤醒需要该对象锁的其他线程,并在执行完后续步骤,到了s ...
- POJ 1135 Domino Effect (Dijkstra 最短路)
Domino Effect Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 9335 Accepted: 2325 Des ...