自然言語処理 | AI tech studio https://cyberagent.ai AI事業本部は、サイバーエージェントグループのデジタルマーケティング分野におけるサービス開発を行う組織です。 Wed, 08 Jan 2025 13:53:18 +0000 ja hourly 1 https://wordpress.org/?v=5.3.26 【採択論文紹介】短絡的な予測の抑制手法 (TACL) https://cyberagent.ai/blog/research/%e6%8e%a1%e6%8a%9e%e8%ab%96%e6%96%87%e7%b4%b9%e4%bb%8b/20081/ Thu, 07 Nov 2024 06:21:19 +0000 https://ai-blog-admin.cyberagent.ai/?post_type=blog&p=20081 AI Lab NLPチームの本多です。この記事では、モデルが陥りがちな短絡的な予測を抑制し、頑健な予測を可能にする手法を紹介します。本研究の成果は Transactions of the Association for Computational Linguistics (TACL) に採択されています。

Not Eliminate but Aggregate: Post-Hoc Control over Mixture-of-Experts to Address Shortcut Shifts in Natural Language Understanding [Code]
Ukyo Honda, Tatsushi Oka, Peinan Zhang, Masato Mita

はじめに

自然言語理解タスクの主要なデータセットでは、アノテータの偏好や経験則、あるいは自然言語の構成的な特性などの影響により、ラベルと相関する単純な特徴量が存在していることが知られています。図1で例を見てみましょう。

図1:ショートカットの例。

図1では含意関係認識を例にとっています。含意関係認識は、前提文Pに対して仮説文Hの内容が含意(entailment)、矛盾、無関係(図1ではまとめてnon-entailmentと表記)のどの関係(ラベル)であるかを判別するタスクです。図1上部は、学習データにおいてPとHの単語の一致率(a1, a2)やHの文長(a3, a4)がラベルと相関している様子を表しています。これらの特徴量は、学習データとそれと同一の分布から得られたデータにおいてはラベルに対する予測力を持つことになります。しかし、当然これらはラベルを決定する本質的な情報ではありません。図1下部のように、学習データと異なる分布から得られたデータにおいては、これらの特徴量とラベルとが同様には対応しない事例が容易に見つけられます。

このような単純な特徴量はショートカットと呼ばれ、機械学習における問題のひとつとなっています [1, 2]。これが問題であるのは、上で見たようにショートカットとラベルとの相関は簡単に変動してしまい、モデルがこれに依存すると予測の頑健性が損なわれるためです。加えて、単純であるがゆえにモデルにとって捉えやすく、学習・予測時に依存しやすいということが問題を深刻にしています。また、ショートカットは意図的にデータに混入されたものではないため、何がショートカットになっているのかわからないという問題もあります。

そこで、ショートカットへの依存を抑制して頑健な予測を行おうという研究がなされてきました [3, 4]。

提案手法

本研究では、この分布外データにおける予測の問題を、不確実性下の意思決定の問題と考えます。ショートカットを含む自然言語理解データでは、ラベル予測に本質的な特徴量に加えていくつかの特徴量がラベルと相関しています。ただし、それらの詳細は通常わかりません。今回対象とする分布外データで問題となるのは、いずれかの特徴量についてラベルとの相関が変動するがどの特徴量について変動するのかはわからない、ということです。そこで、どの特徴量に依拠して予測すればいいのかわからない不確実性のもとで最適な意思決定を行おうということを考えます。この目的のために提案する手法は、学習時と推論時の2つのパートから成っています。

図2:提案手法概要。

学習時は、複数の特徴量がラベルと相関するというデータ構造をモデル化するため、mixture-of-experts (MoE) モデル、特にmixture-of-softmax (MoS) モデル [5] を用います 。それぞれ異なるパラメータを持つexpert (\(E^k\)) が入力事例\(x\)のラベルを予測し、router (\(\pi\)) が事例ごとにどのexpertの予測を用いるかの重みを決めます。また、各expertがそれぞれ異なる特徴量に基づいて予測するよう促進するため、自己注意機構 [6] にヒントを得たペナルティ項を提案しました。ここでは詳細は省きますが、異なる事例は異なる特徴を持つと仮定し、事例ごとに異なるexpertに割当てられるよう促進します(図3)。

図3:理想的な事例割当ての例。

推論時は、どのexpertの予測を用いるべきかわからないという想定のもとで、最適な意思決定を行います。決定理論に基づいた2つの手法を提案しており、いずれもexpertの割当てを決定する\(\pi\)を、ルールベースの重み\(\pi^*\)に置き換えてexpertの予測の統合します(図2右)。1つ目のuniform weightingでは、どのexpertに依拠すべきかわからないが、どのexpertも同等によく予測できると仮定して、expertの予測の平均をとります。2つ目のargmin weightingでは、より悲観的な状況を考えます。各選択肢について不正解となるリスクが最も高い状況を想定し、そのような最悪の場合でも最も良い結果が得られる選択肢を選びます(図4)。直感的には、各ラベルで最も慎重なexpertの意見を聞いて判断するような選択となります。

図4:Argmin weightingの例。

提案手法の詳細や既存手法との違いについてはぜひ論文をご覧ください。

実験

実験では、含意関係認識(MNLI)、言い換え同定(QQP)、事実性検証(FEVER)の3つの自然言語理解タスクにおいて、提案手法を適用することで分布外データ(OOD)において頑健な予測が可能になることを示しました(表1)。実験設定や比較手法の詳細は論文をご覧ください。また、論文では推論時操作の適応的な使い分けの可能性や、expertが捉えた特徴量の解釈性、要素技術ごとの影響などについても実験・議論しています。

表1:主な実験結果。

おわりに

本研究では、MoEモデルと決定理論を用いることで頑健な予測を可能にする手法を提案しました。このような決定理論を用いた予測の後処理には、今後さらなる発展の可能性があると考えています。今回の研究は、NLPチームと、研究開始当時にAI Lab経済学チーム所属であった岡達志教授(慶應大)との研究議論から始まったものです。NLPチームでは、今回の研究や強化学習チームとの共同研究などのように、異なる専門領域との共同研究を進めてきました。今後も連携を深めつつ、広告文生成や関連する基礎研究について幅広く取り組んでいきます。毎年、博士課程の学生を対象にリサーチインターンシップを募集していますので、興味を持たれた方はぜひお声がけください。

参考文献

[1] Causally Motivated Shortcut Removal Using Auxiliary Labels (Makar et al., AISTATS 2022)
[2] Causal Inference in Natural Language Processing: Estimation, Prediction, Interpretation and Beyond (Feder et al., TACL 2022)
[3] Don’t Take the Easy Way Out: Ensemble Based Methods for Avoiding Known Dataset Biases (Clark et al., EMNLP-IJCNLP 2019)
[4] Unlearn Dataset Bias in Natural Language Inference by Fitting the Residual (He et al., 2019)
[5] Breaking the Softmax Bottleneck: A High-Rank RNN Language Model (Yang et al., ICLR 2018)
[6] A Structured Self-attentive Sentence Embedding (Lin et al., ICLR 2017)

]]>
【採択論文紹介】高性能なテキスト生成アルゴリズムMBR Decodingの分析 (NAACL2024) https://cyberagent.ai/blog/pr/intern/19582/ Wed, 12 Jun 2024 02:21:44 +0000 https://ai-blog-admin.cyberagent.ai/?post_type=blog&p=19582

AI Lab NLPチームの本多です。この記事では、最近注目が高まっているテキスト生成アルゴリズムであるMinimum Bayes-Risk decoding(以下、MBR decoding)について分析を行った論文を紹介します。この研究はAI Labのリサーチインターンシップにて名古屋大学の大橋厚元さんに取り組んでいただいたもので、研究成果はNAACL2024に採択されています。

On the True Distribution Approximation of Minimum Bayes-Risk Decoding [Code]
Atsumoto Ohashi, Ukyo Honda, Tetsuro Morimura, Yuu Jinnai

はじめに

最近ChatGPTをはじめとした大規模言語モデルの発展がめざましく、テキストの自動生成を行うテキスト生成モデルは我々の生活に身近なものとなってきています。テキスト生成モデルから生成されるテキストの品質は、生成モデルだけでなく、生成モデルの出力から望ましいテキストを得るための探索アルゴリズムにも大きく依存します。今回我々が扱うのは、この探索アルゴリズムとして特に注目を集めているMBR decodingです。

MBR decodingは以前から機械翻訳などにおいて用いられてきましたが、ビーム探索など他の探索アルゴリズムの影に隠れてしまい、注目されているとは言い難い状況でした。最近になって、用いるサンプリング手法や効用関数の見直しによって大幅な性能向上が報告され、注目を集めるようになりました [1-3]。機械翻訳、自動要約、キャプション生成など幅広いテキスト生成タスクにおいて有効性が報告されています [4]。

MBR Decodingとは?

MBR decodingとはどんな探索アルゴリズムなのでしょうか?シンプルなアルゴリズムなので、まずはMBR decodingの具体的な手順を見ていきましょう。

  1. まず、テキスト生成モデルから複数のテキストをサンプルしておきます。今回扱う機械翻訳タスクでいえば、一つの入力テキストに対して複数の翻訳候補が出力されている状態と考えてください。図の\(Y\)と\(R’\)は、どちらも同じ入力に対してサンプルされたテキスト集合です。†
  2. 次に、テキストの類似度を測る任意の関数\(u\)を用いて、各テキストペアの類似度を計算します(図のヒートマップ部分)。\(u\)は効用関数と呼ばれ、機械翻訳ではBLEUやCOMETなどが用いられてきました。
  3. 最後に、\(Y\)のなかで\(R’\)に対して平均して最も類似度が高いテキストを出力\(y^*\)として選択します。

† 実用上は、サンプリングコスト削減のため、YとR’に同じテキスト集合を用いることがあります。なお、Y, R’のいずれにおいてもテキストの重複を許しますが、簡略化のためにテキスト集合と呼ぶことにします。

このようにシンプルなアルゴリズムながら、上述のようにテキスト生成において高い有効性を示すことが知られています。では、なぜこれが有効なのでしょうか?この理由を考えるために、MBR decodingが何を目的としたアルゴリズムであるのかを見ていきます。

MBR Decodingの目的と近似

MBR decodingが本来達成したいことは、式(1)が示すように、人間が作成するような高い品質のテキスト(参照テキスト)の分布\(P_{\mathrm{human}}\)  のもとで、参照テキストとの類似度(効用)の期待値を最大にするテキストを見つけ出すことです。翻訳者たちに書いてもらった翻訳に対して平均して最も似ている翻訳候補を選択すると考えてもらえれば、直感的にも良さそうなアルゴリズムに思えるかと思います。

