go-active-learningを改良している話(Slackからのアノテーションをサポートなど)

以下の話の続きです、地味に続いています。自分が普段使うツールを改良していくのは楽しいですね。 自分で使ってみて、これは欲しいといったものを追加していってます。社内で紹介したところフィードバックをもらったので、それを踏まえてどうしていきたいか…

劣モジュラ最大化によるエントリの推薦をやってみた

背景 半年前から機械学習に関するよさそうなエントリを提示してくれるbot(ML君)を運用しています。 大量のtweetの中から関連するエントリを人手で探す手間は省けるようになったのですが、最近別の問題が起こっています。以下の画像はある日に提示されたエン…

mattn/memoでさらに快適にメモを書くためにやっている設定について

Go

公開用のテキストはブログで書くことが多いですが、公開できない話や落書きのような内容はローカルのテキストファイルに書き散らしているという人は多いと思います。私もそういう活用をしていて、今年からmattn/memoを使っています。 mattn/memoはGoで書かれ…

能動学習で効率的に教師データを作るツールをGoで書いた

みなさん、教師データ作ってますか?! 機械学習のツールも多くなり、データがあれば簡単に機械学習で問題を解ける環境が整ってきました。しかし、データ作成は重要ながらも未だに大変な作業です。最近、私もいくつかのドメインで教師データを作る機会があった…

Go言語にさらに入門するために係り受け解析器を書いた話

今年からGo言語に入門していますが、もう少し複雑なものをものを書いてみたいと思ったので、係り受け解析器を書きました。その過程で工夫したこと、苦労したことをまとめます。作ったものはこちら。 一人で作っているプロジェクトですが、100行以下の細かめ…

実タスクで機械学習を導入するまでの壁とその壁の突破方法

社内で機械学習の案件があった際に、機械学習の経験者しか担当できないと後々の引き継ぎで問題が起こりがちです。これを防ぐために、機械学習に興味があり、これまで機械学習を経験したことがないエンジニアにも担当できる体制を整えられることが望ましいで…

タスクに合わせたトークナイザ、単語分割に関連したポエム

ポエムを適当に書きます。2本立て。週末のノリなので、適当です。 Sentencepieceの紹介記事を読んだ 文書分類でneologdとmecabを比較した まとめ Sentencepieceの紹介記事を読んだ ニューラル言語処理向けトークナイザのSentencepieceについて書かれた紹介記…

NLP2017の論文を読みました

NLP2017の論文を読んだので、面白かった論文を中心に読んだメモを残しておきます。もう一月ほど前になるので、大分昔な感じがしますが…。 参考リンク集 言語処理学会第23回年次大会(NLP2017) プログラム PDFの入手等はこちらから Accepted Papers, Demonstra…

AWS Lambdaに入門する

Amazon Elasticsearch Serviceに引き続き、AWS Lambdaに入門しました。Lambdaを使って、Amazon Elasticsearch Serviceで特定の単語を検索をさせてslackに書き込んでくれるbot君を練習台でやってみました。 やりたいこと 準備: 適切なポリシーを設定する Goで…

Javaの例外をScalaで扱う

タイトルのことを調べようとしていて、三ヶ月に同じことを調べていたのでブログにメモしておきます…。主に↓に書いてある内容以上のことはありません。前より早く理解できたり、理解が深まったりしたので、進捗していると思いたい。 scala.util.control.Excep…

RedPenで技術文書の誤りを指摘してもらおう

自然言語の誤りを指摘してくれるRedPenを手元で使えるようにしてみました、という記事です。気が向いたので、色々書いてみました。 エンジニアであっても意外と文書を書いたり見たりする機会が多い 自然言語も機械が勝手に間違いを指摘して欲しい 自然言語も…

家庭内財政会議を開きました(2016年版)

2016年はとっに終わっているという声は聞こえない…。昨年の様子はこちら。 前提 資産の時系列推移 収支 支出 収入 その他 ふるさと納税 共通口座の残高の監視 清算用botの作成 前提 30歳サラリーマンで京都で夫婦で共働き(子どもなし)です。今のところ財布は…

家庭用の清算君(Slack bot)をGoogle App Scriptで書いた + TypeScript化した

