SlideShare a Scribd company logo
1 of 38
Download to read offline
第2回さくさくテキストマイニング勉強会




 WordNetで作ろう!
言語横断検索サービス

         Shintaro TAKEMURA
                   d.hatena.ne.jp/taos
                twitter.com/stakemura
      facebook.com/shintaro.takemura
背景
• 社内Google Codeみたいなものを想定してください
 – 登録されるプログラムが増え続けるとどうなる?
   → 欲しいものがすぐに見つからない状態に
 – 生産性を上げるためにより賢いアプローチが必要!


                     機能がたくさん
                     あるけど、何を
                      使えばいいか
                      わからない…
そこで提案
• 検索性能の強化(バイリンガルの如く)
 – 日英表記揺れを解決
  • 例:“vertex”と”頂点”
 – 語義あいまい性も解決
  • 例:”divide”と”separate”


• 推薦機能の搭載(貴方に合った結果を)
 – 操作履歴に基づく推薦

    本発表では扱いません
  • Amazonのおススメ機能
    を社内情報共有に応用
 – 集合知の活用!
システムの特徴
• フィールドが多い
 – 名称、作者名、概要、内容、マニュアルなど
 – 文字数に大きなばらつきがある
   (名称<概要<内容≪マニュアル)
   ⇒これが後々に問題に
• ドキュメント規模は小さい
 – PC1台で回せるレベル。分散不要
• リンク解析など高度な機能は不要
• 検索システムは自前で構築
 – Luceneで要求仕様を全部満たせるかわからなかった
 – この判断が正しかったかどうかは後半にて
言語横断検索のアプローチ
• 3つアプローチがある
 – 「対訳辞書」ベース
  • 日本語WordNetのような辞書を活用するアプローチ
  • 本発表のメイン(日・英間言語横断検索を扱う)
 – 「対訳コーパス」ベース
  • 辞書がない、あるいは併用する場合のアプローチ
  • 本発表の後半にて軽く触れる
 – 「機械翻訳」ベース
  • 機械翻訳を用いたアプローチ
  • 本発表では触れない
WordNet
• http://www.visuwords.com
Princeton WordNet 3.0とは
• 出発点は英英辞典
  – プリンストン大学で開発
    • http://wordnet.princeton.edu/
  – 多国語対応を推進する動きあり。
    • http://www.globalwordnet.org/
  – 約11万7千のsynset(同義語の集合)
  – 約15万語(名詞/動詞/形容詞/副詞)
  – synset間にいくつかの関係が定義
    •   hypernym : X hypernym Y → XはYの上位概念(synset)
    •   hyponym : X hyponym Y → XはYの下位概念(synset)
    •   holonym : X holonym Y → XはYを持つ(has-a)
    •   meronym : X meronym Y → XはYの一部(part-of)
日本語WordNet ver 1.1のスペック
• NICTで開発
 – http://nlpwww.nict.go.jp/wn-ja/
• 無償・BSDライセンス
• SQLite3のDBとして格納(インデックス込み)
 – 57,238 synset
 – 93,834 words
 – 158,058 語義(synsetと単語のペア)
 – 135,692 定義文
 – 48,276 例文
• 実は対訳辞書として使えます!
対訳辞書としてのWordNet
Search Engineでの位置づけ

                                                                          Text
                                           Browser
                 user interest
                                                                            Text

                                 Text Processing and Modeling

                          logical view                 logical view
                                           MeCab
                    Query
                                          NLTK etc.              Indexing
user feedback      Operations
                                                                                   Crawler
                                                     inverted index                / Data
                 query                   WordNet                                   Access

                    Searching                                     Index

         retrieved docs
                                                                                              Documents
                                                                                             (Web or DB)
                    Ranking
ranked docs
類義語の抽出
• WordNetから類義語抽出手順(日→英の場合)
 – MeCabで標準形と品詞を取得
 – 名詞・副詞・動詞・形容詞のみ抽出
 – SQLにてword→sense→関連sense→関連word
   • select * from word where lemma=? and pos=?, (標準形,品詞)
   • select * from sense where wordid=?, (word["wordid"],)
   • select * from sense where synset=? and lang=?,
     (sense["synset"], “en”)
   • select * from word where wordid=? and pos=?,
     (sense2["wordid"], 品詞)
• これでOK?
 – 結論から言うと、そのままではまずかった
問題1:検索結果が良くない
• 現象
 – 意図しない検索結果(複数フィールドに起因)
 – 例:aaaで検索すると名称:bbbがトップに
  名称      aaa              bbb

  概要      hoge             fuga

  内容      hogehoge         aaaが…


                           aaaの… aaaから… aaa
  マニュアル                    により…


• 解決方法
 – UIを増やす        ランキングアルゴリズム(tf-idf)を見直す
情報検索(Information Retrieval)とは
• 以下の順で解説
  – Precision/Recall                      Karen Sparck
  – Vector Space Model                       Jones

  – tf-idf (Spärck Jones 1972)
  – PRP - Probability Ranking Principle
    (Rijsbergen 1979)
                                           Keith van
  – BIM - Binary Independence Model        Rijsbergen
  – Naive Bayes
  – Okapi BM25 (Robertson 1994)
  – BM25F (Robertson 2004)
                                            Stephen
                                           Robertson
何が起きたか?
• 検索性能の尺度
 – 検索速度
 – 更新速度
 – 文書容量
 – Recall (再現率)
   • 検索漏れに関連
   • WordNetで改善したが…
 – Precision (適合率)
   • 検索精度に関連
   • 新たな問題として浮上
PrecisionとRecall
• Precision (適合率)
  – 「全検索結果」に対して「検索要求を満たす結果」の
    割合
  – “MacBook Air 重さ” で 100件 ヒット、うち 85 件が重さ
    がわかるドキュメント = 85/100 = 0.85


• Recall (再現率)
  – 「検索要求を満たす全ドキュメント」に対しての「検
    索要求を満たす検索結果」の割合
  – Web上に 90件あると仮定して、ウェブ検索して 85 件が
    得られた → 85/90 = 0.94
PrecisionとRecallのイメージ
• Precision: |C| / |B|
• Recall: |C| / |A|
   – どちらも高いほうがよい
     検索ノイズも検索漏れも少ないほうがよい

                         全文書集合

                適合文書             検索された文書

                             C

                         A       B
PrecisionとRecallのトレードオフ
• Precisionのみを高めたい
  – 適合しない可能性が少しでもある文書を、検索結果か
    ら除外
  – Recallの低下(= 検索漏れの発生)
• Recallのみを高めたい
                                             p   ideal
  – 適合する可能性が少しでもある                                         better
    文書を、検索結果として採用
  – Precisionの低下(= 検索ノイズの発生)
                                                 typical
• 両者はトレードオフ関係
  – 評価尺度には調和平均のF値を利用
    F = 2 / ( 1 / Recall + 1 / Precision )
                                                             r
ベクトル空間モデル(Vector Space Model)
  • ベクトルで考えてみよう(Bag of Words)
       – 文章(document)は単語(term)の集合体
       – 検索クエリも単語(term)の集合体

           query              document
               Q                  A       B       C       D       E
           ○                                          ○       ○        {D, E}
                   term




       0                  0
