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