しかし、肝心の\(P_{\mathrm{human}}\)  は通常わかりません。そこで、テキスト生成モデルで推定した分布\(P_{\mathrm{model}}\)  からサンプルされたテキスト集合\(R’\)がこれを近似すると仮定することで、以下の式によって近似的に目的を達成することを考えます。

この式(2)が、図で見たMBR decodingのアルゴリズムに一致します。\(R’\)は擬似的に参照テキストとしての役割を果たすことが期待されるので、擬似参照と呼ばれます。この仮定からわかるように、擬似参照はMBR decodingにとって重要な要素となっています。実際、サンプリング手法はMBR decodingの性能を左右することが報告されており、本研究でも詳細な実験でこれを確認しています(論文中の表2を参照ください)。

本研究の貢献:近似と性能の関連を検証

本研究の貢献は、この仮定と性能の関連を実証的に示したことにあります。これまで複数の研究が、MBR decodingにおいて望ましいサンプルの性質について仮説を立ててきました [1, 3, 5]。我々もこれらを参考にサンプルされたテキスト集合の性質について分析を進めていましたが、いずれの仮説も仮定との関係が明確でなく、そもそもMBR decodingの有効性が式(1)にしたがってもたらされているものなのかについて検証が必要であると考えました。

この検証を行うためには、\(R’\)による\(P_{\mathrm{human}}\)  の近似の度合いを定量化する必要があります。我々の提案は、この定量化のために、与えられた参照テキストから\(R’\)に対しての異常スコアを用いることです。\(R’\)が\(P_{\mathrm{human}}\)  をよく近似していれば、\(P_{\mathrm{human}}\)  から得られている参照テキストは\(R’\)からの逸脱が小さいはずと考え、MBR decodingでの性能が高いサンプリング手法ではこの異常スコアが小さくなると仮説を立てました。

実験では、各サンプリング手法においてMBR decodingの性能と上述の異常スコアを計算し、これらの相関を測りました。詳細は省きますが、4言語ペアの機械翻訳タスクすべてにおいて、異常スコアと性能が期待どおり非常に強い相関を示すことが確認されました(表下段)。また、既存の仮説で重要とされていたサンプルの性質では性能との相関が弱く、既存の仮説では性能変動を説明するのに不十分であることも示されました(表上段)。

おわりに

本研究では、MBR decodingがおく重要な仮定と性能との関連を検証しました。今後の方向性としては、参照テキストが逸脱しないテキスト集合が望ましいという観点から、MBR decodingのためにより効率的なサンプリング手法を探索することなどが考えられます。弊社では、今回の研究に続き、MBR decoding関連でRLチーム陣内を中心に多数の研究成果を発表しているほか [6-9]、テキスト生成に関連する幅広い研究を行っています。毎年、博士課程の学生を対象にリサーチインターンシップを募集していますので、興味を持たれた方はぜひお声がけください。

参考文献

[1] Is MAP Decoding All You Need? The Inadequacy of the Mode in Neural Machine Translation (Eikema & Aziz, COLING 2020)
[2] Quality-Aware Decoding for Neural Machine Translation (Fernandes et al., NAACL 2022)
[3] High Quality Rather than High Model Probability: Minimum Bayes Risk Decoding with Neural Metrics (Freitag et al., TACL 2022)
[4] Follow the Wisdom of the Crowd: Effective Text Generation via Minimum Bayes Risk Decoding (Suzgun et al., Findings of ACL 2023)
[5] Sampling-Based Approximations to Minimum Bayes Risk Decoding for Neural Machine Translation (Eikema & Aziz, EMNLP 2022)
[6] Model-Based Minimum Bayes Risk Decoding (Jinnai et al., ICML 2024)
[7] Hyperparameter-Free Approach for Faster Minimum Bayes Risk Decoding (Jinnai & Ariu, Findings of ACL 2024)
[8] Generating Diverse and High-Quality Texts by Minimum Bayes Risk Decoding (Jinnai et al., Findings of ACL 2024)
[9] Annotation-Efficient Preference Optimization for Language Model Alignment (Jinnai & Honda, arxiv preprint)

 

]]>
NLP2020 発表&参加報告まとめ https://cyberagent.ai/blog/pr/12546/ Sun, 29 Mar 2020 23:48:27 +0000 https://ai-blog-admin.cyberagent.ai/?post_type=blog&p=12546 こんにちは!AI事業本部 人事の鈴木です。
3/17-19に開催された言語処理学会第26回年次大会 (NLP2020)に、
AI tech studio所属の9人が参加・発表しました。

期間中は、聴講した発表についてSlackでわいわい議論していたり、
快適に参加するためのtipsを共有したり、最終日の発表に向けて工夫を凝らしたりと、
メンバーそれぞれにオンライン開催のメリットをうまく活用してとても楽しんでいました!

オンライン開催が決まってからの短い期間で素晴らしい年次大会を開催いただいた
運営の皆さまに感謝申し上げます。

今回も、参加メンバーが参加&発表報告をアップしています。
こちらのリンクからぜひご覧ください。

参加報告

言語処理学会第26回年次大会(NLP2020)へのオンライン参加
AI Shift 杉山@GIANT__TCR が、オンライン参加してみての気づきを初日の夜にまとめました。(速い!)

NLP2020参加報告(勝手にクロージング編)
AIクリエイティブDivisionの澤井が「勝手にクロージング編」と題して、
言語資源や自然言語生成を中心に印象に残った発表を紹介しています。
オンライン懇親会の様子も少しだけ公開。

言語処理学会第26回年次大会(NLP2020) 参加報告
AI Shiftの友松 @tomomatsu_yutaによる、NLP2020 の大会概要を含めた参加報告です。
過去最大規模の参加者がオンラインで参加した3日間の雰囲気が伝わってきます。

発表報告

言語処理学会第26回年次大会(NLP2020) 発表報告
「チャットボット運用における新規問い合わせ候補の抽出」について、AI Shiftの戸田 @Trtd6Trtdによる発表報告です。
発表中にいただいた質問とその回答もまとめています。

「スタイル制御を考慮した多様な広告文生成」発表報告@オンライン言語処理学会
20新卒内定者の川本 @shunyo_kによる発表報告です。
当日の発表内容と質疑に加えて、オンラインのメリットを最大限に生かした発表の工夫をまとめています。
広告文生成のデモ画面もこちらの記事で公開していますので、ぜひ試してみてください!

また、今回の年次大会に合わせてAI tech studioにおける自然言語処理の取り組みについて、
全体像をまとめたスライドを公開しています。
こちらも合わせてご覧ください!

今後もNLPチームの様々な取り組みをブログやtwitterで発信していきます
お楽しみに!
———————————————–
AI tech studioでは、オフィス見学やカジュアル面談を随時受け付けています。
興味をお持ちの方は、こちらのフォームからご連絡お待ちしております!

]]>
【NLP2020】ビジネス課題×NLPについてディスカッションしませんか? https://cyberagent.ai/blog/pr/12328/ Fri, 13 Mar 2020 08:55:13 +0000 https://ai-blog-admin.cyberagent.ai/?post_type=blog&p=12328 こんにちは!
AI事業本部 人事の鈴木です。

NLP2020の開催がいよいよ来週に迫ってきました!
現地開催は残念ながら中止となってしまいましたが、オンラインで引き続き発表の機会が
確保されてとてもうれしく思っています。運営の皆さま、ありがとうございます!

AI tech studioでは、広告クリエイティブやチャットボットをはじめとした
プロダクト開発における自然言語処理の応用に力を入れています。
昨年のYANS2019に引き続き、NLP2020でも各プロダクトでビジネス課題の解決に
挑戦してきた成果を発表します。
昨年までの現地開催と同じように、オンラインでもたくさんの方とディスカッションできると嬉しいです!

さて、今回は2件のポスター発表と、東京工業大学 岡崎研究室との共同研究について口頭発表が予定されています。

■発表予定一覧■ ※オンライン発表のURLは事前参加登録者のみ公開されています
<3/18(水):口頭発表>
9:00-10:20
D3-4「キャッチコピーにおける対句構造の解析」
○丹羽彩奈 (東工大), 脇本宏平, 西口佳佑, 毛利真崇 (サイバーエージェント), 岡崎直観 (東工大)
※東京工業大学 岡崎研究室とサイバーエージェントとの共同研究

<3/19(木):ポスター発表>
13:05-14:35
P6-14「スタイル制御を考慮した多様な広告文生成」
○川本峻頌 (明大), 張培楠 (サイバーエージェント)

P6-27「チャットボット運用における新規問い合わせ候補の抽出」
○戸田隆道, 友松祐太, 杉山雅和 (AI Shift)

3/18に口頭発表を予定している岡崎研究室との共同研究では、
「広告キャッチコピーの特徴分析と自動生成」をテーマとして、これまでに当社で作成した
キャッチコピーを中心とする大量のクリエイティブデータから
広告効果の高い表現を提案することや、広告キャッチコピー自動生成モデルの構築を目指しています。

▼AI Lab、広告キャッチコピーの特徴分析と自動生成に向けた研究強化へ 東京工業大学情報理工学院教授 岡崎 直観氏と共同研究を開始
https://www.cyberagent.co.jp/news/detail/id=22930

キャッチコピーには、商品や作品を端的に表現するために様々な修辞技法が用いられます。
本研究では、キャッチコピーで用いられる修辞技法の中でも比較的多く用いられている「対句」に着目し、
解析手法の提案を行いました。
今回は、これまで行ってきたキャッチコピーの分析やコーパス構築をもとにした
対句データセットの作成と、対句構造の特徴量を組み込んだ解析手法について東工大の丹羽さんが口頭発表しますので、
ぜひ聴講参加してください!

■ポスター発表
ポスターセッションは、1件ごとにオンライン会議室が割り当てられており、
発表時間の90分間は入退室自由となっています。
当日はたくさんの方とディスカッションできればと思いますので、
発表者の皆さんに、発表ポイントと当日ディスカッションしたいことを聞いてきました。
チャットや音声でぜひ話しかけてください!

————————
「チャットボット運用における新規問い合わせ候補の抽出」
AI Shift 戸田・友松・ 杉山