term




       1                  1                   ○
       2   ○              2   ○       ○                       ○        {A, B, E}
       3                  3   ○
       4                  4                           ○
       5                  5           ○                       ○
       6                  6   ○                               ○

                                                          0, 2, 5, 6
検索と最近傍探索
• ベクトル空間モデルにおける検索とは
  – ベクトル空間内で 近いベクトルを探すこと
  – 検索ではCosine類似度が一般に用いられる




                       ������(������1 ) ∙ ������(������2 )   d
������������������(������1 , ������2 ) =
                       ������ ������1 |������(������2 )|     
                                                 q
単語の重みを考慮する
  • 相関係数を2値からScalarに
       – ある or なしだと 1か0かの2値表現
       – 出現頻度を反映させてScalarに出来ないか?

           Query                document
                 Q                    A         B         C         D         E
                                                                                  {D, E}
                     term




       0   1.0              0                                 1.5       0.4
term




       1                    1                       0.8
       2   0.1              2   0.4       1.2                           0.2       {A, B, E}
       3                    3   1.5
       4                    4                                 0.5
       5                    5             1.6                           2.5
       6                    6   0.2                                     1.0

                                                              1.5
tf - term frequency
• ある単語が各々の文章にどのくらい出現するか?


             ni         単語iの出現頻度
    tf i 
                k
                   nk   文書で出現する総単語数
• 問題点
  – すべての単語が等しい重要度の場合
     • 例:ツール,エラー,ファイル…
• 解決方法
  – 頻繁に登場する語の影響力を薄める → そこでidf
idf - inverse document frequency
• ある単語がどのくらいの数の文書に出現するか?

                                 総ドキュメント数
                  |D|
 idf i  log                     単語iを含む
             | {d : d  ti } |   ドキュメント数


     レア語では高く


      頻出語では低く
tf-idfによるスコアリング




• 以下の場合に高い
 – 少数のドキュメントにtがたくさん出現する場合
• 以下の場合に低い
 – ひとつのドキュメントに t が少なく出現する場合
 – たくさんのドキュメントに t が出現する場合
tf-idfの計算例:インデックス化
文書1   言語(2),計算(1),問題(2)
文書2   計算(1),問題(2),情報(1)
文書3   言語(1),問題(3),情報(2)
文書4   問題(1),情報(1)


言語         文書1,文書3
計算         文書1,文書2
問題         文書1,文書2,文書3,文書4
情報         文書2,文書3,文書4
tf-idfの計算例:tf,idfの計算

単語の出現頻度(term frequency)
 tf       文書1     文書2 文書3 文書4          idf
 言語        2       0   1   0           2
 計算        1       1   0   0           2
 問題        2       2   3   1           1
 情報        0       1   2   1           1.3

       全文書数 / 単語の出現する文書数
        (inverse document frequency)
tf-idfの計算例:検索結果の絞り込み


tf-idf   文書1   文書2   文書3   文書4
言語       4      0    2     0
計算       2      2    0     0
問題       2      2    3     1
情報       0     1.3   2.6   1.3
         6     (2)   5     (1)

         検索キーワードが、「言語、問題」なら
         文章1が第1候補
PRP - Probability Ranking Principle
• 情報要求に対して確率論を当てはめるための考え方
• 文書dとクエリqの適合性を確率として表現
  – P(R|d,q) … これを求めたい
  – Rはdとqが関連することを表す
  – R=1 … 関連あり R=0 … 関連なし
  – 文書をP(R|d,q)に従ってランキング
• メリット
  – tf-idf などのヒューリスティクスも、確率モデルにより
    アルゴリズムとして解釈しなおすことができる
  – 後に示すように、tf-idfによく似たパラメータが出てく
    る
Binary Independence Model [1]
• 仮定 A0
  – 文章Dの適合性は、他の文書に依存しない
• P(R=1|D)によるランク付け
  – R={0,1} … 適合度を示す確率変数
  – D … 文章の中身(この時点ではクエリは考えない)
  – ベイズの定理より
     • ������ ������ ������ ∝ ������ ������ ������ ������(������)
• 関係演算子 ∼ を「ランク順位が等しい」とおくと
                  ������ ������ = 1 ������   ������ ������ ������ = 1 ������(������ = 1)
   ������ ������ = 1 ������ ∼              =
                  ������ ������ = 0 ������   ������ ������ ������ = 0 ������(������ = 0)
                                    与えられたクエリに対して定数。ラ
                                    ンクするだけなら推定の必要なし
Binary Independence Model [2]
• 仮定 A1
  – ������ = *������������ + … 文章を0 or 1の2値単語ベクトルで表現
• 仮定 A2
  – ������������ … はRが与えられた時に相互に独立
    • 実際にはそんなわけがない(単語並び替えても同じ?)
    • が、仮定しなければ組み合わせ爆発を起こす
    • Naive Bayes分類の仮定でもある
• よって
                   ������ ������ ������ = 1     ������ ������ ������������ ������ = 1
    ������ ������ = 1 ������ ∼              =
                   ������ ������ ������ = 0     ������ ������ ������������ ������ = 1
Binary Independence Model [3]
• 仮定 A3
  – ������ 0 ������ = 1 = ������ 0 ������ = 0
  – 空文章は、R=0 or 1どちらのクラスにも等しく出現
• ここで追加定義
  – ������������ = ������ ������������ = 1 ������ = 1
  – ������������ = ������ ������������ = 1 ������ = 0
• よって
                          ������������         1 − ������������
                    ������∈������ ������
                            ������
                                 ������∉������ 1 − ������
                                             ������         ������������ (1 − ������������ )
  ������ ������ = 1 ������ ∼                                =
                               1 − ������������                 ������������ (1 − ������������ )
                            ������ 1 − ������             ������∈������
                                      ������
推定
• この時点での推定
 – もし、全文章がR=0 or 1どちらのクラスに属するかが自
   明であれば、以下の定義でクエリがどのクラスに属す
   るかが確率で求まる                                 Smoothing
            ������1 ������ + 0.5        ������0 ������ + 0.5
     ������������ =              ������������ =
              ������1 + 1.0           ������0 + 1.0
 – なお������������ ������ は各々のクラスでの観察回数
 – また確率0を避けるために、適当にスムージング
• 使い道
 – 学習データがある際の文章分類タスクといってよい
 – もちろんこのままでは検索には使えない
推定例(BIM 文章のクラス情報あり)
• 適合文章: ������1 = “a b c b d”, ������2 = “a b e f b”, ������1 =2
• 不適合: ������3 = “b g c d”, ������4 = “b d e”, ������5 = “a b e g”, ������0 =3

  word a            b         c           d          e       f       g        h
 ������1 ������     2       2         1           1          1       1       0        0
 ������0 ������     1       3         1           2          2       0       2        0
   ������������     2.5/3   2.5/3     1.5/3       1.5/3      1.5/3   1.5/3   0.5/3    0.5/3
   ������������     1.5/4   3.5/4     1.5/4       2.5/4      2.5/4   0.5/4   2.5/4    0.5/4


