SlideShare a Scribd company logo
1 of 52
Download to read offline
質問応答システム入門
 Bingなんてもういらない?




                        torotoki
       1     @第17回プログラミング生放送
                                   1
自己紹介
•   @torotoki

•   自然言語処理や機械学習を勉強してい
    たら1年が立つ

    •   意味解析みたいなことに興味

    •   奈良先端科学技術大学院大学バイトとか

    •   NTCIR RITE(含意関係認識のワーク
        ショップ)参加中

•   Android が好き

    •   最近アプリを作ってない

•   高1

                          2
                                2
自然言語処理とは


• 人間が使う「自然言語」をごにょごにょする分野
• 応用先は Google や Bing などの検索エンジンや、
 スパム分類、機械翻訳などなど

• Twitter や Wikipedia など手軽に使える資源が増え
 てきた



                 3
                                      3
質問応答システム
• 検索エンジン
    •   クエリを元にドキュメントを返す

        •   クエリ「東京, 観光」 → 観光スポット紹介サイトなど

        •   クエリ「アメリカ, sony, 日本, 購入」

            •   アメリカから日本の購入? 日本からアメリカへの購入?

            •   クエリにある潜在的な曖昧性

•   質問応答システム

    •   自然言語を元に「答え」を返す

        •   「今年の東京の人口は?」 → 「13,227,730人」

                           4
                                             4
モチベーション
•   クエリより自然言語のほうがいい!

    •   自然体で聞ける

    •   うまくいけばクエリより表現力が高い

        •   ただし今回のシステム構成はクエリへ一度変換する

•   検索エンジンは別のページを開く必要がある

    •   遅いページを開くとイライラ

    •   特にスマートフォンでは面倒

•   より SF っぽい未来感

    •   あれば便利なだけでなくかっこいい
                       5
                                      5
既存の質問応答システム
• IBM Watson
  •   人間にクイズで勝ったシステム

  •   答えを文章から推測して解答

      •   ファクトイド型と呼ばれる

          •   今回のテーマ

• Siri
  •   ユーモアな回答で実際より賢く見せている点が新しい

  •   限られたサイトのAPI等を使用しているので、何でも答えら
      れるわけではない

      •   特定の答えは良い回答を出せる(天気、価格、メールするなど)
                      6
                                          6
今回の構成

     質問タイプの特定              大量の質問文-タイプ
     - 「色」についてと判定            のペアで学習



     質問文からクエリを作成
     - 「空, 色」


     取得した文章から
     回答候補を抽出              質問-文書-解答のペア
     - 「天候, 昼間, 青色, 空色,   からランキングを学習
     ニューヨーク, ...」


空色
     確率の高いものを解答
           7
                                        7
質問応答システムの構成

•   質問解析

    •   質問タイプの同定(人物について, 場所についてなど)

•   文書検索

    •   質問文を元にクエリを作成し、文章データを検索

•   回答候補抽出

    •   質問解析で得られたタイプと検索して得た文章を元に回答候補を列挙

•   回答選択

    •   回答候補をランキングで算出、ランキング上位が解答となる
                      8
                                          8
今回使用するアルゴリズム一覧
•   質問解析

    •   質問タイプの同定(人物, 場所など)

    •   固有表現抽出/SVM

•   文書検索

    •   質問文を元にクエリを作成し、文章データを検索

    •   TF-IDF/Okapi BM25

•   回答候補抽出

    •   質問解析で得られたタイプを元に回答候補上位N件をとる

•   回答選択

    •   最終的な回答を選別

    •   SVMのランキング化

•   15分で解説できるのか!?           9
                                     9
検索エンジン




  10
         10
質問応答システム




           11
前置きおわり



  12
         12
1. 質問解析
∼ 質問タイプの同定(人物, 場所など)∼




          13
                        13
質問解析

            質問タイプの特定              大量の質問文-タイプ
            - 「色」についてと判定            のペアで学習



            質問文からクエリを作成
質問文と回答候補    - 「空, 色」

 のタイプを照合
            取得した文章から
            回答候補を抽出              質問-文書-解答のペア
            - 「天候, 昼間, 青色, 空色,   からランキングを学習
            ニューヨーク, ...」


       空色
            確率の高いものを解答
                  14
                                               14
質問解析
•   質問文ですでに解答のタイプが決まっているという仮定

    •   エジソンが電球を発明したのはいつ? → 年代

    •   C++を開発したのは誰? → 人名

    •   英語でいう What/Where/Who/When が代表的な例

•   このステップで解析し、後で回答候補のタイプと照合する

    •   回答候補(単語)でも使えて、質問文(文章)でもタイプが出
        せないといけない!

    •   回答候補のタイプ推定は固有表現抽出を使う

    •   質問文のタイプ推定は自前で用意

                       15
                                           15
固有表現抽出


• 固有表現抽出とは?
 •   人物や地名、組織名などの単語を認識する

     •   例を見ると分かりやすい

 •   自然言語処理で広く使われる

     •   基準やデータが養われている

     •   IREXの基準なら、Cabocha というツールに付属




                       16
                                       16
IREXの固有表現の基準
•   8種類の分割(参考文献を引用)

    •   人名(PERSON) - ジョージ, 織田信長 など

    •   地名(LOCATION) - 京都, ロシア, 淡路島, 富士山 など

    •   組織名(ORGANIZATION) - NTT, 外務省, 京大 など

    •   固有物質(ARTIFACT) - のぞみ, ノーベル賞, 憲法 など

    •   日付(DATE) - 1927年3月21日, きのう など

    •   時刻(TIME) - 12時32分, 正午, 昨夜 など

    •   金額(MONEY) - 320円, 1200バーツ, 500ユーロ など

    •   割合(PERCENT) 33パーセント, 6割, 3分の2 など

•   拡張固有表現抽出のほうはサイトを参照
                           17
                                               17
質問解析


• 質問文のタイプの推定
 • 質問タイプは 質問文-質問タイプ のペアで機械学習
  •   日本語ではIREXの8種類が多く使われる

      •   1999年の基準で古いが…

  •   英語では50 300種類の固有表現抽出が使われる




                   18
                                 18
SVMを使った質問解析の前に
    機械学習の解説



      19
                 19
