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