パスワードを忘れた? アカウント作成
15280253 journal
日記

yasuokaの日記: 「長い髪の黒い眼の大きな少女」の文節間係り受け解析

日記 by yasuoka

日本語係り受け解析器「2020年の総ざらえ」の読者から、「自然言語処理入門 Vol.2 係り受け解析/構文解析」(リーディング・エッジ社研究開発部、2021年5月10日)という記事を読んでほしい、との御連絡をいただいた。読んでみたのだが

の3つのシステムを記事で紹介していながら、これらのシステムを使わずに「長い髪の黒い眼の大きな少女」を手作業で係り受け解析していて、私(安岡孝一)個人としてはイラっときた。イラっときたので、とりあえず私の手元のKNPでやってみよう。

$ echo 長い髪の黒い眼の大きな少女 | juman | knp
# S-ID:1 KNP:4.19-CF1.1 DATE:2021/05/11 SCORE:-34.89423
長い─────┐         <用言:形><格解析結果:ガ/髪;ニ/-;デ/-;ヨリ/-;ノ/-;ガ2/->
        髪の─────┐     <体言>
                黒い─────┐ <用言:形><格解析結果:ガ/髪;ノ/-;ガ2/少女>
                眼の─────┤ <体言>
              大きな─────┤ 
                        少女<体言><用言:判><格解析結果:ガ/-;ニ/-;デ/-;カラ/-;ノ/-;ガ2/->
EOS

見ての通り「長い」→「髪の」→「黒い」→「少女」は、この記事の[解釈1]と同様だが、「眼の」→「少女」と「大きな」→「少女」は違う。一方、CaboChaの係り受け解析結果は以下の通り。

$ echo 長い髪の黒い眼の大きな少女 | cabocha
  長い-D
    髪の-D
      黒い-D
        眼の---D
        大きな-D
            少女
EOS

「長い」→「髪の」→「黒い」→「眼の」→「少女」となっていて、「髪が黒い」のか「黒い眼」なのか曖昧なままになっている、というのがCaboChaの特徴だったりする。このCaboChaの解釈も、記事の中では示されていない。GiNZAも見てみよう。

$ python3
>>> import spacy
>>> nlp=spacy.load("ja_ginza")
>>> doc=nlp("長い髪の黒い眼の大きな少女")
>>> from ginza import bunsetu_spans,bunsetu_span
>>> for b in bunsetu_spans(doc):
...   for t in b.lefts:
...     print(bunsetu_span(t),"->",b)
...
長い -> 髪の
黒い -> 眼の
髪の -> 少女
眼の -> 少女
大きな -> 少女

ごらんの通り、この記事の[解釈3]である。というような形で、実際のシステムにおける解析動作と、[解釈1][解釈2][解釈3]との対応を示さないと、何の話だか読者にはわからないと思うのだが、まあ、連載のようだから次の記事で示すのかしら。

この議論は、yasuoka (21275)によって「 ログインユーザだけ」として作成されている。 ログインしてから来てね。
typodupeerror

アレゲは一日にしてならず -- アレゲ研究家

読み込み中...