为什么自然语言处理很难?

是很难,但是比自然语言处理的前二十年的进步已经好很多了,最近因为要研究人工智能自然语言处理方面的项目,所以一直在读有关的书籍,从数学的奥妙,统计学的理论、概率论等等。读了这么多的书,其实我发现,很多东西靠的还是你对基础的扎实程度。自然语言处理的前20年为什么会这么难,或者说毫无进展,讲的通俗一点就是人类的惯性思维决定了你的认识事物的方法。

在前20年,科学家研究自然语言处理一直停留在或者说局限在人类学习语言的方式上,简单来说,就是用电脑去模仿人脑,当时大多数的科学家都认为要让机器去翻译或者语音识别,就需要让计算机去理解我们的语言,而要做到这一点,就需要计算机具有像人类一样的智慧,这就是人类认识的普遍规律,我们也不要去笑话他们,因为唯有如此的试错,才造就了今天的成就。

如今语音识别和翻译已经做得非常的好了,但是很多不在我们这种机器学习研究领域的人来说,还错误的认为语音识别和翻译是靠计算机理解了自然语言才实现的,其实际上是靠数学和统计学去实现的。从规则到统计的进步是人类认识事物的一种突破,统计语言模型的建立,是当今自然语言处理的基础和关键,但是很多东西都会存在自己本身固有的缺陷,这是无法改变的。

自然语言处理怎么最快入门?

非科班出身,自学撸出中文分词库HanLP,在GitHub标星1.5万,成为最受欢迎的自然语言处理项目。他将学习经验总结成书《自然语言处理入门》,帮助小白快速入门NLP。针对题主的提问,HanLP自然语言处理类库的开发者何晗的经验很值得借鉴。截至 2019 年 11月初,HanLP项目在 GitHub Star 数达到了 15.6 K,超过了宾夕法尼亚大学的 NLTK、斯坦福大学的 CoreNLP。

贴上GitHub地址:https://github.com/hankcs/HanLP何晗在开发这款 NLP 工具包时,还是上海外国语大学一名日语专业的大二学生,HanLP项目脱胎他大学时接的一份兼职,何晗也因缘从一个非科班专业的小白逐步成长为NLP领域的专家。如今,正在攻读CS博士的他(研究方向:句法分析、语义分析与问答系统),结合自己的学习历程和HanLP的开发经验创作出版了《自然语言处理入门》一书,得到了周明、刘群、王斌等业内顶级 NLP 专家的推荐。

从着手开发HanLP,到HanLP达到工业使用的水准,何晗对自学NLP有深刻的见解。如果用一句话来总结,那就是:自顶而下,从工程去切入,由应用层往下面的基础层拓展,递归补充理论知识,才能事半功倍。以下入门NLP的建议,皆来自于何晗的经验,分享给像题主这样的初学者,希望能对大家有所启发。一、初学者,请避开自学NLP的常见误区有的初学者排斥基础理论——认为学校教的都是没用的,公司里都用不到;有的初学者对基础理论敬而远之——认为理论太高深了,自己基础不好,学了也白学;有的初学者,特别是已经工作的程序员,基本方向正确但学习路径错误,比较容易走极端:在工作很忙的情况下,只是抱着经典书籍苦啃,直到筋疲力尽项目也毫无进展,从而丧失了学习NLP的兴趣;或者,俗称调库小能手,跟风潮流,缺少理论基础,缺乏独立思考能力(比如,认为深度学习最牛,其他的基础理论都是垃圾;认为CNN/RNN/BERT会调参就行了)。

而实际上,自然语言处理是计算机科学、人工智能和语言学学科的交集,这三方面的学科知识都是需要储备的,基础理论的学习必不可少。但很多初学者都是在工作之后才入坑NLP,既难以静下心来啃书啃课,又缺少很好的老师传授知识经验。所以,有效可行的入门方式就是从工程切入,遵循这样的逻辑:延迟加载,只在使用的时候才去加载必要的资料:你首先看到的是一个摸得着的实际问题,为了解决该问题才去接触一个具体的方案;为了理解这个方案,才会引入必要的背景知识;为了实现这个方案,才会引入相关细节;为了克服这个方案的问题,才会过渡到新的方案。

二、想快速入门NLP,边学边做疗效好何晗入门NLP,读过的经典书有:《统计自然语言处理》(宗成庆 著)(对应语言学知识)、《统计学习方法》(李航 著)(对应人工智能知识),《挑战程序设计竞赛》(秋叶拓哉、盐田阳一、北川宜稔 著)(对应计算机算法知识)。不过,在看经典书籍的过程中,他发现,学习自然语言处理并不需要完全把这几本书看透,最好是可以边看书边做项目。