こんな話です。大体は先人の真似っこ。 家庭用の清算をGoogle Spreadsheetでやりたい Spreadsheetを出先で開くのは手間なので、slackからできるといいよね slackからSpreadsheetに書き込んでくれる君を作ろう 外のサーバーでやるのも面倒だからGoogle App Sc…

自宅のElasticsearchとKibanaをAmazon Elasticsearch Serviceに引越し

例のごとく簡単なことしかやっていないのであまり参考にならないかもしれないですが、アクセスポリシーや自宅からどうやってAmazon Elasticsearch Serviceにデータを流すか、kibanaで閲覧するかは参考になる人がいるかもしれません。前置き終わり。 なぜMac …

データベースリファクタリングやデータ移行のタスクの進め方

よくある当たり前っぽい内容ですが、はてなに入る前はあまりやったことがなかったので勉強しながらやっていました(解析器の結果をapiで見せるみたいなことが多かったので、DBそもそもほとんど使っていなかった…)。最近はデータ移行職人業務をやっている。 前…

続Go言語に入門する

Go

前回はこちら。書いてて楽しいので、地味に活動が続いている。 OSS活動 mackerel-client-go && mkr mackerel関連のgoのライブラリとツールです。グラフアノテーション機能がリリースされたので、それをmkrで操作できるようにしました。mackerelなので仕事に…

データベース関連の最近の話題

最近といっても自分が新しく知ったとか使ってみたという感じのやつなので、全く目新しいやつではない。 PSequel postgresqlのGUIクライアント。 PSequel, a PostgreSQL GUI Tool for macOS ないと死ぬわけでもないし普段オペレーションするときはpsqlを使っ…

不定期ML&NLP報#4

最近の機械学習&自然言語処理に関する情報をまとめるコーナーです。前回はこちら。このエントリ忘れてるよというのがありましたら、たれこみフォームから教えてもらえるとうれしいです。 論文 ブログ/勉強会資料 ビジネス 学会/勉強会 NIPS読み会 Kaggle Tok…

研究開発の実験に使えるホスト名の一覧をMackerelを使って素早く取得する

最近は仕事でサーバーの監視を行なうサービス開発(Mackerelチームに所属しています)の開発をしていますが、1年ほど前までは大学の研究室や企業の研究所で自然言語処理や機械学習の研究を行なっていましたid:syou6162です。研究開発における実験をするときにM…

Go言語に入門する

Go

先週末、仕事で東京に行く機会があって、往復の新幹線の中でまとまった時間が取れるなと思ってGo言語に入門していました。Go言語に入門する理由は 仕事で普通に使う(mackerel-agentなど) 職場で評判がいい 一年に一個は新しい言語を勉強しようっていうアレ …

不定期ML&NLP報#3

最近の機械学習&自然言語処理に関する情報をまとめるコーナーです。前回はこちら。このエントリ忘れてるよというのがありましたら、たれこみフォームから教えてもらえるとうれしいです。 論文 ブログ/勉強会資料 ビジネス 学会/勉強会 NIPS2016 NL研 coling2…

異常検知本の読書メモ Part 5(密度比推定による変化検出)

前回に引き続き、密度比を直接推定するコーナー。時系列の変化検出や多変数の依存関係の崩れを捉える構造変化検知の手法を密度比推定で解く。 変化検知問題とカルバックライブラー密度比推定法 変化検知問題は第9節で取り扱った。ある時点tを含む前後で分布…

異常検知本の読書メモ Part 4(密度比推定による異常検知)

前回扱った内容を密度比推定により直接的にかっこよく解く。 やりたいこと 正常であると分かっているデータを元に異常が含まれるかもしれないデータの中から異常な標本を見つけ出す 個々に外れ値検出するのではなく、テストデータ全体の確率分布も考える 全…

異常検知本の読書メモ Part 3(疎構造学習による異常検知)

前回の復習 前回のChaper 9では「単一の」「時系列データ」に対し、部分空間法を使った変化検出法を見た。 概要はこんな感じであった。 小さいwindow幅でデータを切って、ベクトルデータにする 過去側と現在側の2つに領域に分割 時刻tにおける過去側と現在側…

異常検知本の読書メモ Part 2(方向データの異常検知と部分空間法による変化検出)

方向データの異常検知 方向データの異常検知は前回スキップしていたところ。部分空間法による変化検出をするときに方向データに関する知識が必要になったので、戻ってきた。 方向データを扱う際にキーになる分布はフォンミーゼスフィッシャー分布。こんな分…

