[Anthy-dev 3751] 付属語グラフ作り直し他のパッチ

Back to archive index

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 */
----------


以上です。

大きくて申し訳ありませんが、宜しくお願い致します。
不明な点、疑問な点がありましたら、遠慮なく聞いて下さい。




Anthy-dev メーリングリストの案内
Back to archive index