利用NPL可(kě)与人工(gōng)智(zhì)能(néng)工具进行(háng)交流(liú)
现如今,在更多情况(kuàng)下,我们是以比特和字节为生,而不是依靠交(jiāo)换情感(gǎn)。我们使用一(yī)种称之为计算机的(de)超级智能(néng)机器在互联网上进行(háng)交易和沟(gōu)通。因此(cǐ),我们(men)觉(jiào)得有必要让机(jī)器(qì)明(míng)白我们在说话(huà)时是如何对(duì)其进行(háng)理解的,并(bìng)且试图用人工(gōng)智能,一种称之为NLP——自然语言处(chù)理技(jì)术(shù)为它们提(tí)供语言。作为一种研究结(jié)果,聊天机器人正在成为一(yī)种可靠的聊天(tiān)工具,使用这种非人为依赖的智能工具与人类进(jìn)行交(jiāo)流。
我强烈的感受(shòu)到:
直到(dào)我(wǒ)们(men)的机器学(xué)会了(le)解行为(wéi)和(hé)情绪,数据科学家和工程师的工作才完成(chéng)了一半。与(yǔ)深度学习(xí)(ML学科领域)融合的NLP将对(duì)这种计算机语言的使用起到关键作用。
利用自然语言处理NPL可以(yǐ)使人工智能工具与人类进行交流
什么是NLP
这是一种(zhǒng)人工(gōng)智能方法,给(gěi)定机(jī)器一些人类语言从而使(shǐ)得它们能够与人类进行(háng)沟通交流。它涉及使用NLP技术对书面语言(yán)进行智能(néng)分析(xī),以获取对一组文本数据的(de)见解,如:
1.情绪分析
2.信息提取和(hé)检(jiǎn)索
3.智能搜索(suǒ)等
它是人工智能和计算语言学(xué)的(de)交汇点,能够处理机器和人类(lèi)自(zì)然语(yǔ)言之间的交互,即计算机需要对其(qí)进行分析、理解、改变(biàn)或生成(chéng)自然语言(yán)。NLP帮助计算机(jī)机器以各种形式使用自然人类语(yǔ)言进行交流,包括但不限于语音、印刷、写作和签(qiān)名(míng)。
NLP机器学习和深度学习:它们是(shì)如何(hé)连接的
利用自然(rán)语言处(chù)理NPL可以(yǐ)使人工智能工具与(yǔ)人类进行交(jiāo)流
NLP与(yǔ)机器学习和(hé)深度学(xué)习(xí)密(mì)切相关(guān),所有这些都(dōu)是人工智能领域的分支,如(rú)下图(tú)所示:它是(shì)一个致力于使机器(qì)智(zhì)能化的计(jì)算(suàn)机科学领域。深度学习是一种流行的机(jī)器学习技(jì)术之一,如回归(guī),K-means等。
机器学习的类型很多(duō),像无监督(dū)机器(qì)学习这(zhè)样的经常用于NLP技术中,如LDA(潜在狄利克雷分布(bù),一种(zhǒng)主题(tí)模型算法)。
为了能够(gòu)执行(háng)任何一(yī)个NLP,我们(men)需要深入理(lǐ)解人类使如何处理(lǐ)语言的(de)情感和分析方面。还有各种各样像社交媒体这样的语言数据(jù)源,人们直接或间接地分享(xiǎng)他(tā)们(men)感受到的内容,而这必须通过使用NLP的机器进行智能分(fèn)析。NLP机器需要建(jiàn)立一个人类推理系统,借助ML技(jì)术,它们可以自动执行NLP过程并对其进(jìn)行(háng)扩展。
简而(ér)言之,“深度学(xué)习与自然语言处理”是相互联系(xì)、相互依存的,以构建一个能够像人类一样思考、说话(huà)和行动的智能计算机。
Meltwater Group的NLP专家John Rehling在《自然(rán)语言(yán)处理是如何帮助(zhù)揭(jiē)示社交媒体情绪》一文中(zhōng)说,
“通过分析(xī)语言的含(hán)义,NLP系统扮演着非(fēi)常重要的(de)角色,如纠正语法,将语音转(zhuǎn)换为文本(běn),以及在多语言之间(jiān)自动翻译。”
NLP如(rú)何工(gōng)作
理解(jiě)NLP的工作原理是非常重要的,因(yīn)为(wéi)这样的话,我们就可(kě)以将(jiāng)NLP作为一个整(zhěng)体来理解。NLP一般有两个主(zhǔ)要组成部分:
1.NLU:自(zì)然语言理解
2.NLG:自然语言(yán)生成
让(ràng)我们深入理解(jiě)NLU
自(zì)然语(yǔ)言(yán)理(lǐ)解:它涉及(jí)的是一种方法论,试图了解(jiě)如何(hé)对馈送给计(jì)算机的自然语言赋予一定的(de)相(xiàng)关意义。
在开始时(shí),计算机获得自然语言的输入(自然(rán)语(yǔ)言可以是任何(hé)语言,它(tā)们通过使用和(hé)重复(fù)在(zài)人类(lèi)中自然(rán)进(jìn)化,而不是有意识(shí)的计划(huá)或预谋,自(zì)然语言可以采用不同的(de)形式,例如语音或签名(míng))。
计算机之后将它们转换成人工(gōng)语言,如语音识别和(hé)/或语音转(zhuǎn)换文本。在这里我们把数据转换成一个文(wén)本形式, NLU过程来理解(jiě)其中的含义。
HMM:隐马尔可(kě)夫模型(NLU示例(lì))
利(lì)用自然语言(yán)处理NPL可以使人工智能(néng)工具与人类进行(háng)交流
它是一种统计语音识别模(mó)型,它可以在预先构建(jiàn)的数(shù)学技术的帮助下,将你的(de)语(yǔ)音转(zhuǎn)换(huàn)成文本,并试图推(tuī)断出你所说的语言。
它试图理解你所说的,通过将语音数据(jù)分解成一小段特(tè)定的(de)时间(jiān)段,大多数情况下时(shí)间是20-20 ms。这些(xiē)数据集(jí)将(jiāng)进一步与预馈语音(yīn)进行比较,从而(ér)进(jìn)一(yī)步解读你在每个语音单位中所说的内容(róng)。这里的目的是找到音素(一个最小的语音单位)。然后(hòu),机器对一系列这样的音素进行观察,并统计了最可(kě)能(néng)说出的单(dān)词和句子。
不仅如(rú)此,NLU会深(shēn)刻理解每(měi)个单词,试图理(lǐ)解(jiě)它是一(yī)个名词还是动(dòng)词,什么是时态(过去或未(wèi)来)等(děng)。这个过程被定义为POS:词(cí)性标注部(bù)分(fèn)(Part Of Speech Tagging)。NLP具有内置的词典和一套与语法预编码相关的协议,这(zhè)些协议被预编码到(dào)它(tā)们的系(xì)统中,并在处理自(zì)然(rán)语言数(shù)据集(jí)时使用它,从而在NLP系统处理人类语音时(shí),编(biān)译(yì)所说的(de)内容。
NLP系统也有一个词(cí)典(词汇(huì)表)和一套编(biān)码到系统中的语(yǔ)法规则。现(xiàn)代NLP算(suàn)法使(shǐ)用统(tǒng)计(jì)机器,学习将这(zhè)些规则应用于自然(rán)语言,并推断所(suǒ)说话语背后最可能的含义。在考虑(lǜ)诸如具有多(duō)个含义的词语(多义词)或具有(yǒu)相似含义(yì)的(de)词语(同义(yì)词)时,存在一(yī)些挑战,但软件开发者在他(tā)们的NLU系统中建(jiàn)立了自己的规则,可以通过(guò)适(shì)当的(de)训练和学习(xí)来处理(lǐ)这类问(wèn)题。
自然语(yǔ)言生成:
与第一阶段(NLU做了大(dà)量的努(nǔ)力(lì)以理(lǐ)解人类的话语)相比(bǐ),NLG可以很容易的(de)进(jìn)行(háng)翻译工作,即将计(jì)算机的人工语言(yán)翻译为有意义的文本,并可以通过文字转语音(tex-to-speech)技术将其转化为可听(tīng)语音。文本转语(yǔ)音((tex-to-speech))技术通过(guò)韵律模型(prosody model)来分析文本(běn),从而确定语(yǔ)言的断句、长(zhǎng)短和音调(diào)。然后,利用(yòng)语音(yīn)数据(jù)库,将记录的所有音素汇集在一起,形(xíng)成一个(gè)连贯(guàn)的(de)语音串。
简而言(yán)之,NLP采用NLU和(hé)NLG来处(chù)理(lǐ)人类自(zì)然语(yǔ)言(yán),尤其是处(chù)理语音(yīn)识别领域的人类自然语言,并试图(tú)将传(chuán)递字符串或(huò)可听语言(yán)作(zuò)为输出,来理解、编译并推断所说的内容。
NLP在现代语(yǔ)境中的应用:
在这个处于数字革命的(de)电(diàn)脑时代中(zhōng),大部分任务需要(yào)由人(rén)类利用链(liàn)接物联(lián)网的机(jī)器来(lái)完(wán)成(chéng)。NLP在为(wéi)媒体、出版、广告、医疗、银(yín)行和保险等行业领域(yù)建立强大的软件工具方面,发(fā)挥(huī)了重要(yào)作用,从而帮助他们高效(xiào)快捷地运作。
NLP的(de)一(yī)些现代用法(fǎ):
1.聊天机器人
这是一个被称为机(jī)器人的成(chéng)熟软件,它可(kě)以处理任何(hé)场景的人物对话。api.ai、微软语音理解(jiě)智(zhì)能服务(LUIS)等一(yī)些热(rè)门(mén)的NLP和机器(qì)学习平台(tái),可(kě)用于研发(fā)你的(de)商业聊天机器人。
2.垃圾邮(yóu)件过滤
你们(men)中的大多数(shù)人一定对(duì)垃(lā)圾邮件并(bìng)不陌生。Google使(shǐ)用基于NLP的技术来(lái)保障你的收件箱清(qīng)洁(jié)、无垃圾邮件。贝叶斯垃(lā)圾邮件(jiàn)过滤(Bayesian spam filtering)是一种备(bèi)受(shòu)瞩目的技术,它是(shì)一种统计技(jì)术,基于此,电子邮件中词语的审核(hé)通(tōng)过率(lǜ)根据其(qí)在垃圾(jī)和(hé)非垃圾邮件语料库中(zhōng)的典型事例来确定(dìng)。
3.机器翻译
NLP被越来越多(duō)的(de)应(yīng)用于机器翻译(yì)程(chéng)序当中,这使(shǐ)得一种(zhǒng)语言被(bèi)自(zì)动翻译成另一种语言,谷歌是一个(gè)将你的文本翻(fān)译为所需语言的先驱者。
机器翻(fān)译技术(shù)所面临的(de)挑(tiāo)战不在于翻译单(dān)词,而在(zài)于(yú)保留句子的含义,这是一个(gè)复杂的技术(shù)问题(tí),也(yě)是NLP的核(hé)心。
4.命名实体提取(Named entity extraction)
它用于(yú)从给定(dìng)的项目集合中分离出具(jù)有相似性(xìng)质和属性的项目。例(lì)如名字、姓氏、年龄(líng)、地理位置、地址、电话号码、电子邮件(jiàn)地址(zhǐ)和公司(sī)名称等等。命名实体提取(qǔ)(亦(yì)称命名实体识(shí)别)使挖掘数(shù)据变得更(gèng)加容易。
5.自动(dòng)汇总
自然语言处理可用于从大段文本(běn)中提(tí)取可(kě)读摘要(yào)。例如(rú),我们可以自动总结出(chū)一份长篇学术(shù)文章的(de)简(jiǎn)短摘要(yào)。
接下来我们将深入介(jiè)绍一些NLP的技术细节(jiē)。
当自(zì)然界与(yǔ)人工相逢的时候,机器就像(xiàng)是一(yī)个真正具(jù)有(yǒu)生命(mìng)力(lì)的(de)人类一样进入了(le)生活中。
NLP技术(shù)术语
NLP术语(yǔ)
•语音体系——关(guān)于系(xì)统性地(dì)组织语音的研(yán)究(jiū)。
•形态学——这是(shì)一个从基本意义单位中进行单(dān)词构建的研究。
•语素(sù)——语(yǔ)言中意义的基本单位。
•语法——它是指单词经过组合排(pái)列构成句子,它还涉及在句子和短语中(zhōng)确(què)定单词结构的作用。
•语(yǔ)义——它涉及的是单词的含义,以及(jí)该如何将单词组合(hé)成有意义的(de)短语(yǔ)和句子。
•语用学——它(tā)涉及的是在不同情况下使用和理解(jiě)句子以及对句子的(de)解释是如何受到影(yǐng)响的。
•话语——它指的是前面的句(jù)子(zǐ)如何影响对于(yú)下一句的解释(shì)的。
•常识性知识(shí)——它涉及的是(shì)对于(yú)世界的一般性认识。
自然语言处理库(对于开发者而言)
NLP库:
有许多通用的第(dì)三方开源库,开发人(rén)员可以使(shǐ)用它们来构建基于NLP的Projects Viz .。
•自然语言工具包(NLTK)
•Apache OpenNLP
•斯坦(tǎn)福大学NLP套(tào)件
•Gate NLP库
自然语(yǔ)言工具包(NLTK)是最通用的自然语言处(chù)理(NLP)库。它是用Python编(biān)写的(de),背后有一个很大的社区。
NLP实施所涉及的(de)步骤(zhòu):
它涵盖了5个主要步骤(zhòu):
•词法分析——它对给定单词的结构进行识别(bié)和(hé)分析,其中(zhōng)整个文本数(shù)据(jù)块在词法分析中被分解成段落、句(jù)子和词汇。
•解析(句法分析)——它涉及(jí)以一种显示单(dān)词之间的(de)关系的方(fāng)式对分析句子中的单词(cí)进行(háng)语法和单(dān)词排列(liè)分析,在这(zhè)个阶段,任何不符合语法(fǎ)正(zhèng)确(què)的(de)句子都被拒绝,例如,“building lives in sita”将不会被语法分析器所接受(shòu)
•语义分析——对给定的文本(běn)进行分析以从中提取意义。它(tā)通过对任务域中的(de)语法结构和目标进行(háng)分析来完成。语义(yì)分析器拒(jù)绝不(bú)相关的句子,如“hot banana”。
•话语整合——正(zhèng)如我们所(suǒ)知,每(měi)个(gè)句子都与前一句话相互(hù)联系(xì),基于倒数第二句的意义而言(yán),任何句子(zǐ)都变(biàn)得有意义。同样,它(tā)也使得(dé)后一句话变得有意义。
•语用分(fèn)析——在(zài)此期间,常识(shí)性知(zhī)识被重新定义了,解(jiě)释了它们的(de)真实(shí)意义到底是什么(me),它涉及到那些需要常(cháng)识性知识的语言方面。
用图片来解读NLP(点击图片放大):
NLP应用程序:
1.光学字符识别
2.语音识别
3.机(jī)器翻(fān)译
4.自然语(yǔ)言生(shēng)成
5.情绪分析
6.语义搜索(suǒ)
7.自然(rán)语言(yán)编程
8.情感计算(suàn)
9.开发聊天机器人