GiNZAの公開ページ
What’s new!
GiNZA v5.2.0
をリリースしました (2024.03.31)- 日本語の節認定のためのAPIを追加 (experimental)
ja_ginza_bert_large
のβ版を公開中- cl-tohoku/bert-large-japanese-v2をベースモデルに採用
- 精度が大幅に向上(LAS=0.938, UAS=0.949, UPOS=0.983, ENE=0.708)
- CUDAに対応し8GB以上のRAMを搭載したGPU環境、または、M1・M2などApple Silicon環境の利用を推奨
- ginzaコマンドで日本語以外を含む全てのspaCyモデルが利用可能に
ginza -m en_core_web_md
の形でモデル名を指定することでCoNLL-U出力ツールとして利用可能
- ginzaコマンドの解説ページの記述を拡充
ginza
コマンドで使用するGPUのgpu_idをginza -g 1
の形で指定可能に
GiNZAをアップグレードする際は下記の互換性情報を確認してください。
GiNZA v5.2 互換性情報
- Pythonの対応バージョンが3.8以上に変更されました
- spaCyの対応バージョンがv3.4.4に変更されました
- コマンドラインのconllu出力のmisc列にClauseHeadフィールドが追加されました
GiNZA v5.1 互換性情報
ginza --require_gpu
およびginza -g
オプションが引数にgpu_idを取るようになりました- gpu_idに-1を指定(デフォルト)するとCPUのみを使用します
- v5.0以前の
ja_ginza
およびja_ginza_electra
パケージはGiNZA v5.1で使用できません(旧バージョン向けパッケージは事前にアンインストールが必要です)pip uninstall ginza ; pip uninstall ja_ginza ; pip uninstall ja_ginza_electra
- transformersモデルの追加に伴いGiNZA v5.1インストール時は
ginza
パッケージとともに解析モデルパッケージを明示的に指定する必要があります- 解析精度重視モデル (メモリ容量16GB以上を推奨)
pip install -U ginza ja_ginza_electra
- 実行速度重視モデル
pip install -U ginza ja_ginza
- 解析精度重視モデル (メモリ容量16GB以上を推奨)
- トークンの活用/読み/正規形の保存先がTokenクラスのフィールドに変更されました。
doc.user_data[“reading_forms”][token.i]
->token.morph.get(“Reading”)
doc.user_data[“inflections”][token.i]
->token.morph.get(“Inflection”)
force_using_normalized_form_as_lemma(True)
->token.norm_
- 併せてGiNZA v5.0.0 重要な変更についても確認してください
GiNZA v5 新機能
日本語の節認定API (experimental)
GiNZA v5.2.0で日本語の節認定機能(試用版)を実装しました。
ginza
コマンドの実行結果のconllu出力のmisc列を拡張して、各トークンが属する節のヘッドのトークン番号をClauseHead
フィールドで示しています。
APIには次の関数を追加しました。
clauses(doc)
- 節単位に分割されたトークン列の取得
clause_head(token)
- トークンが属する節のヘッドとなるトークンの取得
clause_head_i(token)
- トークンが属する節のヘッドとなるトークン番号の取得
現在の節認定の実装は次のような簡易なもので、今後さらに改良を行う予定です。
- 文に含まれる読点を節区切りの候補とする
- さらに読点で区切られた節が2文節以上で構成される場合のみ節として認定する
Transformersモデルによる解析精度の向上
GiNZA v5の解析精度は以前のバージョンから飛躍的な向上を遂げました。精度向上の主たる貢献はTransformers事前学習モデルの導入にあります。次の図は、UD_Japanese-BCCWJ r2.8における、従来型モデルのja_ginza
と、Transformers事前学習モデルを用いたja_ginza_electra
の、依存関係ラベリングおよび単語依存構造解析の学習曲線です。
次の表はUD_Japanese-BCCWJ r2.8で5万ステップ学習した時点でのテストセットでの依存関係ラベリング精度(LAS:Labeled Attachment Score)、単語依存構造解析精度(UAS:Unlabeled Attachment Score)、UD品詞推定精度(UPOS)、拡張固有表現抽出精度(ENE)の比較です。
Model | LAS | UAS | UPOS | ENE |
---|---|---|---|---|
ja_ginza_bert_large (β版) | 93.8 | 94.9 | 98.3 | 70.8 |
ja_ginza_electra | 92.3 | 93.7 | 98.1 | 61.3 |
ja_ginza (v5) | 89.2 | 91.1 | 97.0 | 53.9 |
ja_ginza (v4相当) | 89.0 | 91.0 | 95.1 | 53.1 |
ja_ginza_electra
はja_ginza
に対して、5万ステップ学習時の依存関係ラベリング・単語依存構造解析の誤りを、以前のバージョンと比較して25%以上低減できました。
また従来型モデルのja_ginza
においても、処理パイプラインにmorphologizer
を追加することにより、以前のバージョンと比較してUD品詞推定の誤りを4割低減できました。
関根の拡張固有表現階層を用いた拡張固有表現抽出精度(ENE)においてもja_ginza_electra
は大幅な精度向上が得られています。GiNZAは関根の拡張固有表現階層にもとづく固有表現抽出結果を、spaCyで標準的に用いられるOntoNotes5にマッピング(変換表を適用)して出力しています。OntoNotes5は関根の拡張固有表現階層よりカテゴリ数が非常に少ない(粗い)ため、拡張固有表現をOntoNotes5体系にマッピングした場合の固有表現抽出精度は、拡張固有表現での数値より一般に高くなります。
※各モデルの学習と解析精度評価にはUD_Japanese-BCCWJ r2.8から新聞記事系のテキストを除外したものをSudachi辞書mode C(長単位)で再解析(retokenize)した上で、文節主辞情報を依存関係ラベルに組み合わせた状態のコーパスを用いています。
実行環境
GiNZAは Python 3.8以上(および対応するpip)で動作検証を行っています。 GiNZAをインストールする前に予めPython実行環境を構築してください。
実行環境のセットアップ
1. GiNZA + Transformersモデル
※Transformersモデルの実行には16GB以上のメモリ容量が必要です。メモリ容量が不足する場合は後述の従来型モデルをお試しください。
旧バージョンのGiNZAをインストールしている場合は次のコマンドでアンインストールします。
$ pip uninstall ginza
旧バージョンのja_ginza
をインストールしている場合は次のコマンドでアンインストールします。
$ pip uninstall ja_ginza
旧バージョンのja_ginza_electra
をインストールしている場合は次のコマンドでアンインストールします。
$ pip uninstall ja_ginza_electra
次のコマンドを実行して最新のGiNZAおよびTransformersモデルをインストールします。
$ pip install -U ginza ja_ginza_electra
上記コマンドでインストールされるja_ginza_electra
パッケージには大容量モデルファイルは含まれていません。大容量モデルファイルは初回実行時に自動的にダウンロードされて、以降の実行時にはローカルにキャッシュされたファイルが使用されます。
大容量モデルファイルを含めたインストールを行うには、次のようにGitHubのリリースアーカイブを指定します。
$ pip install -U ginza https://github.com/megagonlabs/ginza/releases/download/latest/ja_ginza_electra-latest-with-model.tar.gz
GPUを利用してtransformersモデルを高速に実行するには、実行環境に応じたオプションを指定してspacyを上書きインストールします。
CUDA 11.7を使用する場合:
$ pip install -U spacy[cuda117]
※ あわせてpytorchもCUDAと整合したバージョンをインストールする必要があります。
2. GiNZA + 従来型モデル
旧バージョンのGiNZAおよびja_ginza
をインストールしている場合は次のコマンドでアンインストールを実行します。
$ pip uninstall ginza _ginza
次のコマンドを実行して最新のGiNZAと従来型モデルをインストールします。
$ pip install -U ginza ja_ginza
M1やM2などのMPSに対応したApple Silicon環境では、thinc-apple-ops
を導入することで解析速度が向上します。
$ pip install torch thinc-apple-ops
ginzaコマンドによる解析処理の実行
ginza
コマンドを実行して、日本語の文に続けてEnterを入力すると、CoNLL-U Syntactic Annotation 形式で解析結果が出力されます。
$ ginza
銀座でランチをご一緒しましょう。
# text = 銀座でランチをご一緒しましょう。
1 銀座 銀座 PROPN 名詞-固有名詞-地名-一般 _ 6 nmod _ SpaceAfter=No|BunsetuBILabel=B|BunsetuPositionType=SEM_HEAD|NP_B|Reading=ギンザ|NE=B-GPE|ENE=B-City|ClauseHead=6
2 で で ADP 助詞-格助詞 _ 1 case _ SpaceAfter=No|BunsetuBILabel=I|BunsetuPositionType=SYN_HEAD|Reading=デ|ClauseHead=6
3 ランチ ランチ NOUN 名詞-普通名詞-一般 _ 6 obj _ SpaceAfter=No|BunsetuBILabel=B|BunsetuPositionType=SEM_HEAD|NP_B|Reading=ランチ|ClauseHead=6
4 を を ADP 助詞-格助詞 _ 3 case _ SpaceAfter=No|BunsetuBILabel=I|BunsetuPositionType=SYN_HEAD|Reading=ヲ|ClauseHead=6
5 ご ご NOUN 接頭辞 _ 6 compound _ SpaceAfter=No|BunsetuBILabel=B|BunsetuPositionType=CONT|NP_B|Reading=ゴ|ClauseHead=6
6 一緒 一緒 NOUN 名詞-普通名詞-サ変可能 _ 0 root _ SpaceAfter=No|BunsetuBILabel=I|BunsetuPositionType=ROOT|NP_I|Reading=イッショ|ClauseHead=6
7 し する AUX 動詞-非自立可能 _ 6 aux _ SpaceAfter=No|BunsetuBILabel=I|BunsetuPositionType=SYN_HEAD|Inf=サ行変格,連用形-一般|Reading=シ|ClauseHead=6
8 ましょう ます AUX 助動詞 _ 6 aux _ SpaceAfter=No|BunsetuBILabel=I|BunsetuPositionType=SYN_HEAD|Inf=助動詞-マス,意志推量形|Reading=マショウ|ClauseHead=6
9 。 。 PUNCT 補助記号-句点 _ 6 punct _ SpaceAfter=No|BunsetuBILabel=I|BunsetuPositionType=CONT|Reading=。|ClauseHead=6
実行環境にja_ginza_electra
とja_ginza
の両方のモデルがインストールされている場合、ginza
コマンドはja_ginza_electra
を優先して使用します。同じ状況でja_ginza
を使用するにはginza -m
オプションでモデル名を指定します。
# ginza -m ja_ginza
また、spaCyが提供している様々な言語の解析モデルの名称を-m
オプションに指定することで、そのモデルのダウンロードと解析をまとめて実行することができます。
# ginza -m en_core_web_trf
Pythonコードによる解析処理の実行
次のコードは、Transformersモデルによる依存構造解析結果を文単位で出力します。
従来型モデルを用いる場合はja_ginza_electra
をja_ginza
に置き換えます。
import spacy
nlp = spacy.load('ja_ginza_electra')
doc = nlp('銀座でランチをご一緒しましょう。')
for sent in doc.sents:
for token in sent:
print(
token.i,
token.orth_,
token.lemma_,
token.norm_,
token.morph.get("Reading"),
token.pos_,
token.morph.get("Inflection"),
token.tag_,
token.dep_,
token.head.i,
)
print('EOS')
解説資料
マニュアル
講演資料
- 日本語Universal Dependenciesのための学習済みTransformersモデル公開に向けて - 第3回 Universal Dependencies 公開研究会 (2021.06)
- Japanese Language Analysis by GPU Ready Open Source NLP Frameworks - NVIDIA GPU Technology Conference 2020 (2020.10)
- GiNZAで始める日本語依存構造解析 〜CaboCha, UDPipe, Stanford NLPとの比較〜 - Universal Dependencies Symposium (2019.09)
論文
- GiNZA - Universal Dependenciesによる実用的日本語解析 - 自然言語処理 Volume 27 Number 3 (2020.09)
- UD Japanese GSD の再整備と固有表現情報付与 - 言語処理学会第26回年次大会 (2020.03)
- 短単位品詞の用法曖昧性解決と依存関係ラベリングの同時学習 - 言語処理学会第25回年次大会 (2019.03)
解説記事
- GiNZA Version 4.0: Improving Syntactic Structure Analysis Through Japanese Bunsetsu-Phrase Extraction API Integration - Megagon Labs Blog (2021.03)
- GiNZA version 4.0: 多言語依存構造解析技術への文節APIの統合 - Megagon Labs Blog (2020.09)
- GiNZA: 日本語自然言語処理オープンソースライブラリ - Megagon Labs (2019)
ライセンス
GiNZA NLPライブラリおよびGiNZA日本語Universal Dependenciesモデルは The MIT Licenseのもとで公開されています。 利用にはThe MIT Licenseに合意し、規約を遵守する必要があります。
Explosion/ spaCy
GiNZAはspaCyをNLP Frameworkとして使用しています。
Works Applications Enterprise / Sudachi/SudachiPy - SudachiDict - chiVe
GiNZAはトークン化(形態素解析)処理にSudachiPyを、単語ベクトル表現にchiVeを使用することで、高い解析精度を得ています。
Sudachi LICENSE PAGE, SudachiPy LICENSE PAGE, SudachiDict LEGAL PAGE, chiVe LICENSE PAGE
Hugging Face / transformers
GiNZA v5 Transformersモデル(ja_ginza_electra)はHugging Face社が提供するtransformersを事前学習フレームワークに用いています。
訓練コーパス
UD Japanese BCCWJ r2.8
GiNZA v5の依存構造解析モデルは UD Japanese BCCWJ r2.8 (Omura and Asahara:2018) から新聞系文書を除外して学習しています。 GiNZA v5の依存構造解析モデルは国立国語研究所とMegagon Labsの共同研究成果です。
GSK2014-A (2019) BCCWJ版
GiNZA v5の固有表現抽出モデルは GSK2014-A (2019) BCCWJ版 (橋本・乾・村上(2008)) から新聞系文書を除外して学習しています。 固有表現抽出ラベル体系は関根の拡張固有表現階層、 および、OntoNotes5 を独自に拡張したものを併用しています。 GiNZA v5の固有表現抽出モデルは国立国語研究所とMegagon Labsの共同研究成果です。
mC4
GiNZA v5 Transformersモデル(ja_ginza_electra)は、mC4から抽出した日本語20億文以上を用いて事前学習したtransformers-ud-japanese-electra-base-discriminatorを使用しています。 mC4はODC-BYライセンスの規約に基づいて事前学習データとして利用しています。
Contains information from mC4 which is made available under the ODC Attribution License.
@article{2019t5,
author = {Colin Raffel and Noam Shazeer and Adam Roberts and Katherine Lee and Sharan Narang and Michael Matena and Yanqi Zhou and Wei Li and Peter J. Liu},
title = {Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer},
journal = {arXiv e-prints},
year = {2019},
archivePrefix = {arXiv},
eprint = {1910.10683},
}
リリース履歴
version 5.x
ginza-5.2.0
- 2024-03-31
- Require python>=3.8
- Migrate to spaCy v3.7
- New functionality
- add Japanese clause recognition API (experimental)
ginza-5.1.3
- 2023-09-25
- Migrate to spaCy v3.6
- Beta release of
ja_ginza_bert_large
ginza-5.1.2
- 2022-03-12
- Migrate to spaCy v3.4
ginza-5.1.1
- 2022-03-12
- Improvements
- auto deploy for pypi by @nimiusrd in #184
- modify github actions: trigger by tagging, stop uploading test pypi by @r-terada in #233
ginza-5.1.0
- 2021-12-10, Euclase
- 重要な変更
- spaCy v3.2 および Sudachi.rs(SudachiPy v0.6.2) に対応
- トークンの活用・読み・正規形の保存先をTokenクラスのフィールドに変更 #208 #209
doc.user_data[“reading_forms”][token.i]
->token.morph.get(“Reading”)
doc.user_data[“inflections”][token.i]
->token.morph.get(“Inflection”)
force_using_normalized_form_as_lemma(True)
->token.norm_
- ginzaコマンドで日本語以外を含む全てのspaCyモデルが利用可能に #217
ginza -m en_core_web_md
の形でモデル名を指定することでモデルのダウンロードと解析をまとめて実行 #219
ginza --require_gpu
およびginza -g
オプションがgpu_idを引数を取る形に変更- -1を指定(デフォルト)するとCPUのみを使用
- ginza -f json で -c オプションの指定に関わらず#で始まるはもすべて解析対象とする #215
- Improvements
- バッチ解析処理をGPU環境で50〜60%・CPU環境で10〜40%高速化
- ginzaコマンドの並列実行オプション(
ginza -p {n_process}
およびginzame
)の処理効率を向上 #204 - ginzaコマンドの解説ページの記述を拡充 #201
- add tests #198 #210 #214
- add benchmark #207 #220
ginza-5.0.3
- 2021-10-15
- Bug fix
Bunsetu span should not cross the sentence boundary
#195
ginza-5.0.2
- 2021-09-06
- Bug fix
Command Line -s option and set_split_mode() not working in v5.0.x
#185
ginza-5.0.1
- 2021-08-26
- Bug fix
ginzame not woriking in ginza ver. 5
#179Command Line -d option not working in v5.0.0
#178
- Improvement
- accept
ja-ginza
andja-ginza-electra
for-m
option ofginza
command
- accept
ginza-5.0.0
- 2021-08-26, Demantoid
- 重要な変更
- プラットフォームをspaCy v3に変更
- transformersモデルを採用して飛躍的に精度を向上した解析モデルパッケージ
ja-ginza-electra
をリリースしました。 - 従来型の解析モデルパッケージ
ja-ginza
のpiplelineにmorphologizer
を追加し、UD品詞解析精度を向上しました。 - transformersモデルの追加に伴いGiNZA v5インストール時は
ginza
パッケージとともに解析モデルパッケージを明示的に指定する必要があります- 解析精度重視モデル (メモリ容量16GB以上を推奨)
pip install -U ginza ja-ginza-electra
- 実行速度重視モデル
pip install -U ginza ja-ginza
- 解析精度重視モデル (メモリ容量16GB以上を推奨)
CompoundSplitter
およびBunsetuRecognizer
の名称をcompound_splitter
およびbunsetu_recognizer
に変更しました- 併せてspaCy v3のBackwards Incompatibilitiesも確認してください
- Improvements
- Add command line options
Token.lemma_
にSudachiPyのnormalized_formを強制的にセットするオプション-n
を追加しました。-m (ja_ginza|ja_ginza_electra)
- Select model package
- Revise ENE category name
Degital_Game
toDigital_Game
- Add command line options
version 4.x
ginza-4.0.6
- 2021-06-01
- Bug fix
- Issue #160: IndexError: list assignment index out of range for empty string
ginza-4.0.5
- 2020-10-01
- Improvements
- Add
-d
option, which disables spaCy’s sentence separator, toginza
command line tool
- Add
ginza-4.0.4
- 2020-09-11
- Improvements
ginza
command line tool works correctly without BunsetuRecognizer in the pipeline
ginza-4.0.3
- 2020-09-10
- Improve bunsetu head identification accuracy over inconsistent deps in ent spans
ginza-4.0.2
- 2020-09-04
- Improvements
- Serialization of
CompoundSplitter
fornlp.to_disk()
- Bunsetu span detection accuracy
- Serialization of
ginza-4.0.1
- 2020-08-30
- Debug
- Add type arguments for singledispatch register annotations (for Python 3.6)
ginza-4.0.0
- 2020-08-16, Chrysoberyl
- 重要な変更
- 解析モデルを
spaCy v2.3
のspacy.lang.ja
に変更Token.lemma_
に設定される値をSudachiPyのMorpheme.dictionary_form()
に変更
- SudachiPy辞書をPyPI(SudachiDict-core)の公式パッケージに変更
- 旧バージョンでインストールされる
ja_ginza_dict
パッケージはアンインストール可能
- 旧バージョンでインストールされる
- コマンドラインツール起動オプションおよび出力(標準conllu形式)のmiscフィールドの変更
- use_sentence_separator(-s)オプションの廃止
- NE(OntoNotes)のBIラベル直後のセパレータをハイフン(B-GPE)に変更
- Reading(読み), Inf(活用), ENE(拡張固有表現)のサブフィールドを追加
- トークン拡張フィールド(
Token._.*
)を廃止しDoc.user_data[]
のエントリとアクセサを追加- inflections (
ginza.inflection(Token)
) - reading_forms (
ginza.reading_form(Token)
) - bunsetu_bi_labels (
ginza.bunsetu_bi_label(Token)
) - bunsetu_position_types (
ginza.bunsetu_position_type(Token)
) - bunsetu_heads (
ginza.is_bunsetu_head(Token)
)
- inflections (
- Pipelineの構成を変更
- JapaneseCorrectorを廃止
- 可能性品詞の曖昧性解消およびトークン結合処理はspaCy標準機能を利用するよう変更
- CompoundSplitterを追加
spacy.lang.ja
で登録されるSudachi辞書の分割情報(Doc.user_data["sub_tokens"]
)を参照してTokenを分割ginza.set_split_mode(Language, str)
の第2引数にA, B, Cのいずれかを指定(デフォルト=C)
- BunsetuRecognizerを追加
- ja_ginzaモデルで得られる文節主辞ラベルを用いて
Doc.user_data[]
にbunsetu_bi_labels
,bunsetu_position_types
,bunsetu_heads
を追加
- ja_ginzaモデルで得られる文節主辞ラベルを用いて
- JapaneseCorrectorを廃止
- 学習コーパスをUD_JAPANESE-BCCWJ v2.6にアップグレード
- 解析精度と一貫性が向上
- 単語ベクトルをchiVe mc90(うち頻度上位35,000語)に変更
- ベクトル次元数=300
- 解析モデルを
- API Changes
- 文節単位で解析を行うAPIを追加(
from ginza import *
)- bunsetu(Token)
- phrase(Token)
- sub_phrases(Token)
- phrases(Span)
- bunsetu_spans(Span)
- bunsetu_phrase_spans(Span)
- bunsetu_head_list(Span)
- bunsetu_head_tokens(Span)
- bunsetu_bi_labels(Span)
- bunsetu_position_types(Span)
- 文節単位で解析を行うAPIを追加(
version 3.x
ginza-3.1.2
- 2020-02-12
- Debug
- Fix: degrade of cabocha mode
ginza-3.1.1
- 2020-01-19
- API Changes
- Extension fields
- The values of
Token._.sudachi
field would be set after callingSudachipyTokenizer.set_enable_ex_sudachi(True)
, to avoid pickling errors
- The values of
- Extension fields
import spacy
import pickle
nlp = spacy.load('ja_ginza')
doc1 = nlp('この例は正しくserializeされます。')
doc1.to_bytes()
with open('sample1.pickle', 'wb') as f:
pickle.dump(doc1, f)
nlp.tokenizer.set_enable_ex_sudachi(True)
doc2 = nlp('この例ではserialize時にエラーが発生します。')
doc2.to_bytes()
with open('sample2.pickle', 'wb') as f:
pickle.dump(doc2, f)
ginza-3.1.0
- 2020-01-16
- 重要な変更
- 形態素辞書パッケージ(ja_ginza_dict)の配布元をPyPIに変更
- API Changes
- commands
ginza
andginzame
- add
-i
option to initialize the files ofja_ginza_dict
- add
- commands
ginza-3.0.0
- 2020-01-15, Benitoite
- 重要な変更
- パッケージの配布元をPyPIに変更
pip install ginza
を実行するだけで解析モデルを含めてインストールが完結- 解析モデルの
ja_ginza
もPyPIから配布 (ja_ginza.setup.py
実行中に形態素解析辞書もダウンロード)
- 解析モデルの改良
- 固有表現抽出モデルの訓練コーパスを GSK2014-A (2019) BCCWJ版(新聞系文書を除外)に変更
- 固有表現抽出精度が再現性・適合性の両面で大きく向上
token.ent_type_
を関根の拡張固有表現階層のラベルに変更ginza
コマンド出力の最終フィールドにENE7
属性を追加
- OntoNotes5体系の固有表現ラベルを
token._.ne
に移動- OntoNotes5体系には
PHONE
,EMAIL
,URL
,PET_NAME
のラベルを追加
- OntoNotes5体系には
spacy pretrain
のエポック数を100回以上とすることで依存構造解析精度が向上spacy train
コマンドで依存構造解析と固有表現抽出をマルチタスク学習することでさらに精度が向上
- 形態素解析辞書を
SudachiDict_core-20191224
にアップグレード
- 固有表現抽出モデルの訓練コーパスを GSK2014-A (2019) BCCWJ版(新聞系文書を除外)に変更
ginzame
コマンドの追加sudachipy
のみをマルチプロセスで高速に実行し結果をmecab
形式で出力- 形態素解析辞書を独自にインストールする形に変更したため
sudachipy
コマンドの実行にはSudachi辞書のインストールが別途必要
- パッケージの配布元をPyPIに変更
- Breaking API Changes
- commands
ginza
(ginza.command_line.main_ginza
)- change option
mode
tosudachipy_mode
- drop options:
disable_pipes
andrecreate_corrector
- add options:
hash_comment
,parallel
,files
- add
mecab
to the choices for the argument of-f
option - add
parallel NUM_PROCESS
option (EXPERIMENTAL) - add
ENE7
attribute to conllu miscellaneous fieldginza.ent_type_mapping.ENE_NE_MAPPING
is used to convertENE7
label toNE
- change option
- add
ginzame
(ginza.command_line.main_ginzame
)- a multi-process tokenizer providing
mecab
like output format
- a multi-process tokenizer providing
- spaCy field extensions
- add
token._.ne
for ner label
- add
ginza/sudachipy_tokenizer.py
- change
SudachiTokenizer
toSudachipyTokenizer
- use
SUDACHI_DEFAULT_SPLIT_MODE
instead ofSUDACHI_DEFAULT_SPLITMODE
orSUDACHI_DEFAULT_MODE
- change
- commands
- Dependencies
- upgrade
spacy
to v2.2.3 - upgrade
sudachipy
to v0.4.2
- upgrade
version 2.x
ginza-2.2.1
- 2019-10-28
- 機能改良
- JapaneseCorrectorで
as_*
形式の依存構造を完全にマージ可能になった
- JapaneseCorrectorで
- 不具合改修
- コマンドラインツールが特定の状況で異常終了していた
ginza-2.2.0
- 2019-10-04, Ametrine
- 重要な変更
- sudachipy.tokenizerの
split_mode
が正しく設定されない不具合(v2.0.0でデグレード)を改修 (#43)- この不具合により学習時と
ginza
コマンドによる解析時でsplit_mode
が異なる状態となっていました。 - v2.0.0で
split_mode
は学習時およびAPIでは’B’に、ginza
コマンド実行時は’C’にセットされていました。 - 今回の改修でデフォルトの
split_mode
は’C’に統一されました。 - この改修によりGiNZAをv2.0.0からv2.2.0にアップグレードする際にトークン区切り基準が変化します。
- この不具合により学習時と
- sudachipy.tokenizerの
- 機能追加
ginza
コマンドの出力形式を指定する-f
,--output-format
オプションを追加-f 0
or-f conllu
: CoNLL-U Syntactic Annotation 形式-f 1
or-f cabocha
: cabocha -f1 互換形式
- カスタムトークンフィールドの追加:
bunsetu_index
: 文節番号 (0起番)reading
: 読み (発音フィールドには未対応)sudachi
: SudachiPyのmorphemeインスタンスまたはmorphemeのリスト(JapaneseCorrectorが複数トークンをまとめ上げた場合はリストとなる)
- 性能改良
- Tokenizer
- 最新のSudachiDictを使用(SudachiDict_core-20190927.tar.gz)
- SudachiPyをCythonで高速化されたバージョンにアップグレード(v0.4.0)
- Dependency parser
spacy pretrain
コマンドを用いてUD-Japanese BCCWJ, UD_Japanese-PUD, KWDLCから言語モデルを学習。spacy train
コマンド実行時にマルチタスク学習のために-pt 'tag,dep'
オプションを指定
- New model file
- ja_ginza-2.2.0.tar.gz
- Tokenizer
ginza-2.0.0
- 2019-07-08
ginza
コマンドの追加- コンソールから
ginza
を実行してください
- コンソールから
- パッケージ構成の変更
- モジュール:
ginza
- 言語モデル:
ja_ginza
spacy.lang.ja
をginza
で置き換え
- モジュール:
sudachipy
に関連するディレクトリの削除- SudachiPyと辞書は
ginza
と同時にpip
でインストールされます
- SudachiPyと辞書は
- ユーザ辞書が利用可能
- トークン拡張フィールド
- 追加
token._.bunsetu_bi_label
,token._.bunsetu_position_type
- 変更なし
token._.inf
- 削除
pos_detail
(同じ値がtoken.tag_
に保存される)
- 追加
version 1.x
ja_ginza_nopn-1.0.2
- 2019-04-07
- conllu形式に合致するようcli出力のroot依存元インデックスを0に変更
ja_ginza_nopn-1.0.1
- 2019-04-02
- 新元号『令和』をsystem_core.dicに追加
ja_ginza_nopn-1.0.0
- 2019-04-01
- 初回リリース