senの辞書にWikipediaの項目名を追加した(詳細版)
手順を詳細に書いてみます。
- 下記URLよりWikipedia項目名一覧を落としてくる(jawiki-latest-all-titles-in-ns0.gz)
- 文字コードをUTF-8からEUC-JPに変換する
- 以下のプログラムでipadicの辞書の形式に変換する
import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.BufferedReader; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.InputStreamReader; import java.io.PrintStream; public class Converter { private static final String inputFileName = "jawiki-latest-all-titles-in-ns0.euc"; private static final String outputFileName = "Noun.wikipedia.dic"; private static final String inputEncoding = "EUC_JP"; private static final String outputEncoding = "EUC_JP"; public void run() throws Exception { final BufferedReader reader = new BufferedReader(new InputStreamReader(new BufferedInputStream(new FileInputStream(inputFileName)), inputEncoding)); final PrintStream printStream = new PrintStream(new BufferedOutputStream(new FileOutputStream(outputFileName)), false, outputEncoding); String line; while ((line = reader.readLine()) != null) { if (line.isEmpty() || line.contains("_")) { continue; } printStream.printf("(品詞 (名詞 固有名詞 一般)) ((見出し語 (%s 10000)))\n", line); } printStream.close(); reader.close(); } public static void main(String[] args) throws Exception { new Converter().run(); } }
結果は見た感じでは良好で、地名や作品名にちゃんと反応してくれるようになった。さて、次はQMA6仕様への対応だ・・・。