Angular2に入門している話

機械学習のエントリばかりポストしていますが、現在の本職はWebエンジニアのid:syou6162です。 フロントエンドの勉強がひたすら足りていないけど、きっかけがないと色々やり出さない性格なので、勉強会ドリブンでAngularの勉強を少しづつ進めています。先週…

不定期ML&NLP報#2

最近の機械学習&自然言語処理に関する情報をまとめるコーナーです。今回は医療品設計やセキュリティなど、自分があまり知らなかった分野での機械学習適用事例が多く、勉強になるものが多かったです。前回はこちら。 このエントリ忘れてるよというのがありま…

不定期ML&NLP報#1

先日、社内で定期的に行なわれているフロントエンド会にお邪魔してきました(podcastが配信されています)。jser.infoというサイトを参照しながら雑談していたのですが、最近のフロントエンドの動向を知るという目的にはこのサイトなかなかよさそうでした。 機…

nasneの残量やGoogle Analyticsの情報をMackerelに監視させよう

Mackerelアドベントカレンダー6日目です。昨日はid:buty4649さんによるmackerelメタデータでパッケージ一覧を管理するCLIツールを作ったでした。 こんにちは、株式会社はてなでアプリケーションエンジニアをやっているid:syou6162です。10月にMackerelチーム…

自然言語処理の深層学習において転移学習はうまく行くのか?

このエントリはDeep Learning Advent Calendar 2016 5日目のエントリです。EMNLP2016に出ていたHow Transferable are Neural Networks in NLP Applications?を読んだので、それについて書きます。 [1603.06111] How Transferable are Neural Networks in NLP…

異常検知本の読書メモ Part 1

異常検知本を最近読み進めていたので、自分が知らなくて新しく勉強になったところのみメモ。 ホテリングの法による異常検知 異常度はマハラノビス距離で与えることができる サンプル数Nが次元数Mより圧倒的に多い場合はは自由度M、スケール因子1のカイ二乗分…

Visualizing and Understanding Curriculum Learning for Long Short-Term Memory Networksを読んだ

Curriculum Learning(簡単なやつから学習して、難しいのは後のほうがうまく行きそう)の方法をLSTMで試してみた報告っぽい内容。要約は以下の通り。 One-Pass CurriculumとBaby Steps Curriculumの2種類があるけど、Baby Steps Curriculumのほうがお勧めでき…

ロードバランサとリバースプロキシ

サービスの構成要素の資料を眺めていて、ロードバランサとリバースプロキシがあんま分かってないなと思ったので、[24時間365日] サーバ/インフラを支える技術 ?スケーラビリティ、ハイパフォーマンス、省力運用 (WEB+DB PRESS plusシリーズ)を見ながら軽く勉…

Playフレームワークをさくっと勉強する

仕事でPlayフレームワークを使っている。これまで自分が使ったことがあるフレームワークは sinatra scalatra compojure(clojure) ridge(社内のPerlのフレームワーク) などでごつい(?)フレームワークを使ったことがなかったため、慣れるのに苦戦していた。分…

Emacsでscalaを書く

IntelliJ IDEAへの不満 ここ一ヶ月と少し、IntelliJ IDEAでscalaのコードを書いた。IntelliJ IDEAでscalaのコードを書くのは多分メジャーで、設定をあまり頑張らなくても型の表示や補完をしてくれる。scalaに慣れていない人にとってはありがたいサポートだが…

Google機械翻訳の仕組み&できるようになったこと/まだ難しいことについて、社内の機械学習勉強会で説明します

社内の機械学習勉強会で最近話題になった機械学習関連のエントリを取り上げているのですが、ここ一ヶ月ではGoogle Neural Machine Translation(GNMT)がとても話題になっていました。GNMTで使われているEncoder-Decoderやattentionのような仕組みを直近で使う…

機械学習をプロダクトに入れる際に考える採用基準について

サービスに機械学習技術(例えばSVM)を入れる際に、「この機械学習技術は本番サービスに投入しても大丈夫なものか?」を考える基準がまとまっていると人に説明するときに便利だなとふと思ったのでまとめてみました。散々言われ尽くされている話だとは思います…

機械学習ランチ会を始めたので雑談用エントリを集めてくれるslack botを作りました

