yasuokaの日記: フランス語のUniversal Dependenciesにおける縮約冠詞と構成鎖
deplacyに直接構成鎖解析(immediate catena analysis)を実装したのだが、フランス語のような縮約冠詞を有する言語では、Universal Dependencies上の構成鎖がヤヤコシイことになってしまうのに気づいた。とりあえず、「Attention aux articles contractés!」という例文を、Google Colaboratory上のStanzaで係り受け解析してみよう。
!pip install deplacy stanza
import stanza
stanza.download("fr")
nlp=stanza.Pipeline("fr")
doc=nlp("Attention aux articles contractés!")
from stanza.utils.conll import CoNLL
d=CoNLL.conll_as_string(CoNLL.convert_dict(doc.to_dict()))
print(d)
import deplacy
deplacy.render(d)
私(安岡孝一)の手元では、Universal Dependenciesとdeplacyによる可視化は、以下のようになった。
1 Attention attention INTJ _ _ 0 root _ start_char=0|end_char=9
2-3 aux _ _ _ _ _ _ _ start_char=10|end_char=13
2 à à ADP _ _ 4 case _ _
3 les le DET _ Definite=Def|Gender=Masc|Number=Plur|PronType=Art 4 det _ _
4 articles article NOUN _ Gender=Masc|Number=Plur 1 obl:arg _ start_char=14|end_char=22
5 contractés contracter VERB _ Gender=Masc|Number=Plur|Tense=Past|VerbForm=Part 4 acl _ start_char=23|end_char=33
6 ! ! PUNCT _ _ 1 punct _ start_char=33|end_char=34
Attention INTJ ═══════╗═╗ root
à ADP <════╗ ║ ║ case
les DET <══╗ ║ ║ ║ det
articles NOUN ═╗═╝═╝<╝ ║ obl:arg
contractés VERB <╝ ║ acl
! PUNCT <════════╝ punct
「aux」が「à les」に分解されているのは、Universal Dependenciesがそういうルールだからだが、この「à」と「les」の間に直接の係り受けは無い。つまり、「les articles」や「à articles」や「aux articles」は構成鎖(部分連結グラフ)となるが、「aux」は構成鎖とはならない、という、かなり不気味な結果となってしまう。うーむ、フランス語における構成鎖(catena)と構成素(constituent)の関係を、一度ちゃんと考えておかなきゃダメかなぁ。
フランス語のUniversal Dependenciesにおける縮約冠詞と構成鎖 More ログイン