機械学習の問題設定


•   今回使うのはクラスが2つの問題(2値分類)

    •   それぞれ正クラス、負クラスと呼ぶ

    •   何個も分類器を使えば複数の分類にも使える

        •   人名であるかないか、地名であるかないか、…

    •   SVMは2値分類で一番メジャーなアルゴリズム



                    20
                                    20
機械学習の問題設定
  • 参考文献の図があまりにも分かりやすかったので引用




http://www.slideshare.net/sleepy_yoshi/dsirnlp1
                                                  21
                                                       21
機械学習の問題設定

• 機械学習には基本的にデータと素性が必要
• 素性はどうやって選ぶ?
 •   人間が頑張って選ぶ

 •   簡単なシステムでは8種類から、複雑なシステムでは300
     種類など

 •   機械学習が必要な部分では

     •   SAIQA-II という NTT の昔の質問応答システムの素性を紹介

         •   詳細な解説は論文(日本語)を参照


                       22
                                              22
SVM

• 数式がちょっと複雑&時間の都合で超大雑把に解説
• 機械学習で最も使われている2値分類アルゴリズム
• パーセプトロンにカーネル関数とマージン最大化を付
 けたもの

 • パーセプトロンは線形でしか分類できない
 • SVM はカーネル関数で高次元に写像し、そこで線
  形に分類する(そのため一見して線形に見える)

            23
                              23
SVM

             カーネル関数



   正例のスペース


負例のスペース




     「非線形な分類」を          カーネル関数による写像
   しているように見えるが…        空間では線形に分類している

                  24
                                       24
SVM




 25
      25
SVMは難しい!
•   再掲

•   今回はこの図と前途の素性さえ覚えておけばOK

                                                   xはいろんな素性




ここがSVM




 http://www.slideshare.net/sleepy_yoshi/dsirnlp1
                                              26
                                                              26
SVM を使った質問解析
• 話を元に戻して…
 •   SVM を使ってどうやって質問タイプを推定する?

 •   学習データは多数の 質問文-質問タイプ ペアを使う

 •   素性は SAIQA-II みたいに適当に設定

 •   これだけで未知の質問文で質問タイプを推定できる!



• SVM はよく使われるのでライブラリが多い
 •   SVM-Light、LIBSVM、TinySVM など

                     27
                                   27
SAIQA-II の質問解析の素性




        28
                    28
2. 文書検索
∼ 質問文を元に文章データを検索 ∼




       29
                     29
今回の構成

     質問タイプの特定              大量の質問文-タイプ
     - 「色」についてと判定            のペアで学習



     質問文からクエリを作成
     - 「空, 色」


     取得した文章から
     回答候補を抽出              質問-文書-解答のペア
     - 「天候, 昼間, 青色, 空色,   からランキングを学習
     ニューヨーク, ...」


空色
     確率の高いものを解答
           30
                                        30
文書検索

• 文書検索はつまり「検索エンジン」と同じ?
     •   精度を求めるなら段落単位の方が良いが、今回は同じ

 •   質問文から検索クエリの変換

     •   今回は単純なシステムなので自立語(品詞が 助詞, 助動詞 以
         外)を単にフィルタしたとする

 •   品詞でフィルタリング

     •   「空は何色ですか?」 → 「空, 何, 色」

     •   簡単な例だとそれなりにうまくいく


                      31
                                          31
文書検索


• 変換したクエリから文書を検索
 •   検索エンジンの方法がそのまま使える

 •   TF-IDF とその拡張である Okapi BM25 を解説

     •   これらのモデルは学習用にデータがいらないので構築が簡単

     •   ただしデータが必要なモデルと比べると精度は落ちる




                    32
                                       32
文書検索
• 文章検索の問題設定
                ドキュメント

                         ドキュメントのランキング



   クエリ
q = {空, 何, 色}
                モデル




                    33
                                        33
TF-IDF
•   言わずと知れたモデル

•   TF と IDF の積に基づいて文書を採点するのがTF-IDF

•   単語の出現頻度 TF(t)

    •   M は文書の総数、freq()は   は文書 d 内での単語 t の頻度

    •   クエリと同じ単語が多く出現する文書のほうがよいという仮定

•   逆出現頻度

    •   DF(t) は 単語 t を含む文書の数

    •   珍しい単語のほうが良い仮定

•   あまりにも有名で亜種がたくさんあるため、サイトによって定義が違うことがしばし
    ば…

                           34
                                               34
Okapi BM25
• TF-IDF の亜種の中でよく用いられる
 •   TF と IDF をそれぞれ改良

 •   式が複雑だが暗記する必要は全くない




 •   k_は定数のパラメータ(0.1など)

 •   avelenは文書の長さの平均長
                    35
                          35
Okapi BM25
• TF-IDF の亜種の中でよく用いられる
 •   TF と IDF をそれぞれ改良

 •   式が複雑だが暗記する必要は全くない


                              文書長の正規化



                          Okapi BM25は半分
                          のドキュメントに同
                          じ単語が出現すると
 •   k_は定数のパラメータ(0.1など)   IDFが0になる

 •   avelenは文書の長さの平均長
                    36
                                          36
3. 回答候補抽出



    37
            37
回答候補抽出

• このステップは割と単純
• クエリに対する文書のランキングが取得できたら…
 •   1. 文書を上位N件に絞る

 •   2. N件の文書にさっきの固有表現抽出を使う

 •   3. 抜き取った固有表現と質問文の質問タイプとを照合

 •   4. タイプが同じだった固有表現が全て解答候補となる



                 38
                                  38
4. 回答選択
∼最終的な回答を選ぶ∼




     39
              39
今回の構成

     質問タイプの特定              大量の質問文-タイプ
     - 「色」についてと判定            のペアで学習



     質問文からクエリを作成
     - 「空, 色」


     取得した文章から
     回答候補を抽出              質問-文書-解答のペア
     - 「天候, 昼間, 青色, 空色,   からランキングを学習
     ニューヨーク, ...」


空色
     確率の高いものを解答
           40
                                        40
回答選択

