ipadic 辞書(CSV ファイル)から SQLite 3 データベースを生成(Ubuntu 上)

概要

このページでは,Ubuntu 上で mecab-ipadic-utf8 パッケージをインストールし,このパッケージに含まれる IPA 辞書(CSV 形式)から,SQLite 3 のテーブル ipadic を生成する手順を示す。

目次

第1章 前準備

SQLite 3 のインストール

SQLite 3は,リレーショナルデータベース管理システム(データを表形式で管理する仕組み)である。

あらかじめ決めておく事項

このページでは,SQLite 3 データベースの生成を行う。生成するSQLite 3 データベースのデータベース名を,あらかじめ決めておくこと。

生成する SQLite 3 データベース名: /tmp/ipadic.db

データベース名は自由に決めてよいが,半角文字(英字と英記号)を使い,スペースを含めないこと。

第2章 使用する CSV ファイルの確認(Ubuntu 上)

端末で,次のコマンドを実行する。次のコマンドは,IPA 辞書の CSV ファイルが置かれているディレクトリの中身を一覧表示する。

ls /usr/share/mecab/dic/ipadic/*.csv

第3章 SQLite 3 データベースの生成

テーブル定義

ipadic(表層形,左文脈ID,右文脈ID,コスト,品詞,品詞細分類1,品詞細分類2,品詞細分類3,活用型,活用形,原形,読み,発音)

  1. csvkit, mecab-ipadic-utf8, nkf のインストール
    sudo apt -y install csvkit mecab-ipadic-utf8 nkf
    
  2. 各列の属性名(ヘッダ行)を作る
    rm -f /tmp/header
    echo "表層形,左文脈ID,右文脈ID,コスト,品詞,品詞細分類1,品詞細分類2,品詞細分類3,活用型,活用形,原形,読み,発音" > /tmp/header
    
  3. CSV ファイルの生成
    • 生成する CSV ファイル名: /tmp/ipadic.csv
    cd /usr/share/mecab/dic/ipadic
    rm -f /tmp/ipadic.csv
    cat /tmp/header *.csv | nkf -w > /tmp/ipadic.csv
    
  4. CSV ファイルから SQLite 3 データベースの生成
    • 処理する CSV ファイル名: /tmp/ipadic.csv
    • 生成する SQLite 3 データベース名: /tmp/ipadic.db
    rm -f /tmp/ipadic.db
    csvsql --db sqlite:////tmp/ipadic.db --insert /tmp/ipadic.csv
    echo "vacuum;" | sqlite3 /tmp/ipadic.db
    echo "select * from ipadic limit 20;" | sqlite3 /tmp/ipadic.db