2008年4月14日月曜日

研究論文から垣間見る中国人の国民性

Exploring in the Weblog Space by Detecting Informative and Affective Articlesより(www2007)

この研究はブログ記事をある観点から2つに分類するのという事を行っている。
分類する2つについて述べると、一つは個人的な感想を述べた日記的なブログ記事であり、もう一つは事実や客観的な意見(大衆的な意見?)を淡々と述べたような新聞やニュースサイトに載っているようなことを書いたブログ記事である。
ブログというものは本来、特に日本では個人の日記という意味合いが強いため、前者の日記的なブログ記事が大半であると思うかもしれないが、ブログ検索エンジンでブログを検索してみるとニュース記事のようなブログ記事も多く引っかかってくる。
個人の意見(一般市民の意見)を抽出したい時にニュース記事みたいな記事が引っかかってきてうざいからこのような研究を始めたのだと最初思ったのだが、実はそうではないみたいである。
この研究ではニュース記事のようなブログ記事を良質なブログ記事とみなしていて、個人の感想は有用ではないとしているのである。
ブログにニュース記事を求めるのは意味がわからないっということで議論していたところ、次のような結論に落ち着いた。この論文を書いた人は中国人であり、中国は社会主義国家である。すなわち個人が好き勝手な感想を述べてもらっては全体の統一を取る上で困る、だから個人の意見などは排除してやろう。
ブログの本質は個人による情報発信にあると思っていたが、中国では意外とそうでもないのかもしれないと思った。研究というよりも文化を知る上でこの論文は重要ではあるまいか!

2008年4月10日木曜日

Internet-Scale Collection of Human-Reviewed Data

内容は機械学習などで使うラベル付けを考える時に、企業内や他の企業へのアウトソーシングを行うよりも、インターネットを利用して大衆の力、すなわち集合知を使った方がより安く速くラベル付けが行えるのではないかという考えの元、システムMというアプリケーションを使ってそれらを実証する実験を行っている。システムMはWeb上で集めた労働者に賃金を払いラベル付けを行ってもらうシステムである。ユーザの集め方の具体的な方法については書いていないのが残念ではあった。なぜならユーザを集めるのにお金が掛かっていては結局企業内でラベル付けを行ったほうが安くて済むかもしれないからである。またヤフーアンサーを使ってラベル付けを大衆にしてもらおうという試みも行っている。これはうまく行けば無償でラベルデータを手に入れることができ非常に便利であるが、Q&Aの方式で書かれた文書を機械可読な方式で置き換えるのは非常に難しい話である。そんな時Q&A方式のサイトをもう少し拡張して、多数決やラジオボタンを使った複数選択形式のアンケートを導入できれば機械可読できる確率が高まり有用である。

  1. INTRODUCTION

最近の企業やWebコンテンツ管理システムは、異なるソースからデータを統合することを自動化している。例えばヤフーショッピング、ヤフートラベル、ヤフーローカル(地域の口コミ、就職情報などを検索するアメリカ限定のサービス)などではコンテンツを有料フィードプロバイダ(有用な構造化されたデータを有料で提供しているサービス会社か?)やユーザやWebクローリングから収集している。人手により評価されたデータはそのような自動情報収集システムにおいて重要な役割を果たす。コンテンツ集約はつねに属性抽出(Attribute extraction)、カテゴライゼーション(Categoraization)、エンティティレゾリューション(Entity resolution)を含む。ここでこの3つの意味を説明しておく


Attribute Extraction128MB(capacity),size 10,10:00-6:00(time)などの副次的な情報に対してラベル付けを行う事

Categorization:外部の分類法を用いてデータの記録を一つあるいはより多くの場所に割り当てること。

Entity resolution:データレコード間に表記の違いがあった場合、それが同じものを指しているのかを確認すること。例えばHilton San Jose,123 Main StreetSJ Hilton,123 Main St.が同じホテルを指しているかどうかなど。

これらを合わせて、我々はACEと呼ぶことにする。またこのような技術を使ったアプリケ

ーションをACEアプリケーションと呼ぶことにする。


