サイトをFreeBSD10+python3.3+Bottleで作り直すメモ(6)-py-mecab

サイトを作るに当たって「やっぱ全文検索機能は欲しいよね」ということで調べてみた。どうやらMySQLのFULLTEXTインデックスを使うといいらしい。で、日本語でFULLTEXTインデックスを機能させるには、分かち書きのデータを用意しておく必要があるとのこと。コンテンツを作成、更新する際に分かち書きのデータを作成して保存するようにすればいいのかな

pythonで分かち書きをする方法としてはMeCabのpythonモジュールを使うと良さそう、ということでインストールしてみたがちとハマったのでメモ。http://kaworu.jpn.org/kaworu/2010-10-17-1.phphttp://anond.hatelabo.jp/20121113070853http://tatsuyaoiw.hatenablog.com/entry/20120414/1334405065を参考にさせていただいた。

  1. まずjapanese/mecabとjapanese/mecab-ipadicを「WITH_CHARSET=utf-8」を指定してportsからインストール。

  2. py-mecabもportsに入っているが、portsからはインストールできなかった。なので、ソースコードを取ってくる

  3. 取ってきたtar.gzを展開してsetup.pyから下記の箇所を探す。

    def cmd2(str):
      return string.split (cmd1(str))
  4. 上記箇所を下記のように置き換える。

    def cmd2(str):
      return cmd1(str).split()
  5. python setup.py build python setup.py install を順次実行してビルド&インストール

分かち書きの処理は下記のとおり。

import MeCab

m = MeCab.Tagger("-Owakati")
sourcetxt = "今日はいい天気ですね"
processedtxt = m.parse(sourcetxt)

(2018/11/14追記)FreeBSD11では、py-mecabは下記の手順でインストール可能。まずpkgでswig30をインストールし、/usr/local/bin/swig3.0に対して/usr/local/bin/swigというシンボリックリンク(かハードリンク)を作成(これをやらないとpipで「swigが無い」というエラーがでてしまう)。その後pipでmecab-python3をインストーる。(追記終わり)

コメント(0)



Note

本サイトのハイパーリンクの一部は、オリジナルのサイトが閉鎖してしまったため"Internet archive Wayback Machine"へのリンクとなっています。そのようなリンクにはアイコン[archive]を付与しています。

本サイトはCookieを使用しています。本サイトにおけるCookieは以下の三種類のみであり、Cookieの内容に基づいてサイトの表示を変更する以外の用途には用いておりません。