• 前途の SVM を使用して回答を機械学習
 •   ただしこちらは結果をランキングで出す

     •   回答候補から、それぞれの候補がどれくらい回答らしいかスコ
         アを出してランキング化

     •   SVM に結果をランキングで出す仕組みはない

         •   分類平面からの距離やロジスティック回帰を使った方法

         •   そもそも SVM の仕組みを変えた RankingSVM などもある



                         41
                                                  41
回答選択
                                 学習段階



      与えられた文書                  回答候補

http://ja.wikipedia.org/w...
                               長崎市
http://foodslink.jp/syoku...   タイ
htttp://www.oisix.com/sh...
                               沖縄県
                                                   与えられた答え
...                            台湾
                                           モデル      沖縄県
                               ...
                                           (SVM)

         与えられた質問文

日本でのパイナップルの主産地は?


                                      42
                                                             42
回答選択
                                      実行段階



      検索した文書                    回答候補
                                                       回答ランキング
http://ja.wikipedia.org/w...    アメリカ
http://cnn.co.jp/articles/...
                                東京
htttp://www.google.com/...                                   0.8
                                                       シリコンバレー
                                シリコンバレー
...                                                    アメリカ 0.34
                                ...            モデル     東京   0.25
                                               (SVM)   大阪   0.04
            未知の質問文                                     ...

         Google本社はどこ?


                                          43
                                                                   43
回答選択
• 学習段階
 •   質問文-回答-候補文書(ソース) のペアで学習

     •   回答は、SVM の仕組み上複数でもOK

     •   また、負例(ここでは回答ではない単語)も入れてもいい

• 実行段階
 •   質問文-回答候補-検索で取得した文 を元に分類

     •   回答候補をスコアで出す

     •   一番スコアが高いものが最終的な回答となる

                       44
                                      44
SAIQA-II の回答候補の素性




        45
                    45
最後
データについて




   46
          46
データ
•   今回使用するデータは日本語だと難しい

•   質問解析
        •   質問文-質問タイプ、固有表現抽出のデータが必要

            •   固有表現抽出は IREX 基準(8種類)なら Cabocha が使える

            •   質問文-質問タイプ のデータは?

                •   日本語はない

•   回答選択

    •   質問文-回答-根拠文 のデータが必要

    •   日本語だと NTCIR-6 QAC のデータが公開されている

        •   ただし毎日新聞のデータを10万円で購入する必要がある
                              47
                                                      47
データ
•   今回使用するデータは日本語だと難しい

•   質問解析
        •   質問文-質問タイプ、固有表現抽出のデータが必要

            •   固有表現抽出は IREX 基準(8種類)なら Cabocha が使える

            •   質問文-質問タイプ のデータは?

                •   日本語はない

•   回答選択

    •   質問文-回答-根拠文 のデータが必要

    •   日本語だと NTCIR-6 QAC のデータが公開されている

        •   ただし毎日新聞のデータを10万円で購入する必要がある
                              48
                                                      48
データ



• ちなみに英語だと
 •   TREC、UIUCのデータなどなどのデータが充実

     •   質問解析、回答選択の両方盛りだくさん




                    49
                                49
まとめ

•   質問解析、文書検索、回答抽出、回答選択 を使ったシステム

    •   文書検索は検索エンジンのそれと同じ

    •   最低限の機械学習が必要なのは 質問解析と回答選択

        •   SVM万能

•   データがない

    •   日本語は大学や研究機関でないと難しい

•   質問応答システムには問題点も多く、Bing は必要



                     50
                                   50
参考文献
•   自然言語処理シリーズ 2「質問応答システム」(本)

•   DSIRNLP#1 ランキング学習ことはじめ

    •   ランキング学習やりたかった…(今回は解説なし)

    •   http://www.slideshare.net/sleepy_yoshi/dsirnlp1

•   Learning to Rank for Information Retrieval

    •   http://research.microsoft.com/en-us/people/tyliu/
        learning_to_rank_tutorial_-_www_-_2008.pdf

•   SVMを用いた学習型質問応答システムSAIQA-II

    •   http://ci.nii.ac.jp/naid/110002712114

•   著者名は省略
                                51
                                                            51
ご清聴ありがとうご
  ざいました


    52
            52

More Related Content

What's hot

画像局所特徴量と特定物体認識 - SIFTと最近のアプローチ -
画像局所特徴量と特定物体認識 - SIFTと最近のアプローチ -画像局所特徴量と特定物体認識 - SIFTと最近のアプローチ -
画像局所特徴量と特定物体認識 - SIFTと最近のアプローチ -MPRG_Chubu_University
 
ブレインパッドにおける機械学習プロジェクトの進め方
ブレインパッドにおける機械学習プロジェクトの進め方ブレインパッドにおける機械学習プロジェクトの進め方
ブレインパッドにおける機械学習プロジェクトの進め方BrainPad Inc.
 
強化学習の基礎と深層強化学習(東京大学 松尾研究室 深層強化学習サマースクール講義資料)
強化学習の基礎と深層強化学習(東京大学 松尾研究室 深層強化学習サマースクール講義資料)強化学習の基礎と深層強化学習(東京大学 松尾研究室 深層強化学習サマースクール講義資料)
強化学習の基礎と深層強化学習(東京大学 松尾研究室 深層強化学習サマースクール講義資料)Shota Imai
 
【メタサーベイ】数式ドリブン教師あり学習
【メタサーベイ】数式ドリブン教師あり学習【メタサーベイ】数式ドリブン教師あり学習
【メタサーベイ】数式ドリブン教師あり学習cvpaper. challenge
 
ゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learning
ゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learningゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learning
ゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement LearningPreferred Networks
 
トピックモデルの評価指標 Perplexity とは何なのか?
トピックモデルの評価指標 Perplexity とは何なのか?トピックモデルの評価指標 Perplexity とは何なのか?
トピックモデルの評価指標 Perplexity とは何なのか?hoxo_m
 
Teslaにおけるコンピュータビジョン技術の調査 (2)
Teslaにおけるコンピュータビジョン技術の調査 (2)Teslaにおけるコンピュータビジョン技術の調査 (2)
Teslaにおけるコンピュータビジョン技術の調査 (2)Kazuyuki Miyazawa
 
最適輸送の解き方
最適輸送の解き方最適輸送の解き方
最適輸送の解き方joisino
 
