パスワードを忘れた? アカウント作成
15163885 journal
人工知能

yasuokaの日記: 「昨日は誰も来なかった」の主語は「昨日」なのか「誰」なのか 8

日記 by yasuoka

1月3日の日記で公開したUniDic-COMBOをチューン・アップすべく、色々な文章を試しているのだが、「昨日は誰も来なかった」という文で悩みこんでしまった。現時点のUniDic-COMBO 1.0.6だと、私(安岡孝一)の手元では、以下のような結果になる。

>>> import unidic_combo
>>> nlp=unidic_combo.load()
>>> doc=nlp("昨日は誰も来なかった")
>>> import deplacy
>>> deplacy.render(doc,Japanese=True)
昨日   PRON ═╗<════╗ nsubj(主語)
は     ADP  <╝     ║ case(格表示)
誰     PRON ═╗<══╗ ║ obl(斜格補語)
も     ADP  <╝   ║ ║ case(格表示)
来     VERB ═╗═╗═╝═╝ ROOT(親)
なかっ AUX  <╝ ║     aux(動詞補助成分)
た     AUX  <══╝     aux(動詞補助成分)

一方、1月11日の日記でも紹介したspaCy-SynChaだと、私の手元では以下の結果になる。

>>> import spacy_syncha
>>> nlp=spacy_syncha.load()
>>> doc=nlp("昨日は誰も来なかった")
>>> import deplacy
>>> deplacy.render(doc,Japanese=True)
昨日   NOUN ═╗<════╗ obl(斜格補語)
は     ADP  <╝     ║ case(格表示)
誰     PRON ═╗<══╗ ║ nsubj(主語)
も     ADP  <╝   ║ ║ case(格表示)
来     VERB ═╗═╗═╝═╝ ROOT(親)
なかっ AUX  <╝ ║     aux(動詞補助成分)
た     AUX  <══╝     aux(動詞補助成分)

つまり、UniDic-COMBO 1.0.6は「昨日」を主語だとみなしているのに対し、spaCy-SynCha 0.8.1は「誰」を主語だとみなしているわけだ。これは、まあ、日本語の主語というのがかなり曖昧で、いわゆるトピック主語の「昨日」も、いわゆる不定称動作主語の「誰」も、どっちも気ままに使えてしまうことにあるのだろう。うーん、英語との対応を考えるなら、動作主語を優先した方がいいのだけど、古典中国語(漢文)との対応を考えるなら、トピック主語も扱いたい気がする。さて、さて、どうしたものやら。

この議論は、yasuoka (21275)によって「 ログインユーザだけ」として作成されている。 ログインしてから来てね。
  • そもそも自然言語(?)には曖昧さがあって,話し手(書き手)が想定している主語と,聞き手(読み手)が解釈した主語が一致する保証さえないはずです.

    個人的には,文章を人間が味わうなら,その個人が納得できる一つの解釈を考えるべきなんでしょうが
    文章を計算機で扱うなら,多義性を数値化して,むしろ複数の解釈がありうることを示したり,その確率分布で文章を解析する方が価値があるように思います.

typodupeerror

あと、僕は馬鹿なことをするのは嫌いですよ (わざとやるとき以外は)。-- Larry Wall

読み込み中...