美文网首页机器学习程序猿日记程序员
吾爱NLP(1)--我与自然语言处理

吾爱NLP(1)--我与自然语言处理

作者: 流川枫AI | 来源:发表于2017-06-13 23:00 被阅读423次

0、自然语言处理--NLP

0.1 数字、文本、语言

"数字、文字和自然语言处理一样,都是信息的载体,数字与语言的产生都是为了同一个目的----记录和传播信息。"
--《数学之美》

文字只是信息的载体,而非信息本身,那么不用文字,而用其它的载体(比如word2vec形式的词向量)是否一样可以储存同样意义的信息呢?这个答案是肯定的,这也是现在通信技术的基础,如果想让计算机来处理我们的人类语言、文本数据,首要的就是换一种数据的载体(表示形式)---数值化。


任何一种语言都是一种对信息进行编码的方式,而语言的语法规则就是编解码的算法,这就是语言的数学本质。

0.2 什么是自然语言处理?

自然语言处理NLP (Natural Language Processing)是研究人与计算机交互的语言问题的一门学科,自然语言处理的关键是要让计算机“理解”自然语言,是人工智能(AI)的一个核心子领域之一。

自动翻译 语义助手

自然语言处理=文本处理+机器学习。自然语言处理技术主要是让机器理解人类的语言的一门领域。在自然语言处理技术中,大量使用了编译原理相关的技术,例如词法分析,语法分析等等,除此之外,在理解这个层面,则使用了语义理解,机器学习等技术。作为唯一由人类自身创造的符号,自然语言处理一直是机器学习界不断研究的方向。按照百度机器学习专家余凯的说法“听与看,说白了就是阿猫和阿狗都会的,而只有语言才是人类独有的”。如何利用机器学习技术进行自然语言的的深度理解,一直是工业和学术界关注的焦点。

1、语言模型

宏观上:语言模型是根据语言客观事实而进行的语言抽象数学建模,是一种对应关系。语言模型与语言客观事实之间的关系,如同数学上的抽象直线与具体直线之间的关系。

简单说,语言模型就是用来计算一个句子的概率的模型。
利用语言模型,可以确定哪个词序列的可能性更大,或者给定若干个词,可以预测下一个最可能出现的词语。
按照语言模型的演进历史,大体可分为三类:文法型语言模型、统计语言模型、神经概率语言模型。

下面偷个懒,哈哈,直接从我做论文分享时的做的PPT里粘贴出来:

n-gram语言模型的应用非常广泛,最早期的应用是语音识别、机器翻译等问题。哈尔滨工业大学王晓龙教授最早将其应用到音字转换问题,提出了“语句级拼音输入法”,后来该技术转让给微软,也就是后来的微软拼音输入法。从windows95开始,系统就会自动安装该输入法,并在以后更高版本的windows中和Office办公软件都会集成最新的微软拼音输入法。n年之后,各个输入法的新秀(如搜狗和谷歌)也都采用了n-gram技术。

基于神经网络的语言模型
Bengio 在 2003 年提出的神经概率语言模型(Neural Probabilistic Language Model, NPLM)是影响较大的基于神经网络的语言模型1。其模型思想其实和 N-gram 语言模型还是同出一源,即基于 N-1 阶马尔可夫假设,认为句子中某个词是由其前面的 N-1 个词决定的。模型使用的网络结构如下图所示。
这个模型将 N-1 个词的表示拼接起来作为输入,然后去预测下一个词最有可能是哪个。输出层会是一个很大的向量,每一维的值就是每一个可能的词的条件概率,这样要计算一个句子的概率也就没问题了。

**这样基于神经网络的语言模型有什么好处呢? **

  • N-gram 需要显式存储每个 N-gram 的内容和概率,于是模型体积会随着语料的扩充而膨胀,但 NPLM 没有这个问题。
  • N-gram 需要应用各种平滑方法来解决零概率问题,但 NPLM 不存在这个问题,即使是语料中没出现的 N-gram ,依然能给出非 0 的概率值。
  • 模型中会学习一个固定长度的向量来表示一个词,且向量中各维度的值都是连续实值而非离散的 0/1 ,此即词向量「Word Embedding」的较早形式。

2、文末总结

理解各种语言模型,是理解计算机如何处理语言、文本等信息的基础,在NPLM模型中,我们也提到了词向量,这里后续深度学习技术能够应用到自然语言处理中来的一个重要的理论基础,在学习深度学习在NLP中大展神威之前我们首先需要系统的了解词向量的由来以及常用的表示形式,还有一个非常重要的获取词向量的工具---word2vec,它的理论来源可以理解为是作者Tomas Mikolov对NLPM模型的延伸拓展。
有时间的话,我会继续从词向量-->word2vec-->doc2vec-->文本分类-->......的流程继续往下写,这也是我入门NLP时的学习路线。

相关文章

网友评论

  • 992134d3a7cd:请问截图是那本书里的?总感觉市面上NLP的教材太少里
    流川枫AI:@尼大玛 我:sweat_smile:也没看过质量比较好的nlp教材,都是为了解决某个具体的特定问题来学习的,也就是以问题为导向,没有一个教材会教你解决一个具体的问题,而且深度学习的新方法层出不穷,教材很难有这么好的实效性…
    992134d3a7cd:请问有没有好的教材推荐呢?我现在看公开课,细节就搜索blog看,感觉很零散
    流川枫AI:@尼大玛 截图里没有书啊:joy:都是截的以前我自己做分享的PPT
  • 人生的印记:感谢作者大大的分享。
    最近在看神经概率语言模型,有一个疑问想请教您。
    把一个词w的前面n-1个词的词向量作为输入,然后输出是softmax后的所有词表的一个概率分布。
    这个分布和这个词w产生关系吗?这个词和前面n-1个词的关系如何建立?
    用对数极大似然求解优化,我老感觉没有建立该词和前n-1个词的关系。
    请您有时间的话能解答一下我的疑惑,万分感谢:smile:
    流川枫AI:@人生的印记 你可以把这个过程看作是一个分类吧,词w是标签y,前n-1个是x,优化目标函数是条件概率,用最大思然估计优化,整个softmax输出的概率分布就是整个字典…
  • Krystal_YI:继续啊
    流川枫AI:@Krystal_YI 研究生要毕业了
    Krystal_YI:@流川枫AI 你在读博士吗?我现在也在做nlp相关的,后悔之前看少了,可能和我现在差的很像吧,我觉得你博客很多干货啊,呵呵,坐等更新
    流川枫AI:@Krystal_YI 太忙了,写成博客太耗时间:joy:日常只整理到本地笔记,等到写完毕业论文,然后再发文悼念一下学生时代吧的终结吧

本文标题:吾爱NLP(1)--我与自然语言处理

本文链接:https://www.haomeiwen.com/subject/lajjqxtx.html