• 新規文章: ������6 = “b g h”                                            b       gh
                                                       2.5      3.5
                                     ������������ 1 − ������������         ∙ 1−     …   1.64
                                                        3        4
          ������ ������ = 1 ������6 ∼                            =                =
                                     ������������ 1 − ������������     3.5      2.5
                            ������∈������6                         ∙ 1−     … 13.67
                                                        4        3
Binary Independence Model [4]
• 仮定 A4
  – ������������ = ������������ ������������ ������ ∉ ������ … クエリに出現しない単語は適合、
    不適合文書において同じくらい出現と仮定
• 仮定 A5
  – ������������ = 0.5 ������������ ������ ∈ ������ … クエリに出現する単語は、適合文
    章に50%の確率で出現する
• 仮定 A6
  – ������������ ≈ ������������ /������ … 不適合文章を全体で近似
                                                                                           IDF
• 結果
                       ������������ 1 − ������������                    1 − ������������                  ������ − ������������ + 0.5
  ������ ������ = 1 ������ ∼                         =                         =
                        ������
                   ������∈������ ������
                              1 − ������������       ������∈������∩������
                                                          ������������         ������∈������∩������
                                                                                    ������������ + 0.5
推定例(BIM)
• 文章: ������1 = “a b c b d”, ������2 = “a b e f b”, ������3 = “b g c d”,
      ������4 = “b d e”, ������5 = “a b e g”, ������6 = “b g h”, N=6

    word        a       b      c           d          e           f       g      h
    ������ ������       2       6      2           3          3           1       3      1
 ������ − ������������ + 0.5 4.5    0.5    4.5         3.5        3.5         5.5     3.5    5.5
    ������������ + 0.5   /2.5   /6.5   /2.5        /3.5       /3.5        /1.5    /3.5   /1.5

• クエリ: Q = “a c h”                                                    a   c
                                                ������ − ������������ + 0.5     4.5 4.5
       ������ ������ = 1 ������1 ∼                                            =    ∙
                                   ������∈������1 ∩������
                                                  ������������ + 0.5        2.5 2.5

• ランキング ������6 > ������1 > ������3 > ������5 > ������2 > ������4
BM25
• 概要(詳細は割愛)
   – ������������ を文章D内での単語wの出現回数とした場合
   – ������(������������ )を2つのポワソン分布から成ると考える
                                            ������                                 ������
                              ������ −������1,������ ������1,������
                                             ������
                                                                 ������ −������0,������ ������0,������
                                                                               ������

        ������ ������������ = ������ ������ = 1                       + ������(������ = 0)
                                   ������������ !                             ������������ !




• 結果
    ������(������|������ = 1)                       ������������ ∙ (1 + ������)                    ������
log               ≈        (                                         × log )
    ������(������|������ = 0)            ������������ + ������( 1 − ������ + ������ ∙ ������������ /������������������������      ������������
                      ������
                                                                           文章長の平均
BM25F
• 概要(詳細は割愛)
 – BM25を複数のフィールドに対応させたもの
   • 各フィールドの平均長などがパラメータに
 – BM25Fでやっと納得のいく結果が得られた
   • 自前の検索エンジンなのですぐ対応できた
• ただしLuceneでのBM25F対応は難しい
 – フィールド毎の単語頻度が取得できないため
 – どうしても必要であれば、Luceneを改造するか、自前
   で集計するしかないかも(要調査)
まとめ・課題
• まとめ
 – WordNetを用いた日英間言語横断検索
 – 情報検索基礎(tf-idfからBM25F)
 – Luceneと言えども万能ではない
• 課題
 – 多言語対応
 – Luceneの理解を深める
 – より発展的なトピック
参考文献
• Christopher D. Manning, Prabhakar Raghavan, and Hinrich
  Schütze, Introduction to Information Retrieval
• Michael McCandless, Erik Hatcher, and Otis Gospodnetid,
  Lucene in Action, Second Edition
• Stephen Robertson, Hugo Zaragoza, SIGIR 2007 Tutorials -
  The Probabilistic Relevance Model: BM25 and beyond.
• Donald Metzler, Victor Lavrenko, SIGIR 2009 Tutorials -
  Probabilistic Models for Information Retrieval

More Related Content

What's hot

【DL輪読会】Visual ChatGPT: Talking, Drawing and Editing with Visual Foundation Mo...
【DL輪読会】Visual ChatGPT: Talking, Drawing and Editing with Visual Foundation Mo...【DL輪読会】Visual ChatGPT: Talking, Drawing and Editing with Visual Foundation Mo...
【DL輪読会】Visual ChatGPT: Talking, Drawing and Editing with Visual Foundation Mo...Deep Learning JP
 
RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)
RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)
RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)Takuma Yagi
 
[DL輪読会]SoftTriple Loss: Deep Metric Learning Without Triplet Sampling (ICCV2019)
[DL輪読会]SoftTriple Loss: Deep Metric Learning Without Triplet Sampling (ICCV2019)[DL輪読会]SoftTriple Loss: Deep Metric Learning Without Triplet Sampling (ICCV2019)
[DL輪読会]SoftTriple Loss: Deep Metric Learning Without Triplet Sampling (ICCV2019)Deep Learning JP
 
【CVPR 2019】DeepSDF: Learning Continuous Signed Distance Functions for Shape R...
【CVPR 2019】DeepSDF: Learning Continuous Signed Distance Functions for Shape R...【CVPR 2019】DeepSDF: Learning Continuous Signed Distance Functions for Shape R...
【CVPR 2019】DeepSDF: Learning Continuous Signed Distance Functions for Shape R...cvpaper. challenge
 
言語表現モデルBERTで文章生成してみた
言語表現モデルBERTで文章生成してみた言語表現モデルBERTで文章生成してみた
言語表現モデルBERTで文章生成してみたTakuya Koumura
 
fastTextの実装を見てみた
fastTextの実装を見てみたfastTextの実装を見てみた
fastTextの実装を見てみたYoshihiko Shiraki
 
新分野に飛び入って半年で業績を作るには
新分野に飛び入って半年で業績を作るには新分野に飛び入って半年で業績を作るには
新分野に飛び入って半年で業績を作るにはAsai Masataro
 
Transformerを雰囲気で理解する
Transformerを雰囲気で理解するTransformerを雰囲気で理解する
Transformerを雰囲気で理解するAtsukiYamaguchi1
 
SSII2020 [OS2-02] 教師あり事前学習を凌駕する「弱」教師あり事前学習
SSII2020 [OS2-02] 教師あり事前学習を凌駕する「弱」教師あり事前学習SSII2020 [OS2-02] 教師あり事前学習を凌駕する「弱」教師あり事前学習
SSII2020 [OS2-02] 教師あり事前学習を凌駕する「弱」教師あり事前学習SSII
 
【論文調査】XAI技術の効能を ユーザ実験で評価する研究
【論文調査】XAI技術の効能を ユーザ実験で評価する研究【論文調査】XAI技術の効能を ユーザ実験で評価する研究
【論文調査】XAI技術の効能を ユーザ実験で評価する研究Satoshi Hara
 