最近のDeep Learning (NLP) 界隈におけるAttention事情
最近のDeep Learning (NLP) 界隈におけるAttention事情最近のDeep Learning (NLP) 界隈におけるAttention事情
最近のDeep Learning (NLP) 界隈におけるAttention事情Yuta Kikuchi
 
機械学習によるデータ分析まわりのお話
機械学習によるデータ分析まわりのお話機械学習によるデータ分析まわりのお話
機械学習によるデータ分析まわりのお話Ryota Kamoshida
 
DSIRNLP#1 ランキング学習ことはじめ
DSIRNLP#1 ランキング学習ことはじめDSIRNLP#1 ランキング学習ことはじめ
DSIRNLP#1 ランキング学習ことはじめsleepy_yoshi
 
研究室における研究・実装ノウハウの共有
研究室における研究・実装ノウハウの共有研究室における研究・実装ノウハウの共有
研究室における研究・実装ノウハウの共有Naoaki Okazaki
 
PyTorchLightning ベース Hydra+MLFlow+Optuna による機械学習開発環境の構築
PyTorchLightning ベース Hydra+MLFlow+Optuna による機械学習開発環境の構築PyTorchLightning ベース Hydra+MLFlow+Optuna による機械学習開発環境の構築
PyTorchLightning ベース Hydra+MLFlow+Optuna による機械学習開発環境の構築Kosuke Shinoda
 
組合せ最適化入門:線形計画から整数計画まで
組合せ最適化入門:線形計画から整数計画まで組合せ最適化入門:線形計画から整数計画まで
組合せ最適化入門:線形計画から整数計画までShunji Umetani
 
不老におけるOptunaを利用した分散ハイパーパラメータ最適化 - 今村秀明(名古屋大学 Optuna講習会)
不老におけるOptunaを利用した分散ハイパーパラメータ最適化 - 今村秀明(名古屋大学 Optuna講習会)不老におけるOptunaを利用した分散ハイパーパラメータ最適化 - 今村秀明(名古屋大学 Optuna講習会)
不老におけるOptunaを利用した分散ハイパーパラメータ最適化 - 今村秀明(名古屋大学 Optuna講習会)Preferred Networks
 
画像処理ライブラリ OpenCV で 出来ること・出来ないこと
画像処理ライブラリ OpenCV で 出来ること・出来ないこと画像処理ライブラリ OpenCV で 出来ること・出来ないこと
画像処理ライブラリ OpenCV で 出来ること・出来ないことNorishige Fukushima
 
Machine learning CI/CD with OSS
Machine learning CI/CD with OSSMachine learning CI/CD with OSS
Machine learning CI/CD with OSSyusuke shibui
 
機械学習で泣かないためのコード設計 2018
機械学習で泣かないためのコード設計 2018機械学習で泣かないためのコード設計 2018
機械学習で泣かないためのコード設計 2018Takahiro Kubo
 
画像認識モデルを作るための鉄板レシピ
画像認識モデルを作るための鉄板レシピ画像認識モデルを作るための鉄板レシピ
画像認識モデルを作るための鉄板レシピTakahiro Kubo
 

What's hot (20)

coordinate descent 法について
coordinate descent 法についてcoordinate descent 法について
coordinate descent 法について
 
画像局所特徴量と特定物体認識 - SIFTと最近のアプローチ -
画像局所特徴量と特定物体認識 - SIFTと最近のアプローチ -画像局所特徴量と特定物体認識 - SIFTと最近のアプローチ -
画像局所特徴量と特定物体認識 - SIFTと最近のアプローチ -
 
ブレインパッドにおける機械学習プロジェクトの進め方
ブレインパッドにおける機械学習プロジェクトの進め方ブレインパッドにおける機械学習プロジェクトの進め方
ブレインパッドにおける機械学習プロジェクトの進め方
 
強化学習の基礎と深層強化学習(東京大学 松尾研究室 深層強化学習サマースクール講義資料)
強化学習の基礎と深層強化学習(東京大学 松尾研究室 深層強化学習サマースクール講義資料)強化学習の基礎と深層強化学習(東京大学 松尾研究室 深層強化学習サマースクール講義資料)
強化学習の基礎と深層強化学習(東京大学 松尾研究室 深層強化学習サマースクール講義資料)
 
【メタサーベイ】数式ドリブン教師あり学習
【メタサーベイ】数式ドリブン教師あり学習【メタサーベイ】数式ドリブン教師あり学習
【メタサーベイ】数式ドリブン教師あり学習
 
ゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learning
ゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learningゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learning
ゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learning
 
トピックモデルの評価指標 Perplexity とは何なのか?
トピックモデルの評価指標 Perplexity とは何なのか?トピックモデルの評価指標 Perplexity とは何なのか?
トピックモデルの評価指標 Perplexity とは何なのか?
 
Teslaにおけるコンピュータビジョン技術の調査 (2)
Teslaにおけるコンピュータビジョン技術の調査 (2)Teslaにおけるコンピュータビジョン技術の調査 (2)
Teslaにおけるコンピュータビジョン技術の調査 (2)
 
最適輸送の解き方
最適輸送の解き方最適輸送の解き方
最適輸送の解き方
 
最近のDeep Learning (NLP) 界隈におけるAttention事情
最近のDeep Learning (NLP) 界隈におけるAttention事情最近のDeep Learning (NLP) 界隈におけるAttention事情
最近のDeep Learning (NLP) 界隈におけるAttention事情
 
機械学習によるデータ分析まわりのお話
機械学習によるデータ分析まわりのお話機械学習によるデータ分析まわりのお話
機械学習によるデータ分析まわりのお話
 
DSIRNLP#1 ランキング学習ことはじめ
DSIRNLP#1 ランキング学習ことはじめDSIRNLP#1 ランキング学習ことはじめ
DSIRNLP#1 ランキング学習ことはじめ
 
研究室における研究・実装ノウハウの共有
研究室における研究・実装ノウハウの共有研究室における研究・実装ノウハウの共有
研究室における研究・実装ノウハウの共有
 
PyTorchLightning ベース Hydra+MLFlow+Optuna による機械学習開発環境の構築
PyTorchLightning ベース Hydra+MLFlow+Optuna による機械学習開発環境の構築PyTorchLightning ベース Hydra+MLFlow+Optuna による機械学習開発環境の構築
PyTorchLightning ベース Hydra+MLFlow+Optuna による機械学習開発環境の構築
 