■発表概要
データサイエンティストの戸田・友松・杉山が、チャットボットの利用ログから
新しい回答候補を自動で生成する取り組みについて発表します。
チャットボットが回答できなかった質問を抽出し、新たな回答候補を作成する工程は
現状手作業で行われており、人の経験やテクニックに依存しています。
この工程の自動化に向けて、クラスタリングされた問合せから代表文を抽出するという手法を用い、
実サービスでの活用に向けて現在プロトタイプを作成しています。

■当日ディスカッションしたいこと
当日は、自然言語処理の実サービス応用に興味がある方とぜひお話したいです!
高精度なモデルは世の中にどんどん出ていますが、学習データ量の制限・実行速度という点で
うまく使えるのかは実運用の視点から見ていく必要があります。
最先端ではない手法でもサービスの改善に大きく貢献するという実運用ならではの面白さを伝えたいし、
逆に、最新技術をどのようにサービスに適用していくかもディスカッションできるとうれしいです。
学生のみなさんには、自然言語処理の研究がどのように実社会の課題解決に役立っているかを
お伝えできればと思っています。

「スタイル制御を考慮した多様な広告文生成」
明治大学/AILab 川本(内定者)・ AI Lab 張培楠

■発表概要
インターネット広告において、個人に合わせたメッセージングの必要性が高まるとともに、
ユーザに同じ内容の広告を何度も提示すると反応が悪くなる、「広告の疲弊」と呼ばれる課題があります。
この課題を解決するために、20年新卒内定者の川本とリサーチサイエンティストの張が
品詞情報を用いた制御可能で多様性に富んだ文を生成するモデルと、このモデルに対応した評価尺度を提案します。

■当日ディスカッションしたいこと
今回のポイントは、一つの入力文から品詞情報を制約として与えた多数の広告文を出力することです。
多様性に注目した言語生成の研究は国内ではまだ事例が少なく、モデルアーキテクチャの設計や
自然言語生成における多様性の自動・人手評価の方法などについて議論できればと思っています。
————————

実プロダクトでの応用から共同研究まで、AI tech studioのNLPチームの
最新の成果をお伝えする発表が揃っています!
たくさんの方に参加いただいて活発な議論が起こったり、
オンラインならではのコミュニケーションも生まれたりするのではないかとわくわくしています。
当日のご参加、お待ちしております!

]]>
YANS2019 発表&参加報告まとめ https://cyberagent.ai/blog/pr/5834/ Wed, 04 Sep 2019 11:29:12 +0000 https://cyberagent.ai/?p=5834 こんにちは!AI事業本部 人事の鈴木です。
8/26-28に札幌で開催されたNLP若手の会(YANS)第14回シンポジウム(2019)に、
AI tech studio所属の9人が参加・発表してきました。

Research Blogにて発表&参加報告をアップしています。
こちらのリンクからぜひご覧ください。

YANS 2019 参加報告① 〜チャットボットの運用における自然言語処理の活用〜
MLエンジニアの戸田(@Trtd6Trtd)、杉山(@GIANT__TCR)、友松(@tomomatsu_yuta)による
自然言語処理技術での日々の運用支援や、設計者の効率を上げるためのチャレンジは必見です。

YANS 2019 参加報告② 〜デジタル広告における商品特徴を考慮した広告文の自動生成〜
19年新卒 脇本(@KoheiWakimoto)&20年内定者 川本(@shunyo_k)のルーキーコンビによる
テキスト生成の取り組みをぜひご覧ください。

YANS 2019 所感: これからの言語処理コミュニティのために
YANSを通じて感じたNLPのこれまでとこれから、若手研究者コミュニティを応援していく理由など、
自然言語処理&バックエンドエンジニアの澤井(github: @tuxedocat)の熱い思いがこもった記事です。

また、昨年に引き続きプラチナスポンサーとして発表とブース出展を行いました。
スポンサー発表でもたくさんの方と議論させていただきました。ありがとうございます!


今後もNLPチームの様々な取り組みをブログやtwitterで発信していきます!
お楽しみに 💡
———————————————–
AI tech studioでは、オフィス見学やカジュアル面談を随時受け付けています。
興味をお持ちの方は、こちらのフォームからご連絡お待ちしております!

]]>
YANS 2019 参加報告② 〜デジタル広告における商品特徴を考慮した広告文の自動生成〜 https://cyberagent.ai/blog/research/10264/ Tue, 03 Sep 2019 05:36:01 +0000 https://cyberagent.ai/research/?p=2729 AI tech studio AIクリエイティブDivisionの脇本、AI Lab内定者バイトの川本です。
この度、8/26-28に札幌で開催されたNLP若手の会(YANS)第14回シンポジウム(2019)に、我々を含めAI tech studio所属の9人が参加・発表してきました。本記事ではその報告を簡単にさせていただきます。

YANSについて

YANSはNLP分野の若手研究者、技術者の成長や交流の促進を目的として、年に一度開催される研究シンポジウムです。今年は二泊三日の合宿形式で開催され、参加人数は昨年の150名を大きく上回る202名(過去最多)となりました。
今回弊社からはスポンサー発表、共同研究を含む4件の発表を行いました。

  • スポンサー・ポスター発表S03:サイバーエージェントにおける自然言語処理の取り組み
    • ○張培楠(株式会社サイバーエージェント)
  • [学生]ポスター発表 P63:修辞技法を考慮したキャッチコピー自動生成に向けた研究
    • ○丹羽彩奈, 岡崎直観(東工大), 西口佳佑, 亀山千尋, 毛利真崇(サイバーエージェント)
  • ポスター発表 P83:デジタル広告における商品特徴を考慮した広告文の自動生成
    • ○脇本宏平(サイバーエージェント), ○川本峻頌(明大), 張培楠(サイバーエージェント)
  • ポスター発表 P84:チャットボットの運用における自然言語処理の活用
    • ○戸田隆道, 杉山雅和, 友松祐太(サイバーエージェント)

本ブログでは我々コピー生成チームが発表した、P83「デジタル広告における商品特徴を考慮した広告文の自動生成」について報告します。 ブースターセッション, ポスター
P84「チャットボットの運用における自然言語処理の活用」の報告ブログはこちら。

AIクリエイティブとAI Labの取り組みについて

AIクリエイティブはAI Labと連携し、広告クリエイティブの自動生成の研究、開発を行っています。コピー生成チームは、Twitterやニュースアプリなどでみられる広告クリエイティブのテキスト部分の生成について研究しています。このテキスト部分は、広告としてキャッチーな文である、文法的に正しく自然な文である、といったことに加えて、商品名や商品の特徴、セールスポイントを適切に反映していることが重要になります。

今回我々は、コスメ商品のカテゴリと説明文を入力として、広告文を生成する手法について、文生成タスクで一般的に用いられる4つのモデルで実験を行いました。

  • Bidirectional LSTM Encoder-Decoder1
  • Bidirectional LSTM Encoder-Decoder + Global Attention2
  • Pointer-Generator Networks3
  • Transformer4

それぞれのモデルが生成した広告文に対してRelative Ranking Aproach5 による評価を行い、その結果元にTrueSkill6という手法でスコアリングしました。スコアが高いモデルほど、その項目において優れているといえます。Pointer-Generatorは入力文の単語を生成に利用する機構により、説明文の内容を反映した文を生成しやすい一方で文法的に崩れやすい傾向がありました。Transformerは文法的に自然で、キャッチーな文を生成しましたが、説明文をあまり考慮しない傾向がありました。
実験により、説明文に基づく広告文生成におけるモデルごとの傾向を掴むことができました。今後はより広範囲のドメインで実験を行うとともに、より高性能な広告文生成を目指して異なるアプローチも試していきます。

参加報告まとめ

以上、コピー生成チームからの参加報告でした。NLP界隈の盛り上がりを感じた3日間でした。ポスターセッションでは、予想していた以上に多くの学生や研究者の方々に興味を持っていただき、我々としては非常に励みになりました。非常にためになるご意見やご指摘をたくさんいただいたので、それらを整理して、今後の研究・プロダクト開発に反映したいと思います。


  1. Ilya Sutskever, Oriol Vinyals and Quoc V. Le “Sequence to sequence learning with neural networks” Advances in neural information processing systems, 3104-3112, 2014. ↩
  2. Minh-Thang Luong, Hieu Pham and Christopher D. Manning “Effective approaches to attention-based neural machine translation” arXiv preprint arXiv:1508.04025, 2015. ↩
  3. Abigail See, Peter J. Liu and Christopher D. Manning “Get To The Point: Summarization with Pointer-Generator Networks” Proceedings of the 55th Annual Meeting of the Association for Computational Linguistics, Volume 1, 1073-1083, 2017. ↩
  4. Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N. Gomez, Lukasz Kaiser and Illia Polosukhin “Attention is all you need” Advances in neural information processing systems, 5998-6008, 2017. ↩
  5. Ondřej Bojar, Rajen Chatterjee, Christian Federmann, Yvette Graham, Barry Haddow, Matthias Huck, Antonio Jimeno Yepes, Philipp Koehn, Varvara Logacheva, Christof Monz, Matteo Negri, Aurélie Névéol, Mariana Neves, Martin Popel, Matt Post, Raphael Rubino, Carolina Scarton, Lucia Specia, Marco Turchi, Karin Verspoor and Marcos Zampieri “Findings of the 2016 conference on machine translation” Proceedings of the First Conference on Machine Translation, Volume 2, 131-198, 2016. ↩
  6. Ralf Herbrich, Minka Tom and Graepel Thore “TrueSkill™ : A Bayesian Skill Rating System” Advances in neural information processing systems, 569-576, 2007. ↩
]]>
YANS 2019 参加報告① 〜チャットボットの運用における自然言語処理の活用〜 https://cyberagent.ai/blog/research/2675/ Fri, 30 Aug 2019 03:13:57 +0000 https://cyberagent.ai/research/?p=2675 アドテクスタジオAIメッセンジャーの友松、杉山、戸田です。
8/26-8/28にホテルエミシア札幌で行われたNLP若手の会(YANS)2019にて発表を行いました。今回弊社からは9名が参加し、スポンサー発表1件, ポスター発表3件(共同研究を含む)を行いました。

  • スポンサー・ポスター発表S03:サイバーエージェントにおける自然言語処理の取り組み
    • ○張培楠(株式会社サイバーエージェント)
  • [学生]ポスター発表 P63:修辞技法を考慮したキャッチコピー自動生成に向けた研究
    • ○丹羽彩奈, 岡崎直観(東工大), 西口佳佑, 亀山千尋, 毛利真崇(サイバーエージェント)
  • ポスター発表 P83:デジタル広告における商品特徴を考慮した広告文の自動生成
    • ○脇本宏平(サイバーエージェント), ○川本峻頌(明大), 張培楠(サイバーエージェント)
  • ポスター発表 P84:チャットボットの運用における自然言語処理の活用
    • ○戸田隆道, 杉山雅和, 友松祐太(サイバーエージェント)