SSII2022 [OS3-03] スケーラブルなロボット学習システムに向けて
SSII2022 [OS3-03] スケーラブルなロボット学習システムに向けてSSII2022 [OS3-03] スケーラブルなロボット学習システムに向けて
SSII2022 [OS3-03] スケーラブルなロボット学習システムに向けてSSII
 
SSII2022 [SS1] ニューラル3D表現の最新動向〜 ニューラルネットでなんでも表せる?? 〜​
SSII2022 [SS1] ニューラル3D表現の最新動向〜 ニューラルネットでなんでも表せる?? 〜​SSII2022 [SS1] ニューラル3D表現の最新動向〜 ニューラルネットでなんでも表せる?? 〜​
SSII2022 [SS1] ニューラル3D表現の最新動向〜 ニューラルネットでなんでも表せる?? 〜​SSII
 
Long-Tailed Classificationの最新動向について
Long-Tailed Classificationの最新動向についてLong-Tailed Classificationの最新動向について
Long-Tailed Classificationの最新動向についてPlot Hong
 
【DL輪読会】How Much Can CLIP Benefit Vision-and-Language Tasks?
【DL輪読会】How Much Can CLIP Benefit Vision-and-Language Tasks? 【DL輪読会】How Much Can CLIP Benefit Vision-and-Language Tasks?
【DL輪読会】How Much Can CLIP Benefit Vision-and-Language Tasks? Deep Learning JP
 
Sparse Codingをなるべく数式を使わず理解する(PCAやICAとの関係)
Sparse Codingをなるべく数式を使わず理解する(PCAやICAとの関係)Sparse Codingをなるべく数式を使わず理解する(PCAやICAとの関係)
Sparse Codingをなるべく数式を使わず理解する(PCAやICAとの関係)Teppei Kurita
 
(修正)機械学習デザインパターン(ML Design Patterns)の解説
(修正)機械学習デザインパターン(ML Design Patterns)の解説(修正)機械学習デザインパターン(ML Design Patterns)の解説
(修正)機械学習デザインパターン(ML Design Patterns)の解説Hironori Washizaki
 
グラフデータ分析 入門編
グラフデータ分析 入門編グラフデータ分析 入門編
グラフデータ分析 入門編順也 山口
 
第8回Language and Robotics研究会20221010_AkiraTaniguchi
第8回Language and Robotics研究会20221010_AkiraTaniguchi第8回Language and Robotics研究会20221010_AkiraTaniguchi
第8回Language and Robotics研究会20221010_AkiraTaniguchiAkira Taniguchi
 
【DL輪読会】A Path Towards Autonomous Machine Intelligence
【DL輪読会】A Path Towards Autonomous Machine Intelligence【DL輪読会】A Path Towards Autonomous Machine Intelligence
【DL輪読会】A Path Towards Autonomous Machine IntelligenceDeep Learning JP
 

What's hot (20)

【DL輪読会】Visual ChatGPT: Talking, Drawing and Editing with Visual Foundation Mo...
【DL輪読会】Visual ChatGPT: Talking, Drawing and Editing with Visual Foundation Mo...【DL輪読会】Visual ChatGPT: Talking, Drawing and Editing with Visual Foundation Mo...
【DL輪読会】Visual ChatGPT: Talking, Drawing and Editing with Visual Foundation Mo...
 
RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)
RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)
RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)
 
[DL輪読会]SoftTriple Loss: Deep Metric Learning Without Triplet Sampling (ICCV2019)
[DL輪読会]SoftTriple Loss: Deep Metric Learning Without Triplet Sampling (ICCV2019)[DL輪読会]SoftTriple Loss: Deep Metric Learning Without Triplet Sampling (ICCV2019)
[DL輪読会]SoftTriple Loss: Deep Metric Learning Without Triplet Sampling (ICCV2019)
 
【CVPR 2019】DeepSDF: Learning Continuous Signed Distance Functions for Shape R...
【CVPR 2019】DeepSDF: Learning Continuous Signed Distance Functions for Shape R...【CVPR 2019】DeepSDF: Learning Continuous Signed Distance Functions for Shape R...
【CVPR 2019】DeepSDF: Learning Continuous Signed Distance Functions for Shape R...
 
言語表現モデルBERTで文章生成してみた
言語表現モデルBERTで文章生成してみた言語表現モデルBERTで文章生成してみた
言語表現モデルBERTで文章生成してみた
 
fastTextの実装を見てみた
fastTextの実装を見てみたfastTextの実装を見てみた
fastTextの実装を見てみた
 
Data-Centric AIの紹介
Data-Centric AIの紹介Data-Centric AIの紹介
Data-Centric AIの紹介
 
新分野に飛び入って半年で業績を作るには
新分野に飛び入って半年で業績を作るには新分野に飛び入って半年で業績を作るには
新分野に飛び入って半年で業績を作るには
 
Transformerを雰囲気で理解する
Transformerを雰囲気で理解するTransformerを雰囲気で理解する
Transformerを雰囲気で理解する
 
SSII2020 [OS2-02] 教師あり事前学習を凌駕する「弱」教師あり事前学習
SSII2020 [OS2-02] 教師あり事前学習を凌駕する「弱」教師あり事前学習SSII2020 [OS2-02] 教師あり事前学習を凌駕する「弱」教師あり事前学習
SSII2020 [OS2-02] 教師あり事前学習を凌駕する「弱」教師あり事前学習
 
【論文調査】XAI技術の効能を ユーザ実験で評価する研究
【論文調査】XAI技術の効能を ユーザ実験で評価する研究【論文調査】XAI技術の効能を ユーザ実験で評価する研究
【論文調査】XAI技術の効能を ユーザ実験で評価する研究
 
SSII2022 [OS3-03] スケーラブルなロボット学習システムに向けて
SSII2022 [OS3-03] スケーラブルなロボット学習システムに向けてSSII2022 [OS3-03] スケーラブルなロボット学習システムに向けて
SSII2022 [OS3-03] スケーラブルなロボット学習システムに向けて
 
SSII2022 [SS1] ニューラル3D表現の最新動向〜 ニューラルネットでなんでも表せる?? 〜​
SSII2022 [SS1] ニューラル3D表現の最新動向〜 ニューラルネットでなんでも表せる?? 〜​SSII2022 [SS1] ニューラル3D表現の最新動向〜 ニューラルネットでなんでも表せる?? 〜​
SSII2022 [SS1] ニューラル3D表現の最新動向〜 ニューラルネットでなんでも表せる?? 〜​
 
Long-Tailed Classificationの最新動向について
Long-Tailed Classificationの最新動向についてLong-Tailed Classificationの最新動向について
Long-Tailed Classificationの最新動向について
 
【DL輪読会】How Much Can CLIP Benefit Vision-and-Language Tasks?
【DL輪読会】How Much Can CLIP Benefit Vision-and-Language Tasks? 【DL輪読会】How Much Can CLIP Benefit Vision-and-Language Tasks?
【DL輪読会】How Much Can CLIP Benefit Vision-and-Language Tasks?
 