組合せ最適化入門:線形計画から整数計画まで
組合せ最適化入門:線形計画から整数計画まで組合せ最適化入門:線形計画から整数計画まで
組合せ最適化入門:線形計画から整数計画まで
 
不老におけるOptunaを利用した分散ハイパーパラメータ最適化 - 今村秀明(名古屋大学 Optuna講習会)
不老におけるOptunaを利用した分散ハイパーパラメータ最適化 - 今村秀明(名古屋大学 Optuna講習会)不老におけるOptunaを利用した分散ハイパーパラメータ最適化 - 今村秀明(名古屋大学 Optuna講習会)
不老におけるOptunaを利用した分散ハイパーパラメータ最適化 - 今村秀明(名古屋大学 Optuna講習会)
 
画像処理ライブラリ OpenCV で 出来ること・出来ないこと
画像処理ライブラリ OpenCV で 出来ること・出来ないこと画像処理ライブラリ OpenCV で 出来ること・出来ないこと
画像処理ライブラリ OpenCV で 出来ること・出来ないこと
 
Machine learning CI/CD with OSS
Machine learning CI/CD with OSSMachine learning CI/CD with OSS
Machine learning CI/CD with OSS
 
機械学習で泣かないためのコード設計 2018
機械学習で泣かないためのコード設計 2018機械学習で泣かないためのコード設計 2018
機械学習で泣かないためのコード設計 2018
 
画像認識モデルを作るための鉄板レシピ
画像認識モデルを作るための鉄板レシピ画像認識モデルを作るための鉄板レシピ
画像認識モデルを作るための鉄板レシピ
 

Similar to 質問応答システム入門

The Anatomy of Large-Scale Social Search Engine
The Anatomy of Large-Scale Social Search EngineThe Anatomy of Large-Scale Social Search Engine
The Anatomy of Large-Scale Social Search Enginesleepy_yoshi
 
トピックモデルの話
トピックモデルの話トピックモデルの話
トピックモデルの話kogecoo
 
[最新版] JSAI2018 チュートリアル「"深層学習時代の" ゼロから始める自然言語処理」
[最新版] JSAI2018 チュートリアル「"深層学習時代の" ゼロから始める自然言語処理」 [最新版] JSAI2018 チュートリアル「"深層学習時代の" ゼロから始める自然言語処理」
[最新版] JSAI2018 チュートリアル「"深層学習時代の" ゼロから始める自然言語処理」 Yuki Arase
 
[旧版] JSAI2018 チュートリアル「"深層学習時代の" ゼロから始める自然言語処理」
[旧版] JSAI2018 チュートリアル「"深層学習時代の" ゼロから始める自然言語処理」 [旧版] JSAI2018 チュートリアル「"深層学習時代の" ゼロから始める自然言語処理」
[旧版] JSAI2018 チュートリアル「"深層学習時代の" ゼロから始める自然言語処理」 Yuki Arase
 
Code4Lib 2013参加報告
Code4Lib 2013参加報告Code4Lib 2013参加報告
Code4Lib 2013参加報告Masao Takaku
 
言語資源と付き合う
言語資源と付き合う言語資源と付き合う
言語資源と付き合うYuya Unno
 
opensource and accessibility (Dec2000) Part 2
opensource and accessibility (Dec2000) Part 2opensource and accessibility (Dec2000) Part 2
opensource and accessibility (Dec2000) Part 2Takuya Nishimoto
 
[ICLR2016] 採録論文の個人的まとめ
[ICLR2016] 採録論文の個人的まとめ[ICLR2016] 採録論文の個人的まとめ
[ICLR2016] 採録論文の個人的まとめYusuke Iwasawa
 
20090827 ku-librarians勉強会 #114 : Wikipediaをいかに使いこなすか? ---知識抽出、情報ナビゲーション、そしてトピ...
20090827 ku-librarians勉強会 #114 : Wikipediaをいかに使いこなすか? ---知識抽出、情報ナビゲーション、そしてトピ...20090827 ku-librarians勉強会 #114 : Wikipediaをいかに使いこなすか? ---知識抽出、情報ナビゲーション、そしてトピ...
20090827 ku-librarians勉強会 #114 : Wikipediaをいかに使いこなすか? ---知識抽出、情報ナビゲーション、そしてトピ...kulibrarians
 
Active Learning from Imperfect Labelers @ NIPS読み会・関西
Active Learning from Imperfect Labelers @ NIPS読み会・関西Active Learning from Imperfect Labelers @ NIPS読み会・関西
Active Learning from Imperfect Labelers @ NIPS読み会・関西Taku Tsuzuki
 
Active Learning 入門
Active Learning 入門Active Learning 入門
Active Learning 入門Shuyo Nakatani
 
2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで
2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで
2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep LearningまでHokuto Kagaya
 
おとなのテキストマイニング
おとなのテキストマイニングおとなのテキストマイニング
おとなのテキストマイニングMunenori Sugimura
 
捗るリコメンドシステムの裏事情(ハッカドール)
捗るリコメンドシステムの裏事情(ハッカドール)捗るリコメンドシステムの裏事情(ハッカドール)
捗るリコメンドシステムの裏事情(ハッカドール)mosa siru
 
WordNetで作ろう! 言語横断検索サービス
WordNetで作ろう! 言語横断検索サービスWordNetで作ろう! 言語横断検索サービス
WordNetで作ろう! 言語横断検索サービスShintaro Takemura
 
Tree-to-Sequence Attentional Neural Machine Translation (ACL 2016)
Tree-to-Sequence Attentional Neural Machine Translation (ACL 2016)Tree-to-Sequence Attentional Neural Machine Translation (ACL 2016)
Tree-to-Sequence Attentional Neural Machine Translation (ACL 2016)Toru Fujino
 

Similar to 質問応答システム入門 (20)

Jacet2014ykondo_final
Jacet2014ykondo_finalJacet2014ykondo_final
Jacet2014ykondo_final
 
OtaQ
OtaQOtaQ
OtaQ
 
