yasuokaの日記: 「New York」と「Hà Nội」と「新大阪」は1語なのか2語なのか
英語における空白は、一般には単語の区切りを示している。たとえば「New York」という地名は、通常「New」と「York」の2語から構成されていると考えられている。Stanza 1.0.1で「I love New York.」という文を係り受け解析してみよう。
$ pip3 install stanza
$ python3
>>> import stanza
>>> stanza.download("en")
>>> en=stanza.Pipeline("en")
>>> s=en("I love New York.")
>>> print(s)
[
[
{
"id": "1",
"text": "I",
"lemma": "I",
"upos": "PRON",
"xpos": "PRP",
"feats": "Case=Nom|Number=Sing|Person=1|PronType=Prs",
"head": 2,
"deprel": "nsubj",
"misc": "start_char=0|end_char=1"
},
{
"id": "2",
"text": "love",
"lemma": "love",
"upos": "VERB",
"xpos": "VBP",
"feats": "Mood=Ind|Tense=Pres|VerbForm=Fin",
"head": 0,
"deprel": "root",
"misc": "start_char=2|end_char=6"
},
{
"id": "3",
"text": "New",
"lemma": "New",
"upos": "PROPN",
"xpos": "NNP",
"feats": "Number=Sing",
"head": 4,
"deprel": "compound",
"misc": "start_char=7|end_char=10"
},
{
"id": "4",
"text": "York",
"lemma": "York",
"upos": "PROPN",
"xpos": "NNP",
"feats": "Number=Sing",
"head": 2,
"deprel": "obj",
"misc": "start_char=11|end_char=15"
},
{
"id": "5",
"text": ".",
"lemma": ".",
"upos": "PUNCT",
"xpos": ".",
"head": 2,
"deprel": "punct",
"misc": "start_char=15|end_char=16"
}
]
]
一方、ベトナム語における空白は、一般には音節の区切りを示している。たとえば「Hà Nội」という地名は、2音節からなる単語であり、「Hà Nội」全体で1語だとみなされる。pyvi 0.1で「Yêu Hà Nội.」という文を形態素解析してみよう。
$ pip3 install pyvi
$ python3
>>> from pyvi import ViTokenizer,ViPosTagger
>>> vi=lambda txt:ViPosTagger.postagging(ViTokenizer.tokenize(txt))
>>> s=vi("Yêu Hà Nội.")
>>> print(s)
(['Yêu', 'Hà_Nội', '.'], ['V', 'Np', 'F'])
では、空白のない日本語における複合地名は、どう扱うべきだろう。「新大阪が好き。」という文を、mecab-python3 0.996.5のIPAdicで形態素解析してみよう。
$ pip3 install mecab-python3
$ python3
>>> import MeCab
>>> ja=MeCab.Tagger().parse
>>> s=ja("新大阪が好き。")
>>> print(s)
新大阪 名詞,固有名詞,地域,一般,*,*,新大阪,シンオオサカ,シンオーサカ
が 助詞,格助詞,一般,*,*,*,が,ガ,ガ
好き 名詞,形容動詞語幹,*,*,*,*,好き,スキ,スキ
。 記号,句点,*,*,*,*,。,。,。
EOS
同じ「新大阪が好き。」という文を、今度はfugashi 0.2.1のunidic-liteで形態素解析してみよう。
$ pip3 install 'fugashi[unidic-lite]'
$ python3
>>> import fugashi
>>> ja=fugashi.Tagger().parse
>>> s=ja("新大阪が好き。")
>>> print(s)
新 シン シン 新 接頭辞
大阪 オーサカ オオサカ オオサカ 名詞-固有名詞-地名-一般 0
が ガ ガ が 助詞-格助詞
好き スキ スキ 好き 形状詞-一般 2
。 。 補助記号-句点
EOS
すなわち「新大阪」は、IPAdicでは1語とみなされているが、unidic-liteでは「新」「大阪」の2語とみなされている。今後の形態素解析は、UniDic(というか国語研短単位)の「新」「大阪」の方が主流になっていくと思うのだが、さて、日本の「学校文法」は、それを許してくれるだろうか。
「New York」と「Hà Nội」と「新大阪」は1語なのか2語なのか More ログイン