久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

用 TensorFlow 實(shí)現(xiàn)智能機(jī)器人

 uczc68 2017-06-15

本文第一部分講解自然語言處理的原理,,第二部分講解聊天機(jī)器人的實(shí)現(xiàn)原理,,解決方案及挑戰(zhàn),最后以 seq2seq+Attention 機(jī)制講解模型結(jié)構(gòu),。第三部分講解如何從 0 開始訓(xùn)練一個(gè)聊天機(jī)器人,。

一、自然語言處理的原理

人工智能理解自然語言的原理,,要解釋清楚,,首先需要界定下這個(gè)問題的含義,一種是狹義的說如何用計(jì)算機(jī)來處理和分析自然語言,;另一種是則是廣義地理解關(guān)于“人工智能”,、“自然語言”和“理解”的含義,。

我們先從廣義層面探討,。弄清楚這幾個(gè)名詞。

自然語言:就是人類社會(huì)中發(fā)明和演變的用于溝通和交流的語言,。而人工智能在對(duì)事物(不僅僅是自然語言)的理解,,往往包含兩個(gè)層次:一是研究?jī)?nèi)容;二是方法論,。研究?jī)?nèi)容上主要是現(xiàn)在流行的研究課題,,例如知識(shí)圖譜、CV,、語音識(shí)別,、NLP 等。方法論是指實(shí)現(xiàn)人工智能的方法,,主要有三種:符號(hào)主義,、聯(lián)結(jié)主義、行為主義,。符號(hào)主義是用數(shù)理邏輯的推理來模擬人的思維智能,,例如專家系統(tǒng)的實(shí)現(xiàn)。聯(lián)結(jié)主義對(duì)人腦的仿生學(xué)研究,,最常見的就是神經(jīng)網(wǎng)絡(luò)模型,。行為主義重點(diǎn)在可預(yù)測(cè)的人類行為上,認(rèn)為人類通過與外界環(huán)境的交互而得到自適應(yīng)性,,涉及的算法有遺傳算法,、強(qiáng)化學(xué)習(xí)等。

現(xiàn)有的NLP主要是以規(guī)則和統(tǒng)計(jì)相結(jié)合來處理的。它的規(guī)則一面偏向于符號(hào)主義的視角,;而統(tǒng)計(jì)一面偏向于挖掘一般規(guī)律,,屬于歸納,目前用的方法,,比如將自然語言用詞向量的方法表征,,然后接入神經(jīng)網(wǎng)絡(luò)中進(jìn)行訓(xùn)練,也就是聯(lián)結(jié)主義的思想,。

理解:關(guān)于機(jī)器是否能真正理解語言一直有爭(zhēng)論,。先拋開這個(gè)問題,我們看看人類對(duì)語言的理解是怎么樣的,。實(shí)際上,,人類對(duì)理解這個(gè)事情也做的不一定好。比如,,南北方對(duì)“豆腐腦”的認(rèn)知是不同的,,兩人交談可能就會(huì)對(duì)同一物體的理解不同。因此,,理解是需要由相似的生活經(jīng)歷,、共同話題、上下文,、會(huì)話的環(huán)境,、雙方的知識(shí)等很多因素決定的。既然對(duì)于人類來說,,真正能理解對(duì)方,,需要這么多的隱性因素,那對(duì)于機(jī)器來說,,我們最好就不要關(guān)心機(jī)器是否真正能理解問題的含義本身,,而是盡可能地讓機(jī)器關(guān)注上述因素,來模擬人的智能,。

狹義的層面是我們工程師研究的主要方向,。也就是將自然語言理解看成是用計(jì)算機(jī)來處理和分析自然語言,它涉及到語言學(xué)(詞,、詞性,、語法)和計(jì)算機(jī)學(xué)科(模型/算法)的范疇。

從語言學(xué)上來看,,研究的方向包括詞干提取,、詞性還原、分詞,、詞性標(biāo)注,、命名實(shí)體識(shí)別,、詞性消歧、句法分析,、篇章分析等等,。這屬于研究的基礎(chǔ)范疇,在這些基礎(chǔ)的研究?jī)?nèi)容之上,,面向的是具體的文本處理應(yīng)用,,如,機(jī)器翻譯,、文本摘要,、情感分類、問答系統(tǒng),、聊天機(jī)器人等,。

在計(jì)算機(jī)算法的研究方面,一般是以規(guī)則和統(tǒng)計(jì)相結(jié)合的方法,,也就是理性主義和經(jīng)驗(yàn)主義相結(jié)合,。自然語言本質(zhì)上還是符號(hào)系統(tǒng),因此有一定的規(guī)則可尋,,但是它的復(fù)雜性又決定了沒有規(guī)則可以既不相互沖突又能覆蓋所有的語言現(xiàn)象,。后來大規(guī)模語料庫的完善和統(tǒng)計(jì)機(jī)器學(xué)習(xí)方法流行起來后,就省去了很多人工編制規(guī)則的負(fù)擔(dān),,使模型生成自動(dòng)生成特征,。

