Apitore blog

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

【API】日本語WikipediaのDocument Frequencyを取得する

はじめに 自然言語処理では、しばしばTFIDFが使われます。Term Frequency - Inverse Document Frequencyの略で、文書内の単語の重要度を計算する手法です。今回は日本語Wikipediaの記事を文書とみなしたDocument Frequencyの取得APIを公開しました。

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

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

OneJapanで企画提案ピッチをしました【大企業ハッカソン】

はじめに OneJapanという大企業の有志団体が集まって出来たアライアンスがありまして、そこでOneJapanが一丸となって取り組む企画提案ピッチをしてきました。OneJapanは大企業病に陥っている現在の状況を打破すべく立ち上がった組織ということもあり、Apitor…

【API】URLからURL内のリンクを取る(URL2HREF、URL2SRC)

はじめに 昨日の続きです。Jsoupというライブラリを使ってウェブスクレイピングするAPIを作りましたので公開します。今回は前回より少し踏み込んだAPIです。URLを入力するとそのURL内に含まれるHrefリンク全てを取得するAPIと、URLを入力するとそのURL内に含…

【API】URLからHTMLを抽出する(URL2HTML、URL2TEXT)

はじめに Jsoupというライブラリを使ってウェブスクレイピングするAPIを作りましたので公開します。今回のAPIは、URLを入力すると、そのURLのHTMLテキストまたは本文テキストを返します。

API Meetup #17でLTしてきました

はじめに API Meetup #17に参加してきました。今回は年末スペシャルでLT大会もあったので、LTもやってきました。メディアの取材も入ると聞いていたので気合い入れて行きました。

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

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

Apitoreのロゴができました

同志であるReikoさんにApitoreのロゴを作ってもらいました。「雲っぽい感じ」とだけリクエストしたら、とんでもなく素敵なロゴを制作してくれました。

Mashup Awards 2016 関東一次予選 午前の部でWeb APIのマーケットプレイスApitoreを発表しました #MA_2016

はじめに Mashup Awardsに初挑戦しました。先日、2016年11月27日に渋谷のTech Lab Paakにて関東一次予選があったので、午前の部でApitoreを発表してきました。

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

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

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

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

【アップデート情報】極性判定APIの精度改善

はじめに 日本語極性判定APIのアップデート情報をこちらにまとめます。主なアナウンスはモデル更新と精度改善についてです。また、簡易的にパフォーマンスチェックサイトを作りました。サンプルツイートと極性判定APIでの推定結果を載せていますので、ご確認…

Startup Weekend Yokohamaのプレイベントで体験者トークしました

はじめに 依頼があったので、先日2016年11月1日に富士ゼロックスのみなとみらい事業所で開催されたStartup Weekend Yokohamaのプレイベントにて、体験者トークしてきました。Apitoreも2015年10月30日のStartup Weekend Tokyo Techで準優勝したのがきっ…

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であったために極性判定結果が極…

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

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

【API】日本語極性判定APIを公開しました

連絡事項 学習モデルを継続的に更新しているので、本記事で紹介する入力テキストの極性判定結果やスコアが変わります。最新情報は以下のリンクでご確認ください。 - 【アップデート情報】極性判定APIの精度改善 - 現行版の極性判定APIのパフォーマンスチェッ…

API Meetup #16に参加してきた

はじめに API Meetup #16に参加してきました。会場は今をときめく会計ソフトfreeeさんです。五反田って都会ですね!今回はMashup Awardsさんとのコラボでした。

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社がつけた極性付きツイートをクロールしています。

現在から過去のツイートをマイニングするシンプルなクローラーを作った

はじめに 極性判定APIを作ろうと思って、Twitterのクローラーを作りました。過去にDBやcrontabを駆使したとてもスマートなクローラーを作ったのですが、DBを使うために導入の敷居が少し高いです。今回はSpring-bootを使ってそこそこスマートかつJavaのみで実…

Spring-bootのウェブサービスを多少高速化した

はじめに Googleが提供するPageSpeed InsightsでApitoreの速度を測った所、モバイルのスコアが50点台と悪かったので、キャッシング等々して高速化を図りました。結果、70点にはなったので、その情報をシェアします。

【API】単語を意味ベクトルに変換するAPIを公開した

はじめに 単語を意味ベクトルに変換するAPIを公開しました。こちらで公開しています。実体はWord2Vecです。Neologdを採用しているので新語も変換できます。さっそくAPIの動作を見てみましょう。

【API】同義語(っぽい)APIを公開しました

はじめに 同義語っぽいAPIを公開しました。こちらで公開しています。実体はWord2VecのDistance APIです。日本語Wikipedia全文にNeologdの辞書を適用して学習データにしました。今回はこの同義語っぽいAPIの動作を色々と見てみましょう。

(旧名)Swaggerで社内用と社外用のAPIドキュメントを分けて生成する

はじめに 旧名Swagger、新名称OpenAPI Specificationで、社内用と社外用のAPIドキュメントを分けて生成する方法を紹介します。正確に言うと、SpringfoxでSpring-bootのRestControllerからAPIドキュメントを自動生成している場合に使えるテクニックです。

Word2VecをWeb APIで利用できるようにするまでのトラブルシューティング

はじめに 日本語WikipediaのWord2VecをWebAPIで公開するためにアレコレ準備してます。今回は公開までに至ったトラブルとその解決策をご紹介します。

【API】Word2VecのWebAPIを無料公開しました

はじめに Word2VecをApitoreで公開しました。こちらで公開しています。日本語WikipediaにNeologdの辞書を使いました。無料で使えます。ここでは、Word2Vecでどんなことができるかをご紹介します。

deeplearning4jのword2vecの限界とその上手な使い方

はじめに 前回の記事でdeeplearning4jのword2vecに日本語の形態素解析器kuromojiを組み込みました。その後、日本語Wikipediaを学習させていたのですが・・・丸5日学習させても終わりませんでした。そこで、どこに時間がかかっているのか分析し、どういう運用…