エイエイレトリック

なぐりがき

10年前 (2009年) のACL論文を紹介する

本記事は 自然言語処理 #2 Advent Calendar 2019 の17日目の記事です。

2010年代も終わりということで、2000年代最後の年である 2009年ACL論文を紹介します。

念押しすると、2019年 ではない です。字面が似ていますが全く異なる年です。

2009年のBest paperをざっくり紹介

はじめに、10年前ってどんなもんか、なんとなく把握します。

近年のトレンド(?)を遡ってみると、ELMo*1が2018年、 seq2seq*2が2014年、 word2vec*3 が2013年です。 2009年はそれより なので、ニューラルネットワーク全盛期より と言える気がします。

なんとなく把握したところで、Best paper awards から2009年のベストペーパーをざっくり紹介します。

ACL

NAACL

EMNLP

思った以上に今現在のトレンドと違う知識が必要とされるため、読むのにかなり苦戦しました。 タスクも手法も傾向がかなり違うと感じます。(以下感想)

  • まず、タスクはParsingやSegmentationなど、テキストを (機械で処理しやすいように) 構造化したいというモチベーションがありそうです。これらは応用にとっても重要な基礎的なタスクという理由で注目されている、とイントロで述べているため、 end-to-endな手法が主流の現在とは真逆と言えるかもしれません。
  • 一方、利用されている手法はILP、対数線形モデル、SVMが主流なようです。単語や文は tf-idf や word-netを利用したり、特徴量エンジニアリングによって数値に変換しています。
  • ( A study on similarity and relatedness using distributional and wordnet-based approaches, NAACL2009 では distributional method を提案しており、このあたりの流れを掘り下げるのも面白そうなので、他の機会にまとめられればなと思います。)

気になった論文を少し詳しく紹介

読んで面白いと思った論文について、詳しく紹介します。

今の自分の知識でも読める論文、google scholar で調べた結果この数年でも引用されている論文を中心に選んでいます。

以降、図表は論文もしくはスライドから引用しています。

Reinforcement Learning for Mapping Instructions to Actions, ACL2009

ACLのベストペーパーにもなっている、強化学習を利用した論文です。

Mapping Instructions to Actionsとは、簡単に言えば、ある環境において指示の書かれたテキストを入力として、指示通りの行動を出力するタスクです。

論文では、Windows2000(古い……)のUIにおいて、Microsoftのヘルプ文書の通りの行動を起こすタスクと、Crossblockというパズルゲームを解くタスクで実験しています。

例えば、Windowsのタスクの場合、デスクトップ画面から スタートボタン右クリック し (LEFT_CLICK(Start))、サーチボタン右クリック する (LEFT_CLICK(Search))、といった行動を出力します。

f:id:sh111h:20191216224143p:plain

このタスクに強化学習を利用するメリットとして、テキストと操作を対応させるアノテーションの必要ないという点が挙げられます。

強化学習を利用すれば、達成状態になっているかどうかを報酬として、学習可能です。また、一部をアノテーションしている場合はアノテーションと一致しているかどうかも報酬として活用ができます。

実験では、強化学習のみのモデル、アノテーションデータの一部を利用したモデル、アノテーションデータを全部利用した教師ありモデルを比較しています。 結果としては、教師ありのモデルには精度は届かないものの、単語から行動のマッピングは正しく学習していることがわかりました。

ちなみに、強化学習モデルでは、Policy Gradient Algorithmを利用した報酬を設定しています。

Predicting risk from financial reports with regression, NAACL2009

10-k(日本でいう有価証券報告書) *4のテキストから、企業のボラティリティ(金融リスク)を予測する論文です。

NLPのタスクは分類が多いですが、回帰は珍しいですし、比較的大規模なテキストを利用して、実世界の事実を出力とする点が新規性のある研究です。

ボラティリティ v r_{t} を t-1日からt日にかけてのリターンとした時、以下の式で定義されています。

{ \displaystyle
v_{t, t-\tau} = \sqrt{\sum_{i=0}^{\tau} ( r_{t-i} -\overline{r} )^{2} }
}

