読者です 読者をやめる 読者になる 読者になる

NEologd Casual Talksに行ってきた

NEologd Casual Talksに行ってきました。

connpass.com

@eichiroi 先生と一緒に書いたメモをブログにまとめました

NEologdをどう使うと便利なのか ークエリ拡張 or 検索ソート順における活用(@Quasi_quant2010)

www.slideshare.net

概要

計算を補正する言語支援としての利用例

  • 使用用途
  • クエリサジェストにおける前処理エラーを補正
    • アシックスサージールをアシックスターサージルに変換したい
  • 対処法
    • NElogd辞書にあればを使う
      • Neologdがあることでサージール→ターサージールに補完できた
    • suggst結果の複合語を補正
      • 切れすぎてしまった複合名詞をくっつける
      • 「サッカー シューズ」を「サッカーシューズ」に
  • 背景
    • 複合名詞を細かく分割する方針がある
    • 複合名詞の補正Sourceとして使う
  • NELOGDで使って実現したいこと
    • userの検索意図を保ちつつ検索漏れを防ぐ
    • Indexingのときにクエリ拡張する
  • 単純に分かち書きしたものだけでなく、くっつけた長い単語(複合名詞とか)もインデックスに追加する
  • 検索意図を保存するための一つの手段
  • 固有表現を加味した分かち書きをする
    • クエリ拡張とN-bestも併用

前処理用Pythonモジュールneologdnの紹介(@_yukinoi)

  • テキストの前処理とは
    • 見た目が一緒でもコンピュータは違う文字列と判別する
    • テキストの処理がしやすいようにテキストを一定のルールに基づいて整えること
    • 半角カナを全角に
    • 「うぇーーーーい」と「うぇーい」
  • 前処理やってないと
  • nelogdn

質問

  • 今後どういう単語をとれるようにしたいか?
    • 同じ文字の繰り返しで2文字単位のもの、例えば「オラオラオラオラ」を正規化

ファッションを扱うサービスのために、Elasticsearchのユーザー辞書とシノニム辞書を作った話(@sinamon129)

speakerdeck.com

  • Fablicのサーバーサイドエンジニア
  • フリルの検索改善のためにESとuser辞書とシノニム辞書を使った
    • 検索の50%ぐらいがキーワード単体の検索(+絞り込み)
  • 検索パターン
    • userが自由に書く
      • タイトル・商品説明
      • 形態・形状・セールスポイント
      • 略称、表記ゆれあり
    • マスターデータ系
      • カテゴリ
      • ブランド
  • 検索キーワード
    • 表記間違いや省略した単語が結構ある
  • インデックス方式
    • unigaram
      • 再現率高いが適合率が低い
      • 利点
        • ワンピで検索してもワンピースがでる
        • あてはあるものができる限り出力される
      • NG
        • ファーでローファーがひっかかる
  • unigram->kurokojiへ
  • 移行OK要件
    • ヒット件数が大幅に減らなければOK
    • ヒットしてもダメなモノが消えるのはOK
    • unigramでとれなくなったものもある
  • 本番DBでUnigramとkuromoji+辞書で違いを調べてみた
    • 問題点
      • ふりがなのついたファッションデータがなかった
        • 自社でもってるブランドmasterを追加
        • 自社の検索ログ+neologdで分解した
          • uniGRAMで出来た部分を優先して作った
  • 上位概念と下位概念を整理したい
    • サンダルという名前がつく履き物とで香料もあるので、それはわけたい
  • 検索数が多いモノは類義語辞書で対応
    • ブランドは揺れの登録はしない
  • キーワードサジェスト機能を使う
  • 課題
    • 辞書の作り方の情報がない
    • 試行錯誤・断片的な情報しかない。。。
    • できるだけ検索の利便性を高くして、作業コストが低い方法vs 資源としての正しさ
    • なにが正しいのか
      • 検索のための辞書じゃなくて、サービスが言語知見を知りたい

質問

  • どうやって再現率を確認したか
    • 数千件のクエリを投げて確認をした
  • フィードバックがあったか?
    • わからない。まぜらフリマアプリだから..
  • 辞書のメンテナンスはどうやってるか?
    • 定期的に検索ヒットの0件のキーワードを足して対応する
    • はやりもんがあれば足す
    • 週1〜2回
  • 追加した辞書で特に効果的だったと思ったものは何か
    • 今まで2回検索しないといけなかったようなものがなくなった

知識を紡ぐための言語処理と、そのための言語資源(@conditional)

www.slideshare.net

NEologd が2016年末までにやること(@overlast)

  • 渋谷ヒカリエ
    • 形態素区切り結果
    • もう1回UniDicで解析し直す
  • mecab-ipadic-neologd新機能

    • カラム拡張
    • 形態素解析後、一番後ろにunidicの結果を出す
    • UnidiDicでの分割結果を足す
    • キーワード抽出した結果を足す
    • 位置情報をたしたり、wikificationの結果を足したりもできる
    • カラム拡張ができることでプラグインのように使えるようになる
  • 定量的な評価やっているの?

    • 文書分類タスクで確認
      • yahoo newsの大小カテゴリ分類
    • 結果
      • IPA辞書、UniDicのベスト結果を上回る
      • 文書分類では副作用はない
  • mecab-ipadic-neologd(みんなでできるようにすること)

    • 動詞エントリ拡張
    • 略語エントリの追加
    • 新語の追加

最後に

実は弊社の製品であるSedue ExtractorにもNEologdは使われております。 LTもしたかったのですが、資料の準備等できなくて、、、 次回はなにか話せたらなと....