4行概要 最近社内で機械学習勉強会(ランチ会)をやっている 紹介するエントリを毎回頑張って探すのは大変 spreadsheet上で教師データを作り、機械学習モデルを学習、おすすめエントリをslackに投稿 砂場ができて便利! Google Spreadsheet上でみんなでわいわい…

所属チームが変わったので色々勉強を始めた

最近の勉強ネタの続き。 最近所属チームがブックマークチームからMackerelチームへ変わったので、新しく必要になったことを本を読んだり小さめのコードを書いてざっと勉強した。技術スタックがかなり変わったので、勉強してキャッチアップする必要がある。も…

実タスクで能動学習を試してみた

実タスクで簡単な能動学習を試してみました。結論としては、1200件で到達できる精度に400件程度のアノテーションでも到達でき、それによりアノテーションに要する時間をかなり削減できそうということが分かりました*1。今後、アノテーションを必要とする機械…

木曽駒ケ岳に行ってきました

もう大分前になりますが、はてなの山部のメンバーで中央アルプスの木曽駒ケ岳に行ってきました。 途中までは車で。台風が近づいていましたが、結構人はいました。ロープウェイまでは専用のバスに乗って行きます。なかなかグネグネした道を行くので、車酔いに…

Precision/Recallのいずれかを重視したい場合にどのように事例を追加するか

当たり前の話かもしれないけど、自分は経験したことがなかったのでメモがてら書いてみる。絶対これで行けるというわけではないと思うが、ある程度一般性はあるんじゃないかと。 状況設定 機械学習の評価を考える際に複数の指標がトレードオフの関係にあると…

最近の技術的な勉強について

入社して恐しいことにもう5ヶ月(!!)経とうとしていますが、Web開発にも段々慣れてきたかなと思います。この5ヶ月で勉強したことや復習したこと、これから勉強が必要そうかなと思う技術について、忘れないうちに書きとめておこうと思います。 サーバーサイド …

朝会スピーチでオリンピックの卓球を紹介しました

はてなではリリース機能改善・周知等を社員で共有する朝会が毎日あります。朝会の中で毎日誰かが自分の好きなことについて3分スピーチをするという文化があります。今日は私が担当だったので、オリンピックでさらに熱いことになっている卓球の魅力について話…

Supervisorでプロセスをデーモン化(環境変数の設定問題)

30分くらい書いていたやつが消えてしまったので、簡単にまとめる...。 自宅macで管理しているjenkinsやirc bot(ikachan)の死活管理を簡単にしたい。今は調子が悪くなっていないか死んでいないかをmackerelで監視しているが、そもそも死んだら再起動して欲し…

最近の図書館を体験してきた

会社の方が先日の朝会で最近の図書館を紹介されていて、よさそうと思ったので会社の最寄りの図書館に行ってみました。図書館、高校のときの受験勉強や大学の資料調べで使ってたくらいで、かなり久しぶりな印象。 感想 最初に簡単にまとめておくと、webでしゅ…

Improving sentence compression by learning to predict gazeを読んだ

NAACL2016 shortのベストペーパー。雑に読んだ。 https://arxiv.org/pdf/1604.03357.pdf 要約の一タスクである文短縮のタスクに視線(gaze)を予測する補助タスクを組込むとよくなったよ、という内容 一種のmulti-task learning(多段の双方向LSTMでやる) CCG-s…

はてな社内の勉強会で構造学習について発表しました

先週末、はてな社内の勉強会で構造学習、特に実装が簡単な構造化パーセプトロンについて発表しました。発表資料と説明用にサンプルで書いたPerlの品詞タグ付けのコードへのリンクを張っておきます。 今日からできる構造学習(主に構造化パーセプトロンについ…

伊吹山に登りました

会社の山部の人に誘われて伊吹山に週末登ってきました。滋賀県にある山で標高は1300メートルくらい。初心者向けの山らしいですが、帰宅したときにはクタクタでした。しかし、頂上まできたときの達成感、眺め、下山後のご飯のうまさなどなどかなり満喫したよ…

Convolutional Neural Networks for Sentence Classificationを読んだ

仕事で研究しているときはもちろん論文を読むわけだけど、どういう論文読んでいるかが分かるとどういう研究をしようとしているか分かってしまうという問題(?)があり、学生の頃と比較するとほとんど書けていなかった*1。転職後、技術的な内容をブログなど通じ…