
- 缩 写
- NLP
- 适用领域
- 计算机、人工智能
- 中文名
- 自然语言处理
- 外文名
- natural language processing
-
自然语言处理
2019-06-15 12:30:21导言自然语言处理是计算机科学、信息工程和人工智能的一个子领域,涉及计算机和人类语言之间的交互,通过计算机进行编程来处理和分析大量自然语言数据。1NaturalLangu...导言
自然语言处理是计算机科学、信息工程和人工智能的一个子领域,涉及计算机和人类语言之间的交互,通过计算机进行编程来处理和分析大量自然语言数据。
1Natural Language Processing(NLP) = Computer Science + AI + Computational Linguistics
换言之,自然语言处理是计算机软件理解人类语言的能力,它是人工智能的组成部分部分之一。
自然语言处理如理解人类语言的能力、理解匹配单词的同义词、语音识别、语音翻译,以及编写完整的、语法正确的句子和段落。
自然语言处理在各个领域的应用如下:
机器翻译
可用的信息量在互联网上不断增长,机器翻译通过以较低的成本翻译技术手册、支持内容或目录,帮助我们克服经常遇到的语言障碍。机器翻译技术面临的主要挑战不是翻译单词,而是理解句子的含义以提供准确的翻译。
自动摘要
它将较大的文本缩小为较短的,但却构成了原始文档的缩写叙述表示。它从大量的文字中提取关键词,创建整篇文章的摘要。当我们需要从庞大的知识数据集中访问特定的、重要的信息时,信息过载才是我们面临的一个真正的问题。自动摘要不仅能够总结文档、信息的含义,而且对于理解数据内部的情感意义也起着非常重要的作用,例如从社交网站收集信息或数据。自动摘要主要用于提供新闻项目或博客的摘要,避免来自多个网站的重复内容,并且最大化的获取内容的不同之处。
情绪分析
情绪分析的目的是识别帖子或评论之间的情绪。许多跨国公司正在使用自然语言处理应用程序来检测互联网上的观点和情绪,以帮助他们了解客户对其产品和服务的看法,从而判断产品的口碑。除了能够进行简单的情绪分析之外,还能理解上下文中的情绪,以帮助我们更好的理解表达意见背后的内容,这个分析结果能够判断用户是否想要购买,它主要用于支持公司分析产品的大量评价信息,帮助顾客处理针对产品的评论。
文本分类
通过对文档、文本的分类,可以将预定义的类别分配给文档,并对其进行组织,以便帮助我们查找所需要的信息或简化某些活动。例如,文本分类的应用是电子邮件中的垃圾邮件过滤。
语音处理
文本到语音:它将电子文本转换为数字语音,这有助于聋哑人社会;
语音到文本:它将数字语音转换为文本;
自动语音识别:将语音内容自动转录为电子文本;
语音翻译:实时或离线将口语内容从一种语言翻译成另一种语言;
图像标题
图像字幕是生成图像的文本描述过程,它使用自然语言处理和计算机视觉来生成字幕。
信息提取
信息提取是从信息资源集合中获取与信息需求相关的系统资源的方式。搜索可以基于全文或其他内容的索引。信息提取是在文档中搜索信息、搜索文档本身,以及搜索描述数据的元数据以及文本、图像或声音数据库的科学。
例如:从电子邮件中提取核心内容
“我决定明天上午10点在实验室见面。
做什么:见面会
什么时间:上午10点
地点:实验室”
信息检索
信息检索涉及返回一组文档以响应用户查询。互联网搜索引擎使用信息检索系统,根据文档对他们的链接数量(例如Google的PageRank)以及搜索项的存在来对文档进行排名的方法。
搜索引擎和语义Web搜索
网络搜索引擎是设计用于在因特网上搜索信息的软件应用程序。搜索结果通常以一系列结果呈现,通常称为搜索引擎结果页面(SERP)。语义Web搜索引擎是用于查找需要合理语义的应用程序:查询通常被编写为自然语言关键字,其结果将被排序。
问题回答
它试图从一组文档或包含答案的短文本中找到特定问题的特定答案。例如,印度的首都是哪里?
协作过滤
在电子商务网站上根据用户行为提出建议的技术,从您的历史搜索记录向您推荐。
其他领域的自然语言处理
除了上述应用之外,还有一些其他领域使用自然语言处理,如下所示,
政治
电子政务
生物医药
法医学
业务发展
营销
广告
教育
自然语言处理的体系结构
自然语言处理系统的输入可以是语音或文本,它可以是一种手势(多模式输入或可能是手语)。
词汇和形态分析
语言是由词汇组成,包括词语和表达。形态学描绘了对单词结构的分析、识别和描述。词法分析涉及将文本分为段落、单词和句子。
句法分析
语法侧重于单词的正确排序及其对意义的影响。这侧重于分析句子的单词来描述句子的语法结构。这些单词被转换成一个结构,显示这些单词是如何相互关联的。例如“男孩们去学校。”这句话将被英语句法分析器拒绝。
语义分析
语义学着重于单词,句子和短语的含义。这从字典中抽象出字典含义或确切含义。由句法分析器创建的结构被赋予意义实例,“多彩的蓝色想法。”这个句子将被分析器拒绝,因为彩色蓝色没有任何意义。
话语整合
它找出了上下文的意义。任何单个句子的含义取决于它之前的句子,并且还会调用其后面的短语的含义。例如“她想要它”中的单词“it”取决于先前的话语语境。
语用分析
语用学涉及整个的交际和社会背景及其对解释的影响。它意味着在情境中抽象或推导出有目的的使用语言,重要的是需要世界知识的语言。主要关注的是重新诠释的内容。
例如,“关闭窗口?”应该被解释为请求而不是订单
自然语言处理的组成部分
自然语言处理的重要组成部分如下:
输入预处理:语音/手势识别器或文本预处理器
形态分析
语音标记
解析 - 这包括语法和组合语义
消歧:它可以作为解析的一部分来完成
上下文模块:它维护有关上下文的信息
文本计划:语言生成的一部分/传达的意义
战术生成:它将意义表示转换为字符串。
形态生成
输出处理:文本到语音,文本格式等。
使用NLTK进行自然语言处理
自然语言工具包,即NLTK是最受欢迎的自然语言处理库之一,非常容易学习,它是用Python编写的,其背后有一个很大的社区。
长按二维码 ▲
订阅「架构师小秘圈」公众号
如有启发,帮我点个在看,谢谢↓
-
自然语言处理NLP中的N-gram模型
2018-05-07 21:00:03自然语言处理NLP中的N-gram模型 自然语言处理NLP中的N-gram模型 Naive Bayes N-gram N-gram简介 N-gram中的概率计算 N-gram的用途 用途一:词性标注 用途二:垃圾短信分类 用途三:分词器 用途四:机器翻译和...自然语言处理NLP中的N-gram模型
Naive Bayes
首先我们复习一下一个非常基本的模型,朴素贝叶斯(Naive Bayes)。朴素贝叶斯的关键组成是贝叶斯公式与条件独立性假设。为了方便说明,我们举一个垃圾短信分类的例子。
**"在家日赚百万,惊人秘密..."** 上面这句话抄自我手机中的一条垃圾短信,自从去过澳门,手机就时不时收到这样的关于赌场的短信。朴素贝叶斯模型就是要衡量这句话属于垃圾短信敏感句子的概率,我们以前半句为例:
由条件独立性假设:
上面每一项条件概率都可以通过在训练数据的垃圾短信中统计每个字出现的次数得到,然而这里有一个问题,朴素贝叶斯将句子处理为一个**词袋模型(Bag-of-Words, BoW)**,以至于不考虑每个单词的顺序。这一点在中文里可能没有问题,因为有时候即使把顺序捣乱,我们还是能看懂这句话在说什么,但有时候不行,例如:**我烤面筋 = 面筋烤我 ?** 那么有没有模型是考虑句子中单词之间的顺序的呢?有,N-gram就是。
N-gram
N-gram简介
在介绍N-gram之前,让我们回想一下**“联想”**的过程是怎样发生的。如果你是一个玩LOL的人,那么当我说“正方形打野”、“你是真的皮”,“你皮任你皮”这些词或词组时,你应该能想到的下一个词可能是“大司马”,而不是“五五开”。如果你不是LOL玩家,没关系,当我说“上火”、“金罐”这两个词,你能想到的下一个词应该更可能“加多宝”,而不是“可口可乐”。
N-gram正是基于这样的想法,它的第一个特点是某个词的出现依赖于其他若干个词,第二个特点是我们获得的信息越多,预测越准确。我想说,我们每个人的大脑中都有一个N-gram模型,而且是在不断完善和训练的。我们的见识与经历,都在丰富着我们的阅历,增强着我们的联想能力。N-gram模型是一种语言模型(Language Model,LM),语言模型是一个基于概率的判别模型,它的输入是一句话(单词的顺序序列),输出是这句话的概率,即这些单词的联合概率(joint probability)。
N-gram本身也指一个由个单词组成的集合,各单词具有先后顺序,且不要求单词之间互不相同。常用的有 Bi-gram () 和 Tri-gram (),一般已经够用了。例如在上面这句话里,我可以分解的 Bi-gram 和 Tri-gram :
Bi-gram : {I, love}, {love, deep}, {love, deep}, {deep, learning}
Tri-gram : {I, love, deep}, {love, deep, learning}
N-gram中的概率计算
假设我们有一个由个词组成的句子,如何衡量它的概率呢?让我们假设,每一个单词都要依赖于从第一个单词到它之前一个单词的影响:
是不是很简单?是的,不过这个衡量方法有两个缺陷:- 参数空间过大,概率 的参数有 个。
- 数据稀疏严重,词同时出现的情况可能没有,组合阶数高时尤其明显。
为了解决第一个问题,我们引入马尔科夫假设(Markov Assumption):一个词的出现仅与它之前的若干个词有关。
- 如果一个词的出现仅依赖于它前面出现的一个词,那么我们就称之为 Bi-gram:
- 如果一个词的出现仅依赖于它前面出现的两个词,那么我们就称之为 Tri-gram:
N-gram的 可以取很高,然而现实中一般 bi-gram 和 tri-gram 就够用了。
那么,如何计算其中的每一项条件概率 呢?答案是**极大似然估计(Maximum Likelihood Estimation,MLE)**,说人话就是数频数:
具体地,以Bi-gram为例,我们有这样一个由三句话组成的语料库:
容易统计,“I”出现了3次,“I am”出现了2次,因此能计算概率:
同理,还能计算出如下概率:
另外再提供一个《Language Modeling with Ngrams》中的例子,Jurafsky et al., 1994 从加州一个餐厅的数据库中做了一些统计:
据统计,,,于是:
我们算出了“I want chinese food”这句话的概率,但有时候这句话会很长,那么概率(都是小于1的常数)的相乘很可能造成数据下溢(downflow),即很多个小于1的常数相乘会约等于0,此时可以使用log概率解决。
N-gram的用途
用途一:词性标注
N-gram可以实现词性标注。例如“爱”这个词,它既可以作为动词使用,也可以作为名词使用。不失一般性,假设我们需要匹配一句话中“爱”的词性。
我们可以将词性标注看成一个多分类问题,按照Bi-gram计算每一个词性概率:
选取概率更大的词性(比如动词)作为这句话中“爱”字的词性。
用途二:垃圾短信分类
文章开头提到的那个垃圾短信分类问题,我们可以用N-gram来解决。在朴素贝叶斯的基础上,稍微对条件概率做一点改动即可。
条件概率不再是各词语之间独立:
垃圾短信分类问题可以总结为以下三个步骤:
- 步骤一:给短信的每个句子断句。
- 步骤二:用N-gram判断每个句子是否垃圾短信中的敏感句子。
- 步骤三:若敏感句子个数超过一定阈值,认为整个邮件是垃圾短信。
用途三:分词器
在NLP中,分词的效果很大程度上影响着模型的性能,因此分词甚至可以说是最重要的工程。用N-gram可以实现一个简单的分词器(Tokenizer)。同样地,将分词理解为多分类问题: 表示有待分词的句子, 表示该句子的一个分词方案。
三个概率中,“我爱”可能在语料库中比较常见,因此会比较大,然而“我爱深”这样的组合比较少见,于是和都比较小,导致比和都大,因此第三种分词方案最佳。
用途四:机器翻译和语音识别
机器翻译
同一句话,可能有多种翻译方式,它们的区别仅在于单词的组合顺序,这时候使用N-gram分别计算各种情况的概率,选最大的那个即可。
语音识别
同一种发音,可能被解析成不同的句子,然而其中有一种更符合语法规则。
N-gram中N的确定
为了确定的取值,《Language Modeling with Ngrams》使用了 Perplexity 这一指标,该指标越小表示一个语言模型的效果越好。文章使用了华尔街日报的数据库,该数据库的字典大小为19,979,训练集包含 38 million 个词,测试集包含 1.5 million 个词。针对不同的N-gram,计算各自的 Perplexity。
结果显示,Tri-gram的Perplexity最小,因此它的效果是最好的。那么越大是否越好呢?
N-gram中的数据平滑方法
上面提到,N-gram的越大,模型 Perplexity 越小,表示模型效果越好。这在直观意义上是说得通的,毕竟依赖的词越多,我们获得的信息量越多,对未来的预测就越准确。然而,语言是有极强的创造性的(Creative),当变大时,更容易出现这样的状况:某些n-gram从未出现过,这就是稀疏问题。
n-gram最大的问题就是稀疏问题(Sparsity)。例如,在bi-gram中,若词库中有20k个词,那么两两组合()就有近2亿个组合。其中的很多组合在语料库中都没有出现,根据极大似然估计得到的组合概率将会是0,从而整个句子的概率就会为0。最后的结果是,我们的模型只能计算零星的几个句子的概率,而大部分的句子算得的概率是0,这显然是不合理的。
因此,我们要进行数据平滑(data Smoothing),数据平滑的目的有两个:一个是使所有的N-gram概率之和为1,使所有的n-gram概率都不为0。它的本质,是重新分配整个概率空间,使已经出现过的n-gram的概率降低,补充给未曾出现过的n-gram。
拉普拉斯平滑
Add-one
拉普拉斯平滑,即强制让所有的n-gram至少出现一次,只需要在分子和分母上分别做加法即可。这个方法的弊端是,大部分n-gram都是没有出现过的,很容易为他们分配过多的概率空间。
Add-K
在Add-one的基础上做了一点小改动,原本是加一,现在加上一个小于1的常数。但是缺点是这个常数仍然需要人工确定,对于不同的语料库可能不同。
内插与回溯
内插
**内插法(Interpolation)**有点像滑动平均,它的核心思想是,既然高阶组合可能出现次数为0,那稍微低阶一点的组合总有不为0的。如下是一个三阶组合,假设,而且,则加权平均后的概率不为0,从而达到平滑的效果。
回溯
**回溯法(backoff)**与内插有点像,只是它会尽可能地用最高阶组合计算概率,当高阶组合不存在时,退而求其次找次低阶,直到找到非零组合为止。参考下式,这是一个递归运算。
Absolute Discounting
Church & Gale (1991) 取了个巧,他们在训练集里找到一些出现次数为的bi-gram,然后在留出集(held-out)中统计它们的出现次数,平均下来发现约等于3.23。接着他们继续统计其他的,发现除了0和1外,基本上留出集bi-gram的出现次数等于训练集出现次数减去0.75。
因此,他们提出直接在分子上减去一个常数,然后在后面加上一项保证概率求和为1。此处。
Kneser-Ney Smoothing
考虑这样一个填空:
**I can't see without my ( )** 一个完形填空题,正常来说,我们可能会填入**“glasses”这个词,意思是“我不戴眼镜就看不到东西”。那么,考虑上面提到的内插模型:
这个模型很可能会在这个空里填上“Kong”这个词,是不是觉得很奇怪?因为语料库里,“Hong Kong”** 这个词组是高频词汇,以至于这一项的概率会跟高,而**“glasses”是低频词,相应的概率较低,于是模型就填上了“Kong”**,在我们看来这显然是不合理的,但在模型看来却是合理的选择。
为了解决这个问题,Kneser and Ney (1995) , Chen and Goodman(1998) 提出,修改这个 ,具体来说,是要求它与“以为结尾的bi-gram的集合的势正相关的变量”,以表征这个单词作为一个新的接续的可能性(即作为其他单词的下一个词的可能性)。
以Bi-gram为例,实际上就是用下面这个代替原来的,所谓集合的势其实是要求集合中的元素互不相同后取集合的大小,其意义就是:语料库有多少种不同的以结尾的bi-gram。
作为概率,需要进行归一化:
那么,为什么这样改过之后就能有效解决 偏大的问题呢?根据 的定义,我们去统计语料库中以“Kong”结尾的bi-gram,然后发现只有“Hong Kong”一个,于是 就比较小了,而 “glasses”,可能有“sun glasses”,“reading glasses”等,相比“Hong Kong”这个专有名词肯定会更多。因此,问题得到解决。
Kneser-Ney Smoothing的本质是改进Unigram概率,像上文提到的其他用到这个概率的平滑方法,也可以代入这个概率,比如Absolute Discounting就变成:
N-gram对训练数据集的要求
关于N-gram的训练数据,如果你以为**“只要是英语就可以了”,那就大错特错了。文献《Language Modeling with Ngrams》**的作者做了个实验,分别用莎士比亚文学作品,以及华尔街日报作为训练集训练两个N-gram,他认为,两个数据集都是英语,那么用他们生成的文本应该也会有所重合。然而结果是,用两个语料库生成的文本没有任何重合性,即使在语法结构上也没有。
这告诉我们,N-gram的训练是很挑数据集的,你要训练一个问答系统,那就要用问答的语料库来训练,要训练一个金融分析系统,就要用类似于华尔街日报这样的语料库来训练。
N-gram的进化版:NNLM
NNLM 即 Neural Network based Language Model,由Bengio在2003年提出,它是一个很简单的模型,由四层组成,输入层、嵌入层、隐层和输出层。模型接收的输入是长度为的词序列,输出是下一个词的类别。首先,输入是单词序列的index序列,例如单词 I 在字典(大小为)中的index是10,单词 am 的 index 是23, Bengio 的 index 是65,则句子“I am Bengio”的index序列就是 10, 23, 65。嵌入层(Embedding)是一个大小为的矩阵,从中取出第10、23、65行向量拼成的矩阵就是Embedding层的输出了。隐层接受拼接后的Embedding层输出作为输入,以tanh为激活函数,最后送入带softmax的输出层,输出概率。
NNLM最大的缺点就是参数多,训练慢。另外,NNLM要求输入是定长,定长输入这一点本身就很不灵活,同时不能利用完整的历史信息。
NNLM的进化版:RNNLM
针对NNLM存在的问题,Mikolov在2010年提出了RNNLM,其结构实际上是用RNN代替NNLM里的隐层,这样做的好处包括减少模型参数、提高训练速度、接受任意长度输入、利用完整的历史信息。同时,RNN的引入意味着可以使用RNN的其他变体,像LSTM、BLSTM、GRU等等,从而在时间序列建模上进行更多更丰富的优化。
论文给的模型结构图不多,这里就不放出来了,有兴趣可以直接去读论文。另外,RNNLM有开源的工具包,自行编译后得到可执行文件,可在命令行中直接使用。
Word2Vec
Word2Vec解决的问题已经和上面讲到的N-gram、NNLM等不一样了,它要做的事情是:学习一个从高维稀疏离散向量到低维稠密连续向量的映射。该映射的特点是,近义词向量的欧氏距离比较小,词向量之间的加减法有实际物理意义。Word2Vec由两部分组成:CBoW和Skip-Gram。其中CBoW的结构很简单,在NNLM的基础上去掉隐层,Embedding层直接连接到Softmax,CBoW的输入是某个Word的上下文(例如前两个词和后两个词),Softmax的输出是关于当前词的某个概率,即CBoW是从上下文到当前词的某种映射或者预测。Skip-Gram则是反过来,从当前词预测上下文,至于为什么叫Skip-Gram这个名字,原因是在处理过程中会对词做采样。
Word2Vec这个内容比较丰富,这里只做一点概括性的描述,以后应该会再专门写一个博客。
参考资料
【博客】一周论文 | Word2Vec 作者Tomas Mikolov 的三篇代表作
【博客】word2vector:NPLM、CBOW、Skip-gram
【博客】大白话讲解word2vec到底在做些什么
【博客】Deep Learning in NLP (一)词向量和语言模型
【博客】word2vec前世今生
【博客】Hinton神经网络公开课编程题2–神经概率语言模型(NNLM)
【博客】神经网络语言模型(NNLM)
【博客】NLP系列(2)_用朴素贝叶斯进行文本分类(上)
【博客】NLP系列(5)_从朴素贝叶斯到N-gram语言模型
【博客】语言模型系列之N-Gram、NPLM及Word2vec
【博客】OpenNLP ngram n元语法模型(简介)
【博客】关于N-Gram模型(例子很好)
【博客】自然语言处理中的N-Gram模型详解
【博客】Deep Learning 读书笔记(十二):A Neural Probabilistic Language Model
【博客】Recurrent Neural Network Based Language Model(RNNLM)原理及BPTT数学推导
【博客】RNNLM的使用方法
【斯坦福课程】Speech and Language Processing
【NNLM论文】A Neural Probabilistic Language Models
【RNNLM论文】Statistical Language Models Based on Neural Networks
【开源】RNNLM Toolkit -
重磅!15套免费的自然语言处理NLP课程及经典教材分享!
2020-03-01 22:34:311、自然语言处理圣经---《自然语言处理综论》2、视频课程《深度学习与自然语言处理-2018》3、Natural Language Processing (NLP)4、吴恩达经典课程 - Machine Learning —Coursera5、斯坦福 Natural Language ...文章目录
- 15套免费的NLP课程及经典教材分享!
- 1、自然语言处理圣经---《自然语言处理综论》
- 2、视频课程《深度学习与自然语言处理-2018》
- 3、Natural Language Processing (NLP)
- 4、吴恩达经典课程 - Machine Learning —Coursera
- 5、斯坦福 Natural Language Processing with Deep Learning
- 6、Coursea免费课程 - Sequence Models for Time Series and Natural Language Processing
- 7、免费课程《深度自然语言处理》- Hilary Term 2017 at the University of Oxford
- 8、免费课程《基于Python的自然语言处理基础课程》- Datacamp
- 9、 Coursera免费课程《自然语言处理》- Higher School of Economics
- 10、 Coursera免费课程《不需要写代码如何搭建Chatbot》- IBM
- 11、 CS 388 -《自然语言处理》- University of Texas
- 12、 书籍《基于Python的自然语言处理》
- 13、 视频课程自然语言处理 - University of Washington
- 14、Dan Jurafsky & Chris Manning: Natural Language Processing
- 15、 NATURAL LANGUAGE PROCESSING - Carnegie Mellon University
15套免费的NLP课程及经典教材分享!
1、自然语言处理圣经—《自然语言处理综论》
Dan Jurafsky and James Martin
https://web.stanford.edu/~jurafsky/slp3/2、视频课程《深度学习与自然语言处理-2018》
Richard Socher (Stanford University)
https://www.youtube.com/playlist?list=PL3FW7Lu3i5Jsnh1rnUwq_TcylNr7EkRe63、Natural Language Processing (NLP)
Microsofthttps://www.edx.org/course/natural-language-processing-3
4、吴恩达经典课程 - Machine Learning —Coursera
https://www.coursera.org/learn/machine-learning/home/welcome5、斯坦福 Natural Language Processing with Deep Learning
视频:https://www.youtube.com/playlist?list=PL3FW7Lu3i5Jsnh1rnUwq_TcylNr7EkRe6
课程资源:http://web.stanford.edu/class/cs224n/6、Coursea免费课程 - Sequence Models for Time Series and Natural Language Processing
7、免费课程《深度自然语言处理》- Hilary Term 2017 at the University of Oxford
http://www.cs.ox.ac.uk/teaching/courses/2016-2017/dl/8、免费课程《基于Python的自然语言处理基础课程》- Datacamp
https://www.datacamp.com/courses/natural-language-processing-fundamentals-in-python9、 Coursera免费课程《自然语言处理》- Higher School of Economics
https://www.coursera.org/learn/language-processing?10、 Coursera免费课程《不需要写代码如何搭建Chatbot》- IBM
https://www.coursera.org/learn/how-to-build-your-own-chatbot-without-coding11、 CS 388 -《自然语言处理》- University of Texas
https://www.cs.utexas.edu/~mooney/cs388/12、 书籍《基于Python的自然语言处理》
13、 视频课程自然语言处理 - University of Washington
https://courses.cs.washington.edu/courses/csep517/17sp/14、Dan Jurafsky & Chris Manning: Natural Language Processing
视频:https://www.youtube.com/playlist?list=PL8FFE3F391203C98C15、 NATURAL LANGUAGE PROCESSING - Carnegie Mellon University
-
汉语自然语言处理工具包下载
2017-07-03 15:22:47Python Windows10 汉语自然语言处理基本组件: 20170703 2018/01/16:Github长期更新,Windows,Linux通用展开全文 -
自然语言处理学习笔记1:自然语言处理介绍
2018-05-19 21:42:49给外行能看懂的科普:这就叫自然语言处理如何向文科同学科普自然语言处理(NLP)? 刘知远,NLPer前几年曾经马少平老师的引荐,为某科普图书写过一篇短文介绍自然语言处理。如果只是介绍NLP的概念、任务和挑战,... -
中文自然语言处理入门实战
2018-07-03 02:45:10本达人课,作为中文自然语言处理边学边实战的入门级教程,以小数据量的“简易版”实例,通过实战带大家快速掌握 NLP 在中文方面开发的基本能力。 本课程共包含 18 节。各小节之间并没有紧密耦合,但是整个内容还是... -
自然语言处理实战入门
2019-03-15 15:21:29随着人工智能的快速发展,自然语言处理和机器学习技术的应用愈加广泛。要想快速入门这些前沿技术总是存在着各种各样的困难,本教程力求为同学们对该领域整体概况有一个明晰的认识,并选择网络爬虫,汉语分词,可视化... -
【自然语言处理】论述自然语言处理的技术范畴
2018-11-05 00:11:43文章目录论述自然语言处理的技术范畴(基本全貌) 一、前言二、主要技术范畴1、语音合成(Speech Synthesis)2、语音识别(Speech Recognition)3、中文自动分词4、词性标注5、句法分析7、文本分类7、文本挖掘8、信息抽取9... -
从零开始自然语言处理
2019-08-07 14:38:22本课程隶属于自然语言处理(NLP)实战系列。自然语言处理(NLP)是数据科学里的一个分支,它的主要覆盖的内容是:以一种智能与高效的方式,对文本数据进行系统化分析、理解与信息提取的过程。通过使用NLP以及它的组件,... -
什么是自然语言处理,自然语言处理目前的应用有哪些?
2019-04-09 16:54:59自然语言处理大体包括了自然语言理解和自然语言生成两个部分,实现人机间自然语言通信意味着要使计算机既能理解自然语言文本的意义,也能以自然语言文本来表达给定的意图、思想等,前者称为自然语言理解,后者称为... -
自然语言处理入门
2019-07-28 19:57:36自然语言处理入门自然语言处理入门自然语言的概念自然语言的理解自然语言处理的概念自然语言处理的相关技术自然语言处理难点相关学习链接 自然语言处理入门 自然语言的概念 自然语言的理解 自然语言处理(NLP) ... -
重磅推荐!机器学习|深度学习|自然语言处理 学习数据/课程/资料/资源大分享!
2020-03-01 22:10:49自然语言处理(NLP)相关学习资料/资源 书籍推荐 自然语言处理方面 1. 统计自然语言处理(第2版) 作者:宗成庆 出版社:清华大学出版社 出版年:2013 页数:570 内容简介:系统地描述了神经网络之前的基于统计的... -
python自然语言处理实战pdf百度云-python自然语言处理
2020-11-11 14:41:10自然语言处理理论书籍很多,讲实际操作的不多,能讲的这么系统的更少。Python语言在做NLP方面有较明显的优势。之前国外有《Natural Language Process with Python》,国内热心网友将其翻译为中文版。从这个角度讲,... -
自然语言处理十大应用
2020-07-16 12:56:14自然语言处理是数据科学领域最热门的课题之一。公司在这一领域投入大量资金进行研究。每个人都在努力了解自然语言处理及其应用,并以此为生。 你知道为什么吗? 因为仅仅在短短几年的时间里,自然语言处理已经... -
自然语言处理(NLP)入门
2017-11-21 20:32:26本文简要介绍Python自然语言处理(NLP),使用Python的NLTK库。NLTK是Python的自然语言处理工具包,在NLP领域中,最常使用的一个Python库。什么是NLP?简单来说,自然语言处理(NLP)就是开发能够理解人类语言的应用程序... -
Tensorflow-自然语言处理
2018-04-01 09:52:29课程以Tensorflow作为机器学习的核心武器,基于自然语言处理热点话题进行案例实战。选择当下热门模型,使用真实数据集进行实战演示,通俗讲解整个算法模型并使用tensorflow进行实战,详解其中的原理与代码实现。 -
NPL自然语言处理
2019-09-08 14:34:24一、自然语言处理 自然语言处理(natural language processing,NLP)也称自然语言理解(natural language understanding,NLU),从人工智能研发的一开始,它就作为这一学科的重要研究内容探索人类理解自然语言这一... -
什么是自然语言处理,自然语言处理的技术优势和应用领域
2019-03-21 18:55:24自然语言处理定义: 自然语言处理是一门计算机科学、人工智能以及语言学的交叉学科。虽然语言只是人工智能的一部分(人工智能还包括计算机视觉等),但它是非常独特的一部分。这个星球上有许多生物拥有超过人类的... -
自然语言处理专题
2019-01-21 11:49:28NLP,全名 Natural Language Processing(自然语言处理)。从 1949 年的机器翻译设计方案到如今比尔盖茨认为“自然语言理解是人工智能皇冠上的明珠” ,NLP 成为了人工智能领域的重要战略目标。有读者曾留言问道... -
自然语言处理是什么,我们为什么需要处理自然语言?
2019-09-10 19:51:17什么是自然语言处理? 自然语言处理(NLP)是指机器理解并解释人类写作、说话方式的能力。 NLP的目标是让计算机/机器在理解语言上像人类一样智能。最终目标是弥补人类交流(自然语言)和计算机理解(机器语言)之间... -
Python自然语言处理-BERT模型实战
2019-10-21 21:54:40通俗讲解BERT模型中所涉及的核心知识点(Transformer,self-attention等),基于google开源BERT项目从零开始讲解如何搭建自然语言处理通用框架,通过debug源码详细解读其中每一核心代码模块的功能与作用。最后基于... -
自然语言处理Word2Vec视频学习教程
2017-06-21 22:39:12自然语言处理Word2Vec视频培训课程:自然语言处理中重要的算法,word2vec原理,词向量模型。教程从语言模型入手,详解词向量构造原理与求解算法。理论与实战结合,使用深度学习框架Tensorflow从零开始打造word2vec词... -
自然语言处理实战——LSTM情感分析
2018-06-22 16:26:12自然语言处理实战视频教程,自然语言处理中重要的算法,词向量模型。本课程从语言模型入手,详解词向量构造原理与求解算法。理论与实战结合, 基于深度学习主流框架Tensorflow实例演示如何用深度学习来进行文本分类...