【NLP】人機對話

概念

機器翻譯就是用計算機把一種語言翻譯成另外一種語言的技術

機器翻譯的產生與發展

17 世紀,笛卡爾與萊布尼茨試圖用統一的數字代碼來編寫詞典
1930 機器腦
1933 蘇聯發明家特洛陽斯基用機械方法將一種語言翻譯為另一種語言
1946 ENIAC 誕生
1949 機器翻譯問題被正式提出
1954 第一個 MT 系統出現
1964 遇到障礙,進入低迷期
1970-1976 開始復蘇
1976-1990 繁榮時期
1990-1999 除了雙語平行預料,沒有其他的發展
1999-now 爆發期
2014 以后出現基于深度學習/神經網絡的 MT

機器翻譯的要點

正確的機器翻譯必須要解決語法與語義歧義
不同類型語言的語言形態不一致
有的詞語在不同語言中不能夠互通

詞匯層的翻譯

(1)形態分析:對于原始的句子進行形態分析,對于時態等特殊要素進行標記
(2)詞匯翻譯
(3)詞匯重排序
(4)形態變換

語法層的翻譯

語法層的翻譯就是將一種語言的語法樹映射到另一語言的語法樹
e.g.英語 ->日語
V P → V N P c h a n g e t o V P → N P V VP \to VNP changeto VP \to NP V VPVNPchangetoVPNPV
P P → P N P c h a n g e t o N P → N P P PP \to PNP changeto NP \to NP P PPPNPchangetoNPNPP
三個階段:句法分析,轉換句法樹,用目標語法樹生成句子

語義層的翻譯

基本翻譯方法

直接轉換法
基于規則的翻譯方法
基于中間語言的翻譯方法
基于語料庫的翻譯方法

直接轉換法

從源語言的表層出發,直接只換成目標語言譯文,必要時進行簡單詞序調整

基于規則的翻譯方法

把翻譯這一過程與語法分開,用規則描述語法
翻譯過程:
(1)對源語言句子進行詞法分析
(2)對源語言句子進行句法/語義分析
(3)結構轉換
(4)譯文句法結構生成
(5)源語言詞匯到譯文詞匯的轉換
(6)譯文詞法選擇與生成
獨立分析-獨立生成-相關轉換
優缺點:可以較好地保持原文的結構,但是規則一般由人工編寫,工作量大,對非規范語言無法處理

基于中間語言的翻譯方法

源語言解析-比較準確的中間語言-目標語言生成器

基于語料庫的翻譯方法

基于事例的翻譯方法

在這里插入圖片描述

統計機器翻譯

獲取大量各國語言翻譯成英語的文本,然后進行句子對齊
翻譯目標:準確度(faithfulness),結構正確/可讀性強(fluency)
T = arg ? max ? T ∈ T a r g e t f a i t h f u l n e s s ( T , S ) × f l u e n c y ( T ) T = \arg \max\limits_{T \in Target} faithfulness(T,S) \times fluency(T) T=argTTargetmax?faithfulness(T,S)×fluency(T)
在這里插入圖片描述

噪聲信道模型

依然與之前語言模型中的貝葉斯類似
將源語言句子 f = f 1 f 2 . . . f=f_1f_2... f=f1?f2?...翻譯到目標語言 e = e 1 e 2 e=e_1e_2 e=e1?e2?,使 P(e|f)最大化
e ^ = arg ? max ? e ∈ E n g l i s h P ( e ∣ f ) = arg ? max ? e ∈ E n g l i s h P ( f ∣ e ) P ( e ) \hat e = \arg \max\limits_{e \in English}P(e|f) = \arg \max\limits_{e \in English}P(f|e)P(e) e^=argeEnglishmax?P(ef)=argeEnglishmax?P(fe)P(e)
此外還需要 decoder 來進行解碼

語言模型 p(e)

可以采用 n-gram 或者 PCFG 計算

翻譯模型 p(f|e)