本ブログではP84の「チャットボットの運用における自然言語処理の活用」についての発表報告をさせていただきます。ブースターセッション, ポスター

P83「デジタル広告における商品特徴を考慮した広告文の自動生成」の発表報告については、後日こちらのブログにアップ予定です。

AIメッセンジャーについて

AIメッセンジャー(以下AIM)は自動応答のチャットボットと有人対応が切り替え可能な対話接客プラットフォームです。主に企業様のお問い合わせページなどで提供されカスタマーからの質問に自動で応答を行います。自動応答のチャットボットはFAQに基づく用例ベースの対話システムとシナリオによるルールベースの対話システムのハイブリッドです。

用例ベースの対話システムの回答精度を高めるためには大きく分けて2つの要素が挙げられます。
* ・モデルの賢さ
* ・モデルが参照するデータ(FAQ)の網羅性およびクオリティ

一見、1つ目のモデルの賢さの方に目がいきがちですが、FAQの網羅性およびクオリティを高めることは同等かそれ以上に重要になります。どんなにモデルが賢くても、用意されたFAQが貧弱だとチャットボットはユーザの質問に答えることができません。

FAQの網羅性およびクオリティを高めるために、日々運用が人手によって行われています。以下はその運用プロセスになります。

AIMでは、この人手による運用をできるだけ効率的に行うために自然言語処理の技術を活用しています。今回のYANS2019ではその取り組みの一部について発表を行いました。

  1. チャットボットの機能と関係のない問い合わせのフィルタリング
  2. 表記揺れ辞書の自動構築
  3. 利用ログからの新たな回答候補の生成
  4. リグレッションテスト

チャットボットの機能と関係のない問い合わせのフィルタリング

実環境に導入されたチャットボットは導入時には想定しなかったような問い合わせを行われることが少なくありません。その一つがチャットボットの機能と関係のない問い合わせです。例えば下記のようなゲーム広告や不幸の手紙(チェーンメール)です。

6割以上がこういった問い合わせで占められてしまった導入先環境もあり、チャットボット改善のためのログ分析の際に視認性が悪くなってしまうため、事前にフィルタリングが必要です。

今回の取り組みではルールベースで抜き出した、チャットボットの機能と関係のない問い合わせを正例、チャットボットの回答候補であるFAQ文章を負例として分類器を作成しました。手動ラベリングしたテストデータで評価を行ったところ、ROC AUC=0.812となり、完全に自動でフィルタリングを行うには少し心もとないため、閾値を調整することでフィルタリングを行える機能をログ分析のビューに追加しました。現在運用チームで重宝される機能の一つとなっています。

表記揺れ辞書の自動構築

AIMのチャットボットではユーザの自由な入力を許可しています。
iPhoneという単語一つとってみても「iPhone」, 「iphone」, 「アイホン」, 「iphone7」, 「アイフォーン」など様々な言い回しで問い合わせが来ます。

また、iPhoneとAndroidを区別したほうがいい場合(iPhoneとAndroidで解決法が異なる場合)と区別しなくてもいい場合(スマホとして認識されれば良い場合)などドメインによって表記揺れの要件が変わって来ます。

ドメインごとに表記揺れ辞書を網羅的に構築するのは非常に困難です。
そこで、ユーザの発話データやFAQデータから教師なしで表記揺れ辞書を作成するのが本研究のモチベーションになります。

表記揺れ語を抽出するにあたって、単語の分割を行いたいところですが、サービス固有の単語やチャットならではの言い回しによってうまく単語の分割ができないことがあります。そこでSentence Pieceを用いた分割を行います。Sentence Pieceはコーパス中の文字の並びから意味のある分割を学習します。

表記揺れ辞書構築の手順は上記フローの通りです。

対象データ
* ・AIMが保持するFAQデータ
* ・AIMの配信ログのユーザ発話

フロー
1. 小文字化など正規化を行う前処理
2. Sentence Pieceによりトークンで分かち書きを行う
3. Word2Vecにより分散表現を学習
4. 表記揺れ対象語を入力として近いトークンを抽出

上記の表は想定される表記揺れ語と抽出された候補です。
「iphone」にたいしてはカタカナ表記の「アイフォン」や各機種をあらわす「iphonexr」、「iphonese」、「plus」などが抽出することができました。

また、「アメンバー」というブログを特定のユーザに配信することができる機能である、サービス特有の単語においては、「読者」や「フォロワー」などのほかに、通常単語分割すると分離されてしまう「限定記事」や「読者登録」なども抽出することができました。

一方で課題として、「です」や「の」など助詞や助動詞にあたる部分がうまく分割されずに現れているという点が挙げられます。

今後の取り組みとして次のようなことを考えています。
1. 各ハイパーパラメータ(特にSentence Piece)のチューニング
2. 「です」や「の」などの余計な部分の除去
3. 表記揺れが起こりそうな語の予測(現在は入力に対して表記揺れ候補をサジェスト)
4. FAQ応答のロジックに表記揺れを吸収する機構を追加

利用ログからの新たな回答候補の生成

現在チャットボットの回答候補は、クラスタリングした問い合わせを人間が確認し、その内容をまとめることで作成しています。これは非常に手間のかかる作業で、作業者ごとの表記揺れなどの属人化などの課題があります。理想的には問い合わせログから自動で回答候補を生成したいと考えていますが、今回はその前段階としてクラスタリングされた問い合わせの集合から、そのクラスタを代表する問い合わせを抽出する試みを行いました。

抽出方法はEmbedRank(Kamil Bennani-Smires , Claudiu Musat , Andreaa Hossmann, Michael Baeriswyl, Martin Jaggi “Simple Unsupervised Keyphrase Extraction using Sentence Embeddings”, CONLL 2018)のキーフレーズ抽出手法を参考に、問い合わせの各文章の文書ベクトルをクラスタ内全体のベクトルと比較し、最も近い問い合わせを抽出する、という手法を使用しました。

結果としては長文に引っ張られてしまったり文法的に違和感のある文書が抽出されてしまったりと、まだまだ実用化は難しそうでしたが解決しなければならない課題を認識できました。

リグレッションテスト

これまで紹介した取り組みにより、人手で行なっている運用の支援・自動化が現実的になってきました。しかし、自動で回答候補を追加したり表記揺れを整形することで挙動が変わり、これまで回答できていた質問に回答できなくなる可能性があるため自動生成した文言をそのまま追加することは危険です。
なぜそのようなことが起こるのかについて説明します。AIMではユーザーの質問と、よくある質問として用意している質問群(用例)の類似度を計算することでユーザーの質問内容を推定し回答候補を提示します(図1)。質問間の類似度を計算するための特徴量としてTF-IDFなどの素性を用いているのですが(図2)、これらは類似度の予測モデルを更新せずとも用例を更新するだけで変化するため、それによって類似度が変化しこれまで回答できていた質問に答えることができなくなる可能性があるためです。


図1

図2

そこで用例の変更前後で、過去にユーザーから送られた質問とその時の回答候補、そして提示した回答候補が選ばれたか否かを事前に確認するための環境を作成しました。
例えば図3のように、これまで回答候補の5番目がユーザーに選択されていた質問に対して、用例変更後に類似度が下がりその選択肢が提示できなくなるケースでは、ユーザーの思う正しい回答候補が上位から消えてしまい、選ぶことができなくなってしまいます。


図3

このように過去の質問に対して類似度や順位がどのように変化するか、また新しく追加した用例が期待する動作をしているかを確認することができるようになることで、機械的に用例の変更可否を判断できるようになり運用の支援や自動化に向けた取り組みを安心して行うことができます。
今後はオフラインでのテスト環境だけでなく、オンラインでのA/Bテストを行い評価するための環境も充実させていく予定です。

まとめ

以上、NLP若手の会(YANS)2019での活動報告でした

ポスターセッションでは非常にたくさんの方に来ていただき、ご自身の知見の共有や鋭いご指摘など今後の活動に活かせそうなご意見をたくさんいただきました。ありがとうございました。

今回紹介した取り組みは現在モジュール別に独立して動いていますが、今後はそれらを統合し、より人手による作業の削減に取り組んでいきたいと思います。

最後に、今回発表したように、私たちは実プロダクトとしてリリースされているチャットボットで収集された対話データを使った研究開発を行なっております。
共同研究やインターンに興味がある方はぜひお問い合わせ下さい。

]]>
NLPでビジネス課題に挑戦~ YANS2019で発表します~ https://cyberagent.ai/blog/pr/5816/ Fri, 23 Aug 2019 09:32:45 +0000 https://cyberagent.ai/?p=5816 こんにちは!
アドテクスタジオ人事の鈴木です。

アドテクスタジオのNLPメンバーは、それぞれの所属プロダクトでビジネス課題の
解決に日々取り組んでいます。
これまでも、様々な学会への参加や論文投稿を行ってきましたが、
「自分たちの取り組みをしっかりと形に残したい」「もっとアウトプットしていきたい」という思いから
この半年間はプロダクトの垣根を越えて活動してきました。

定期的に開催している論文読み会では、プロダクトでの応用やこれから
やってみたいことまで議論が広がり、毎回時間が足りなくなってしまうほど盛り上がっています。
また、kaggleでのシルバーメダル獲得や、社内論文誌「White Paper Project」への投稿など、
チャレンジの幅がどんどん広がっています!

▼White Paper Project vol.9発行&発表会レポート
https://cyberagent.ai/archives/5718
(次回vol.10ではNLPメンバーから4本投稿予定です。楽しみ!)

そして!8/26~8/28に開催されるYANS2019では2件の発表を行います!
——————————–
「デジタル広告における商品特徴を考慮した広告文の自動生成」
AIクリエイティブ 脇本、AI Lab/明治大学 川本

デジタル広告において個人に合わせたメッセージングの必要性が高まる中、
当社ではクリエイティブの自動生成に力を入れています。
その中でも、19新卒の脇本くん、内定者バイトの川本くんのルーキーコンビが
取り組んでいるのはダイレクト広告に使われるテキスト(=ダイレクトコピー)の自動生成を目指す研究です。
ダイレクト広告とは、見た人に直接商品の購入を促す広告のこと。
これに使われるテキストは文法的に正しいのはもちろん、
キャッチーであること、目を引くものであること、商品の特徴を反映させることが求められます。
今回の発表は、ダイレクトコピーに適した生成と評価手法がポイントです!

