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

yasuokaさんのトモダチの日記みんなの日記も見てね。 アカウントを作成して、スラドのモデレーションと日記の輪に参加しよう。

13791944 journal
人工知能

yasuokaの日記: 古典中国語Universal Dependenciesの構成素解析向け拡張(簡易版)

日記 by yasuoka

昨日の日記で示したUniversal Dependenciesの構成素解析向け拡張が、かなりヤヤコシイ結果になってしまったので、最小限の情報にまで削ぎ落とすことを考えてみた。端的には、multiword tokenを使わずに、MISCフィールド(第10フィールド)にConstituentという属性を追加するだけで、必要ギリギリの情報が表せそうだ。

1 置 置 VERB v,動詞,行為,設置 _ 0 root _ Constituent=1-8,1-5|Gloss=place|SpaceAfter=No
2 參 參 VERB v,動詞,行為,役割 _ 1 ccomp _ Constituent=2-5|Gloss=consult|SpaceAfter=No
3 知 知 VERB v,動詞,行為,動作 _ 2 ccomp _ Constituent=3-5|Gloss=know|SpaceAfter=No
4 政 政 NOUN n,名詞,制度,儀礼 _ 5 nmod _ Gloss=government|SpaceAfter=No
5 事 事 NOUN n,名詞,可搬,成果物 _ 3 obj _ Constituent=4-5|Gloss=affair|SpaceAfter=No
6 以 以 VERB v,動詞,行為,動作 _ 7 advmod _ Gloss=use|SpaceAfter=No
7 副 副 VERB v,動詞,行為,交流 _ 1 conj _ Constituent=6-8,7-8|Gloss=aid|SpaceAfter=No
8 普 普 PROPN n,名詞,人,名 _ 7 obj _ Gloss=Pu|SpaceAfter=No

どの構成素の情報をどの単語に書くかは、多少、悩ましい点もあったのだが、とりあえず、構成素のheadにあたる単語のMISCフィールドに書くことにした。そうすると、たとえば上の例での「副」は、「以副普」と「副普」という2つの構成素のheadにあたることから、ざっくりConstituent=6-8,7-8と表している。もちろん、この表記法は、あくまで簡易版なので、実際の構成素解析においては、もう少しヤヤコシイ表記法を使わざるを得ないと思う。

13791387 journal
人工知能

yasuokaの日記: 古典中国語Universal Dependenciesにおける複合語と構成素解析

日記 by yasuoka

昨日の日記で例示した「參知政事」という官職名は、内部に「知政事」という官職名を含んでいる。「知政事」という官職名は、さらに内部に「政事」という一種の熟語を含んでいる。この様子を、昨日の拡張版Universal Dependenciesで表してみよう。

1 置 置 VERB v,動詞,行為,設置 _ 0 root _ Gloss=place|SpaceAfter=No
2-5 參知政事 _ _ _ _ 1 obj _ _
2 參 參 VERB v,動詞,行為,役割 _ 1 ccomp 2-5:head Gloss=consult|SpaceAfter=No
3-5 知政事 _ _ _ _ 2 obj _ _
3 知 知 VERB v,動詞,行為,動作 _ 2 ccomp 3-5:head Gloss=know|SpaceAfter=No
4-5 政事 _ _ _ _ 3 obj _ _
4 政 政 NOUN n,名詞,制度,儀礼 _ 5 nmod _ Gloss=government|SpaceAfter=No
5 事 事 NOUN n,名詞,可搬,成果物 _ 3 obj 4-5:head Gloss=affair|SpaceAfter=No
6 以 以 VERB v,動詞,行為,動作 _ 7 advmod _ Gloss=use|SpaceAfter=No
7 副 副 VERB v,動詞,行為,交流 _ 1 conj _ Gloss=aid|SpaceAfter=No
8 普 普 PROPN n,名詞,人,名 _ 7 obj _ Gloss=Pu|SpaceAfter=No

これはすなわち、「參知政事」という官職名を一種の構成素だとみなして、構成素解析をおこなっているに他ならない。ならば、「置參知政事以副普」という文全体の構成素解析を、この手法で示してみよう。

