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