Commit f97b11e4 by 曹润柘

合并分支 'caorunzhe' 到 'master'

Caorunzhe

查看合并请求 !955
parents dca0f06e 30b1412a
......@@ -5,20 +5,20 @@
\tikzstyle{tnode}=[rectangle,inner sep=0mm,minimum height=1.8em,minimum width=4em,rounded corners=5pt,thick,draw,fill=teal!20]
\tikzstyle{stnode}=[rectangle,inner sep=0mm,minimum height=1.8em,minimum width=4em,rounded corners=5pt,thick,fill=red!20,draw]
\tikzstyle{rnnnode}=[rectangle,inner sep=0mm,minimum height=2em,minimum width=6.5em,rounded corners=5pt,thick,fill=green!20,draw]
\tikzstyle{rnnnode}=[rectangle,inner sep=0mm,minimum height=1.8em,minimum width=5em,rounded corners=5pt,thick,fill=green!20,draw]
\tikzstyle{wnode}=[inner sep=0mm,minimum height=2em,minimum width=5em]
\tikzstyle{wnode}=[inner sep=0mm,minimum height=2em,minimum width=4em]
\begin{scope}[]
\node [anchor=west,rnnnode] (r1) at (0, 0) {循环单元$\mathbi{h}_1$};
\node [anchor=south,rnnnode] (r2) at ([xshift=0em,yshift=1em]r1.north){循环单元$\mathbi{h}_2$};
\node [anchor=west,rnnnode] (r1) at (0, 0) {循环单元};
\node [anchor=south,rnnnode] (r2) at ([xshift=0em,yshift=1em]r1.north){循环单元};
\node [anchor=south] (r3) at ([xshift=0em,yshift=1em]r2.north){$\cdots$};
\node [anchor=south,rnnnode] (r4) at ([xshift=0em,yshift=1em]r3.north){循环单元$\mathbi{h}_n$};
\node [anchor=south,rnnnode] (r4) at ([xshift=0em,yshift=1em]r3.north){循环单元};
\node [anchor=east,wnode,font=\footnotesize] (wr1) at ([xshift=-1em,yshift=0em]r1.west) {1时刻输入};
\node [anchor=east,wnode,font=\footnotesize] (wr2) at ([xshift=-1em,yshift=0em]r2.west) {2时刻输入};
\node [anchor=east,wnode,font=\footnotesize] (wr3) at ([xshift=-1em,yshift=0em]r4.west) {$n$时刻输入};
\node [anchor=east,wnode,font=\footnotesize,align=left,minimum width=3em] (wr1) at ([xshift=-1em,yshift=0em]r1.west) {1时刻\\ 输入};
\node [anchor=east,wnode,font=\footnotesize,align=left,minimum width=3em] (wr2) at ([xshift=-1em,yshift=0em]r2.west) {2时刻\\ 输入};
\node [anchor=east,wnode,font=\footnotesize,align=left,minimum width=3em] (wr3) at ([xshift=-1em,yshift=0em]r4.west) {$n$时刻\\ 输入};
\node [anchor=north,wnode] (input) at ([xshift=0em,yshift=-1em]r1.south) {$\mathbi{h}_0$};
\node [anchor=south,wnode] (output) at ([xshift=0em,yshift=1em]r4.north) {输出};
......@@ -34,11 +34,11 @@
\draw[->,thick] ([xshift=0em,yshift=0em]wr2.east)--([xshift=0em,yshift=0em]r2.west);
\draw[->,thick] ([xshift=0em,yshift=0em]wr3.east)--([xshift=0em,yshift=0em]r4.west);
\node [anchor=north,font=\small] (label) at ([xshift=-4em,yshift=-0.5em]input.south) {(a)RNN};
\node [anchor=north,font=\small] (label) at ([xshift=-3em,yshift=-0.7em]input.south) {(a)RNN};
\end{scope}
\begin{scope}[xshift=1.9in]
\begin{scope}[xshift=1.85in]
\node [anchor=west,stnode] (r1) at (0, 0) {第1层};
\node [anchor=south,tnode] (r2) at ([xshift=0em,yshift=1em]r1.north){第2层};
......@@ -60,20 +60,20 @@
\draw[->,thick] ([xshift=0em,yshift=0em]r3.north)--([xshift=0em,yshift=0em]r4.south);
\draw[->,thick] ([xshift=0em,yshift=0em]r4.north)--([xshift=0em,yshift=0em]output.south);
\node [anchor=north,font=\small] (label) at ([xshift=-2em,yshift=-0.5em]input.south) {(b)原始Transformer模型};
\node [anchor=north,font=\small] (label) at ([xshift=-1.5em,yshift=-0.7em]input.south) {(b)原始Transformer模型};
\end{scope}
\begin{scope}[xshift=3.7in]
\begin{scope}[xshift=3.9in]
\node [anchor=west,stnode] (r1) at (0, 0) {第1层};
\node [anchor=south,stnode] (r2) at ([xshift=0em,yshift=1em]r1.north){第2层};
\node [anchor=south] (r3) at ([xshift=0em,yshift=1em]r2.north){$\cdots$};
\node [anchor=south,stnode] (r4) at ([xshift=0em,yshift=1em]r3.north){$n$};
\node [anchor=east,wnode,font=\footnotesize,align=left,minimum width=4em] (wr1) at ([xshift=-1em,yshift=0em]r1.west) {1时刻编\\ 码向量};
\node [anchor=east,wnode,font=\footnotesize,align=left,minimum width=4em] (wr2) at ([xshift=-1em,yshift=0em]r2.west) {2时刻编\\ 码向量};
\node [anchor=east,wnode,font=\footnotesize,align=left,minimum width=4em] (wr3) at ([xshift=-1em,yshift=0em]r4.west) {$n$时刻编\\ 码向量};
\node [anchor=east,wnode,font=\footnotesize,align=left] (wr1) at ([xshift=-1em,yshift=0em]r1.west) {1时刻\\码向量};
\node [anchor=east,wnode,font=\footnotesize,align=left] (wr2) at ([xshift=-1em,yshift=0em]r2.west) {2时刻\\码向量};
\node [anchor=east,wnode,font=\footnotesize,align=left] (wr3) at ([xshift=-1em,yshift=0em]r4.west) {$n$时刻\\码向量};
\node [anchor=north,wnode] (input) at ([xshift=0em,yshift=-1em]r1.south) {$\mathbi{h}_0$};
\node [anchor=south,wnode] (output) at ([xshift=0em,yshift=1em]r4.north) {输出};
......@@ -89,7 +89,7 @@
\draw[->,thick] ([xshift=0em,yshift=0em]wr2.east)--([xshift=0em,yshift=0em]r2.west);
\draw[->,thick] ([xshift=0em,yshift=0em]wr3.east)--([xshift=0em,yshift=0em]r4.west);
\node [anchor=north,font=\small,align=left] (label) at ([xshift=-2em,yshift=0.2em]input.south) {(c)共享权重的\\ Transformer模型};
\node [anchor=north,font=\small,align=left] (label) at ([xshift=-3em,yshift=-0.7em]input.south) {(c)共享权重的\\ Transformer模型};
\end{scope}
......
......@@ -21,25 +21,28 @@
\node [ffnnode,anchor=south] (ffn2) at ([yshift=0.5em]res3.north) {\tiny{$\textbf{Feed Forward Network}$}};
\node [Resnode,anchor=south] (res4) at ([yshift=0.3em]ffn2.north) {\tiny{$\textbf{Add \& LayerNorm}$}};
\node [anchor=north west,font=\scriptsize,align=center] (l1) at ([xshift=0.1em]ffn1.north east) {\\ \\};
\node [anchor=north west,font=\scriptsize,align=center] (l2) at ([xshift=0.1em]ffn2.north east) {\\ $n$ \\};
\node [anchor=north west,font=\scriptsize,align=center,ublue] (l1) at ([xshift=0.1em]ffn1.north east) {\\ $1$ \\};
\node [anchor=north west,font=\scriptsize,align=center,ublue] (l2) at ([xshift=0.1em]ffn2.north east) {\\ $n$ \\};
\node [anchor=south east,font=\scriptsize] (l3) at ([yshift=3em]l1.north east) {};
\node [anchor=north east,font=\scriptsize,align=center,opacity=0.0] (l4) at ([xshift=0.1em]ffn1.north west) {\\ \\};
\node [anchor=north east,font=\scriptsize,align=center,opacity=0.0] (l4) at ([xshift=0.1em]ffn1.north west) {\\ $1$ \\};
\node [anchor=north east,font=\scriptsize,align=center,opacity=0.0] (l5) at ([xshift=0.1em]ffn2.north west) {\\ $n$ \\};
\node [anchor=south west,font=\scriptsize] (l6) at ([yshift=3em]l4.north west) {};
\node [anchor=south west] (e1) at ([xshift=-1.4em,yshift=0.3em]res4.north west) {{编码器}};
\node [anchor=north,minimum height=0.1em,minimum width=0.1em] (set1) at ([xshift=0em,yshift=0.3em]sa1.south) {};
\node [anchor=north,minimum height=0.1em,minimum width=0.1em] (set2) at ([xshift=0em,yshift=0.3em]sa2.south) {};
\begin{pgfonlayer}{background}
\node [rectangle,inner sep=0.6em,rounded corners=5pt,very thick,dotted,minimum height=1.4em,minimum width=3.5em,draw=red!40] [fit = (e1) (sa1) (l1) (l4)] (b4) {};
\node [rectangle,inner sep=0.3em,rounded corners=5pt,very thick,dotted,draw=green!40,minimum height=1.4em,minimum width=7em] [fit = (l1) (sa1) (res2) (l4)] (b1) {};
\node [rectangle,inner sep=0.3em,rounded corners=5pt,very thick,dotted,draw=green!40,minimum height=1.4em,minimum width=7em] [fit = (dot1) (l3) (l6)] (b2) {};
\node [rectangle,inner sep=0.3em,rounded corners=5pt,very thick,dotted,draw=green!40,minimum height=1.4em,minimum width=7em] [fit = (l2) (sa2) (res4) (l5)] (b3) {};
\node [rectangle,inner sep=0.6em,rounded corners=5pt,very thick,dotted,minimum height=1.4em,minimum width=3.5em,draw=red] [fit = (e1) (sa1) (l1) (l4) (set1)] (b4) {};
\node [rectangle,inner sep=0.3em,rounded corners=5pt,very thick,dotted,draw=ublue,minimum height=1.4em,minimum width=7em] [fit = (l1) (sa1) (res2) (l4) (set1)] (b1) {};
\node [rectangle,inner sep=0.3em,rounded corners=5pt,very thick,dotted,draw=ublue,minimum height=1.4em,minimum width=7em] [fit = (dot1) (l3) (l6)] (b2) {};
\node [rectangle,inner sep=0.3em,rounded corners=5pt,very thick,dotted,draw=ublue,minimum height=1.4em,minimum width=7em] [fit = (l2) (sa2) (res4) (l5) (set2)] (b3) {};
\end{pgfonlayer}
\node [inputnode,anchor=north west] (input1) at ([yshift=-1.1em,xshift=-0.5em]sa1.south west) {\tiny{$\textbf{Embedding}$}};
\node [] (add) at ([yshift=-1.7em,xshift=3.5em]sa1.south west) {$+$};
\node [posnode,anchor=north east] (pos1) at ([yshift=-1.1em,xshift=1.6em]sa1.south east) {\tiny{$\textbf{Absolute Position}$}};
\node [inputnode,anchor=north west] (input1) at ([yshift=-1.6em,xshift=-0.5em]sa1.south west) {\tiny{$\textbf{Embedding}$}};
\node [] (add) at ([yshift=-2.2em,xshift=3.5em]sa1.south west) {$+$};
\node [posnode,anchor=north east] (pos1) at ([yshift=-1.6em,xshift=1.6em]sa1.south east) {\tiny{$\textbf{Absolute Position}$}};
\node [anchor=north] (wi) at ([yshift=-0.5em]pos1.south) {\scriptsize{词序信息}};
......@@ -83,25 +86,28 @@
\node [ffnnode,anchor=south] (ffn2) at ([yshift=0.5em]res3.north) {\tiny{$\textbf{Feed Forward Network}$}};
\node [Resnode,anchor=south] (res4) at ([yshift=0.3em]ffn2.north) {\tiny{$\textbf{Add \& LayerNorm}$}};
\node [anchor=north west,font=\scriptsize,align=center] (l1) at ([xshift=0.1em]ffn1.north east) {\\ \\};
\node [anchor=north west,font=\scriptsize,align=center] (l2) at ([xshift=0.1em]ffn2.north east) {\\ $n$ \\};
\node [anchor=north west,font=\scriptsize,align=center,ublue] (l1) at ([xshift=0.1em]ffn1.north east) {\\ $1$ \\};
\node [anchor=north west,font=\scriptsize,align=center,ublue] (l2) at ([xshift=0.1em]ffn2.north east) {\\ $n$ \\};
\node [anchor=south east,font=\scriptsize] (l3) at ([yshift=3em]l1.north east) {};
\node [anchor=north east,font=\scriptsize,align=center,opacity=0.0] (l4) at ([xshift=0.1em]ffn1.north west) {\\ \\};
\node [anchor=north east,font=\scriptsize,align=center,opacity=0.0] (l4) at ([xshift=0.1em]ffn1.north west) {\\ $1$ \\};
\node [anchor=north east,font=\scriptsize,align=center,opacity=0.0] (l5) at ([xshift=0.1em]ffn2.north west) {\\ $n$ \\};
\node [anchor=south west,font=\scriptsize] (l6) at ([yshift=3em]l4.north west) {};
\node [anchor=south west] (e1) at ([xshift=-1.4em,yshift=0.3em]res4.north west) {{编码器}};
\node [anchor=north,minimum height=0.1em,minimum width=0.1em] (set1) at ([xshift=0em,yshift=0.3em]sa1.south) {};
\node [anchor=north,minimum height=0.1em,minimum width=0.1em] (set2) at ([xshift=0em,yshift=0.3em]sa2.south) {};
\begin{pgfonlayer}{background}
\node [rectangle,inner sep=0.6em,rounded corners=5pt,very thick,dotted,minimum height=1.4em,minimum width=3.5em,draw=red!40] [fit = (e1) (sa1) (l1) (l4)] (b4) {};
\node [rectangle,inner sep=0.3em,rounded corners=5pt,very thick,dotted,draw=green!40,minimum height=1.4em,minimum width=7em] [fit = (l1) (sa1) (res2) (l4)] (b1) {};
\node [rectangle,inner sep=0.3em,rounded corners=5pt,very thick,dotted,draw=green!40,minimum height=1.4em,minimum width=7em] [fit = (dot1) (l3) (l6)] (b2) {};
\node [rectangle,inner sep=0.3em,rounded corners=5pt,very thick,dotted,draw=green!40,minimum height=1.4em,minimum width=7em] [fit = (l2) (sa2) (res4) (l5)] (b3) {};
\node [rectangle,inner sep=0.6em,rounded corners=5pt,very thick,dotted,minimum height=1.4em,minimum width=3.5em,draw=red] [fit = (e1) (sa1) (l1) (l4) (set1)] (b4) {};
\node [rectangle,inner sep=0.3em,rounded corners=5pt,very thick,dotted,draw=ublue,minimum height=1.4em,minimum width=7em] [fit = (l1) (sa1) (res2) (l4) (set1)] (b1) {};
\node [rectangle,inner sep=0.3em,rounded corners=5pt,very thick,dotted,draw=ublue,minimum height=1.4em,minimum width=7em] [fit = (dot1) (l3) (l6)] (b2) {};
\node [rectangle,inner sep=0.3em,rounded corners=5pt,very thick,dotted,draw=ublue,minimum height=1.4em,minimum width=7em] [fit = (l2) (sa2) (res4) (l5) (set2)] (b3) {};
\end{pgfonlayer}
\node [inputnode,anchor=north west] (input1) at ([yshift=-1.1em,xshift=-0.5em]sa1.south west) {\tiny{Embedding}};
\node [] (add) at ([yshift=-1.7em,xshift=3.5em]sa1.south west) {$+$};
\node [posnode,anchor=north east] (pos1) at ([yshift=-1.1em,xshift=1.5em]sa1.south east) {\tiny{Absolute Position}};
\node [inputnode,anchor=north west] (input1) at ([yshift=-1.6em,xshift=-0.5em]sa1.south west) {\tiny{Embedding}};
\node [] (add) at ([yshift=-2.2em,xshift=3.5em]sa1.south west) {$+$};
\node [posnode,anchor=north east] (pos1) at ([yshift=-1.6em,xshift=1.5em]sa1.south east) {\tiny{Absolute Position}};
\node [anchor=north] (wi) at ([yshift=-0.5em]pos1.south) {\scriptsize{词序信息}};
......@@ -130,9 +136,9 @@
\draw[->,standard] ([xshift=0em]wi.east) -- ([xshift=3.2em,yshift=0em]wi.east) -- ([xshift=-0em,yshift=0em]pos2.south);
\draw[->,standard] ([xshift=0em]wi.east) -- ([xshift=6.7em,yshift=0em]wi.east) -- ([xshift=-0em,yshift=0em]pos3.south);
\draw[->,standard] ([xshift=0em]wi.east) -- ([xshift=10.2em,yshift=0em]wi.east) -- ([xshift=-0em,yshift=0em]pos4.south);
\draw[->,standard] ([xshift=0em]pos2.north) -- ([xshift=0em,yshift=1.6em]pos2.north) -- ([xshift=-0em,yshift=0em]sa1.east);
\draw[->,standard] ([xshift=0em]pos3.north) -- ([xshift=0em,yshift=9em]pos3.north) -- ([xshift=-0em,yshift=0em]dot1.east);
\draw[->,standard] ([xshift=0em]pos4.north) -- ([xshift=0em,yshift=11.7em]pos4.north) -- ([xshift=-0em,yshift=0em]sa2.east);
\draw[->,standard] ([xshift=0em]pos2.north) -- ([xshift=0em,yshift=2.1em]pos2.north) -- ([xshift=-0em,yshift=0em]sa1.east);
\draw[->,standard] ([xshift=0em]pos3.north) -- ([xshift=0em,yshift=9.6em]pos3.north) -- ([xshift=-0em,yshift=0em]dot1.east);
\draw[->,standard] ([xshift=0em]pos4.north) -- ([xshift=0em,yshift=12.3em]pos4.north) -- ([xshift=-0em,yshift=0em]sa2.east);
\begin{pgfonlayer}{background}
......
......@@ -27,6 +27,9 @@
{0/0/8, 1/0/9, 2/0/10, 3/0/11, 4/0/12, 5/0/13, 6/0/14}
\node[anchor=north] (n\k) at ([xshift=-0em,yshift=-0.5em]a\i\j.south) {\i};
\node [anchor=east] (l1) at ([xshift=-0.3em,yshift=0em]n8.west) {$i$};
\node [anchor=north] (l2) at ([xshift=0em,yshift=-0em]n7.south) {$j$};
%\node [anchor=north] (n1) at ([xshift=0em,yshift=0em]a00.south west) {};
\end{scope}
......
......@@ -44,7 +44,7 @@
\parinterval 做研究可以搞单点突破,但从可实用的机器翻译系统构建来说,需要多技术互补融合,来解决实际问题和改善翻译品质。比如说,有的业内研究人员提出采用知识图谱来改善机器翻译模型性能,并希望用于解决稀缺资源语种机器翻译问题;有的引入语言分析技术来改善机器翻译;有的将基于规则的方法、统计机器翻译技术与神经机器翻译技术互补性融合;有的引入预训练技术来改善机器翻译品质等等。总体来说,这些思路都具有良好的研究价值,但是从应用角度来说,构建可实用的机器翻译系统,还需要考虑技术落地可行性。比如大规模知识图谱构建的代价和语言分析技术的精度如何,预训练技术对机器翻译帮助的上限等。
\parinterval 通常,我们分别将基于规则的方法、统计机器翻译和神经机器翻译称为第一、第二和第三代机器翻译技术,那么很自然地,人们会问第四代机器翻译技术将如何发展?有人说,第四代机器翻译技术会是基于知识的机器翻译技术;也有人说,是无监督机器翻译技术或者新的机器翻译范式,等等。在讨论第四代机器翻译技术这个问题之前,我们先思考一个问题:在翻译品质上,新一代机器翻译技术是否应该比目前的好?现在的问题是实验结果显示,比如拿商用的英汉汉英新闻机器翻译系统举例,经过几亿双语句对的训练学习,翻译品质人工评价的准确率可以达到80\%-90\%,那我们需要回答的一个简单问题是所谓的第四代机器翻译技术准备在新闻领域翻译达到怎样的准确率呢?只比现在高2\%或3\%个百分点,达到92\%或者93\%这一结果,估计无法获得新一代机器翻译技术这一称谓。
\parinterval 通常,我们分别将基于规则的方法、统计机器翻译和神经机器翻译称为第一、第二和第三代机器翻译技术,那么很自然地,人们会问第四代机器翻译技术将如何发展?有人说,第四代机器翻译技术会是基于知识的机器翻译技术;也有人说,是无监督机器翻译技术或者新的机器翻译范式,等等。在讨论第四代机器翻译技术这个问题之前,我们先思考一个问题:在翻译品质上,新一代机器翻译技术是否应该比目前的好?现在的问题是实验结果显示,比如拿商用的英汉汉英新闻机器翻译系统举例,经过几亿双语句对的训练学习,翻译品质人工评价的准确率可以达到80\%-90\%,那我们需要回答的一个简单问题是所谓的第四代机器翻译技术准备在新闻领域翻译达到怎样的准确率呢?只比现在高2或3个百分点,达到92\%或者93\%这一结果,估计无法获得新一代机器翻译技术这一称谓。
\parinterval 从历史发展观的维度考虑,新一代的技术必然存在,换句话说,第四代机器翻译技术一定会出现,只是不知道在什么时候而已。神经机器翻译的红利还没有被挖尽,还存在很好的发展空间,在可预期的将来,神经机器翻译技术还属于主流技术,但会产生大量变种。我们愿意把新一代机器翻译技术称为面向具体应用场景的第四代机器翻译技术,它在本质上是针对不同应用条件、不同应用场景提出的能力更强的机器翻译技术。它将不是一个简单的技术,而是一个技术集合,这是完全可能的。
......@@ -58,9 +58,9 @@
\parinterval 离线机器翻译技术可以为更小型的智能翻译终端设备提供服务,如大家熟知的翻译机、翻译笔、翻译耳机等智能翻译设备。在不联网的情况下,这些设备能实现高品质机器翻译功能,这类应用模式具有很大的潜力。但这类应用模式需要解决的问题也很多:首先是模型大小、翻译速度和翻译品质的问题;其次,考虑不同操作系统(如Linux、Android Q 和iOS)和不同架构(如x86、MIPS、ARM 等)的CPU 芯片的智能适配兼容问题。将来,离线翻译系统还可以安装到办公设备上,如传真机、打印机和复印机等,辅助人们实现支持多语言的智能办公。目前,人工智能芯片发展的速度非常快,而机器翻译芯片研发面临的最大问题是缺少应用场景和上下游的应用支撑,一旦时机成熟,机器翻译芯片的研发和应用也有可能会爆发。
\parinterval 机器翻译可以与文档解析、语音识别、{\small\bfnew{光学字符识别}}\index{光学字符识别}(Optical Character Recognition,OCR)\index{Optical Character Recognition} 和视频字幕提取等技术相结合,丰富机器翻译的应用模式。其中文档解析技术可以帮助实现Word文档翻译、PDF文档翻译、WPS 文档翻译、邮件翻译等更多格式文档自动翻译的目标,也可以作为插件嵌入到各种办公平台中,成为智能办公好助手。语音识别与机器翻译是绝配,语音翻译用途广泛,比如翻译机、语音翻译APP和会议AI同传应用。但目前最大的问题主要体现在两个方面,一是很多实际应用场景中语音识别效果欠佳,造成错误蔓延,导致机器翻译结果不够理想;二是就算小语种的语音识别效果很好,但资源稀缺型小语种翻译性能不够好。OCR技术可以帮助实现扫描笔和翻译笔的应用、出国旅游的拍照翻译功能,将来还可以与穿戴式设备相结合,比如智能眼镜等等。视频字幕翻译能够帮助我们欣赏没有中文字幕的国外电影和电视节目,比如到达任何一个国家,打开电视都能够看到中文字幕,也是非常酷的应用。
\parinterval 机器翻译可以与文档解析、语音识别、{\small\bfnew{光学字符识别}}\index{光学字符识别}(Optical Character RecognitionOCR)\index{Optical Character Recognition} 和视频字幕提取等技术相结合,丰富机器翻译的应用模式。其中文档解析技术可以帮助实现Word文档翻译、PDF文档翻译、WPS 文档翻译、邮件翻译等更多格式文档自动翻译的目标,也可以作为插件嵌入到各种办公平台中,成为智能办公好助手。语音识别与机器翻译是绝配,语音翻译用途广泛,比如翻译机、语音翻译APP和会议AI同传应用。但目前最大的问题主要体现在两个方面,一是很多实际应用场景中语音识别效果欠佳,造成错误蔓延,导致机器翻译结果不够理想;二是就算小语种的语音识别效果很好,但资源稀缺型小语种翻译性能不够好。OCR技术可以帮助实现扫描笔和翻译笔的应用、出国旅游的拍照翻译功能,将来还可以与穿戴式设备相结合,比如智能眼镜等等。视频字幕翻译能够帮助我们欣赏没有中文字幕的国外电影和电视节目,比如到达任何一个国家,打开电视都能够看到中文字幕,也是非常酷的应用。
\parinterval 上面提到的机器翻译技术大多采用串行流水线,只是简单将两个或者多个不同的技术连接在一起,比如语音翻译过程可以分两步:语音识别和机器翻译。其它翻译模式也大同小异。简单的串行流水线技术框架的最大问题是错误蔓延,一旦某个技术环节的准确率不高,最后的结果就不会太好(90\%$\times$90\%=81\%)。并且,后续的技术环节不一定有能力纠正前面技术环节引入的错误,最终导致用户体验不够好。很多人认为,英中AI会议同传用户体验不够好,问题出在机器翻译技术上。其实,问题主要出在语音识别环节。学术界正在研究的端到端的机器翻译技术,不是采用串行流水线技术架构,而是采用一步到位的方式,这理论上能够缓解错误蔓延的问题,但目前的效果还不够理想,期待学术界取得新的突破。
\parinterval 上面提到的机器翻译技术大多采用串行流水线,只是简单将两个或者多个不同的技术连接在一起,比如语音翻译过程可以分两步:语音识别和机器翻译。其它翻译模式也大同小异。简单的串行流水线技术框架的最大问题是错误蔓延,一旦某个技术环节的准确率不高,最后的结果就不会太好(90\%$\times$90\%=81\%)。并且,后续的技术环节不一定有能力纠正前面技术环节引入的错误,最终导致用户体验不够好。很多人认为,英中AI会议同传用户体验不够好,问题出在机器翻译技术上。其实,问题主要出在语音识别环节。学术界正在研究的端到端的机器翻译技术,不是采用串行流水线技术架构,而是采用一步到位的方式,这理论上能够缓解错误蔓延的问题,但目前的效果还不够理想,期待学术界取得新的突破。
\parinterval 即使双语句对训练集合规模已经非常大、机器翻译技术也在不断优化,但机器翻译的结果仍然不可能完美,出现译文错误是难免的。如果我们想利用机器翻译技术辅助人工翻译,比较常见的方式是译后编辑,即由人对自动译文进行修改。这就很自然地产生了两个实际问题:第一个问题是,自动译文是否具有编辑价值?一个简便的计算方法就是编辑距离,即人工需要通过多少次增、删、改动作完成译后编辑。其次数越少,说明机器翻译对人工翻译的帮助越大。编辑距离本质上是一种译文质量评价的方法,可以考虑推荐具有较高译后编辑价值的自动译文给人工译员。第二个问题是,当机器翻译出现错误,且被人工译后编辑修正后,能否通过一种有效的错误反馈机制帮助机器翻译系统提高性能。学术界也有很多人研究这个问题,目前还没有取得令人满意的结果。除此之外,还有一些问题,如人机交互的用户体验,该需求很自然地带起了交互式机器翻译技术研究的热潮,希望在最大程度上发挥人机协同合作的效果,这个也是值得研究的课题。
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论