6月22日
Works Applications NLPエンジニアによる自然言語処理の実用化に向けた勉強会
に行ってきた!ので、内容メモメモ
■ご案内(人事の人)
・Wifiはないよ
・アンケートは途中で帰っても、書いてね
・つぶやいて ハッシュタグ WAP_TECH
・アジェンダ
・WAP会社概要
・とーく1
・とーく2:形態素解析
・WAPについて
徳島→自然言語処理に特化した研究所
ERP:日本の中ではトップシェア
HUE:世界の「働く」を変える 動画
人工知能型ERP
■ERPと自然言語処理
・自己紹介
・ワークス徳島人工知能NLP研究所
働き方に技術でブレークスルーを起こす
・徳島県がIT企業
AI(あい)
・ERPとは
ひとものかね
HRシリーズ
ACシリーズ
SCM
ECシリーズ
ERP:つかいにくい→バックオフィスのため
・動画
1億円の不便と0円の便利
ERPソフト VS Google
・HUE
0.1秒の応答速度
AIの活用
1200社超の業務ノウハウ
HUEの人工知能=インプットレス
コンシューマITのあたりまえをエンタープライズITに
・課題とアプローチ
Enterprise Serch
データ入力業務の効率化
・Enterprise Search
Try&Errorを繰り返せる
多様なデータソースを横断して検索
業務にFocusし、ほしい情報に素早くたどり着ける
サジェスト:サーチ内容に特化したサジェスト
エンタープライズサーチ(全社横断)
エンタープライズコラボレーション機能
HUE独自機能
業務ごとのチューニングはプロダクト開発の役割
チューニングを効率化、もしくは不要にするための仕組み・技術の開発
辞書を簡単に編集・繁栄できるフレームワーク
大規模なシステム辞書の開発(形態素、同義語)
表記ゆれ・動議表現の自動抽出技術の研究開発
社内でしか使われない用語、業種ごとに使われ方が違う語は共通辞書には入れられない
CEO
前後の文脈
ユーザー環境にあるデータから自動構築が必要
適合率重視のタスク
言語現象を分析、減少ごとに異なるアプローチ
単純な抽出タスクではない
さまざまな情報源、技術の組み合わせによるチャレンジ
さまざまなデータ入力業務
効率化、入力支援 HUE
→マジックペースト
課題とアプローチ
・業務ごとにとりたい項目が異なる
業務ごとにモデルを作成
・文書からの語句抽出ではない→令案と情報を文脈として活用
大規模辞書も併用
・手書き・画像への対応
もう一つの研究チーム
ユーザー企業ごとに扱うフォーマットはバラバラ
企業ごとはバラバラ、でも1企業が扱うフォーマットはある程度固定
使い込めば精度向上
操作・修正ログを用いた機械学習
→ログからOverFittingぎみに個別企業特化モデル
→履歴書は通用しない
その他の研究テーマ
NLP要素技術の研究開発
成果の一部はOSSで公開
Chatbotの実用化
FAQ Bot(社内の),スケジューラBot,タレントサーチbot
目的特価
新しい働き方を提案する機能の研究開発
メンタルヘルスリスク、退職リスクの早期検出
→秋には公開できる?(今は話せない)
隠れたはいパフォーマー人材の検出・分析
・最後に
ERP→NLP、機械学習
業務フローの分析
■形態素解析の話
・自己紹介
・形態素解析とは
伝統的な自然言語処理の階層
応用:情報検索、翻訳
要素技術;いいかえ、照応
基礎:形態素、構文、述語項
形態素解析の3要素
セグメンテーション:分割
すてみんぐ(れんまたいぜーしょん):辞書型に
パートオブスピーチタギング:品詞
共通接頭辞検索とらてぃす
部分文字列がいっぺんにみれる
→トライ構造
→らてぃすがくめる
トライ構造をどう作るか
めかぶ、ちゃせん:W配列、スキップリスト・・・いろんなやりかた
→FST(くろもじ)とWあれいが多い
コスト付け
N-Gramモデル
マルコフ連鎖を想定
Wn=W1,W2・・・Wnの生起確率→前方に依存
(N-1)語のみいぞんとする(そこまでをかける)
最優推定、条件付き確立場(CRF)
→かな漢字変換も
徳永さん 日本語入力を支える技術
その他の機能
表記正規化:送り仮名、異体字
読み付与:よみがな、はつおん、れんだく
派生:可能動詞、自動詞、他動詞(じゅまん)
既存のオープンソース形態素解析器と辞書
MeCab:IPADIE,UniDIc(+NEologd),JUMAN辞書
Juman:JUMAN
KyTea:点推定を使ったモデル
辞書の話
UniDic:
国立国語研究所短単位
誰がタグ付けしても再現できる(手続きで決まっている)
学習コーパスBCCWJ
難点:短すぎ、分割ルールが直観的ではない、固有名詞が不足
IPADIC:
IPA品詞体系:学校文法に近い、分割長ほどほど、粒度にばらつき
学習コーパス:RWCPコーパス:非公開
難点:メンテナンスとまっている、OSS非互換(ICOT条項)、NAIST-jdicも停止
NEologd
IPADICを補完:固有名詞・複合名詞を1語として登録、UniDic版も
Webからの語彙収集:システムによる自動、半自動
コスト推定:単語精製コストをコーパスを使わず調整
JUMAN
益岡、田窪文法に基づく:癖のある品詞(な形)
パラメータは人手:JUMAN++ではNNも利用
付加情報が多い
間欠的にメンテナンス:JUMAN++は語彙追加も
→つかうとなると、IPADICにNEologdがいいかな
TIPS
・前処理は大切
脆弱:文字コード、改行、言語、テキストでないもの
構造情報は別に
特殊なものは専用のパーサーで
・単語追加
再学習はしない:結果がブレブレ、コーパスの調達、手で調整
人手調整:品詞ちゃんときめる(MeCabの連接ID)
生起コストは適当でも大丈夫
→解析はおおむね品詞連接コストで決まる
・単語追加の注意点
単語追加を避けるべき語
一般的な語の品詞違い「みんな」
短い語:社員名簿
ひらがな語「なのは」問題 なのはを人名にすると・・・
解析を強制したい
特定の文字列の解析を一定にしたい
→文字列を1語で登録 負荷情報に分割位置
・使いやすい形態素解析
語の同定
切って、品詞つけるだけで十分
細かい品詞分類はいらない、つかえる分割単位か、何に使うのか
その後がなんなのか
ほかの資源との関連付け、Entity Linking,Wikification、同義語・概念辞書
解析の一貫性
わかったことは出力
VS
状況にかかわらず一定
分割の粒度
ほしい長さはアプリケーションによって違う
既知語と未知語で粒度が変わる
・形態素解析器 Sudachi
オープンソース、開発もオープン、辞書も作る
Javaで
語の同定
ブラックボックスだとできないこと
やりたいこと
複数の文辰単位
UniDIC+NEologd
継続的なメンテナンス
機能のプラグイン
同義語辞書との連携
分割単位
A単位:UniDic
B単位:IPADIC
C単位:NEologd
略語は同義語で
プラグイン形式でフックして処理を差し込める
大規模使用時の省メモリ化
複数VMでメモリ共有
8月中旬初版リリース予定!