パスワードを忘れた? アカウント作成
14141805 journal
中国

yasuokaの日記: 現代中国語係り受け解析ツールとしてのStanza

日記 by yasuoka

Stanzaには、現代中国語モデルが2つ(簡化字用zh-hansと繁體字用zh-hant)準備されている。ただ、この2つのモデルは、解析動作が微妙に異なっているようだ。とりあえず、Stanzaのインストールと、モデルのダウンロード。

$ pip3 install stanza
$ python3
>>> import stanza
>>> stanza.download("zh-hans")
>>> stanza.download("zh-hant")

ダウンロードに続いて、「我把这本书看完了」「我把這本書看完了」の2文を、係り受け解析してみよう。

>>> zh_cn=stanza.Pipeline("zh-hans")
>>> zh_tw=stanza.Pipeline("zh-hant")
>>> from stanza.utils.conll import CoNLL
>>> for s in [zh_cn("我把这本书看完了"),zh_tw("我把這本書看完了")]:
...   print(CoNLL.conll_as_string(CoNLL.convert_dict(s.to_dict())))
...

1    我    我    PRON    PRP    Person=1    6    nsubj    _    start_char=0|end_char=1
2    把    把    ADP    BB    _    5    case    _    start_char=1|end_char=2
3    这    这    DET    DT    _    4    det    _    start_char=2|end_char=3
4    本    本    NOUN    NNB    _    5    clf    _    start_char=3|end_char=4
5    书    书    NOUN    NN    _    6    obl:patient    _    start_char=4|end_char=5
6    看完    看完    VERB    VV    _    0    root    _    start_char=5|end_char=7
7    了    了    PART    UH    _    6    discourse    _    start_char=7|end_char=8

1    我    我    PRON    PRP    Person=1    5    nsubj    _    start_char=0|end_char=1
2    把    把    ADP    BB    _    4    case    _    start_char=1|end_char=2
3    這    這    DET    DT    _    4    det    _    start_char=2|end_char=3
4    本書    本書    NOUN    NN    _    5    obl:patient    _    start_char=3|end_char=5
5    看完    看完    VERB    VV    _    0    root    _    start_char=5|end_char=7
6    了    了    PART    UH    Aspect=Perf    5    case:aspect    _    start_char=7|end_char=8

「把」がADPになっていて、ちゃんとcaseが刺さっている点は、私(安岡孝一)個人としては高く評価できる。ただ、簡化字と繁體字で、単語の切れ目が違うというのは、さすがにいただけない。以前このあたりを、Stanford大学の齐鹏(Qí Péng)と議論して、簡化字と繁體字でうまく同期を取る方策を練ったのだけど、Stanzaでは中々うまくいかないのかしら。

この議論は、yasuoka (21275)によって ログインユーザだけとして作成されたが、今となっては 新たにコメントを付けることはできません。
typodupeerror

皆さんもソースを読むときに、行と行の間を読むような気持ちで見てほしい -- あるハッカー

読み込み中...