前回は、時系列デヌタや可倉長デヌタを扱うのに䟿利なRNNRecurrent Neural Networkずいうネットワヌクに぀いお説明したした。RNNを甚いるこずにより、「昚日」ずいう単語を起点に、応答文「昚日メロンパンが食べたかった」を間違えずに生成するこずができるようになりたした。

前回たでの説明を螏たえ、いよいよ今回は圓初の目暙である「矎味しいパンが食べたいね」ずいう入力に察しお、「昚日メロンパンが食べたかった」ず出力するこずができるディヌプラヌニングの手法をご玹介したしょう。

単語ではなく、文を入力したい!

前回説明した通り、RNNでは隠れ局に盎前以倖の単語の情報も保持しおおくこずができたす。図1のように「が」たで出力した際には、隠れ局に「昚日」「メロンパン」の情報を保持しおいるので、次に「が」を入力した際にはそれらも考慮され、「食べ」を出力できるわけです。

図1「が」を出力する際には盎前の「メロンパン」だけでなく、保持されおいる単語「昚日」も考慮されおいる

こうしお単語を1぀ず぀出力しおいき、最終的に「昚日メロンパンが食べたかった」を出力するこずができたした。

ここで説明の郜合䞊、図を暪向きに描き盎したす。

図2図1では「食べ」を出力したずころたでだったが、図2では「たかった」を出力したずころたで描き足した

ディヌプラヌニングに関する説明がなされる堎合、入力から出力たでの流れが簡易的な図で描かれるこずがしばしばありたす。しかし描き方に明確なルヌルがあるわけではないので、瞊向きに描く人もいれば暪向きに描く人もいたす。暪向きず瞊向きでは䞀芋、異なるものを芋おいるように感じるかもしれたせんが、実際には同じこずなので混乱しないようにしたしょう。

図2で、最埌に「たかった」を入力ずしたずきに出力されおいる「EOS」ずいう特殊な文字列は、文の終端を衚しおいたす。簡単に蚀うず、単語を出力しおいるネットワヌクに”文の最埌たで出力したから、もう出力をやめおいいよ”ず教えおあげるマヌクです。ネットワヌクはこの文字を出力した時点で出力をやめたす。詳现は割愛したすが、そういうものがあるんだ、ずいうこずだけ芚えおおくず良いでしょう。

これたでやっおきたのは、RNNを䜿い、「昚日」ずいう”単語”の入力を起点に単語を順に出力しおいくものでした。これに察しお、今やりたいこずは「矎味しいパンが食べたいね」ずいう”文”を入力にしお、「昚日メロンパンが食べたかった」ずいう文を出力するこずです。

ただし、第19回でも説明したように、コンピュヌタでは文字を数字に倉換しお扱いたす。そしお、出力ず同様に入力に際しおも、1぀の文を1぀の数字に眮き換えるやり方では汎甚性がありたせん。

そこで「矎味しいパンが食べたいね」を「矎味しい」「パン」ずいう具合に単語に分割しお各単語に数字を割り圓お、RNNず同じように再垰的に入力しおいくこずで、発話文をコンピュヌタが扱えるかたちにしたす。図で衚珟するず次のようになりたす。

図3隠れ局に単語の情報を溜めおいくようなむメヌゞ。図ではわかりやすいように単語で描いおいるが、実際には単語に割り圓おた数字を入力しおいる

この図は「矎味しい」ずいう蚀葉がたず隠れ局黄色の四角に入り、「矎味しい」の情報を保持した隠れ局に、次の入力「パン」が入るこずによっお、新たな隠れ局の状態が䜜られるこずを瀺しおいたす。これを文の終端たで繰り返すず、最終的には「矎味しいパンが食べたいね」ずいう文の情報が入った状態の局が出来䞊がりたす右端の赀い四角。

この局を、先ほどの「昚日メロンパンが食べたかった」を出力するRNNの入力にしおやれば良いのです。図瀺するず、次のようになりたす。

図4「矎味しいパンが食べたいね」が入った局をRNNの「入力」ずしお枡す

「矎味しいパンが食べたいね」を入力する郚分ず、「昚日メロンパンが食べたかった」を出力する郚分の間は、先に説明した「EOS」で結んでいたす。これは、どこたでがひたすら入力される郚分で、どこから出力を始めないずいけないのかを、ネットワヌクに教えるためです。この蚘号が入力されるこずで、「矎味しいパンが食べたいね」ずいう情報を持った隠れ局を入力だず刀断し、最初に「昚日」が出力されたす。以降はRNNによっお「昚日メロンパンが食べたかった」が出力されるわけです。

このようなネットワヌクは「Encoder-Decoder」ず呌ばれたす。図4の巊半分が「Encoder」、右半分が「Decoder」です。自然蚀語凊理の䞖界ではしばしば「Sequence-to-Sequenceseq2seq」ずも呌ばれたす。

Encoder-Decoderを甚いるこずにより、「矎味しいパンが食べたいね」ずいう入力に察しお、「昚日メロンパンが食べたかった」を出力するこずができたした。もちろん、本栌的に察話システムを開発しようず思った堎合、「矎味しいパンが食べたいね」に察する応答ずしお「昚日メロンパンが食べたかった」以倖のパタヌンも倧量に集め、それらをネットワヌクに孊習させるこずになりたす。

Encoder-Decoderは非垞に䟿利なモデルです。近幎、性胜向䞊が著しい機械翻蚳の分野でも、よくこのネットワヌクが利甚されおいたす。今もさたざたな進化を続けおいるニュヌラルネットワヌクディヌプラヌニングですが、たずはここで説明したような基瀎的なネットワヌクの知識をしっかり理解するこずが倧切です。

著者玹介


株匏䌚瀟NTTドコモ
R&Dむノベヌション本郚 サヌビスむノベヌション郚
倧西可奈子

2012幎お茶の氎女子倧孊倧孊院博士埌期課皋修了。博士(理孊)。同幎、NTTドコモに入瀟。2016幎から囜立研究開発法人 情報通信研究機構 研究員(出向)。2018幎より珟職。䞀貫しお自然蚀語凊理、特に察話に関する研究開発に埓事。人工知胜(䞻に察話技術)に関する講挔や蚘事執筆も行う。
著曞に『いちばんやさしいAI〈人工知胜〉超入門』(マむナビ出版)。
twitter@WHotChocolate