---
title: 第17回Lucene/Solr勉強会 #SolrJP – Apache Lucene Solrによる形態素解析の課題とN-bestの提案
tags:  #solrjp  
author: [Yahoo!デベロッパーネットワーク](https://www.docswell.com/user/ydnjp)
site: [Docswell](https://www.docswell.com/)
thumbnail: https://bcdn.docswell.com/page/4JMZV3D9EW.jpg?width=480
description: Apache Lucene Solrによる形態素解析の課題とN-bestの提案
published: October 28, 15
canonical: https://www.docswell.com/s/ydnjp/Z9YVX5-2015-10-28-154003
---
# Page. 1

![Page Image](https://bcdn.docswell.com/page/4JMZV3D9EW.jpg)

第17回 Lucene/Solr勉強会 #SolrJP
Lucene/Solrでの形態素解析の課題とN-bestの提案
ヤフー株式会社
大須賀 稔
Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.


# Page. 2

![Page Image](https://bcdn.docswell.com/page/PJR62Q4979.jpg)

自己紹介
Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.


# Page. 3

![Page Image](https://bcdn.docswell.com/page/PEXMD5237X.jpg)

大須賀 稔 (おおすか みのる)
ヤフー株式会社
CTO室 / Solr黒帯
Apacheソフトウェア財団
ManifoldCFプロジェクト
コミッター / PMCメンバー
Solrプロジェクト
コントリビューター
[改訂新版] Apache Solr入門 (技術評論社)
共著者
Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.


# Page. 4

![Page Image](https://bcdn.docswell.com/page/3EKGX6MNJD.jpg)

アナライザの仕組み
Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.


# Page. 5

![Page Image](https://bcdn.docswell.com/page/L73N56YZ75.jpg)

アナライザの仕組み
アナライザー
I came from Japan.
文字フィルタ
文字単位での正規化処理を行う
i came from japan.
トークナイザ
文章を単語に分かち書き
i
トークン
came
from
japan
不要な単語の除去や単語の正規化処理など
フィルタ
i
came
japan
Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.


# Page. 6

![Page Image](https://bcdn.docswell.com/page/87DWDV54JG.jpg)

日本語の文章を単語に分割する方法
1. 形態素解析
日本語辞書を用いて、文書を単語に分割する。
2. N-gram
機械的に、ある文字数(N)単位で、
1文字ずつずらしながら単語として分割する。
Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.


# Page. 7

![Page Image](https://bcdn.docswell.com/page/VJP9XVGVE8.jpg)

形態素解析による分割
アナライザー
私はﾆﾝｼﾞﾝを１本だけ買った
文字フィルタ
半角片仮名、全角数字などの正規化処理など
私はニンジンを1本だけ買った
日本語辞書
トークナイザ
日本語辞書を参照しながら文章を単語に分かち書き
私 は
トークン
フィルタ
ニンジン
を 1
本
だけ
買っ
た
検索に不要な単語の除去、類義語への展開など
私
ニンジン
人参
1
Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.
本
買う


# Page. 8

![Page Image](https://bcdn.docswell.com/page/2EVMLZ6REQ.jpg)

N-gramによる分割
アナライザー
私はﾆﾝｼﾞﾝを１本だけ買った
文字フィルタ
半角片仮名、全角数字などの正規化処理など
私はニンジンを1本だけ買った
2-gram(Bi-gram)で分割
トークナイザ
私は
はニ
ニン
ンジ
ジン
ンを
1本
本だ
だけ
け買
買っ
った
Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.
を1


# Page. 9

![Page Image](https://bcdn.docswell.com/page/57GGX4N67L.jpg)

形態素解析とN-gramの比較
長所
形態素解析
N-gram
短所
•
インデックスサイズが小さい
•
インデックス作成に時間がかかる
•
検索実行時の処理が速い
•
辞書が必要
•
検索結果にノイズが少ない
•
検索漏れが発生する
•
インデックスの作成が速い
•
インデックスサイズが大きい
•
辞書を必要としない
•
検索実行時の処理が遅い
•
検索漏れがない
•
検索結果にノイズが多い
•
現在は、形態素解析による分割が一般的。
•
N-gramは、形態素解析と併用して、
検索漏れがないようにする目的で利用される。
Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.


# Page. 10

![Page Image](https://bcdn.docswell.com/page/4EQX8GQ27P.jpg)

検索エンジンの性能評価
Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.


# Page. 11

![Page Image](https://bcdn.docswell.com/page/KJ4625NP71.jpg)

性能評価のための3つの指標
1. 適合率: Precision
正確性を表す指標。
2. 再現率: Recall
網羅性を表す指標。
3. F値: F-mesure
適合率、再現率の総合的な指標。
Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.


# Page. 12

![Page Image](https://bcdn.docswell.com/page/LE1VMW5X7G.jpg)

適合率 : Precision
検索結果のドキュメント中(N)に、どれだけ正解
ドキュメント(R)を含んでいるかという正確性の指標。
R
Precision =
N
25
=
100
= 0.25
N
R
C
N
検索結果のドキュメント
検索できた正解ドキュメント
検索結果としての正解ドキュメント
Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.
R
C


# Page. 13

![Page Image](https://bcdn.docswell.com/page/GEWL365K72.jpg)

再現率 : Recall
検索結果としての正解ドキュメント(C)が、
どれだけ検索できているかという網羅性の指標。
R
Recall =
C
25
=
100
= 0.25
N
R
C
N
検索結果のドキュメント
検索できた正解ドキュメント
検索結果としての正解ドキュメント
Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.
R
C


# Page. 14

![Page Image](https://bcdn.docswell.com/page/47ZMVYNNE3.jpg)

F値 : F-measure
適合率、再現率の総合的な評価に用いられる。
2・Precision・Recall
R
F-measure =
=
1
Precision + Recall
(N + C)
2
25
=
1
(100 + 100)
2
= 0.25
N
R
C
N
検索結果のドキュメント
検索できた正解ドキュメント
検索結果としての正解ドキュメント
Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.
R
C


# Page. 15

![Page Image](https://bcdn.docswell.com/page/YJ6N5D89JV.jpg)

検索エンジンの課題
Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.


# Page. 16

![Page Image](https://bcdn.docswell.com/page/GJ55Y39DJ4.jpg)

形態素解析とN-gramの課題
長所
形態素解析
N-gram
短所
•
インデックスサイズが小さい
•
インデックス作成に時間がかかる
•
検索実行時の処理が速い
•
辞書が必要
•
検索結果にノイズが少ない
•
検索漏れが発生する
•
インデックスの作成が速い
•
インデックスサイズが大きい
•
辞書を必要としない
•
検索実行時の処理が遅い
•
検索漏れがない
•
検索結果にノイズが多い
現在は、形態素解析による分割が一般的。
N-gramは、形態素解析と併用して、
検索漏れがないようにする目的で利用される。
Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.


# Page. 17

![Page Image](https://bcdn.docswell.com/page/LE3N562QE5.jpg)

形態素解析による検索漏れの例
革のショルダーバッグ
日本語辞書
トークナイザ
文章を単語に分かち書き
革 の ショルダーバッグ
表層
品詞
・・・
・・・
・・・
・・・
ショルダーバッグ
・・・
名詞
・・・
・・・
・・・
×
「バッグ」では検索できない
新しいバッグ
バッグ
が欲しいな
ユーザ
Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.


# Page. 18

![Page Image](https://bcdn.docswell.com/page/8EDWDVZW7G.jpg)

N-gramによる検索ノイズの例
東京都港区赤坂
2-gram(Bi-gram)で分割
トークナイザ
東京
京都
都港
港区
×
区赤
赤坂
「京都」で検索できてしまう
京都へ旅行に
行きたいな
京都
ユーザ
Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.


# Page. 19

![Page Image](https://bcdn.docswell.com/page/V7P9XVDXJ8.jpg)

検索エンジンの課題
いかに検索漏れ、および検索ノイズを減らすかが課題。
検索ノイズ
検索漏れ
N
N
R
C
検索結果のドキュメント
検索できた正解ドキュメント
検索結果としての正解ドキュメント
Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.
R
C


# Page. 20

![Page Image](https://bcdn.docswell.com/page/2JVMLZ13JQ.jpg)

形態素解析の仕組み
Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.


# Page. 21

![Page Image](https://bcdn.docswell.com/page/5EGGX42YEL.jpg)

形態素とは
形態素とは、言語学の用語で、意味を持つ最小の単位の
こと。ある言語において、それ以上分解しては意味をな
さなくなるところまで分解して抽出された、音素のまと
まり。
赤坂でランチを食べて元気になった
赤坂
ランチ
で
て
元気
に
になっ
名詞
名詞
助詞
助詞
名詞
助詞
動詞
赤
名詞
坂
名詞
を
食べ
動詞
助詞
気
元
名詞
名詞
Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.
た
助詞
なっ
動詞


# Page. 22

![Page Image](https://bcdn.docswell.com/page/4JQX8GP6EP.jpg)

形態素辞書
形態素辞書
接続コスト表
表層
品詞
･･･
コスト
赤坂
赤
坂
で
ランチ
を
食べ
て
元気
名詞
名詞
名詞
助詞
名詞
助詞
動詞
助詞
名詞
-
4
3
7
5
5
元
気
になっ
に
なっ
た
名詞
名詞
動詞
助詞
動詞
助詞
-
3
7
5
3
5
6
10
4
5
5
右側
左
側
名詞
助詞
動詞
：
名詞
助詞
動詞
･･･
1
3
7
-
4
6
3
-
20
6
19
-
-
※ 形態素辞書、接続コスト表は
Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.
簡略化しています


# Page. 23

![Page Image](https://bcdn.docswell.com/page/K74625YME1.jpg)

連接コスト
エンジニアになった
繋がりやすい
に
コスト小
なっ
助詞
6
動詞
4
BOS
合計
コスト小
13
3
繋がりやすい
エンジニア
繋がりやすい
た
コスト小
名詞
助詞
20
EOS
3
繋がりにくい
になっ
コスト大
動詞
Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.
合計
繋がりやすい
コスト小
23


# Page. 24

![Page Image](https://bcdn.docswell.com/page/LJ1VMW6YEG.jpg)

単語生起コスト
カードローンの
出現しやすい
コスト小
繋がりやすい
6
カード
1
名詞
出現しやすい
6
コスト小
ローン
合計
名詞
19
2
4
BOS
の
繋がりやすい
助詞
4
カー
名詞
出現しやすい
コスト小
1
6
ドローン
合計
名詞
37
24
繋がりやすい
EOS
出現しにくい
コスト大
Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.


# Page. 25

![Page Image](https://bcdn.docswell.com/page/GJWL36W1E2.jpg)

形態素解析の仕組み
赤坂でランチを食べて元気になった
4
名詞
4
BOS
赤
4
5
名詞
助詞
動詞
気 4 に 6 なっ
元 1
赤坂
1
6
5
坂 4
5
5
3
7
で
ランチ
を
食べ
助詞
名詞
助詞
動詞
3
4
6
5
名詞
て 3
3
4
助詞
3
元気
3
20
20
5
た
助詞
になっ
名詞
名詞
名詞
動詞
3
7
3
10
EOS
3
連接コスト、単語生起コストの合計が小さいものが、
より良い形態素の並びである。
Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.


# Page. 26

![Page Image](https://bcdn.docswell.com/page/4EZMVY5XJ3.jpg)

検索エンジンの課題
いかに検索漏れ、および検索ノイズを減らすかが課題。
検索ノイズ
検索漏れ
N
N
R
C
検索結果のドキュメント
検索できた正解ドキュメント
検索結果としての正解ドキュメント
Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.
R
C


# Page. 27

![Page Image](https://bcdn.docswell.com/page/Y76N5D9P7V.jpg)

N-gramの併用による解決
新しいバッグ
が欲しいな
革のショルダーバッグ
q=field_ma:バッグ OR field_ng:バッグ
field_ma (形態素解析)
革 の
ユーザ
ショルダーバッグ
×
バッグ
field_ng (N-gram)
革の
のシ
ショ
ョル
ダー
ーバ
バッ
ッグ
ルダ
○
Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.
バッ
ッグ


# Page. 28

![Page Image](https://bcdn.docswell.com/page/G755Y3NP74.jpg)

N-gramの併用による課題
検索漏れを大きく改善できるが、検索ノイズが大量に発
生する恐れがある。
意味のない単語で無駄な
検索漏れ
インデックス領域を消費。
検索ノイズ
N
N
R
C
検索結果のドキュメント
検索できた正解ドキュメント
検索結果としての正解ドキュメント
Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.
R
C


# Page. 29

![Page Image](https://bcdn.docswell.com/page/9J2NGZ5ZER.jpg)

辞書の登録による解決
革のトートバッグ
トークナイザ
日本語辞書
文章を単語に分かち書き
革
の
×
トートバッグ
「バッグ」で検索できない
革のトートバッグ
日本語辞書
トークナイザ
文章を単語に分かち書き
革
ユーザ辞書
の
トート
「バッグ」で検索できる
表層
品詞
・・・
トート
名詞
・・・
・・・
・・・
・・・
新しいバッグ
が欲しいな
ユーザ
Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.
バッグ
○
バッグ


# Page. 30

![Page Image](https://bcdn.docswell.com/page/DEYPVRKNEM.jpg)

辞書の登録による課題
全ての単語を登録しきれない。
辞書登録による意図しない単語の分割がされ、
検索ノイズが発生する
検索漏れ
こともある。
検索ノイズ
N
N
R
C
検索結果のドキュメント
検索できた正解ドキュメント
検索結果としての正解ドキュメント
Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.
R
C


# Page. 31

![Page Image](https://bcdn.docswell.com/page/VJN5MDRV78.jpg)

JapaneseTokenizerのモード設定による解決
1. normalモード
•
登録されている辞書の単語で分割する。
2. searchモード (デフォルト)
•
normalモードと同様に単語に分割を行うが、辞書に登録されている単語の
複合語で分割可能である場合、さらに細かく分割し、複合語も出力する。
3. extendedモード
•
searchモードと同様に複合語の処理を行うが、複合語は出力しない。ま
た、辞書に登録ない未知語をUni-gram(1-gram)でトークナイズする。
Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.


# Page. 32

![Page Image](https://bcdn.docswell.com/page/YE9YNGMVJ3.jpg)

JapaneseTokenizerのモードの使用
羽田空港オリジナルトートバッグ
normalモード
羽田空港
オリジナルトートバッグ
searchモード
羽田空港
羽田
空港
オリジナルトートバッグ
オリジナル
トートバッグ
extendedモード
羽田
空港
オリジナル
ト
ー
ト
Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.
バ
ッ
グ


# Page. 33

![Page Image](https://bcdn.docswell.com/page/GE86KVL47D.jpg)

JapaneseTokenizerのモード設定による課題
searchモード、extendedモードを使用することで
手軽に再現率を向上させることが可能だが、
全ての問題を解決できない。
検索漏れ
検索ノイズ
N
N
R
C
検索結果のドキュメント
検索できた正解ドキュメント
検索結果としての正解ドキュメント
Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.
R
C


# Page. 34

![Page Image](https://bcdn.docswell.com/page/LEL9Z5LVJR.jpg)

JapaneseTokenizerの課題
•
形態素解析によって出力される単語は、連接コスト、
単語生起コストを基に最適と思われる単語に分割
されるが、意図しない分割がされる場合がある。
•
最良と思われる、1つの形態素の連結パターンしか
出力できないため、複数の解釈が可能な文字列には
対応できない。
Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.


# Page. 35

![Page Image](https://bcdn.docswell.com/page/4JMZV3MNEW.jpg)

意図しない分割をされる例
外国人参政権
↓
外国 / 人 / 参政 / 権
Voting rights for foreign residents.
Some rights reserved by MDGovpics
Carrot ?
または
外国 / 人参 / 政権
Some rights reserved by Max Braun
The Carrot Administration of a foreign country.
Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.


# Page. 36

![Page Image](https://bcdn.docswell.com/page/PJR62QV479.jpg)

「外国人参政権」の例
外国人参政権
normalモード
外国
外国
人参
政権
期待する
人
人参
が出力されない
政権
extendedモード
外国
参政
searchモード
人参
政権
Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.
権


# Page. 37

![Page Image](https://bcdn.docswell.com/page/PEXMD5ZZ7X.jpg)

複数の解釈が可能な例
こちらは社長室長谷川です
長谷川です
谷川です
↓
Some rights reserved by A ONE-MAN ARMY RETURNS TO NO-MANS&#039; LAND
こちら / は / 社長 / 室 / 長谷川 / です
This is Hasegawa, member of President’s Office.
または
こちら / は / 社長 / 室長 / 谷川 / です
This is Tanigawa, executive secretary of President’s Office.
Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.


# Page. 38

![Page Image](https://bcdn.docswell.com/page/3EKGX68VJD.jpg)

「こちらは社長室長谷川です」の例
こちらは社長室長谷川です
期待していない
長谷
normalモード
こちら
は
社長
室
長谷川
です
室
長谷川
長谷
室
長谷
が出力される
searchモード
こちら
は
社長
川
extendedモード
こちら
は
社長
川
川
です
Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.
です


# Page. 39

![Page Image](https://bcdn.docswell.com/page/L73N56MQ75.jpg)

searchモード、extendedモードの課題
社長室長谷川
BOS
できること
社長
室
長谷川
名詞
名詞
名詞
複合語の分割が可能な場合のみ
複数の分割候補の出力はできない
できないこと
BOS
長谷
川
名詞
名詞
室
長谷川
社長
名詞
名詞
名詞
室長
谷川
名詞
名詞
EOS
EOS
Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.


# Page. 40

![Page Image](https://bcdn.docswell.com/page/87DWDV6WJG.jpg)

N-bestの提案
Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.


# Page. 41

![Page Image](https://bcdn.docswell.com/page/VJP9XVYXE8.jpg)

N-best
こちらは社長室長谷川です
5
8
1
社長
名詞
BOS
5
4
こちら
は
名詞
4
助詞
3
3
7
1
10
社
長
名詞
1
名詞
9
1
室長
名詞
1
4
7
1
10
室
長
助詞
3
名詞
3
複数の解釈が可能な
テキスト対応したい
3
谷川
名詞
1
1
11
11
谷
川
1
名詞
8
名詞
1
長谷
名詞
6
長谷川
名詞
Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.
4
4
4
です
4
助動詞
EOS


# Page. 42

![Page Image](https://bcdn.docswell.com/page/2EVMLZG3EQ.jpg)

N-bestの実装
目的
•
解釈によって異なる複数のパターンでの分割、複合
語の分割を可能にし、再現率の向上を目指す。
•
N-bestといってもNを直接指定するのではなく、
ベストパスからのコスト値の差を指定することで、
無理のある分割がされないようにする。
Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.


# Page. 43

![Page Image](https://bcdn.docswell.com/page/57GGX48Y7L.jpg)

N-bestの実装
ゴール
•
JapaneseTokenizerにN-best機能を追加する。
•
normal、search、extendedの各モードとの併用を
可能とする。
•
N-best出力のコスト閾値を直接指定、または例文か
ら求め指定可能にする。
Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.


# Page. 44

![Page Image](https://bcdn.docswell.com/page/4EQX8G967P.jpg)

N-bestの実装
仕様
•
nbestCost、nbestExamplesパラメータの設定でN-best出力を制御する。
•
0 &lt; nbestCostならN-bestを出力する。nbestCostはN-best出力として
許容される最大のコスト差分(allowable cost difference for N-best)を示す。
•
適切なコスト差分を求めるために、nbestExamplesで例文を指定でき
る。
•
例文からコスト差分を求めることができれば、例文からのコスト差分と
直接指定のコスト差分のうち大きな値が有効にする。
Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.


# Page. 45

![Page Image](https://bcdn.docswell.com/page/KJ4625XM71.jpg)

N-bestの実装
サンプル schema.xml
&lt;fieldType name=&quot;text_ja&quot; class=&quot;solr.TextField&quot; positionIncrementGap=&quot;100&quot;
autoGeneratePhraseQueries=&quot;true&quot;&gt;
&lt;analyzer type=“index&quot;&gt;
...
&lt;tokenizer class=&quot;solr.JapaneseTokenizerFactory&quot; mode=&quot;normal&quot;
nbestCost=&quot;2000&quot;
nbestExamples=&quot;/社長室長谷川-長谷川/社長室長谷川-谷川/&quot; /&gt;
...
&lt;/analyzer&gt;
&lt;analyzer type=&quot;query&quot;&gt;
&lt;tokenizer class=&quot;solr.JapaneseTokenizerFactory&quot; mode=&quot;normal&quot; /&gt;
...
&lt;/analyzer&gt;
&lt;/fieldType&gt;
Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.


# Page. 46

![Page Image](https://bcdn.docswell.com/page/LE1VMWNY7G.jpg)

N-bestの実行確認
normalモード
Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.


# Page. 47

![Page Image](https://bcdn.docswell.com/page/GEWL364172.jpg)

N-bestの実行確認
normalモードかつnbestCost=2000
Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.


# Page. 48

![Page Image](https://bcdn.docswell.com/page/47ZMVY2XE3.jpg)

N-bestの実行確認
normalモードでは
「デジタル一眼レフ」は「一眼レフ」で検索できない
×
一致しない
一致
Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.


# Page. 49

![Page Image](https://bcdn.docswell.com/page/YJ6N5DVPJV.jpg)

N-bestの実行確認
normalモードかつnbestCost=2000で
「デジタル一眼レフ」が「一眼レフ」で検索できる
一致
一致
Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.


# Page. 50

![Page Image](https://bcdn.docswell.com/page/GJ55Y3DPJ4.jpg)

N-bestの評価
•
評価用データ
アンパサンド
言語
日本語
•
Wikipediaダンプから取得したタイトル
(1,541,544タイトル)
地理学
EU (曖昧さ回避)
国の一覧
SandBox
パリ
ヨーロッパ
•
…
評価方法
•
nbestCostを0から5000まで1000毎に変化させ、
評価用データからトークンを出力
•
出力されたトークンの差分を目視で確認し、
Good、Neutral、Badの3段階でジャッジ
Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.
Good : 良い
Neutral : 中立
Bad : 悪い


# Page. 51

![Page Image](https://bcdn.docswell.com/page/9E2NGZ8Z7R.jpg)

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.


# Page. 52

![Page Image](https://bcdn.docswell.com/page/D7YPVR6N7M.jpg)

N-bestの評価指標 - Good
•
複合語が正しい単語で区切られる
title
ヒルマン・ミンクス
岡山県道69号西大寺備前線
(おかやまけんどう69ごう さいだいじびぜんせん)
ドラッグマスターファイル
nbestCost=0
ヒルマン / ・ / ミン / クス
nbestCost=1000
ヒルマン / ・ / ミン / ミンクス / クス
岡山 / 県 / 道 / 69 / 号 / 西大寺 / 備前 / 線 岡山 / 県 / 県道 / 道 / 69 / 号 / 西大寺 / 備前 / 線
ドラッグマスターファイル
ドラッグ / マスター / ファイル
Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.


# Page. 53

![Page Image](https://bcdn.docswell.com/page/VEN5MDZVJ8.jpg)

N-bestの評価指標 - Neutral
•
どちらも誤解析
title
鈴木里一郎
(すずき さといちろう)
あしたまにあーな
•
nbestCost=0
nbestCost=1000
鈴木 / 里 / 一郎
鈴木 / 里 / 一 / 一郎 / 郎
あし / たま / に / あー / な
あし / たま / たまに / に / あー / な
元の結果でも問題ない
title
山田温泉
(やまだおんせん)
フィルムアウト
nbestCost=0
nbestCost=1000
山田 / 温泉
山田 / 山田温泉 / 温泉
フィルム / アウト
フィルム / フィルムアウト / アウト
Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.


# Page. 54

![Page Image](https://bcdn.docswell.com/page/Y79YNGZVE3.jpg)

N-bestの評価指標 - Bad
•
ノイズが発生する
title
nbestCost=0
nbestCost=1000
ジャン・ピエール・ランパル ジャン / ・ / ピエール / ・ / ランパル ジャン / ・ / ピエール / ・ / ラン / ランパル / パル
供御職
(くごしょく)
市川市立高谷中学校
(いちかわしりつ こうやちゅうがっこう)
供御 / 職
供 / 供御 / 御職 / 職
市川 / 市立 / 高谷 / 中学校
市川 / 市立 / 高 / 高谷 / 谷中 / 中学校 / 学校
Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.


# Page. 55

![Page Image](https://bcdn.docswell.com/page/G786KV14JD.jpg)

N-bestの評価結果
nbestCostの値の変更前と変更後で、出力に変化が見られ
たタイトル300件を無作為に抽出して評価。
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.6
+0.16
0.45
-0.07
0.3
0.15
-0.15
-0.25
+0.37
0
0
1000
-0.26
2000
3000
Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.
4000
5000


# Page. 56

![Page Image](https://bcdn.docswell.com/page/L7L9Z5QVER.jpg)

N-bestの比較とまとめ
長所
非N-best
短所
•
インデックスサイズが小さい
•
インデックス作成に時間がかかる
•
検索実行時の処理が速い
•
辞書が必要
•
検索結果にノイズが少ない
•
検索漏れが発生する
•
N-gramよりインデックスサイズが小さい
•
非N-bestよりインデックスサイズが大きい
•
N-gramより検索結果のノイズが少ない
•
非N-bestより検索結果のノイズが多い
•
N-gramより検索漏れが多い
•
非N-bestより検索漏れが少ない
•
インデックスの作成が速い
•
インデックスサイズが大きい
•
辞書を必要としない
•
検索実行時の処理が遅い
•
検索漏れがない
•
検索結果にノイズが多い
形態素解析
N-best
N-gram
•
N-gramとの併用よりも意味のある単語でより細かく分割が可能。
•
複数の解釈が可能な文字列への対応が可能。
Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.


# Page. 57

![Page Image](https://bcdn.docswell.com/page/4EMZV31N7W.jpg)

Yahoo! JAPAN より皆さまへ
Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.


# Page. 58

![Page Image](https://bcdn.docswell.com/page/PER62QL4J9.jpg)

Apache Lucene/Solrの形態素解析の
課題を解決したい！
Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.


# Page. 59

![Page Image](https://bcdn.docswell.com/page/P7XMD5WZJX.jpg)

N-bestパッチ
LUCENE-6837
https://issues.apache.org/jira/browse/LUCENE-6837
via
Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.


# Page. 60

![Page Image](https://bcdn.docswell.com/page/37KGX6VVED.jpg)

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 &lt; ../LUCENE-6837.patch
# ivyセットアップ
$ ant ivy-bootstrap
# コンパイル
$ ant compile
# テスト
$ ant test
Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.


# Page. 61

![Page Image](https://bcdn.docswell.com/page/LJ3N58QQJ5.jpg)

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 &quot;name=nbest_sample&quot; &gt; server/solr/nbest_sample/core.properties
$ vi server/solr/nbest_sample/conf/schema.xml
&lt;fieldType name=&quot;text_ja_normal_nbest_2000&quot; class=&quot;solr.TextField&quot; positionIncrementGap=&quot;100&quot;
autoGeneratePhraseQueries=&quot;true&quot;&gt;
&lt;analyzer&gt;
&lt;tokenizer class=&quot;solr.JapaneseTokenizerFactory&quot; mode=&quot;normal&quot; nbestCost=&quot;2000&quot;/&gt;
&lt;/analyzer&gt;
&lt;/fieldType&gt;
# Solrの起動
$ ./bin/solr start -p 8983 -s server/solr
Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.


# Page. 62

![Page Image](https://bcdn.docswell.com/page/8JDWDM9WEG.jpg)

Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved.