The Anatomy of Large-Scale Social Search Engine
The Anatomy of Large-Scale Social Search EngineThe Anatomy of Large-Scale Social Search Engine
The Anatomy of Large-Scale Social Search Engine
 
トピックモデルの話
トピックモデルの話トピックモデルの話
トピックモデルの話
 
[最新版] JSAI2018 チュートリアル「"深層学習時代の" ゼロから始める自然言語処理」
[最新版] JSAI2018 チュートリアル「"深層学習時代の" ゼロから始める自然言語処理」 [最新版] JSAI2018 チュートリアル「"深層学習時代の" ゼロから始める自然言語処理」
[最新版] JSAI2018 チュートリアル「"深層学習時代の" ゼロから始める自然言語処理」
 
Qaシステム解説
Qaシステム解説Qaシステム解説
Qaシステム解説
 
[旧版] JSAI2018 チュートリアル「"深層学習時代の" ゼロから始める自然言語処理」
[旧版] JSAI2018 チュートリアル「"深層学習時代の" ゼロから始める自然言語処理」 [旧版] JSAI2018 チュートリアル「"深層学習時代の" ゼロから始める自然言語処理」
[旧版] JSAI2018 チュートリアル「"深層学習時代の" ゼロから始める自然言語処理」
 
Code4Lib 2013参加報告
Code4Lib 2013参加報告Code4Lib 2013参加報告
Code4Lib 2013参加報告
 
言語資源と付き合う
言語資源と付き合う言語資源と付き合う
言語資源と付き合う
 
opensource and accessibility (Dec2000) Part 2
opensource and accessibility (Dec2000) Part 2opensource and accessibility (Dec2000) Part 2
opensource and accessibility (Dec2000) Part 2
 
[ICLR2016] 採録論文の個人的まとめ
[ICLR2016] 採録論文の個人的まとめ[ICLR2016] 採録論文の個人的まとめ
[ICLR2016] 採録論文の個人的まとめ
 
20090827 ku-librarians勉強会 #114 : Wikipediaをいかに使いこなすか? ---知識抽出、情報ナビゲーション、そしてトピ...
20090827 ku-librarians勉強会 #114 : Wikipediaをいかに使いこなすか? ---知識抽出、情報ナビゲーション、そしてトピ...20090827 ku-librarians勉強会 #114 : Wikipediaをいかに使いこなすか? ---知識抽出、情報ナビゲーション、そしてトピ...
20090827 ku-librarians勉強会 #114 : Wikipediaをいかに使いこなすか? ---知識抽出、情報ナビゲーション、そしてトピ...
 
Active Learning from Imperfect Labelers @ NIPS読み会・関西
Active Learning from Imperfect Labelers @ NIPS読み会・関西Active Learning from Imperfect Labelers @ NIPS読み会・関西
Active Learning from Imperfect Labelers @ NIPS読み会・関西
 
Active Learning 入門
Active Learning 入門Active Learning 入門
Active Learning 入門
 
言語モデル入門
言語モデル入門言語モデル入門
言語モデル入門
 
2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで
2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで
2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで
 
おとなのテキストマイニング
おとなのテキストマイニングおとなのテキストマイニング
おとなのテキストマイニング
 
捗るリコメンドシステムの裏事情(ハッカドール)
捗るリコメンドシステムの裏事情(ハッカドール)捗るリコメンドシステムの裏事情(ハッカドール)
捗るリコメンドシステムの裏事情(ハッカドール)
 
WordNetで作ろう! 言語横断検索サービス
WordNetで作ろう! 言語横断検索サービスWordNetで作ろう! 言語横断検索サービス
WordNetで作ろう! 言語横断検索サービス
 
Tree-to-Sequence Attentional Neural Machine Translation (ACL 2016)
Tree-to-Sequence Attentional Neural Machine Translation (ACL 2016)Tree-to-Sequence Attentional Neural Machine Translation (ACL 2016)
Tree-to-Sequence Attentional Neural Machine Translation (ACL 2016)
 

Recently uploaded

AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成Hiroshi Tomioka
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 

Recently uploaded (9)

AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 

