Apitore blog

Apitoreを運営していた元起業家のブログ

Tech

state-of-mlops substack をはじめます

stateofmlops.substack.com 習慣として、毎週月曜日に溜まったメーリングリストをチェックして、気になった MLOps の記事を GitHub にまとめつつ Twitter (X) にシェアしている。メンバーの勧めで substack にまとめて配信することにした。興味ある方や支援…

WordPressからはてなブログProに移行しました

はじめに Apitore開設依頼ずっと使っていたWordPressからはてなブログProに移行しました。その理由を述べようと思います。

Poetry + Docker + Intellijの開発環境を整える

はじめに 先程はPoetryとIntellijの開発環境を整えましたが、本番環境を考えるとやはりDocker+Intellijで環境を構築したいところです。半日格闘してPoetryを完全に理解したので、Poetry + Docker + Intellijの環境ができました。

Poetry + Intellijで開発環境を整える

はじめに Poetryを使ってパッケージ管理しつつ、IDEはIntellijを使いたい。今回はそんな開発環境を整えました。

ABEJA Platformで学習済みの機械学習モデルを管理する方法

はじめに 「手元に大量に学習済みの機械学習モデルがあって、管理をスプレッドシートでやっている」そんな状況ありませんか? こんにちは。ABEJAでMLOps Engineerをしている服部です。こちらはABEJA Advent Calendar 2019の6日目の記事です。今回はABEJA Pla…

ABEJA PlatformのJupyter Notebookから機械学習Jobをたくさん投げる方法

はじめに 機械学習エンジニアは誰だって無限の計算資源を欲している・・・そうだろ? こんにちは。ABEJAでMLOps Engineerをしている服部です。こちらはABEJA Advent Calendar 2019の5日目の記事です。今回は機械学習エンジニアが欲してやまない「様々なコン…

Clovaスキルを自分で作ってみた(Twitter要約)@API Meetup Tokyo 28

はじめに Clovaスキル(審査中)を自分で作ってみました。フロントエンドはClovaとLINEで、バックエンドにApitoreのツイート要約コンシェルジュAPIを使っています。最近、LINE BOOT AWARDS 2018関連のハンズオンやハッカソンで技術サポーターとしてお手伝い…

swagger specからSDKを作成できるswagger-codegenを試してみた

はじめに WebAPIの仕様書として確固たる地位を確立したswagger、現在はOpenAPI Specificationとして知られています。今回はswagger-codegenというOSSを使って、Apitoreのswagger specからSDKを自動生成してみました。

Pythonで画像処理のWebAPIを作る ~Tornado編~

はじめに 前回に引き続き、PythonでWebAPIを作ります。今回はフレームワークにTornadoを使いました。Tornadoも軽量なフレームワークですが、前回のfalconよりはリッチな機能があります。Python x 深層学習を使った画像処理技術がWebAPIでどんどん公開される…

Pythonで画像処理のWebAPIを作る ~Falcon編~

はじめに 今回はPythonでWebAPIを作ります。最近はPythonで深層学習を使った画像処理が流行っているので、今回の私の記事を見てどんどんWebAPIで技術を公開してほしいです。もちろん、Apitoreに相談していただいてもOKです(ステマ)。フレームワークはfalco…

Microsoft Cognitive Services (WebAPI) を使う方法

はじめに 先日、Apitore WebAPIハンズオン Vol.3 @東京を開催しました。このハンズオンではMicrosoftのCognitive Servicesを使う方法をゼロから解説しました。アクセストークンの発行からAPIの呼び出しまで抑えていますので、これに参加すればMicrosoftのWeb…

SendGrid-Javaでメール送信

はじめに ApitoreはGoogle Compute EngineでSpring mail + JavaMail越しにSendGridを使ってメール送信をしています。今回はSpring mail + JavaMailをSendGridの公式SDKであるSendGrid-Javaに置き換えたいと思います。

WordNetをJavaから使う

はじめに この1週間はWordNet系のWebAPIを7本リリースしました。これらはすべてカーネギーメロン大学の嶋さんが作ったJavaライブラリを利用しています。今回はそのJavaライブラリの利用方法を紹介します。

極性判定のニュートラルのデータを補強する

はじめに Apitoreでは極性判定WebAPIを無償で提供しています。Qiitaでもそこそこ反響があった技術です。今回はデータが少なかったNeutralについてDistant Supervisionで補強を試みました。

Let's Encryptでrenewが失敗するときのTips

はじめに ApitoreのSSL証明書はLet's Encryptを使っています。そちらについてはQiitaやブログで色々とTipsを紹介してきました。うまく動いていたのですが、直近に行われた証明書のアップデートが失敗するようになりました。今回はその対策のTipsです。

