(整理予定)言語処理道一合目

対話システム・言語処理についてぼちぼち頑張るブログ

論文読み: Diversity-Promoting Objective Function for Neural Conversation Models(2015)

どんなもの?

タスクは、応答の多様性が低い問題の解決に挑む。

seq2seqの目的関数をいじり、モデルの学習の際、良く使われる応答を生成しようとすると、ペナルティを与えるような目的関数を設定した(MMI)。

To the best of our knowledge, this paper represents the first work to address the issue of output diversity in the neural generation frameworkとの記述があるように、

NN系の文章生成タスクにおいて、多様性と言う観点を導入した最初の研究であるということが肝である。

 

先行研究と比べてどこがすごい?

先行研究では、翻訳に適したような目的関数を利用していた。この研究では、多様性という観点から目的関数を対話システムに合わせて作り直した。

(お〜!)

 

 

技術や手法のキモはどこ?

seq2seqの目的関数に、MMIを導入したこと。

基本的な考え方としては T̂ =argmaxT{log(T|S)−logp(T)}T^=argmaxT{log⁡(T|S)−log⁡p(T)} を最大化することで生成される文がいわゆる典型的な表現であった場合にペナルティを加える、というもの。相互情報量。なんだったっけ。

 

どうやって有効だと証明した?

評価方法

・BLUE(参照文(訳?):IMSDB data(映画の字幕データ)らしい)

https://arxiv.org/pdf/1510.03055.pdf

・unigrams and bigramsと数える

(he value is scaled by total number of generated tokens to avoid favoring long sentences)

とあるけど、単純に、1単語単位と2単語単位の種類の豊富さで評価するということなのだろうか。

 

議論はある?+自分のコメント

この研究はNN系に文章生成タスクにおいて多様性という観点を組み込んだ最初のタスク。

この先、その人の個人にパーソナライズした、また、その人の興味にお合わせたような応答を出力するシステムの研究が進むだろう。また、対話システムに限らずこの研究は、image-description gener や question answering,などのほかのタスクにも生かせるだろう。

(自分メモ)単純に、このdiversityのように、トピックが応答に合致していたら、スコアを上げる。っていう風にできないのかな。というか、そういう研究ありそうだけどな。(この被引用文献探し中)

 

次に読むべき論文は?

参考文献の中では、目的関数系の論文かしら

・Deep captioning with multimodal recurrent neural networks(2015)(ICLR)

あと元祖の目的関数知るのは元のseq2seqの論文だよね

・Building end-to-end dialogue systems using generative hierarchical neural network models(2016)(AAAI)

Sordoniさんすごいな〜〜〜

・後続の研究ではこんなのもある

Another Diversity-Promoting Objective Function for Neural Dialogue Generation (2018)(AAAI)

言ってた通り、パーソナル系の論文とか、イメージキャプションのもあったはずだ。



論文読み:Rich Short Text Conversation Using Semantic Key Controlled Sequence Generation

どんなもの?

 ・seq2seq型対話システムの応答に「多様性がない、情報量が少ない問題」「複数の生成候補から、トピックや情報量を考慮して生成をコントロールするのは無難しい」この二つのタスクに対して、「external memory」という外部メモリを利用する提案手法を持ちい解決に挑んだ。

 

先行研究と比べてどこがすごい?

先行研究と比べてすごいのは、semantic情報をどのように応答に反映させるかをコントロールできること。また、トピックに関連するキーワードを応答にしようとすると、生成の範囲が狭まるため、キーワードに複数用いて出力するようにした。

(でもこれtopicattentionと何が違うんだろう。)

 

技術や手法のキモはどこ?

(読み込んでないから恐らくだけど、)

下記2つのen-decのシステムが存在する。

・(en-dec)external memory

・(seq2eq)ベースとなる対話文の学習

よって、二つの学習情報が入った分散表現を手に入れることができる。

それぞれ、2系統で学習し。semantickey を用いて、二つの情報を結びつける。二つの情報(形は分散表現)を繋げるのにattentionを用いている。

 

肝は、外部知識に外部に取り付けて、応答をコントロールできるようにしたこと!(確かにここ大事だよね)。三上さんもコントロールできないのが問題だって書いてたし

 

