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