もふもふ技術部

IT技術系mofmofメディア

python

python-extractcontent3を使って本文を抽出してみる

作ってるアプリでWEBの記事から本文抽出したい仕様があった。調べて見るとpython-extractcontent3というライブラリがあってタグ構造を見てルールベースで抽出してるっぽいのですが、そこそこ精度良いらしいので試してみます。 https://github.com/kanjirz50/…

Pythonでデータ分析をするためにMacにJupyter Notebookの環境構築をする

mofmofではRailsを使った受託開発の他に、My-ope officeやToridersといった自社サービスも開発・運営しています。 これらのサービスではRailsの他に機械学習部分をpythonを用いて実装しているので、自分もpythonを触っておきたいと考えて最近興味のあるデー…

Google Cloud Visionを使ってPythonでOCRしてみる

以前、Google Cloud Visionを使ってcurl経由でOCRを試した。 Google Cloud Vision APIでOCRを試してみる 今回はPythonで実装するとどんな感じになるのか試してみる。ひとまずVision APIの使い方のドキュメントを見直すところから。 https://cloud.google.com…

Rasa NLUをPythonのコードから呼び出す方法

RasaNLUはAPIサーバが内包されているので、単純に固有表現抽出するAPIは最初からある。だがしかし、今回そこそこな回数の固有表現抽出処理を連続で行いたいというニーズがあったので、1リクエストで複数の固有表現抽出処理を行うAPIを追加したい。 たぶんFla…

Heroku Container RegistryでPython + Rasa NLUを動かす

以前にHeroku上でPythonで動かしている機械学習のAPIを立てたことがあった。Herokuならサーバを意識する必要がないので楽チンなので、固有表現抽出のRasa NLUをHerokuで動かしてみたいと思います。 ローカルのdockerで動くようにする docker-composeで動くよ…

Rasa NLUで日本語の固有表現抽出をしてみる

前回Rasa NLUを使って英語文章のintentを分類できるところまで出来たので、今度は日本語でやってみる。 Rasa NLUを使って固有表現抽出器を作りたいので入門してみた 文章から固有表現抽出してみる ソースコード まず、data/nlu.mdに日本語の教師データを追加…

Rasa NLUを使って固有表現抽出器を作りたいので入門してみた

そういえば最近Mac Book Proを新しくしたのでPython環境が整っていなかった。今まではpyenv + pyenv-virtualenvでバージョン管理してたんですが、最近ではPython公式がPipenvを推してるらしいのでpyenv + pipenvという構成にしてみた。 Macにpipenv環境作っ…

pipで機械学習や自然言語処理用のデータをサクッと持ってきたいのでjp-datasetsというパッケージを作った

データをサクッと取ってきて機械学習とか自然言語処理に使えるパッケージが欲しかったので作ってみました。 前回の続き。 pipでGitHub経由でインストール出来る自作パッケージを作る 開発モードでローカルのソースコードをpip installする ネガポジデータを…

pipでGitHub経由でインストール出来る自作パッケージを作る

機械学習や自然言語処理でごにょごにょ試してみるときには、大体の場合データが必要で、どこからか取得してくるか作る必要がある。日本語のデータはあまり多くはなくて、とりあえず試しに動かす程度でいいやってときは自分で適当なデータ作ったりするんだけ…

word2vec対人間でコードネーム(ボドゲ)を対戦してみたら大接戦だった

コードネームで遊んでいたある瞬間にあることに気付いてしまった。word2vecを使えば、人間よりも賢く正解を選べるのではないかということに。 コードネームというのは今mofmof inc.で少し流行っているボドゲなんですが、超簡単に説明すると、それぞれ単語が…

強化学習(Q-Learning)で学習させたオセロAIで、MinMaxアルゴリズムと戦わせる

前回4x4のオセロで最強のAIを作ろうとしたらランダムさんごときにボッコボコされたところからの続きです。 強化学習(Q-Learning)でオセロAIを学習させてみた Q学習 vs ナイーブ Q学習 vs ランダム Q学習(バトルモード) vs 竜王ミニマックス おまけ: Q学習(バ…

強化学習(Q-Learning)でオセロAIを学習させてみた

年2回、毎度楽しみにしている「開発合宿友の会」の開発合宿に来ております。やはりコード書くのはこの上ない幸せですね。 というわけで、前回強化学習(Q-Learning)で四目並べを学習させてみたというのをやってうまくいかなかったので、別のゲームで実装し直…

強化学習(Q-Learning)で四目並べを学習させてみた

ちょっとだけ余暇を確保出来たのでずっと前からやりたかった強化学習をやります。強化学習を使って最強のスマブラ64AIを作って、練習相手になってもらいたいなーと思っているのですが、さすがにいきなりそれは難し過ぎるので、簡単なゲームのAIを作ってみま…

PyCallを使ってRubyで機械学習(ロジスティック回帰)を実装する

最近Rebuild.fmで聞いた情報で、RubyからPythonを呼べるライブラリの開発が進んでいるらしいという話を聞いた。 まさにRails側からPythonを呼び出すところのコードがちょっとだるいなーと思っている最中だったので、使わない手はない!ということで試してみ…

Python + Flaskを使ってHerokuで機械学習させてみようとしたが挫折した

ぼくはRubyエンジニアなのでWEBを書くときはRailsをよく使ってます。最近はPythonで機械学習にハマっているのですが、画面側の実装が必要なとき慣れているRailsを使ってます。 ですが、Pythonをコマンド経由で実行したりしているので、ちょっとWEB側と機械学…

scikit-learnを使ってIrisデータのロジスティック回帰分類を実装する

matplotlibがimportに失敗する問題の対処 ロジスティック回帰の実装 少しだけ解説 scikit-learnでサクッとロジスティック回帰の実装をやってみようと思ったのですが、思いのほかmatplotlibにハマってしまった。エラー対応の履歴がほとんど。 まずは公式ドキ…

scikit-learnを使ってテキストから素性ベクトルを取得する

機械学習をやっていると、実際に何か使えるものをサクっと作りたくなってくるんですが、膨大なデータが必要だったり、実装ボリュームが大きくなりすぎたりするんですが、テキスト解析ならちょうど良いノリで出来そう。 そこで、TwitterのツイートをSVMにかけ…

scikit-learnを使って線形回帰モデルをクロスバリデーションする

最近もっぱらscikit-learnをいじっているのですが、クロスバリデーションってどうやるんだろうと思い調べてました。 非常にシンプルな例ですが、sckit-learnに付属しているテストデータを使って実際にやってみます。ちなみにpython2.7.10を使ってます。sciki…