★このパッチキットについて このパッチ群は、『かんな』Version 3.5 beta 2 に当てるための、文法・辞書 関連の非公式な実験的パッチです。 このパッチの他に、藤枝さんによる [Canna 4609] [Canna 4666] を当てて、 アルゴリズム的に変換効率の向上を図ることをお勧めします。 パッチを当てるには、Canna35b2/dic/ideo/grammar の下で % zcat ~/grammar-patches.5.part1.tar.gz | tar xvf - としてパッチを展開し、 % cat patches.5/patches.5?? | patch - としてパッチを当て、 % make の後に、cannakill してから root になって # make install してください。個人で mkdic -fq iroha とかしている場合は、cannaserver を 立ち上げた後で、頻度ファイルの作り直しをお忘れなく。 各パッチは独立した物なので、一部を選択することができますが、新しい 品詞を定義するパッチを当てる前に、patches.501 を当てて、品詞数に 余裕を持たせる必要がありますので、ご注意ください。 ★各パッチ片の解説 patches.501 (1703,4524) 品詞数が限界の512になったため、捻出する。[Canna 1703] で藤枝さんが 提案された方式を適用し、5 個の品詞枠を節約。 「付いてかんが」問題(4010,4506)が復活するのは仕方が無い。それとも、 #ktec5a だけ復活するか? #もっと品詞を減らす方法: #(1) Zkai = Zka + Zi とする(終助詞+間投助詞)。 #(2) patches.512 の #nainee に「ない」が間借りする方式をまねて、 # Znaa に「な」を登録して, Zyona を削除し、Zyo+Znaa で代用する。 patches.502 (4010,4355) keishiki.t から「ほか」「ほう」を削る。前回やるはずが忘れていた。 patches.503 (4527,4552,4612) #kdni+#naru がつながるのに合わせて、#Kni+#naru 接続を復活。 同様に、#Kto+#sx* がつながるのに合わせて、#kdto+#sx* も接続しない と不便である(「汲々としている」を出そうとして、「救急としている」 しか出ない)。これは定義より、自動的に行われる。#sxu は #sxu2 の 方に接続する。 patches.504 (4612,4613,4633) #masu+#deshou,#desho の接続追加。「成増でしょうか」問題解決。 #masuru の方には #desho は接続しないようにしておく。 そのため、#desho, #deshou を #des から分離独立。 patches.505 (4650,4642,4665) #Snode「んで」を hojoswd.t に追加。「分かってますんで」が 変換できるようになる。 patches.506 (4686,4689) dics.dir に suffix.ctd(.swd)の行追加、suffix.t の #N2T17->N2T16 の品詞変更、人名などに SUC が接続しないようにする変更。これによって、 suffix.t の副作用が少し減った。 patches.507 (4617,4632,4640,4641,4679) 「状態なわけですね」「正解なはずですね」などの表現に対応。「わけ」 「はず」の二つの形式名詞は、準体助詞「の」に準ずる(交換可能な) 用法を持つと考えられる。品詞定義はされていても単語の定義がない #TKN の 廃物利用で切りぬける。「ようなはず」「ようなわけ」が出るが、無視。 「〜な人」「〜な感じ」という表現は別である。これらをhojomwd.tに 入れるのは、とりあえず見送ることにする。「〜な気がする」の「な」は、 「のような」の省略形と考えても解釈に無理がないので、hojomwd.tに 入れてみるか? patches.508 「しちゃった」が出ない。#sxi+#chauの接続を追加。 patches.509 「勝ったり 負けたりで」が「たり」で切れる。#ktari+#dd類の接続を追加。 patches.510(4689、4702) 単漢字を#KJ+#BBから#KJ+#BM に変更。これと藤枝さんの [Canna 4666]のパッチ を組み合わせると、一発変換に単漢字が出て来なくなるので、誤変換減少が 期待できる。 patches.511 「しないでくれ」が出ない。安易な解決策としては、 ・#Kde+#kureru を追加 ・#kyi の後ろに #dde1 か #kde を加える という方法もあるが、「大きいでくれ」等とは言わないので、助動詞「ない」 の活用に限られるようにしなくてはならない。 派生形「ねえ」のために作った#nainee を拝借する事に決定。後ろは「して くれ」と対応する形で、他の「で」と共通性が無いので、#dde3 を作る。 #nainee+#dde3 という接続を追加。また、#nainee の後ろに接続しない #Fsura, #Zne, #Znee を削除。従来の #KY+#kyiの「無い」は残すので、 「しないね」は「#sxi#nai#kyi#Zne」と変換することができる。 patches.512 「ほんとにきりが ない」という変な文節切りが出る。Fkiri+Kga 削除。 「きりがない」は、「切り+#Kga #nai+kyi」だから別。ということで、 「切る・きる」を#R5r に修正。ついでに、hojomwd.t に「きりがな #KY」 入れる。ついでの自乗で「なあ #T35 @」を「なあ #CJ @」に変更。 #本来、「寝た(っ)きりで」等の副助詞と、「体(っ)きりが大きくて」などと言う #場合の接尾語を分けるべきだとは思うが、後者は特に作る必要がないので放置。 patches.513 「できたりするとなんか」が文節になる。#Fto+#Fnazo の接続を切る (「となんか」が出て来るのは、「あなたとなんか 一緒に されたくない」と 言うような名詞の後の格助詞の場合だから、#Kto が繋がっていれば問題ない)。 #Fnazo の他にも、#Fya #Fdano #Fdokoro を接続から外す。 patches.514 「必ずしも、なんでもないんだって」というやたら長い文節が出るのを発見。 「#F14#F14#na#JTNN#ddemo#nai#kyi#JTNN#Fdatte」と解析されている。 おかしな接続をする部分が寄り集まって、このような奇妙な解析結果が生み 出されている。 まず根本的原因として、#F14は「語幹が文節になる」という基準だけに合致 する副詞ということになっているが、この後ろに接続可能な助詞がたくさん ある。F_GOKAN というマクロで一括して、副詞全体の接続に影響するので、 今日に及んでこれをいじり回しても大した問題解決は期待できない。本当は、 述語部に来て「だ」が接続するかどうかというフラグを追加して、根本的に 文法記述を改めるのが望ましいのだが、便宜的な接続の追加・付属語の細分類を 追加して来た『かんな』の文法体系は、あらゆる意味で限界に来ている。 とりあえず、「こういう誤変換が出るからここをこう手直しする」という修正 以上の改良は、次期バージョンの仕様として考えるべき問題だと思う。 とりあえず、#JTNN の後ろに #ddemo が接続するのは削っていいと思う。 準体言助詞の「の」と同じく、明確に名詞を代行している「ん」と、 そうでなく、単に「だ」を強める意味で「なんだ」と言っている形式的な 「ん」の二つがあるのだが、前者は存在がごく限られており、重要ではない。 「それほど 複雑なんでもないんだけど、ちょっと複雑なやつとしては…」 のような用法が、思い浮かぶ典型的な例である。「なんでも」は「なのでも」 のより一層口語的な形で、広く読まれる文章では「なものでも」のように、 形式名詞で受けるべきところを「ん」で済ませている、話し言葉らしい使い方 である。 この「な」は、形容動詞の語尾である。名詞や、「だ」の附き得る副詞 (「必ず」など)をこの位置に立ててみると、極めて不自然であることから それは確認できる。また、口語としての度合がかなり高く、変換できてほしいと 思う人が少ないだろうことからも、その重要性が低いと言える。 そこで、第一の #JTNN と第二の #JTNN というような区別を設けるのはやめて、 単に#JTNN#ddemoを切るだけにする。 気持ち悪く感じる同種の誤変換として、 「打のなんだのは」(#JS#JTNO#na#JTNN#Fdano#Fha) というのがある。 これも、#JTNN+#Fdano を接続から離して良さそうである。 patches.515 「楽しいんであってさ」が「さ」で切れる。「煮てさ、焼いてさ、食ってさ」と 入力しにくい。#kte #kde に #Zsa を繋がるようにする。 patches.516 「〜じゃん」という表現はよく使われるが、今までは対応していなかった。 #djan という品詞を新設。hojoswd.t に追加。 patches.517 「…しやがる」などの「やがる」を変換できるようにした。hojoswd.t に やが #yagaru @ と入っているが、関西の人は「よ #yagaru @」とか「けつか #yagaru @」 とかお好みに応じて追加すると、いくぶん幸せになれるかも知れない。 patches.518 ?.p の記号類を #T35 -> #KJ に修正。 patches.519 数々の辞書の修正。 ・辞書に「亡い」入れる。(3921) ・「あらん限りの」辞書に追加(4616)。 ・「問題ない」追加(4696)。 ・「とって」「把手」追加。(4516,4632) ・「煮染める」追加。(3912、3930) ・「模して」「模した」入れ、「模する」を削る。(4633) ・「例えばの 話」というので、#F14 → #T36 に変更。 ★このパッチの次に、私たちがやらなければいけないこと 「因われる」「掻き入れ時」などの誤植は、pubdic+ との diff は取ったけど、 どちらが正しいのか判断するのに結構手間がかかるので、間に合いませんでした。 また、#Stte の誤変換を減らすために、この品詞の後接続を「一発変換では 文章末にすら出て来ない仮想品詞」にしたいんですが、これは藤枝さんに パッチを出していただかないと、文法ファイルの下記直しだけではどうにも なりません。正式版が出るまでに、試しにやってみたいところです。 他に、修正しなかったのは、以下の三点があります。しかし、この点に関して 修正はしないつもりです。 [Canna 3985]で指摘された、「どうすんだい」の変換。 #「宿題済んだよな」が一文節になってしまうのが避けられないため。 [Canna 4632]の「にかって」問題の本質的解決。 日本語の「か」は、接続の上から詳細に考察すると非常に細かい。 根本的な意味は、「上に来る言葉の確定性を否定する」とまとめられるが、 それが並列・疑問・反語・詠嘆と別れた実際の用法を探ると、非常に詳細な 分析を行わなければならない。次に、ちゃんとした文法を基礎から構築する 時には是非やりたい。 関西弁対応。最近テープ起こしをして、変換できなかった文字列に 「嫌やったら」「考えないかんやったら」「せんでもいい」 「しはったらいいけど」「頑張らないかんかな」というのがあった。 『かんな』は関西弁に弱いということは何人かが指摘している。これも、 kansai.t とか作って、ある程度使えるレベルでやろうとすると品詞数が 足りないし、いまの文法の上でこんな難しい仕事をしたくはない。 おそらく、関西弁の辞書を作る時には、関西各地方のネイティブスピーカーの 協力を得る必要があるだろうが、現在の文法ファイルは、とても一般の人が 読む形式ではないため、もう少し分かりやすい表記ができるようにしたい。 上に書いたように、おそらく、これが、バージョン 3.X での最後の大々的な 文法パッチになるでしょうが、問題点の指摘そのものは、歓迎します。 バージョン 4 へ向けて、ML でいろいろ議論しなければならないことは ありますから、具体的な問題があれば遠慮なく指摘していただきたいのです。 それでは、私からのささやかなクリスマスプレゼントをお楽しみください。 1996.12.24 狩野 宏樹(g92k0323@mn.waseda.ac.jp)