【API】SentencePieceを形態素解析のように使えるAPIを公開した

はじめに GoogleがSentencePieceを公開しました。NMT (Neural Machine Translation/ニューラル機械翻訳) で有効性が確認されているアプローチです。今回はそれを形態素解析のように使えるWebAPIにしてみました。

JavaでRSSをパースするためにRomeを使ってみた

はじめに 最近話題なので、ちょっとキュレーションサイトでも作ろうと思います。TechCrunchみたいな情報サイトを自分好みに組み合わせるキュレーションです。情報サイトはRSSフィードを提供しているので、今回はRomeを使ってRSSフィードを使いやすい形にパー…

RubyでAPIコールするならFaradayが簡単便利

はじめに Apitoreのハンズオンを企画しています。内容は「Web APIを使ってみよう」というものです。Web APIは使いこなせば便利なのですがイマイチまだ浸透していない印象があります。これまでに、JavaではAPIコールのサンプルコードを公開してきました。Ruby…

Spring socialでTwitterとアプリ連携する

はじめに Spring Social Twitterというプロジェクトがあります。このプロジェクトはSpring-bootでTwitterとOpenID Connectしたり、Twitterのアプリを作ったりするときに使える便利なライブラリです。今回はこちらのプロジェクトを使って、Twitterとアプリ連…

word2vecを使って文書ラベルを作ってみた(失敗例)

はじめに Apitoreで公開しているWord2VecのAPIを使って、任意の文書の代表語(文書ラベル)を作れないか検討してみました。アルゴリズムを考えてやってみましたがうまくいかなかったので、記録として残しておくことにします。

Java(PDFBox)でPDFファイルからテキストを抽出する

はじめに Apitoreの次の商品の仕込みをしています。今回はJavaでPDFファイルからテキスト情報を取得します。ApacheからPDFBoxというOSSが出ていて、version 2.0から日本語にも対応したそうなのでこちらを使います。

deeplearning4jの極性判定でオンライン学習をやってみた

はじめに 今回はdeeplearning4jを使ったオンライン学習を試してみます。オンライン学習の定義は諸説あるみたいですが、私はパーセプトロン時代の定義に則って「定期的にデータをくべて現在のモデルを逐次更新する」としています。今回は、これまで作ったDist…

deeplearning4jのUpdater (AdaGrad, RMSProp, AdaDelta, Adam) のパラメータまとめ

はじめに deeplearning4jではAdamなどの主要なUpdaterは大体使えますが、Updater毎に設定できるパラメータが違うので、メモも兼ねてまとめておきます。

deeplearning4jのRNNで極性判定を作った~Early Stop編~

はじめに deeplearning4jのRNN+LSTMで日本語極性判定技術を作っています。先日公開してからかなり反響があり、アクセス数増加、Apitoreのユーザーも増え、Qiitaではデイリーランキング5位になりました。ありがとうございます!さて、今回は過学習を回避し、…

Spring bootにおけるThread unsafetyなServiceとの付き合い方

はじめに Spring bootでウェブサービスを作っていると、Thread unsafetyな@Serviceに気づくことがあります。私の場合はdeeplearning4jで極性判定技術をWebAPIにして公開しているのですが、MultiLayerNetworkがThread unsafetyであったために極性判定結果が極…

日本語極性判定技術のデモサイト作りました

はじめに 先日公開した日本語極性判定技術を体験できるデモを作成しました。公開ツイートを極性判定した結果を見れる他、自分でテキストを入力して極性判定してみることもできます。極性判定結果が間違ってたらフィードバックを送れるようにしたので、よろし…

deeplearning4jでword2vecのベクトルデータからRNNで極性判定してみる

はじめに 今回はword2vecとRNNを組み合わせて極性判定をしてみます。deeplearning4jのサンプルプログラムがほぼそのまま使えました。

deeplearning4jでword2vecのベクトルデータからNNで極性判定してみる

はじめに Word2Vecの出力を機械学習の入力にすると精度が良くなると評判です。そこで今回は、以前作ったWord2Vecでツイートをベクトルデータにして、それをニューラルネットに突っ込んで極性判定してみました。

deeplearning4jのdoc2vecにwikipediaのword2vecモデルを注入する

はじめに 前回に引き続き、deeplearning4jのdoc2vecをいじってみます。今回は日本語wikipediaで作ったword2vecモデルをdoc2vecの事前情報として使います。

deeplearning4jのdoc2vecで極性判定してみた

はじめに deeplearning4jのdoc2vec (正確にはparagraph2vec) で極性判定をしてみました。学習データは自作した目的語リスト(約2,300語)を含む極性ツイートです。TwitterのSearchAPIでTwitter社がつけた極性付きツイートをクロールしています。