2018-01-01から1年間の記事一覧

Pretraining Sentiment Classifiers with Unlabeled Dialog Dataを読んだ

論文読み会をやるので久しぶりに論文を読みました。久しぶりじゃダメなんだけど...。今年のACL2018でYahoo! JAPAN Researchの方が発表された内容です。 pretrainingを教師なしの対話データを使って精度向上させる Y!のリアルタイム検索でも使われているっぽ…

ついに開幕したTリーグを観戦しに行きました

10/24に開幕した卓球リーグ、Tリーグに観戦してきたので日記を書きます。 京都から名古屋の武田テバオーシャンアリーナに、以下の3試合を観戦しにいきました。 10/27 TT彩たま vs 岡山リベッツ 10/27 木下マイスター東京 vs 琉球アスティーダ 10/28 TT彩たま…

最近の砂場活動その8: Nginxとrendertronでprerenderingされた結果をクローラに見せる

趣味サイトをVue.jsを使ってSPAとして作っている。人間が見る分には問題ないが、GoogleBotがきたときにレンダリングされていなくて解釈された結果が悲しい感じになっている。 Vue.jsでもサーバーサイドレンダリングができたりするようだが、アプリケーション…

最近の砂場活動その7: Nginxで特定のパスはVPC内からしか接続できないようにする

しょうもないことですが、Nginx初心者なので自分用メモです。用語とか色々間違ってるかもしれない...。 Client => ALB => Nginx => Appのような構成を考える。ヘルスチェックやサーバーの特定の負荷状況を返すエンドポイント(こういうやつ)が存在し、これはA…

最近の砂場活動その6: パフォーマンスを改善する

最近は登壇とかでエネルギーを取られて、砂場活動シリーズ(?)全然できていませんでした。せっかく前期に砂場を作ったので、勉強の場にしていきます。現状のボトルネックがどこにあって、どこを改善していきましょう、というループを回します。ISUCONとかやっ…

特定のエンドポイントの負荷試験の結果を投稿するMackerelプラグインを書いた

これ何 特定のエンドポイントに毎秒XリクエストをY秒流した結果をMackerelのメトリックとして投稿するプラグインを書きました。こんな感じでレスポンスタイムの99パーセンタルなどが可視化できます。 mkrを使っている人は以下でインストールできます。 % mkr…

MACHINE LEARNING Meetup KANSAI #3で機械学習を使った趣味サービスにおける工夫を紹介しました

最近、仕事のちゃんとした登壇が多かったので、趣味でやっているWebサービスにおける機械学習関連の工夫について発表してきました。基本的に昔ブログで紹介したエントリのまとめバージョンです。 趣味の余暇時間で開発しているサービスなので、いかに手間を…

「今日から始める機械学習〜はてなの事例〜」というタイトルでデブサミ2018関西で登壇しました

株式会社ハカルスの染田さん(Machine Learning Meetup KANSAI繋がり)からご紹介頂きまして、タイトルの内容で登壇してきました。 今日から始める機械学習〜はてなの事例〜 from syou6162 A-3セッション『今日から始める機械学習~はてなの事例~』吉田 康久…

Mackerel Meetup #12で異常検知機能について発表しました

タイトルの通りですが、Mackerel Meetup #12で登壇してきました。 ユーザーの皆さんからご要望を直接聞けるので、Meetupは開発者としてもとてもありがたい場になっています。参加してくださった皆さま、ありがとうございました。私が発表したスライドはこち…

はてな社内でKaggleハッカソンを行ないました(TakingDataリベンジマッチ編)

先週末、はてな社内でKaggleハッカソンを行ないました。丸一日、各自好きなKaggleのコンペに取り組んで、得られた知見を共有するという会です。 自分は以前TalkingDataというコンペに参加していたのですが、データサイズが結構大きく、一月くらいやってみた…

最近の砂場活動その5: AWS Step Functionsで機械学習のワークフローの管理をする

はてなブログのHTTPS配信をやっていた同僚からAWS Step Functionsはいいぞ!というのを教えてもらいました(発表資料)。機械学習のワークフロー管理にもこれは便利そうだなーと思って、自分でも試してみました。やってる内容はN番煎じです...。 機械学習とワー…

AWS Batchとそのモニタリング方法について

AWS

最近、仕事や趣味でAWS Batchをよく使っています。仕事と趣味のそれぞれの用途は以下の通りです。 仕事: 機械学習を用いた異常検知システムのパラメータ学習 PyCon mini Osakaで異常検知システム構築の裏側について発表しました - yasuhisa's blog 学習デー…

pg_activityで刺さっているクエリを殺す

サービス運用しているとクエリが刺さってパフォーマンスが悪くなってしまっているとき、ありますよね。根本対応は別途やるとして、今はひとまずこの刺さっているクエリを殺して凌ぎたい。PostgreSQLではpg_stat_activityというテーブルに現在実行中の情報が…

最近の砂場活動その4: CloudWatch Logs/Kinesis Firehose/S3/Athenaを利用してログ分析をやってみる

