999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Seq2Seq的機器人聊天應用實踐

2021-09-10 03:10:25翟高粵高乾龍趙云杰唐竹韻
客聯 2021年5期
關鍵詞:文本語言信息

翟高粵 高乾龍 趙云杰 唐竹韻

摘 要:自然語言處理(NLP)中的語言對話一直是機器學習的“圣杯”,也是機器學習挑戰(zhàn)圖靈測試的主力。從人工智能的概念被提出開始,語言對話任務一直是業(yè)界研究的熱點,本文通過NLP基礎理論知識、Seq2Seq模型來介紹中文聊天機器人的原理,并使用TensorFlow 2.0的高階API完成編程。

關鍵詞:深度學習;Seq2Seq模型;機器人聊天;Tensorflow2.0

目前機器學習,尤其是深度學習,已經成功的解決了圖像識別的問題。從IMAGENET大賽的近幾年成績看,識別類問題準確度已經接近100%。與此同時,機器學習在解決“語音到文字”(Speech to Text)以及“文字到語音” (Text to Speech)方面也有了飛躍。聊天機器人的研究可以追溯到上個世紀五十年代,阿蘭圖靈提出了一個圖靈測試來回答“機器能思考嗎”的問題,隨后掀起了人工智能研究的熱潮。聊天機器人可應用于多個人機交互場景,比如問答系統(tǒng)、談判、電子商務、輔導等。最近,隨著移動終端數量的急劇增加,它也可以用于手機終端的虛擬助理,如Apple的Siri、微軟的Cortana、Facebook的Messenger,Google助手等,讓用戶更容易地從終端上獲取信息和服務。

一、機器人聊天基礎理論知識簡介

(一)語言模型

語言模型其實是一個打分模型,通過對一句話進行打分來判斷這句話是否符合人類的自然語言習慣。語言模型的發(fā)展歷史久遠,經歷了統(tǒng)計語言模型、n-gram語言模型和神經網絡語言模型三個階段。

統(tǒng)計語言模型是統(tǒng)計每個詞出現的頻次來形成詞頻字典,然后根據輸入計算下一個輸出詞的概率,最后形成輸出語句的。統(tǒng)計語言模型輸出語句的概率是依據貝葉斯公式進行鏈式分解計算得到的,計算公式如下:p(w1,w2,w3,…,wn)=p(w1)p(w2|w1)p(w3|w1w2)…p(wn|w1w2w3…wn),這樣的計算求解方法雖然直觀、明了,但存在著致命的缺陷。我們細想一下就會發(fā)現,如果字典中有1000個詞,當處理一個句子長度為3的語句時,則需要計算輸出語句概率P的數量是10003;當句子長度為10時,需要計算輸出語句概率P的數量是100010。在計算完輸出語句的概率之后,需要選擇P值輸出語句作為最終的生成語句。以上計算過程在通用算力下幾乎是不可能完成的。

由上我們發(fā)現,利用統(tǒng)計語言模型計算輸出語句概率的數量大到無法計算,是由依據貝葉斯公式通過鏈式法則進行展開后全量連乘所引起的,那么解決這個問題的方法只有一個,就是縮短連乘的長度,其理論依據是馬爾可夫假設。簡單來說,所謂的馬爾可夫假設就是指當前的狀態(tài)只與過去有限時間內的狀態(tài)有關?;隈R爾可夫假設的語言模型稱為n-gram,這里的n表示馬爾可夫鏈的長度,表示當前狀態(tài)與前n-1個時間點事件有關。當n=1時,表示一個詞出現的概率與其周圍的詞出現的概率是相互獨立的,稱為unigram。在unigram中,假設字典大小為1000,我們所需計算的輸出語句概率P的數量為1000。依此類推,當n=2時,表示一個詞出現的概率只與其前一個詞出現的概率有關,稱為bigram。在bigram中,假設字典大小為1000,我們所需計算的輸出語句概率P的數量為1000×1000。當n=3時,表示一個詞出現的概率只與其前兩個詞出現的概率有關,稱為trigram。在trigram中,假設字典大小為1000,我們所需計算的輸出語句概率P的數量為1000×1000×1000。一般我們選擇 trigram,因為如果n過大的話,則同樣會出現統(tǒng)計語言模型遇到的問題。