Sparse Codingをなるべく数式を使わず理解する(PCAやICAとの関係)
Sparse Codingをなるべく数式を使わず理解する(PCAやICAとの関係)Sparse Codingをなるべく数式を使わず理解する(PCAやICAとの関係)
Sparse Codingをなるべく数式を使わず理解する(PCAやICAとの関係)
 
(修正)機械学習デザインパターン(ML Design Patterns)の解説
(修正)機械学習デザインパターン(ML Design Patterns)の解説(修正)機械学習デザインパターン(ML Design Patterns)の解説
(修正)機械学習デザインパターン(ML Design Patterns)の解説
 
グラフデータ分析 入門編
グラフデータ分析 入門編グラフデータ分析 入門編
グラフデータ分析 入門編
 
第8回Language and Robotics研究会20221010_AkiraTaniguchi
第8回Language and Robotics研究会20221010_AkiraTaniguchi第8回Language and Robotics研究会20221010_AkiraTaniguchi
第8回Language and Robotics研究会20221010_AkiraTaniguchi
 
【DL輪読会】A Path Towards Autonomous Machine Intelligence
【DL輪読会】A Path Towards Autonomous Machine Intelligence【DL輪読会】A Path Towards Autonomous Machine Intelligence
【DL輪読会】A Path Towards Autonomous Machine Intelligence
 

Similar to WordNetで作ろう! 言語横断検索サービス

Identifying Users’ Topical Tasks in Web Search
Identifying Users’ Topical Tasks in Web SearchIdentifying Users’ Topical Tasks in Web Search
Identifying Users’ Topical Tasks in Web Searchharapon
 
Abstractive Text Summarization @Retrieva seminar
Abstractive Text Summarization @Retrieva seminarAbstractive Text Summarization @Retrieva seminar
Abstractive Text Summarization @Retrieva seminarKodaira Tomonori
 
テキストマイニングで発掘!? 売上とユーザーレビューの相関分析
テキストマイニングで発掘!? 売上とユーザーレビューの相関分析テキストマイニングで発掘!? 売上とユーザーレビューの相関分析
テキストマイニングで発掘!? 売上とユーザーレビューの相関分析Shintaro Takemura
 
10分で分かるr言語入門ver2.15 15 1010
10分で分かるr言語入門ver2.15 15 101010分で分かるr言語入門ver2.15 15 1010
10分で分かるr言語入門ver2.15 15 1010Nobuaki Oshiro
 
10分で分かるr言語入門ver2.14 15 0905
10分で分かるr言語入門ver2.14 15 090510分で分かるr言語入門ver2.14 15 0905
10分で分かるr言語入門ver2.14 15 0905Nobuaki Oshiro
 
蔵書選定のための学位論文タイトルマイニング
蔵書選定のための学位論文タイトルマイニング蔵書選定のための学位論文タイトルマイニング
蔵書選定のための学位論文タイトルマイニングgenroku
 
Search on AWS - IVS CTO Night and Day 2016 Spring
Search on AWS - IVS CTO Night and Day 2016 SpringSearch on AWS - IVS CTO Night and Day 2016 Spring
Search on AWS - IVS CTO Night and Day 2016 SpringEiji Shinohara
 
機械学習を用いたWeb上の産学連携関連文書の抽出
機械学習を用いたWeb上の産学連携関連文書の抽出機械学習を用いたWeb上の産学連携関連文書の抽出
機械学習を用いたWeb上の産学連携関連文書の抽出National Institute of Informatics
 
12-11-30 Kashiwa.R #5 初めてのR Rを始める前に知っておきたい10のこと
12-11-30 Kashiwa.R #5 初めてのR Rを始める前に知っておきたい10のこと 12-11-30 Kashiwa.R #5 初めてのR Rを始める前に知っておきたい10のこと
12-11-30 Kashiwa.R #5 初めてのR Rを始める前に知っておきたい10のこと Haruka Ozaki
 
Information retrieval model
Information retrieval modelInformation retrieval model
Information retrieval modelYuku Takahashi
 
Neural Models for Information Retrieval
Neural Models for Information RetrievalNeural Models for Information Retrieval
Neural Models for Information RetrievalKeisuke Umezawa
 
Scalaプログラミング・マニアックス
Scalaプログラミング・マニアックスScalaプログラミング・マニアックス
Scalaプログラミング・マニアックスTomoharu ASAMI
 
卒論執筆・スライド作成のポイント
卒論執筆・スライド作成のポイント卒論執筆・スライド作成のポイント
卒論執筆・スライド作成のポイントTsubasa Hirakawa
 
Pennington, Socher, and Manning. (2014) GloVe: Global vectors for word repres...
Pennington, Socher, and Manning. (2014) GloVe: Global vectors for word repres...Pennington, Socher, and Manning. (2014) GloVe: Global vectors for word repres...
Pennington, Socher, and Manning. (2014) GloVe: Global vectors for word repres...Naoaki Okazaki
 
LET2011: Rによる教育データ分析入門
LET2011: Rによる教育データ分析入門LET2011: Rによる教育データ分析入門
LET2011: Rによる教育データ分析入門Yuichiro Kobayashi
 
Drupal、group、quiz、webformを利用したeラーニングサイト「sqt」
Drupal、group、quiz、webformを利用したeラーニングサイト「sqt」Drupal、group、quiz、webformを利用したeラーニングサイト「sqt」
Drupal、group、quiz、webformを利用したeラーニングサイト「sqt」Kenji Shirane
 
[DL輪読会] Towards an Automatic Turing Test: Learning to Evaluate Dialogue Respo...
[DL輪読会] Towards an Automatic Turing Test: Learning to Evaluate Dialogue Respo...[DL輪読会] Towards an Automatic Turing Test: Learning to Evaluate Dialogue Respo...
[DL輪読会] Towards an Automatic Turing Test: Learning to Evaluate Dialogue Respo...Deep Learning JP
 

Similar to WordNetで作ろう! 言語横断検索サービス (20)

Identifying Users’ Topical Tasks in Web Search
Identifying Users’ Topical Tasks in Web SearchIdentifying Users’ Topical Tasks in Web Search
Identifying Users’ Topical Tasks in Web Search
 
Abstractive Text Summarization @Retrieva seminar
Abstractive Text Summarization @Retrieva seminarAbstractive Text Summarization @Retrieva seminar
Abstractive Text Summarization @Retrieva seminar
 
テキストマイニングで発掘!? 売上とユーザーレビューの相関分析
テキストマイニングで発掘!? 売上とユーザーレビューの相関分析テキストマイニングで発掘!? 売上とユーザーレビューの相関分析
テキストマイニングで発掘!? 売上とユーザーレビューの相関分析
 
10分で分かるr言語入門ver2.15 15 1010
10分で分かるr言語入門ver2.15 15 101010分で分かるr言語入門ver2.15 15 1010
10分で分かるr言語入門ver2.15 15 1010
 
10分で分かるr言語入門ver2.14 15 0905
10分で分かるr言語入門ver2.14 15 090510分で分かるr言語入門ver2.14 15 0905
10分で分かるr言語入門ver2.14 15 0905
 
