読者です 読者をやめる 読者になる 読者になる

AAAI-17 に行きました

Note AI NLP

AAAI-17 (Feb. 4-9, 2017 @San Francisco) http://www.aaai.org/Conferences/AAAI/aaai17.php という人工知能系の国際会議で発表してきました。国際会議にちゃんと論文を通すのは初めてだったので、記録がてら経緯を書きます。

f:id:liephia:20170206120200j:plain

サンフランシスコの写真。

執筆と投稿

自分は研究らしきことを始めたのが(大学院からこの分野に移ったので)遅く、2015年度末(修士1年の終わり頃)くらいでようやく自分ができそうなことが見えてきて、2016年3月の言語処理学会・6月の人工知能学会でポスター発表などをしました。それを基に4月から7月にかけていろいろ書いたり投稿していたりしたのですが、どうにも国際会議の投稿レベルでは話がまとまらないできないということが続き、7月末〜8月でようやく extended abstract 的なものを書いて EMNLP のワークショップ http://www.coli.uni-saarland.de/~mroth/UphillBattles/ に投稿しました。原稿はこれ http://aclweb.org/anthology/W/W16/W16-6001.pdf です。このワークショップ自体は採択が75%くらいだったと思います(むしろ偉い人の話がいろいろ聞けたのがよかった)。この原稿を本格的に full paper として固めたものを書こうということになったのですが、どうにも時期的にわかりやすい自然言語処理の国際会議がなく、ちょっと(かなり) challenging だけどまあ出してみるのもありでしょうという指導教員の談で AAAI に出すことにしました。自分はこれが通らなかったら(というよりもたぶん通らないだろうと思っていたので)ACLまで温め直しだなあと思いつつ書きました(notification のタイミングのために考慮から外していたのですが、 EACL でもよかったかもしれないです)。

8月は中旬に夏コミがあったり、末には YANS のシンポジウム(でポスター発表)と修論の中間発表があったりとやや忙しかったのですが、合間をぬって書きつつ、9月の頭には結果や議論がちょっと甘い形でおおよそ内容が固まりました。そういえば直前の月曜日は最先端 NLP 勉強会で発表したりもありましたね……。投稿の締め切りは9月14日(日本時間で15日の夕方)でした。草稿の英語があまりにも雑で指導教員いわく「これは英文校正に出してからのほうがさすがに添削しやすい」ということだったので、英文校正に先に出しました。締め切りまでに校正会社と3往復はさせたはずです。英語が得意な同期にも読んでもらいました。そういうのが大事っぽいです(指導教員も共著者もなかなか忙しく、やはりじっくり添削していただくのは難しいので……)。という感じで投稿しました。

Author response, notification と camera ready

10月末くらいにりばったるがありました。ほとんど完全な内容の review comments が来ます。スコアは +++++ (=best) から ----- (=worst) の10段階で与えられ、自分は +++ ++ +++ でした。聞くところによるとそこそこ大丈夫そうな評価らしく(多くの論文はボーダーとなる +- に集中しやすいらしいです)、運が良かったのかなと思います。もちろん査読のコメントは議論や定義の甘いところを突かれていて、こりゃ丁寧に応答しないとあかんなという感じだったので、がんばって書きました。500語(だったかしら)の語数制限があるのが厳しく、ぎりぎりの時間まで練って提出しました(査読コメントで自分の知らなかった論文を紹介してもらえたりもしたので、とくに指導教員と違うテーマをやっている人は勇気を出して投稿してみるのが大事だと思います)。

で採択の通知が来ました。最終的なスコアは ++++ ++ +++ になっていました。通知の時点で投稿数は 2590 、採択は 638 でした。 Camera ready のためにページを買い増しつつ(どうしてお金がかかるのか未だにわからないのですが、紙媒体の冊子を作ってるから?)書き加える内容を考えたりしました。ここでも確認不足で指導教員とかなり揉めて精神的にひどかったのですが、なんとか追加の評価をしたりして、英文校正の再校正サービスを利用しつつ(ちょっと料金がかかった気がする)最終版を仕上げました。