どうやって有効だと証明した?

評価方法は2つ

①Diversity・・・・生成文章で出力された単語数/学習文中にあった全ての単語

おんなじような応答ばかり出していたら分子がへる

②Substantiality・・・文章中に含まれる意味ある単語の数

 

議論はある?

external semantic memory のデータのスパース性により、おかしな応答を出してしまうこともあった。

ので。将来的にはこの問題を解決したいと述べている。

 

自分コメント:この外部知識の機構を外にだして、コンとロールできるようにするってのは、私がやりたいとおもっていたことだし、外部のトピックjとかを持つ文章をRNNとかEn-decで与えて、attentionでやったのはなるほど!その手か!とおもった。わたしも文章単位でのattentionかけたいけどどうしようyっておもってたから。このやり方があったのかというう驚き

また、この論文中の、mantic key.

Regarding  the topic model  used in our experiments,  we

seek to train such a model that fit into the short text scenarの後につづくように、トピックモデルをつかうと(トピック)ナンバー単位でやると、キーワードに比べて曖昧すぎて、キーワードよち

 

次に読むべき論文は?

次に読むべき論文は

“A knowledge-grounded neural conversation model,(2017)arXiv preprin

一番似ている研究らし

・Emotional chatting machine: Emotional conversation generation with internal and external memory(2017)

・Controllable text generation,(2017)

 

論文読み:Augmenting Neural Response Generation with Context-Aware Topical Attention(2018)

有名どころの

Topic Augmented Neural Response Generation with a Joint Attention

先発(?)研究。

プレプリントっていうんでしょうか?

 

どんなもの?

seq2seq型の対話システムに、LDAを用いトピック情報を加え、トピック情報を含んだより意味のある応答ができるようになった。

 

先行研究と比べてどこがすごい?

seq2seq型対話システムのdiversity問題に対して、先行研究( A diversity-promoting objective function for neural conversation models)のように、他愛のない応答の生成を避けるのではなく、トピック情報を用いて、ダイバーシティ問題に取り組んだ点。また、そのことによって、より多く有益な情報を含んだ応答が生成できるようになった点。

 

技術や手法のキモはどこ?

・attentionを用いて、トピックワードを応答に出力しているところ。

(やっぱり単語に注目しているってことでいいんだよな)

・つまり、トピックアテンションをコンテクストのアテンションに組み込んでいること。

 

どうやって有効だと証明した?

評価方法は3つ。下記3つの評価観点で、良い数値を出したことにより、有効性を証明した。

①perolexity・・モデルが応答をどの程度予測できるかを示す。下記式を用いて、数値を出す。低ければ低いほど良い

②Distinct-1 & distinct-2・・unigrams and bigramsの数を数えている。高けunigrams and bigramsれば高いほど、情報量を多く含んだ文章とみなしている。(単純に文章のながさで評価しているということか)

③Human annotation・・人間による評価。評価基準は、関連性、自然さ、情報量の豊富さ。



議論はある?

とくに論文中に記述はない。ただ、Rich Short Text Conversation Using Semantic-Key-Controlled Sequence Generation(2017-IEEE)では、注意すべきキーワードを単語にいれると、それに引っ張られすぎて、意味の通らない応答を出しやすい。とかあったような。でも、これはcontextのattentionとドッキングしているから、そこを調整すればいい話なのか?自分的にこのシステムの問題点は、やっぱり、単語に応答が依存していることだと思うんだよな。うーんでもうまく言語かできない。作ってみたら、問題点もっとクリアに見えるのかな。

 

次に読むべき論文は?

→多様性の問題に取り組んだ元祖

・A diversity-promoting objective function for neural conversation models(2015)

→次に同じ人がかいている論文(git-hub有り!)

・Topic Augmented Neural Response Generation with a Joint Attention

→ここの研究を引用している中で最新のもののうち1つ

・Augmenting Neural Response Generation with Context-Aware Topical Attention

(2018-掲載冊子名どこだ)

 

→この研究の元になっているもので中次に読むべきもの

(外部情報を入れている系)

・A neural network approach to contextsensitive generation of conversational responses.

