SlideShare une entreprise Scribd logo
1  sur  33
拡張型NLP『JMAT』における
実利用に向けた形態素解析の
リソースチューニング
2017年 3月 6日
株式会社ジャストシステム
CPS事業部開発部AIチーム
北浦雅子・紀伊馬章
目次
1. 各種紹介
2. JMATの特長
3. JMATのリソースチューニング
-コーパス
-辞書
4. まとめ
2
会社紹介
設立
1981年 6月 2日
※創立 1979年 7月 7日
本社所在地
東京都新宿区西新宿6-8-1 住友不動産新宿オークタワー
事業内容
「ことば」や「ドキュメント」をコンピュータで扱う
ための技術やノウハウの研究を中核とした、
ソフトウェア製品の開発と販売、および関連する
サービスの提供を行う。
提案型の自社商品開発が特徴。
3
商品紹介
一太郎・ATOKのような個人向けだけではなく
企業・学校・官公庁といった法人向けにも役に立つ商品を提供
4
一太郎 ATOK
ソーシャル
セレクトショップ
転職情報サイト
医療向け入力・変換ソフト
/オフィス統合ソフト
商品紹介-自然言語処理の関与が大きい商品
5
一太郎 ATOK
医療向け入力・変換ソフト
/オフィス統合ソフト
※ほぼすべての商品に何らかの自然言語処理が関与
ソーシャル
セレクトショップ
転職情報サイト
 35年以上の歴史をもつ日本語入力システム
 ルールベースの「n文節最長一致」がベース
 ATOK2007以降「ハイブリッドコア」を採用
 ATOK2017で「ディープコアエンジン」を採用
人の知識と機械学習の融合によりさらなる進化を
 企業内検索システム
 独自アルゴリズム「NL-Vgram」を搭載
 辞書と統計情報によるハイブリッドアプローチ
4,100社超の導入実績をもつ最強の検索システム
自然言語処理をフル活用した代表的な商品
6
自然言語処理を担うAIチーム
7
ミッション
「繊細な自然言語処理」による課題解決
• 課題解決に最適な解決策を提供するための技術選択
最適な技術 ≠ 最新の技術
• ユーザーや商品要件にあわせた徹底的なエラー分析・洗練
数値的な高精度 ≠ ユーザー満足度
• 統計・機械学習とルールベースのハイブリッド・アプローチ
ユーザー満足度を高めるための「例外との格闘」
体制
開発チーム:主にプログラム担当
辞書チーム:主にデータリソース担当
辞書チームの役割-
8
「
繊
細
な
自
然
言
語
処
理
」
徹底的な分析・検証
最適な技術選択
統計・機械学習とルールベースの
ハイブリッドアプローチ
リソースの作成・洗練
開発チームとタッグを組み
商品レベルに仕上げ
徹底的な分析・検証
技術を実用レベルに引き上げる
ための分析、ワークフローの策定
ジャストシステムクォリティの
商品に仕上げる
目次
1. 各種紹介
2. JMATの特長
3. JMATのリソースチューニング
-コーパス
-辞書
4. まとめ
9
JMATとは?
JustSystems Morphological Analysis Technorogy
ATOK、ConceptBaseで培ったノウハウと
機械学習を融合した日本語解析エンジン
本日は、このエンジンにおける形態素解析のリソースチューニングのお話です
10
JMATの特長(1/2)-高精度・高機能
高精度
世界最強(自称)
高機能
 機能1:多彩な正規化