神經網絡語言模型是Begio等人在2003年發(fā)表的A Neural Probabilistic Language Model論文中提出的方法,其在n-gram語言模型的基礎上進行了改進。神經網絡語言模型采用one-hot(獨熱編碼)表示每個詞的分布情況,將輸入語句進行編碼轉換后輸入神經網 絡,經過tanh非線性變換和softmax歸一化后得到一個總和為1的向量,在向量中最大元素的下標作為輸出詞的字典編碼,通過字典編碼查詢字典得到最終的輸出詞。

(二)循環(huán)神經網絡

循環(huán)神經網絡(Recurrent Neural Network,RNN)是神經網絡專家Jordan、Pineda.Williams、Elman等人于20世紀80年代末提出的一種神經網絡結構模型,這種網絡的特征是在神經元之間既有內部的反饋連接又有前饋連接。當前主流的NLP應用都集中在RNN領域。

RNN的提出是神經網絡語言模型領域一次非常大的突破,但人們在應用的過程中發(fā)現RNN存在兩個致命的缺陷:梯度消失和梯度爆炸。

二、Seq2Seq模型介紹

Seq2Seq的全稱是Sequence to Sequence,它是基于Encoder- Decoder框架的RNN的變種。Seq2Seq引入了Encoder-Decoder框架,提高了神經網絡對長文本信息的提取能力,取得了比單純使用LSTM 更好的效果。目前Seq2Seq在各種自然語言處理的任務中得到大量的應用,最常用的是語言翻譯和語言生成。Seq2Seq中有兩個非常重要的概念需要我們掌握,其中一個是Encoder-Decoder框架;另一個是 Attention機制。

(一)Encoder-Decoder框架

Encoder-Decoder是處理輸入、輸出長短不一的多對多文本預測問題的框架,其提供了有效的文本特征提取、輸出預測的機制。Encoder-Decoder框架包含兩部分內容,分別是Encoder(編碼器)和Decoder(解碼器)。

(1)編碼器

編碼器的作用是對輸入的文本信息進行有效的編碼后將其作為解 碼器的輸入數據。編碼器的目標是對輸入的文本信息進行特征提取,盡量準確高效地表征該文本的特征信息。

(2)解碼器

解碼器的作用是從上下文的文本信息中獲取盡可能多的特征,然后輸出預測文本。根據對文本信息的獲取方式不同,解碼器一般分為4種結構,分別是直譯式解碼、循環(huán)式解碼、增強循環(huán)式解碼和注意力機制解碼。

(二)Attention機制

Attention機制有效地解決了輸入長序列信息時真實含義獲取難的問題,在進行長序列處理的任務中,影響當前時刻狀態(tài)的信息可能隱藏在前面的時刻里,根據馬爾可夫假設這些信息有可能就會被忽略掉。神經網絡模型沒有辦法很好地準確獲取倒裝時序的語言信息,要解決這個問題就需要經過訓練自動建立起句子間的關聯關系,這就是Attention機制。

三、基于seq2seq項目工程結構設計

整個項目工程結構分為兩部分:文件夾和代碼文件,在編程實踐中建議采用文件夾和代碼文件的方式來設計項目工程結構。所謂的文件夾和代碼文件的方式是指把所有的Python代碼文件放在根目錄下,其他需要存放的靜態(tài)文件、訓練數據文件和模型文件等都放在文件夾中。本項目分為5個部分:配置工具(getConfig.py)、數據預處理器(data_util.py)、神經網絡模型(seq2seqModel.py)、執(zhí)行器(execute.py)和應用程序(app.py)。配置工具提供了通過配置文件來全局配置神經網絡超參數的功能;數據預處理器提供了數據加載功能;神經網絡模型實現了Seq2Seq神經網絡;執(zhí)行器提供了訓練模型保存、模型預測等功能;應用程序是一個基于Flask用于人機交互的簡單Web應用程序。在文件夾中,model_data存放訓練導出的模型文件;train_data存放訓練數據;templates存放HTML渲染模板;static存放JS等靜態(tài)文件。具體功能如下所述。

(一)工具類實現

在實際的編程中,往往需要對參數進行頻繁的調整,因此我們定義一個工具類來讀取配置文件中的配置參數,這樣當需要調參時,只需對配置文件中的參數進行調整即可。

(二)data_util實現

data_util對原始語料數據根據其格式特點進行初步處理,比如將問句和答句分開、對語料進行分詞等。

(三)seq2seqModel實現

seq2seqModel是本文的核心內容,我們按照Encoder-Decoder框架構建一個完整的Seq2Seq模型。

(四)執(zhí)行器實現

執(zhí)行器提供創(chuàng)建模型、保存訓練模型、加載模型和預測的功能,在編程實踐中分別定義了create_model函數、train函數和預測函數用于實現以上功能。