ACEアプリケーションは機械学習アルゴリズムの学習やルール推論や質を確かめるモニタリングやフィードバックのために、人によってラベル付けされた質の高いデータを必要とする。さらに人のレビューはしばしばデータの質を上げるために重要である。例えば外部データフィードはエラーや間違えた情報に対して人手で調整される必要があるかもしれない。あるいはユーザが作り出したコンテンツはスパムや人を不快にさせるようなコンテンツを抑える必要があるかもしれない。(?エラーやスパムを人手により評価されたデータにより抑えられるという事だと思う。)

 効果的に人が評価したリソースを活用する研究は今までにある、特にアクティブラーニングの領域で顕著である。アクティブラーニングは最小限の人を用いて、機械学習のパフォーマンスを最大限に向上させようというものである。ところが人がレビューしたデータを大規模に集める仕組み、人手のデータを提供する回答者の行動に関する研究はほとんど行われていない。

 工業において、人手により評価されたデータを収集するためには一般的に低コスト契約作業員を使用する。これらの作業員は前述したACEアプリケーションで活用するためにデータのラベル付けを行う。このレビューとラベル付けの生態系(ecosysytem)はラベル付けに対して一つの便利なビジネスインタフェースを提供する。しかしますます上昇する関連コストに対して統合された供給連鎖管理システムの潜在性と処理能力と同様に拡張性の限界を持っている。(要するにラベル付けされたデータを作るのにわざわざ低コスト契約作業員を使っていては、大規模システムになるにつれてコストが嵩んでいきシステムの拡張に無理が生じるということ。だからそれ以下のコストでラベル付けされたデータを集める仕組みが必要なのである。)

一方でGoogle Image LabelerAmazon Mechanical Turkは人手のデータを収集するためインターネットユーザの集合知を活用しようと試みている。潜在的に人が評価したデータを収集する技術プラットフォームとして、これら2つのシステムを凌駕するものとして我々はYahoo! Answersのような一般的なQAの場を挙げる。

インターネット規模で人手で評価されたデータを集めることにより外注や企業内でラベル付けを行う場合のボトルネックとなる処理能力の問題を克服でき、さらにコストも抑えられるのである。

この論文は、データの質とタスクの処理能力とユーザの振る舞いに焦点を当てた人により評価されたデータをインターネット規模で収集するメカニズムの最初の公式の研究である。我々は一般的なQAサイトが人手により評価されたデータの収集に使えるか調べるためにYahoo!Answers上で人手で評価されたデータを集める実験も行った。

  1. RELATED WORK

    1. Active Learning and Collaborative Filtering

教師あり機械学習アルゴリズムはACEアプリケーションにおいて共通して使われる。正確なラベルのついたトレーニングデータセットは学習アルゴリズムのパフォーマンスを上げる上で重要である。ところが人間のレビューをラベル付けに使う事はコストが高い。

Active learning[6]は限られた人手によるレビューを最大限に学習器生成に活用することに焦点を当てている。Active learningentity resolution[16]や情報抽出[3]やテキスト分類[13]など多くのアプリケーションの分野に適用されている。

 協調フィルタリング[5],[15]はユーザが提供するデータの集合を、ユーザの嗜好を推測するために使っている。

 我々の研究はこれら2つの研究領域を補助するものである。

    1. Data Cleaning

データクリーニングはデータのエラーと不具合を発見して取り除く研究領域である。Entity resolution[4]は一般的なデータクリーニングアプリケーションである。これは実世界のものを表しているデータレコード間の関係を確認するアプリケーションである。データクリーニングの研究は大部分がアルゴリズムによる解決とデータの質による評価に焦点を当てている。しかし我々の研究ではアルゴリズムでデータを使うのではなく、そのようなアルゴリズムで使われる人手で批評されたデータを集めることに重点を置いている。

    1. Human Computation

Human Computation[19]は多数の人々を活用して計算やコンテンツ作りを実行させるという新興の理論的枠組みである。カーネギーメロン大学で開発されたESP Game[20],Peekaboom[21],Verbosity[22]Human Computingの模範となるゲームアプリケーションである。我々の研究はインターフェースのデザイン設計よりも人により批評されたデータの解析に焦点を当てている。Gentry[8]によるセキュリティや信頼性の観点からのhuman computationの研究もある。

  1. SYSTEM TASKS

我々はSystem Mというウェブベースで人手のデータを収集するシステムを実験に用いる。