蔵書選定のための学位論文タイトルマイニング
蔵書選定のための学位論文タイトルマイニング蔵書選定のための学位論文タイトルマイニング
蔵書選定のための学位論文タイトルマイニング
 
LDA入門
LDA入門LDA入門
LDA入門
 
Search on AWS - IVS CTO Night and Day 2016 Spring
Search on AWS - IVS CTO Night and Day 2016 SpringSearch on AWS - IVS CTO Night and Day 2016 Spring
Search on AWS - IVS CTO Night and Day 2016 Spring
 
機械学習を用いたWeb上の産学連携関連文書の抽出
機械学習を用いたWeb上の産学連携関連文書の抽出機械学習を用いたWeb上の産学連携関連文書の抽出
機械学習を用いたWeb上の産学連携関連文書の抽出
 
12-11-30 Kashiwa.R #5 初めてのR Rを始める前に知っておきたい10のこと
12-11-30 Kashiwa.R #5 初めてのR Rを始める前に知っておきたい10のこと 12-11-30 Kashiwa.R #5 初めてのR Rを始める前に知っておきたい10のこと
12-11-30 Kashiwa.R #5 初めてのR Rを始める前に知っておきたい10のこと
 
Information retrieval model
Information retrieval modelInformation retrieval model
Information retrieval model
 
Katayama m
Katayama mKatayama m
Katayama m
 
Neural Models for Information Retrieval
Neural Models for Information RetrievalNeural Models for Information Retrieval
Neural Models for Information Retrieval
 
Scalaプログラミング・マニアックス
Scalaプログラミング・マニアックスScalaプログラミング・マニアックス
Scalaプログラミング・マニアックス
 
卒論執筆・スライド作成のポイント
卒論執筆・スライド作成のポイント卒論執筆・スライド作成のポイント
卒論執筆・スライド作成のポイント
 
Pennington, Socher, and Manning. (2014) GloVe: Global vectors for word repres...
Pennington, Socher, and Manning. (2014) GloVe: Global vectors for word repres...Pennington, Socher, and Manning. (2014) GloVe: Global vectors for word repres...
Pennington, Socher, and Manning. (2014) GloVe: Global vectors for word repres...
 
LET2011: Rによる教育データ分析入門
LET2011: Rによる教育データ分析入門LET2011: Rによる教育データ分析入門
LET2011: Rによる教育データ分析入門
 
第28回Tokyo.R
第28回Tokyo.R第28回Tokyo.R
第28回Tokyo.R
 
Drupal、group、quiz、webformを利用したeラーニングサイト「sqt」
Drupal、group、quiz、webformを利用したeラーニングサイト「sqt」Drupal、group、quiz、webformを利用したeラーニングサイト「sqt」
Drupal、group、quiz、webformを利用したeラーニングサイト「sqt」
 
[DL輪読会] Towards an Automatic Turing Test: Learning to Evaluate Dialogue Respo...
[DL輪読会] Towards an Automatic Turing Test: Learning to Evaluate Dialogue Respo...[DL輪読会] Towards an Automatic Turing Test: Learning to Evaluate Dialogue Respo...
[DL輪読会] Towards an Automatic Turing Test: Learning to Evaluate Dialogue Respo...
 

Recently uploaded

「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-LoopへTetsuya Nihonmatsu
 
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法ssuser370dd7
 
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦Sadao Tokuyama
 
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見Shumpei Kishi
 
20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdf20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdfAyachika Kitazaki
 
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdfTaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdfMatsushita Laboratory
 
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~arts yokohama
 
2024 01 Virtual_Counselor
2024 01 Virtual_Counselor 2024 01 Virtual_Counselor
2024 01 Virtual_Counselor arts yokohama
 
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)ssuser539845
 

Recently uploaded (12)

「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
 
2024 04 minnanoito
2024 04 minnanoito2024 04 minnanoito
2024 04 minnanoito
 
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
 
2024 03 CTEA
2024 03 CTEA2024 03 CTEA
2024 03 CTEA
 
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
 
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
 
20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdf20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdf
 
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdfTaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
 
What is the world where you can make your own semiconductors?
What is the world where you can make your own semiconductors?What is the world where you can make your own semiconductors?
What is the world where you can make your own semiconductors?
 
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
 
2024 01 Virtual_Counselor
2024 01 Virtual_Counselor 2024 01 Virtual_Counselor
2024 01 Virtual_Counselor
 
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
 