1-8 置參知政事以副普 _ _ _ _ _ _ 0:head _
1-5 置參知政事 _ _ _ _ _ _ 1-8:head _
1 置 置 VERB v,動詞,行為,設置 _ 0 root 1-5:head Gloss=place|SpaceAfter=No
2-5 參知政事 _ _ _ _ 1 obj 1-5:obj _
2 參 參 VERB v,動詞,行為,役割 _ 1 ccomp 2-5:head Gloss=consult|SpaceAfter=No
3-5 知政事 _ _ _ _ 2 obj 2-5:obj _
3 知 知 VERB v,動詞,行為,動作 _ 2 ccomp 3-5:head Gloss=know|SpaceAfter=No
4-5 政事 _ _ _ _ 3 obj 3-5:obj _
4 政 政 NOUN n,名詞,制度,儀礼 _ 5 nmod 4-5:mod Gloss=government|SpaceAfter=No
5 事 事 NOUN n,名詞,可搬,成果物 _ 3 obj 4-5:head Gloss=affair|SpaceAfter=No
6-8 以副普 _ _ _ _ _ _ 1-8:para _
6 以 以 VERB v,動詞,行為,動作 _ 7 advmod 6-8:mod Gloss=use|SpaceAfter=No
7-8 副普 _ _ _ _ _ _ 6-8:head _
7 副 副 VERB v,動詞,行為,交流 _ 1 conj 7-8:head Gloss=aid|SpaceAfter=No
8 普 普 PROPN n,名詞,人,名 _ 7 obj 7-8:obj Gloss=Pu|SpaceAfter=No

うーむ、示したのはいいが、かなりヤヤコシイことになってしまった。もう少しスッキリ表す方法は、どこかにないだろうか。

13790368 journal
人工知能

yasuokaの日記: 動賓構造を内部に持つ名詞句のための古典中国語Universal Dependenciesの拡張

日記 by yasuoka

「置參知政事以副普」という漢文(古典中国語)において、「參知政事」という官職名をUniversal Dependenciesでどう書くべきか、ここ数日ほど考えてみた。結論が出た、というわけではないのだが、現時点での私(安岡孝一)のアイデアを、忘れないうちに今日の日記に記しておく。

1 置 置 VERB v,動詞,行為,設置 _ 0 root _ Gloss=place|SpaceAfter=No
2-5 參知政事 _ _ _ _ 1 obj _ _
2 參 參 VERB v,動詞,行為,役割 _ 1 ccomp 2-5:head Gloss=consult|SpaceAfter=No
3 知 知 VERB v,動詞,行為,動作 _ 2 ccomp _ Gloss=know|SpaceAfter=No
4 政 政 NOUN n,名詞,制度,儀礼 _ 5 nmod _ Gloss=government|SpaceAfter=No
5 事 事 NOUN n,名詞,可搬,成果物 _ 3 obj _ Gloss=affair|SpaceAfter=No
6 以 以 VERB v,動詞,行為,動作 _ 7 advmod _ Gloss=use|SpaceAfter=No
7 副 副 VERB v,動詞,行為,交流 _ 1 conj _ Gloss=aid|SpaceAfter=No
8 普 普 PROPN n,名詞,人,名 _ 7 obj _ Gloss=Pu|SpaceAfter=No

PARSEME拡張を使うべきかどうか、多少、迷ったのだが、とりあえずはmultiword token(上の例だと2-5の行)を使ってみることにした。また、そのmultiword tokenが周りのtokenとどういう関係にあるかを記述するために、「參知政事」へ「置」からobjリンクを繋いだ上、「參」のDEPSフィールド(第9フィールド)に「參知政事」からの特殊なリンクを書き加えている。なお、この特殊なリンクのアイデア自体は、私のオリジナルではなく、守岡知彦『古典中国語UDコーパスのIPFSを用いた表現の試み』(情報処理学会研究報告, Vol.2018-CH-118 (2018年8月), No.6, pp.1-7)にヒントを得たものである。

13784444 journal
人工知能

yasuokaの日記: BERTと東ロボは漢文に返り点を打つことができたのか

日記 by yasuoka

私(安岡孝一)の11月30日の日記の読者から、鳥谷健史の『Google最新技術「BERT」と「東ロボ」との比較から見えてくるAIの課題』(ハーバービジネスオンライン、2018年11月23日)という記事を読んでみてほしい、との連絡をいただいた。読んでみたのだが、牽強付会を絵に描いたような記事で、正直かなりカチンと来た。

「ロボットは東大に入れるか」(以下、東ロボ)は国立情報科学研究所が2011年から開始したプロジェクトです。統計とビッグデータによるAI技術の可能性と限界を正確に認識することを一つの目的としています。2013年~2016年までセンター模試、記述式模試を受験し結果を公開していました。