日本語特有の様々な表記揺れを正規化
機能 正規化例
正規化前 → 正規化後
半角・全角の正規化 ファイル → ファイル
大文字・小文字の正規化 Web、WEB → web
カタカナ表記の正規化 アイシャドウ → アイシャドー
異体字の正規化 渡邉、渡邊 → 渡辺
送り仮名の正規化 受け付け、受付け → 受付
その他の正規化 穴子、あなご → アナゴ 11
JMATの特長(2/2)-高機能
高機能
機能2:用途に応じた単語長の選択
例)テキストマイニング…長単位、全文検索…短単位
機能3:打ち言葉特有のくだけた表現の解析
小書き、俗語、長音の挿入などへの対応
長単位例 短単位例
東京都 東京+都
経営者 経営+者
桜もち 桜+もち
表記例 正規化例
ぉぃしぃ おいしい
うめえ うまい
ぜーーったぃ 絶対
12
目次
1. 各種紹介
2. JMATの特長
3. JMATのリソースチューニング
-コーパス
-辞書
4. まとめ
13
JMAT-初期段階
開発テーマ
高精度・高機能な形態素解析器開発
※CRF・数百万文のコーパスを使用
実験結果
○ :当社旧形態素解析器以上の精度を達成
× :解析傾向に説明性がない=分析・洗練作業が困難
・解析結果に大量の差分が発生(改善も多いが、改悪も多い…)
・解析傾向が不明(難しい事例が解析できても、簡単な事例で誤る…)
→ 数値的にはよいが、商品化には難あり!
14
JMAT-初期実験結果を踏まえた方針の変更
開発テーマ2
高精度・高機能で、
分析・洗練作業が可能な形態素解析器開発
方針の変更
数百万文のタグ付きコーパスで学習
小規模だが標準的な機能表現を網羅した
斉一で高品質なタグ付きコーパスで学習
15
JMATのコーパス作成の要点
小規模だが斉一で高品質なタグ付きコーパス
 網羅性
標準的な機能表現を網羅
∵解析誤りを抑制
 一貫性
基準のすりあわせとクロスチェックを繰り返し、
斉一で高品質なタグ付けを実施
∵極力解析揺れを抑制
→大規模化は困難な手法だが、上記の徹底により初期精度
より高精度で、ある程度説明性のある解析を実現
16
JMAT-商品化に向けた課題解決
新しい形態素解析器商品化のための課題解決
課題1:当社旧形態素解析器からの改悪抑制
→数百万文コーパスから誤り事例を追加し再学習
課題2:洗練手法の確立
→部分アノテーション学習
課題3:例外を押さえ込む手法の確立
→言語知識導入
JMAT商品化に向けた目処が立った!
17
目次
1. 各種紹介
2. JMATの特長
3. JMATのリソースチューニング
-コーパス
-辞書
4. まとめ
18
JMATの辞書
汎用辞書
様々な用途での利用を想定した汎用的に使用できる辞書
特化辞書
特定用途での利用を想定した目的に特化した課題解決の
ための辞書
• 分野限定であれば適用可能な語彙を登録し、汎用辞書にプラ
スオンで形態素解析をおこなう →「分野別辞書」
• 形態素解析結果の取得が目的ではなく、用途に特化した処理
をおこなう →「特定ドメイン専用辞書」
ユーザー辞書
19
汎用辞書-概要
登録語彙数
65万語以上
更新頻度
3ヶ月ごと
更新例
20
更新時期 追加語彙例
2017年 1月 トランプノミクス、ヌーハラ、パクチスト、結浜、ラッカ
2016年10月 溶材、こにゅうどうくん、まいばすけっと、エンジェニョン
2016年 7月 ニホニウム、フォギー、家事メン、ヤメ検、纒向
2016年 4月 菌活、素っ破、バスタ新宿、スカンツ、ロカボ、ペヨング
汎用辞書-登録方針
「かたい表現」から「やわらかい表現」まで幅広く登録
登録時留意事項
説明性
• 一貫性(品詞付与基準、分割単位、正規化表記など)
• 規範主義も意識しつつ、記述主義も意識
新語
• 一般的なものはなるべく登録
ただし一過性のものは登録しない
弊害回避
• 登録することで新たな誤解析を生む場合は原則見送る
21
汎用辞書-登録情報
高精度・高機能を実現するために必要な情報を付加
表記
• 読み情報も含む
品詞
• 公開品詞は約60種類
• 内部品詞は600種類以上
正規化情報
• 汎用的な利用を想定した、説明性のある「表記の正規化情報」
単語長
• 単語長の切り替えを考慮した分割情報
22
辞書チューニング時の留意事項
次の点に留意してチューニングを実施
既存顧客への影響は極力回避
• 特にもともと正解析のものはできるだけ維持
影響する変更の場合は説明性を担保できること
• 多くの顧客に広く共通する改善である場合は変更
• メリットが特定シーンに限られる場合は顧客別の対応と
する場合も
23
汎用辞書への語彙追加-登録ステップ
汎用辞書への語彙追加は、次の3ステップで実施
1. 登録候補収集
2. 登録候補選別
3. 登録結果検証
次ページ以降で順に説明します
24
汎用辞書への語彙追加-1. 登録候補収集
登録候補の収集
よく使われそうな表現を多様なジャンルから収集
• 定期的な収集
Web/SNS/社内データ
• 適宜収集
日々の蓄積/要望
など
25
汎用辞書への語彙追加-2. 登録候補選別
登録候補の一次選別
• 正解析の候補を除外
• 過去に検討済みの候補も原則除外
登録時留意事項による選別
• 顧客への説明性に欠ける候補や一過性の候補などを
除外
登録対象整備
• 既存語彙との整合性確保(登録時/解析時)
• 必要情報の付加
• 類似語彙の収集と追加
26
汎用辞書への語彙追加-3. 登録結果検証
既存の解析結果への影響確認
• 悪影響があれば影響範囲・重要度に応じて対策
 さらなる登録エントリーの追加
 言語知識導入