對于 IBM Model 1:
(1)選擇長度為 m 的句子 f,英文句子長度為 l
(2)選擇一到多的對齊方式:A = a1a2…an
(3)對于 f 中的單詞 fj,由 e 中相應的對齊詞 e a j e_{aj} eaj?生成
red:對齊:一種對齊定義了每個外文詞可以由哪個(些)英文詞翻譯過來
目標式可以表示為: p ( f ∣ e , m ) = ∑ a ∈ A p ( f , a ∣ e , m ) p(f|e,m)=\sum\limits_{a \in A}p(f,a|e,m) p(fe,m)=aA?p(f,ae,m)
由鏈式法則可得: p ( f , a ∣ e , m ) = p ( a ∣ e , m ) p ( f ∣ a , e , m ) p(f,a|e,m) = p(a|e,m)p(f |a,e,m) p(f,ae,m)=p(ae,m)p(fa,e,m)
對于 p(a|e,m),IBM Model 1 假設所有的對齊方式具有相同的概率: p ( a ∣ e , m ) = 1 ( l + 1 ) m p(a|e,m) = \frac{1}{(l+1)^m} p(ae,m)=(l+1)m1?
對于 p(f|a,e,m), p ( f ∣ a , e , m ) = ∏ j = 1 m t ( f j ∣ e a j ) p(f|a,e,m) = \prod\limits_{j=1}^mt(f_j|e_{aj}) p(fa,e,m)=j=1m?t(fj?eaj?)
在這里插入圖片描述

t(f|e)表示英文詞 eaj 翻譯成外文詞 fj 的概率
故: p ( f ∣ e , m ) = ∑ p ( f , a ∣ e , m ) = ∑ a ∈ A 1 ( l + 1 ) m ∏ j = 1 m t ( f j ∣ e a j ) p(f|e,m) = \sum p(f,a|e,m) = \sum\limits_{a \in A} \frac{1}{(l+1)^m}\prod\limits_{j=1}^mt(f_j|e_{aj}) p(fe,m)=p(f,ae,m)=aA?(l+1)m1?j=1m?t(fj?eaj?)
根據以上計算式,也可以計算某種對齊方式的概率:
a ? arg ? max ? a p ( a ∣ f , e , m ) = arg ? max ? a p ( f , a ∣ e , m ) p ( f ∣ e , m ) a^* \arg \max_ap(a|f,e,m) = \arg \max_a \frac{p(f,a|e,m)}{p(f|e,m)} a?argmaxa?p(af,e,m)=argmaxa?p(fe,m)p(f,ae,m)?

IBM Model 2:
對于 model 2,引入了對齊時的扭曲系數
q(i|j,l,m)給定 e 和 f 對齊的時候,第 j 個目標語言詞匯和第 i 個英文單詞對齊的概率
p ( a ∣ e , m ) = ∏ j = 1 m q ( a j ∣ j , l , m ) p(a|e,m) = \prod\limits_{j=1}^mq(a_j|j,l,m) p(ae,m)=j=1m?q(aj?j,l,m)
p ( f , a ∣ e , m ) = ∏ j = 1 m q ( a j ∣ j , l , m ) t ( f j ∣ e a j ) p(f,a|e,m) = \prod\limits_{j=1}^mq(a_j|j,l,m)t(f_j|e_{aj}) p(f,ae,m)=j=1m?q(aj?j,l,m)t(fj?eaj?)
在這里插入圖片描述

IBM model 2 最優對齊:
在這里插入圖片描述

t 與 q 的計算

已有數據:雙語(句子)對齊資料(包含/不包含詞對齊信息)
e ( k ) , f ( k ) , a ( k ) e^{(k)},f^{(k)},a^{(k)} e(k),f(k),a(k)
采用極大似然估計法:
t M L ( f ∣ e ) = C o u n t ( e , f ) C o u n t ( e ) , t M L ( j ∣ i , l , m ) = C o u n t ( j ∣ i , l , m ) C o u n t ( i , l , m ) t_{ML}(f|e) =\frac{Count(e,f)}{Count(e)},t_{ML}(j|i,l,m) = \frac{Count(j|i,l,m)}{Count(i,l,m)} tML?(fe)=Count(e)Count(e,f)?,tML?(ji,l,m)=Count(i,l,m)Count(ji,l,m)?
在這里插入圖片描述

如果不包含詞對齊信息:

在這里插入圖片描述
在這里插入圖片描述

基于短語的翻譯

有時候會出現多個詞對應一個詞的情況,有時候也需要更長的上下文來消除詞的歧義,于是推出了基于短語的翻譯

基本過程

構建短語對齊詞典
基于短語的翻譯模型:
(1)詞組合成短語
(2)短語翻譯
(3)重排序
解碼問題

短語對齊詞典

輸入:句子對齊語料
輸出:短語對齊語料
e.g.他將訪問中國He will visit China
(他將,He will)(訪問中國,visit China)
每個互譯的短語對(f,e)都有一個表示可能性的分值 g(f,e)
g ( f , e ) = log ? c o u n t ( f , e ) c o u n t ( e ) g(f,e) = \log \frac{count(f,e)}{count(e)} g(f,e)=logcount(e)count(f,e)?
同時使用噪聲信道模型依然可以用來表示最優英語翻譯:
e b e s t = arg ? max ? e p ( f ∣ e ) p L M ( e ) e_{best}=\arg \max_e p(f|e)p_{LM}(e) ebest?=argmaxe?p(fe)pLM?(e)