「チャットボットの運用における自然言語処理の活用」
AIメッセンジャー 戸田・杉山・友松

チャットボットで受け付ける問い合わせは様々なバリエーションがあり、
企業目線で予測していくには限界があります。
そこで重要になるのが、運用の部分!
用意したロジックをいかに運用していくかがカギとなります。
AIメッセンジャーでは、チャットボットの運用の部分に対してNLPの技術を活用しています。
今回の発表では、MLエンジニアの3人が自然言語処理技術での日々の運用支援や、
設計者の効率を上げるためのチャレンジを紹介します。
ビジネス×NLPならではの取り組みに注目です!
——————————–

また、今年もプラチナスポンサーとしてブース出展&スポンサー発表も行います。
ブースではアベマくんグッズも配付予定ですので、ぜひお越しください!

■発表予定一覧■
<8/26(月)>
15:00~15:40
スポンサー口頭発表O04「サイバーエージェントにおける自然言語処理の取り組み」
張 培楠
16:20~18:10
スポンサーポスター発表S03「サイバーエージェントにおける自然言語処理の取り組み」
張 培楠

<8/28(水)>
09:30-11:20
ポスター発表 P83「デジタル広告における商品特徴を考慮した広告文の自動生成」
脇本 宏平、川本 峻頌
ポスター発表 P84「チャットボットの運用における自然言語処理の活用」
戸田 隆道、杉山 雅和、友松 祐太

 

]]>
Tweet ベースマッチングシステムを支える技術 https://cyberagent.ai/blog/research/10257/ Tue, 05 Feb 2019 10:40:06 +0000 https://cyberagent.ai/research/?p=1461 はじめに

(図.Design Scramble 公式ロゴ)

渋谷中の Web 企業を巻き込んだ Design Scramble が 11 月 24 日(土)に開催されましたが、参加された方はいらっしゃいますか?なんだそれは、という方のために軽くご紹介をしますと、Design Scramble は「渋谷を舞台に、クリエイターと企業が業界を超えて交差する」というモットーの元に開催された、渋谷を舞台としたクリエイター・デザイナーのためのデザインフェスティバルです。お祭りで各企業が屋台を出店し、デザイン力やエンジニアリング力を集結させた催し物をする、といえば伝わりやすいでしょうか。

イベント全体で 1000 人を超える来場者数の中、弊社も例に漏れず、渋谷に拠点をおくいち企業として参加させていただきました。出し物は CONNECTED by AWA P[AR]TY という名前の「AR×自然言語処理」をテーマとしたインスタレーション作品になっております。具体的には、Tweet の内容と事前アンケートから User 特徴を算出し、それを元にした自分の分身が近しい特徴のUser 達と AR 空間上で対話を行う、というものでした。

(図.当日の会場の様子)

この作品の自然言語処理部分を担当するに当たって AI Lab から岩崎 (@chck) と張 (@peinan) の二名のリサーチャーが約一ヶ月間仕様を詰めながら検証し、ゴリッゴリにサーバーサイドの開発を担当したのでその軌跡を残したいと思います。ゼロから自然言語処理(以下 NLP)を実サービスに載せる際の喜怒哀楽や、世にあまり出ないような良かったこと苦労したこと悩んだことのすべてを晒していく予定ですので、なにか参考になれば幸いです。
この記事で書かれることは大まかに以下になります。

  • 案件の進め方
  • Google Cloud Platform (以下 GCP) をフル活用したシステムアーキテクチャ
  • NLP の実サービスへの応用思想

先に成果物紹介

https://twitter.com/hiroko_tazume/status/1066244947349712896
https://twitter.com/CONNECTED_AWA/status/1068093050063269891

コトの発端

「ちょっといいかな?身構えないでね」

ある日のこと、こんな相談が。
自分たちは普段アドテクスタジオの AI Lab という研究部署で論文を読んだり書いたり、自分たちがかんがえたさいきょうの手法の実験をしたり、Kaggle に打ち込んだり、サイエンスの力でサービスの問題を解決することに努めたりしています。夏の主要学会シーズンも終え、業務も一旦の落ち着きを取り戻した9月中旬のこと、とある筋から NLP の知見を活かしてメディアのエンジニア・デザイナーと一緒に何かを作らないか?という相談が来ました。それが今回の Design Scramble 企画の始まりでした。

MTGの風景

(図.ミーティングの様子)

ひと言で表現すると参加者の分身がAR上で勝手に踊る・繋がる・喋るといった内容でした。具体的には以下のようなものでした。

  1. クラブをイメージした AR 空間で自分のアバターが他のアバターに混じってダンスして会話する
  2. 類似度が高い人同士がよりマッチングし、より会話をしやすくなる
  3. ① の会話内容は、当人っぽい言葉遣いや内容を生成したものを使う

初期の構成案

(図.初期の構成案)

ここからなんとなく読み取れる通り、「繋がる」「喋る」に該当する ② と ③ の部分が自分たちの担当になります。

(図.ティザーサイトの一面)

システムアーキテクチャ

主な要件は以下になります。

  1. 数百人規模の来場をリアルタイムで捌けるような構成
  2. User の Tweet ベースのマッチング
  3. User の Tweet と事前アンケートからの対話生成

要件を踏まえて、機能別に細かく定義すると以下のようになります。

  • User の Tweet 取得
  • User の特徴語抽出
  • User のベクトル化
  • User の類似度計算
  • User の対話生成

これらをそれぞれ順に説明していきます。

全体像

(図.アーキテクチャ全体)

1. User の Tweet 取得

Screen Shot 2018-11-30 at 14.09.58.png (86.5 kB)

(図.Tweet 取得部分)

AR サーバー側から渡される TwitterAccessToken を基に、1 User あたり API の上限である 3200 Tweets を取得し、形態素解析をかけたのち、Cloud Datastore に保存します。この時点である程度次元(Vocabulary)を減らすために、形態素解析で分けられた単語の助詞・助動詞・非自立語・数字を除去し、原形に変換しておきます。辞書は新語・固有表現に強い mecab-ipadic-neologd を使用しました。
この処理を介して最終的に得られたものがUser 単位の元データとなります。

2. User の特徴語抽出

1 で得られた User 単位の Tweet 単語群から tf-idf という(他の文書(今回の場合他の User)で出現頻度が高い場合ペナルティを課す)単語の重み付け手法を使って特徴語を抽出します。tf-idf の値の大きい単語 top100 をその User の特徴語として、こちらも Cloud Datastore に保存しておきます。トピックモデル(文書群から教師無しでトピック(単語のまとまり)を探索し、その確率分布を返す。指定トピック数に次元を圧縮できる)の利用も考えましたが、計算量の問題で断念しました。以下の図は、得られた特徴語から User を WordCloud として可視化した例です。その User らしい特徴的な単語が抽出できています。

Tweet の Crawl -> Keyword 計算による WordCloud 化 Tweet の Crawl -> Keyword 計算による WordCloud 化
(図.Tweet から得られた特徴語の例。左は弊社社長 @susumu_fujita、右は筆者)

コーパスの定期更新

前述の通り、特徴語の計算には指定 User 以外の大衆 Tweet も利用されます。登録 User が増えるということは、この全体の Tweet 数、つまりコーパス内の単語の分布が変わっていき、結果的に特徴的な単語も都度変化します。例えば、User 数の少ない当初は特徴的だった「今日」という単語も、別の User の Tweet がコーパスに追加され、そこに多く含まれていたら特徴的ではなくなります。この特徴語の変化を取り入れるためには、特徴語の計算の際に、コーパスを常に最新に保つ工夫が必要です。
今回は、メモリにロードされているコーパスが計算に使用され、かつ読込元のコーパスがひとつのバイナリファイルに集約されていたため、スレッドセーフな更新・ロードに注意する必要がありました。毎回 1 User の処理の合間に更新&リロードを差し込むと上記問題が起こり得るため、コーパスを定期的に洗い替えるバッチを用意しました。

(右図.コーパスデータの更新タイミング問題)

3. User のベクトル化

Screen Shot 2018-11-30 at 14.12.36.png (87.2 kB)

(図.User のベクトル化)

User を表す特徴語を抽出することに成功しましたが、User 間のマッチング、距離を測るためには、特徴語を何らかのベクトル表現にする必要があります。ここでは単語の意味的な近さを考慮したベクトル表現に変換するのによく使われる、Word2Vec を用います。これにより、User あたり 100 特徴語から 100 × 200 次元の行列になりました。日本語 Wikipedia のリンク構造を利用して固有表現に頑健な Suzuki ら [1] の Wikipedia Entity Vector を Word2Vec のモデルとして使わせて頂きました。ここで改めて、Tweet から算出した特徴語群はその User を表す特徴となり得るという仮定を置いています。Amazon の商品レコメンド、Tinder のカップリングよろしく、人やモノ同士を関連度で紐付ける機能の背景には、特徴量(ベクトル)化した人やモノ間の距離を測るという処理が行われています。そのため、はじめに行うべきは登録してくれた各Userのベクトル(User feature)化です。

User Feature の定義

参加者をベクトル化するにあたって、参加者の個性を表す何らかの元ソースが必要です。今回 Twitter 連携を利用した User 登録にした理由の一つとして、参加者の大半を占めるはずのクリエイターから集められる自然言語の特徴として Twitter がリーチすると考えたからです。参加者の Tweet から算出した特徴的な単語群はその User を表す特徴、個性となり得るはずです。前述した tf-idf という技術で、各 User 最大 3200 Tweet から特徴語を 100 単語ずつ抽出した各単語を、意味的な近さを考慮したベクトル変換技術 Word2Vec によって 100 × 200 次元のベクトルに変換し、User feature としました。マッチングで利用されるこの特徴語群は、そのままUser自身を可視化でき、事前登録時に WordCloud として提供しています。

4. User の類似度計算

Screen Shot 2018-11-30 at 14.13.42.png (108.1 kB)

(図.User の類似度計算)

公式の謳い文句の勝手に「マッチング」の部分です。これまでの工程で、User の Tweet から抽出された 100 個の特徴語を各 200 次元でベクトル化しました。今回マッチングさせたい対象は User 同士なので、依然として単語同士の距離だけではなく、単語群の距離を測る必要がありました。平均等を取って 100 から 1 ベクトルに潰すこともできますが、各特徴語本来の特徴が潰れることを懸念し、今回は「似ている特徴語ペアの類似度の上位 10 語の平均を User 間の類似度」としました。具体的には以下のプロセスによって User 間の類似度を算出しました。

  1. 100 特徴語/ 1 User のうち、tf-idf Top30 特徴語 Vector を利用
  2. UserX, UserY の Top30 特徴語 Vector それぞれのコサイン類似度を算出
  3. 得られた類似度 30×30 ペアのうち、上位 10 ペアの類似度の平均値が User 間の類似度

