パスワードを忘れた? アカウント作成
14017381 journal
アメリカ合衆国

yasuokaの日記: 「It values, instead, its good men.」のitsは、itとsに分かれるのか

日記 by yasuoka

StanfordNLPのen_ewtモデル0.2.0で、James Leggeの『大學』を係り受け解析していたところ、「It values, instead, its good men.」という文で、妙な結果が出ていることに気づいた。

% python3
>>> import stanfordnlp
>>> en=stanfordnlp.Pipeline(lang="en",treebank="en_ewt")
>>> s=en("It values, instead, its good men.")
>>> print(s.conll_file.conll_as_string())
1    It    it    PRON    PRP    Case=Nom|Gender=Neut|Number=Sing|Person=3|PronType=Prs    2    nsubj    _    _
2    values    value    VERB    VBZ    Mood=Ind|Number=Sing|Person=3|Tense=Pres|VerbForm=Fin    0    root    _    _
3    ,    ,    PUNCT    ,    _    2    punct    _    _
4    instead    instead    ADV    RB    _    9    advmod    _    _
5    ,    ,    PUNCT    ,    _    9    punct    _    _
6    it    it    PRON    PRP    Case=Nom|Gender=Neut|Number=Sing|Person=3|PronType=Prs    9    nsubj    _    _
7    s    be    AUX    VBZ    Mood=Ind|Number=Sing|Person=3|Tense=Pres|VerbForm=Fin    9    cop    _    _
8    good    good    ADJ    JJ    Degree=Pos    9    amod    _    _
9    men    man    NOUN    NNS    Number=Plur    2    ccomp    _    _
10    .    .    PUNCT    .    _    2    punct    _    _

「CoNLL-U SVG Editor」で可視化してみると、こんな感じ。「its」が「it」と「s」に分かれてしまっている。どうも「its」を「it's」と勘違いしていて、その結果、ワケの分からない解析結果になっているようだ。StanfordNLPの英語モデルには、en_gumモデル0.2.0もあるので、ちょっと比較してみよう。

% python3
>>> import stanfordnlp
>>> eng=stanfordnlp.Pipeline(lang="en",treebank="en_gum")
>>> s=eng("It values, instead, its good men.")
>>> print(s.conll_file.conll_as_string())
1    It    it    PRON    PRP    Case=Nom|Gender=Neut|Number=Sing|Person=3|PronType=Prs    2    nsubj    _    _
2    values    value    VERB    VBZ    Mood=Ind|Number=Sing|Person=3|Tense=Pres|VerbForm=Fin    0    root    _    _
3    ,    ,    PUNCT    ,    _    8    punct    _    _
4    instead    instead    ADV    RB    _    8    advmod    _    _
5    ,    ,    PUNCT    ,    _    4    punct    _    _
6    its    its    PRON    PRP$    Gender=Neut|Number=Sing|Person=3|Poss=Yes|PronType=Prs    8    nmod:poss    _    _
7    good    good    ADJ    JJ    Degree=Pos    8    amod    _    _
8    men    man    NOUN    NNS    Number=Plur    2    obj    _    _
9    .    .    PUNCT    .    _    2    punct    _    _

「CoNLL-U SVG Editor」で可視化してみると、こんな感じ。まあまあイイ感じに解析できている。だとすると、StanfordNLPの問題というよりは、言語モデルen_ewtの方の問題なのだろうけど、さて、こういうの、どうしたらいいんだろ?

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

ソースを見ろ -- ある4桁UID

読み込み中...