Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

第17回Lucene/Solr勉強会 #SolrJP – Apache Lucene Solrによる形態素解析の課題とN-bestの提案

15,927 views

Published on

Apache Lucene Solrによる形態素解析の課題とN-bestの提案

Published in: Technology
  • Be the first to comment

第17回Lucene/Solr勉強会 #SolrJP – Apache Lucene Solrによる形態素解析の課題とN-bestの提案

  1. 1. ヤフー株式会社
 大須賀 稔 第17回 Lucene/Solr勉強会 #SolrJP Lucene/Solrでの形態素解析の課題とN-bestの提案 Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.
  2. 2. 自己紹介 Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.
  3. 3. 大須賀 稔 (おおすか みのる) ヤフー株式会社
    CTO室 / Solr黒帯 Apacheソフトウェア財団
    ManifoldCFプロジェクト
       コミッター / PMCメンバー
    Solrプロジェクト
       コントリビューター [改訂新版] Apache Solr入門 (技術評論社) 
    共著者 Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.
  4. 4. アナライザの仕組み Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.
  5. 5. アナライザの仕組み アナライザー トークナイザ 文字フィルタ トークン
 フィルタ I came from Japan. i came from japan. i came from japan 文字単位での正規化処理を行う 文章を単語に分かち書き 不要な単語の除去や単語の正規化処理など i came japan Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.
  6. 6. 日本語の文章を単語に分割する方法 1. 形態素解析 日本語辞書を用いて、文書を単語に分割する。 2. N-gram 機械的に、ある文字数(N)単位で、
 1文字ずつずらしながら単語として分割する。 Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.
  7. 7. 形態素解析による分割 アナライザー トークナイザ日本語辞書 文字フィルタ トークン
 フィルタ 私はニンジンを1本だけ買った 私はニンジンを1本だけ買った 私 は ニンジン を 1 本 だけ 買っ 私 ニンジン 1 本 買う人参 半角片仮名、全角数字などの正規化処理など 日本語辞書を参照しながら文章を単語に分かち書き 検索に不要な単語の除去、類義語への展開など た Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.
  8. 8. N-gramによる分割 アナライザー トークナイザ 文字フィルタ 私はニンジンを1本だけ買った 私はニンジンを1本だけ買った 私は はニ 半角片仮名、全角数字などの正規化処理など 2-gram(Bi-gram)で分割 ニン ンジ ンを を1 1本 本だ だけ け買 買っ った ジン Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.
  9. 9. 形態素解析とN-gramの比較 • 現在は、形態素解析による分割が一般的。 • N-gramは、形態素解析と併用して、
      検索漏れがないようにする目的で利用される。 長所 短所 形態素解析 • インデックスサイズが小さい • 検索実行時の処理が速い • 検索結果にノイズが少ない • インデックス作成に時間がかかる • 辞書が必要 • 検索漏れが発生する N-gram • インデックスの作成が速い • 辞書を必要としない • 検索漏れがない • インデックスサイズが大きい • 検索実行時の処理が遅い • 検索結果にノイズが多い Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.
  10. 10. 検索エンジンの性能評価 Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.
  11. 11. 性能評価のための3つの指標 1. 適合率: Precision 正確性を表す指標。 2. 再現率: Recall 網羅性を表す指標。 3. F値: F-mesure 適合率、再現率の総合的な指標。 Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.
  12. 12. 適合率 : Precision 検索結果のドキュメント中(N)に、どれだけ正解
 ドキュメント(R)を含んでいるかという正確性の指標。 Precision = R N RN C N 検索結果のドキュメント R 検索できた正解ドキュメント C 検索結果としての正解ドキュメント = 25 100 = 0.25 Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.
  13. 13. 再現率 : Recall 検索結果としての正解ドキュメント(C)が、
 どれだけ検索できているかという網羅性の指標。 Recall = R C RN C N 検索結果のドキュメント R 検索できた正解ドキュメント C 検索結果としての正解ドキュメント = 25 100 = 0.25 Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.
  14. 14. F値 : F-measure 適合率、再現率の総合的な評価に用いられる。 F-measure = 2・Precision・Recall Precision + Recall = R (N + C) 1 2 RN C N 検索結果のドキュメント R 検索できた正解ドキュメント C 検索結果としての正解ドキュメント = 0.25 = 25 (100 + 100) 1 2 Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.
  15. 15. 検索エンジンの課題 Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.
  16. 16. 形態素解析とN-gramの課題 現在は、形態素解析による分割が一般的。 N-gramは、形態素解析と併用して、
      検索漏れがないようにする目的で利用される。 長所 短所 形態素解析 • インデックスサイズが小さい • 検索実行時の処理が速い • 検索結果にノイズが少ない • インデックス作成に時間がかかる • 辞書が必要 • 検索漏れが発生する N-gram • インデックスの作成が速い • 辞書を必要としない • 検索漏れがない • インデックスサイズが大きい • 検索実行時の処理が遅い • 検索結果にノイズが多い Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.
  17. 17. 形態素解析による検索漏れの例 表層 品詞 ・・・ ・・・ ・・・ ・・・ ショルダーバッグ 名詞 ・・・ ・・・ ・・・ ・・・ 日本語辞書 トークナイザ 革のショルダーバッグ ショルダーバッグ革 新しいバッグ が欲しいな ユーザ バッグ 文章を単語に分かち書き 「バッグ」では検索できない の × Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.
  18. 18. N-gramによる検索ノイズの例 トークナイザ 東京都港区赤坂 2-gram(Bi-gram)で分割 東京 京都 都港 港区 区赤 赤坂 京都へ旅行に
 行きたいな ユーザ 京都 「京都」で検索できてしまう × 京都 Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.
  19. 19. いかに検索漏れ、および検索ノイズを減らすかが課題。
 検索エンジンの課題 RN C 検索漏れ検索ノイズ N 検索結果のドキュメント R 検索できた正解ドキュメント C 検索結果としての正解ドキュメント Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.
  20. 20. 形態素解析の仕組み Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.
  21. 21. 形態素とは 形態素とは、言語学の用語で、意味を持つ最小の単位の こと。ある言語において、それ以上分解しては意味をな さなくなるところまで分解して抽出された、音素のまと まり。 赤坂でランチを食べて元気になった 赤坂
 名詞 で
 助詞 ランチ
 名詞 を
 助詞食べ
 動詞 て
 助詞 元気
 名詞 に
 助詞 なっ
 動詞 た
 助詞 赤
 名詞 坂
 名詞 になっ
 動詞 元
 名詞 気
 名詞 Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.
  22. 22. 形態素辞書 表層 品詞 ・・・ コスト 赤坂 名詞 - 4 赤 名詞 - 3 坂 名詞 - 7 で 助詞 - 5 ランチ 名詞 - 5 を 助詞 - 3 食べ 動詞 - 7 て 助詞 - 5 元気 名詞 - 3 元 名詞 - 5 気 名詞 - 6 になっ 動詞 - 10 に 助詞 - 4 なっ 動詞 - 5 た 助詞 - 5 名詞 助詞 動詞 ・・・ 名詞 1 4 20 - 助詞 3 6 6 - 動詞 7 3 19 - : - - - - 形態素辞書 接続コスト表 右側 左 側 ※ 形態素辞書、接続コスト表は
 簡略化しています Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.
  23. 23. 連接コスト エンジニアになった エンジニア
 名詞 に
 助詞 なっ
 動詞 た
 助詞 になっ
 動詞 3 6 4 合計 13 合計 23 BOS EOS 繋がりやすい
 コスト小 繋がりやすい
 コスト小 繋がりやすい
 コスト小 20 3 繋がりにくい
 コスト大 繋がりやすい
 コスト小 エンジニア
 名詞 に
 助詞 なっ
 動詞 た
 助詞 合計 13 Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.
  24. 24. 単語生起コスト カードローンの カー
 名詞 の
 助詞 合計 37 ドローン
 名詞 カード
 名詞 合計 19 ローン
 名詞 2 BOS EOS 1 繋がりやすい 1 繋がりやすい 4 繋がりやすい 4 出現しやすい
 コスト小 6 6 出現しやすい
 コスト小 6出現しやすい
 コスト小 出現しにくい
 コスト大 24 カード
 名詞 ローン
 名詞 の
 助詞 合計 19 Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.
  25. 25. 連接コスト、単語生起コストの合計が小さいものが、
                 より良い形態素の並びである。 形態素解析の仕組み 赤坂でランチを食べて元気になった 赤坂
 名詞 で
 助詞 ランチ
 名詞 を
 助詞 食べ
 動詞 て
 助詞 に
 助詞 なっ
 動詞 た
 助詞 になっ
 動詞 元
 名詞 気
 名詞 BOS EOS 赤
 名詞 坂
 名詞 元気
 名詞 4 3 7 5 5 3 7 5 3 5 6 10 4 5 54 1 4 3 4 6 3 3 3 1 4 6 3 4 320 20 Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.
  26. 26. いかに検索漏れ、および検索ノイズを減らすかが課題。
 検索エンジンの課題 RN C 検索漏れ検索ノイズ N 検索結果のドキュメント R 検索できた正解ドキュメント C 検索結果としての正解ドキュメント Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.
  27. 27. N-gramの併用による解決 革のショルダーバッグ ショルダーバッグ革 新しいバッグ が欲しいな ユーザ q=field_ma:バッグ OR field_ng:バッグ の 革の のシ ショ ョル ルダ バッ ッグ バッグ バッ ッグ○ × field_ma (形態素解析) field_ng (N-gram) ーバダー バッ ッグ Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.
  28. 28. N-gramの併用による課題 検索漏れを大きく改善できるが、検索ノイズが大量に発 生する恐れがある。 意味のない単語で無駄な
 インデックス領域を消費。 RN C 検索漏れ N 検索結果のドキュメント R 検索できた正解ドキュメント C 検索結果としての正解ドキュメント 検索ノイズ Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.
  29. 29. 辞書の登録による解決 トークナイザ 革のトートバッグ トート革 新しいバッグ が欲しいな ユーザ バッグ 文章を単語に分かち書き 「バッグ」で検索できる の 表層 品詞 ・・・ トート 名詞 ・・・ ・・・ ・・・ ・・・ バッグ ○ 日本語辞書 ユーザ辞書 日本語辞書 トークナイザ 革のトートバッグ トートバッグ革 文章を単語に分かち書き の 「バッグ」で検索できない × Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.
  30. 30. 辞書の登録による課題 全ての単語を登録しきれない。 辞書登録による意図しない単語の分割がされ、
 検索ノイズが発生する
 こともある。 RN C 検索漏れ N 検索結果のドキュメント R 検索できた正解ドキュメント C 検索結果としての正解ドキュメント 検索ノイズ Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.
  31. 31. JapaneseTokenizerのモード設定による解決 1. normalモード • 登録されている辞書の単語で分割する。 2. searchモード (デフォルト) • normalモードと同様に単語に分割を行うが、辞書に登録されている単語の 複合語で分割可能である場合、さらに細かく分割し、複合語も出力する。 3. extendedモード • searchモードと同様に複合語の処理を行うが、複合語は出力しない。ま た、辞書に登録ない未知語をUni-gram(1-gram)でトークナイズする。 Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.
  32. 32. JapaneseTokenizerのモードの使用 羽田空港オリジナルトートバッグ 羽田空港 normalモード searchモード オリジナルトートバッグ 羽田空港 空港 オリジナル 羽田 extendedモード 空港 ト羽田 ー ト バ ッ グ トートバッグオリジナルトートバッグ オリジナル Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.
  33. 33. JapaneseTokenizerのモード設定による課題 searchモード、extendedモードを使用することで
 手軽に再現率を向上させることが可能だが、
 全ての問題を解決できない。 RN C 検索漏れ N 検索結果のドキュメント R 検索できた正解ドキュメント C 検索結果としての正解ドキュメント 検索ノイズ Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.
  34. 34. JapaneseTokenizerの課題 • 形態素解析によって出力される単語は、連接コスト、
 単語生起コストを基に最適と思われる単語に分割
 されるが、意図しない分割がされる場合がある。 • 最良と思われる、1つの形態素の連結パターンしか
 出力できないため、複数の解釈が可能な文字列には
 対応できない。 Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.
  35. 35. 意図しない分割をされる例 または 外国人参政権 ↓ 外国 / 人 / 参政 / 権 Voting rights for foreign residents. 外国 / 人参 / 政権 The Carrot Administration of a foreign country. Carrot ? Some rights reserved by MDGovpics Some rights reserved by Max Braun Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.
  36. 36. 「外国人参政権」の例 外国人参政権 外国 normalモード 人参 政権 外国 searchモード 人参 政権 外国 extendedモード 人参 政権 人 参政 権 期待する が出力されない Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.
  37. 37. 複数の解釈が可能な例 こちら / は / 社長 / 室 / 長谷川 / です または こちら / は / 社長 / 室長 / 谷川 / です こちらは社長室長谷川です ↓ This is Hasegawa, member of President’s Office. This is Tanigawa, executive secretary of President’s Office. 長谷川です 谷川です Some rights reserved by A ONE-MAN ARMY RETURNS TO NO-MANS' LAND Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.
  38. 38. 「こちらは社長室長谷川です」の例 こちらは社長室長谷川です こちら normalモード 社長 長谷川 searchモード extendedモード は 室 ですこちら 社長 長谷川は 室 長谷 川 ですこちら 社長は 室 長谷 川 期待していない が出力される 長谷 川 です Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.
  39. 39. searchモード、extendedモードの課題 社長室長谷川 社長
 名詞 室
 名詞 長谷川
 名詞 長谷
 名詞 川
 名詞 BOS EOS 社長
 名詞 室
 名詞 長谷川
 名詞 谷川
 名詞 BOS EOS 室長
 名詞 複合語の分割が可能な場合のみ できること 複数の分割候補の出力はできない できないこと Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.
  40. 40. N-bestの提案 Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.
  41. 41. N-best こちらは社長室長谷川です こちら
 名詞 は
 助詞 社長
 名詞 室
 助詞 長谷川
 名詞 BOS EOS 社
 名詞 長
 名詞 です
 助動詞 室長
 名詞 谷川
 名詞 長谷
 名詞 川
 名詞 谷
 名詞 長
 名詞 5 4 5 7 6 4 8 9 8 1110 117 10 4 3 3 1 1 1 1 4 3 3 3 1 1 4 4 1 1 1 1 4複数の解釈が可能な
 テキスト対応したい Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.
  42. 42. N-bestの実装 目的 • 解釈によって異なる複数のパターンでの分割、複合 語の分割を可能にし、再現率の向上を目指す。 • N-bestといってもNを直接指定するのではなく、
 ベストパスからのコスト値の差を指定することで、 無理のある分割がされないようにする。 Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.
  43. 43. N-bestの実装 ゴール • JapaneseTokenizerにN-best機能を追加する。 • normal、search、extendedの各モードとの併用を
 可能とする。 • N-best出力のコスト閾値を直接指定、または例文か ら求め指定可能にする。 Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.
  44. 44. N-bestの実装 仕様 • nbestCost、nbestExamplesパラメータの設定でN-best出力を制御する。 • 0 < nbestCostならN-bestを出力する。nbestCostはN-best出力として
 許容される最大のコスト差分(allowable cost difference for N-best)を示す。 • 適切なコスト差分を求めるために、nbestExamplesで例文を指定でき る。 • 例文からコスト差分を求めることができれば、例文からのコスト差分と
 直接指定のコスト差分のうち大きな値が有効にする。 Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.
  45. 45. サンプル schema.xml N-bestの実装 <fieldType name="text_ja" class="solr.TextField" positionIncrementGap="100"
 autoGeneratePhraseQueries="true"> <analyzer type=“index"> ... <tokenizer class="solr.JapaneseTokenizerFactory" mode="normal" nbestCost="2000" nbestExamples="/社長室長谷川-長谷川/社長室長谷川-谷川/" /> ... </analyzer> <analyzer type="query"> <tokenizer class="solr.JapaneseTokenizerFactory" mode="normal" /> ... </analyzer> </fieldType> Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.
  46. 46. N-bestの実行確認 normalモード Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.
  47. 47. N-bestの実行確認 normalモードかつnbestCost=2000 Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.
  48. 48. N-bestの実行確認 normalモードでは
 「デジタル一眼レフ」は「一眼レフ」で検索できない × 一致 一致しない Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.
  49. 49. N-bestの実行確認 normalモードかつnbestCost=2000で
 「デジタル一眼レフ」が「一眼レフ」で検索できる 一致 一致 Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.
  50. 50. N-bestの評価 • 評価用データ • Wikipediaダンプから取得したタイトル
 (1,541,544タイトル) • 評価方法 • nbestCostを0から5000まで1000毎に変化させ、
 評価用データからトークンを出力 • 出力されたトークンの差分を目視で確認し、
 Good、Neutral、Badの3段階でジャッジ アンパサンド 言語 日本語 地理学 EU (曖昧さ回避) 国の一覧 SandBox パリ ヨーロッパ … Good : 良い Neutral : 中立 Bad : 悪い Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.
  51. 51. N-bestの評価 nbestCost 総トークン数 総トークン数
 nbestCost=0比 総出力文字数 総出力文字数
 nbestCost=0比 N-best
 出現タイトル数 N-best
 出現タイトル数
 /全タイトル比 0 5,362,695 1.000 12,401,591 1.000 0 0 1,000 5,509,840 1.027 12,761,015 1.029 94,950 0.0616 2,000 5,677,682 1.059 13,222,013 1.066 187,636 0.1217 3,000 5,878.931 1.096 13,695,738 1.104 281,788 0.1828 4,000 6,168,215 1.150 14,198,753 1.145 392,367 0.2545 5,000 6,557,197 1.224 14,796,834 1.193 511,730 0.3320 nbestCost N-best出力差分出 現タイトル数 N-best出力差分出 現タイトル比 ジャッジ数 ジャッジ比 0 0 0 0 0 0 - 1,000 94,950 0.0616 300 0.003160 1,000 - 2,000 100,452 0.0652 300 0.002987 2,000 - 3,000 109,397 0.0710 300 0.002742 3,000 - 4,000 140,501 0.0911 300 0.002135 4,000 - 5,000 180,897 0.1173 300 0.001658 ※JapaneseTokenizerのnormalモードで評価 Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.
  52. 52. N-bestの評価指標 - Good • 複合語が正しい単語で区切られる title nbestCost=0 nbestCost=1000 ヒルマン・ミンクス ヒルマン / ・ / ミン / クス ヒルマン / ・ / ミン / ミンクス / クス 岡山県道69号西大寺備前線
 (おかやまけんどう69ごう さいだいじびぜんせん) 岡山 / 県 / 道 / 69 / 号 / 西大寺 / 備前 / 線 岡山 / 県 / 県道 / 道 / 69 / 号 / 西大寺 / 備前 / 線 ドラッグマスターファイル ドラッグマスターファイル ドラッグ / マスター / ファイル Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.
  53. 53. N-bestの評価指標 - Neutral • どちらも誤解析 • 元の結果でも問題ない title nbestCost=0 nbestCost=1000 鈴木里一郎
 (すずき さといちろう) 鈴木 / 里 / 一郎 鈴木 / 里 / 一 / 一郎 / 郎 あしたまにあーな あし / たま / に / あー / な あし / たま / たまに / に / あー / な title nbestCost=0 nbestCost=1000 山田温泉
 (やまだおんせん) 山田 / 温泉 山田 / 山田温泉 / 温泉 フィルムアウト フィルム / アウト フィルム / フィルムアウト / アウト Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.
  54. 54. N-bestの評価指標 - Bad • ノイズが発生する title nbestCost=0 nbestCost=1000 ジャン・ピエール・ランパル ジャン / ・ / ピエール / ・ / ランパル ジャン / ・ / ピエール / ・ / ラン / ランパル / パル 供御職
 (くごしょく) 供御 / 職 供 / 供御 / 御職 / 職 市川市立高谷中学校
 (いちかわしりつ こうやちゅうがっこう) 市川 / 市立 / 高谷 / 中学校 市川 / 市立 / 高 / 高谷 / 谷中 / 中学校 / 学校 Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.
  55. 55. nbestCostの値の変更前と変更後で、出力に変化が見られ たタイトル300件を無作為に抽出して評価。 N-bestの評価結果 nbestCost ジャッジ数 Good Neutral Bad (Good - Bad) / 300 0 - 1,000 300 190 30 80 0.37 1,000 - 2,000 300 133 82 85 0.16 2,000 - 3,000 300 109 60 131 -0.07 3,000 - 4,000 300 95 34 171 -0.25 4,000 - 5,000 300 87 48 165 -0.26 -0.15 0 0.15 0.3 0.45 0.6 0 1000 2000 3000 4000 5000 +0.37 +0.16 -0.07 -0.25 -0.26 Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.
  56. 56. • N-gramとの併用よりも意味のある単語でより細かく分割が可能。 • 複数の解釈が可能な文字列への対応が可能。 N-bestの比較とまとめ 長所 短所 形態素解析 非N-best • インデックスサイズが小さい • 検索実行時の処理が速い • 検索結果にノイズが少ない • インデックス作成に時間がかかる • 辞書が必要 • 検索漏れが発生する N-best • N-gramよりインデックスサイズが小さい • N-gramより検索結果のノイズが少ない • N-gramより検索漏れが多い • 非N-bestよりインデックスサイズが大きい • 非N-bestより検索結果のノイズが多い • 非N-bestより検索漏れが少ない N-gram • インデックスの作成が速い • 辞書を必要としない • 検索漏れがない • インデックスサイズが大きい • 検索実行時の処理が遅い • 検索結果にノイズが多い Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.
  57. 57. Yahoo! JAPAN より皆さまへ Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.
  58. 58. Apache Lucene/Solrの形態素解析の 課題を解決したい! Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.
  59. 59. N-bestパッチ LUCENE-6837 https://issues.apache.org/jira/browse/LUCENE-6837 via Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.
  60. 60. N-bestパッチの適用 # パッチのダウンロード
 $ curl -L -O https://issues.apache.org/jira/secure/attachment/12766268/LUCENE-6837.patch # Lucene/Solrのtrunkチェックアウト
 $ svn co http://svn.apache.org/repos/asf/lucene/dev/trunk lucene-solr # パッチの適用
 $ cd lucene-solr
 $ patch -p0 -E < ../LUCENE-6837.patch # ivyセットアップ
 $ ant ivy-bootstrap # コンパイル
 $ ant compile # テスト
 $ ant test Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.
  61. 61. N-bestパッチの適用 (続き) # Solrパッケージ作成
 $ cd solr
 $ ant create-package # Solrパケージの展開
 $ cd ../../
 $ tar zxvf lucene-solr/solr/package/solr-6.0.0-SNAPSHOT.tgz # サンプルコレクションの準備
 $ cp -r server/solr/configsets/sample_techproducts_configs server/solr/nbest_sample
 $ echo "name=nbest_sample" > server/solr/nbest_sample/core.properties
 $ vi server/solr/nbest_sample/conf/schema.xml # Solrの起動
 $ ./bin/solr start -p 8983 -s server/solr <fieldType name="text_ja_normal_nbest_2000" class="solr.TextField" positionIncrementGap="100"
 autoGeneratePhraseQueries="true"> <analyzer> <tokenizer class="solr.JapaneseTokenizerFactory" mode="normal" nbestCost="2000"/> </analyzer> </fieldType> Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.
  62. 62. Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.

×