• 影響範囲・重要度によっては見送り
 分野別辞書にて回復の余地あり
27
分野別辞書への語彙追加-特化辞書
汎用辞書に登録すると弊害が生じたり、影響が大きかっ
たりするが、分野限定であれば適用可能な語彙を登録
 食品・料理辞書
例1)「お通し」:お通しください
解釈1)通してください
解釈2)「お通し」をください
例2)「劇辛いか」:劇辛いか
解釈1)とても辛いか?
解釈2)とても辛いイカ
以上のように複数解釈可能だが、「食品・料理」の分野限定であ
れば解釈2を優先しても問題になりにくい
28
形態素解析目的ではなく、情報抽出目的で語彙を登録
目的例)各企業の求人ページから職種名を認定し、タグ化
• 各企業の求人ページに出現し得る職種名(認定)
• 一般的に職種としてイメージしやすい職種名(タグ化)
「法人営業」の出現バリエーションを
専用辞書に登録
・コーポレート営業
・BtoB事業分野における営業職
・ソリューション化および提案営業
特定ドメイン専用辞書への語彙追加
-特化辞書
29
認定して
タグ化
目次
1. 各種紹介
2. JMATの特長
3. JMATのリソースチューニング
-コーパス
-辞書
4. まとめ
30
JMATの主なリソースチューニング
コーパス
 ベース学習用コーパス
• 小規模だが標準的な機能表現を網羅
• 斉一で高品質なタグ付けを実施
 部分アノテーション学習用コーパス
• 教えたい部分のみタグ付けを実施
辞書
 汎用辞書
• 既存顧客への影響は極力回避
• 影響する変更の場合は説明性を担保
 特化辞書(分野別辞書・特定ドメイン専用辞書)
• 課題解決のための最適解を提供
31
付録
本日詳しくお話ししなかったトピックなど、
関連するスライドは、下記に公開しています。
https://www.slideshare.net/JSUXDesign/presentations
※本日のスライドも、後日公開予定です。
なお、JMATにご興味のある方は下記をご覧ください。
http://www.atok.com/biz/jmat.html
slideshare ジャストシステム 検索
32
JMAT ジャストシステム 検索
AIチームメンバー募集!
以下にご興味のある方、
ぜひAIチームメンバーになってください!
開発チームも辞書チームも募集しています!!
自然言語処理を活用した提案型の自社商品開発
「繊細な自然言語処理」による課題解決
自然言語処理技術の商品化
33
新たな出会い、お待ちしています♪

Contenu connexe

Plus de JustSystems Corporation

「技術内閣制度」〜2年間やってきて得られた事とこれから〜 #devsumi
「技術内閣制度」〜2年間やってきて得られた事とこれから〜 #devsumi「技術内閣制度」〜2年間やってきて得られた事とこれから〜 #devsumi
「技術内閣制度」〜2年間やってきて得られた事とこれから〜 #devsumiJustSystems Corporation
 