・How not to evaluate your dialogue system: An empirical study of unsupervised evaluation metrics for dialogue response generation

 

11月反省 3連休 ホゲーっとしている

3連休。見事にお布団でダラダラホゲホゲして終わった。

 

何というか、エネルギーが枯渇していて動けない感じだった。

ひたすらに眠く、2日間は本当にただただお布団で寝ていた。

季節の変わり目だからだろうか。

 

11月、気を引き締めていこう。

平日3時から8時の 4~5時間

休日 午前4時間 と 午後4時間(土日どっちかは休んでよし)

を習慣化したい

 

本当は

平日3時から8時の 4~5時間

休日 午前4時間 と 午後4時間

フルでやりたいけど、生活ごととか含めると意外と体力がなく、疲労が蓄積してダメだった。

土日どちらかは休んでよしとする。

 

いずれかはフルでやりたいけど。

 

これが習慣かするまで、ちょっとしんどくても頑張る。

習慣化するまでがしんどい。でも頑張る。

 

年度内に研究を一本完成させたいが、色々と仮説の時点での間違いを指摘され行き詰まる。

 

があまり深刻に捉えず、淡々と進む。

 

この4月から、10月までに学んだこと

・記録と計画を第一優先に。死んでもこれはやる。

・つまり毎日の睡眠ログ、手帳(タスクを具体的に詳細に)は絶対死んでも貼ってでもやる。

・結果焦ったら死ぬ

・ある一定の脳の研ぎ澄まされた鋭さ、感覚が担保されていないと、あらぬ方向に行って全てがおじゃんになる、鋭さがある時の作業効率はすごい。休みは計画に組み込むべき。瞑想とかも習慣化してみたい。回復と作業のバランス感覚は難しい。

・自分一人じゃ強くならない。人と繋がることで可能性が広がる。私も誰かの可能性を広げられる(微々でも)。三人集まりゃ文殊の知恵。

・一旦プロに触れるのが、一番学びが多い。メイクも美容部員さんや、プロにやってもらうと、何が正しいのかわかるから成長が早い。ピアノも同じ。研究も同じ。論文も、スライドも手本から吸収する。

・メンタル。ユーモア、深刻に考えすぎない。気にしない。8割に嫌われるのが当たり前。2割の人に好かれていれば良い。カレーだって嫌いな人はいる。それと同じ。ただの好み。

・生活美容頑張るのは、メンタルと健康のために重要。

・落ち着きと冷静さ、必要。磨いていこう。

・研究の理念とは?

 

鈍い脳みそで何やったってダメだ

今日、体調悪く1日布団から抜け出せずゴロゴロ。

 

夜にようやく起き上がり、作業に移る。

 

そのとき思ったのが、

鈍い脳みそで何やってもダメだ。

ということ。

 

今まで、なんてグダグダやってたんだ。と感じる。

LFDAに1ヶ月近くもかけてしまったのからも言える。

 

提出していたスライドもあまりにひどい。

 

努力は当たり前。当たり前の足し算。

掛け算のセンスを磨け。センスを盗め。

 

スライドの作り方。

発表の仕方。

論文の書き方。

 

一流の見本から、一流の研究者からセンスを奪え。

テンプレート化出来るものはテンプレート化しろ。

 

いつでも脳を鋭い状態で居られるように休息を食べ物を飲み物を経験を調整しろ。

 

センスだ。直感だ。掛け算を磨け。

愚直に努力だけじゃ結果は出ない。

落合陽一さんのは向いてない。

自分だけの結果を出す方法をもがいて、探せ。

 

 

 

 

 

この感覚は、ピアノをやっていたとき。

弓道をやっていた時に通ずる。

 

スライド

 

Open NMTで発狂する

Open NMTがうまくいっていたのに、エラーが出て、tensorflowとか色々入れ直したら、openNMTのインストール自体もうまくいかなくなった

 

3時間を無駄に

 

せっかく3時からいるのに。何気なさすぎるファイル処理とかで1時間かかっちゃうし

 

多分作業的なプログラム書くのはモチベ上がらない時は、

インプット。論文読みとか勉強とかして気分変えるといいかもしれない。