ただし  \overline{r}は一定期間でのrの平均です。

論文中で提案している予測手法は、tfidfを利用したSVMです。過去のボラティリティのみを利用して未来のボラティリティを予測するよりも、テキストを利用した特徴量を追加した方が、予測精度が良いことがわかります。

また、下の表のように単語ごとに重みがわかることも利点といえるでしょう。

f:id:sh111h:20191216224813p:plain

また、Sarbanes-Oxley Act (上場企業会計改革および投資家保護法) によって、レポートの情報に変化があったことと精度の関係についても言及しています。 この法令によってテキストの情報がより有益になり、2001-2002年よりも、2004-2006年の方がテキストを利用した場合、正確に予測できていることがわかります (Sarbanes-Oxley Actは2002年成立) 。

日本でもEDINET有価証券報告書を閲覧できるため、日本語でやってみるのも面白いかもしれないですね。 (財務分析に欠かせない、XBRLを理解する Part1を読む限り、文書フォーマットが決まっていて単純にスクレイピングできる訳ではなさそうですが。。)

Mining User Reviews: from Specification to Summarization, ACL2009

教師なしでレビューから特徴語を抽出し、要約を生成する論文です。

手法のキモは ウェブサイトなどからspecification (仕様書) の情報をクラスタリングし、特徴を木構造にする点です。 その後、構造化した製品の特徴について、レビューからその特徴に対する評価を穴埋めし、要約を生成します。この時、極性などは予測せず、特徴と最も頻繁に共起する (出現する) フレーズを選出します。

f:id:sh111h:20191216224413p:plain

実験では、中国語のサイト ZOL websiteから携帯電話・デジカメ・ノートパソコンのレビューを取得し、仕様書の情報も種類ごとに取得しています。 実験の結果、仕様書の情報を利用しない既存手法(Mining and summarizing customer reviews, SIGKDD2004)よりも、精度が良くなったと報告しています。

シンプルではありますが、どんなドメインでも活用できる汎用性の高い手法だと思います。単語極性を考慮しないで評価を抽出するのも興味深いです。

Segmenting Email Message Text into Zones, EMNLP2009

emailをセグメンテーションしてクラス分類するシステム Zebra を提案している論文です。

メールの中身の分け方は大きく3つのゾーン、細かく9つのゾーンが定義されており、以下の通りです。

  • Sender Zones: emailの送信者によって書かれた範囲。挨拶やsign offも含む。
    • 小分類: Author, Greeting, Signoff
  • Quoted Conversation Zones: 今までのテキストを引用している範囲。
    • 小分類: Reply, Forward
  • Boilerplate Zones: 模範表現。広告や免責条項。
    • 小分類: Signature, Advertising, Disclaimer, Attachment

f:id:sh111h:20191216224451p:plain

手法はSVMベースで、2つの方法を紹介しています。 境界線を識別してから、その一部 (fragment) がどのゾーンか分類する Zone Fragment Classification と 単純に行ごとにゾーンを分類する Line Classificationです。

分類に用いる特徴量は以下の通りです。

  • Graphic Features: 文字数や文の長さ
  • Orthographic Features: 記号や数字
  • Lexical Features: bigram, unigramの単語や送信者の名前

実験の結果としては、Line classificationの方が精度がわずかに良くなっています。著者としては、ゾーンごとにテキストを分割して分類するほうがより情報が多く精度も良くなると仮説を立てていましたが、前後の fragment/line の情報を特徴量としていれることで、Line classificationの精度が向上したと推測しています。

実験結果考えると、ゾーンに分割するより系列ラベリング的に解く方がよさそうな感じです。(この時期にできないことはない気がするんですが、SVMでしか実験していない)

おわりに

ネタがかぶらないよう捻り出した2009年の論文紹介ですが、予想外に発見があり、悪戦苦闘しつつも勉強になりました。(K-Best A* Parsing を論文からの引用でかわそうとしている時点でお察しください)

余談ですが、 今回紹介した論文の著者は、現在もACL系で論文をpublishしている方々が多く、継続は力なりという言葉を実感しました。すごいですね。

以上。