这些书都是非常牛的好书,然而可惜的是,看完书中的章节,不知该如何应用其中的知识点,即使实现了文章中提到的模型,也很难直接将其运用于工程项目。想必很多初学者都面临类似的学习困惑。为了解决这个问题,何晗动手写了《自然语言处理入门》,目的就是希望学习者看完一章后,便可以将知识点直接用于项目,适合NLP初学者入门并快速布置到生产环境中。

成效快,痛苦小,疑问少。何晗在《自然语言处理入门》一书中,以自己的HanLP开源项目为案例,代码对照公式讲解每一个算法每一个模型,让入门者带着工程思维理解NLP的知识要点,试图在目前市面上艰深晦涩的教科书和简单的入门书之间作出平衡。《自然语言处理入门》带领学习者从基本概念入手。逐步介绍中文分词、词性标注、命名实体识别、信息抽取、文本聚类、文本分类、句法分析这几个热门问题的算法原理和工程实现。

通过对多种算法的讲解和实现,比较各自的优缺点和适用场景。这些实现并非教学专用,而是生产级别的成熟代码,可以直接用于实际项目。在理解这些热门问题的算法后,这本书会引导学习者根据自己的项目需求拓展新功能,最终达到理论和实践上的同步入门。何晗认为,NLP的学习路径,应该尊重一般人的认知规律,而不是学术上的纲目顺序,以此为宗旨来编排图书的内容。

因此,面向普通程序员,这本书内容分为以下三大部分:第一部分介绍一些字符串算法,让普通程序员从算法的角度思考中文信息处理。第二部分由易到难地讲解一些常用的机器学习模型,让算法工程师晋级为机器学习工程师。由中文分词贯穿始终,构成一种探索式的递进学习。这些模型也并非局限于中文分词,会在第三部分应用到更多的自然语言处理问题上去。

第三部分新增了许多与文本处理紧密相关的算法,让机器学习工程师进化到自然语言处理工程师。特别地,最后一章介绍了当前流行的深度学习方法,起到扩展视野、承上启下的作用。学习者可根据自身情况,灵活跳过部分章节。何晗在自学过程中走过不少弯路,深知数学语言的艰深晦涩,并且痛恨罗列公式故作高深的文章,所以他在书中只保留了必不可少的公式和推导,并且公式与代码相互印证。

配套代码由Java和Python双语言写成,与GitHub上最新代码同步更新,所以你只要具备基本的编程经验,就可以跟随书本零起点入门。此外,何晗还总结出一份最为详尽的NLP ML“双生树”思维导图,导图中的关联知识点不仅涵盖NLP领域的核心知识,甚至涉及许多前沿研究和应用,印刷尺寸宽60cm,高74cm,随书附赠供学习者参考。

三、进阶NLP的学习资料和工具推荐推荐读这些经典书籍:多读论文,推荐用Google Scholar和Papers检索:克服语言障碍,推荐用欧路词典:追踪前沿动态,推荐NLP-progress,在各项NLP任务上的排行榜网址:https://nlpprogress.com/一个中肯的建议:NLP没有通用的解法,算法不够,语料来补算法不是万能的。

