seq2seq聊天模型 一

2022-08-21 20:51:15 字數 1209 閱讀 7638

最近完成了sqe2seq聊天模型,磕磕碰碰的遇到不少問題,最終總算是做出來了,並符合自己的預期結果。

利用流程圖,從理論方面,回顧,總結seq2seq模型,

你給模型一段輸入,它返回一段輸出!

可以用在這些情景,聊天模型、翻譯、看圖說話、主旨提取等等涉及自然語言的層面,用途較廣泛

例如:輸入"今天中午吃什麼",

輸出"吃蘭州拉麵"。

seq2seq是通過encoder編譯器將一段輸入,編譯,匯聚成乙個狀態。再通過decoder解析器,解析該狀態,返回乙個輸出!

encoder和decoder都是建立再lstm或者rnn的基礎上。

## 執行流程輸入"今天中午吃什麼"

通過結巴分詞工具,分詞為["今天", "中午", "吃", "什麼"]

輸出結果為:輸入通過seq2seq的計算後,輸出結果為["吃", "拉州", "拉麵"]

對於分詞最終都會轉換為相應的向量

我採用了兩種方法,將分詞轉換為向量

1.隨機定義分詞的向量,訓練過程中,不斷的修改,最終形成分詞向量。

(下面**,可以忽略)

self.dec_wemb = tf.get_variable('embedding', 

initializer=tf.random_uniform([dec_vocab_size + 2, self.dec_emb_size]),

dtype=tf.float32)

2.使用gesim工具,將分詞轉換為向量。(我認為這個好,拓展性廣很多)

for world in all_words_list:

# ["_gao_", "_pad_", "*",

if world == "_gao_" or world == "_pad_" or world == "*":

continue

try:

except keyerror:

這裡是基礎模型(還有attention模型,schedule模型等)

模型的核心點都是在encoder處,編譯整理輸入狀態,傳遞給decoder解析器,解析得到結果!

seq2seq模型詳解

在李紀為博士的畢業 中提到,基於生成的閒聊機械人中,seq2seq是一種很常見的技術。例如,在法語 英語翻譯中,的當前英語單詞不僅取決於所有前面的已翻譯的英語單詞,還取決於原始的法語輸入 另乙個例子,對話中當前的response不僅取決於以往的response,還取決於訊息的輸入。其實,seq2se...

Seq2Seq模型結構

seq2seq sequence to sequence 是乙個處理序列問題的模型,傳統的 rnn 或 lstm 只能處理 輸入及輸出是定長即 一對一或多對多的問題,而 seq2seq 則能處理一對多的問題,它也是 rnn 最重要的乙個變種 n vs m 輸入與輸出序列長度不同 編碼 解碼模型,主要...

介紹 Seq2Seq 模型

2019 09 10 19 29 26 問題描述 什麼是seq2seq模型?seq2seq模型在解碼時有哪些常用辦法?問題求解 seq2seq模型是將乙個序列訊號,通過編碼解碼生成乙個新的序列訊號,通常用於機器翻譯 語音識別 自動對話等任務。在seq2seq模型提出之前,深度學習網路在影象分類等問題...