2012年07月23日

MS-IMEの辞書登録データをAnthyの辞書へ移行

Windows の Microsoft IME で手動で辞書登録したデータを Debian Testing(wheezy) の Anthy の辞書として登録させるための作業を行った。全ユーザ向けではなく、個人ユーザで使えるように設定した。

なお、当初はスクリプトで処理しようかと思ったが、LibreOfficeでやってみた。

  1. MS-IME で辞書データをテキストファイルとして保存する

  2. MS-IME 辞書ファイルを LibreOffice で修正する
    (Anthy で利用できる Canna 辞書形式へ修正する)

  3. 辞書ファイルを LANG=C でソートする

  4. 辞書ファイルを ~/.anthy/imported_words_default.d/ 以下に置く
以上ですぐに Anthy で辞書データを使って変換できるようになる。


以下は手順の詳細
1. MS-IME で辞書データをテキストファイルとして保存する
1.1. MS-IMEの言語バーで[ツール]-[辞書ツール]をクリックする
1.2. 「Microsoft IME辞書ツール」ウインドウが起動したら、メニューバーの[ツール]-[一覧を抽出]を選択して保存する
参考:「Microsoft(R)IME」ユーザー辞書のバックアップと復元方法(テキストファイル形式)<Windows Vista(R)>

2. MS-IME 辞書ファイルを LibreOffice で修正する
2.1. 保存したテキストファイルの拡張子を.csvに変更する
 (LibreOfficeで開くときに判定できるように)
2.2. テキストファイルをLibreOfficeで開く
「テキストのインポート」ダイアログが表示されたら、文字列で「日本語(Shift-JIS)」を選択し、「区切りのオプション」で「タブ」にチェックを入れ、他のチェックをはずして「OK」をクリックする
2012-07-23_calc-open.png
2.3. 上から数行、不要な行が入っているので削除する
2.4. 2列目が「単語」、3列目が「品詞」になっているので列の順番を入れ替える。4列目以降があれば削除する
MS-IME:「読み」「単語」「品詞」(タブ区切り)
Canna: 「読み」「品詞」「単語」(スペース区切り)

2.5. 品詞の表記を書き換える
Canna辞書では以下のような表記をする
 #T35    一般名詞
#T30 サ変名詞 (〜する)
#KK 固有名詞
#JN 人名
#CN 地名
  参考:Canna の使い方
2.7. 「読み」に「ひらがな」以外がある場合「ひらがな」にする
 Canna辞書では「ひらがな」以外の「読み」が使えないため。
 例えば、MS-IMEで「LibreOffice」の読みを「l」にしていたが、「りぶ」にした。

2.8. 必要なら頻度情報をつける
 数字が大きい方が変換候補の上にくるようだ。今回は特に付けなかった。
例:
いんくすけーぷ #KK*500 Inkscape
かしか #T30*500 可視化
かようせい #T35 可用性
りぶ #KK LibreOffice

2.8. LibreOfficeで 保存する
(UTF-8でスペース区切りにする)
  1. メニューから[ファイル]-[名前をつけて保存]を選択する
  2. 「保存」ダイアログで「フィルタ設定を編集する」にチェックして保存する
    2012-07-23_calc-save1.png

  3. 「ファイルフォーマットの確認」ダイアログで、「テキスト CSV フォーマットを使用」をクリックする
  4. 「テキストファイルのエクスポート」ダイアログで、文字列を「Unicode(UTF-8)」、フィールドの区切り記号を「空白」、テキストの区切り記号を「"」を削除(空欄に)してOKをクリックする
    2012-07-23_calc-save2.png

3. 辞書ファイルを LANG=C でソートする
4. 辞書ファイルを ~/.anthy/imported_words_default.d/ 以下に置く
ソートと配置を同時に行う
保存ファイル名が output1.txt.csv の場合の例:
$ env LANG=C sort output1.txt.csv > ~/.anthy/imported_words_default.d/dic.t

※辞書ファイルを編集しやすいようにリンクを作っておく
$ ln -s ~/.anthy/imported_words_default.d/dic.t ~/dic.t.csv

※辞書ファイルをLibreOfficeで再度編集した場合
"Microsoft Office"のように変換先文字列の途中にスペースがあるとLibreOfficeでは複数の列として読み込まれる。保存すると、他の行の行末に余分なスペースが入るので、削除する
$ cp ~/dic.t.csv test.t
$ sed -e 's/[ ]*$//' test.t > test.t2
$ env LANG=C sort test.t2 > ~/.anthy/imported_words_default.d/dic.t

参考サイト
日本語入力システム Anthy で個人辞書を追加する方法
MS-IMEで単語登録した辞書をAnthyに移行する方法と手順
ラベル:Anthy
posted by 端っこなひと at 05:20| Comment(3) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
手順どおりで辞書登録で出来ました。
ありがとうございます。
Posted by 柳原 at 2015年05月29日 15:27
柳原さん、コメントに気がつかずにすみません。
ありがとうございます。いまでも同じ手順でいけるのですね。
Posted by 端っこなひと at 2015年07月01日 19:45
手順どおりで辞書登録で出来ました。
ありがとうございます。
Posted by 坂本 at 2016年01月04日 01:46
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]


この記事へのトラックバック