事業に貢献する商品開発と その成長の仕組み作り ~これからのエンジニアに必要とされるスキルとは~
事業に貢献する商品開発と その成長の仕組み作り ~これからのエンジニアに必要とされるスキルとは~事業に貢献する商品開発と その成長の仕組み作り ~これからのエンジニアに必要とされるスキルとは~
事業に貢献する商品開発と その成長の仕組み作り ~これからのエンジニアに必要とされるスキルとは~JustSystems Corporation
 
現役23名のPM:タイプ別マネジメントパターン
現役23名のPM:タイプ別マネジメントパターン現役23名のPM:タイプ別マネジメントパターン
現役23名のPM:タイプ別マネジメントパターンJustSystems Corporation
 
JavaでインメモリSQLエンジンを作ってみた
JavaでインメモリSQLエンジンを作ってみたJavaでインメモリSQLエンジンを作ってみた
JavaでインメモリSQLエンジンを作ってみたJustSystems Corporation
 
DDDとクリーンアーキテクチャでサーバーアプリケーションを作っている話
DDDとクリーンアーキテクチャでサーバーアプリケーションを作っている話DDDとクリーンアーキテクチャでサーバーアプリケーションを作っている話
DDDとクリーンアーキテクチャでサーバーアプリケーションを作っている話JustSystems Corporation
 
JustTechTalk#11_スマイルゼミ顧客満足度への貢献
JustTechTalk#11_スマイルゼミ顧客満足度への貢献JustTechTalk#11_スマイルゼミ顧客満足度への貢献
JustTechTalk#11_スマイルゼミ顧客満足度への貢献JustSystems Corporation
 
ピュアJavaだと思った?残念androidでした~いつからAndroidをJavaだと錯覚していた?~
ピュアJavaだと思った?残念androidでした~いつからAndroidをJavaだと錯覚していた?~ピュアJavaだと思った?残念androidでした~いつからAndroidをJavaだと錯覚していた?~
ピュアJavaだと思った?残念androidでした~いつからAndroidをJavaだと錯覚していた?~JustSystems Corporation
 
最新のJava言語仕様で見るモジュールシステム #jjug
最新のJava言語仕様で見るモジュールシステム #jjug最新のJava言語仕様で見るモジュールシステム #jjug
最新のJava言語仕様で見るモジュールシステム #jjugJustSystems Corporation
 
「書ける」から「できる」になれる! ~Javaメモリ節約ノウハウ話~
「書ける」から「できる」になれる! ~Javaメモリ節約ノウハウ話~「書ける」から「できる」になれる! ~Javaメモリ節約ノウハウ話~
「書ける」から「できる」になれる! ~Javaメモリ節約ノウハウ話~JustSystems Corporation
 
ジャストシステムのDevOps実例 今後の取り組み
ジャストシステムのDevOps実例 今後の取り組みジャストシステムのDevOps実例 今後の取り組み
ジャストシステムのDevOps実例 今後の取り組みJustSystems Corporation
 
Javaチョットデキルへの道〜JavaコアSDKに見る真似したいコード10選〜
Javaチョットデキルへの道〜JavaコアSDKに見る真似したいコード10選〜Javaチョットデキルへの道〜JavaコアSDKに見る真似したいコード10選〜
Javaチョットデキルへの道〜JavaコアSDKに見る真似したいコード10選〜JustSystems Corporation
 
Kotlin is charming; The reasons Java engineers should start Kotlin.
Kotlin is charming; The reasons Java engineers should start Kotlin.Kotlin is charming; The reasons Java engineers should start Kotlin.
Kotlin is charming; The reasons Java engineers should start Kotlin.JustSystems Corporation
 
CSSレイアウトでなぜ失敗するか?
CSSレイアウトでなぜ失敗するか?CSSレイアウトでなぜ失敗するか?
CSSレイアウトでなぜ失敗するか?JustSystems Corporation
 
