はじめに ちゃお・・・† 個人的にですが、最近はWindowsのPythonでMeCabを使う機会が増えてきました。しかし、WindowsでMeCabのPythonラッパーを入れるには、ソースをダウンロードしたりsetup.pyを書き換えたりコンパイラをインストールしたりしないといけないので、とても面倒です。 そこで、WindowsでもmacでもUbuntuでもpipで簡単にMeCabのPythonラッパーを使えるものを公開しました! https://pypi.org/project/mecab/ ※ 過去にmecab-python-windowsというものを公開しましたが、そちらは今後アップデートしないつもりなので、mecab-python-windowsを使っている人はこちらに乗り換えることを推奨します。 これは何? インストール時のOSによってふるまいを変えることで、一つのパッケージ

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自体も修正パッチを当てて新たにビルドしたものをインストールして使います。

概要 国立情報学研究所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 importcsv import re def main(): #入力フォルダ名 pth = 'head' #出力ファイル名 wtnme = 'ncn

Pythonで形態素解析をしたい時、とりあえずMeCabを使うときがある。ただこのMeCab、pip install MeCab みたいに1行書けばすぐに使える楽な物では無いので、他の環境で動かしたい時にやや面倒。何度か試行錯誤したのでメモ。 方針 Virtualenvを使う システムに apt-get installpython-mecab で入れた物を使わない 設定 システムにインストールするmecabは全てバージョンを指定する。 before_install: -sudo apt-get update -qq - wget http://ftp.sjtu.edu.cn/ubuntu/pool/universe/m/mecab/libmecab2_0.996-1.1_amd64.deb -sudo dpkg -i libmecab2_0.996-1.1_amd64.deb - w

# !/bin/bash # Remove mecabsudo apt-get remove mecab # Install mecab cd /var/tmpcurl -O https://mecab.googlecode.com/files/mecab-0.996.tar.gz tar zxfv mecab-0.996.tar.gz cd mecab-0.996 ./configure makesudo make install # load mecab.sosudo sh -c "echo '/usr/local/lib' >> /etc/ld.so.conf"sudo ldconfig # Install mecab-ipadic cd /var/tmpcurl -O https://mecab.googlecode.com/files/mecab-ipadic-2.7

natto-py とは? natto-py はPython - MeCab の Foreign Function Interface (FFI) によるバインディングを提供するPython パッケージです。Python 2 および 3 に対応し、コンパイラーが必要としない利点があります。*nix、OS X およびWindows 上で利用可能です。 対応するPython バージョン natto-py は下記のPython 2 および 3 を利用できます。下記のバージョンは実証済みです。Python 2.7Python 3.2Python 3.3Python 3.4 MeCab をインストール まずは MeCab 0.996 をインストールします。 mecab-ipadic または mecab-jumandic のMeCab 用辞書も忘れずにインストールしましょう。 Win

形態素解析について 様々なユーザーの Tweet を収集して利用するパターンで最も多いのは、 Tweet 中に含まれる特定の単語を抽出して利用するパターンである。 今回は形態素解析器の MeCab を利用して、単語単位に分割して名詞、動詞、形容詞を抽出する。Python でTwitter からの情報収集 (環境構築編) 環境構築等はこちら MeCabの出力形式 出力形式はオプションにより変わる。 'mecabrc': (デフォルト) '-Ochasen': (ChaSen 互換形式) '-Owakati': (分かち書きのみを出力) '-Oyomi': (読みのみを出力) デフォルトだと 表層形\t品詞,品詞細分類1,品詞細分類2,品詞細分類3,活用形,活用型,原形,読み,発音 という出力になる。 サンプルコード ある文を単語単位(表層形そのまま)に分割して、 全単語 名詞のみ 動詞の

課題Python から MeCab の形態素解析の機能を利用可能にする。 手法 MeCab のPython バインディングをビルド/インストールする。 前提 対象: mecab-python-0.996.tar.gz 環境:Windows 8.1 64bit,Python 2.7, MeCab 0.996 内容 1. ビルド環境の構築 Visual Studio 2008 Express Edition with Service Pack 1 をインストールする。MicrosoftWindows SDK forWindows 7 and .NET Framework 3.5 SP1 をインストールする。 2. libmecab.lib と libmecab.dll の作成(MeCab のビルド) mecab-0.996.tar.gz(MeCabのソース)をダウンロードする。

MeCabには制約付き解析という機能がありますが、これについて説明している記事がほとんどなかったので手探りで試してみました。 MeCab 0.996Python 3.4 mecab-python3 0.7 制約付き解析とは 入力文の一部の形態素情報が既知である、あるいは境界がわかっているときに、 それを満たすように解析する機能です。 たとえば、「にわにはにわにわとりがいる。」という文に対して、「はにわ」の部分が名詞であるとか、「にわとり」の部分が一つの形態素であるというように指定した上で解析することができます。このとき、制約に反する4文字目の「は」が単独で形態素となったり、「にわとり」が「にわ」と「とり」に分割されるような解析候補は排除されます。 制約付き解析 (部分解析)より 形態素境界の制約をつける 文の一部の形態素境界がわかってるときに、その部分を一つの形態素として扱って解析するよ

MeCab http://mecab.sourceforge.jp/ ココからインストール。MeCabにはPython binding っていう便利なのがあるんだけど、Winだとどうも上手くコンパイル出来ない。あれこれ調べたところ、ココに、ctypes*1を利用したMeCabの使い方が書いてあったので、これを使うことにする。 ctypes ココからダウンロード。0.9.9.3はうまく動かなかったので、前のバージョンの0.9.6を使う。とりあえずこれでPythonからMeCabを使えるようになりました。 マルコフ連鎖 で、、、マルコフ連鎖アルゴリズムの説明やらサンプルが、ココとかココらへんにあったので参考にして、Pythonで書いてみた。 # -*- coding: sjis -*- from ctypes import * def sparse(s): # ライブラリの場所を指定 lib
ちゃお...Python Advent Calendar 2015 18日目の記事です...Pythonといったらデータサイエンスに強いし、データサイエンスといったら形態素解析が必要になることがあるし、形態素解析といったらMeCabだし――ということで、今回はPythonでのMeCabの処理を少しでも速くする豆知識を共有したいと思います! parseToNodeを捨てよ parseを使おう MeCabの解析結果を得るにはparseとparseToNodeの2つのメソッドがあります。 わたしはもっぱらparseToNode使ってたのですが、なんか遅いなーって思って、本当に遅いのか確かめるために処理時間測ってみました。現実的な設定でやった方が実用的だと思ったので、今回は夢野久作のドグラマグラから名詞を抽出することにします。 コード import MeCab tagger = MeCab.T

修正履歴 2016/2/19 コードの修正・必要なファイルの更新 2016/2/19 トラブルシューティングの追加 はじめに そもそもWindowsでなぜ?という話があると思いますが、理由は一つ。Windowsには強力なIDEであるVisual Studioがあるからです。 コード補完、スニペット、デバッグ・・・・多くのメリットがあるIDEですが、いかんせんWindowsでの環境構築には難所が多く、Python関係だとビルドの問題で詰まることが多いようです。 理由は様々ですが、Unixのコマンドが通用しなかったり、ファイルパスの書き方が違ったりといったことがあげられます。 今回は、そんなハードルを乗り越え、自然言語処理屋さん御用達、MeCabのPythonライブラリを入れてみようという話です。 MeCabって? MeCabは、形態素解析ツール。形態素は意味の通る単語の最小ブロックといった感

1リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く