所以,,我們研究的NLP就是使用數(shù)理和機(jī)器學(xué)習(xí)的方法對(duì)語言進(jìn)行建模,。可以說,,NLP不是達(dá)到真正的自然語言理解,,而是把語言當(dāng)成是一種計(jì)算任務(wù)。

二,、聊天機(jī)器人的實(shí)現(xiàn)原理,、解決方案及挑戰(zhàn)

我們從聊天機(jī)器人的分類和實(shí)現(xiàn)原理分別說起。目前聊天機(jī)器人根據(jù)對(duì)話的產(chǎn)生方式,,可以分為基于檢索的模型(Retrieval-Based Models)和生成式模型(Generative Models),。

基于檢索的模型有一個(gè)預(yù)先定義的回答集,我們需要設(shè)計(jì)一些啟發(fā)式規(guī)則,,這些規(guī)則能夠根據(jù)輸入的問句及上下文,,挑選出合適的回答。

生成式模型不依賴預(yù)先定義的回答集,,而是根據(jù)輸入的問句及上下文,,產(chǎn)生一個(gè)新的回答,。

聊天機(jī)器人的這兩條技術(shù)路線,從長(zhǎng)遠(yuǎn)的角度看目前技術(shù)還都還處在山底,,兩種技術(shù)路線的異同和優(yōu)勢(shì)如下:

基于檢索的模型的優(yōu)勢(shì):

  • 答句可讀性好

  • 答句多樣性強(qiáng)

  • 出現(xiàn)不相關(guān)的答句,,容易分析、定位 bug

但是它的劣勢(shì)在于:需要對(duì)候選的結(jié)果做排序,,進(jìn)行選擇,。

基于生成式模型的優(yōu)勢(shì):

  • 端到端的訓(xùn)練,比較容易實(shí)現(xiàn)

  • 避免維護(hù)一個(gè)大的Q-A數(shù)據(jù)集

  • 不需要對(duì)每一個(gè)模塊額外進(jìn)行調(diào)優(yōu),,避免了各個(gè)模塊之間的誤差級(jí)聯(lián)效應(yīng) 

但是它的劣勢(shì)在于:難以保證生成的結(jié)果是可讀的,,多樣的。

因此,,上述方法共同面臨的挑戰(zhàn)有:

  1. 如何利用前幾輪對(duì)話的信息,,應(yīng)用到當(dāng)輪對(duì)話當(dāng)中

  2. 合并現(xiàn)有的知識(shí)庫的內(nèi)容進(jìn)來

  3. 能否做到個(gè)性化,千人千面,。

這有點(diǎn)類似于我們的信息檢索系統(tǒng),,既希望在垂直領(lǐng)域做得更好;也希望對(duì)不同的人的 query 有不同的排序偏好,。

從應(yīng)用目的的角度區(qū)分,,可以分為目標(biāo)驅(qū)動(dòng)(Goal Driven),應(yīng)用于客服助理等,,在封閉話題場(chǎng)景中,;無目標(biāo)驅(qū)動(dòng)(Non-Goal Driven),應(yīng)用在開放話題的場(chǎng)景下,,這是可談?wù)摰闹黝}是不限的,,但是需要機(jī)器人有一定的基礎(chǔ)常識(shí)。

盡管目前工業(yè)界應(yīng)用的大多數(shù)是基于檢索的模型,,屬于目標(biāo)驅(qū)動(dòng)的,,例如:阿里小蜜,應(yīng)用的話題領(lǐng)域比較窄,,稍微將話題擴(kuò)大一點(diǎn),,它就會(huì)不著邊際回復(fù)或者文不對(duì)題。如下圖:

一個(gè)開放話題場(chǎng)景下的生成式模型應(yīng)該是最智能,、符合我們預(yù)期的聊天機(jī)器人,。因此總結(jié)來看:

智能聊天機(jī)器人的目標(biāo):

  1. 和人類能夠進(jìn)行持續(xù)的溝通

  2. 對(duì)不同的提問能夠給出合適的回答

  3. 考慮到人類不同個(gè)性化的差異性,給出差異性的回答(例如,,同一個(gè)問題,,對(duì)男女老少不同群體的回答應(yīng)該略有差異)

那么對(duì)于一個(gè)智能機(jī)器人來說,它的聊天的功能在其中應(yīng)該處于什么位置,?首先,,聊天應(yīng)該是一個(gè)基礎(chǔ)模塊,;其次,聊天應(yīng)該和完成任務(wù)的模塊有很好的協(xié)作,;最后,,聊天應(yīng)該使機(jī)器人看上去像您的朋友,而不是您的代理或者助手,。

