2020年11月20日金曜日

機械翻訳:bankは銀行か土手か

【what is this】機械翻訳に関する下記 [参考文献] を読んだことからヒントを得てこの記事を書いています。ただし、本内容は、小生の独自調査にもとづく見解です。

英語の単語 bank
 bank
には、銀行土手(堤)などの意味があります。人間ならば、それが出現する文脈からどちらの意味かは容易に判断できます。では、現代の機械翻訳はどうなのでしょうか?


 ・文例(a) I got to the bank after crossing the road.
 ・文例(b) One sunny Sunday, I got to the bank after crossing the river.

現代の機械翻訳は人間の常識や感覚も取り入れている
 まず、文例(a)をご覧下さい。これは易しいです。代表的な4つの機械翻訳器(Google, IBM, Amazon, Microsoft)はいずれもほぼ同じ翻訳結果を出力しました。つまり、bank銀行でした。bankroadは何か関係がありそうな気もしますが、特に問題はありません。


 では次に、文例(b)を見てみましょう。文例(a)の末尾のroadriverに置き換えたものです。さらに、先頭にOne sunny Sunday(ある晴れた日曜日に)を追加しました。小生の気持ちとしては、「晴れた日曜日に川を渡った」のですから、銀行へではなく、土手へ(散歩に)行ったのだ、と伝えたかったのです。この文例(b)に対する4つの機械翻訳器の結果は興味深いものがあります。

 GoogleIBMの翻訳結果は、文例(a)の翻訳にあった「道路」を単に「川」に置き換えただけであり、「銀行」はそのままでした。一方、AmazonMicrosoftは、人間の感覚(常識)と同じく、bankを「銀行」ではなく「土手」と捉えています。素晴らしい!

 「銀行は日曜日はやっていない」(ATMは別として)のだから「銀行ではなく土手だろう」という認識を機械翻訳器が持ったとは思えません。そうではなく、bankriver(およびsunnySunday)が共起するケースをどれだけ学習していたかの違いではないでしょうか。そして、RNN系のニューラルネットワークでは、この場合、bankに対してriverSundayがちょっと離れていることが問題なのかも知れない。ああ、そこが分布意味論!

その他の機械翻訳器も試してみる
 上記の4つ以外にも、web上で使える機械翻訳はかなりあるようです。そのいくつかを加えて、翻訳結果をまとめます。文例(b)にあるbankをどう訳したかです。
 ・bank銀行と訳した翻訳器:Google, IBM, Weblio
 ・bank土手と訳した翻訳器:Amazon, Microsoft, Excite, DeepL

日本語の文のsimilarity(類似度、関連度)の計算サービスで確認する
 いろいろあるでしょうが、例えば、NTT CommunicationsKOTOHAを利用して、上記に述べた事項(銀行 or 土手)を判断するための計算結果が得られました。おうー、納得!やはり、日曜日は銀行はやっていない。だから土手へ散歩に行きます!
 ・「晴れた日曜日に川を渡った後に着いた」⇔「銀行」のsimilarity = 0.106
 ・「晴れた日曜日に川を渡った後に着いた」⇔「土手」のsimilarity = 0.515

まとめ
 この一例だけから、上記の機械翻訳器の優劣に言及する意図は全くありません。実際、私にはそれはできません。しかし、ここで見えてきたのは、どの機械翻訳器も、人間の常識(感覚)に沿うように進化を続けているのだろう、ということです。(現在、2020-11-20です。上記結果は短期間のうちに変わる可能性があります。新たな研究開発が進んでいても、一般公開までには時間がかかるでしょう。英-日は、英-独や英-仏よりもサポートが遅れることもあるでしょう。)

[参考文献]
Google AI Blog:
https://ai.googleblog.com/2017/08/transformer-novel-neural-network.html


2020年11月7日土曜日

[算数 ≒ 数学 – 難しい + 楽しい]の解

  自然言語処理では、単語の実数ベクトル空間への埋め込みが重要な役割を担っています。大規模コーパスのもとで、全単語ベクトルはすでに計算されていて(ツールWord2Vec等を用いて)、何種類かが公開されています。これによれば、単語ベクトルから、例えば、以下のような意味関係が成り立つことが分かっています。多くの書籍やweb解説にも掲載されています。

        King - Queen ≒ man - womam
    (KingとQueenの差ベクトルは、manとwomanの差ベクトルと類似)

 さて、そのような大規模コーパスではなく、以下のような単純な10例文だけの世界を考えます。(助詞などは取りあえず考えないので薄字にしてあります。)この世界では、12単語しか出現しません。このような範囲で、単語をベクトル空間へ埋め込んでも、上記と同様に、単語の意味関係は掴めるでしょうか?


 ここでは、注目単語に対して、window size = 2の範囲に共起した単語を認識するよう、ニューラルネットワークを学習させます。例えば、注目単語「確率論」を入力とした場合、「難しい」と「数学」を教師信号として学習させます。これを、全文全単語について行います。学習終了後のニューラルネットワークにおいて、入力から中間層(隠れ層)のノードへの辺の重みが、その単語のベクトル要素となります。このようにして、全単語について、2次元(中間層のノード数が2の場合)のベクトルを得ます。その結果を下図に示します。