我々の実験は、現在のデータのサプライチェーンをシステムM上の仕事の形で複製することである。システムMは十分な遂行能力を持っており、構造化された応答インタフェースを提供し、我々の用いる人手で評価されたデータ収集アプリケーションのために多くの役立つ機能を提供する。しかしシステムMではユーザ数が少なく(limited user base)、賃金の作業員への支払いを前提としている。それとは対照的にYahoo! Answersはずっと大きいユーザ数を有しており、作業員には賃金は支払われない。ただし収集されたデータは構造化されていない。セクション5ではSystem Mでの実験をYahoo! Answers上でも行う。

    1. System M Overview

システムM上で、依頼人は作業人に仕事を与える。与えられたタスクに対して依頼人は、タスクが作業員に承認されるまでの寿命、仕事を受け取ってから完了するまで間での長さ、受け入れるべき答えの数、承認された答えごとに支払う報酬を指示する。依頼人は受け取った答えを承認するか却下するか一方的に決定できる。承認された答えだけが課金対象となる。

 システムMではタスクを割り振る前にまず作業員にテストを行わせることで、作業員の作業の正確さを判定し、資格スコアを算出する。そのスコアに応じてタスクを割り振る。そして一度資格スコアが決定するともうそのスコアを更新する事はできなくする。

 

    1. Tasks and Datasets

我々の実験は属性抽出とentity resolution(存在解決)の2つのACEアプリケーションに焦点を置いている。Entity resolutionでは2つのホテルのデータが与えられ、その2つの名前や位置や電話番号が同じであるかそうでないかなどを判断することを作業員は頼まれる。

 属性抽出では、一つは子供か大人かの年齢カテゴリーを選択する。後の2つはブランドや、モデルを製品についての記述から選択し、自由記述する。我々がこれら4つのアプリケーション選んだ理由は、これらが人手でラベル付けされたデータが必要なYahoo!Marketplaceのバックエンドデータ処理システムの中のコンテンツ収集アプリケーションを代表するものであったからである。(実際にマーケットプレイスでラベル付けデータを用いている)

 この実験に使われるデータセットは人手でラベル付けされた優良データセットの一様乱数サンプルである。


  1. EXPERIMENTS

    1. System M Qualification Tests

最初の実験として、我々は4つのアプリケーション(ホテルの解決、年齢抽出、ブランド名抽出、モデル抽出)それぞれに対して資格テストをシステムMに投稿した。資格テストには料金は支払われない。

 ホテル解決テストは20個のホテルの記録のペアが与えられ、作業員はそれが「同じホテル名かどうか」、「同じ位置にあるが名前が違うか」、「同じホテル名であるが場所が違うか」、「完全に異なるものか」、「その他」の5つを選択する。

 年齢、ブランド、モデルについてはまず製品の記述が与えられる。年齢では「大人」か「子供」か、「判定できない」かを選択する。ブランド、モデル抽出テストについては作業員は製品のブランドやモデルをタイプする。

    1. System M Experiments

      1. Experiment Settings

資格テストにより作業員の能力がわかったので今度は作業員の能力別にグループ分けをして資格があるグループと、無いグループを分ける事の有効性を確かめる。まず能力、実験別に11のグループに分け、それぞれのグループに対して300のタスクを課した。

また1つのタスクに付き1セントが支払われる。実験で設定したパラメータは表2の最上部にある通りである。

      1. Accuracy Results

実験結果を表2に示す。

図3~6は作業員の正確さの離散分布であり、正確さを[0,0.05]~[0.95,1],[1,1]の21分割で離散化してグラフで表している。

図7は作業員のタスクでの正確さと作業員のテストでの正確さの関係を示している。これによるほとんどこの2つには相関がない。

      1. Worker Productivity Results

図8は回答数で上10%に入っている人が、全体のタスクのどれだけをこなしたかを示したグラフであるが、これを見るとおよそ20~40%のタスクを上10%でこなしていることがわかり、データが不均一である事がわかる。

図9は作業員の正確さと300問のタスク中何%答えたかの関係であり、10%未満しか質問に答えていない作業員は正確さにかなりばらつきがある事がわかる。

 また仕事を請け負った時間と提出した時間を計ることで、作業員の時給を計算し、分析した。その結果が表3のようになる。この表から

        1. 資格の制限が無くなれば無くなるほど時給が増える

        2. 300問中の5%以上の質問に答えている人は時給が他の人に比べて高く、正確さも若干高くなる傾向がある。

        3. 高時給の人ほどたくさんの質問に答えており、回答も正確である場合が多い。

        4. ほとんどの場合最低賃金率(アメリカではどれくらいか知らないが)を大きく下回っている。