語言模型

一般采用 3-gram:q(w|u,v)

排序模型

可以簡化為基于距離的排序: η × ∣ s t a r t i ? e n d i ? 1 ? 1 ∣ \eta \times|start_i-end_{i-1}-1| η×starti??endi?1??1∣
其中 η \eta η為扭曲參數,通常為負值
在這里插入圖片描述

幾個概念

p(s,t,e):源句子中 xs 到 xt 的詞串可以被翻譯為目標語言的詞串 e
P:所有短語 p 的集合
y:類似 P,導出,表示一個由有限個短語構成的短語串
e(y):表示由導出 y 確定的翻譯

解碼問題

求解最優翻譯是一個 NP-complete 問題
可能的方案:基于啟發式搜索解碼算法
狀態 q:五元組(e1,e2,b,r,alpha)
e1,e2 表示待翻譯短語對應翻譯中最后兩個英文詞
b 為二進制串 ,1 為已經翻譯,0 為未翻譯
r 表示當前待翻譯短語的最后一個詞在句子中的位置
alpha 表示該狀態的得分
起始 q 0 = ( / , / , 0 n , 0 , 0 ) q_0 = (/,/,0^n,0,0) q0?=(/,/,0n,0,0)
在這里插入圖片描述

next(q,p) 表示 q 經過短語 p 觸發,轉移到下一個狀態
eq(q,q‘)用來驗證兩個狀態是否相等,只比較前四項值

beam(Q)

在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/15249.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/15249.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/15249.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

香蕉成熟度檢測YOLOV8NANO

香蕉成熟度檢測YOLOV8NANO,采用YOLOV8NANO訓練,得到PT模型,然后轉換成ONNX模型,讓OEPNCV調用,從而擺脫PYTORCH依賴,支持C。python,安卓開發。能檢測六種香蕉類型freshripe freshunripe overripe…

Vita-CLIP: Video and text adaptive CLIP via Multimodal Prompting

標題:Vita-CLIP: 通過多模態提示進行視頻和文本自適應CLIP 源文鏈接:https://openaccess.thecvf.com/content/CVPR2023/papers/Wasim_Vita-CLIP_Video_and_Text_Adaptive_CLIP_via_Multimodal_Prompting_CVPR_2023_paper.pdfhttps://openaccess.thecvf.…

sw布爾減

可能最有效率還是草圖邊界線,然后用草圖做分割

ue5 中ps使用記錄貼

一、快捷鍵記錄 放大圖形 ctrlalt空格 放大圖形 縮小視口 ctrl空格 ctrlD 取消選區 ctrlt縮小文字 w魔棒工具 選擇魔棒的時候把容差打開的多一點 二、案例 移動文字 在相應的圖層選擇 移動文字 修改圖片里的顏色 在通道里拷貝紅色通道,復制紅色通道粘貼給正常圖…

記錄Hbase出現HMaster一直初始化,日志打印hbase:meta,,1.1588230740 is NOT online問題的解決

具體錯誤 hbase:meta,,1.1588230740 is NOT online; state{1588230740 stateOPEN, ...... 使用 hbase 2.5.5 ,hdfs和hbase分離兩臺服務器。 總過程 1. 問題發現 在使用HBase的程序發出無法進行插入到HBase操作日志后檢查HBase狀況。發現master節點和r…

大模型應用商業化落地關鍵:給企業帶來真實的業務價值

2024 年被很多人稱為大模型應用的元年,毫無疑問,大模型已經成為共識,下一步更急迫的問題也擺在了大家的面前——大模型到底能夠用在哪?有哪些場景能落地?怎么做才能創造真正的價值? 在剛剛過去的 AICon 全…

【排序算法】快速排序(四個版本以及兩種優化)含動圖)

制作不易,三連支持一下吧!!! 文章目錄 前言一.快速排序Hoare版本實現二.快速排序挖坑法版本實現三.快速排序前后指針版本實現四.快速排序的非遞歸版本實現五.兩種優化總結 前言 前兩篇博客介紹了插入和選擇排序,這篇博…

halcon配合yolov8導出onnx模型檢測物體

1.工業上多數視覺開發都是用halcon開發的,halcon本身也有自己的深度學習網絡,至于halcon如果不使用本身的深度學習,使用其他網絡導出的onnx模型怎樣配合使用?本文基于yolov8寫一個列子。 2。創建輸入數據的轉換代碼 #region 創建輸…

Nginx高可用性架構:實現負載均衡與故障轉移的探索