「訴求ファースト」と「こだわり駆動開発」~教育、医療、もの書き市場で戦うプロダクトマネージャーの考え方~
「訴求ファースト」と「こだわり駆動開発」~教育、医療、もの書き市場で戦うプロダクトマネージャーの考え方~「訴求ファースト」と「こだわり駆動開発」~教育、医療、もの書き市場で戦うプロダクトマネージャーの考え方~
「訴求ファースト」と「こだわり駆動開発」~教育、医療、もの書き市場で戦うプロダクトマネージャーの考え方~JustSystems Corporation
 
メンバーのスキルアップ、どうしてる? − Java 100本ノックで新加入メンバーを鍛えてみた −
メンバーのスキルアップ、どうしてる? − Java 100本ノックで新加入メンバーを鍛えてみた −メンバーのスキルアップ、どうしてる? − Java 100本ノックで新加入メンバーを鍛えてみた −
メンバーのスキルアップ、どうしてる? − Java 100本ノックで新加入メンバーを鍛えてみた −JustSystems Corporation
 
ArrayListをじっくり読んでみた - JavaコアSDKを読む会を社内でやって気づいたこと -
ArrayListをじっくり読んでみた - JavaコアSDKを読む会を社内でやって気づいたこと -ArrayListをじっくり読んでみた - JavaコアSDKを読む会を社内でやって気づいたこと -
ArrayListをじっくり読んでみた - JavaコアSDKを読む会を社内でやって気づいたこと -JustSystems Corporation
 
ジャストシステムJava100本ノックのご紹介
ジャストシステムJava100本ノックのご紹介ジャストシステムJava100本ノックのご紹介
ジャストシステムJava100本ノックのご紹介JustSystems Corporation
 
ATOK Spark のご紹介とJavaによるプラグイン開発について
ATOK Spark のご紹介とJavaによるプラグイン開発についてATOK Spark のご紹介とJavaによるプラグイン開発について
ATOK Spark のご紹介とJavaによるプラグイン開発についてJustSystems Corporation
 

Plus de JustSystems Corporation (20)

「技術内閣制度」〜2年間やってきて得られた事とこれから〜 #devsumi
「技術内閣制度」〜2年間やってきて得られた事とこれから〜 #devsumi「技術内閣制度」〜2年間やってきて得られた事とこれから〜 #devsumi
「技術内閣制度」〜2年間やってきて得られた事とこれから〜 #devsumi
 
事業に貢献する商品開発と その成長の仕組み作り ~これからのエンジニアに必要とされるスキルとは~
事業に貢献する商品開発と その成長の仕組み作り ~これからのエンジニアに必要とされるスキルとは~事業に貢献する商品開発と その成長の仕組み作り ~これからのエンジニアに必要とされるスキルとは~
事業に貢献する商品開発と その成長の仕組み作り ~これからのエンジニアに必要とされるスキルとは~
 
現役23名のPM:タイプ別マネジメントパターン
現役23名のPM:タイプ別マネジメントパターン現役23名のPM:タイプ別マネジメントパターン
現役23名のPM:タイプ別マネジメントパターン
 
JavaでインメモリSQLエンジンを作ってみた
JavaでインメモリSQLエンジンを作ってみたJavaでインメモリSQLエンジンを作ってみた
JavaでインメモリSQLエンジンを作ってみた
 
DDDとクリーンアーキテクチャでサーバーアプリケーションを作っている話
DDDとクリーンアーキテクチャでサーバーアプリケーションを作っている話DDDとクリーンアーキテクチャでサーバーアプリケーションを作っている話
DDDとクリーンアーキテクチャでサーバーアプリケーションを作っている話
 
JustTechTalk#11_スマイルゼミ顧客満足度への貢献
JustTechTalk#11_スマイルゼミ顧客満足度への貢献JustTechTalk#11_スマイルゼミ顧客満足度への貢献
JustTechTalk#11_スマイルゼミ顧客満足度への貢献
 
ピュアJavaだと思った?残念androidでした~いつからAndroidをJavaだと錯覚していた?~
ピュアJavaだと思った?残念androidでした~いつからAndroidをJavaだと錯覚していた?~ピュアJavaだと思った?残念androidでした~いつからAndroidをJavaだと錯覚していた?~
ピュアJavaだと思った?残念androidでした~いつからAndroidをJavaだと錯覚していた?~
 
