🔖

ニコニコ大百科IME辞書をSKK辞書化する

2023/11/25に公開

先日、Vim-jp slackにて以下のように呟いたところ、

すでに辞書ファイルを作っている方がいらっしゃることを教えてもらいました。
こちらのサイトでは単に記事タイトルを収集するだけではなく、辞書として相応しくないワード(「〇〇の一覧」など)は除いてまとめているようです。すごい。

https://tkido.com/blog/1019.html

SKK用の辞書は用意されていませんでしたが、ダウンロードしてみたところ、単純なテキストファイルで提供されていたので、自分でSKK用に変換することにしました。

Atok用とMS IME用がありましたが、Atok用のファイルを元ファイルとします。
ファイル冒頭を以下に示します。

nicoime_atok.txt
!!ATOK_TANGO_TEXT_HEADER_1
!!一覧出力
!!対象辞書;nicoime.dic
!!単語種類;登録単語(*) 自動登録単語($)
!!読み範囲;(読みの先頭) → (読みの最終)
!!出力日時;23/11/22 03:53

ぁあああああああ	ぁあああああああ!?	固有一般*

ヘッダー部分に!!でコメントが書かれており、以降は単純なタブ区切りのtxtファイルです。

これをSKK用辞書に変換します。Vim scriptを使いました。

convert_nico_skk.vim
e ./nicoime_atok.txt
normal! gg^c4j;; skk-nico-ime
normal! o;; original: https://tkido.com/blog/1019.html
3s/.*;\(.*:\d\d\).*/;; updated: \1/
normal! jcc;; okuri-ari entries.
normal! o;; okuri-nasi entries.
%s;\t; /;
%s;\t.*;;
w! ./SKK-JISYO.nicoime
q!
  1. nicoime_atok.txtを開く
  2. ヘッダー部を変換(後述)
  3. 辞書部分をSKK辞書用のスラッシュ区切りに変換
  4. ファイル名をSKK-JISYO.nicoimeに変えて保存

上記のスクリプトをnicoime_atok.txtと同じディレクトリに保存し、そこで以下のコマンドを実行します。

vim -esS ./convert_nico_skk.vim

Vimがバッチモードで起動し、スクリプトに定義された処理が順次実行されます。

ヘッダー部は以下の通り変換されます。

;; skk-nico-ime
;; original: https://tkido.com/blog/1019.html
;; updated: 23/11/22 03:53
;; okuri-ari entries.
;; okuri-nasi entries.

これでSKKで入力するときにニコニコ大百科の叡智を引き出せるようになります。


なんだその記事 !?となって変換に集中できない

Discussion