隨著網絡應用的不斷發展和用戶訪問量的增長,如何確保系統的高可用性、實現負載均衡以及快速響應故障轉移成為了每個運維和開發團隊必須面對的挑戰。Nginx作為一款高性能的HTTP和反向代理服務器,憑借其強大的功能和靈活的配置,成為了實現這些目…

題目:填空練習(指向指針的指針)

題目:填空練習(指向指針的指針) There is no nutrition in the blog content. After reading it, you will not only suffer from malnutrition, but also impotence. The blog content is all parallel goods. Those who are worried about …

【bugfix】/usr/local/bin/docker-compose:行1: html: 沒有那個文件或目錄

前言 在使用 docker-compose 管理容器化應用時,偶爾會遇到一些意想不到的錯誤,比如當嘗試運行 docker-compose 命令時,終端非但沒有展示預期的輸出,反而出現類似網頁錯誤的信息。這類問題通常與 docker-compose 的安裝或配置有關…

首都師范大學聘請旅美經濟學家向凌云為客座教授

2024年4月17日,首都師范大學客座教授聘任儀式在首都師范大學資源環境與旅游學院舉行。首都師范大學資源環境與旅游學院院長呂拉昌主持了儀式,并為旅美經濟學家向凌云教授頒發了聘書。 呂拉昌院長指出,要貫徹教育部產學研一體化戰略&#xff0…

數據庫工具類

public interface DbMapper {/*** 查詢數據庫類型*/String queryDbType(); }<select id"queryDbType" resultType"java.lang.String">select<choose><when test"_databaseId mysql">mysql</when><when test"_d…

虛擬機Centos擴展磁盤空間

虛擬機空間&#xff1a;現sda大小20G&#xff0c;因課程需要擴容 在虛擬機擴容中&#xff0c; 新增一塊硬盤 和 直接在原有硬盤基礎上擴容是一樣的&#xff08;只不過在原有硬盤上擴容需要關機才可以執行&#xff09;&#xff1b; 但兩者都最好先做數據備份或快照&#xff0c…

夏令營復習coding 算法第一天-狀態:新奇

T1:bubble冒泡排序 &#xff08;1&#xff09;思路&#xff1a;兩次循環&#xff0c;外層循環從后面開始-作為一個支點&#xff0c;內層循環每次將當前需要排序的最大的那個元素一步步移動到該支點&#xff0c;最終升序排列完成 &#xff08;2&#xff09;代碼: #include &l…

5、設計模式之適配器模式/原型模式

文章目錄 開始之前適配器模式使用場景注意事項何時使用優缺點代碼實現 原型模式深拷貝和淺拷貝 開始之前 本章節是一個系列&#xff0c;里面用的的代碼實例都是連貫的。在實現某一種設計模式時&#xff0c;為了減少代碼篇幅&#xff0c;前面博客出現model類&#xff08;僅限公…

【LabVIEW FPGA入門】同步C系列模塊

1.同步使用循環定時器VI計時循環速率的系列模塊 數字模塊SAR ADC 模塊多路復用模塊 數字通道可以在一個時鐘周期內執行。模擬通道需要多個時鐘周期。 同步模擬模塊的每個通道有一個 ADC&#xff0c;采集的數據在通道之間沒有明顯的偏差。多路復用模塊使用多路復用器通過單個 A…

Docker安裝并部署Gitlab,同時解決Gitlab服務經常503/500的問題

文章目錄 Docker 安裝Gitlab部署后需要解決的小問題1. 獲取初始密碼2. 解決剛安裝好的Gitlab頻繁出現503/500并重啟的錯誤 Docker 安裝Gitlab docker pull gitlab/gitlab-cedocker run -d -p 11443:443 -p 11090:80 -p 11022:22 \ --name gitlab \ --restart unless-stopped \…

深入理解NumPy與Pandas【numpy模塊及Pandas模型使用】

二、numpy模塊及Pandas模型使用 numpy模塊 1.ndarray的創建 import numpy as np anp.array([1,2,3,4]) bnp.array([[1,2,3,4],[5,6,7,8]]) print(a) #[1 2 3 4] print(b) #[[1 2 3 4][5 6 7 8]] 1.1使用array()函數創建 numpy.array(object, dtype None, copy True, ord…

vue2和vue3區別

Vue 3是Vue.js框架的下一代主要版本&#xff0c;它在2020年9月正式發布。Vue 3帶來了一系列的新特性和改進&#xff0c;包括性能提升、更小的打包尺寸、更好的TypeScript支持、新的組合式API等。以下是Vue 2和Vue 3之間的一些主要區別&#xff1a; 1. 性能提升&#xff1a; …