(五)Web應用實現

Web應用的主要功能包括完成頁面交互、圖片格式判斷、圖片上傳以及預測結果的返回展示。這里我們使用Flask這個輕量級Web應用框架來實現簡單的頁面交互和預測結果展示功能。

四、結論

本文介紹了seq2seq的結構、應用及基本實現。seq2seq屬于encoder-decoder結構的一種,其基本思想就是利用兩個RNN,一個RNN作為encoder,另一個RNN作為decoder。encoder負責將輸入序列壓縮成指定長度的向量,這個向量就可以看成是這個序列的語義,這個過程稱為編碼,而decoder則負責根據語義向量生成指定的序列,這個過程也稱為解碼。本文為應用seq2seq框架的技術人員提供了一個較為詳細的使用價值。

【參考文獻】

[1] 張鶴凝等.基于seq2seq模型的心理咨詢對話系統(tǒng)的研究[J],信息記錄材料,2021(3).

[2] 張宇等.融入注意力機制的深度學習動作識別方法[J],電訊技術,2021(4).

[3] 閆濤. 深度學習算法實踐 [M]. 電子工業(yè)出版社出版社,2020.

[4] 王宇石等.一種基于卷積神經網絡的違禁品探測系統(tǒng)及部署方法[J],科技創(chuàng)新與應用,2020(7).

猜你喜歡
文本語言信息
語言是刀
文苑(2020年4期)2020-05-30 12:35:30
在808DA上文本顯示的改善
基于doc2vec和TF-IDF的相似文本識別
電子制作(2018年18期)2018-11-14 01:48:06
讓語言描寫搖曳多姿
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
累積動態(tài)分析下的同聲傳譯語言壓縮
文本之中·文本之外·文本之上——童話故事《坐井觀天》的教學隱喻
我有我語言
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
如何快速走進文本
語文知識(2014年1期)2014-02-28 21:59:13
主站蜘蛛池模板: 综1合AV在线播放| 国产在线拍偷自揄观看视频网站| 日韩a在线观看免费观看| 欧美午夜久久| 性视频久久| 91成人免费观看| 91po国产在线精品免费观看| 99久久国产综合精品2023| 国产精品一区二区不卡的视频| 国产成人a毛片在线| 国产欧美日韩va另类在线播放| 国产精品私拍99pans大尺度| 亚洲精品第一在线观看视频| 国产精品九九视频| 日韩精品亚洲一区中文字幕| 欧美成人二区| 伊人国产无码高清视频| 日韩无码黄色网站| 欧美专区在线观看| 久久国产香蕉| 国产精品久久自在自2021| 亚洲一级毛片免费看| 国产va在线观看| 伊人激情综合| 91年精品国产福利线观看久久| 99成人在线观看| 亚洲天堂日韩在线| 亚洲无码电影| 国产欧美亚洲精品第3页在线| 欧美激情,国产精品| 天堂av综合网| 91视频首页| 欧美a在线视频| 亚洲黄色成人| 国产精品流白浆在线观看| 91精品久久久无码中文字幕vr| 亚洲精品无码专区在线观看 | 毛片免费在线视频| 午夜少妇精品视频小电影| 国产精品一区二区久久精品无码| 国产午夜精品鲁丝片| 一级高清毛片免费a级高清毛片| AV网站中文| 99久久国产综合精品2023| 亚洲中字无码AV电影在线观看| 国产浮力第一页永久地址| 青青青国产视频| 午夜a级毛片| 国产女人水多毛片18| 综合久久五月天| 超碰色了色| 亚洲Av激情网五月天| 一级毛片在线免费视频| 亚洲啪啪网| 国产成人高清精品免费| 青青青伊人色综合久久| 在线国产欧美| 天天摸天天操免费播放小视频| 婷婷激情五月网| 狠狠亚洲五月天| 日韩欧美国产成人| 亚洲va视频| 99久视频| 99人体免费视频| 午夜日b视频| 亚洲高清日韩heyzo| 嫩草国产在线| 中文字幕亚洲精品2页| 国产欧美自拍视频| 成人免费视频一区| 天堂岛国av无码免费无禁网站| 免费国产高清视频| 久久网欧美| 尤物成AV人片在线观看| 91精品久久久久久无码人妻| 欧美福利在线观看| 在线观看无码av免费不卡网站| 免费毛片全部不收费的| 欧美一道本| 自拍亚洲欧美精品| 婷婷激情亚洲| 国产精品亚洲片在线va|