このやり方の場合、各単語同士の近さは考慮できますが、単語の組み合わせ、単語群としての近さはあまり考慮できていないため、想定通り 30% を越える類似度の User ペアは得られませんでした。今後の課題として上記問題に対応すべく Doc2Vec や Encoder 系の手法も試したいです。

こちらで得られたおもしろ類似特徴語を以下にいくつか載せておきます。
「中野ブロードウェイ」&「恋人」
「港区男子」&「志望動機」
「チョココロネ」&「浜松町」

マッチングの定期更新

1 User が本システムに登録してくれるたびに WordCloud から Matching までの処理が走り、全体の User Feature が増えていきます。ということは、Similarity を計算したタイミングによって母数が違うので異なったマッチングを楽しめます。また、より多い母数でマッチングしたほうがより高い類似度の User が現れる可能性が高いとも言えます。そこで、既に Similarity を計算しおわった User に対しても定期的に再計算を行うバッチを作成しました。

Screen Shot 2018-11-24 at 18.58.21.png (167.9 kB)

(図.本番当日のサーバーの CPU 負荷。定期的に団体客が来たり、新手の攻撃かと思いきや自分で作成した CronJob でした)

これの難点として、Userの登録が増え、マッチングの候補の母数が増えるということは、類似度計算の総当たり数も増えるということです。ここでも計算時にメモリにロードされている User 候補 Matrix が使われるため、前述したコーパスの定期更新と同じ問題に悩まされたのと、計算時間が線形で増えていくことでした。1day イベントでなければ FAISS のような近似最近傍探索を検討していました。

(右図.類似度計算の総当たり数が増えていく様子)

5. User の対話生成

主に要件に沿ったプロダクトに仕上げるまでに考えたことやったことを書きます。

要件と使用手法の検討

冒頭で書いた全体的な要件のうち、対話生成のタスクに関わるのは ④ の「当人っぽい言葉遣いや内容を生成して、お互いを対話させる」です。
これだけだとかなりふわっとしていましたが、初回から何回か仕様についての議論を重ねていくうちに、なんとなく以下のような方向性になりました。

  • データはどこから?
    • Twitter もしくは来場時にアンケートに答えてもらう
  • (イベントとして) 当日登録は許容する?
    • yes. むしろ当日登録の方が多くなるかもしれない
  • 会話生成にかかる時間は最長でどれくらいまでなら許せる?
    • 当日登録の場合を考えるとせいぜい 5 分から 10 分程度

これに対して取り得るアプローチはざっと思いついたものは以下のようになります。

  • でぃ〜ぷら〜にんぐを使った手法
    • ニューラルネットワークで当人の発言となるものを学習し、そのモデルで対話させる
  • 用例ベースの手法
    • 当人と他人のやりとりの用例を集め、発話同士の近さで対応する返答をする
  • シナリオ・テンプレートを使った手法
    • 予め会話をシナリオ・テンプレートに落とし、それに沿った発話を行う。最終的にはこれを採用。

結果的にこの手法を採用しましたが、時系列的には上から検討・調査しました。それらのメリットやデメリット、今回の要件への適切度をどう判断したかについては、寄せ集めコラムに書きますので興味ある方は読んでみてください。

シナリオ・テンプレートを使った手法

シナリオ型、穴埋め形式から slot-filling などとも呼ばれるこの手法は今まで出てきた中でもっともシンプルで実装がしやすく、それでいて日本語的に破綻することなく動作します。ただし、シナリオ・テンプレートなどを人手で設計する必要があるため、時間と労力をかけて用例を作ったり会話の流れを設定したりしなければなりません。

(図.シナリオ・テンプレートを使った対話手法)

今回そこは根気でカバーするとして、要件にあった対話を作成する時間は他のいずれの手法よりも速く、参加者を模する内容の方はアンケートでカバーしてテンプレートに埋め込む形式を取ることで、全体的な要求を満たせることができます。よってこの手法でシステムを作っていくことにしました。
シナリオ型の中でも今回は分岐が発生しない固定回数のやりとりをするタイプを取りました。用例やシナリオのおおよその設計は以下の図のようになります。

ss 2019-01-25 14.48.51.png (1.1 MB)

(図.用例およびシナリオの設計)

話者 A と話者 B が交互に発話していく設計で、全部で 13 対の対話が行われるようにしています。赤矢印が示すように各発話には複数パターンが用意されており、そのパターンからランダムに選ぶことで異なる対話セッションで同じ対話内容にならないようにしています。 No は会話の順番、 id は会話内容を示すスロットの prefix になっていてこれと話者情報を組み合わせます。例えば A さんの出身地を示すスロットは birthplace_a になります。このような参加者の情報は以下のような 7 項目使用することにしました。

id 詳細
name Twitter から取れる screen_name
job 職業(アンケート回答)
together 誰と来たか(アンケート回答)
birthplace 出身地(アンケート回答)
music 好きな音楽ジャンル(アンケート回答)
wordcloud (少し紛らわしいですが)最近興味を持ってる物事を示す単語を Tweet から解析
tweet wordcloud の根拠となる Tweet

出身地に関して、相手側の出身地について何かしらの薀蓄を話せたら面白いよねという案が出たので、web から日本の 47 都道府県の観光名所をクロールしてきて knowledge base を作成し、それを元に API を実装して裏側に配置しました。

ss 2019-01-25 15.10.02.png (395.8 kB)

(図.都道府県から観光名所を返してくれる API の例。ディズニーが東京なのは大目に見ていただきたい)

これの descs (名所の説明文)を品詞情報やらなんやらを見て~~泥臭く~~うまく処理して、日本語的に自然になるように発話に組み込みました。ただ試作段階では、今まで一言二言しかしゃべらなかった自分の分身が、出身地の話になると急に饒舌になってどうなのという議論もありましたが、これはこれで面白いんじゃねということでそのままにしました。すると同じことを来場者の方々も思ったらしく、狙った通りの体験を味わえてもらえたことが製作者冥利に尽きました。

寄せ集めコラム

対話生成で検討した他手法

でぃ〜ぷら〜にんぐを使った手法

人工知能が流行しはじめて短くない期間が過ぎ去り、なんにでもとりあえず人工知能だと叫ばれる昨今、でぃ〜ぷら〜にんぐを使った手法はやはり目を引くものがあります。自分としてもぜひとも使いたかったのですが、結論から言いますと今回は色々検討の末見送ることにしました。その理由は非常にシンプルで、学習に必要なデータの不足と学習にかかる時間が長すぎるからです。
当然といえば当然ですが、ニューラルネットワークを使って学習させる場合、大量のデータを使ってそれなりの時間をかけて行うことが多いです。今回のケースだと、データは Twitter などの SNS から引っ張ってくることになるので、Tweet (中でも特に mention) が多い人なら良いのですが、それが不足している人のほうが圧倒的に多かったので文法的に破綻していたりと上手く学習させることができませんでした。また、学習に必要な時間も長いので、当日来場者はもちろん事前登録者だけでもちゃんと賄えるかが非常に怪しい状況でした。

ちなみに検討したモデルたちは供養を兼ねて以下に紹介したのでご参考になったら幸いです。

sequence-to-sequence モデル

「seq2seq」や「encoder-decoder」などとも呼ばれていたりします。ニューラルネットワークを使って bot 作成や対話をしたいってなったときに真っ先に思いつくのがこのモデルと言っても過言ではないでしょう。
encoder-decoder という名前の通り、encoder と decoder の役割を担う2つの Recurrent Neural Network (RNN) を使っており、encoder 側で入力となる系列 (sequence) を受け取り内部表現に圧縮し、decoder 側でその圧縮された内部表現を元に系列を出力する、という構造になっています。AutoEncoder 1 の一種で、初期の全結合ネットワークである Multi-layer Perceptron (MLP) の代わりに RNN を使っている、という風に捉えることもできます。

ss 2019-01-17 19.06.29.png (50.8 kB)

(図.sequence-to-sequence モデルの概観)

このアーキテクチャが注目され始めたのは 2014 年で、いくつかの論文 [5, 6] でこの構造を使って機械翻訳タスクにおいて高い精度を達成していました。
同じ意味の文に対して、encoder に元言語の系列を入力し、decoder に翻訳先の言語の系列を出力させるように学習させています。
一見対話処理には関係なさそうですが、元言語を発話、翻訳先の言語をその発話に対する応答と考えれば対話処理にも応用できると気付き、一気に広まりました。どこでなにが応用できるか分からないものですね。

Generative Adversarial Network (GAN) モデル

生成という単語から GAN [7] を連想する方も多いのではないでしょうか。敵対性学習とも呼ばれるこの手法が初めて世界の目にさらされたのは 2014 年の NIPS で、2018 年現在の 4 年間までに数多くの派生が生まれてきました。
敵対性という言葉の通り、GAN の基本的なアイデアは Generator と Discriminator の2つのニューラルネットワークを作り、前者は何かを生成し、後者は生成された結果を分別する役割を持っています。Generator の目標は Discriminator を欺く結果を生成することで、逆に Discriminator は生成された結果を正しく分別することをゴールとしています。

ss 2019-01-25 12.50.50.png (56.8 kB)

(図.GAN の概念図)

しかし当初から今に至るまで、GAN を使ったタスクの多くが NLP 分野のものではなく画像に関するものでした。理由は諸説ありますが、自分としては画像は密な値を取ることができるが言語ではそれが難しい、というのが主な原因だと思っています。つまり GAN を使って生成された結果の密行列に対して、画像ならば近しい画素を割り当てられるが、言語の表現は画像ほど連続性がないため近しい単語を選ぶのが難しいということです。また、そのため重みの更新が困難で、どこをどうやってアップデートすればより判別されにくい系列にできるのかが Generator には分からない。他にも多くの問題が存在しているのですが、GAN の NLP 適用についてより詳しく知りたい方は [10] のスライドを参考にすると良いかもしれません。
とはいえ技術の進歩は凄まじく、去年や今年からチラホラと GAN を用いた手法が NLP 界隈でも観測されるようになり [8, 9]、対話処理に応用した研究も出てきています [11, 12]。これからの発展に期待したいところですね。

用例ベースの手法

