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