Personal tools
You are here: Home KtJ's Blog サイトをFreeBSD10+python3.3+Bottleで作り直すメモ(6)-py-mecab
« December 2018 »
Su Mo Tu We Th Fr Sa
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31          
Recent comments
Кухни в Нижнем Новгороде Kuhnimix 2018-12-13
dEUTTnyrxjkBofJ Young 2018-12-11
WQNqLGtbRFlIdDqKnhp Micah 2018-12-11
Спальни в Нижнем Новгороде Bedroommix 2018-12-11
VLkesgUJUXQtW Donny 2018-12-09
 

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

by ktj posted at 2014-07-09 23:12 last modified 2018-11-14 22:27

サイトを作るに当たって「やっぱ全文検索機能は欲しいよね」ということで調べてみた。どうやら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からはインストールできなかった。なので、http://mecab.googlecode.com/files/mecab-python-0.996.tar.gzを取ってくる。

  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をインストーる。(追記終わり)

The URL to Trackback this entry is:
http://www.ktjdragon.com/ktj/ktjs-blog/30b530a430c83092freebsd10-python3-3-bottle4f5c308a76f4305930e130e2-6-py-mecab/tbping
Add comment

You can add a comment by filling out the form below. Plain text formatting.

(Required)
(Required)
(Required)
(Required)
(Required)


Powered by Plone CMS, the Open Source Content Management System

This site conforms to the following standards: