OtaQ

1,228 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,228
On SlideShare
0
From Embeds
0
Number of Embeds
594
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

OtaQ

  1. 1. OtaQ OtaQ早押し4択クイズの自動生成jewel_x12 @ Niigata.pm tech talk #1
  2. 2. @jewel_x12?• 自然言語処理• NUT LT部所属• TRENDONAU というものを作りました• 冷凍うどんを電子レンジで戻す• 普段は Ruby 使い• Perl 初心者• たまにコードを読む程度
  3. 3. お詫びPerl についてコアな話はできません……
  4. 4. 今回の目標4択クイズの自動生成を通じ て Perl とふれあう ※ コロンビアの画像
  5. 5. なぜクイズ?昨年はIBMの質疑応答システム 「Watson」が話題に 究極の質問にも答えられるようになった!!
  6. 6. なぜクイズ?昨年はIBMの質疑応答システム 「Watson」が話題に質問者としてのコンピュータを極めよう!!!!!!!!!!
  7. 7. コンピュータ vs 人間の歴史 ※ アメリカ横断※ 電脳学園の画像 ウルトラクイズの画像 ちょっと昔
  8. 8. コンピュータ vs 人間の歴史 ※ QMAの画像 問題がネットワーク経由で 追加されるようになった
  9. 9. クイズゲームで一番コストの高い部分は問題作成(たぶん) 自動生成や!
  10. 10. ウィキペディア記事から 自動生成する• 「Qろいど」(学びing) 「けんてーごっこ」のデータをもとに、 穴埋め問題を自動生成 http://manabing.jp/service/qroid.html今回は、書かれている内容をヒント文から 推測する形式の問題
  11. 11. 実演http://otaq.jewelve.com/
  12. 12. ヒント文の生成ウィキペディア記事内で 特徴的な文を抽出する特徴度の高い順番に選択
  13. 13. 抽出型要約要約したい記事から決められた 単語数に収まるように 特徴的な文を抽出する
  14. 14. 抽出型要約手法の例:1. 単語のスコア付け• ある文書における単語の特徴度(TF-IDF など)2. 文の特徴度を(1)のスコアを用いて計算3. 決められた単語数に収まる&合計スコアが最も高くなる文の組み合わせを抽出• ナップサック問題としてモデル化•「文頭からの距離」や「既に抽出した文との類似度」等も考慮
  15. 15. OtaQ では1. 名詞のスコア付け• TF-IDF2. 文の特徴度を(1)のスコアを用いて計算• 合計するだけ3. 文の特徴度が高い順に選択する• 単語数の制限等はない• 1番目は必ず含める
  16. 16. OtaQ では1. 名詞のスコア付け• TF-IDF2. 文の特徴度を(1)のスコアを用いて計算• 合計するだけ3. 文の特徴度が高い順に選択する• 単語数の制限等はない• 1番目は必ず含める らくちん♪
  17. 17. 4択の生成 手法の候補1. 似た記事タイトルを集める2. 文書クラスタリング3. カテゴリ情報を利用 • 所属しているカテゴリのうち、1番小さい ものからランダムにタイトルを抽出 • 一番それっぽい結果になる • 人手最高!!!!!!!!!
  18. 18. やっとPerlの話
  19. 19. システム構成•問題生成 •単語スコア -> Perl •重要文抽出 -> Perl •4択の選択 -> Perl•ゲーム部 -> Ruby
  20. 20. システム構成•問題生成 •単語スコア -> Perl •重要文抽出 -> Perl Ruby •4択の選択 -> Perl Ruby•ゲーム部 -> Ruby
  21. 21. Perl の感想• bless を使ったオブジェクト指向プログラミングは面白かった• リファレンスの存在を知らないで進めてたら、よくわからないことになった• Test::More でのテストもわかり易かった• 中途半端な知識で進めると辛いときがある
  22. 22. ゲーム部• Sinatra • MongoDB • nginx + unicorn • 使ったことなかったので使った・ クライアント側 • ランダム10問を JSON で受け取る • 答えも受け取るのでチート可能
  23. 23. 生成されたクイズ• 24,000 問くらいある• カテゴリ名に「アニメ・ゲーム・同人・声優」等を含むものに絞っている• お母さんの前では遊べない内容もある • 無関係やアレゲなカテゴリは除去している• 特徴のある文をそのまま出力しても問題として成立しにくい• 「A は B の一種」のような関係を抽出すると良いかも?

×