(想想:一两个百分点对实际业务有多少帮助,又增加了多少成本?)不要完全相信论文。(a. 不要相信不公开源代码的论文; b. 不要相信公开源代码但数据预处理作假的论文; c. 即使能跑出作者宣称的分数,请考虑:模型是否能泛化到你的行业领域? 又增加了多少成本?)语料极其重要。(a. 语料几乎可以把准确率提升到你期望的任何水准,只要数量质量足够; b. 目前通用语料几乎都是新闻,谁能标注出行业语料,谁就是大王; c. 深度学习时代,无标注的纯文本语料也大有用场; d. 软件工程2.0:用数据编程。

如何系统性地学习NLP自然语言处理?

自然语言处理(NLP)是人工智能领域从感知智能迈向认知智能领域最关键的技术之一。自然语言处理融合了语言学、计算机科学、人工智能等多种科学,最主要的目的是解决“让机器可以理解自然语言”的问题。要知道,认知智能到目前为止,都还只是我们人类独有的“特权”与技能,因此,被誉为人工智能皇冠上的明珠。如果想系统学习并掌握自然语言处理这一技能,在东方林语看来,需要我们从理论与实战两个维度同步努力才可以。

必须掌握的一些理论知识1.必须要掌握的一些数学基础知识具体来说主要包括:微积分、线性代数、概率论和统计学四大基础课程。尤其是需要掌握概率论、信息论、贝叶斯法则等这些最基本知识。2.必须的机器学习知识最优化模型是人工智能机器学习的“核心与灵魂”,几乎每个价值巨大的技术学习模型背后,本质上都是一个最优化模型。

科技抽象于生活,科技也是为了更好的服务生活。每个机器学习模型背后都是一个最优化问题。为了寻找这个世界里的最优解,我们需要掌握最大似然估计/最大后验估计、梯度下降法等基础知识。为了让机器可以像人一样思考,对机器学习、深度学习等框架,要有一个系统的了解。另外需要重点掌握逻辑回归/因子分解机,最大熵模型/条件随机变换场,主题模型、各种预训练模型等机器学习模型的相关概念、原理、优劣势、具体应用场景等相关内容。

必须掌握的一些实战知识1.大数据相关的一些基础知识具体包括Linux操作系统、分布式系统、Hadoop等计算机基础知识。2.围绕NLP相关知识,需要掌握的一些术语。具体包括如下术语与知识点:tf/df/idfIG/CHI/MIPageRank相似度计算3.系统了解搜索引擎是如何搭建的包括搜索引擎原理、搜索引擎架构、搜索引擎的核心模块等,并了解搜索引擎的最主要盈利模式,广告系统是如何搭建的。

4.了解如何让机器猜的更准为了让机器猜的更准,需要掌握几种关键的算法。比如:基于协同过滤的推荐算法基于内容的推荐算法混合推荐算法让机器理解人类的语言,是一件非常困难的事情。比如词法分析、句法分析、语义分析、知识库等,每个环节都很关键,任何一个环节机器“理解”不到位的话,就会“失之毫厘差之千里”。借助自然语言处理与知识图谱等这些人工智能领域的细分技术,实现从感知智能向认知智能的迈进。

人工智能自然语言处理,有哪些应用场景?

自然语言处理技术在 电力行业 的 应用分布具体应用案例如下:• 电网检测警报 传统的电网检测警报无法对在短时间内对发生的警报事件做出准确的判断。鉴于目前监测报警信息效率低的现状,人工智能技术为电网业务提供了有效的解决方案。首先,通过自然语言处理技术对报警信息文本的特征进行分析和整理,并做好预处理工作。

基于Word2vec模型对监视警报信息进行矢量化,最后,针对报警信息的特点,建立了基于LSTM和CNN组合的监控报警事件识别模型。该模型可以通过与多种识别模型的比较,以验证本文方法的可行性和有效性。• 智能电网检修问答系统 通过机器阅读理解技术将电网安规的文档进行读取和分析,然后把文档中的段落建索引。

电网维修人员可以通过自然语言问答的形式提出问题,并得到相关的答案指导。当维修人员向系统提问后,系统会先在索引里搜索相关段落,再从找到的段落中读出问题答案。搜索返回的是段落,系统将段落内容转精炼成回答短语,返回输出给维修人员。系统会理解文本内容,之后再抽取原文的一部分内容作为答案输出。系统依赖bert 模型预测出来文章当中哪一段能回答这个问题的概率最高。

(学术的阅读理解数据集上,人能做到86.8, 最好的模型做到88.6了)• 渠道客户偏好分析系统 对于渠道客户的管理是电网行业当中的一个重要环节。通过自然语言处理技术,可以有效的提高电力公司对渠道客户的管理工作。智能渠道客户偏好分析系统能够通从客户对接业务项目的文本信息中识别客户对各种渠道使用的喜好程度、客户与电网企业交互的活跃程度、客户关注偏好类别, 有针对性地引导客户进行渠道转移, 减少渠道服务成本。

人工智能自然语言处理就业形势与行业发展前景如何?

自然语言处理与计算机视觉、私人虚拟助理、智能机器人和语音识别一起并成为未来国内人工智能行业发展的五大趋势。从投资来看,自然语言处理也是获得投资最多的领域之一。人工智能不断发展,对金融行业分析也能起到至关重要的作用,比如关注市场变动线索、预测价格趋势、评估市场风险等,但要、人工智能在金融行业真正实现全场景落地,首先要搞定的就是自然语言处理技术。

这一技术是关键,也是难点。自然语言处理能实现计算机与人之间的自然语言交流,是一门融语言学、计算机科学、数学于一体的科学,是计算机科学、人工智能、语言学关注计算机和人类语言之间相互所用的领域。说白了就是让人工智能可以听懂人话。随着智能领域的产业分工日渐明确,各大企业已经从最开始的竞争模式转为了合作模式,实现双赢,自然语言处理技术这一块也越来越被大家所看好。

可预见的是,未来二十年内,自然语言处理将会成为人工智能应用最大的突破口之一,最近知识图谱在搜索领域已经有一席之地,并在火速推广中,一种是要关联很多领域,一种是进行知识整合,这样看来未来很有可能将自然语言处理与知识图谱相结合的趋势。上面也说了人工智能自然语言处理所涉猎到的技能和技术领域非常广泛,毫不夸张地说,一名自然语言处理工程师一定是个全能型人才,要掌握大部分的人工智能领域技术,所以真正从事这方面的人才也非常少,现在社会上从市自然语言处理的人大部分都是非科班出身,不是工作中自学的就是跟着项目一起摸爬滚打出来的,所以从事自然语言处理的专业人士,行业发展是非常客观的。


文章TAG:自然语言处理入门  如何自然语言处理  自然  自然语言  自然语言处理  
没有了