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