誰かを褒めるという出来事から、その人の意図や相手の気持ち、次に起こりそうな行動を考えることができます。ATOMICは、このような出来事には書かれていない推論を、種類ごとに自由記述で集めた英語の知識グラフです。原論文の表1には、褒め言葉を伝える出来事から、話した人の意図、相手の反応、話した人の人物像を別々に表した例があります。
名称は原論文の脚注でAn ATlas Of MachIne Commonsenseと説明されています。論文「ATOMIC: An Atlas of Machine Commonsense for If-Then Reasoning」は、Maarten Sap、Ronan Le Bras、Emily Allaway、Chandra Bhagavatula、Nicholas Lourie、Hannah Rashkin、Brendan Roof、Noah A. Smith、Yejin Choiの9人がAAAI 2019で発表しました。対象は原因と結果だけでなく、意図、必要な前提、感情、人物属性にも及びます。
元になる出来事は、既存の文章から抽出して一般化した
論文の「Compiling Base Events」によると、元になる出来事は物語、書籍、ブログ、Google Ngrams、Wiktionaryの慣用句などから集めた動詞句です。動詞とその対象などの組み合わせが十分に頻出しない場合、対象を空欄へ置き換えます。人物を指す語はPersonXなどの変数に置き換え、より一般的な出来事として表します。すべての出来事を推論回答の作業者にゼロから書かせたわけではありません。
複数人が登場する場合、同じ人物への言及なのか別人なのかで意味が変わります。このため別の短い作業で、三人の作業者に各人物への言及をPersonX、PersonY、PersonZのいずれかへ対応付けてもらい、少なくとも二人が妥当とした組み合わせの出来事を残しました。論文が人物変数について述べる目的は、出来事を一般化することと、このような人物間の参照関係を明確にすることです。
一つの出来事を9種類の関係から見る
論文の図2と表1にある9種類を、記事中で意味を説明するための日本語にすると次のとおりです。xは出来事の主体であるPersonX、oはPersonYに限らないその他の参加者を指します。参加者には、明示されていなくても出来事から想定される人を含みます。
| 関係 | 位置付け | 記述する推論 |
|---|---|---|
xIntent |
出来事の前 | PersonXがその行動を起こした意図 |
xNeed |
出来事の前 | PersonXが事前に行う必要のあったこと |
xAttr |
人物属性 | PersonXがどのような人物と見なされるか |
xEffect |
出来事の後 | PersonXに生じる結果や影響 |
xReact |
出来事の後 | PersonXが感じること |
xWant |
出来事の後 | PersonXが次にしたいこと |
oEffect |
出来事の後 | その他の参加者に生じる結果や影響 |
oReact |
出来事の後 | その他の参加者が感じること |
oWant |
出来事の後 | その他の参加者が次にしたいこと |
xIntentは行動の理由となる意図、xWantは行動後にしたくなることです。xNeedは実行前に必要だったことを問うため、その出来事の唯一の原因を指定するものではありません。また、本人の意思で次にしたい行動と、本人や他者に生じる影響は別の関係として集めています。xAttrも出来事後の感情ではなく、人物像についての推論です。
質問を関係ごとに変え、複数の自由記述を集めた
推論の収集にはAmazon Mechanical Turkを使いました。論文では「意図と感情」「前提と次にしたいこと」「影響」「人物属性」の四つの作業群を設けています。作業画面の例(図3)には、出来事を示したうえで「この前にPersonXがする必要があることは?」「その後PersonXがしたいことは?」「PersonX以外に影響を受ける人はいるか?」と観点を変えて問う様子が示されています。
一つの出来事の各関係について、最大三人の作業者に、一人当たり最大四つの「あり得る」推論を求めました。たとえばコーヒーを飲む前に、コーヒーをいれる場合も買う場合も考えられます。xIntent、xNeed、他者に関する三つの関係では、回答の前にその関係が当てはまるかを尋ねています。したがって、九つの欄が必ず埋まる構造ではありません。
「該当なし」と未注釈を区別する公開形式
公開データのREADMEは、関係欄の"none"を、作業者が「該当する推論はない」と明示した回答として扱い、空リスト[]を、その作業者がその関係を注釈していない状態として区別しています。出来事ごとに回答をまとめた集約CSVでは、同じ回答文字列も重複除去せずに残されています。論文は、信頼性の低い作業者を手作業と半自動の方法で見つけて除外したと記しています。
論文では、評価用の出来事から100件を無作為に選び、各モデルが関係ごとに生成した上位10件を五人の作業者が判定しました。同じ評価設定で、対応する元のATOMIC注釈についても妥当性を判定し、妥当とされた割合は関係別の平均で86.2%でした。ただし、モデルは各関係について10件を生成したのに対し、元のATOMIC注釈の件数は出来事や関係によって異なります。86.2%は、ATOMIC全件を再検品して得た割合ではありません。
モデルの自動評価には、生成文と人手回答の語の重なりを見るBLEUを使用しました。人手評価の表では、モデルの上位10件のうち妥当と判定された割合をprecision@10として報告しています。
877,108組は出来事件数でも作業者の回答行数でもない
原論文の表2は、元になる出来事を24,313件、推論知識を877,108組と報告しています。表では、これを〈出来事・関係・推論内容〉の三つ組として数えています。出来事件数、九つの関係タイプの数、公開CSVの回答行数のいずれとも異なる単位です。
一方、著者配布のv4アーカイブを実際に数えると、出来事単位のv4_atomic_all_agg.csvは24,312行です。九つの関係欄に入った文字列は延べ877,091個ですが、ここにはnoneが145,109個含まれ、重複も残っています。noneを除く記述は延べ731,982個、同じ出来事・関係・文字列の完全一致を一つに数えると713,664組です。論文表2の値と公開CSVから単純に数えた値を、同じ集計値として置き換えることはできません。
分割CSVは作業者単位の行を収録する
原論文では、元になる出来事を学習用・開発用・評価用へおおむね80%・10%・10%に分け、先頭二つの内容語が共通する出来事を同じ分割に入れています。公開CSVでは、一行は一つの推論ではなく、一人の作業者がその出来事について記入した回答です。ヘッダーを除いた行数と、重複を除いた出来事件数は次のとおりです。
| 公開ファイル | 回答行数 | 異なる出来事件数 |
|---|---|---|
v4_atomic_trn.csv |
202,271 | 19,695 |
v4_atomic_dev.csv |
22,620 | 2,204 |
v4_atomic_tst.csv |
24,856 | 2,413 |
v4_atomic_all.csv(上記の合計) |
249,747 | 24,312 |
v4_atomic_all_agg.csv(同じ出来事の集約版) |
24,312 | 24,312 |
各行にはevent、九つの関係名の列、分割の手がかりとなるprefix、splitが入ります。関係列の値は回答文字列のリストです。v4_atomic_all.csvや集約版を三つの分割ファイルに足しても、新しい出来事が増えるわけではありません。
一つの行動に複数の推論を残す設計
ATOMICが収録したのは、観察された出来事から「あり得る」と考えられる意図や結果です。同じ出来事・関係にも複数の回答を残す設計であり、どの推論も必ず現実に起こるという意味ではありません。同様のデータを作る際は、出来事の出典、人物の対応、質問した関係、明示的な「該当なし」、集まった複数の回答を分けて記録すると、後から各推論をどの条件で集めたか追えます。
RESEARCH DATA SUPPORT
出来事と推論を結び付けるデータの設計・収集をご相談いただけます
株式会社イングクラウドでは、出来事の収集、関係タイプ別の作業指示、自由記述の収集、回答の整理、妥当性評価や検品を支援しています。研究上の問いを収集項目や作業指示へ落とし込む段階からご相談いただけます。
