入れ直し時に注意すること。古いファイルは念のため削除しておく。上書きされるかと思ったがうまくいかなかった。バージョンを指定する箇所があるので新しいバージョンに合わせる。領域にいれて使用したほうが解決しやすい。名詞,サ変接続,*,*,*,*,*-------------------------------サ変接続の名詞とは、サ変動詞に繋げることができる名詞のこと。後ろに「~される」「~した」「~する」「~せよ」などが続いても違和感の無い名詞。「後悔」する、「録画」した、「撮影」される、といった言葉。記号は記号であって、サ変接続の名詞ではないので、これでは困る。半角記号を「記号」と認識してしまうのは、半角記号がmecabにとって未定義の文字(未知語)で、未知語の記号を「名詞,サ変接続」に分類するように未知語用のファイルに定義されているからである。未知語用のファイルをいじれば、問題は解決する。解決方法1.未知語用のファイルを開くファイル名は、unk.def。拡張子「.def」は定義ファイル。(Define))ここにあった。(インストール前の辞書ディレクトリ内)--------------------------------------------/home/username/local/mecab-ipadic-2.7.0-20070801--------------------------------------------開くと、こんな感じで未知語の処理方法が書いてある。--------------------------------------------KANJI,1292,1292,12649,名詞,固有名詞,組織,*,*,*,*KANJI,1289,1289,17340,名詞,固有名詞,人名,一般,*,*,*KANJI,1288,1288,15295,名詞,固有名詞,一般,*,*,*,*SYMBOL,1283,1283,17585,名詞,サ変接続,*,*,*,*,*NUMERIC,1295,1295,27386,名詞,数,*,*,*,*,*ALPHA,1285,1285,13398,名詞,一般,*,*,*,*,*ALPHA,1293,1293,18706,名詞,固有名詞,地域,一般,*,*,*ALPHA,1292,1292,13835,名詞,固有名詞,組織,*,*,*,*--------------------------------------------「SYMBOL」の部分を変更。変更後--------------------------------------------SYMBOL,1283,1283,17585,記号,一般,*,*,*,*,*--------------------------------------------2.辞書を再インストール辞書を作り直す。mecab-dict-indexを実行して再作成。--------------------------------------------/home/username/local/libexec/mecab/mecab-dict-index--------------------------------------------辞書再作成の詳細はこちらの真ん中より下らへんを参照。こちら2カテゴリー:mecabテキストファイルのpythonスクリプトでcabochaがエラーになるテキストファイルのpythonスクリプトでcabochaがエラーになったときの対処法。ターミナルではpythonでcabochaが動かせるが、テキストファイルに記述したpythonスクリプトからcabochaを実行するとエラーになった。・さくらスタンダードプラン・/home/username/localに自前のpython2.7がインストール済み・/home/username/localにcabochaがインストール済み・テキストファイルのpythonスクリプトでのみ問題発生。"_CaboCha.so"------------------------------------------------------テキストのpythonスクリプトだと、共有オブジェクトが見つからないよう。パスが通ってないということだろう。解決方法スクリプトの先頭の記述を次のように変更した。さくらインターネットさくら共用サーバーにcabochaをインストールするさくら共用サーバーにcabochaをインストールした際の覚書。cabochaのインストールや利用方法についてはこちら前提として、mecab0.97が入っている。1.CRF++をインストールする----------------------------------------------------//ダウンロード。「https」だとエラーが出る。//解凍//「$HOME」が「~(チルダ)」だとエラーが出る。----------------------------------------------------2.cabochaをインストールする最新版であった「cabocha-0.67」をダウンロードした。(0.993以降)が必要と記述されていたが、構わず進めた。http://cabocha.googlecode.com/files/cabocha-0.67.tar.bz2----------------------------------------------------続けて、以下のコマンド。/home/username/local/cabocha-0.67.%----------------------------------------------------エラー内容の詳細は不明だが、mecabとcabochaのバージョンが合ってないことがエラー原因と当たりをつけて、cabochaのバージョンを下げてリトライ。install----------------------------------------------------あっさりインストールできた。cabochaを実行----------------------------------------------------/home/username/local/bin/cabocha----------------------------------------------------※パスも通しておく。パスが通っているにもかかわらずcabochaが実行できない場合は、サーバーに再ログインする。テキストファイルに書いたpythonスクリプトからcabochaをimportを試みるとエラーになる場合は、こちらmecabをインストールしたら、これもやる。----------------------------------------------------mecabで半角記号が名詞,サ変接続になるのを解決する----------------------------------------------------カテゴリー:mecabwindows版mecabにutf-8のシステム辞書を追加するwindows版mecabにシステム辞書を追加する。(unix版はこちら)unicodeの文字も扱いたいので、辞書の文字コードはutf-8とする。(64bit)windows版のmecab(辞書の文字コードutf-8)が既にインストールされていることが前提。1.utf-8で書かれた辞書を用意するこちらのページの1~3を参考2.インストール済みmecabの辞書をutf-8に保存し直すwindowsにインストールされたmecabの辞書データはsjisで保存されている(インストール時にutf-8を選んだとしても)。拡張子がCSVとdefのファイルが辞書データなのですべてutf-8に保存し直す。この設定で行ったutf-8に変換したら、追加用の辞書も同じフォルダに放り込む3.辞書をコンパイルし直すmecab-dict-indexを実行するので、mecab-dict-index.exeのあるフォルダまでコマンドプロンプトで移動。mecab-dict-indexの詳細。こちらmecab-dict-index.exeはここにあった。(x86)\MeCab\bin------------------------------------------実行。utf-8------------------------------------------パスの途中の半角スペースが区切りと誤認されないようにパス全体をダブルクォートでくくる。「アクセスできない」等のエラーが出たら、フォルダを右クリックしてアクセス権を与えておく。(x86)\MeCab\bin------------------------------------------ファイル名------------------------------------------char.binsys.dicunk.dicmatrix.bin------------------------------------------4.できたファイルを正しい場所に移動させる移動場所。元あるファイルと置換となる。(x86)\MeCab\dic\ipadic------------------------------------------ファイル移動の際アクセス権限がないとエラーが出たら、フォルダに権限を与えて、一度デスクトップにコピーして、目的のフォルダへ移動。(フォルダからフォルダへの移動ができなかった)mecabは終了させておく。起動してると元ファイルが削除できない。カテゴリー:mecabmecabに新しい辞書を追加するmecabに新しい辞書を追加した際の手順の記録。1.辞書の元になるデータをダウンロードするデータとしてよく利用されているものに、wikipediaのタイトルリストやはてなキーワード、人名事典などがある。今回はwikipediaのタイトルリストを利用した。(はてなキーワードも追加した。このページの下のほう)ダウンロード先URL-------------------------------------http://dumps.wikimedia.org/jawiki/latest/jawiki-latest-all-titles-in-ns0.gz-------------------------------------人名事典ならこちらのページからダウンロードできる(個人的には人名事典は使わない。人名が普通名詞と結構かぶって、名詞の読みが人名なったり、長めの普通名詞が人名と区切られたりと不都合が起こる)-------------------------------------http://www.mwsoft.jp/programming/munou/ime_dictionary_link.html#person-------------------------------------2.不要なタイトルは削除するここからタイトルリストをCSVファイルに加工していく。保存名はwikipedia.csvとした。秀丸エディタで開き、置換の繰り返しで不要タイトルを削除した。「.(ドット)~」-------------------------------------次の文字を含むタイトル-------------------------------------「,(カンマ)」←あるとフォーマットエラーになる。カンマを残すならエスケープが必要。右クリックしてダウンロード3.辞典に登録できる状態に整形する辞書に登録されている単語は通常CSVファイルでこのようになっている-------------------------------------工藤,1223,1223,6058,名詞,固有名詞,人名,名,*,*,くどう,クドウ,クドウ-------------------------------------値の意味は左から-------------------------------------表層形,左文脈ID,右文脈ID,コスト,品詞,品詞細分類1,品詞細分類2,品詞細分類3,活用形,活用型,原形,読み,発音-------------------------------------なので一旦こうした。(スコア)は後で数字に置き換える。追記>固有名詞のスコアは1でいいと思う。追記>スコア1の場合-------------------------------------置換:¥1,0,0,1,名詞,固有名詞,*,*,*,*,\1,*,*,ウィキペディア-------------------------------------次にスコアを登録する。コストは、その単語がどれだけ出現しやすいかを示していて、小さいほど出現しやすいという意味になるらしい。長いキーワードが優先されるよう設定したいので、文字数に比例してコストが小さくなるように設定した。こちらのサイトにある式を参考にコスト値を求める。最小で-36000-----------------------------------------スコアの登録はUWSCでファイルから一行ずつ読み込んで置換。最初からすべてUWSCでやればよかったとも思った。秀丸エディタで面倒な置換を何度も繰り返す必要なかったなと。4.辞書のコンパイルとインストールこれ以降の作業は必要な辞書を全部そろえてからでいい。参考サイト辞書登録には「システム辞書」と「ユーザー辞書」があるが今回はシステム辞書に追加する。(登録に時間はかかるが解析は早い)csvファイルをmecab-ipadic-2.7.0-20070801ディレクトリに移動する。ここにcsvファイルも入れておく。この際、改行コードも「LF」になってることを確認した。ココに移動)--------------------------------------------/home/username/local/mecab-ipadic-2.7.0-20070801--------------------------------------------※↑おそらくこのパスは、辞典CSVファイルが入ったディレクトリならどこでもいい。消去してしまっていたら、一時ファイルを作ればいいと思う。そこで次のコマンドを実行する。mecab-dict-indexを実行するので場所を確認--------------------------------------------/home/username/local/libexec/mecab/mecab-dict-index--------------------------------------------mecabが使える状態ならどこかにあるはずコマンドを実行する。utf8--------------------------------------------「-f」はCSVの文字コード、-「t」はバイナリ辞書の文字コードを指定。error:--------------------------------------------「,」を含むタイトルが残っていて、削除することでうまくいった。install--------------------------------------------※もし、インストール前のmecabディレクトリを消してしまっていた場合、インストールはできない。そのときはインストールは諦めて、新しくできた辞書ファイルを所定の場所に移動させる(置換)で辞書を追加することができる。移動先------------------------------------------/home/username/local/lib/mecab/dic/ipadic------------------------------------------はてなキーワードの登録もやってみたやりかたはwikipediaのときとほぼ一緒。次の条件のタイトルは削除。・「,(カンマ)」を含むもの・「2001-01-01」のような日付だけのもの・数値文字参照「&#~」を含むもの・「ぱーせんとぜろぜろ」のタイトル(UTF-8に文字コード変換するとタイトルの%00(?)が半角スペースに置き換わり、インストールエラーが出る。line」)・「明日(ぬくい)」という人名。右クリックしてダウンロードそして、辞書用に並び替え。-----------------------------------------------------------------ひかりのもり(タブ)光の森-----------------------------------------------------------------↓↓↓-----------------------------------------------------------------光の森,0,0,(スコア),名詞,固有名詞,*,*,*,*,光の森,ひかりのもり,ひかりのもり,はてなキーワード-----------------------------------------------------------------wikipediaのタイトルリストと違い、多くのタイトルにふりがな情報がある。実際に使った秀丸エディタの正規表現ふりがながある項目に対して有効-----------------------------------------------------------------検索:^(.+)\t(.+)$置換:\2,0,0,(スコア),名詞,固有名詞,*,*,*,*,\2,\1,\1,はてなキーワード-----------------------------------------------------------------ふりがながない項目用に次の置換も実行-----------------------------------------------------------------検索:^\t(.+)$置換:\1,0,0,(スコア),名詞,固有名詞,*,*,*,*,\1,*,*,はてなキーワード-----------------------------------------------------------------上記の正規表現で置換すると、ふり仮名のないタイトルにおいて、空欄「,,(連続カンマ)」ができてしまう。