「一つの目的」だったのは事実かもしれないが、少なくとも漢文に関しては、「AI技術の可能性」とか「限界」とかは、全く示せていない。だって、東ロボは「漢文問題の解法に関する研究は,2013年から2016年までの4年間,まったく実施しなかった」のだから、それをもって「可能性」とか「限界」とか言われても、てんで話にならない。そもそも「国立情報科学研究所」って、どこのこと?

「BERTはテストで人間を上回る記録を出している、これは東ロボチームが示した現状のAI技術の限界を越えたということか?」という質問です。BERTも東ロボチームが示した現状のAI技術の限界を越えてはいません。

いや、だから、東ロボチームは、少なくとも漢文に関しては何も示しておらず、それを「現状のAI技術の限界」とか書かれても、ワケがわからない。

東ロボチームが提示した現状のAI技術の限界とは具体的に何を指しているのでしょう? 東ロボチームは自然言語に機械学習という『帰納的アプローチ』を使った場合『意味を理解しない』実装になってしまうので、英語、国語など言語のテストに適用するには限界があると指摘しています。

それは、東ロボチームの限界、なのであって、「現状のAI技術の限界」ではない。というか、そもそも漢文に関しては「まったく実施しなかった」のであり、「国語など言語のテストに適用する」ための検討としては、どう考えても不十分だと言わざるを得ない。すなわちそれが、東ロボチームの限界、なのであって、「現状のAI技術の限界」などと鳥谷健史が言い出すのは、牽強付会もいいところだ。

一方、googleのBERTも、現時点では漢文を扱うことができない、という点については、私が過去の日記(これとかこれ)で書いたとおりだ。ただし、これとて、あくまで現時点のBERTの限界なのであって、「現状のAI技術の限界」ではない。『帰納的アプローチ』とやらを「現状のAI技術の限界」などと言いたいのなら、それで漢文に返り点を打てるかどうかくらいは、ちゃんと調べてからにしてほしい。

13780639 journal
人工知能

yasuokaの日記: 東ロボは漢文に返り点を打つことができたのか

日記 by yasuoka

私(安岡孝一)の11月12日の日記の読者から、「ロボットは東大に入れるか」(東京大学出版会、2018年9月)を読んでみてほしい、との御連絡をいただいた。読んでみたところ、67ページに

大学入試の「国語」は,現代文,古文,漢文の3つに分けられる.このうち,古文と漢文は,受験生にとってほとんど外国語のようなものであり,外国語と同じように単語や文法を覚え,現代日本語に翻訳する能力を身につけることが,主要な対策となる.実際,古文や漢文の問題は,単語や文法の知識を問う問題や現代文に翻訳する問題,および,それに基づく内容理解の問題が出題されるため,このような対策は有効であり,コンピュータで解く場合でも,同様のアプローチをとることになる.

と書いてあって、非常にワクワクしたのだが、次の68ページでガックリきた。

なお,漢文問題の解法に関する研究は,2013年から2016年までの4年間,まったく実施しなかったので,本章では取り上げない.

まったく実施しなかったのね。しかも「本章」(第2章)のみならず、他の章でも漢文は取り上げられていないので、東ロボも、漢文に返り点を打つことはできないようだ。

ただまあ、そうは言うものの、私の共同研究班が、漢文(古典中国語)の形態素解析を何とかモノにしたのは、「古典中国語形態素解析のための品詞体系再構築」(2012年11月)以降のことだ。そこそこ返り点が打てるようになったのは、日本漢字学会第一回研究大会で明日(12月1日)発表予定の「漢文の依存文法解析と返り点の関係について」以降ということになるのだろう。その意味では、完全に歯が立たないというわけでは無さそうなので、ぜひ「漢文問題の解法に関する研究」にチャレンジしてほしいなぁ。

13775435 journal
政府

yasuokaの日記: 法律における「碍」の1字 5

日記 by yasuoka

『人名用漢字の新字旧字』「碍」と「礙」の読者から、昨日の『朝日新聞』文化欄に掲載された上田真由美の「障碍表記「事情に応じ可」常用漢字入りは先送り」(大阪版(第49197号)だとp.29)という記事を、読んでみてほしいとの御連絡をいただいた。

2020年東京パラリンピックを見据え、法律で障害を「障碍」と表記できるよう「碍」の1字を常用漢字表に加えるよう求めた衆参両院の委員会決議に対し、文化審議会国語分科会は22日、追加の是非の結論を先送りし、「自治体や民間組織が『碍』を使うことを妨げるものではない」とする考え方を示した。