質問応答システム入門

  • 1. 質問応答システム入門 Bingなんてもういらない? torotoki 1 @第17回プログラミング生放送 1
  • 2. 自己紹介 • @torotoki • 自然言語処理や機械学習を勉強してい たら1年が立つ • 意味解析みたいなことに興味 • 奈良先端科学技術大学院大学バイトとか • NTCIR RITE(含意関係認識のワーク ショップ)参加中 • Android が好き • 最近アプリを作ってない • 高1 2 2
  • 3. 自然言語処理とは • 人間が使う「自然言語」をごにょごにょする分野 • 応用先は Google や Bing などの検索エンジンや、 スパム分類、機械翻訳などなど • Twitter や Wikipedia など手軽に使える資源が増え てきた 3 3
  • 4. 質問応答システム • 検索エンジン • クエリを元にドキュメントを返す • クエリ「東京, 観光」 → 観光スポット紹介サイトなど • クエリ「アメリカ, sony, 日本, 購入」 • アメリカから日本の購入? 日本からアメリカへの購入? • クエリにある潜在的な曖昧性 • 質問応答システム • 自然言語を元に「答え」を返す • 「今年の東京の人口は?」 → 「13,227,730人」 4 4
  • 5. モチベーション • クエリより自然言語のほうがいい! • 自然体で聞ける • うまくいけばクエリより表現力が高い • ただし今回のシステム構成はクエリへ一度変換する • 検索エンジンは別のページを開く必要がある • 遅いページを開くとイライラ • 特にスマートフォンでは面倒 • より SF っぽい未来感 • あれば便利なだけでなくかっこいい 5 5
  • 6. 既存の質問応答システム • IBM Watson • 人間にクイズで勝ったシステム • 答えを文章から推測して解答 • ファクトイド型と呼ばれる • 今回のテーマ • Siri • ユーモアな回答で実際より賢く見せている点が新しい • 限られたサイトのAPI等を使用しているので、何でも答えら れるわけではない • 特定の答えは良い回答を出せる(天気、価格、メールするなど) 6 6
  • 7. 今回の構成 質問タイプの特定 大量の質問文-タイプ - 「色」についてと判定 のペアで学習 質問文からクエリを作成 - 「空, 色」 取得した文章から 回答候補を抽出 質問-文書-解答のペア - 「天候, 昼間, 青色, 空色, からランキングを学習 ニューヨーク, ...」 空色 確率の高いものを解答 7 7
  • 8. 質問応答システムの構成 • 質問解析 • 質問タイプの同定(人物について, 場所についてなど) • 文書検索 • 質問文を元にクエリを作成し、文章データを検索 • 回答候補抽出 • 質問解析で得られたタイプと検索して得た文章を元に回答候補を列挙 • 回答選択 • 回答候補をランキングで算出、ランキング上位が解答となる 8 8
  • 9. 今回使用するアルゴリズム一覧 • 質問解析 • 質問タイプの同定(人物, 場所など) • 固有表現抽出/SVM • 文書検索 • 質問文を元にクエリを作成し、文章データを検索 • TF-IDF/Okapi BM25 • 回答候補抽出 • 質問解析で得られたタイプを元に回答候補上位N件をとる • 回答選択 • 最終的な回答を選別 • SVMのランキング化 • 15分で解説できるのか!? 9 9
  • 14. 質問解析 質問タイプの特定 大量の質問文-タイプ - 「色」についてと判定 のペアで学習 質問文からクエリを作成 質問文と回答候補 - 「空, 色」 のタイプを照合 取得した文章から 回答候補を抽出 質問-文書-解答のペア - 「天候, 昼間, 青色, 空色, からランキングを学習 ニューヨーク, ...」 空色 確率の高いものを解答 14 14
  • 15. 質問解析 • 質問文ですでに解答のタイプが決まっているという仮定 • エジソンが電球を発明したのはいつ? → 年代 • C++を開発したのは誰? → 人名 • 英語でいう What/Where/Who/When が代表的な例 • このステップで解析し、後で回答候補のタイプと照合する • 回答候補(単語)でも使えて、質問文(文章)でもタイプが出 せないといけない! • 回答候補のタイプ推定は固有表現抽出を使う • 質問文のタイプ推定は自前で用意 15 15
  • 16. 固有表現抽出 • 固有表現抽出とは? • 人物や地名、組織名などの単語を認識する • 例を見ると分かりやすい • 自然言語処理で広く使われる • 基準やデータが養われている • IREXの基準なら、Cabocha というツールに付属 16 16
  • 17. IREXの固有表現の基準 • 8種類の分割(参考文献を引用) • 人名(PERSON) - ジョージ, 織田信長 など • 地名(LOCATION) - 京都, ロシア, 淡路島, 富士山 など • 組織名(ORGANIZATION) - NTT, 外務省, 京大 など • 固有物質(ARTIFACT) - のぞみ, ノーベル賞, 憲法 など • 日付(DATE) - 1927年3月21日, きのう など • 時刻(TIME) - 12時32分, 正午, 昨夜 など • 金額(MONEY) - 320円, 1200バーツ, 500ユーロ など • 割合(PERCENT) 33パーセント, 6割, 3分の2 など • 拡張固有表現抽出のほうはサイトを参照 17 17
  • 18. 質問解析 • 質問文のタイプの推定 • 質問タイプは 質問文-質問タイプ のペアで機械学習 • 日本語ではIREXの8種類が多く使われる • 1999年の基準で古いが… • 英語では50 300種類の固有表現抽出が使われる 18 18
  • 19. SVMを使った質問解析の前に 機械学習の解説 19 19
  • 20. 機械学習の問題設定 • 今回使うのはクラスが2つの問題(2値分類) • それぞれ正クラス、負クラスと呼ぶ • 何個も分類器を使えば複数の分類にも使える • 人名であるかないか、地名であるかないか、… • SVMは2値分類で一番メジャーなアルゴリズム 20 20
  • 21. 機械学習の問題設定 • 参考文献の図があまりにも分かりやすかったので引用 http://www.slideshare.net/sleepy_yoshi/dsirnlp1 21 21
  • 22. 機械学習の問題設定 • 機械学習には基本的にデータと素性が必要 • 素性はどうやって選ぶ? • 人間が頑張って選ぶ • 簡単なシステムでは8種類から、複雑なシステムでは300 種類など • 機械学習が必要な部分では • SAIQA-II という NTT の昔の質問応答システムの素性を紹介 • 詳細な解説は論文(日本語)を参照 22 22
  • 23. SVM • 数式がちょっと複雑&時間の都合で超大雑把に解説 • 機械学習で最も使われている2値分類アルゴリズム • パーセプトロンにカーネル関数とマージン最大化を付 けたもの • パーセプトロンは線形でしか分類できない • SVM はカーネル関数で高次元に写像し、そこで線 形に分類する(そのため一見して線形に見える) 23 23
  • 24. SVM カーネル関数 正例のスペース 負例のスペース 「非線形な分類」を カーネル関数による写像 しているように見えるが… 空間では線形に分類している 24 24
  • 25. SVM 25 25
  • 26. SVMは難しい! • 再掲 • 今回はこの図と前途の素性さえ覚えておけばOK xはいろんな素性 ここがSVM http://www.slideshare.net/sleepy_yoshi/dsirnlp1 26 26
  • 27. SVM を使った質問解析 • 話を元に戻して… • SVM を使ってどうやって質問タイプを推定する? • 学習データは多数の 質問文-質問タイプ ペアを使う • 素性は SAIQA-II みたいに適当に設定 • これだけで未知の質問文で質問タイプを推定できる! • SVM はよく使われるのでライブラリが多い • SVM-Light、LIBSVM、TinySVM など 27 27
  • 30. 今回の構成 質問タイプの特定 大量の質問文-タイプ - 「色」についてと判定 のペアで学習 質問文からクエリを作成 - 「空, 色」 取得した文章から 回答候補を抽出 質問-文書-解答のペア - 「天候, 昼間, 青色, 空色, からランキングを学習 ニューヨーク, ...」 空色 確率の高いものを解答 30 30
  • 31. 文書検索 • 文書検索はつまり「検索エンジン」と同じ? • 精度を求めるなら段落単位の方が良いが、今回は同じ • 質問文から検索クエリの変換 • 今回は単純なシステムなので自立語(品詞が 助詞, 助動詞 以 外)を単にフィルタしたとする • 品詞でフィルタリング • 「空は何色ですか?」 → 「空, 何, 色」 • 簡単な例だとそれなりにうまくいく 31 31
  • 32. 文書検索 • 変換したクエリから文書を検索 • 検索エンジンの方法がそのまま使える • TF-IDF とその拡張である Okapi BM25 を解説 • これらのモデルは学習用にデータがいらないので構築が簡単 • ただしデータが必要なモデルと比べると精度は落ちる 32 32
  • 33. 文書検索 • 文章検索の問題設定 ドキュメント ドキュメントのランキング クエリ q = {空, 何, 色} モデル 33 33
  • 34. TF-IDF • 言わずと知れたモデル • TF と IDF の積に基づいて文書を採点するのがTF-IDF • 単語の出現頻度 TF(t) • M は文書の総数、freq()は は文書 d 内での単語 t の頻度 • クエリと同じ単語が多く出現する文書のほうがよいという仮定 • 逆出現頻度 • DF(t) は 単語 t を含む文書の数 • 珍しい単語のほうが良い仮定 • あまりにも有名で亜種がたくさんあるため、サイトによって定義が違うことがしばし ば… 34 34
  • 35. Okapi BM25 • TF-IDF の亜種の中でよく用いられる • TF と IDF をそれぞれ改良 • 式が複雑だが暗記する必要は全くない • k_は定数のパラメータ(0.1など) • avelenは文書の長さの平均長 35 35
  • 36. Okapi BM25 • TF-IDF の亜種の中でよく用いられる • TF と IDF をそれぞれ改良 • 式が複雑だが暗記する必要は全くない 文書長の正規化 Okapi BM25は半分 のドキュメントに同 じ単語が出現すると • k_は定数のパラメータ(0.1など) IDFが0になる • avelenは文書の長さの平均長 36 36
  • 38. 回答候補抽出 • このステップは割と単純 • クエリに対する文書のランキングが取得できたら… • 1. 文書を上位N件に絞る • 2. N件の文書にさっきの固有表現抽出を使う • 3. 抜き取った固有表現と質問文の質問タイプとを照合 • 4. タイプが同じだった固有表現が全て解答候補となる 38 38
  • 40. 今回の構成 質問タイプの特定 大量の質問文-タイプ - 「色」についてと判定 のペアで学習 質問文からクエリを作成 - 「空, 色」 取得した文章から 回答候補を抽出 質問-文書-解答のペア - 「天候, 昼間, 青色, 空色, からランキングを学習 ニューヨーク, ...」 空色 確率の高いものを解答 40 40
  • 41. 回答選択 • 前途の SVM を使用して回答を機械学習 • ただしこちらは結果をランキングで出す • 回答候補から、それぞれの候補がどれくらい回答らしいかスコ アを出してランキング化 • SVM に結果をランキングで出す仕組みはない • 分類平面からの距離やロジスティック回帰を使った方法 • そもそも SVM の仕組みを変えた RankingSVM などもある 41 41
  • 42. 回答選択 学習段階 与えられた文書 回答候補 http://ja.wikipedia.org/w... 長崎市 http://foodslink.jp/syoku... タイ htttp://www.oisix.com/sh... 沖縄県 与えられた答え ... 台湾 モデル 沖縄県 ... (SVM) 与えられた質問文 日本でのパイナップルの主産地は? 42 42
  • 43. 回答選択 実行段階 検索した文書 回答候補 回答ランキング http://ja.wikipedia.org/w... アメリカ http://cnn.co.jp/articles/... 東京 htttp://www.google.com/... 0.8 シリコンバレー シリコンバレー ... アメリカ 0.34 ... モデル 東京 0.25 (SVM) 大阪 0.04 未知の質問文 ... Google本社はどこ? 43 43
  • 44. 回答選択 • 学習段階 • 質問文-回答-候補文書(ソース) のペアで学習 • 回答は、SVM の仕組み上複数でもOK • また、負例(ここでは回答ではない単語)も入れてもいい • 実行段階 • 質問文-回答候補-検索で取得した文 を元に分類 • 回答候補をスコアで出す • 一番スコアが高いものが最終的な回答となる 44 44
  • 47. データ • 今回使用するデータは日本語だと難しい • 質問解析 • 質問文-質問タイプ、固有表現抽出のデータが必要 • 固有表現抽出は IREX 基準(8種類)なら Cabocha が使える • 質問文-質問タイプ のデータは? • 日本語はない • 回答選択 • 質問文-回答-根拠文 のデータが必要 • 日本語だと NTCIR-6 QAC のデータが公開されている • ただし毎日新聞のデータを10万円で購入する必要がある 47 47
  • 48. データ • 今回使用するデータは日本語だと難しい • 質問解析 • 質問文-質問タイプ、固有表現抽出のデータが必要 • 固有表現抽出は IREX 基準(8種類)なら Cabocha が使える • 質問文-質問タイプ のデータは? • 日本語はない • 回答選択 • 質問文-回答-根拠文 のデータが必要 • 日本語だと NTCIR-6 QAC のデータが公開されている • ただし毎日新聞のデータを10万円で購入する必要がある 48 48
  • 49. データ • ちなみに英語だと • TREC、UIUCのデータなどなどのデータが充実 • 質問解析、回答選択の両方盛りだくさん 49 49
  • 50. まとめ • 質問解析、文書検索、回答抽出、回答選択 を使ったシステム • 文書検索は検索エンジンのそれと同じ • 最低限の機械学習が必要なのは 質問解析と回答選択 • SVM万能 • データがない • 日本語は大学や研究機関でないと難しい • 質問応答システムには問題点も多く、Bing は必要 50 50
  • 51. 参考文献 • 自然言語処理シリーズ 2「質問応答システム」(本) • DSIRNLP#1 ランキング学習ことはじめ • ランキング学習やりたかった…(今回は解説なし) • http://www.slideshare.net/sleepy_yoshi/dsirnlp1 • Learning to Rank for Information Retrieval • http://research.microsoft.com/en-us/people/tyliu/ learning_to_rank_tutorial_-_www_-_2008.pdf • SVMを用いた学習型質問応答システムSAIQA-II • http://ci.nii.ac.jp/naid/110002712114 • 著者名は省略 51 51