- はじめに -
Webから文章を取得して、自然言語処理かけた後に機械学習にかけるみたいな事はままある。
大体Docker使えば良いんだけど、そうじゃないんだよなという時のための個人的なメモ。
Ubuntu 16.04でPython3.xなら大体インストールできるはず。
- スクレイピング周り -
lxmlなるHTML解析パーサに関連したパッケージを入れた後に下記を導入する
sudo apt-get install -y libxml2-dev libxslt1-dev sudo pip install joblib selenium cchardet requests BeautifulSoup4 lxml
以下参考に使いたいheadlessブラウザを導入し動作チェックをしておく。
・PhontomJS:
PythonでWebスクレイピングする時の知見をまとめておく - Stimulator
wget -O /tmp/phantomjs-2.1.1-linux-x86_64.tar.bz2 https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.1.1-linux-x86_64.tar.bz2 cd /tmp bzip2 -dc /tmp/phantomjs-2.1.1-linux-x86_64.tar.bz2 | tar xvf - sudo mv /tmp/phantomjs-2.1.1-linux-x86_64/bin/phantomjs /usr/local/bin/ phantomjs --version
・headless Chrome:
headless chromeをPythonのseleniumから動かして引数を考えた (Ubuntu 16.04) - Stimulator
wget https://chromedriver.storage.googleapis.com/2.29/chromedriver_linux64.zip unzip chromedriver_linux64.zip sudo mv chromedriver /usr/local/bin/ sudo apt-get install libappindicator1 sudo touch /etc/default/google-chrome wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb sudo dpkg -i google-chrome-stable_current_amd64.deb
・headless Firefox:
Firefox headlessモードをUbuntuとPythonとSelenium環境で動かす - Stimulator
sudo apt-add-repository ppa:mozillateam/firefox-next sudo apt-get update sudo apt-get install firefox wget https://github.com/mozilla/geckodriver/releases/download/v0.18.0/geckodriver-v0.18.0-linux64.tar.gz tar -zxvf geckodriver-v0.18.0-linux64.tar.gz sudo cp ./geckodriver /usr/local/bin
- 自然言語処理周り -
事前にhttp://taku910.github.io/mecab/#download から最新リリースのmecab-hoge.tar.gzをダウンロードしてscpしておく
tar xvf mecab-*.tar.gz cd mecab-* ./configure --prefix=$HOME/local --with-charset=utf8 --enable-utf8-only make make install
bashrcに書く
export PATH="$HOME/local/bin:$PATH"
・IPAdic
事前にhttp://taku910.github.io/mecab/#download から最新リリースのmecab-ipadic-hoge.tar.gzダウンロードしてscpしておく
tar xzvf mecab-ipadic-*.tar.gz cd mecab-ipadic-*/ ./configure --with-charset=utf8 --with-dicdir=$HOME/local/lib/mecab/dic/ipadic make make install
・neologdなるIPAdicの拡張辞書
git clone https://github.com/neologd/mecab-ipadic-neologd.git cd mecab-ipadic-neologd/ sudo bin/install-mecab-ipadic-neologd -n -u
- Python周り -
MeCabのPythonバインディングや前処理モジュールのneologdn、正規化の分散表現にしたい場合やBoWとかも使いたいだろうからgensim、Word2vec、sklearnを入れてひとまず下準備おわり。
sudo pip install mecab-python3 sudo pip install neologdn sudo pip install numpy sudo pip install scipy sudo pip install gensim sudo pip install cython sudo pip install word2vec sudo pip install scikit-learn sudo pip install git+https://github.com/miurahr/pykakasi
厄介なのはpykakasiくらい。
(pipで普通にインストールするとビルドで死ぬ)
neologdn参考:mecab-neologd 前処理用 Python モジュール neologdn 公開しました - Debug me
pykakasi参考:Django Python 漢字・ひらがな・カタカナをローマ字に変換する~pykakasi - Djangoroidの奮闘記
- おわりに -
多分これでなんとかなると思います(自分宛て)。