勉強会メモ - 第17回 Lucene/Solr勉強会
取り急ぎ、公開しておきます!
https://solr.doorkeeper.jp/events/32633
タイトル:「Solrの対話型ゲームへの応用」
株式会社リクルートテクノロジーズ 大杉様 / 株式会社NTTデータCCS 鈴木
脳内彼氏具現化計画 (脳カレXGAME) http://atl.recruit-tech.co.jp/noukare_game/
頭脳がSolrベース
- 人工無能的な?
- 検索の過程にたどり着くまでは一般的にストレスだが、聞く・対話を楽しむゲームでは楽しみである
- 普通の会話は1000パターン用意しても、検索結果0件の割合は約50%
- 一方ゲームに絞ると100パターンまで減らすことができる
- 裏でフラグの状態を保存している
- 入稿ファイル形式:
- エクセルだけで会話コンテンツを作成
- フラグ管理や出力画像・テキスト全て開発可能
ここから鈴木さん
- 利用しているところ
- LINE公式アカウント「パン田一郎」
- 脳カレ・脳カレ・ゲーム
- その他色々
- 使い方
- 応答データのストアと検索
- 応答データは数万程度
- Master - Slave 構成、500QPS 以上
- 工夫
- J-POSフィルタ、品詞のフィルタを限定する、例えば名詞だけ抽出する
- 助動詞の「ない」という言葉も有効なので残してある (一般的な検索では助動詞は使わないが)
- 例)面白くない
- N-Gramフィールド (N=5以上)、特定の繰り返しワードなどに対応
- 例)バカバカバカバカ
タイトル:「Lucene/Solr Revolution 2015参加レポート」
ヤフー株式会社 メディアカンパニー 検索事業本部 サーチテクノロジー部 宋 賢佑様
www.slideshare.net
- 注目セッション:Learning to Rank in Solr
- Bloombergニュース検索
- ML の必要性
- 一日800万サーチ、4億の記事
- 検索クエリに対して適合率が高い検索結果を返したい、手動チューニングはコストが高い、ドキュメントの更新が常に発生する
- Learning to Rank、MLR
- Implicit Data と Explicit Data を元に Feature を抽出し Rank Model を作成する
- Featrue は特徴点のこと(点数)
- Metrics でランキングの良し悪しを判定
- 静的な計測方法 Presicion / Recall / F-score
- オンライン CTR / Time to first click / 滞留時間
- 学習方法
Rank SVM など
これらのノウハウを LTR プラグインとしてまとめた (未公開)
- 手動でチューニングしない
- リレバンシーの改善
レイテンシ維持
今後のSolr
- Analytics
- SQL like interface
- ML
- NLP
- などなど
タイトル:「Apache Lucene/Solrによる形態素解析の課題とN-bestの提案」
ヤフー株式会社 CTO室 大須賀 稔様
www.slideshare.net
- アナライザのしくみ (まえふり)
- 文字フィルタ、トークナイザー、トークンフィルターの3ステップ
- 形態素解析とNgramは相反する長所短所をもつ
- 検索結果の評価の方法
適合値、最現地、F値(F-measure)
形態素解析では検索漏れが多く、N-Gram ではノイズが多すぎる
- N-Gramの併用による課題:ノイズの大量発生、インデックス量
- JapaneseTokenizerのモードによる解決:normalモード、searchモード、extendedモード
課題:意図しない分割をされるパターンがある、1つのパターンしか出力されないので複数の意味が取れるパターンに対応できない
N-best の実装
- 解釈によって異なる複数のパターンでの分割、複合語の分割を可能にし、再現率の向上を目指す
JapaneseTokenizerにN-best機能を追加する、既存のモードと併用、
N-Gram よりも意味がある細かい単語で分割が可能。
パッチ公開済み https://issues.apache.org/jira/plugins/servlet/mobile#issue/LUCENE-6837
タイトル:「U-NEXTにおけるSolr活用事例」
株式会社U-NEXT システム開発部 秋穂 賢 様(@ken_aio)
- U-Next ビデオ・オンデマンドの会社
フリーワード検索(インクリメンタルサーチ)、ユーザー毎のレコメンドデータのキャッシュ
レコメンドのキャシュに使った理由は、ユーザー毎のレコメンドが Redis では難しかったため。