Jun Oizumi
vagus****@gmail*****
2010年 6月 5日 (土) 00:54:47 JST
新部様 [Anthy-dev 3726] >> それと、自分で anthy に手を加えた分があるのですが、その変更分をお送りしても >> よろしいでしょうか? >> 品詞コードの追加や depgraph の作り直し等、結構大きいのがあるのですが。 > > 歓迎します。とりあえず branch で repository に入れて、僕が理解を進めな > がら master に merge していく、というような流れになると思います。 ようやくパッチを作成しました。 大きいのでここ↓に置きます。 http://vagus.up.seesaa.net/data/alt-depgraph-100603.tar.bz2 ベースは ---------- commit b41fa8579f4243cdf8afdffb48266e284809e1cc minor fixups ---------- です。 本来は一つのパッチなのですが、大きいので幾つかに分割してあります。 逆に言うと、本来は全部で一つなので、分割したものは単独では使えません。 使うためには全部を当てる必要があります。 # 「手順」には # > ;; patch 当て # > $ patch -p1 < ../alt-depgraph-100603/alt-depgraph_* # と書いてしまいましたが、「1つ当てて git commit、次のを当てて git commit ...」と # した方が後のことを考えるといいと気づきました。 【概要】 基本的には、 http://sourceforge.jp/projects/alt-cannadic/releases/?package_id=8763 で配布していたものに、最近の変更分を追加したものです。 ほとんどがデータ部分(辞書、付属語グラフ、コーパス例文)の変更です。 [変更点] 1. alt-cannadic を更新 (alt-depgraph_up_alt-canna.patch) 2. alt-cannadic/extra の辞書をインストールするように (alt-depgraph_inst_extra.patch) 3. mkworddic/{compound.t,extra.t} に手を入れた (alt-depgraph_up_mkworddic.patch) 4. 新しい品詞コードをいくつか追加 (alt-depgraph_add_pos.patch) 5. depgraph を一から作り直し (alt-depgraph_depgraph.patch) 6. コーパス例文の修正と追加 (alt-depgraph_corpus_data.patch, alt-depgraph_corpus_divide.patch) 1. について。 alt-cannadic を手元の最新のものに更新しました。 なお、品詞コードの追加変更のため、gcanna はそのままでは Canna で使えなくなったので、 gcanna.ctd -> gcanna.t に名称変更しました。 2. について。 [Anthy-dev 3724] http://sourceforge.jp/projects/anthy/lists/archive/dev/2010-May/003723.html と同じですが、辞書の数が増えています。 3. について compound.t がらみの誤変換が目立ったのと、これらは誰もメンテしていないようだったので、 ざっとですが、修正しました。 extra.t の方に入っていた複合語はすべて compound.t に移動しました。 二つに分かれていると、重複が出たり等メンテし辛かったので。 4. について 正しく変換するためには、品詞コードで区別するしかないものについて、追加変更を行いました。 ・動詞カ変その2(KV2)、サ変「する」その2を追加 -> 「すんな(するな)」「来んな(くるな)」を出すため ・動詞に「非ず」(arazu)を追加 -> 助動詞「ず」の部分が活用語尾になり、他の動詞の活用タイプとは異なるため ・形容詞(KY)を形容詞ク活用(KY)と形容詞シク活用(KYs)に分割 -> 「赤し」(語幹+"し")と「新し」(語幹のみ)とでは扱いが異なるので ・さらに「いい」(KYii)、「無い」(KYn)、「よい」(KYy)を別コードに ・ 「いい」: 終止形と連体形しかない ・ 「ない」: 「そうだ」が付く時「なさそうだ」になる。また、「すぎる」が付く時も「なさすぎる」になる ・ 「よい」: 「そうだ」が付く時「よさそうだ」になる。でも、「すぎる」が付く時は一般の形容詞同様 「よすぎる」になる(「さ」を挟まない) ・形容詞イ音便(KYI)、形容詞エ音便(KYE)を新設 ・イ音便: あちい、だりー etc ・エ音便: うるせえ、やべー etc 5. について 原作の付属語グラフは、何と言うか、「やっつけ仕事」(すんません)で問題や不足が多かった ので、全部作り直しました。 原作 Anthy で出せる表現は全部出せるはずです(出すべきでないものは除く)。 なお、depgraph/{mkdepgraph.c, Makefile.am} の変更は、私には手に負えなかったので、 G-HAL 氏のお力添えによるものです。 *.depdef の中で Sz@ というのを使っていますが、これは G-HAL 氏のパッチでの機能 (文末属性)なので、mkdepword で Se@ (文節末)に置換しています。 一部、Sz@ が使えることを前提に登録した部分があるので、Sz@ が使えないと誤変換を 起こすことがあるかもしれませんが、使えない以上、仕方がありません。 6. について 付属語グラフを作り直した関係で、区切り方が変わった部分があるので、例文もその辺を 修正しました。 同時に、登録ミスや例文として不適切なものもかなり修正しました。 (G-HAL 氏のパッチを当てると、proccorpus 時に変換できなかったものはエラーとして 上がってくるので、直すのが楽でした。) それでもまだ全部をチェックできてはいないので、まだ残っていると思います(特に、 corpus.3.txt)。 corpus.x.txt は私が追加したものです。 alt-depgraph_corpus_divide.patch について。 短い文節のものを変換した時に、変換結果がおかしいことが多い気がしたので、 build 時に corpus.{1,3,5,x}.txt の例文を機械的に分割した corpus.{1,2}g.txt を作り、 それを例文として追加してみる実験です。 # corpus.1g.txt: # 2文節以上の例文を 1文節ごとに分割したもの # # |あたらしい|あさが|きた| |新しい|朝が|来た| # ↓ # |あたらしい| |新しい| # |あさが| |朝が| # |きた| |来た| # # corpus.2g.txt: # 3文節以上の例文を 2文節ごとに分割したもの # # |あたらしい|あさが|きた| |新しい|朝が|来た| # ↓ # |あたらしい|あさが| |新しい|朝が| # |あさが|きた| |朝が|来た| 余談ですが、これをやると当然例文数がかなり増えますが、その結果、用例辞書機能(?) 共起情報(?)が効かなくなりました。 例えば、「かみ」→「神」だけど「かみをひるがえす」だと「|髪を|翻す|」になってたのが、 「|神を|翻す|」になってしまいました。 「どこかが溢れたのだろう」とは思ったのですが、どこかは分からずにいたところ、 新部さんのこれ↓が効いたらしく、また「|髪を|翻す|」になるようになりました。 ---------- diff --git a/calctrans/corpus.c b/calctrans/corpus.c --- a/calctrans/corpus.c +++ b/calctrans/corpus.c @@ -27,7 +27,7 @@ #include <anthy/corpus.h> #define MAX_NR_VAL 8 -#define BUCKET_SIZE 8192 +#define BUCKET_SIZE 32768 #define MAX_COLLISION 8 /* word in source */ ---------- 以上です。 大きくて申し訳ありませんが、宜しくお願い致します。 不明な点、疑問な点がありましたら、遠慮なく聞いて下さい。