まあ、文化審議会国語分科会がこういう風に答えるのは、私(安岡孝一)個人としては当然だと思う。だって、2010年11月22日の第26回障がい者制度改革推進会議において

これらを踏まえ、法令等における「障害」の表記については、当面、現状の「障害」を用いることとし、今後、制度改革の集中期間内を目途に一定の結論を得ることを目指すべきである。

という「当面」の結論が得られているからだ。「衆参両院の委員会」(衆議院文部科学委員会と参議院文教科学委員会)は、まず、この「当面」の結論をくつがえしてから、あらためて文化審議会国語分科会に持ち込むべきだろう。

それすらやらずに、一方では障害者による文化芸術活動の推進に関する法律を、表記変更の付帯決議も議論もなく通過(参議院文教科学委員会2018年4月17日、衆議院文部科学委員会2018年6月1日)させるとか、ワケがわからない。小切手法とか手形法とか恩給法には、いまだに「碍」の字が使われてるんだから、とりあえずは、障害者基本法の法律名を変えてしまうところから始めるべきだと、私個人は思うのだが。

13771836 journal
中国

yasuokaの日記: GoogleのBERTの元データは本当にWikipediaなのか 2

日記 by yasuoka

11月12日の日記に書いた「しにはとんとんワークケートを」が、どうにもこうにも気になったので、少し探してみた。端的にはBERTのChineseモデルのvocab.txtにある、以下の7行だ。

せからこ
してくたさい♪この
しにはとんとんワークケートを
するとあなたにもっとマッチした
ならワークケートへ
もみつかっちゃうかも
ワークケートの

私(安岡孝一)が調べた限りでは、これら7つのvocabularyは、ワークゲートの求人情報から取られたものだ。濁点が落ちている上に、漢字との間にムリヤリ「語境界」が入れられているため、かなり探しにくかったのだが、以下の文の一部だろう。

お問い合せからご連絡ください。
お仕事探しにはどんどんワークゲートを利用してください♪ この条件の求人/求人情報以外にも
検索するとあなたにもっとマッチした求人/求人情報もみつかっちゃうかも。
求人情報ならワークゲートへ!
ワークゲートの求人はすべて募集中。

そう思って、当該vocab.txtの中を捜してみると、ちゃんと「くたさい」も「はすへて」も含まれていた。素晴らしい。でも、どうしてChinese(中国語)モデルのvocab.txtに、ワークゲートの求人情報が入ってるんだろ。

13767903 journal
Google

yasuokaの日記: Re: GoogleのBERTは漢文に返り点を打つことができるのか 2

日記 by yasuoka

私(安岡孝一)の一昨日昨日の日記の読者から、このツイートをお教えいただいた。ちょうど手元に工藤拓『形態素解析の理論と実装』(近代科学社、2018年9月)が届いて、ざっと読み始めたところだったのだけど、そっちはとりあえずおいといて、私個人としては、BERTの事前学習モデルに古典中国語(Classical Chinese)がほしい。ただ、現時点では「We do not plan to release more single-language models」らしいので、やるなら自分でやらねばならない、ということのようだ。

古典中国語のWikipediaは正直アテにならないので、事前学習の元ネタとしては、まあ、四書五経を中心とした古典群ということになる。kanripoで言えば、周易尚書毛詩禮記春秋左傳孟子論語あたりから始めて、適宜、テキストを拾ってくることになるだろう。ただ、古典中国語には、そもそもsentenceという単位はない(というかsentenceに切るということ自体がタスクの一つ)ので、処理単位として何が適当なのか、というあたりがまずは議論になる。これに対し、「章」を処理単位にする、というアイデアを、私個人としては持っている。たとえば、孟子卷一の最初の「章」は

孟子見梁惠王王曰叟不遠千里而來亦將有以利吾國乎孟子對曰王何必曰利亦有仁義而已矣王曰何以利吾國大夫曰何以利吾家士庶人曰何以利吾身上下交征利而國危矣萬乘之國弑其君者必千乘之家千乘之國弑其君者必百乘之家萬取千焉千取百焉不為不多矣苟為後義而先利不奪不饜未有仁而遺其親者也未有義而後其君者也王亦曰仁義而已矣何必曰利

すなわち152字しかないので、「章」を2つ並べても512 wordsに楽々おさまるはずなのだが、でも果たしてこれでいいのだろうか。また、WordPieceが手元にないので、代わりにSentencePieceを使いたいのだが、SentencePieceで言うwordは、漢字のまわりに空白を入れたWordPieceのwordと、同一視していいのだろうか。あるいは、BERTのtokenization.pyの

  def _tokenize_chinese_chars(self, text):
    """Adds whitespace around any CJK character."""