WordNetで作ろう! 言語横断検索サービス

  • 1. 第2回さくさくテキストマイニング勉強会 WordNetで作ろう! 言語横断検索サービス Shintaro TAKEMURA d.hatena.ne.jp/taos twitter.com/stakemura facebook.com/shintaro.takemura
  • 2. 背景 • 社内Google Codeみたいなものを想定してください – 登録されるプログラムが増え続けるとどうなる? → 欲しいものがすぐに見つからない状態に – 生産性を上げるためにより賢いアプローチが必要! 機能がたくさん あるけど、何を 使えばいいか わからない…
  • 3. そこで提案 • 検索性能の強化(バイリンガルの如く) – 日英表記揺れを解決 • 例:“vertex”と”頂点” – 語義あいまい性も解決 • 例:”divide”と”separate” • 推薦機能の搭載(貴方に合った結果を) – 操作履歴に基づく推薦 本発表では扱いません • Amazonのおススメ機能 を社内情報共有に応用 – 集合知の活用!
  • 4. システムの特徴 • フィールドが多い – 名称、作者名、概要、内容、マニュアルなど – 文字数に大きなばらつきがある (名称<概要<内容≪マニュアル) ⇒これが後々に問題に • ドキュメント規模は小さい – PC1台で回せるレベル。分散不要 • リンク解析など高度な機能は不要 • 検索システムは自前で構築 – Luceneで要求仕様を全部満たせるかわからなかった – この判断が正しかったかどうかは後半にて
  • 5. 言語横断検索のアプローチ • 3つアプローチがある – 「対訳辞書」ベース • 日本語WordNetのような辞書を活用するアプローチ • 本発表のメイン(日・英間言語横断検索を扱う) – 「対訳コーパス」ベース • 辞書がない、あるいは併用する場合のアプローチ • 本発表の後半にて軽く触れる – 「機械翻訳」ベース • 機械翻訳を用いたアプローチ • 本発表では触れない
  • 7. Princeton WordNet 3.0とは • 出発点は英英辞典 – プリンストン大学で開発 • http://wordnet.princeton.edu/ – 多国語対応を推進する動きあり。 • http://www.globalwordnet.org/ – 約11万7千のsynset(同義語の集合) – 約15万語(名詞/動詞/形容詞/副詞) – synset間にいくつかの関係が定義 • hypernym : X hypernym Y → XはYの上位概念(synset) • hyponym : X hyponym Y → XはYの下位概念(synset) • holonym : X holonym Y → XはYを持つ(has-a) • meronym : X meronym Y → XはYの一部(part-of)
  • 8. 日本語WordNet ver 1.1のスペック • NICTで開発 – http://nlpwww.nict.go.jp/wn-ja/ • 無償・BSDライセンス • SQLite3のDBとして格納(インデックス込み) – 57,238 synset – 93,834 words – 158,058 語義(synsetと単語のペア) – 135,692 定義文 – 48,276 例文 • 実は対訳辞書として使えます!
  • 10. Search Engineでの位置づけ Text Browser user interest Text Text Processing and Modeling logical view logical view MeCab Query NLTK etc. Indexing user feedback Operations Crawler inverted index / Data query WordNet Access Searching Index retrieved docs Documents (Web or DB) Ranking ranked docs
  • 11. 類義語の抽出 • WordNetから類義語抽出手順(日→英の場合) – MeCabで標準形と品詞を取得 – 名詞・副詞・動詞・形容詞のみ抽出 – SQLにてword→sense→関連sense→関連word • select * from word where lemma=? and pos=?, (標準形,品詞) • select * from sense where wordid=?, (word["wordid"],) • select * from sense where synset=? and lang=?, (sense["synset"], “en”) • select * from word where wordid=? and pos=?, (sense2["wordid"], 品詞) • これでOK? – 結論から言うと、そのままではまずかった
  • 12. 問題1:検索結果が良くない • 現象 – 意図しない検索結果(複数フィールドに起因) – 例:aaaで検索すると名称:bbbがトップに 名称 aaa bbb 概要 hoge fuga 内容 hogehoge aaaが… aaaの… aaaから… aaa マニュアル により… • 解決方法 – UIを増やす ランキングアルゴリズム(tf-idf)を見直す
  • 13. 情報検索(Information Retrieval)とは • 以下の順で解説 – Precision/Recall Karen Sparck – Vector Space Model Jones – tf-idf (Spärck Jones 1972) – PRP - Probability Ranking Principle (Rijsbergen 1979) Keith van – BIM - Binary Independence Model Rijsbergen – Naive Bayes – Okapi BM25 (Robertson 1994) – BM25F (Robertson 2004) Stephen Robertson
  • 14. 何が起きたか? • 検索性能の尺度 – 検索速度 – 更新速度 – 文書容量 – Recall (再現率) • 検索漏れに関連 • WordNetで改善したが… – Precision (適合率) • 検索精度に関連 • 新たな問題として浮上
  • 15. PrecisionとRecall • Precision (適合率) – 「全検索結果」に対して「検索要求を満たす結果」の 割合 – “MacBook Air 重さ” で 100件 ヒット、うち 85 件が重さ がわかるドキュメント = 85/100 = 0.85 • Recall (再現率) – 「検索要求を満たす全ドキュメント」に対しての「検 索要求を満たす検索結果」の割合 – Web上に 90件あると仮定して、ウェブ検索して 85 件が 得られた → 85/90 = 0.94
  • 16. PrecisionとRecallのイメージ • Precision: |C| / |B| • Recall: |C| / |A| – どちらも高いほうがよい 検索ノイズも検索漏れも少ないほうがよい 全文書集合 適合文書 検索された文書 C A B
  • 17. PrecisionとRecallのトレードオフ • Precisionのみを高めたい – 適合しない可能性が少しでもある文書を、検索結果か ら除外 – Recallの低下(= 検索漏れの発生) • Recallのみを高めたい p ideal – 適合する可能性が少しでもある better 文書を、検索結果として採用 – Precisionの低下(= 検索ノイズの発生) typical • 両者はトレードオフ関係 – 評価尺度には調和平均のF値を利用 F = 2 / ( 1 / Recall + 1 / Precision ) r
  • 18. ベクトル空間モデル(Vector Space Model) • ベクトルで考えてみよう(Bag of Words) – 文章(document)は単語(term)の集合体 – 検索クエリも単語(term)の集合体 query document Q A B C D E ○ ○ ○ {D, E} term 0 0 term 1 1 ○ 2 ○ 2 ○ ○ ○ {A, B, E} 3 3 ○ 4 4 ○ 5 5 ○ ○ 6 6 ○ ○ 0, 2, 5, 6
  • 19. 検索と最近傍探索 • ベクトル空間モデルにおける検索とは – ベクトル空間内で 近いベクトルを探すこと – 検索ではCosine類似度が一般に用いられる ������(������1 ) ∙ ������(������2 ) d ������������������(������1 , ������2 ) = ������ ������1 |������(������2 )|  q
  • 20. 単語の重みを考慮する • 相関係数を2値からScalarに – ある or なしだと 1か0かの2値表現 – 出現頻度を反映させてScalarに出来ないか? Query document Q A B C D E {D, E} term 0 1.0 0 1.5 0.4 term 1 1 0.8 2 0.1 2 0.4 1.2 0.2 {A, B, E} 3 3 1.5 4 4 0.5 5 5 1.6 2.5 6 6 0.2 1.0 1.5
  • 21. tf - term frequency • ある単語が各々の文章にどのくらい出現するか? ni 単語iの出現頻度 tf i   k nk 文書で出現する総単語数 • 問題点 – すべての単語が等しい重要度の場合 • 例:ツール,エラー,ファイル… • 解決方法 – 頻繁に登場する語の影響力を薄める → そこでidf
  • 22. idf - inverse document frequency • ある単語がどのくらいの数の文書に出現するか? 総ドキュメント数 |D| idf i  log 単語iを含む | {d : d  ti } | ドキュメント数 レア語では高く 頻出語では低く
  • 23. tf-idfによるスコアリング • 以下の場合に高い – 少数のドキュメントにtがたくさん出現する場合 • 以下の場合に低い – ひとつのドキュメントに t が少なく出現する場合 – たくさんのドキュメントに t が出現する場合
  • 24. tf-idfの計算例:インデックス化 文書1 言語(2),計算(1),問題(2) 文書2 計算(1),問題(2),情報(1) 文書3 言語(1),問題(3),情報(2) 文書4 問題(1),情報(1) 言語 文書1,文書3 計算 文書1,文書2 問題 文書1,文書2,文書3,文書4 情報 文書2,文書3,文書4
  • 25. tf-idfの計算例:tf,idfの計算 単語の出現頻度(term frequency) tf 文書1 文書2 文書3 文書4 idf 言語 2 0 1 0 2 計算 1 1 0 0 2 問題 2 2 3 1 1 情報 0 1 2 1 1.3 全文書数 / 単語の出現する文書数 (inverse document frequency)
  • 26. tf-idfの計算例:検索結果の絞り込み tf-idf 文書1 文書2 文書3 文書4 言語 4 0 2 0 計算 2 2 0 0 問題 2 2 3 1 情報 0 1.3 2.6 1.3 6 (2) 5 (1) 検索キーワードが、「言語、問題」なら 文章1が第1候補
  • 27. PRP - Probability Ranking Principle • 情報要求に対して確率論を当てはめるための考え方 • 文書dとクエリqの適合性を確率として表現 – P(R|d,q) … これを求めたい – Rはdとqが関連することを表す – R=1 … 関連あり R=0 … 関連なし – 文書をP(R|d,q)に従ってランキング • メリット – tf-idf などのヒューリスティクスも、確率モデルにより アルゴリズムとして解釈しなおすことができる – 後に示すように、tf-idfによく似たパラメータが出てく る
  • 28. Binary Independence Model [1] • 仮定 A0 – 文章Dの適合性は、他の文書に依存しない • P(R=1|D)によるランク付け – R={0,1} … 適合度を示す確率変数 – D … 文章の中身(この時点ではクエリは考えない) – ベイズの定理より • ������ ������ ������ ∝ ������ ������ ������ ������(������) • 関係演算子 ∼ を「ランク順位が等しい」とおくと ������ ������ = 1 ������ ������ ������ ������ = 1 ������(������ = 1) ������ ������ = 1 ������ ∼ = ������ ������ = 0 ������ ������ ������ ������ = 0 ������(������ = 0) 与えられたクエリに対して定数。ラ ンクするだけなら推定の必要なし
  • 29. Binary Independence Model [2] • 仮定 A1 – ������ = *������������ + … 文章を0 or 1の2値単語ベクトルで表現 • 仮定 A2 – ������������ … はRが与えられた時に相互に独立 • 実際にはそんなわけがない(単語並び替えても同じ?) • が、仮定しなければ組み合わせ爆発を起こす • Naive Bayes分類の仮定でもある • よって ������ ������ ������ = 1 ������ ������ ������������ ������ = 1 ������ ������ = 1 ������ ∼ = ������ ������ ������ = 0 ������ ������ ������������ ������ = 1
  • 30. Binary Independence Model [3] • 仮定 A3 – ������ 0 ������ = 1 = ������ 0 ������ = 0 – 空文章は、R=0 or 1どちらのクラスにも等しく出現 • ここで追加定義 – ������������ = ������ ������������ = 1 ������ = 1 – ������������ = ������ ������������ = 1 ������ = 0 • よって ������������ 1 − ������������ ������∈������ ������ ������ ������∉������ 1 − ������ ������ ������������ (1 − ������������ ) ������ ������ = 1 ������ ∼ = 1 − ������������ ������������ (1 − ������������ ) ������ 1 − ������ ������∈������ ������
  • 31. 推定 • この時点での推定 – もし、全文章がR=0 or 1どちらのクラスに属するかが自 明であれば、以下の定義でクエリがどのクラスに属す るかが確率で求まる Smoothing ������1 ������ + 0.5 ������0 ������ + 0.5 ������������ = ������������ = ������1 + 1.0 ������0 + 1.0 – なお������������ ������ は各々のクラスでの観察回数 – また確率0を避けるために、適当にスムージング • 使い道 – 学習データがある際の文章分類タスクといってよい – もちろんこのままでは検索には使えない
  • 32. 推定例(BIM 文章のクラス情報あり) • 適合文章: ������1 = “a b c b d”, ������2 = “a b e f b”, ������1 =2 • 不適合: ������3 = “b g c d”, ������4 = “b d e”, ������5 = “a b e g”, ������0 =3 word a b c d e f g h ������1 ������ 2 2 1 1 1 1 0 0 ������0 ������ 1 3 1 2 2 0 2 0 ������������ 2.5/3 2.5/3 1.5/3 1.5/3 1.5/3 1.5/3 0.5/3 0.5/3 ������������ 1.5/4 3.5/4 1.5/4 2.5/4 2.5/4 0.5/4 2.5/4 0.5/4 • 新規文章: ������6 = “b g h” b gh 2.5 3.5 ������������ 1 − ������������ ∙ 1− … 1.64 3 4 ������ ������ = 1 ������6 ∼ = = ������������ 1 − ������������ 3.5 2.5 ������∈������6 ∙ 1− … 13.67 4 3
  • 33. Binary Independence Model [4] • 仮定 A4 – ������������ = ������������ ������������ ������ ∉ ������ … クエリに出現しない単語は適合、 不適合文書において同じくらい出現と仮定 • 仮定 A5 – ������������ = 0.5 ������������ ������ ∈ ������ … クエリに出現する単語は、適合文 章に50%の確率で出現する • 仮定 A6 – ������������ ≈ ������������ /������ … 不適合文章を全体で近似 IDF • 結果 ������������ 1 − ������������ 1 − ������������ ������ − ������������ + 0.5 ������ ������ = 1 ������ ∼ = = ������ ������∈������ ������ 1 − ������������ ������∈������∩������ ������������ ������∈������∩������ ������������ + 0.5
  • 34. 推定例(BIM) • 文章: ������1 = “a b c b d”, ������2 = “a b e f b”, ������3 = “b g c d”, ������4 = “b d e”, ������5 = “a b e g”, ������6 = “b g h”, N=6 word a b c d e f g h ������ ������ 2 6 2 3 3 1 3 1 ������ − ������������ + 0.5 4.5 0.5 4.5 3.5 3.5 5.5 3.5 5.5 ������������ + 0.5 /2.5 /6.5 /2.5 /3.5 /3.5 /1.5 /3.5 /1.5 • クエリ: Q = “a c h” a c ������ − ������������ + 0.5 4.5 4.5 ������ ������ = 1 ������1 ∼ = ∙ ������∈������1 ∩������ ������������ + 0.5 2.5 2.5 • ランキング ������6 > ������1 > ������3 > ������5 > ������2 > ������4
  • 35. BM25 • 概要(詳細は割愛) – ������������ を文章D内での単語wの出現回数とした場合 – ������(������������ )を2つのポワソン分布から成ると考える ������ ������ ������ −������1,������ ������1,������ ������ ������ −������0,������ ������0,������ ������ ������ ������������ = ������ ������ = 1 + ������(������ = 0) ������������ ! ������������ ! • 結果 ������(������|������ = 1) ������������ ∙ (1 + ������) ������ log ≈ ( × log ) ������(������|������ = 0) ������������ + ������( 1 − ������ + ������ ∙ ������������ /������������������������ ������������ ������ 文章長の平均
  • 36. BM25F • 概要(詳細は割愛) – BM25を複数のフィールドに対応させたもの • 各フィールドの平均長などがパラメータに – BM25Fでやっと納得のいく結果が得られた • 自前の検索エンジンなのですぐ対応できた • ただしLuceneでのBM25F対応は難しい – フィールド毎の単語頻度が取得できないため – どうしても必要であれば、Luceneを改造するか、自前 で集計するしかないかも(要調査)
  • 37. まとめ・課題 • まとめ – WordNetを用いた日英間言語横断検索 – 情報検索基礎(tf-idfからBM25F) – Luceneと言えども万能ではない • 課題 – 多言語対応 – Luceneの理解を深める – より発展的なトピック
  • 38. 参考文献 • Christopher D. Manning, Prabhakar Raghavan, and Hinrich Schütze, Introduction to Information Retrieval • Michael McCandless, Erik Hatcher, and Otis Gospodnetid, Lucene in Action, Second Edition • Stephen Robertson, Hugo Zaragoza, SIGIR 2007 Tutorials - The Probabilistic Relevance Model: BM25 and beyond. • Donald Metzler, Victor Lavrenko, SIGIR 2009 Tutorials - Probabilistic Models for Information Retrieval