最新のJava言語仕様で見るモジュールシステム #jjug
最新のJava言語仕様で見るモジュールシステム #jjug最新のJava言語仕様で見るモジュールシステム #jjug
最新のJava言語仕様で見るモジュールシステム #jjug
 
「書ける」から「できる」になれる! ~Javaメモリ節約ノウハウ話~
「書ける」から「できる」になれる! ~Javaメモリ節約ノウハウ話~「書ける」から「できる」になれる! ~Javaメモリ節約ノウハウ話~
「書ける」から「できる」になれる! ~Javaメモリ節約ノウハウ話~
 
ジャストシステムのDevOps実例 今後の取り組み
ジャストシステムのDevOps実例 今後の取り組みジャストシステムのDevOps実例 今後の取り組み
ジャストシステムのDevOps実例 今後の取り組み
 
Javaチョットデキルへの道〜JavaコアSDKに見る真似したいコード10選〜
Javaチョットデキルへの道〜JavaコアSDKに見る真似したいコード10選〜Javaチョットデキルへの道〜JavaコアSDKに見る真似したいコード10選〜
Javaチョットデキルへの道〜JavaコアSDKに見る真似したいコード10選〜
 
Kotlin is charming; The reasons Java engineers should start Kotlin.
Kotlin is charming; The reasons Java engineers should start Kotlin.Kotlin is charming; The reasons Java engineers should start Kotlin.
Kotlin is charming; The reasons Java engineers should start Kotlin.
 
CSSレイアウトでなぜ失敗するか?
CSSレイアウトでなぜ失敗するか?CSSレイアウトでなぜ失敗するか?
CSSレイアウトでなぜ失敗するか?
 
「訴求ファースト」と「こだわり駆動開発」~教育、医療、もの書き市場で戦うプロダクトマネージャーの考え方~
「訴求ファースト」と「こだわり駆動開発」~教育、医療、もの書き市場で戦うプロダクトマネージャーの考え方~「訴求ファースト」と「こだわり駆動開発」~教育、医療、もの書き市場で戦うプロダクトマネージャーの考え方~
「訴求ファースト」と「こだわり駆動開発」~教育、医療、もの書き市場で戦うプロダクトマネージャーの考え方~
 
メンバーのスキルアップ、どうしてる? − Java 100本ノックで新加入メンバーを鍛えてみた −
メンバーのスキルアップ、どうしてる? − Java 100本ノックで新加入メンバーを鍛えてみた −メンバーのスキルアップ、どうしてる? − Java 100本ノックで新加入メンバーを鍛えてみた −
メンバーのスキルアップ、どうしてる? − Java 100本ノックで新加入メンバーを鍛えてみた −
 
ArrayListをじっくり読んでみた - JavaコアSDKを読む会を社内でやって気づいたこと -
ArrayListをじっくり読んでみた - JavaコアSDKを読む会を社内でやって気づいたこと -ArrayListをじっくり読んでみた - JavaコアSDKを読む会を社内でやって気づいたこと -
ArrayListをじっくり読んでみた - JavaコアSDKを読む会を社内でやって気づいたこと -
 
ジャストシステムJava100本ノックのご紹介
ジャストシステムJava100本ノックのご紹介ジャストシステムJava100本ノックのご紹介
ジャストシステムJava100本ノックのご紹介
 
ATOK Spark のご紹介とJavaによるプラグイン開発について
ATOK Spark のご紹介とJavaによるプラグイン開発についてATOK Spark のご紹介とJavaによるプラグイン開発について
ATOK Spark のご紹介とJavaによるプラグイン開発について
 
スマイルゼミの裏側(db編)
スマイルゼミの裏側(db編)スマイルゼミの裏側(db編)
スマイルゼミの裏側(db編)
 
Groonga meetup20151129
Groonga meetup20151129Groonga meetup20151129
Groonga meetup20151129
 

拡張型NLP『JMAT』における実利用に向けた形態素解析のリソースチューニング