Mais conteúdo relacionado
NLP2019 松田寛 - GiNZA
- 4. 提案手法の実装をPyPIおよびgithubで公開中
● 実行環境はコマンド一行で導入完了
pip install "https://github.com/megagonlabs/ginza/releases/download/v1.0.0/ja_ginza_nopn-1.0.0.tgz"
● 日本語NLPライブラリ - GiNZA
○ git clone --recursive https://github.com/megagonlabs/ginza.git
○ MIT License
○ Python3.7 及び対応する pip
○ Stanford NLPとのベンチマーク結果も公開していきます!
4
- 5. 使用したリソース
● NLP Framework
○ spaCy v2.1.3
※ spaCy日本語版の初の完全な実装
● Treebank (コーパス)
○ UD-Japanese BCCWJ v2.3 - 5.6万文, 126万語を使用
※ UD-Japanese BCCWJを利用した初の解析系実装
※ GiNZAでは新聞系データを除外しているため精度は論文と異なる
● Tokenizer (形態素解析器)
○ SudachiPy + Core辞書 を使用
※ 解析モードA,B,Cいずれにも対応可能
5
- 7. Universal Dependenciesとは
● 歴史
○ 2014年頃にUDコミュニティが日本を含め全世界に広がる
○ 日本語コーパスはGSD・KTC・PUD・BCCWJ等が公開済み
● 目的
○ Universal Dependencies (UD)は、構文解析の後段の処理の
共通化や、他の言語のコーパスを用いた言語横断的な学習、
言語間の定量的な比較などを可能にするための土台を目指
して、多言語で一貫した構文構造とタグセットを定義する
という活動である。[金山2015]
7
- 24. 実験:解析速度
● 実験環境
○ CPU Core-i9 6コア(12スレッド), GPU RTX2080 Max-Q
○ DDR4-2666 32GB, NVMe SSD
○ python 3.6.8, spacy[cuda92] 2.0.17, nvidia-driver 418.43
● 解析対象
○ 218,863文(平均単語数=18.9[語/文])
● 解析速度
○ prefer CPU: 46.6 [文/秒] - CPU load average: 1000%前後
○ prefer GPU: 67.0 [文/秒] - CPU: 100%前後, GPU: 4%
訓練時はGPU使用による高速化効果がさらに高まる
24
- 29. 日本語UDを扱うGiNZAとStanford NLPの比較
● NLP2019投稿直後にStanford NLPが公開された
○ 本研究と同じ日本語版UDに対応したPython NLP Framework
○ 詳細調査中につき以下は推測を含みます
● Tokenizer
○ 提案手法
■ CRF, 形態素辞書 (1.5M words)←現状での精度差の主要因か
○ Stanford NLP
■ BiLSTM+Biaffine?, 辞書なし・語彙追加用コーパスを使用?
● Dependency Parser
○ 提案手法
■ Multi-task CNN Learner, BCCWJコーパス (1.26M tokens)
○ Stanford NLP
■ BiLSTM?, GSDコーパス (184k tokens)←コーパスが一桁小さい
29