Fargateを使うようになり、EC2サーバーを管理しなくなってよくなりました(東京リージョン、7月ですね!)。一方、これまでサーバーにログとして吐かれていたファイルの閲覧や集計に困ることも増えてきました(sshでログインして、ログファイルをgrepなどができ…

Go言語でWebアプリを書くときにオートリロードどうするといいの問題

Go

Go言語を書く際、成果物がシングルバイナリになるのは便利です。deployするときや他人に使ってもらうときに、それだけ渡せば使ってもらえるので。cliツールやapiサーバーを書くときにはこの方式で困っていなかったのですが、いわゆるWebアプリをGo言語で書く…

最近の砂場活動その3: フロントエンド編(Vue.js/SPA)

Vue.jsでフロントエンド再入門しました。仕事でjs触るけど、ゼロからあれこれやると分からないことが無限に発生しますね...。成果物はこちら。 GitHub - syou6162/go-active-learning-web ML News サーバーサイドはGoで書いていて、フロント周りがVue.jsです…

PyCon mini Osakaで異常検知システム構築の裏側について発表しました

現在仕事で作っている異常検知システムについてPyCon mini Osakaで登壇してきました。異常検知というマイナーなトピックですが、多くの人に聞いてもらえてよかったです。 #pyconjp #pyconosaka 「Pythonを用いた異常検知システム構築の裏側」吉田康久さんで…

最近の砂場活動その2: ECS/Fargate/AWS Batch編

ゴールデンウィークということもあり、前回に引き続き砂場活動をやりました。前回はCloudFormationを使い、ElastiCache/RDSを立てて、EC2の上でWebアプリを動かすところまでをやりました。 今回はECSやFargate、AWS Batchなどコンテナの恩恵をより受けられる…

最近の砂場活動その1: CloudFormation/RDS/ElastiCache編

機械学習っぽいエントリばっかり書いているけど、普段はWebアプリケーションエンジニアをやっている。そちらの方面の勉強もちょびちょび進めていく。圧倒的に知識と経験が足りなくて、危機感しかない。 アプリケーションエンジニアがインフラオーナーシップ…

NLP(言語処理学会)2018で面白かった論文メモ

あれこれ雑にメモっていて、きちんとしてから外に出そうと思っていましたが、下書きのままお蔵入りしそうだった。出せるところで出す...!すでに開催から一ヶ月も経ってしまった。 A1-1: ニューラルヘッドライン生成における誤生成問題の改善 B2-4: ニューラ…

社内でKaggleの布教活動をやっている話

最近、社内勉強会で機械学習についてエンジニアに説明する機会があり、その際にKaggleについても説明しました。一方で うーん、「Kaggler はパラメータチューニングやアンサンブル等の自明でインクリメンタルな改善『しか』できない」というような誤解はどう…

KaggleのCTR予測コンペで上位10%に入るまでの試行錯誤

週末KagglerとしてavazuのCTR予測コンペに参加しました。Kaggleは機械学習版のISUCONだと思ってもらえばよいです。コンペ自体は終わっているので、late submiteであまり意味はないかもしれません、練習です。leaderboard上で上位10%以内に行けたので、そこま…

S3のログをAmazon Athenaを経由してRedashで分析/可視化

DWHやログ基盤を色々試してみたいけど、Amazon Redshiftよりお手軽に始められるツールとしてAmazon Athenaを教えてもらいました。S3にtsv/csv/json...を置いておくと、SQLで分析できるってやつです。BigQueryと同じくクエリ単位で課金だけど、ログはS3に上が…

Hacker Tackleで「はてなにおける機械学習の取り組み」について登壇しました

LINE福岡で行なわれたHacker Tackleにて登壇してきました。 発表内容は(1)機械学習を使ったサービス開発の難しい点について整理し(2)その難しさを乗り越えていくためにはてながどのような取り組みを行なっているかについてでした。一口に機械学習を使ったサ…

異常検知ナイトでLT登壇しました

機械学習の中でもマイナーなテーマであろう異常検知がテーマの勉強会、異常検知ナイトというイベントでLTの登壇をしてきました。マイナーテーマなのに300人以上が集まる東京怖い。 3ページしかないですが、発表資料も置いておきます(LTのレギュレーションで3…

Rettyにおける推薦文からの見出し抽出の論文を読んだ

OR学会の自然言語処理と数理モデルの特集で、はてなと同じくC向けのサービスを運営しているRettyさんの論文が出ていたので、週末に論文を読みました。方法論としてはシンプルだけど、サービスへの貢献もなかなかありそうだなーと思いながら眺めました。 CiNi…

2018年の目標1: 自分の砂場を作る

2018年の個人目標の一つ。もう一月が終わろうとしている...。 やりたいこと/目的意識 ミドルウェア/インフラで見れる範囲を少しずつ増やしていく/理解を深めていく。仕事で実際使っているっていうのもあるし、インフラ方面への理解を深めたいって気持ちが強…

Clojureの思い出

ふと思い立ったので、記憶から忘却される前に書いてみようと思います。もう2年くらい書いてないけど、4年ほど仕事で使っていました。その期間はコード書くときはほとんどClojureだったので、まあまあヘビーに使っていたと思います。 前提 Clojureを使うよう…