ニューラルネットワークが流行る前の対話処理では用例を使った手法が主流で、その手軽さや解釈容易性から現在でも盛んに使われています。
そのバリエーションはたくさんあるのですが、そのほとんどに共通していることとしては Question (Q) と Answer (A) のペアを大量に用意し、その中からクエリ入力に最も近しい Q に対応する A を返す、という仕組みです。

ss 2019-01-25 12.35.06.png (126.9 kB)

(図.用例ベースを用いた対話例)

単純ながらもそれっぽい回答ができるのですが、文脈を見ていないことやそれに起因する整合性の破綻、データ量がないと返答のパターンが少なくなり的はずれなことを発言しがちになるなど問題がいくつかあります。外的なリソースやナレッジベースを上手く活用すればある程度は解決できるのですが、構築やチューニングするのにそれなりの時間と労力が必要とされます。

今回の場合は、やはり対話破綻とデータ量の観点から採用はしませんでしたが、ニューラルな手法とは違って文法的には破綻していなかったので余力があれば余興として対話破綻を楽しんでもらうこともありかなと考えました。結局使いませんでしたが。

(右図.デモ用に作った bot を LINE に載せたもの。高木さんって誰ですか)

高速化の工夫

特徴語抽出やマッチング処理はそれなりに計算時間がかかることが予想できたので、NLP 周りの API は基本非同期で設計し、1 User の処理毎に進捗を返す API を用意しました。STANDBY, PROCESSING, FINISHED, FAILED の 4 status で表現し、各処理を Cloud Pub/Sub 経由で Queueing する際等にstatus を変えていました。具体的には、User 登録時点で TwitterToken が発行されるので Tweet 取得から類似度計算まで裏で走らせておき、登録後に回答してもらうアンケートとスタッフの喋りで 5 分程稼ぎつつ対話生成に繫げていました。また、来場ピーク時に詰まらないように Request 数に応じて Scaleout するよう Kubernetes 側で設計しました。

(右図.処理の進捗を表す json)

豆腐削除プロジェクト

WordCloud 画像を生成するときに苦労したことの一つが豆腐についてです。画像生成にするときに、使用するフォントに含まれていない文字が使われると豆腐となってしまいますが、Twitter ではそのような文字(絵文字、他言語の文字など)がそれなりに散見されます。もちろん人によってその数は変動しますが、人によってはかなりの数の豆腐が生まれてしまうことがありました。

(図.豆腐□が入ってしまっている例)

本番でこれが出てしまうことはさすがに見栄えが悪いので、豆腐削除プロジェクトが立ち上がりました。といっても実装の片手間の時間で調べたり検証したりしていた程度なのですが、数多くの試行の末に採用された方法がフォントテーブルの解析でした。具体的な流れは以下のようになります。

  1. 使用するフォントファイル(ttf ファイル)を解析して、フォントファイル内の文字コードのリストを作る
  2. 事前にそのリストをエクスポート
  3. 実際のシステムでは流れてくる文字を 1 文字ずつ舐めて、リストにない文字コードを含む単語を除去

この方法にたどり着くのには少し時間がかかりまして、というのもフォント解析なんて中々縁のないことだった上に文献も少なかったからです。同じことをする方は少ないかもしれませんが、もしいましたらぜひ参考にしてみてください。

After Party

利用者の Tweet 分布

Tweet は Option なので来場者はもっと多く、12:00-19:00 で 400 人程でした。

(図.投稿時間 x Tweet 数のグラフ)

利用者のTwitterProfile

Design Scramble自体がクリエイター向けのイベントなので、近しい職種の方々に利用して頂けたようです。

(図.来場者の Twitter Profile の単語表現)

反響

UI/UXの観点でわかりやすく解説して頂けたり、実際にこのインスタレーションを通じてマッチングされた方もいました。ユーザーの反応は励みになりますね。本当にありがとうございました。

https://twitter.com/saharu54/status/1066346308972163073
https://twitter.com/sallllly0307/status/1066305617910882304

感想

普段の研究業務では state-of-the-art を追ったりしていることが多く、こういった発案からプロダクトに乗せるところまで全てを自分たちでやることはあまりないです。その分今回の製作体験ではどうやって最高精度を出すかではなく、どうやって要件を満たして最高の体験をしてもらえるか、という軸を据えて製作活動ができたのは非常に新鮮味がありいつもとは違う視点を持つことができて楽しかったです。

他にも多くの反省点や感想があるのですが、全てを文章に書ききれないので下のような箇条書きにまとめてみました。これはどういうことなのか詳しく!、いやそれ違うだろ!等ありましたら適宜連絡いただければ幸いです。

  • 妥協が大事
    • 精度と処理速度はトレードオフ
    • SOTA なモデルが良いとは限らない
  • 同期/非同期処理を使い分ける
    • 計算量をできれば事前に見積もる
    • 処理時間が線形に増えていくと危険
  • NLP 系の本番で動くシステムから多くのノウハウが得られた
    • 本番中に Tweet が 0 件の User 対応含む運用も思い出
    • データが Static でない=ゴミデータが入る可能性を常に頭に入れる
  • ベクトルデータをうまく扱う DB 知ってたら教えてください

参考文献

  • [1] Suzuki et al., A Joint Neural Model for Fine-Grained Named Entity Classification of Wikipedia Articles, IEICE Transactions on Information and Systems, 2018
  • [2] Hinton et al., Reducing the Dimensionality of Data with Neural Networks, Science 2006
  • [3] Pascal et al., Extracting and Composing Robust Features with Denoising Autoencoders, ICML 2008
  • [4] Diederik et al., Auto-Encoding Variational Bayes, ICML 2014
  • [5] Ilya et al., Sequence to Sequence Learning with Neural Networks, NIPS 2014
  • [6] Kyunghyun et al., Learning Phrase Representations using RNN Encoder–Decoder for Statistical Machine Translation, EMNLP 2014
  • [7] Goodfellow et al., Generative Adversarial Nets, NIPS 2014
  • [8] Yu et al., SeqGAN: Sequence Generative Adversarial Nets with Policy Gradient, AAAI 2017
  • [9] Fedus et al., MaskGAN: Better Text Generation via Filling in the______, ICLR 2018
  • [10] 小町守, 言語処理における GAN の展開 (SlideShare)
  • [11] Li et al., Adversarial Learning for Neural Dialogue Generation, ACL 2017
  • [12] Zhen et al., Neural Response Generation via GAN with an Approximate Embedding Layer, ACL 2017

著者


  1. 自己符号化器とも呼ばれる。考え方自体は以前からありましたが、2006 年に Geoffrey E. Hinton らがサイエンス誌に発表した論文「Reducing the Dimensionality of Data with Neural Networks [2]」が Deep AutoEncoder の火付け役となった。その後、入力時にノイズをかけて学習させる Denoising AutoEncoder [3] や CNN を使った Convolutional Autoencoder、さらには Variational AutoEncoder [4] といった変種まで数多くの派生が生まれてきています。 ↩
]]>
ACL 2018 参加報告 https://cyberagent.ai/blog/research/511/ Mon, 13 Aug 2018 05:28:46 +0000 https://cyberagent.ai/research/?p=511 こんにちは、暑い日が続いていますね!
このたびオーストラリアのメルボルンで開催された、自然言語処理のトップカンファレンスである ACL2018 に AdTech Studio AI Lab から張(@so1owingpixy)と岩崎(@chck)の2名が参加したので、二人の個人的な感想を交えつつ報告を行っていきたいと思います。

もくじ

  • ACL について
    • ACL とは
    • ACL 2018 の全体感
      • 概要
      • ACL 2018 について
      • ベストペーパー紹介
      • 自然言語処理分野のトレンド
      • アプリ
      • 開催地メルボルン
  • 研究紹介
  • まとめ

ACL について

ACL とは

Annual Meeting of the Association for Computational Linguistics (通称 ACL) は、年次で開催される計算言語および自然言語処理分野においての世界的な権威を持つ学術会議であり、今年はオーストラリアのメルボルンで 56 回目の開催を迎えました。
ちなみに、去年 (2017年) はカナダのバンクーバーで、来年 (2019年) はイタリアのフィレンツェで催される予定であり、「北米」「アジア・オセアニア」「ヨーロッパ」と開催地を巡回しています。

余談になりますが、ACL のロゴは一見よく分からない奇特な形をしていますが、その実は ACL のアルファベットを組み合わせたものらしいです1。

(ACL のロゴを分解)

ACL 2018 の全体感

概要

開催期間は表1のようになっていて、初日の 7/15 (日) がチュートリアルで、7/16 (月) 〜 7/18 (水) が本会議、その後の二日間の 7/19 (木), 7/20 (金) がワークショップとかなり長い日程になっています。

(表1: ACL 2018 の日程)
日付 内容
7/15 (日) チュートリアル
7/16 (月) – 7/18 (水) 本会議
7/19 (木) – 7/20 (金) ワークショップ

開催場所は Melbourne Convention and Exhibition Centre という名前のメルボルン市内にあるコンベンションセンターで、端から端まで約 400m 以上と非常に広い会場でした。

(Melbourne Convention and Exhibition Centre の写真)

 

また、地理的にも市内の中心部に位置しており、詳細は「開催地メルボルン」で書きますが観光などのアクセスがとてもしやすかったです。

ACL 2018 について

今年の論文投稿数および採択数、採択率は表2のようになっています。
数値を見ていくとロングペーパーとショートペーパーを合わせて 1500 件以上の投稿数に上っており、そのうちの約 1/4 が採択されている状況でした。

(ACL 2018 の論文投稿数・採択数・採択率)
論文種別 投稿数 採択数 採択率
Long 1018 258 25.3%
Short 526 126 24.0%
Total 1544 384 24.9%

過去の投稿数と採択数の推移を見ると、多少のブレはあるものの増加傾向にありますが、ICML などの機械学習をメインとした国際会議2と比べると緩やかな増加でした。それでも10年前の2008年と比較すると約2倍の増加と盛り上がっていることが見て取れます。

(ACL 論文の投稿数、採択数の推移)

 

(ICML 論文の投稿数、採択数の推移)

 

採択率に関しては年々 20〜25% 程度を維持しており、他の NLP の国際会議と比べると安定して難関を貫いている印象です。

(NLP 会議ごとの採択率の比較)

 

また、今回の ACL で少なからず話題を集めたのはなんと言っても AACL の発表でしょう。

(AACL の発表スライド)

 