という事が分かった。

      1. Worker Accuracy Across Task Types

図4は作業員が11種類のタスクのうち何種類のタイプのタスクに従事したかを示す図である。全体と、各タスク5%以上の質問に答えた作業員で場合分けしている。我々はさらにタスクのタイプ別に作業員の答えの正確さを調査した。どのタイプのタスクでもコンスタントに正確な作業員もいた。一方でタスクのタイプによって正確さが大きく変わる人もいた。2つ以上のタイプに回答していた人は、全体と各タスク5%以上答えていた人両方とも、正確さが高い人が多かった。

  1. Yahoo! ANSWERS

巨大なオンラインのソーシャルネットワークサイトを人手により評価されたデータの収集に使えないだろうか?そこでYahoo! Answersで実験してみることにする。Yahoo!Answersはトピック別ディレクトリで構成された巨大QAサイトである。これは、ユーザーの献身的行為であり、ユーザには報酬が支払われないという点でGoogle Image Labelerと類似している。2つの疑問が浮かび上がった、一つ目はYahoo!Answersのコミュニティに我々のアプリケーションを導入できるかどうか。もう一つはAnswersの技術プラットフォームが我々のアプリケーションに活用できるかどうかである。これらの質問に答えるため4日間81個の資格テストの質問を手動でYahoo!Answersに投げかけた。それぞれの質問の有効回答期間は3日であった。

 その結果95%の質問に対して最低1つの答えが返ってきていた。我々は手動でそれらがスパムかどうか、役に立つか、質問に答えているか、機械可読可能か、正解かを調べた。表5はその詳細である。

 最も大きい課題は構文解析である。これはまずスパムや役に立たないデータと役立つデータに分類する。次に冗談や、文法的な曖昧さを解消しユーザの意図を解析する。そもそもYahoo!Answersは人的交流を意図して作られているため機械可読にするのは難しい。ブランドやモデルの抽出においてテンプレートマッチングを用いる事もできるが余すところ無くマッチングする事は不可能で明らかな限界がある。

 しかしそれでもある程度の有効回答を得ることができる。またYahoo!Answersの質問に「機械処理するので余計な文章を書かないで」と明記する、あるいは選択形式で質問に答えられるようにするなどYahoo!Answersのインフラを変えていけば、巨大Q&Aサービスを使う事はより人手により批評されたデータを得るのに有効な手段となるはずである。

 

  1. CONCLUSIONS

この研究で、我々は人手により評価されたデータを集めるために、人手により評価されたデータの質、人間の処理能力、ユーザの行動を解析する実験を行った。この研究の主な貢献は、実際に実験して得たのデータセットを使ったことと、その結果得られたデータの質とユーザの行動の徹底的な解析にある。我々の出した正確さのデータは実際のACEアプリケーションにとって非常に励みになるものである。機械学習のためのトレーニングセットのラベル付けや質の確かさを保証するためのモニタリング(quality assurance monitoring)を行いたい場合、これらのデータは参考になる。

 将来的には未来のWeb情報統合システムや内容収集システムは人手により評価されるデータを収集するインターネットベースのシステムと整合を取るようになるだろう。例えば必要に応じてデータ処理システムが、データ収集システムに人間のレビューを要求するようになるであろう。将来の課題として、より大規模に人手により評価されたデータを収集するシステムと作業員のやる気を起こさせるような設計について調査し、より大規模な実験をしていきたいと思っている。またYahoo!Answerからうまくデータを取り出せるような構文解析法や、データを機械で取り出しやすくするようなリッチなインターフェースを考えて行きたい。

6.1 Data Validation Application

この節では人手により評価されたデータを用いるアプリケーションについての議論をデータ検証に拡張させることを考える。人間こそがラベル付けを行う唯一の権威であるから、人間により評価されるデータはACEアプリケーションにとって非常に重要である。しかし人間の判断もあいまいであるし、そもそもデータそのものに曖昧さを含むものがあるためラベルデータはそれ自体完璧なものではない。そこで人間が以前の人手により評価されたデータを検証して、それをフィードバックしていくことによりデータの質と信頼性を向上させることができる。