12月大阪の COLING に参加している間に発表形式の通知が来て、自分は口頭発表に割り当てられたとのことでした。スコア的にありえるかもなと思っていたので「あーあ」くらいの気持ちだったのですが、まあ一度も英語の口頭発表やったことないしがんばろうという気持ちになることにしました。プログラムを数えてみると、口頭発表件数は採択された論文の半数よりやや多いくらいで、13%くらいかな?と思います(ポスターと優劣があるわけではないと通知のメールには書かれていましたが)。

会議と発表

会議は2017年2月4-9日で、4-5日はワークショップやチュートリアル・6-9日が本会議ということなのですが、自分の所属する専攻の修論の最終発表が2月の6-7日にあり、おいおい勘弁してくださいよという感じでお願いをして、6日の頭に修論発表・8日午後(一応 commitee にお願いのメールを送ったのですが反応はなかったので後半の日程に配置されたのは偶然かもしれないです)に AAAI 発表という予定で固まりました。ワークショップやチュートリアルや reception に出られなかったのでもったいなかったという気持ちですが、仕方ないです。修論書きつつ、発表の準備しつつという感じで1月後半から会議まで慌ただしく過ごしました。

サンフランシスコはじめじめしていて雨が降ってるのか霧が降っているのかよくわからない天気でした。会場は Hilton で、そこそこたくさん人がいました(稚拙な感想すぎるなこれ)。国別の参加者や投稿数についての細かい統計値は報告してらっしゃる方がいるのでそれを参照くださればと思います。NLP のセッションもそこそこの数がありますがやはり少数派で、そのなかでも言語寄りの関心というよりは機械学習・深層学習の流れに乗った発表が多かったようです。その意味では自分の内容はちょっと浮いていたのですが、かえって良かったかもしれません。

f:id:liephia:20170207121102j:plain

会場の写真を取り忘れたので会場近くにあった「大阪うどん」のお店で食べたカツカレーの写真を貼ります。アメリカでこれを食べられるのはすごいと思った。

自分のセッションは他の発表がすごいという雰囲気ではなかったので、セッションの最後の番であった自分は落ち着いて発表できた気がします(暗記までする暇がなくスクリプトを読みまくりでしたが)。発表15分・質疑3分です。質疑は1件うまく聞き取れず完全に的はずれな回答をしてしまい情けない思いをしたので、やっぱり英語の聞き取りなり会話なりの訓練を事前にもっとやっておくべきだったなと感じました。

論文の内容

書くのを忘れていました。原稿はこれ http://www.aaai.org/Conferences/AAAI/2017/PreliminaryPapers/14-Sugawara-14614.pdf です。スライドは http://penzant.net/files/aaai17_slide.pdf にあります。トピックとしては reading comprehension や machine comprehension (ここでは単に「読解」と呼びます)と呼ばれる話で、国語の文章題のような問題群をいかに計算機に解かせるかというのが課題です。今回の論文では、そうした読解タスクにおける評価手法をもっとしっかり考えたほうがよいのではないかという旨の主張をしました。

読解のタスクは、おおよそ「複数の文からなる課題文を読んで何らかのクエリに答えてもらう」という形をとります。クエリの形式は穴埋め・選択肢・課題文からの抜き出しなどがあり、いろいろデータセットが提案されています(詳しくは論文を参照してください)。これを解くシステムを考えるわけですが、開発にあたってシステムの評価はおおよそ単一の精度でしか行われません(テストセット500問中400問解けたので80%でした、という感じ)。さらにシステムを改善しようとすると実際に解けなかった問題を分析する必要がありますが、どうしても断片的になり、定性的に「これが苦手・得意」という説明を与えることはなかなか難しいという事情があります。

