Help us understand the problem. What is going on with this article?
InnoDB のフルテキストインデックス 「使い物になんねぇ」って印象でしたが、ちょっと試してみると簡単なキーワード検索程度なら十分実用的な気がします。 試行錯誤の結果を記します。 ※ この文章は実験しつつ記述しています。整合性や内容の保証はできません ※ この文章はセキュリティ的なことを一切意識していません ※ 「5.6 からフルテキストインデックスが InnoDB でも使えるようになった」だけであり、基本的な仕様・動作は特に変わっていないはずです。設定項目名が変わっている(ft_min_word_len → innodb_ft_min_token_size 等)ようですがここでは触れません 事前作業 CREATE TABLE `article` ( `seq` INT(11) NOT NULL AUTO_INCREMENT COMMENT '連番', `title` VARCHAR(6
まずはmecab-rubyを使うためにmecab関連のパッケージを検索 $ brew search mecab mecab mecab-ipadic 調べてみると上で出てきた2つは必要らしいので2つともインストール $ brew install mecab $ brew install mecab-ipadic 以上でterminal上でmecabは使えるようになった。 $ mecab 何て日だっ! 何 名詞,代名詞,一般,,,,何,ナニ,ナニ て 助詞,格助詞,連語,,,,て,テ,テ 日 名詞,非自立,副詞可能,,,,日,ヒ,ヒ だっ 助動詞,,,,特殊・ダ,連用タ接続,だ,ダッ,ダッ ! 記号,一般,,,,,!,!,! EOS 次にrubyで使えるようにmecab-rubyをインストールします。 rubyのversion確認 $ ruby -v ruby 1.9.3p362 (2012
この記事は、zariganitoshさんの記事を基に、実際に私が試した内容をまとめただけのものです。 MeCabとは オープンソースの日本語の形態素解析エンジンです。 日本語の文章を分析して、名詞を取り出してくれたりするすごいやつです。 MeCabとsaykanaを組み合わせて使えば、漢字混じりの日本語を喋らせる事が出来るようになります。 さらに、Node.jsでTwitterライムラインを監視し、更新された内容をMeCabで解析→sayknaで出力させて、日本語のツイートを喋らせる事もできます。 前提条件 Mac : 10.8.2 MeCab : 0.996 mecab-0.996.tar.gz IPA 辞書 : 2.7.0 mecab-ipadic-2.7.0-20070801.tar.gz ダウンロード MeCabとIPA辞書を上のリンクからダウンロードして、適当なディレクトリにおき
背景 macでmecab-rubyをビルドせずにインストールするでは、mecabの基本的な言語バインディングを用いました。 このバインディングはSWIGを用いてMeCabと密に結合しているため、mecab gemのバージョンとMeCabのバージョンを合わせる必要がありました。 今回はmecab gem以外の選択肢を使ってみます。 納豆 今回はrubyからmecabを利用するためにnattoというgemを使用します。 nattoは、FFI(foreign function interface:外部関数インタフェース)を使用して、RubyとMeCabを繋ぐgemです。 nattoはC言語拡張ではないためコンパイルは必要ありません。 そのためCRuby(MRI / YARV)でもJRuby(JVM)でも実行できる利点があります。 (jruby 1.7.4 (1.9.3p392) 2013-05-
Python3からMeCabを使う方法がWebを調べても見つけられなかったので自力で何とかした。ここに使えるようにするまでのメモをまとめます。 問題と解決方法 以下の問題が発生していました。 mecab-python: (GoogleCodeから落としてきたmecab-pythonのsetup.pyをpython3からbuild出来ない。) mecab: (初回のパース処理でnode.surfaceが空になる現象が発生する。) これに対してGoogleCodeのMeCabページにあるIssueのうち2件の修正を適用する事で解決させます。Python3への対応はmecab-pythonの修正のみで可能です。しかし、MeCab本体のバグを修正しなければPython上で使った時にパース処理でバグります。そのため、MeCab自体も修正パッチを当てて新たにビルドしたものをインストールして使います。
Mecabに新しい単語を追加したくなることは多々あるはず。 今回は人名の例で解説する。 人名追加に必要となる知識 重要なリンク Mecab公式「単語の追加方法」 http://mecab.googlecode.com/svn/trunk/mecab/doc/dic.html 人名辞書一覧 http://www.mwsoft.jp/programming/munou/ime_dictionary_link.html#person 辞書の追加先 まず、システム辞書として追加するか、ユーザー辞書として追加するかが問題となる。 人名辞書の項目は大抵万を超えるので、解析速度のことを考え、システム辞書に追加するのが妥当と考えられる。 辞書更新が頻繁でないときや, 解析速度を落としたくない時は, 直接 システム辞書を変更するのがよいでしょう. mecab-ipadic があるディレクトリに移動 foo.
なんか急に形態素解析に興味が湧いたので試してみた。 今回作成したVagrantfileとサンプルコードはgithubで公開しています。 動作環境 MeCab - 形態素解析エンジン C言語による実装 2013/12現在、ver0.996 OSSの形態素解析エンジンの中で一番有名(らしい) Googleの大規模日本語n-gramデータの作成や、OSX・iOSの日本語入力にも利用されている(らしい) php-mecab - MeCabのPHPバインディング 2013/12現在、ver0.5.0 peclとして提供されている PHP 5.5 CentOS 6.4 (on Vagrant) 環境構築 GithubでVagrantfileとサンプルコードを公開していますので、git cloneしてvagrant upすれば、ハイ出来上がり!です。 vagrant-php-mecab $ git cl
概要 国立情報学研究所Webサイトにある「ニコニコ大百科データ」(by 有限会社未来検索ブラジル)から、 MeCabの辞書を生成・適用する。 研究目的でテキストマイニングをするならこの方法もありかもしれない。 ※実行環境はLinuxMint13(Ubuntu12.04 LTS)です。 方法 01.ニコニコ大百科データを取得する。 http://www.nii.ac.jp/cscenter/idr/nico/nicopedia-apply.html ※head.zipをダウンロード・解凍する。 02.解凍後のheadフォルダと同じ階層に下記Pythonコードを配置する。 # -*- encoding: utf-8 -*- import os import csv import re def main(): #入力フォルダ名 pth = 'head' #出力ファイル名 wtnme = 'ncn
概要 Go言語の cgo バインディングを使って libmecab を呼び出すメソッドです。 珍しい物では無くむしろ良く見かけるのですが、手習いで自作してみました。 他は mecab_nbest_sparse_tostr() を使っているのが多く、それではシングルスレッドでしか使えない物になるため、mecab_lattice_tostr() を使う様にしています。 引っかかったところ import "C" は include 直下に書く // #include <mecab.h> // #include <stdio.h> import "C" import と include の間に空改行挟むと動かないそうです。 ずいぶんなやんだ。 C のポインタ戻りの納め方が良くわかってない `hoge := C.moga()' と := で戻り値を受け取ろうとして上手くいかない時があったのですがエラ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く