のあたりは、空白を入れずにSentencePieceで作ったvocab.txtの場合でも、このまま動かしておくべきなのだろうか。

このあたりが、どうにも私にはわからない上に、試しにいくつかの場合で実験しようとしても、私の手元の非力なマシンだと、いつまでたってもモデルが出来上がらない。BERTの事前学習モデルに古典中国語(Classical Chinese)がほしいのだけど、私自身はtwitterやってないし、さて、どうすればいいんだろ…。

13767059 journal
日記

yasuokaの日記: 漢文に返り点を打つタスク

日記 by yasuoka

昨日の日記で「漢文に返り点を打つタスク」と書いたところ、返り点にも流派のようなものがあるのではないか、という趣旨の御意見をいただいた。まあ、それもあって、今回、私(安岡孝一)の『漢文の依存文法解析と返り点の関係について』(日本漢字学会第一回研究大会(2018年12月1日)発表予定)では、『漢文大系』(冨山房、1909~1916年)の「孟子定本」とだけ対照している。卷一のアタマを見てみよう。

孟子見梁惠王
王曰
叟不千里而來
亦將以利吾國
孟子對曰
王何必曰
亦有仁義而已矣
王曰何以利吾國
大夫曰何以利吾家
士庶人曰何以利吾身
上下交征利而國危矣
萬乘之國
其君
必千乘之家
千乘之國
其君
必百乘之家
萬取千焉
千取百焉
多矣
苟爲義而先㆒㆑
奪不
仁而遺其親
義而後其君
王亦曰仁義而已矣
何必曰

上の例に即して言えば、「孟子見梁惠王王曰叟不遠千里而來亦…已矣何必曰利」という白文に対して、上のような返り点を導出するのが、漢文に返り点を打つタスクの目標ということになるだろう。ただ、確かに、上の例においても、安井衡の「返りグセ」みたいなものがあって、たとえば「曰」に返り点を打つかどうかは、かなり悩ましい。

上の例には「王曰」という文字列が2ヶ所あるが、最初の「王曰」には返り点が無く、後の「王曰」には直後に返り点がある。これは、最初の「王曰」が地の文にあり、後の「王曰」が孟子の会話文の中にあるからである。端的に言えば、地の文の「曰」には返り点を打たず、それに続く会話文の中の「曰」には返り点を打つことで、「曰」の入れ子構造を示しているわけである。正直かなり難しい。誰か、こういうタスクを、ちゃちゃっと処理してくれるようなモデル、作ってくれないかなぁ…。

13766537 journal
Google

yasuokaの日記: GoogleのBERTは漢文に返り点を打つことができるのか

日記 by yasuoka

『漢文の依存文法解析と返り点の関係について』(日本漢字学会第一回研究大会(2018年12月1日)発表予定)の発表準備をしていたところ、返り点程度ならGoogleのBERTを使えば打てるのではないか、という趣旨の御意見をいただいた。まあ、打てるかもしれないな、と思って、ここ5日間ほどBERT-Baseの2つのモデルと戯れてみたが、現時点での私(安岡孝一)の感触では、漢文の返り点はBERTの適用事例としては、かなり難しいのではないかと思える。

そもそもMultilingualモデルにもChineseモデルにも、古典中国語(Classical Chinese)が含まれておらず、いずれのvocab.txtもちょっとつらい。しかも不思議なことに、Chineseモデルのvocab.txtに「しにはとんとんワークケートを」なんていうvocabularyが含まれていて、どうなってるのかイマイチわからない。そこで、kanripoで公開中の大量の漢文に対して、まずは例の「穴埋め問題」を施すことを考えたのだが、BERTのTokenizationのところに

Because Chinese does not have whitespace characters, we add spaces around every character in the CJK Unicode range before applying WordPiece. This means that Chinese is effectively character-tokenized.

という妙なことが書かれていて、さすがに困り果てた。変な空白を入れてからWordPieceにかける、とか言われても、そのWordPieceどうすればいいの。代わりにSentencePieceを使う手も考えたが、それだとBERTのポリシーから離れていく気がする。さて、どうしたものか。

というわけで、現状のBERTでは、漢文に返り点を打つタスクをやらせるのは、ちょっとばかり無理がある。それとも私が見落としてるだけで、何か夢のような方法があるのかなぁ…。

typodupeerror

ハッカーとクラッカーの違い。大してないと思います -- あるアレゲ

読み込み中...