HOME 首頁(yè)
SERVICE 服務(wù)產(chǎn)品
XINMEITI 新媒體代運(yùn)營(yíng)
CASE 服務(wù)案例
NEWS 熱點(diǎn)資訊
ABOUT 關(guān)于我們
CONTACT 聯(lián)系我們
創(chuàng)意嶺
讓品牌有溫度、有情感
專(zhuān)注品牌策劃15年

    chatbots翻譯(chatter翻譯)

    發(fā)布時(shí)間:2023-03-12 12:42:43     稿源: 創(chuàng)意嶺    閱讀: 148        問(wèn)大家

    大家好!今天讓創(chuàng)意嶺的小編來(lái)大家介紹下關(guān)于chatbots翻譯的問(wèn)題,以下是小編對(duì)此問(wèn)題的歸納整理,讓我們一起來(lái)看看吧。

    ChatGPT國(guó)內(nèi)免費(fèi)在線使用,能給你生成想要的原創(chuàng)文章、方案、文案、工作計(jì)劃、工作報(bào)告、論文、代碼、作文、做題和對(duì)話答疑等等

    你只需要給出你的關(guān)鍵詞,它就能返回你想要的內(nèi)容,越精準(zhǔn),寫(xiě)出的就越詳細(xì),有微信小程序端、在線網(wǎng)頁(yè)版、PC客戶(hù)端,官網(wǎng):https://ai.de1919.com

    本文目錄:

    chatbots翻譯(chatter翻譯)

    一、RNN基本應(yīng)用

    與人類(lèi)理解文字的道理差不多,看書(shū)都是一個(gè)字一個(gè)字,一句話一句話去理解的。語(yǔ)言本身作為一種符號(hào)并沒(méi)有意義,只不過(guò)是人類(lèi)對(duì)其賦予了意義。而這種意義體現(xiàn)在每個(gè)字(語(yǔ)義)以及字的順序(語(yǔ)義關(guān)系)上。RNN相當(dāng)于在通用神經(jīng)網(wǎng)絡(luò)上加入了人的 先驗(yàn)知識(shí) ,將文本信息按照序列輸入的方式處理。

    RNN對(duì)序列的基本思路是: 在序列任務(wù)中前面的數(shù)據(jù)會(huì)對(duì)當(dāng)前的計(jì)算產(chǎn)生影響。 所以前一個(gè)cell的激活值會(huì)輸入到后一個(gè)cell中。這樣就其實(shí)就是對(duì)序列數(shù)據(jù)的特點(diǎn)做了一定程度的設(shè)計(jì)。

    但是隨著序列長(zhǎng)度變化,激活值不斷堆疊后就會(huì)損失一些信息,導(dǎo)致序列前面的信息對(duì)后面的影響變?nèi)?。要知道很多時(shí)候語(yǔ)言的頭部信息對(duì)后面的信息可能有很大的影響。所以目前應(yīng)用較廣泛的是LSTM模型,在RNN基礎(chǔ)結(jié)構(gòu)上增加了一條長(zhǎng)記憶線C,每個(gè)cell的X與A會(huì)使得C對(duì)信息進(jìn)行補(bǔ)充或者丟失,而具有序列重要信息的C會(huì)對(duì)A的激活值具有影響。就像是模型附帶了一個(gè)小本本,遇到新鮮事兒就記進(jìn)去,然后在后續(xù)判斷將小本本的信息加入,產(chǎn)出更有可信度的激活值。

    在RNN應(yīng)用過(guò)程中,逐漸發(fā)現(xiàn)有時(shí)候當(dāng)前局部的計(jì)算不僅僅與前面的信息相關(guān),也與后面的信息相關(guān)(特別是翻譯、語(yǔ)音識(shí)別等)。所以提出了 雙向RNN結(jié)構(gòu) ,將前面的信息與后面的信息綜合起來(lái)做判斷。

    人在進(jìn)行信息判斷時(shí),有時(shí)候不僅僅是綜合整個(gè)序列的信息,有時(shí)候更會(huì)抓住重點(diǎn)去分析以便快速得到更好的答案,在序列模型中每個(gè)輸入本身確實(shí)有重點(diǎn),比如吃與食物相關(guān),在分析吃的字詞時(shí)只需將注意力分配到與食物相關(guān)得詞上,其他的并不重要,因此提出了 注意力模型 。

    如圖所示,經(jīng)過(guò)一個(gè)雙向RNN處理過(guò)的輸出值y,不同的y分配給不同的權(quán)重最終加和起來(lái)作為輸入,那么該輸入附帶的信息就會(huì)有偏向,從而模型會(huì)有更好的效果。

    正如前文所說(shuō),所有的模型都不完美,在擬合過(guò)程中就會(huì)出現(xiàn)信息丟失、梯度消失等現(xiàn)象,長(zhǎng)短時(shí)記憶、雙向計(jì)算、注意力機(jī)制都是典型的將人類(lèi)知識(shí)加入模型中,使得模型負(fù)擔(dān)減少,效果更好。

    將語(yǔ)料庫(kù)通過(guò)RNN模型訓(xùn)練后,模型就學(xué)會(huì)了人話的規(guī)律,從而可以在給定條件下判斷下一個(gè)字是何字的概率,從而在多個(gè)場(chǎng)景有所應(yīng)用:

    同樣的方式可以應(yīng)用在音樂(lè)上,如果將音樂(lè)也當(dāng)做一種序列去訓(xùn)練,最終我們也可以獲得某種音樂(lè)風(fēng)格的曲子,從而可以實(shí)現(xiàn)在文字上以及在音樂(lè)上的另類(lèi)創(chuàng)作。

    將RNN模型對(duì)接一個(gè)softmax輸出,就可以對(duì)句子進(jìn)行分類(lèi),通常用來(lái)判斷情感趨向。

    除了可以通過(guò)分析句子得到情感判斷外,分析詞語(yǔ)也可以。目前詞的使用都是將符號(hào)向量映射( Word2Vec 算法)到語(yǔ)義空間上,所以詞向量本身就具有語(yǔ)義含義,通過(guò)訓(xùn)練可以做情感分類(lèi)。

    翻譯目前都是用如圖所示結(jié)構(gòu),包含編碼器與解碼器。相當(dāng)于將語(yǔ)句A通過(guò)RNN編碼后灌入另一個(gè)模型去解碼為另一個(gè)語(yǔ)句B,類(lèi)似于卷積對(duì)圖片的編碼處理,序列模型在編碼解碼過(guò)程中也形成了一個(gè)表征語(yǔ)義的矩陣,該矩陣的語(yǔ)義表達(dá)與語(yǔ)言工具無(wú)關(guān),作為兩個(gè)語(yǔ)言之間的橋梁實(shí)現(xiàn)翻譯功能。借鑒人類(lèi)翻譯過(guò)程中對(duì)前后文重點(diǎn)的讀取,翻譯模型會(huì)用到注意力機(jī)制以達(dá)到更好的模型效果

    實(shí)際上前一陣子出現(xiàn)過(guò)AI換臉這種生成式的任務(wù)在社區(qū)火爆,特別是色情網(wǎng)站。其實(shí)這種生成任務(wù)很多時(shí)候也會(huì)用到這種編碼-解碼樣式的結(jié)構(gòu)

    目前人機(jī)對(duì)話包含應(yīng)用場(chǎng)景:?jiǎn)柎鹦?、聊天型、任?wù)型。

    問(wèn)答型 在很多客服領(lǐng)域應(yīng)用廣泛,解決了頭部高頻問(wèn)題。這類(lèi)任務(wù)更多屬于機(jī)器學(xué)習(xí),對(duì)用戶(hù)的疑問(wèn)通過(guò)關(guān)鍵字檢測(cè)分類(lèi)至我們預(yù)先設(shè)好的問(wèn)題分類(lèi)中。

    聊天型機(jī)器人 最典型的就是微軟小冰,要保持這種開(kāi)放性對(duì)話需要系統(tǒng)知識(shí),不斷產(chǎn)生新的話題。這類(lèi)Chatbot的目標(biāo)是實(shí)現(xiàn)《her》中的情感陪伴,但是就目前發(fā)展來(lái)講,仍然不夠。

    任務(wù)型機(jī)器人 目前看起來(lái)最具有商業(yè)潛力,市面上的智能音箱基本屬于這類(lèi)范疇。目標(biāo)是識(shí)別用戶(hù)意圖后在封閉的話題區(qū)間內(nèi)進(jìn)行對(duì)話直至滿(mǎn)足用戶(hù)需求。

    在任務(wù)驅(qū)動(dòng)型的人機(jī)對(duì)話中,首先就是獲取人的意圖。意圖的識(shí)別屬于自然語(yǔ)言理解,屬于一種分類(lèi)任務(wù)。很多智能音箱平臺(tái)會(huì)推出一些技能,這些技能實(shí)際上就對(duì)應(yīng)意圖所對(duì)應(yīng)的領(lǐng)域。通過(guò)意圖識(shí)別后將業(yè)務(wù)處理邏輯落在這些技能上,技能與技能之間其實(shí)已經(jīng)沒(méi)有關(guān)聯(lián),這樣的方式減輕了訓(xùn)練難度,使得機(jī)器人在特定任務(wù)上有更好的表現(xiàn)。

    在計(jì)算機(jī)處理人類(lèi)請(qǐng)求后,不僅要判斷用戶(hù)的意圖分類(lèi),還要對(duì)請(qǐng)求語(yǔ)進(jìn)行序列標(biāo)注(實(shí)體識(shí)別、實(shí)體關(guān)系抽取等),分析出該意圖下哪些必要信息已經(jīng)獲得,哪些信息沒(méi)有獲得,這些就是填槽的過(guò)程。

    用戶(hù)的請(qǐng)求往往是含糊不清的,多輪對(duì)話就是為了獲取在該意圖下所有的必要信息。整個(gè)過(guò)程需要對(duì)話管理的支持,對(duì)話管理實(shí)際一個(gè)決策過(guò)程(策略樹(shù)),系統(tǒng)在對(duì)話過(guò)程中不斷根據(jù)當(dāng)前狀態(tài)決定下一步應(yīng)該采取的最優(yōu)動(dòng)作(如:提供結(jié)果,詢(xún)問(wèn)特定限制條件,澄清或確認(rèn)需求…)從而最有效的輔助用戶(hù)完成信息或服務(wù)獲取的任務(wù)。對(duì)話管理的構(gòu)建更需要人工設(shè)計(jì),但似乎通過(guò)強(qiáng)化學(xué)習(xí)也能得到最佳路徑。

    DM對(duì)話管理過(guò)程中可能需要和用戶(hù)交互,就會(huì)用到自然語(yǔ)言生成,將系統(tǒng)語(yǔ)義轉(zhuǎn)化為人類(lèi)語(yǔ)言。這是個(gè)有限集,用模板是一種選擇,同樣也可以用語(yǔ)言模型、類(lèi)似翻譯的編碼解碼模型。

    二、如何利用深度學(xué)習(xí)技術(shù)訓(xùn)練聊天機(jī)器人語(yǔ)言模型

    數(shù)據(jù)預(yù)處理

    模型能聊的內(nèi)容也取決于選取的語(yǔ)料。如果已經(jīng)具備了原始聊天數(shù)據(jù),可以用SQL通過(guò)關(guān)鍵字查詢(xún)一些對(duì)話,也就是從大庫(kù)里選取出一個(gè)小庫(kù)來(lái)訓(xùn)練。從一些論文上,很多算法都是在數(shù)據(jù)預(yù)處理層面的,比如Mechanism-Aware Neural Machine for Dialogue Response Generation就介紹了,從大庫(kù)中抽取小庫(kù),然后再進(jìn)行融合,訓(xùn)練出有特色的對(duì)話來(lái)。

    對(duì)于英語(yǔ),需要了解NLTK,NLTK提供了加載語(yǔ)料,語(yǔ)料標(biāo)準(zhǔn)化,語(yǔ)料分類(lèi),PoS詞性標(biāo)注,語(yǔ)意抽取等功能。

    另一個(gè)功能強(qiáng)大的工具庫(kù)是CoreNLP,作為 Stanford開(kāi)源出來(lái)的工具,特色是實(shí)體標(biāo)注,語(yǔ)意抽取,支持多種語(yǔ)言。

    下面主要介紹兩個(gè)內(nèi)容:

    中文分詞

    現(xiàn)在有很多中文分詞的SDK,分詞的算法也比較多,也有很多文章對(duì)不同SDK的性能做比較。做中文分詞的示例代碼如下。

    # coding:utf8

    '''  

    Segmenter with Chinese  

    '''

    import jieba  

    import langid

    def segment_chinese_sentence(sentence):

    '''

    Return segmented sentence.

    '''

    seg_list = jieba.cut(sentence, cut_all=False)

    seg_sentence = u" ".join(seg_list)

    return seg_sentence.strip().encode('utf8')

    def process_sentence(sentence):

    '''

    Only process Chinese Sentence.

    '''

    if langid.classify(sentence)[0] == 'zh':

    return segment_chinese_sentence(sentence)

    return sentence

    if __name__ == "__main__":

    print(process_sentence('飛雪連天射白鹿'))

    print(process_sentence('I have a pen.'))

    以上使用了langid先判斷語(yǔ)句是否是中文,然后使用jieba進(jìn)行分詞。

    在功能上,jieba分詞支持全切分模式,精確模式和搜索引擎模式。

    全切分:輸出所有分詞。

    精確:概率上的最佳分詞。

    所有引擎模式:對(duì)精確切分后的長(zhǎng)句再進(jìn)行分詞。

    jieba分詞的實(shí)現(xiàn)

    主要是分成下面三步:

    1、加載字典,在內(nèi)存中建立字典空間。

    字典的構(gòu)造是每行一個(gè)詞,空格,詞頻,空格,詞性。

    上訴書(shū) 3 n

    上訴人 3 n

    上訴期 3 b

    上訴狀 4 n

    上課 650 v

    建立字典空間的是使用python的dict,采用前綴數(shù)組的方式。

    使用前綴數(shù)組的原因是樹(shù)結(jié)構(gòu)只有一層 - word:freq,效率高,節(jié)省空間。比如單詞"dog", 字典中將這樣存儲(chǔ):

    {

    "d": 0,

    "do": 0,

    "dog": 1 # value為詞頻

    }

    字典空間的主要用途是對(duì)輸入句子建立有向無(wú)環(huán)圖,然后根據(jù)算法進(jìn)行切分。算法的取舍主要是根據(jù)模式 - 全切,精確還是搜索。

    2、對(duì)輸入的語(yǔ)句分詞,首先是建立一個(gè)有向無(wú)環(huán)圖。 

    有向無(wú)環(huán)圖, Directed acyclic graph (音 /ˈdæɡ/)。

    【圖 3-2】 DAG

    DAG對(duì)于后面計(jì)算最大概率路徑和使用HNN模型識(shí)別新詞有直接關(guān)系。

    3、按照模式,對(duì)有向無(wú)環(huán)圖進(jìn)行遍歷,比如,在精確模式下,便利就是求最大權(quán)重和的路徑,權(quán)重來(lái)自于在字典中定義的詞頻。對(duì)于沒(méi)有出現(xiàn)在詞典中的詞,連續(xù)的單個(gè)字符也許會(huì)構(gòu)成新詞。然后用HMM模型和Viterbi算法識(shí)別新詞。

    精確模型切詞:使用動(dòng)態(tài)規(guī)劃對(duì)最大概率路徑進(jìn)行求解。

    最大概率路徑:求route = (w1, w2, w3 ,.., wn),使得Σweight(wi)最大。Wi為該詞的詞頻。

    更多的細(xì)節(jié)還需要讀一下jieba的源碼。

    自定義字典

    jieba分詞默認(rèn)的字典是:1998人民日?qǐng)?bào)的切分語(yǔ)料還有一個(gè)msr的切分語(yǔ)料和一些txt小說(shuō)。開(kāi)發(fā)者可以自行添加字典,只要符合字典構(gòu)建的格式就行。

    jieba分詞同時(shí)提供接口添加詞匯。

    Word embedding

    使用機(jī)器學(xué)習(xí)訓(xùn)練的語(yǔ)言模型,網(wǎng)絡(luò)算法是使用數(shù)字進(jìn)行計(jì)算,在輸入進(jìn)行編碼,在輸出進(jìn)行解碼。word embedding就是編解碼的手段。

    【圖 3-3】 word embedding, Ref. #7

    word embedding是文本的數(shù)值化表示方法。表示法包括one-hot,bag of words,N-gram,分布式表示,共現(xiàn)矩陣等。

    Word2vec

    近年來(lái),word2vec被廣泛采用。Word2vec輸入文章或者其他語(yǔ)料,輸出語(yǔ)料中詞匯建設(shè)的詞向量空間。詳細(xì)可參考word2vec數(shù)學(xué)原理解析。

    使用word2vec

    安裝完成后,得到word2vec命令行工具。

    word2vec -train "data/review.txt"

    -output "data/review.model"

    -cbow 1

    -size 100

    -window 8

    -negative 25

    -hs 0

    -sample 1e-4

    -threads 20

    -binary 1

    -iter 15

    -train "data/review.txt" 表示在指定的語(yǔ)料庫(kù)上訓(xùn)練模型

    -cbow 1 表示用cbow模型,設(shè)成0表示用skip-gram模型

    -size 100 詞向量的維度為100

    -window 8 訓(xùn)練窗口的大小為8 即考慮一個(gè)單詞的前八個(gè)和后八個(gè)單詞

    -negative 25 -hs 0 是使用negative sample還是HS算法

    -sample 1e-4 采用閾值

    -threads 20 線程數(shù)

    -binary 1 輸出model保存成2進(jìn)制

    -iter 15 迭代次數(shù)

    在訓(xùn)練完成后,就得到一個(gè)model,用該model可以查詢(xún)每個(gè)詞的詞向量,在詞和詞之間求距離,將不同詞放在數(shù)學(xué)公式中計(jì)算輸出相關(guān)性的詞。比如:

    vector("法國(guó)") - vector("巴黎) + vector("英國(guó)") = vector("倫敦")"  

    對(duì)于訓(xùn)練不同的語(yǔ)料庫(kù),可以單獨(dú)的訓(xùn)練詞向量模型,可以利用已經(jīng)訓(xùn)練好的模型。

    其它訓(xùn)練詞向量空間工具推薦:Glove。

    Seq2Seq

    2014年,Sequence to Sequence Learning with Neural Networks提出了使用深度學(xué)習(xí)技術(shù),基于RNN和LSTM網(wǎng)絡(luò)訓(xùn)練翻譯系統(tǒng),取得了突破,這一方法便應(yīng)用在更廣泛的領(lǐng)域,比如問(wèn)答系統(tǒng),圖像字幕,語(yǔ)音識(shí)別,撰寫(xiě)詩(shī)詞等。Seq2Seq完成了【encoder + decoder -> target】的映射,在上面的論文中,清晰的介紹了實(shí)現(xiàn)方式。

    【圖 3-4】 Seq2Seq, Ref. #1

    也有很多文章解讀它的原理。在使用Seq2Seq的過(guò)程中,雖然也研究了它的結(jié)構(gòu),但我還不認(rèn)為能理解和解釋它。下面談兩點(diǎn)感受:

    a. RNN保存了語(yǔ)言順序的特點(diǎn),這和CNN在處理帶有形狀的模型時(shí)如出一轍,就是數(shù)學(xué)模型的設(shè)計(jì)符合物理模型。

    【圖 3-5】 RNN, Ref. #6

    b. LSTM Cell的復(fù)雜度對(duì)應(yīng)了自然語(yǔ)言處理的復(fù)雜度。

    【圖 3-6】 LSTM, Ref. #6

    理由是,有人將LSTM Cell嘗試了多種其它方案?jìng)鬟f狀態(tài),結(jié)果也很好。

    【圖 3-7】 GRU, Ref. #6

    LSTM的一個(gè)替代方案:GRU。只要RNN的Cell足夠復(fù)雜,它就能工作的很好。

    使用DeepQA2訓(xùn)練語(yǔ)言模型

    準(zhǔn)備工作,下載項(xiàng)目:

    git clone https://github.com/Samurais/DeepQA2.git  

    cd DeepQA2  

    open README.md # 根據(jù)README.md安裝依賴(lài)包

    DeepQA2將工作分成三個(gè)過(guò)程:

    數(shù)據(jù)預(yù)處理:從語(yǔ)料庫(kù)到數(shù)據(jù)字典。

    訓(xùn)練模型:從數(shù)據(jù)字典到語(yǔ)言模型。

    提供服務(wù):從語(yǔ)言模型到RESt API。

    預(yù)處理

    DeepQA2使用Cornell Movie Dialogs Corpus作為demo語(yǔ)料庫(kù)。

    原始數(shù)據(jù)就是movie_lines.txt 和movie_conversations.txt。這兩個(gè)文件的組織形式參考README.txt

    deepqa2/dataset/preprocesser.py是將這兩個(gè)文件處理成數(shù)據(jù)字典的模塊。

    train_max_length_enco就是問(wèn)題的長(zhǎng)度,train_max_length_deco就是答案的長(zhǎng)度。在語(yǔ)料庫(kù)中,大于該長(zhǎng)度的部分會(huì)被截?cái)唷?/p>

    程序運(yùn)行后,會(huì)生成dataset-cornell-20.pkl文件,它加載到python中是一個(gè)字典:

    word2id存儲(chǔ)了{(lán)word: id},其中word是一個(gè)單詞,id是int數(shù)字,代表這個(gè)單詞的id。

    id2word存儲(chǔ)了{(lán)id: word}。

    trainingSamples存儲(chǔ)了問(wèn)答的對(duì)話對(duì)。

    比如 [[[1,2,3],[4,5,6]], [[7,8,9], [10, 11, 12]]]

    1,2,3 ... 12 都是word id。

    [1,2,3] 和 [4,5,6] 構(gòu)成一個(gè)問(wèn)答。 [7,8,9] 和 [10, 11, 12] 構(gòu)成一個(gè)問(wèn)答。

    開(kāi)始訓(xùn)練

    cp config.sample.ini config.ini # modify keys  

    python deepqa2/train.py  

    config.ini是配置文件, 根據(jù)config.sample.ini進(jìn)行修改。訓(xùn)練的時(shí)間由epoch,learning rate, maxlength和對(duì)話對(duì)的數(shù)量而定。

    deepqa2/train.py大約100行,完成數(shù)據(jù)字典加載、初始化tensorflow的session,saver,writer、初始化神經(jīng)元模型、根據(jù)epoch進(jìn)行迭代,保存模型到磁盤(pán)。

    session是網(wǎng)絡(luò)圖,由placeholder, variable, cell, layer, output 組成。

    saver是保存model的,也可以用來(lái)恢復(fù)model。model就是實(shí)例化variable的session。

    writer是查看loss fn或者其他開(kāi)發(fā)者感興趣的數(shù)據(jù)的收集器。writer的結(jié)果會(huì)被saver保存,然后使用tensorboard查看。

    Model

    Model的構(gòu)建要考慮輸入,狀態(tài),softmax,輸出。

    定義損耗函數(shù),使用AdamOptimizer進(jìn)行迭代。

    最后,參考一下訓(xùn)練的loop部分。

    每次訓(xùn)練,model會(huì)被存儲(chǔ)在 save路徑下,文件夾的命名根據(jù)機(jī)器的hostname,時(shí)間戳生成。

    提供服務(wù)

    在TensorFlow中,提供了標(biāo)準(zhǔn)的serving模塊 - tensorflow serving。但研究了很久,還專(zhuān)門(mén)看了一遍 《C++ Essentials》,還沒(méi)有將它搞定,社區(qū)也普遍抱怨tensorflow serving不好學(xué),不好用。訓(xùn)練結(jié)束后,使用下面的腳本啟動(dòng)服務(wù),DeepQA2的serve部分還是調(diào)用TensorFlow的python api。

    cd DeepQA2/save/deeplearning.cobra.vulcan.20170127.175256/deepqa2/serve  

    cp db.sample.sqlite3 db.sqlite3  

    python manage.py runserver 0.0.0.0:8000  

    測(cè)試

    POST /api/v1/question HTTP/1.1  

    Host: 127.0.0.1:8000  

    Content-Type: application/json  

    Authorization: Basic YWRtaW46cGFzc3dvcmQxMjM=  

    Cache-Control: no-cache

    {"message": "good to know"}

    response  

    {

    "rc": 0,

    "msg": "hello"

    }

    serve的核心代碼在serve/api/chatbotmanager.py中。

    使用腳本

    scripts/start_training.sh 啟動(dòng)訓(xùn)練

    scripts/start_tensorboard.sh 啟動(dòng)Tensorboard

    scripts/start_serving.sh 啟動(dòng)服務(wù)

    對(duì)模型的評(píng)價(jià)

    目前代碼具有很高的維護(hù)性,這也是從DeepQA項(xiàng)目進(jìn)行重構(gòu)的原因,更清晰的數(shù)據(jù)預(yù)處理、訓(xùn)練和服務(wù)。有新的變更可以添加到deepqa2/models中,然后在train.py和chatbotmanager.py變更一下。

    有待改進(jìn)的地方

    a. 新建models/rnn2.py, 使用dropout。目前DeepQA中已經(jīng)使用了Drop.

    b. tensorflow rc0.12.x中已經(jīng)提供了seq2seq network,可以更新成tf版本.

    c. 融合訓(xùn)練,目前model只有一個(gè)庫(kù),應(yīng)該是設(shè)計(jì)一個(gè)新的模型,支持一個(gè)大庫(kù)和小庫(kù),不同權(quán)重進(jìn)行,就如Mechanism-Aware Neural Machine for Dialogue Response Generation的介紹。

    d. 代碼支持多機(jī)多GPU運(yùn)行。

    e. 目前訓(xùn)練的結(jié)果都是QA對(duì),對(duì)于一個(gè)問(wèn)題,可以有多個(gè)答案。

    f. 目前沒(méi)有一個(gè)方法進(jìn)行accuracy測(cè)試,一個(gè)思路是在訓(xùn)練中就提供干擾項(xiàng),因?yàn)楫?dāng)前只有正確的答案,如果提供錯(cuò)誤的答案(而且越多越好),就可以使用recall_at_k方法進(jìn)行測(cè)試。

    機(jī)器人家上了解到的,希望對(duì)你有用

    三、有哪些API接口可以用來(lái)做聊天機(jī)器人?

    1.海知智能:

    1. 海知智能第三方技能插件開(kāi)放平臺(tái)概述 · ruyi.ai開(kāi)發(fā)者文檔 · 看云docs.ruyi.ai

    不光能聊天,還可以在網(wǎng)站里內(nèi)置技能,實(shí)現(xiàn)(翻譯,成語(yǔ)接龍等)數(shù)十項(xiàng)功能

    2.天行機(jī)器人:

    白嫖用戶(hù)綁定微信后有40000次永久額度,之后1元10000次

    3.思知機(jī)器人:

    AI機(jī)器人開(kāi)放平臺(tái) - 思知(OwnThink)www.ownthink.com

    4.青云客智能機(jī)器人:

    青云客智能聊天機(jī)器人APIapi.qingyunke.com

    5.圖靈機(jī)器人:

    圖靈機(jī)器人-智能好用的聊天機(jī)器人www.turingapi.com

    圖靈的官網(wǎng)如果不充值好像每日請(qǐng)求次數(shù)很低很低,但好在可以通過(guò)其他api網(wǎng)站進(jìn)行調(diào)取

    6.小i機(jī)器人:

    模版展示頁(yè)面nlp.xiaoi.com

    但小i機(jī)器人沒(méi)有api使用文檔,想要使用就只能自己分析

    import urllib.request

    import re

    message = “”

    msg = urllib.parse.quote(message)

    link=urllib.request.urlopen("http://nlp.xiaoi.com/robot/webrobot&callback=__webrobot_processMsg&data=%7B%22sessionId%22%3A%22ff725c236e5245a3ac825b2dd88a7501%22%2C%22robotId%22%3A%22webbot%22%2C%22userId%22%3A%227cd29df3450745fbbdcf1a462e6c58e6%22%2C%22body%22%3A%7B%22content%22%3A%22"+msg+"%22%7D%2C%22type%22%3A%22txt%22%7D")

    html_doc = link.read().decode()

    reply = re.findall(r'"content":"(.+?)\r\n"', html_doc)

    print(reply)

    可以通過(guò)這段python代碼進(jìn)行輸入并取得輸出

    四、如何和自動(dòng)聊天機(jī)器人聊天?

    找到自動(dòng)聊天機(jī)器人app,與它進(jìn)行對(duì)話就好。

    可以與它智能對(duì)話,及時(shí)問(wèn)答,百科信息,天氣,生活小知識(shí),聊天調(diào)侃。

    世界上最早的聊天機(jī)器人誕生于20世紀(jì)80年代,名為“阿爾貝特”,用BASIC語(yǔ)言編寫(xiě)而成。今天的互聯(lián)網(wǎng)上,已出現(xiàn)“比利”、“艾麗斯”等聊天機(jī)器人等,中文的如“白絲魔理沙”、“烏賊娘”等由網(wǎng)友制作的聊天機(jī)器人。據(jù)悉,還有一個(gè)“約翰·列儂人工智能計(jì)劃”,以再現(xiàn)當(dāng)年“披頭士”樂(lè)隊(duì)主唱的風(fēng)采為目標(biāo)。

    人工智能(AI)和神經(jīng)網(wǎng)絡(luò)語(yǔ)言處理(NLP)技術(shù)得到了空前的發(fā)展,這意味著與機(jī)器人交談越來(lái)越接近于與真人發(fā)生交談。現(xiàn)如今,開(kāi)發(fā)人員可以很容易地找到各種提供了AI和NLP服務(wù)的API,他們甚至不需要了解AI和NLP的工作原理。部分提供這類(lèi)服務(wù)的網(wǎng)站如下:Crunchable.io、Chatbots.io、Luis.ai、API.ai和Wit.ai。

    以上就是關(guān)于chatbots翻譯相關(guān)問(wèn)題的回答。希望能幫到你,如有更多相關(guān)問(wèn)題,您也可以聯(lián)系我們的客服進(jìn)行咨詢(xún),客服也會(huì)為您講解更多精彩的知識(shí)和內(nèi)容。


    推薦閱讀:

    chatGpT中文翻譯(chatwith翻譯中文)_2

    正版chatGPT(正版ChatGPT下載)

    chatGPT如何繞過(guò)字?jǐn)?shù)限制

    對(duì)主播最暖心的經(jīng)典語(yǔ)錄(祝主播越來(lái)越好的句子的詞)

    直播培訓(xùn)的好處(直播培訓(xùn)的好處和壞處)