(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024121998
(43)【公開日】2024-09-09
(54)【発明の名称】手話翻訳装置及びそのプログラム
(51)【国際特許分類】
G06F 40/44 20200101AFI20240902BHJP
G06F 40/295 20200101ALI20240902BHJP
G09B 21/00 20060101ALI20240902BHJP
【FI】
G06F40/44
G06F40/295
G09B21/00 F
【審査請求】未請求
【請求項の数】3
【出願形態】OL
(21)【出願番号】P 2023029285
(22)【出願日】2023-02-28
(71)【出願人】
【識別番号】000004352
【氏名又は名称】日本放送協会
(74)【代理人】
【識別番号】110001807
【氏名又は名称】弁理士法人磯野国際特許商標事務所
(72)【発明者】
【氏名】宮▲崎▼ 太郎
(72)【発明者】
【氏名】中谷 真規
(72)【発明者】
【氏名】内田 翼
(72)【発明者】
【氏名】金子 浩之
(72)【発明者】
【氏名】佐野 雅規
(57)【要約】
【課題】プレースホルダを使用しない手話翻訳装置を提供する。
【解決手段】手話翻訳装置1は、翻訳モデルを用いて、日本語文を手話単語列に機械翻訳する手話翻訳部10と、手話翻訳部10が翻訳した手話単語列において、日本語文に含まれる固有名詞に対応する手話単語の位置を推定する対応関係推定部11と、訳語辞書を参照し、対応関係推定部11が推定した位置の手話単語を訳語辞書の手話訳語で置き換える訳語置換部13と、を備える。
【選択図】
図1
【特許請求の範囲】
【請求項1】
固有名詞が含まれる日本語文を手話単語で構成される手話単語列に翻訳する手話翻訳装置であって、
予め学習した翻訳モデルを用いて、前記日本語文を前記手話単語列に機械翻訳する手話翻訳部と、
前記手話翻訳部が翻訳した手話単語列において、前記日本語文に含まれる固有名詞に対応する手話単語の位置を推定する対応関係推定部と、
日本語の固有名詞に対応する手話訳語が格納された訳語辞書を参照し、前記対応関係推定部が推定した位置の手話単語を前記訳語辞書の手話訳語で置き換える訳語置換部と、を備え、
前記対応関係推定部は、
前記手話単語列に含まれる1語又は2語以上連続する手話単語からなる部分単語列のそれぞれについて、前記翻訳モデルに前記日本語文の固有名詞を入力して前記部分単語列が出力される第1尤度と、前記翻訳モデルに前記日本語文の固有名詞以外を入力して前記部分単語列以外が出力される第2尤度とを算出し、
前記第1尤度と前記第2尤度との積が最も高くなる部分単語列の位置を、前記固有名詞に対応する手話単語の位置として推定することを特徴とする手話翻訳装置。
【請求項2】
前記手話翻訳部は、前記翻訳モデルとして、事前学習モデルを用いることを特徴とする請求項1に記載の手話翻訳装置。
【請求項3】
コンピュータを、請求項1又は請求項2に記載の手話翻訳装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、日本語文を手話単語列に翻訳する手話翻訳装置及びそのプログラムに関する。
【背景技術】
【0002】
放送番組の制作では、制作コストを低減するため、手話の機械翻訳を行うことが多くなっている。固有名詞を正確に翻訳する必要があるので、機械翻訳の翻訳結果を後処理で置き換えている。従来、プレースホルダと呼ばれる、置き換えのためのタグを手話翻訳に用いる手法が提案されている(特許文献1、非特許文献1)。
【0003】
図6を参照し、従来のプレースホルダについて説明する。
図6に示すように、日本語文「NHK技研は世田谷にあります」に含まれる固有名詞「NHK技研」及び「世田谷」をプレースホルダ<ORG>及び<PLACE>にそれぞれ置き換える。そして、翻訳モデルを用いて、プレースホルダに置き換えた後の日本語文「<ORG>は<PLACE>にあります」を手話「<ORG> pt3 N <PLACE> 場所 ある」に機械翻訳する。なお、手話単語「pt3」は指差しを表し、手話単語「N」は、話者がうなずくことを表す。さらに、訳語辞書を用いて、プレースホルダ<ORG>及び<PLACE>を固有名詞に対応した手話単語に置き換えることで、手話「NHK 技術 研究 場所 pt3 N 世田谷 場所 ある」が得られる。
【先行技術文献】
【特許文献】
【0004】
【非特許文献】
【0005】
【非特許文献1】Thang Luong et al. “Addressing the rare word problem in neural machine translation.”
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかし、前記した従来技術では、プレースホルダの種類を追加する場合、翻訳モデルの再学習が必要になる。例えば、人名又は地名ではない固有名詞「新型コロナウイルス」をプレースホルダに置き換える場合、翻訳モデルを再学習しなければいけない。さらに、従来技術では、固有名詞をプレースホルダに手動で置き換える必要がある。このように、従来技術では、プレースホルダを用いるので手話翻訳に手間を要するという問題があった。
【0007】
そこで、本発明は、プレースホルダを使用しない手話翻訳装置及びそのプログラムを提供することを課題とする。
【課題を解決するための手段】
【0008】
前記課題を解決するため、本発明に係る手話翻訳装置は、固有名詞が含まれる日本語文を手話単語で構成される手話単語列に翻訳する手話翻訳装置であって、予め学習した翻訳モデルを用いて、日本語文を手話単語列に機械翻訳する手話翻訳部と、手話翻訳部が翻訳した手話単語列において、日本語文に含まれる固有名詞に対応する手話単語の位置を推定する対応関係推定部と、日本語の固有名詞に対応する手話訳語が格納された訳語辞書を参照し、対応関係推定部が推定した位置の手話単語を訳語辞書の手話訳語で置き換える訳語置換部と、を備える構成とした。
【0009】
かかる構成によれば、対応関係推定部は、手話単語列に含まれる1語又は2語以上連続する手話単語からなる部分単語列のそれぞれについて、翻訳モデルに日本語文の固有名詞を入力して部分単語列が出力される第1尤度と、翻訳モデルに日本語文の固有名詞以外を入力して部分単語列以外が出力される第2尤度とを算出する。そして、対応関係推定部は、第1尤度と第2尤度との積が最も高くなる部分単語列の位置を、固有名詞に対応する手話単語の位置として推定する。
【0010】
このように、手話翻訳装置は、機械翻訳終了後、改めて翻訳モデルを用いて、固有名詞に対応する手話単語がどれであるかを推定する。すなわち、手話翻訳装置は、プレースホルダを使うことなく、機械翻訳の結果である手話単語列の固有名詞を事後的に置き換えることができる。
【0011】
なお、本発明は、コンピュータを前記した手話翻訳装置として機能させるためのプログラムで実現することもできる。
【発明の効果】
【0012】
本発明によれば、プレースホルダを使用しないので、翻訳モデルを学習する際のデータ準備にかかる手間を軽減することができる。
【図面の簡単な説明】
【0013】
【
図1】実施形態に係る手話翻訳装置の構成を示すブロック図である。
【
図2】実施形態において、(a)は翻訳モデルの一例を説明する説明図であり、(b)は、手話翻訳装置による手話翻訳の一例を説明する説明図である。
【
図3】実施形態において、(a)日本語文の一例を説明する説明図であり、(b)及び(c)は、スコアの計算例を説明する説明図である。
【
図4】実施形態において、(a)日本語文の一例を説明する説明図であり、(b)は訳語辞書の一例を説明する説明図であり、(c)は固有名詞の置き換えを説明する説明図である。
【
図5】実施形態に係る手話翻訳装置の動作を示すフローチャートである。
【
図6】従来のプレースホルダを説明する説明図である。
【発明を実施するための形態】
【0014】
以下、本発明の実施形態について図面を参照して説明する。但し、以下に説明する各実施形態は、本発明の技術思想を具体化するためのものであって、特定的な記載がない限り、本発明を以下のものに限定しない。また、同一の手段には同一の符号を付し、説明を省略する場合がある。
【0015】
[手話翻訳装置の構成]
図1を参照し、実施形態に係る手話翻訳装置1の構成について説明する。
手話翻訳装置1は、固有名詞が含まれる日本語文を手話単語で構成される手話単語列に翻訳するものである。
図1に示すように、手話翻訳装置1は、手話翻訳部10と、対応関係推定部11と、訳語辞書記憶部12と、訳語置換部13とを備える。
【0016】
手話翻訳装置1には、手話に翻訳する日本語文(日本語テキスト)が入力される。日本語文は、その種類や内容は特に制限されず、例えば、ニュース番組の原稿である。また、手話翻訳装置1は、日本語文を手話に翻訳した結果である手話単語列を出力する。例えば、手話単語列は、ニュース番組における手話CGの自動生成に利用できる。
【0017】
手話翻訳部10は、予め学習した翻訳モデルを用いて、日本語文を手話単語列に機械翻訳するものである。翻訳モデルは、一般的なTransformerを用いたEncoder-Decoderモデルなど、ニューラルネットワークを使った翻訳モデル(ニューラル翻訳モデル)を用いることができる。
【0018】
ここで、手話翻訳部10は、翻訳精度が向上するので、翻訳モデル又はその一部として、事前学習モデルを用いることが好ましい。例えば、手話翻訳部10は、翻訳モデルのEncoderとして、トランスフォーマをベースとした事前学習モデルであるTransformer双方向エンコーダ表現(BERT:Bidirectional Encoder Representations from Transformers)を用いることができる。
【0019】
図2(a)に示すように、ニューラル翻訳モデル20では、日本語文をEncoder21に入力し、ベクトル化する。次に、ニューラル翻訳モデル20では、Encoder21が出力したベクトルと翻訳開始記号(BOS)とをDecoder22に入力し、最初の手話単語を予測する。以下、ニューラル翻訳モデル20では、Encoder21が出力したベクトルと、これまでに翻訳結果として得られた手話の翻訳済み部分単語列とをDecoder22に入力し、1単語ずつ手話単語を予測する。そして、ニューラル翻訳モデル20では、翻訳終了記号(EOS)が出力された時点で手話翻訳を終了する。
【0020】
図2(b)の例では、日本語文「私の名前は吉田です」の翻訳結果が、手話単語列「私 名前 N ヨ シ 田 N」となっている。ここで、日本語の固有名詞「吉田」が手話単語列「ヨ シ 田」に直訳されてしまい、手話において、姓を表す固有名詞と理解するのか困難である。そこで後記するように、手話単語列「ヨ シ 田」は、別の手話単語列に置き換えられる。
【0021】
手話翻訳部10は、手話翻訳装置1に入力された日本語文と、翻訳結果である手話単語列とを対応関係推定部11に出力する。なお、手話翻訳部10が出力する手話単語列は、後記する固有名詞の置き換えを行う前のものである。
【0022】
図1に戻り、手話翻訳装置1の構成について説明を続ける。
対応関係推定部11は、手話翻訳部10が翻訳した手話単語列において、日本語文に含まれる固有名詞に対応する手話単語の位置を推定するものである。
図2(b)の例では、対応関係推定部11は、手話翻訳部10の翻訳モデル(Encoder21及びDecoder22)を用いて、手話単語列「私 名前 N ヨ シ 田 N」のうちの「ヨ シ 田」を日本語文の固有名詞「吉田」に対応付けている。
【0023】
<対応関係推定部11による対応付け>
図3を参照し、対応関係推定部11による対応付けを詳細に説明する。
具体的には、対応関係推定部11は、手話単語列に含まれる1語又は2語以上連続する手話単語からなる部分単語列のそれぞれについて、翻訳モデルに日本語文の固有名詞を入力して部分単語列が出力される第1尤度と、翻訳モデルに日本語文の固有名詞以外を入力して部分単語列以外が出力される第2尤度とを算出する。そして、対応関係推定部11は、第1尤度と第2尤度との積(スコア)が最も高くなる部分単語列の位置を、固有名詞に対応する手話単語の位置として推定する。
【0024】
すなわち、対応関係推定部11は、以下の式(1)を用いて、スコア(score)を算出できる。式(1)では、p(Tm´
m|Sn´
n)が第1尤度を表し、p ̄(Tm´
m|Sn´
n)が第2尤度を表す。日本語文Sのうちのn番目からn´番目までの固有名詞Sn´
n
を表し、手話単語列Tのうちのm番目からm´番目からなる部分単語列Tm´
mを表す。
【0025】
【0026】
第1尤度p(Tm´
m|Sn´
n)は、日本語の固有名詞Sn´
nを翻訳モデル(Encoder21)に入力した場合、翻訳モデル(Decoder22)から部分単語列Tm´
mが出力される尤度を表す。また、第2尤度p ̄(Tm´
m|Sn´
n)は、日本語文Sから固有名詞Sn´
nを除いたものを翻訳モデル(Encoder21)に入力した場合、手話単語列Tから部分単語列Tm´
mを除いたものが翻訳モデル(Decoder22)より出力される尤度を表す。
【0027】
図3(a)に示すように、日本語文「私の名前は吉田です」、その翻訳結果である手話単語列「私 名前 N ヨ シ 田 N」、日本語文の固有名詞「吉田」を一例として説明する。
【0028】
図3(b)に示すように、対応関係推定部11は、手話の部分単語列「ヨ シ 田」について、第1尤度及び第2尤度を算出し、第1尤度と第2尤度との積であるスコアを算出する。具体的には、対応関係推定部11は、手話翻訳部10の翻訳モデル(Encoder21)に日本語文の固有名詞「吉田」を入力し、手話翻訳部10の翻訳モデル(Decoder22)から部分単語列「ヨ シ 田」が出力される第1尤度0.8を算出する。なお、<EOS>は、翻訳終了記号を表しており、部分単語列の一部として扱っている。
【0029】
続いて、対応関係推定部11は、手話翻訳部10の翻訳モデル(Encoder21)に固有名詞「吉田」以外の日本語文「私の名前は です」を入力し、手話翻訳部10の翻訳モデル(Decoder22)から部分単語列「ヨ シ 田」以外の手話単語列「私 名前 N N」が出力される第2尤度0.7を算出する。
【0030】
さらに、対応関係推定部11は、第1尤度0.8と第2尤度0.7との積0.56をスコアとして算出する。このスコアは、日本語文の固有名詞「吉田」が部分単語列「ヨ シ 田」に翻訳された確率を表す。
【0031】
次に、
図3(c)に示すように、対応関係推定部11は、手話の部分単語列「名前 N」について、第1尤度及び第2尤度を算出し、第1尤度と第2尤度との積であるスコアを算出する。具体的には、対応関係推定部11は、手話翻訳部10の翻訳モデル(Encoder21)に日本語文の固有名詞「吉田」を入力し、手話翻訳部10の翻訳モデル(Decoder22)から部分単語列「名前 N」が出力される第1尤度0.1を算出する。
【0032】
続いて、対応関係推定部11は、手話翻訳部10の翻訳モデル(Encoder21)に固有名詞「吉田」以外の日本語文「私の名前は です」を入力し、手話翻訳部10の翻訳モデル(Decoder22)から部分単語列「名前 N」以外の手話単語列「私 ヨ シ 田 N」が出力される第2尤度0.6を算出する。
【0033】
さらに、対応関係推定部11は、第1尤度0.1と第2尤度0.6との積0.06をスコアとして算出する。このスコアは、日本語文の固有名詞「吉田」が部分単語列「名前 N」に翻訳された確率を表す。
【0034】
前記した例では、部分単語列「ヨ シ 田」「名前 N」について、第1尤度、第2尤度及びスコアを算出する例を説明した。これと同様、対応関係推定部11は、部分単語列の全てについて、第1尤度、第2尤度及びスコアを算出する。例えば、対応関係推定部11は、手話単語列「私 名前 N ヨ シ 田 N」で2語連続する手話単語からなる部分単語列「私 名前」「N ヨ」「ヨ シ」「シ 田」についても、第1尤度、第2尤度及びスコアを算出する。
【0035】
ここで、対応関係推定部11は、部分単語列「ヨ シ 田」のように、手話単語列で3語以上連続する手話単語も部分単語列として扱う。例えば、対応関係推定部11は、手話単語列「私 名前 N ヨ シ 田 N」で3語連続する手話単語からなる部分単語列「私 名前 N」「名前 N ヨ」「N ヨ シ」「シ 田 N」についても、第1尤度、第2尤度及びスコアを算出する。さらに、対応関係推定部11は、手話単語列で4語連続する手話単語からなる部分単語列についても、同様に第1尤度、第2尤度及びスコアを算出する。さらに、対応関係推定部11は、部分単語列「田」のように、手話単語列に含まれる1語の手話単語からなる部分単語列についても、同様に第1尤度、第2尤度及びスコアを算出する。
【0036】
なお、部分単語列の語数に上限を設けてもよい。例えば、対応関係推定部11は、手話単語列で連続する10語までの手話単語を部分単語列として扱ってもよい。また、手話では固有名詞が離れて表現されることがないので、対応関係推定部11は、手話単語列で連続する手話単語又は1語の手話単語を部分単語列として扱っている。必要に応じて、対応関係推定部11は、手話単語列で離れている手話単語同士を部分単語列として扱ってもよい。
【0037】
続いて、対応関係推定部11は、算出したスコアが最も高くなる部分単語列の位置を、固有名詞に対応する手話単語の位置として推定する。例えば、
図3(b)に示すように、手話単語列「私 名前 N ヨ シ 田 N」に含まれる全部分単語列のスコアうち、部分単語列「ヨ シ 田」のスコアが最も高かったこととする。この場合、対応関係推定部11は、
図2(b)に示すように、日本語文の固有名詞「吉田」と手話の部分単語列「ヨ シ 田」とを対応付ける。つまり、対応関係推定部11は、手話単語列「私 名前 N ヨ シ 田 N」において、日本語文の固有名詞「吉田」に対応する手話単語列の位置を部分単語列「ヨ シ 田」の位置で推定する。
【0038】
対応関係推定部11は、手話翻訳装置1に入力された日本語文と、手話翻訳部10からの手話単語列と、対応関係の推定結果とを訳語置換部13に出力する。
【0039】
訳語辞書記憶部12は、訳語辞書を記憶するメモリ、ハードディスクなどの記憶装置である。訳語辞書は、日本語の固有名詞に対応する手話訳語が格納された辞書である。例えば、
図4(b)に示すように、訳語辞書には、日本語の固有名詞「吉田」に対応する手話訳語「良い 田」が格納されている。ここで、手話単語列「良い 田」は、手話において、「吉田」という姓で容易に理解できる。なお、訳語辞書は、既知の手法で生成できるので、これ以上の説明を省略する。
【0040】
訳語置換部13は、日本語の固有名詞に対応する手話訳語が格納された訳語辞書を参照し、対応関係推定部11が推定した位置の手話単語を訳語辞書の手話訳語で置き換えるものである。つまり、訳語置換部13は、対応関係推定部11から入力された推定結果が示す位置の手話単語を、訳語辞書記憶部12の訳語辞書に格納された手話単語で置き換える。
【0041】
図2(b)に示すように、対応関係の推定結果より、手話単語列「私 名前 N ヨ シ 田 N」において、日本語文の固有名詞「吉田」に対応する手話単語列が部分単語列「ヨ シ 田」であると分かっている。そこで、訳語置換部13は、
図3(c)に示すように、手話単語列「私 名前 N ヨ シ 田 N」に含まれる部分単語列「ヨ シ 田」を、訳語辞書の手話単語「良い 田」で置き換える。その後、訳語置換部13は、訳語辞書の手話単語で置き換えた手話単語列「私 名前 N 良い田 N」を出力する。
【0042】
[手話翻訳装置の動作]
図5を参照し、手話翻訳装置1の動作について説明する。
図5に示すように、ステップS1において、手話翻訳装置1は、日本語文を手話単語列に翻訳する。
ステップS2(対応関係の推定)において、対応関係推定部11は、ステップS1で翻訳した手話単語列において、日本語文に含まれる固有名詞に対応する手話単語の位置を推定する。
ステップS3において、訳語置換部13は、訳語辞書を参照し、ステップS2で推定した位置の手話単語を訳語辞書の手話訳語で置き換える。
【0043】
[作用・効果]
以上のように、手話翻訳装置1は、機械翻訳終了後、改めて翻訳モデルを用いて、固有名詞に対応する手話単語がどれであるかを推定する。このように、手話翻訳装置1は、プレースホルダを使うことなく、機械翻訳の結果である手話単語列の固有名詞を事後的に置き換えることができる。つまり、手話翻訳装置1は、従来技術のように、新たな種類の固有名詞(例えば、「新型コロナウイルス」)が日本語文に含まれる場合でも翻訳モデルを再学習する必要がない。さらに、手話翻訳装置1は、従来技術のように、固有名詞をプレースホルダに手動で置き換える必要もない。このようにして、手話翻訳装置1は、翻訳モデルを学習する際のデータ準備にかかる手間を軽減することができる。
【0044】
事前学習モデルは、そのモデルを作成した時点での語彙しか扱えないため、プレースホルダを用いた学習が行えなかった。しかし、手話翻訳装置1は、プレースホルダを使用しないため、BERT等の事前学習モデルを利用できるので、高精度な手話翻訳を実現することができる。
【0045】
以上、実施形態を詳述してきたが、本発明は前記した実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
【0046】
前記した実施形態では、手話翻訳装置が独立したハードウェアであることとして説明したが、本発明は、これに限定されない。例えば、本発明は、コンピュータが備えるCPU、メモリ、ハードディスク等のハードウェア資源を、前記した手話翻訳装置として機能させるためのプログラムで実現することもできる。このプログラムは、通信回線を介して配布してもよく、CD-ROMやフラッシュメモリ等の記録媒体に書き込んで配布してもよい。
【実施例0047】
以下、
図1の手話翻訳装置1の評価実験を行ったので、その評価実験の結果を説明する。評価実験には、日本放送協会が制作している手話ニュースコーパスを用いた。手話ニュースコーパスは、日本放送協会が放送している「手話ニュース」を2009年4月から収集したものであり、番組の日本語音声の書き起こしと手話映像の書き起こしとの約160000文対が含まれている。今回の評価実験では、この中から固有表現(地名、組織名、人名)が含まれる69776文を用いて、学習データが66776文、開発データが2000文、評価データが1000文となるようにランダムに分割した。事前に文中に出現する固有表現を人手により抽出し、日本語文と手話との間での固有表現の表現の対応付けを行った。
【0048】
翻訳モデル20の実装には、PytorchとTransformersを用いた。Encoder21の事前学習モデルには、japanese-roberta-baseを用いて、Decoder22には、6層のTransformer Decoderを用いた。翻訳モデル20の最適化にはRAdamを用いて、Decoder22の学習率を1.0×10-3とし、Encoder21の学習率を2.0×10-5とした。学習エポック数を最大20として、開発データのBLEU値が最大となるモデルを評価に用いた。学習はそれぞれの翻訳モデルについてランダムシードを変えて3回行い、その中で最高の性能となる翻訳モデルを用いて評価した。
【0049】
前記した評価実験の結果を表1に示す。この表1では、事前学習モデルを使用したときを実施例1、事前学習モデルを使用していないときを実施例2、プレースホルダを使用したときを比較例とする。なお、事前学習モデルを使用しない実施例1及び比較例では、翻訳モデルに6層のTransformerによるEncoder-decoderモデルを使用し、手話コーパスの学習データのみで学習を行った。
【0050】
【0051】
表1に示すように、実施例1が最も良い性能(BLEU値が高い、編集距離が近い)を示し、実施例2も比較例より優れていることが分かった。その理由としては、事前学習モデルを用いた翻訳精度の向上と事後的な固有名詞の置き換えとの両方の利点が活かされたと考えられる。実施例1と実施例2を比較すると、事前学習モデルの使用による翻訳精度が向上したことがわかる。さらに、実施例1,2と比較例を比較すると、プレースホルダを使用しなくても、十分な翻訳精度が得られることが分かった。