AACL は Asis-Pacific Chapter of the Association for Computational Linguistics の略で、いわば ACL のアジア・環太平洋版と考えてよいでしょう。
EACL, EMNLP, NAACL に続く4つ目の地域限定開催の会議となり、これも言語処理分野の規模拡大を物語っています。
なお、図4のスライドにも書いてありますが、現アジア圏で開催されている IJCNLP との棲み分けは開催年になっています。IJCNLP は奇数年開催で AACL は偶数年開催になっていて、AACL の初回開催は2020年になる予定です。

ベストペーパー紹介

今回の ACL ではロングとショート合わせて5本のベストペーパーが選び出されました。

  • ロングペーパー
    • Finding Syntax in Human Encephalography with Beam Search
    • Learning to Ask Good Questions: Ranking Clarification Questions using Neural Expected Value of Perfect Information
    • Let’s do it “again”: A First Computational Approach to Detecting Adverbial Presupposition Triggers
  • ショートペーパー
    • Know What You Don’t Know: Unanswerable Questions for SQuAD
    • ‘Lighter’ Can Still Be Dark: Modeling Comparative Color Descriptions

これら各論文の概要は「研究紹介」に簡単にまとめていて、以下は全ベストペーパーを通しての所感です。

  • 従来のタスクに対して state-of-the-art を更新した系のものではなく、新しいタスクの定義やデータセットの作成に関する話が多かった印象を受けた
  • 言語処理だけに囚われずに他分野(視覚情報、脳科学)に横断するタスクが評価されたのは非常に良い傾向だと感じた

自然言語処理分野のトレンド

オープニングではワードクラウドで昨年と今年のトレンドを表現していました。

(2017年 vs. 2018年)

 

それを眺めてみると、2017年は Knowledge, Detection, Attention などの単語が多かったのに対し、今年は Learning, Embeddings などの単語が多かったです。
全体を通してみても2015, 2016年まで非常にホットだった Embeddings の話題が落ち着きを見せた2017年とは打って変わって、今年はまた盛り上がりを見せていました。ただ、以前の「なんとか2vec」のような様々なものを埋め込んでみました、というのではなく、サブワードや形態素で単語や文を扱ったりと埋め込み方を工夫した研究が多かった印象です。
また、ここ2, 3年でかなり数を減らしていた sentiment に関する研究も、embeddings の再興に引っ張られるように今年は例年と比べてその数を増やしていました。というのも、その多くが sentiment タスクを新しい手法の embeddings を使って解いた研究だったからです。word2vec が2013年に発表され話題を呼んでから約5年経ちましたが、まだまだ活発な活動が期待できそうです。
サブワードや形態素という、単語レベルより小さく文字レベルより大きい単位での扱いも浸透し始めてきている印象です。やはり単語レベルだと同義語や未知語などに対処できなくて、文字レベルだと特にアジア圏の漢字などスパースネスを起こしそうな言語には不向きという方向性はある程度共通でした。ここの部分はこれからもさらなる発展を遂げていきそうです。

手法に関しては、Encoder-Decoder に (Bi)LSTM + Attention を使ったものが非常に多かったです。2017年のワードクラウドに多くあった Attention が今年少なかったのはもはや常識となったためあえてタイトルに付けなくなったのが原因なのではないかと推測されます。
一方でやはりといいますか、CNN を使った手法は少なく、画像系と違って言語分野ではシーケンシャルな RNN ベースな手法が支配的と見て取れます。

アプリ

とても便利だったため紹介したいと思います。
Whova というイベント用アプリの利用を公式から推奨していて、学会運営からの連絡や Author への DM、TimeSchedule 等一貫してこのアプリ1本で完結します。
同時期に開催された IJCAI でも使われていたとのことで、案内が紙媒体だけの学会など特に導入してほしいです。

(Reminder付TimeSchedule[左] Atendee連絡用掲示板[中央] Networking用EventForm[右])

 

開催地メルボルン

会場

トップカンファレンスということもあり、相変わらず広く豊かな会場で開催されました(参加人数1500人超)。

(会場周辺の衛星写真)

 

(長い通路を超えた先に)

 

(看板の前で記念撮影)

 

(Lunch Breakの様子)

 

メルボルンという都市

今回の開催地に選ばれたメルボルンという都市は、南半球に位置しているため季節が反転していて、夏の日本とは反対に冬の真っ只中で非常に寒かったですが、それでも過ごしていく上での満足度に関して言えば、我々の経験内ではかなりの上位に位置すると確信しました。

その理由は以下に大別できます。

  • 街の綺麗さ
  • 治安の良さ
  • 食べ物の美味しさ
  • 移動の便利さ

街の綺麗さは語るより写真を見たほうが早く、いたるところに緑がありゴミも比較的少なかったです。もちろん裏路地などに足を踏み入れるとなるとダークな雰囲気を感じられますが、それはまあスパイスということで。

(緑あふれる街メルボルン)

 

治安に関して、海外はやはり日本と比べてあまり良くない印象を受けることが多々あるのですが、自分たちが活動する範囲に関しては夜中に出歩いててもいつもと変わらないのどかさでした。

(図書館前でのどかにチェスに興じる人たち)

 

加えてなんと言ってもご飯やコーヒーが美味しい点は挙げずにはいられないでしょう。
メルボルンはカフェで有名な街でもあり、あちこちに焙煎されたコーヒー豆が香るお店でひしめき合っています。約一週間の滞在中に多くのカフェに足を踏み入れましたが、ひとつとして外れはなくどのお店でも美味しいカフェラテを可愛いラテアートとともに提供してくれました。

(可愛いラテアート)

 

メルボルン市内を移動する際は、公共交通機関のひとつであるトラム――いわゆる路面電車――を使うことが非常に多かったです。というのも、血管のごとく張り巡らされた路線網で縦横無尽に駆け抜けられるからです。さらに市の中心部のトラムはなんと無料で乗車できるため、気軽に乗って気軽に降りることができ、我々のような初めて訪れる人だけでなく現地の人々の貴重な足にもなっていることが分かります。

(とてもレアなレストランが入っているトラム)

 

まだまだ語り尽くせないほどの魅力を感じますが、あとはぜひご自身の目で確かめてみてください。

研究紹介

ここではベストペーパーを含む8本の気になった研究を紹介したいと思います。間違いなどがありましたらご一報をいただけると幸いです。

[BEST LONG PAPER] Finding Syntax in Human Encephalography with Beam Search3

  • DeepMind, Oxford University, University of Michigan, Cornell University
  • 構文木を表現する文法モデルの RNNG とビームサーチを組み合わせた生成手法における複雑さの指標と、人間が文・文章を聞いて発生する P600 などの脳波成分とは有意な相関関係にあることを示した論文。

[BEST LONG PAPER] Learning to Ask Good Questions: Ranking Clarification Questions using Neural Expected Value of Perfect Information4

  • University of Maryland, Microsoft Research
  • 情報が不足している質問に対して、いかに不足情報を補えるような適切な質問を行えるかを測る Clarification Question Ranking というタスクを定義し、そのためのデータセットを作成し、解くためのモデルを提案。
  • モデルの方は EVPI (Expected Value of Perfect Information, 完全情報の価値の期待値) を使って質問と回答のスコアを算出している。

[BEST LONG PAPER] Let’s do it “again”: A First Computational Approach to Detecting Adverbial Presupposition Triggers5

  • McGill University, MILA
  • Adverbial Presupposition Triggers: 前提条件の存在を示す副詞
    • 例えば、”John is going to the restaurant again.” という一文があった時に、”again” があるということは John は以前そのレストランに行ったことがあることが分かる。このような副詞のことを Adverbial Presupposition Triggers という。
    • “again” 以外にも “too”, “also”, “still” などが挙げられる
  • このような副詞が文章に必要か否かを判断するタスクで、文脈を理解することに繋がるため要約や対話分野に適応できる。
  • BiLSTM + self-Attention モデルで予測を行ったところ従来手法よりも高い性能を示せた。

[BEST SHORT PAPER] Know What You Don’t Know: Unanswerable Questions for SQuAD6

  • Stanford University
  • スタンフォード大学で作られた質問応答タスク用のデータセットである SQuAD のバージョン2で、v1 にはなかった設定として答えがない質問が追加された。v1 では F1 が 85.8% の state-of-the-art 手法を v2 で試したところ 66.3% に下がった。ちなみに v2 の人間による正解 F1 は 89.5% 。

[BEST SHORT PAPER] ‘Lighter’ Can Still Be Dark: Modeling Comparative Color Descriptions7

  • Columbia University
  • 言語情報と視覚情報を組み合わせた論文。
  • RGB 値と比較となるような単語(”lighter”, “more neon”, “rustier” など)を与えることで、RGB の色空間内で比較を行い、単語の意味に即した色を返してくれる設定でデータセットの作成とモデルの提案を行った。

Illustrative Language Understanding: Large-Scale Visual Grounding with Image Search8

  • Google Brain
  • 視覚的な情報を取り入れて多様的かつRichな言語表現を獲得するInverse Picturebookを提案
  • Seed Word -> Google Image Search -> Embedding by CNNで手に入れた表現に似た単語を探すことで言語の壁を超えたEmbeddingが可能に
  • 単語の類似性、感情分類、機械翻訳等様々なNLP Taskで評価実験
  • “deep”で海・AI両方の多様的表現を捉えていたり、異なる言語で”太陽”が類似したり、”it”ならばテキスト特徴だけでは得られないホラー映画の”怖い”的な概念が手に入る

Whodunnit? Crime Drama as a Case for Natural Language Understanding9

  • Amazon, University of Edinburgh
  • 探偵ドラマから犯人予測
    • セリフ/シーン説明(テキスト特徴)、シーン映像(画像特徴)、BGM(音特徴)の3入力
  • データは各セリフ+シーン説明それぞれに対し、犯人or notのラベルを、動画を3分ずつに区切って一生懸命アノテーションして用意
  • シーン説明(biting his nails等)とBGMが意外と効くとのこと

Measuring the Evolution of a Scientific Field through Citation Frames10

  • University of Michigan, Stanford University
  • ACL論文中の引用の傾向からNLPの発展をいろいろ分析
  • 引用表現のCompareが減少、Usesが増加という全体傾向から手法が飽和してきている
  • ACL WorkShopと本会議の論文の引用の類似度が高まっていて、特にLong-RunningなWorkshop程体裁が本会議に近づいている
  • 引用含め諸々のテキスト特徴から論文を本会議orWorkshopかの分類器も作成、そこそこ分類できた
    • Workshop論文の引用表現はCompareが少なくUsesが多い

ひとこと

次はぜひとも発表で参加したいですね。それでは!

著者

]]>