そこで、「あらかじめデータセットにある問題を解くのに必要なスキルセットをメタ的な情報としてラベリングしておいて、システムが解けなかった問題のラベルの傾向を見る」という評価手法を提案します。まずスキルセットを定義(能力は10個)します。定義する能力は既存の自然言語理解のタスクと対応をとり、たとえば照応解析、因果関係、論理推論、常識推論などです。次に、そのスキルセットで既存の読解タスクをアノテーションします。マルチラベルです。おおざっぱな傾向を見るには100-200問くらいでいい気がします(参考: https://arxiv.org/abs/1606.02858)。そしてそのアノテーション結果に基づいて既存のシステムの分析を行う、という流れです(スライドを見ていただければ図表があります)。

f:id:liephia:20170217183059p:plain

雰囲気の画像です。また、(おそらく)面白い結果として、「ひとつの問題を解くのに必要な能力が多くなればなるほど、正答率が下がる」という傾向があることがわかりました。これは「読解問題の難易度とはいったい何か」というやや漠然とした問いに対するヒントになると考えています(修論ではこの話題を掘り下げました)。一方で「結局それぞれのスキルについてアノテーションされた問題が十分な数なければ精度の精緻な分析には不向き」という課題があります。また、アノテーションが揺れないように(とくに知識推論)するのも大変で労力がかかります。これらはかなりの穴だと思うのですが、その旨を丁寧に書き、それっぽく分析を書き、最終的にアイディアが評価されて運良く査読を通ったのかなと感じています。

今後

年度末なのでついでに今後のことを書きます。自分は修士2年の後期になってようやくちゃんとした業績が作れたので、それより以前に応募したもろもろの生存戦略にだいたい失敗してしまい、わりかしつらい思いをしています。現在はとりあえず来年度を生き抜くのが目標です。とくに大学院から専門を変えた人は、学部から始めている人と1年分くらいの差があるので、どうしても出遅れがちになってしまうと思います。悲しい話ですが、じっくりやるよりもなるべく早くわかりやすい業績を作るのを優先すべきなのかなと感じます(生存戦略が立ってからようやくじっくりやるという雰囲気で)。ちなみに私は研究っぽいことができるアルバイト生活をさせていただきつつやっていくつもりですが(楽しくやっています)、長期的に考えるとやはり自分の研究の時間を増やしたくもあるので(というか今年度なんとかなったことを考えると来年度も意外となんとかなるのかもしれないのですが)、スポンサー募集中という感じです……。そんなに甘くないか。

自然言語処理・計算言語学に関わる年度末的な考えごとは別の記事に書こうと思います。

beamer, presenter notes, pgfpages, splitshow

やること
  • beamer で作ったスライドで発表する(環境は OSX
  • 発表者ノート的なものも使いたい
手順
  • tex に仕込むコード
\usepackage{pgfpages}
\setbeamertemplate{note page}[plain] % or [default], [compress]
\setbeameroption{show notes on second screen=right} % or bottom, ...
\newcommand{\pdfnote}[1]{\note{#1}} % as you like
  • で、 \pdfnote{あれこれ} を frame と frame の間に書く(どこでもいいっぽいけど)

    • itemize が使えたり、フォントも自由にできる(便利)
  • Splitshow https://github.com/mpflanzer/splitshow で pdf を開く

    • presentation mode = split
    • main display とか helper display とか指定するとウィンドウを開いてくれる
    • 矢印キーが同期されるのでふつーに発表可能
  • 同時に note page が無い slide も出力しておきたいとき(配布用とか)

\usepackage{pgfpages}
\setbeamertemplate{note page}[plain] % or [default], [compress]
\ifdefined\ispresentation
\setbeameroption{show notes on second screen=right} % or bottom, ...
\fi
\newcommand{\pdfnote}[1]{\note{#1}} % as you like

などとしておいて(引数の入れ方はもちろん逆でもいいです(ここでは slide.pdf が note 付きになるようにしている))、

with note pages
$ lualatex "\def\ispresentation{1} \input{slide.tex}"

without note pages
$ lualatex -output-directory=org -jobname="slide_original" slide.tex

みたいな。 Makefile に適当に書いておく。最初 platex+dvipdfmx でやっていたけど table などが表示されなくて詰まったので lualatex に切り替えた。

反省
  • beamer でスライド作るのを卒業したほうがいいのではないか

Springerexemplar の grep

Shell

Springer Exemplar - Scientific Terms in Context と言えば Springer が有するコーパスから指定したフレーズの一致件数・一致例を出してくれるサイトですが、「この表現とあの表現の一致件数を比較したいな〜」というときに一発コマンドを打てると楽だなあと思っていろいろ教えてもらって書きました。なんでこんなことするのかって springerexemplar は読み込みが遅くてロードを待っている間に何を検索しようとしていたか忘れてしまうからです。

springerexemplar() {
    echo "$*"
    wget -q -O - 'http://springerexemplar.com/search.aspx?q="'"$*"'"&similar=false' | grep -o "\d* matching articles"
}
spx() {
    for i in $@; do
        springerexemplar $i
    done
}

自分は .zshrc に直に書いています。使い方は、

$ spx 'this '{is,was}' because'
this is because
122392 matching articles
this was because
128924 matching articles
$ spx 'this is because' 'this was because'
this is because
122392 matching articles
this was because
128924 matching articles

みたいな感じでどうでしょうか(自分でも使うかどうか怪しいけど)。

今年読んだおすすめの論文10本(15本)

  1. What Kinds of Knowledge are Needed for Genuine Understanding?
  2. Where are they looking?
  3. Describing Images using Inferred Visual Dependency Representations
  4. A Thorough Examination of the CNN/Daily Mail Reading Comprehension Task
  5. Reasoning in Vector Space: An Exploratory Study of Question Answering
  6. Towards an integration of deep learning and neuroscience
  7. My Computer is an Honor Student - but how Intelligent is it? Standardized Tests as a Measure of AI
  8. Combining Natural Logic and Shallow Reasoning for Question Answering
  9. The LAMBADA dataset: Word prediction requiring a broad discourse context
  10. "Ask not what Textual Entailment can do for You..."
  11. Comparing Computational Cognitive Models of Generalization in a Language Acquisition Task
  12. Degeneracy results in canalisation of language structure: A computational model of word learning
  13. A Unified Theory of Inference for Text Understanding
  14. Toward a Comprehensive Model of Comprehension
  15. Prerequisite Skills for Reading Comprehension: Multi-perspective Analysis of MCTest Datasets and Systems

UBLP (EMNLP2016WS) の対話セッションのメモ

Dialogue System Note

Uphill Battles in Language Processing Scaling Early Achievements to Robust Methods, Workshop held in conjunction with EMNLP 2016

  • http://www.coli.uni-saarland.de/~mroth/UphillBattles/
  • EMNLP 2016 のワークショップ
    • 「現時点までの成果をどうやって robust な技術に発展させるか」という感じの、今までを振り返ってこれからを考える趣旨の会
  • 本稿は Dialogue and Speech のセッションのメモ書き
    • 4人の研究者がそれぞれ10-15分で「これからどうするか」という話をしている
    • 他に「言語理解」「言語生成」「Grounded Language (どう訳す……?)」のセッションがあった

0. 全体のまとめ

各講演者の要点

  • Devault: 現状の音声対話システムの問題のひとつは流暢さであり、その実現のために「turn-taking における素早い応答」と「割り込み・重複を認識して認識ができること」の二点が重要だと指摘している
  • Liberman: diarization (who spoke when) すら現状の技術では満足でなく、 what について理解する前提としてまず diarization が必要。そのほか、 turn-taking物理的環境・社会的文脈への対応
  • Litman: 協調という観点から1980年代の Indirect speech actsHelpful responses の取り組みを思い出すべきなのでは
  • Stent: 概説メイン。大きな課題はふたつ: 単なる「情報を探す」対話から協調的・利益的な対話に発展させること、 AI としての対話に立ち返って必要な要素(たとえば情報の共有、照応と物理世界、文化や社会ドメイン、複雑なやりとり、自律性?)を考えること

メモ作成者のメモ

  • ページ下部へ移動

1. David Devault, University of Southern California

音声対話システムの Uphill Battles

  • Automatic speech recognition
    • 自動的な音声認識
    • (既にいいところまで行った?)
  • Broad coverage semantics
    • 幅広い語彙・知識をカバーできること
  • Multi-domain / multi-application dialogue policies
    • マルチドメインかつ様々なアプリケーションで利用可能な対話戦略を持つこと
  • Fluid conversational interaction (流暢な対話のやりとり)
    • Turn-taking / mixed-initiative (発話の順番、発話の時間的重なり)
    • Incremental (word-by-word) speech processing (逐語的な音声処理)
    • Dialogue modeling (対話をどうモデリングするか、意図や目的)

現状の音声対話システムは何が流暢ではないのか?

  • ほとんど全てのシステムが単純な turn-taking のプロトコルで成り立つ
    • 卓球のようなやりとりを仮定し、発話の重複がない
    • All user-initiative / all system-initiative
  • ユーザーは、システムがユーザーの言うことや振る舞いを理解しているかわからない
    • 応答の待ち時間がながい、相づち (backchannels; 「ああ」や頷き) がない
  • ユーザーはいつ喋ることができるのか・何を喋ることができるのかがわからない
    • Okay のような単純な発話ならすぐ使えるとはわかる
    • それ以外の発話はさっぱり何を言っていいのか見当がつかない
    • やりとりが簡単に脱線する
    • ユーザーにとっては、ひとつひとつの発話を決めるのが大変

Example 1: The Eve Agent (2014-2016)

  • ドメインを絞っており、応答が速い
  • 小さなドメインなら理解・応答が素早いシステムを作ることができる
  • しかしどのような[限定的な]ドメインでこのような素早いシステムが必要になるかは定かではない
    • [タスク指向ならいくらでもあると思うけど]

Example 2: Conflict Resolution Agent (2015-2016)

  • いろんなタイプの発話をサポートしている [たぶんシステム側]
  • Mixed-initiative を許容する
  • 速いペースのやりとりが可能

How do we make progress?

  • turn-taking や個人の turn の構造について単純な仮定を置くのを止めるべき
  • やりとりにおける時間のモデルとして良いものを用いるべき
  • より拡張的・一般的・ data-driven な対話モデルを開発するべき
  • 人間対人間の会話データを増やすべき

[まとめ]

  • DeVault さんが挙げている音声対話システムの一つの問題は流暢さ
  • 例二つは、それぞれ次を実現している
    • 幅広いドメインで素早く応答
    • 割り込み・重複を許容した振る舞い
  • We need to create fine-grained models that take seriously the timing of speech and the detailed mechanics of how human conversation unfolds through interlocutor decision-making at small timescales
  • We need to improve our ability to create intelligent agents and other dialogue systems that are not purely user-driven or system-driven, but instead have a pervasive mixed-initiative capability
  • 上の2文とも言ってること同じ

2. Mark Liberman, University of Pennsylvania

Abstract: Three Steps (Liberman 自身によるまとめ)

  • Robust diarization
    • すなわち、誰がいつ話しているか (who spoke when)
    • 大きな問題は、発話の時間的重複と背景のノイズ
    • 現状の技術では整った静かな環境の diarization も難しく、 what の理解まで行くにはまだ遠い
  • Dialogue systems with human-like turn-taking
    • 人は、例えば協調や競争の目的で相手の話に割り込む
    • 対話システムは典型的には割り込みをリセットの信号だと解釈する(実際にはそうではないのに)
    • システムは相手が喋っている間には喋らない(相づちも含めて)
    • much less to correct misunderstandings, introduce relevant information, or cut to a proposed solution.
  • Conversation systems that can participate effectively in a meeting, manage a classroom, or chat overa game of poker
    • このようなシステムは diarization 以外にも物理的な環境・社会的文脈で何が起きているのかを追跡することが必要
    • 同様に、どのようにいつ会話に貢献するか、その貢献を他者が受け取る・受け取らないことを動的な関係としてどのように調節するかを学ぶ必要がある
    • さらに、異なる会話の文化にも対応できなければならない

3. Diane Litman, University of Pittsburgh

Dialogue Systems: A Brief History

  • ELIZA (1966, chatbots)
  • SHRDLU (1971, AI, block)
  • Allen, Cohen, & Perrault (1980s, plan-based)
  • VODIS, VOYAGER (1990s, speech, "How many hotels are there in Cambridge?")
  • startups (2000s)
  • Siri (2010s)

Back to 1980: Analyzing Intention in Utterance

  • 発話の意図の分析を行って対話のプランを考えていた
  • 対話における協調的な振る舞い
    • 間接言語行為 (indirect speech acts), 助けになる返答 (helpful responses) など
  • knowledge-based なアプローチ
    • 相手にもプランの考案、実行があると考え、それを推論して障害を発見した上で自分のプランを考えて実行する

What about Siri? (example for indirect speech acts)

  • 間接言語行為が理解できない例
    • Diane: I don't know Megan's address.
    • Siri: Don't warry about it, Diane. (教えてくれない)
    • Diane: Can you tell me Megan's address?
    • Siri: Here's the address for Megan ... (教えてくれる)
  • 明示的に要求しないと伝わらない

Helpful Responses

  • 要求された以上の情報を返してくれること
    • Diane: What day of the week is election day?
    • Siri: Election Day is on Tuesday, November 8 2016
  • [ユーザーが何を必要としているのかを察して情報を増やさなければならない(増やせると便利)]

Indirect + Helpful

  • 間接言語行為を理解して、かつ強調的に情報を増やしてくれる例
    • Diane: I'm hungry
    • Siri: I don't want you feeling all peckish.
    • Siri: Here's what I found ... (15 results displayed)

Summary

  • 協調的な対話研究は大部分は諦められ、より実践的なアプローチに移った(Diane さん自身の研究も含め)
    • "There is much to be gained from recognizing not just what was said, but why; from identifying conclusions people naturally draw from both what has been said and hasn't" (Workshop CFP)
  • 1980年代の観点から見て、今のシステムがどのように協調的であり、どのように協調的であるべきかを考える必要がある

4. Amanda Stent, Yahoo! Labs, NY

In the Beginning Were Problems

Then Problem Definitions ...

  • Finite-state script
    • call transfer
  • Frame based
    • getting flight info
  • Sets of contexts
    • booking travel
  • Plan-based models
    • kitchen design consultant
  • Agent-based models
    • disaster relief management
  • 対話の問題設定は様々考えることができる
    • 上から下にいくほど複雑になる
    • 出典は Allen et al. (2001), AI Magazine

Evaluation Metrics and Parametrizable Methods, Data and Time

Challenges

  • Move beyond info-seeking dialog
    • 情報を探すだけの対話から更に発展させる
    • ユーザーのコストを削減するのではなく、ユーザーに利益を与えるような対話システム
    • 新しい評価指標
    • やりとりに関わるパラメータを増やす
  • Go back to our roots: human intelligences としての AI モデル
    • Entrainment
      • 情報共有的な意味での同期: 語彙のレベルや知識表現が良くなければユーザーと等しい情報を持つことができない
    • Anaphora resolution and grounding
      • 照応と物理的世界の参照
    • Contextually appropriate, mixed-initiative generation
      • 文化的・社会的慣習などの文脈に適合すること
      • 発話のタイミングが入り組んでも対応できること
    • Non-cooperative and semi-cooperative dialog
      • 必ずしも協調的でない対話ができること

Interesting Current Directions

  • Complex and flexible tasks, evaluation beyond efficiency
    • タスク設定と評価方法
  • Anapora and entrainment, shared language representations
    • 照応、情報の同期、共有される言語表現
  • Non-cooperative (situated) dialog
    • 協調的ではない対話
  • それぞれについての論文はスライド末尾(-1)参照

Stent さんおすすめの参考文献

以下、メモ作成者のメモ

Issues

  • understand very well and wery quickly
  • turn-taking / mixed-initiative
  • diarization (who speack when + what)
  • indirect speech acts / helpful response (cooperation / non-cooperation)
  • physical world, social context (semantics, vocabulary)

そういえば岡野原さんがIBISで言ってたこと (http://www.slideshare.net/pfi/ibis2016okanohara-69230358)

  • 知識をどのように埋め込むか、記憶と想起
  • 心理モデルや意図推定
  • コミュニケーションの目的関数と評価

やはりマーっぽい記述のモデルで整理するといいのでは(以下省略)

  • おわり

Attention-Based Convolutional Neural Network for Machine Comprehension をやる

著者の微妙に動かないコードを動かすだけです

  • paper: [1602.04341] Attention-Based Convolutional Neural Network for Machine Comprehension
  • github: GitHub - yinwenpeng/MachineComprehension
    • cis や word2embedding などのライブラリは Yin さんの別のレポジトリにあるのでコピーして持ってくる
    • train_arc1_v4.py というやつは動きます
    • 精度が高いのは train_entailment_v3.py というやつのはずで、こっちがそのままだと動かない、動かしたい
    • まず preprocess_mctest.py をいじいじして必要なファイル(vocab_DQAAAA.txt まで)を作る
    • DQAAAA とか DPNQ とか書いてあるのはデータの内容の形式です、 document, question, answer, positive, negative がどの順で書いてあるか、という感じ
    • しかしエラーが出るので露頭に迷う。 DPNQ.txt まで生成されない(Statement ファイル群がない)のでそもそもデータが足りない
  • github2: GitHub - BenjaminHess/MachineComprehension
    • ちょっとコードが整理された fork だけど、特に改善されている雰囲気ではない
    • このままでは相変わらず train_entailment_v3.py は動きません(データの読み込みで sharedvariable 宣言するところでエラー)
    • まず Statement の在り処が書いてあるので、データを引っ張ってきて Yin さんの方のにコピーするのでもよいです(DPNQ はすでにあるのでどっちでもいい)、とにかくデータはこれで揃うことになります
    • で、試行錯誤する
  • 原因は loadData.py L1342 の読み込みのとこで lower() を入れてない部分だと気付いた
    • 入れれば word の id 取ってくる部分を失敗せずに必要な theano.shared() が通ってくれます
    • でも精度が論文通りにならず困る、辛抱強く epoch 上がるのを待てばいいのだろうか……

latex で table 書くときにね?

よくひとつのセルに改行含めた表現を入れたくなるじゃないですか、こんなふうに

f:id:liephia:20160927034932p:plain

ここでは \shortstack{All you need is \\ love} って書いてます。見るからに美しさに欠けており、内容の上に余白ができないかなあと思って困ってたんですが(そもそもバリバリに罫線を引くのが間違っているという説はあるとして)、簡単に解決したのでメモをします

f:id:liephia:20160927034944p:plain

\shortstack{\\All you need is \\ love} でなんとかなりました。vspace とか入れようとしてる場合ではなかった。先頭に改行で良かった感じ。そもそも \shortstack 使わずに別の行にしちゃえよという意見もあるかもしれない。それもわかります。次はそうしようと思います。メモですメモ。

ということで(?)近況は EMNLP 2016 Workshop on Uphill Battles in Language Processing に行くことになりました。バトルをしてくるのだ。

追記
けっきょく booktabs.sty を使うのが最近の流行りっぽいし見栄えが良いです