12単語に対する2次元ベクトル

 この結果を見ると、「算数、百マス、児童、早朝」および、「確率論、学生、数学、徹夜」など関連性の高い単語がそれぞれ一つのベクトル上(白線矢印)にのっていることがわかります。

 実は、この結果は一つの解に過ぎません。恐らく、無数に解(すなわち、単語ベクトルの組み)は存在するはずです。ここではそのうちの、[解1]と[解2]を示しました。[解2]は、[解1]を原点を中心に30度ほど回転させたものになっているようです。ここで、「数学」と「算数」の差ベクトルと、「難しい」と「楽しい」の差ベクトルに着目します。この2つの差ベクトルは平行に近いです。したがって、下記が成り立ちます。

        数学 - 算数 ≒ 難しい – 楽しい
        算数 ≒ 数学 – 難しい + 楽しい

 こんな小さな実験コーパスでも、単語の意味関係が掴めたと思います。

2種類の2次元単語ベクトルの組み

 上記は2次元ベクトルでしたが、3次元ベクトルを生成(中間層のノード数を3に設定)した結果が下図です。次元を上げれば、見えてくる情報量も増える傾向にある?かも知れません。ここでも2種類の解を示しますが、いずれも、上記の意味関係が保たれていることが分かります。

2種類の3次元単語ベクトルの組み

2020年11月6日金曜日

ニューラル機械翻訳方式の独自解釈

  Google翻訳など、ニューラル機械翻訳技術は近年著しく発展して、実用レベルにあると言われています。実際に使用してみて、確かにそのように感じます。しかし、その処理内容の全貌はなかなか掴みきれません。一例ですが、Google翻訳で、以下の和文を入れてみると、次のように英文に翻訳されました。

「学生は物理学を教授から」→ Students learn physics from a professor

 うん?「学ぶ」とは言っていないのに、なぜ、「learn」と翻訳されたのか?これについて、小生が独自に(勝手に情報を設定して、思い切った簡略化をして)推測してみた結果を以下の図に示します。恐らく、「当たらずと雖も遠からず」と思っていますが、いかがなものでしょうか。いずれにしても、単語(および単語列)のベクトル(分散表現)と、その間のコサイン類似度等が根底にあり、それに基づくAttentionという機能が使われているのはまちがいないようです。

ニューラル機械翻訳の大胆な簡略化による説明


2020年11月3日火曜日

国立国語研究所から届いたマスキングテープ

 最近は、自然言語処理(機械学習は重要な手段の一つ)を勉強しています。それに不可欠なのが、言語コーパスです。言語コーパスとは、言語による文例を大規模に収集して、一定の処理を施した後に、各種の情報(形態素、構文情報等)を付加したデータベースと考えられます。国立国語研究所では、その主要な業務のひとつとして、多様なコーパス群を研究開発し、公開しています。

 少し前に、これらのコーパスを利用した「KOTONOHA検索コンテスト2020」が開催され、小生もこれに作品応募しました。(少しは期待していたのですが)入選はできなかったのですが、参加賞としてマスキングテープ4個が送られてきました。研究所や検索ツールのロゴ(NINJAL、中納言など)がデザインされています。ちょっとうれしかったのですが、はて、これ何につかうもの?目隠し、目張りに使う?

国立国語研究所のマスキングテープ

 そんな時には、「Ok Google, マスキングテープはどのように使う」です。お見事!

 さらに納得!百円ショップへ行った時のこと。カラフルな様々な模様を印刷したマスキングテープが大量に売られていました。上記のとおり、小物やバックやスマホなどのデコレーション用として、今人気上昇中であることが分かりました。粘着性が高いのに、不要になった際に剥がしやすいのもよいらしいです。

市販されているマスキングテープ

 それでは、ということで、小生もiPhoneの裏に、国立国語研究所のマスキングテープで飾ってみました。ちょっと渋いですが、気分転換になりそうです。

iPhoneの裏に国立国語研究所のマスキングテープ