Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Sudachi辞書のつくり方
Search
WAP
December 09, 2020
Research
4
2k
Sudachi辞書のつくり方
WAP
December 09, 2020
Tweet
Share
More Decks by WAP
See All by WAP
単語分散表現と事前学習モデル - chiVe _ chiTra 利活用のための下準備 at WAP NLP Tech Talk #5
waptech
0
1.3k
事前学習モデル chiTra の活用方法 at WAP NLP Tech Talk #5
waptech
0
300
単語分散表現 chiVeの活用方法 at WAP NLP Tech Talk #5
waptech
0
570
Sudachi Family近況報告 at WAP NLP Tech Talk #5
waptech
0
190
Sudachi近況報告 at WAP NLP Tech Talk #4
waptech
1
460
日本語形態素解析器 SudachiPy の 現状と今後について
waptech
4
6.7k
企業(ワークスアプリケーションズ)での研究開発の楽しさと苦労
waptech
0
300
chiVe_実用的な日本語単語ベクトル実現にむけて_20201208.pdf
waptech
2
520
Other Decks in Research
See All in Research
ECCV2024読み会: Minimalist Vision with Freeform Pixels
hsmtta
1
140
さんかくのテスト.pdf
sankaku0724
0
340
文献紹介:A Multidimensional Framework for Evaluating Lexical Semantic Change with Social Science Applications
a1da4
1
220
システムから変える 自分と世界を変えるシステムチェンジの方法論 / Systems Change Approaches
dmattsun
3
860
[依頼講演] 適応的実験計画法に基づく効率的無線システム設計
k_sato
0
130
Practical The One Person Framework
asonas
1
1.6k
工学としてのSRE再訪 / Revisiting SRE as Engineering
yuukit
19
11k
MetricSifter:クラウドアプリケーションにおける故障箇所特定の効率化のための多変量時系列データの特徴量削減 / FIT 2024
yuukit
2
120
Physics of Language Models: Part 3.1, Knowledge Storage and Extraction
sosk
1
950
20240918 交通くまもとーく 未来の鉄道網編(こねくま)
trafficbrain
0
230
湯村研究室の紹介2024 / yumulab2024
yumulab
0
280
[2024.08.30] Gemma-Ko, 오픈 언어모델에 한국어 입히기 @ 머신러닝부트캠프2024
beomi
0
720
Featured
See All Featured
Code Review Best Practice
trishagee
64
17k
Writing Fast Ruby
sferik
627
61k
Being A Developer After 40
akosma
86
590k
Code Reviewing Like a Champion
maltzj
520
39k
Bash Introduction
62gerente
608
210k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
It's Worth the Effort
3n
183
27k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Optimising Largest Contentful Paint
csswizardry
33
2.9k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.5k
BBQ
matthewcrist
85
9.3k
The Pragmatic Product Professional
lauravandoore
31
6.3k
Transcript
Sudachi辞書のつくり方 株式会社ワークスアプリケーションズ ワークス徳島人工知能NLP研究所 高岡一馬
2 自己紹介 • 奈良先端科学技術大学院大学で自然言語処理をまなぶ 形態素解析器茶筌と出会う • 2004-2016年 株式会社ジャストシステム かな漢字変換、テキストマイニングなどに従事 2つの形態素解析器の開発にたずさわる
• 2016年- 株式会社ワークスアプリケーションズ 形態素解析器Sudachiを開発
3 徳島って • 四国の右下 • 人口72万人(徳島市25万人) • 電車のない唯一の県
4 実務でつかう形態素解析
5 実務でつかえる形態素解析器 プロプラエタリ OSS • 処理系 MeCabとそのクローン • 辞書 IPADic
/ UniDic NEologd
6 MeCabをつかうと よいところ • 速い • カスタマイズの柔軟性(辞書、未知語処理) つらいところ • 単機能
前処理、後処理が必須 区切り、品詞(連接ID)以外は辞書次第
7 実務で必要になる機能 • 文字正規化(表記統制) • 語彙正規化(表記統制) • 未知語処理 • 文区切り
• 記号類や非テキストのクリーニング • 典型的な誤解析の訂正(再学習はほぼ不可能) • 読み付与 • 同義語 などなど 非NLPerにはむずかしい & ノウハウが共有されていない
8 未知語の処理 ただしい区切りをあたえる • 未知の未知語 • 既知の未知語 部分は知っているが全体は未知 例)既知語「世界的」、未知語「地球 /
的」 読み推定
9 辞書の比較 IPADic • 区切りが直観にあう • メンテナンスされていない UniDic • 解析精度がよい(見かけ上)
• 区切りが直観的でない • 短すぎる
10 辞書の比較 NEologd • 膨大な語彙 • 読み推定 • 癖がつよい 検索などには向いている
11 なので形態素解析器を(また)つくった • 処理系と辞書を一体で • プラグイン機構による処理のパッケージ化 よくつかう機能の提供 ノウハウの共有 • 目的にあわせた複数粒度分割
• 文字、単語の正規化 • 同義語辞書との連携
12 辞書のつくり方
13 表記正規化 文字正規化 • いわゆる半角・全角、組み立て文字、記号類 例)㈱、ー―-‐ • 異体字 例)辺、邉、邊 語彙正規化 • 単語単位での正規化
• 送り仮名 例)組み替え、組替え、組替 • 誤用 例)シュミレーション
14 正規化と代表表記 正規化 • 一意であればよい 代表表記 • 「代表」をきめる • どの表記が代表的なのか
15 代表表記のきめかた 機械的:頻度による決定 • 一貫性がない • 頻度が直観に反する場合 • 頻度がとれない場合 •
特定のIMEを再現しているだけかも 人手で • 根拠 • ルール 例)生物名はカタカナ きりん→キリン、象→ゾウ
16 人手による代表表記付与 例)蛸と凧 • 「タコ」=「蛸」 生物名なので「タコ」に正規化 • 「たこ」→ どちらか判断できない 「たこ」は正規化しない
「凧」→「たこ」にしてはいけない • さじ加減がむずかしい • まちがっていても傷があさくなるようにきめる [蛸] 「蛸」 「タコ」 「章魚」 「たこ」 「凧」 [凧]
17 正規化と語分割 例)松葉ガニ • 原則)生物名はカタカナ • A単位「松葉 / ガニ」 •
「ガニ」と「カニ」が同一視できない → 「蟹」に正規化
18 生成処理への流用 サジェストや文生成にもつかいたい → 解析処理とはちがった問題 • 代表性 ユーザからみて奇異な表記は出せない UniDic 語彙素は原則漢字表記「ちりばめる」→「鏤める」
• 規範性 誤用の抑制、不快語の扱い
19 Sudachiの分割単位 A単位 • UniDic相当(互換性) • カバレッジの確保 B単位 • ひとにとって一番自然な単位(にしたい)「心的辞書」
C単位 • 固有表現 • 検索や外延の認識
20 分割情報の付与 語構成は2次元的 徳島研究所 徳島 研究所 研究 所 C単位 B単位
A単位
21 分割情報の付与 県立美術館前駅 県立美術館前 駅 県立美術館 前 県立 美術館 美術
館 C単位分割「県立美術館前駅」 B単位分割「県立 / 美術館 / 前 / 駅」 A単位分割「県立 / 美術 / 館 / 前 / 駅」
22 分割情報の付与 自由民主党 自由 民主 党 C単位分割「自由民主党」 B単位分割「自由 / 民主
/ 党」 A単位分割「自由 / 民主 / 党」 自由民主党 自由民主 民主 党 自由 略称「自民」に対応する C単位「自由民主」? ???
23 語構成と分割 多段分割 vs 分割レベルの固定 • Sudachiでは分割レベルを3つに固定 • 多段にすればすべての分割を導出できる 分割に意味づけがないのでつかいにくい
24 他のリソースとの連携 形態素解析を他の処理とつなげていきたい • 辞書をつかう意味 語の同定 → 他の資源と直接むすびつけられる 同義語辞書との連携 •
Sudachi同義語辞書 同義語処理ライブラリChikkarもGitHubで公開中
25 実務でつかえる同義語辞書とは 本当に必要なのは同義語なのか? 例)「Suica」と書かれたテキストを他のICカード名でも検索 できるようにしたい タスクによって解像度がちがう 例)一般ドメイン:「借金」≒「債務」≒「負債」 会計・法律ドメイン: • 債務:金銭や物品の給付、なんらかの行為をする義務がある
• 負債:企業が第三者に支払う義務があるもの • 借金:金銭消費貸借契約をかわしてお金をかりる
26 実務でつかえる同義語辞書とは なにを同義とみなすかは自明ではない • 「同義」にこだわらない Is-a, part-ofなども • タスクを意識する なやみだすと泥沼に
ドメインによってちがう • システム辞書は抑制的に • 専門辞書で踏み込む
27 まとめ 実務でつかえる形態素解析器 • コア以外の機能も重要 人手での辞書チューニングが必須 • 総合的な判断が必要 • 原則をまげることも
辞書ベースだからできること • 他リソースとの結合