從上述角度來說,,現(xiàn)在有一些經(jīng)常與聊天機(jī)器人混淆的概念,也是一些聊天系統(tǒng)的周邊產(chǎn)品:

  1. QA 問答系統(tǒng):是回答事實(shí)問題(例如珠峰有多高)以及非事實(shí)問題(例如why, how, opinion等觀點(diǎn)性問題)的領(lǐng)域機(jī)器人,。

  2. Dialog system 對(duì)話系統(tǒng):這種大多是目標(biāo)驅(qū)動(dòng)的,,但是近幾年都也在慢慢接受聊天機(jī)器人功能

  3. Online customer service 在線客服:例如淘寶小蜜,它在多數(shù)情況下像一個(gè)自動(dòng)的FAQ,。

因此,,盡管聊天系統(tǒng)都是針對(duì)文本理解的大方向,但目標(biāo)不同決定了技術(shù)路線會(huì)有所偏重,,但聊天功能是一個(gè)基礎(chǔ)功能,。

智能聊天機(jī)器人可以從上面的周邊系統(tǒng)研究領(lǐng)域的數(shù)據(jù)集有所借鑒:

  • 非事實(shí)問題的問答

  • 社區(qū)型問答系統(tǒng)(例如百度知道等,對(duì)問題和答案間有較強(qiáng)的匹配,;并且一個(gè)問題多個(gè)答案時(shí)有評(píng)分,、排序)

  • 從在線系統(tǒng)中挖掘一些好的 QA corpus

那如何來評(píng)價(jià)一個(gè)聊天機(jī)器人的好壞?最重要的是問句和答句的相關(guān)性,,也就是本質(zhì)是:短文本相關(guān)度計(jì)算,。但要注意:

  1. 相似性和相關(guān)性是不同的。用于相似性計(jì)算的各種方法并不適用于相關(guān)性,。我們需要建立一套短文本相關(guān)性計(jì)算方法,。

  2. 相關(guān)性計(jì)算有一些在早期的聊天機(jī)器人的構(gòu)建中延續(xù)下來的方法: 

    • 詞語共現(xiàn)的統(tǒng)計(jì)

    • 基于機(jī)器翻譯的相關(guān)度計(jì)算

    • 主題模型(LDA)的相似度計(jì)算

目前在聊天機(jī)器人上使用的深度學(xué)習(xí)方法有如下這些:

  1. Word2vec, Glove

  2. CNN, LSTM, GRU

  3. Seq2Seq

  4. Attention mechanism

  5. Deep Reinforcement Learning

其中,深度強(qiáng)化學(xué)習(xí)是把“如何得到一個(gè)足夠讓人滿意的生成式結(jié)果”量化成 Reward,。這些因素包括: 

  • 是否容易被回答(一個(gè)好的生成式的結(jié)果應(yīng)該是更容易讓人接下去的) 

  • 一個(gè)好的回復(fù)應(yīng)該讓對(duì)話前進(jìn),,避免重復(fù)性 

  • 保證語義的連貫性,。用生成式的結(jié)果反推回 query 的可能性有多大,,能保證在語義上是和諧的、連貫的,。

那么如何實(shí)現(xiàn)在智能聊天機(jī)器人的第三個(gè)目標(biāo),,差異化回答呢?也就是如何在對(duì)話里如何引入個(gè)性化(personality)信息,?

首先預(yù)訓(xùn)練一個(gè)人的向量,,讓生成的結(jié)果貼近人的特點(diǎn)。通過 word embedding 將人的信息作為一個(gè)詞向量,,在輸入部分增加一組人的向量,;在生成回答的時(shí)候,,考慮不同的人應(yīng)該選什么樣的詞語。

目前,,我們要做一個(gè)真正智能的自動(dòng)聊天機(jī)器人,,仍然面臨一些挑戰(zhàn):

  • 缺乏公共的訓(xùn)練數(shù)據(jù)集,目前使用國(guó)外的數(shù)據(jù)集較多 

    • Ubuntu dialog corpus(subset of Ubuntu Corpus)

    • Reddit dataset(可讀性和質(zhì)量都不錯(cuò))

    • Corpora from Chinese SNS(微博)

  • 測(cè)試集還不統(tǒng)一

  • 評(píng)估度量:度量很難設(shè)計(jì)(目前是從機(jī)器翻譯和自動(dòng)摘要的 BLEU,、ROUGE 里借鑒的,,但面臨問題是否能刻畫聊天機(jī)器人的好壞,并且指導(dǎo)聊天機(jī)器人的技術(shù)朝著正向的方向發(fā)展)

  • 聊天機(jī)器人的一般對(duì)話和任務(wù)導(dǎo)向的對(duì)話之間如何能夠平滑切換 

    • 這種平滑切換對(duì)用戶的體驗(yàn)非常重要

    • 切換的技術(shù)需要依賴情緒分析及上下文分析

    • 用戶不需要給出明確的反饋,。例如,,我前一句說鹿晗好,后一句說不喜歡韓范,,需要聊天機(jī)器人能正確識(shí)別

  • 仍然存在的問題 

    • 句子級(jí),、片段級(jí)的語義建模還沒有詞語的建模(word embedding)那么好

    • 生成式仍然會(huì)產(chǎn)生一些安全回答

    • 在知識(shí)的表示和引入上還需要努力


(本文余下還有7000字)




    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn),。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多