Tokenizer POS-tagger Lemmatizer and Dependency-parser for modern and contemporary Japanese with BERT models
Project description
SuPar-UniDic
Tokenizer, POS-tagger, lemmatizer, and dependency-parser for modern and contemporary Japanese with BERT models.
Basic usage
>>> import suparunidic
>>> nlp=suparunidic.load()
>>> doc=qkana("太郎は花子が読んでいる本を次郎に渡した")
>>> print(suparunidic.to_conllu(doc))
1 太郎 タロウ PROPN 名詞-固有名詞-人名-名 _ 12 nsubj _ SpaceAfter=No|Translit=タロー
2 は は ADP 助詞-係助詞 _ 1 case _ SpaceAfter=No|Translit=ワ
3 花子 ハナコ PROPN 名詞-固有名詞-人名-名 _ 5 nsubj _ SpaceAfter=No|Translit=ハナコ
4 が が ADP 助詞-格助詞 _ 3 case _ SpaceAfter=No|Translit=ガ
5 読ん 読む VERB 動詞-一般 _ 8 acl _ SpaceAfter=No|Translit=ヨン
6 で て SCONJ 助詞-接続助詞 _ 5 mark _ SpaceAfter=No|Translit=デ
7 いる 居る AUX 動詞-非自立可能 _ 5 aux _ SpaceAfter=No|Translit=イル
8 本 本 NOUN 名詞-普通名詞-一般 _ 12 obj _ SpaceAfter=No|Translit=ホン
9 を を ADP 助詞-格助詞 _ 8 case _ SpaceAfter=No|Translit=オ
10 次郎 ジロウ PROPN 名詞-固有名詞-人名-名 _ 12 obl _ SpaceAfter=No|Translit=ジロー
11 に に ADP 助詞-格助詞 _ 10 case _ SpaceAfter=No|Translit=ニ
12 渡し 渡す VERB 動詞-一般 _ 0 root _ SpaceAfter=No|Translit=ワタシ
13 た た AUX 助動詞 _ 12 aux _ SpaceAfter=No|Translit=タ
>>> import deplacy
>>> deplacy.render(doc,Japanese=True)
太郎 PROPN ═╗<════════╗ nsubj(主語)
は ADP <╝ ║ case(格表示)
花子 PROPN ═╗<══╗ ║ nsubj(主語)
が ADP <╝ ║ ║ case(格表示)
読ん VERB ═╗═╗═╝<╗ ║ acl(連体修飾節)
で SCONJ <╝ ║ ║ ║ mark(標識)
いる AUX <══╝ ║ ║ aux(動詞補助成分)
本 NOUN ═╗═════╝<╗ ║ obj(目的語)
を ADP <╝ ║ ║ case(格表示)
次郎 PROPN ═╗<╗ ║ ║ obl(斜格補語)
に ADP <╝ ║ ║ ║ case(格表示)
渡し VERB ═╗═╝═════╝═╝ ROOT(親)
た AUX <╝ aux(動詞補助成分)
>>> from deplacy.deprelja import deprelja
>>> for b in spacy_syncha.bunsetu_spans(doc):
... for t in b.lefts:
... print(spacy_syncha.bunsetu_span(t),"->",b,"("+deprelja[t.dep_]+")")
...
花子が -> 読んでいる (主語)
読んでいる -> 本を (連体修飾節)
太郎は -> 渡した (主語)
本を -> 渡した (目的語)
次郎に -> 渡した (斜格補語)
suparunidic.load(UniDic,BERT)
loads a natural language processor pipeline, which uses UniDic
for tokenizer POS-tagger and lemmatizer, then uses BERT
for Biaffine dependency-parser of SuPar. Available UniDic
options are:
UniDic="gendai"
: Use 現代書き言葉UniDic.UniDic="spoken"
: Use 現代話し言葉UniDic.UniDic="qkana"
: Use 旧仮名口語UniDic.UniDic="kindai"
: Use 近代文語UniDic.UniDic="kinsei"
: Use 近世口語(洒落本)UniDic.UniDic="kyogen"
: Use 中世口語(狂言)UniDic.UniDic="wakan"
: Use 中世文語(説話・随筆)UniDic.UniDic="wabun"
: Use 中古和文UniDic.UniDic="manyo"
: Use 上代(万葉集)UniDic.UniDic=None
: Use unidic-lite (default).
Available BERT
options are:
BERT="bert-japanese-aozora6m3m-unidic32k-2m"
from bert-japanese-aozora (default)BERT="nict-bert-base-japanese-100k"
from NICT BERT 日本語 Pre-trained モデルBERT="unihanlm-base"
from microsoft/unihanlm-base
Installation for Linux
pip3 install git+https://github.com/yzhangcs/parser --user
pip3 install suparunidic --user
Installation for Cygwin64
Make sure to get python37-devel
python37-pip
python37-cython
python37-numpy
python37-wheel
gcc-g++
mingw64-x86_64-gcc-g++
git
curl
make
cmake
, and then:
curl -L https://raw.githubusercontent.com/KoichiYasuoka/CygTorch/master/installer/supar.sh | sh
pip3.7 install suparunidic
Author
Koichi Yasuoka (安岡孝一)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Hashes for suparunidic-0.3.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6f50ccb3e6f53abc268b20eb6f7e38b6cb74593a7d568e8c9be9edc7099dabfa |
|
MD5 | 07a03f6cd1d7b7607dd96bb62fce49dc |
|
BLAKE2b-256 | 92caaaa41d23b9c15a12e827d06b0cb4ebbe4f539df31fc00ebb8bf08a9f7fb3 |