サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
今年の「かわいい」
blog.apitore.com
2020年5月18日からTRI-AD (Toyota Research Institute - Advanced Development, Inc.) にSenior Engineerとして入社しました。所属はMLToolsという部署で、社内の機械学習エンジニア向けにMLOpsの基盤を提供しています。試用期間の3ヶ月が終了したので 本採用になったのかわからないですが 今の時点での仕事内容や感想について述べていきたいと思います。 初出社終わったのでこれから帰宅して家で仕事。 pic.twitter.com/q8N5dfjtBy— Keigo Hattori (@keigohtr) June 1, 2020 ミッション TRI-ADは自動運転の企業、という認識が一般的かと思いますが、実際には自動車をソフトウェアにして新しいエコシステムを作る、そんな企業です。Teslaも同様だと思いますが、自動
はじめに 2020年5月17日をもって、株式会社ABEJAを退職しました。在籍期間は業務委託で入った期間を入れてちょうど1年でした。ABEJAではSoftware EngineerとしてABEJA Platformを担当し、MLOpsの新機能開発やユーザビリティ改善、およびPdMの真似事をやりました。 最終出社恒例のやつ pic.twitter.com/KtiP4DlhjH— Keigo Hattori (@keigohtr) May 16, 2020 関連記事 株式会社ABEJAに入社しました ABEJA PlatformのJupyter Notebookから機械学習Jobをたくさん投げる方法 ABEJA Platformで学習済みの機械学習モデルを管理する方法 LINE株式会社を退職します LINE株式会社に入社しました 富士ゼロックスを退職しました ABEJAでやったこと 在籍は1年
はじめに 3回目の転職活動をしました。2019年の10月末に転職を考え始め、11月からカジュアル面談を開始し、2020年1月から採用試験を受け始め、3月中旬に転職活動を終えました。本記事は、今回の転職活動で私が大事にした点や実際に受けた企業、お世話になった方々に感謝などを書きたいと思います。 今回の転職活動のスタイル エージェントは使いませんでした。基本的にカジュアル面談のお誘いを全部受けるスタイルを取りました。知人や友人のリファラルがあれば全部受けましたし、LinkedInとTwitterでのお誘いも全部受けました。自分からも数社カジュアル面談をお願いしました。転職活動の終盤は工数がカツカツだったのでお誘いをお断りすることもありました。今回カジュアル面談を積極的にやったおかげで、これまで接点がなかった企業様とも知り合うことが出来ました。カジュアル面談は合計10社ほど実施しました。ご協力頂
はじめに 先程はPoetryとIntellijの開発環境を整えましたが、本番環境を考えるとやはりDocker+Intellijで環境を構築したいところです。半日格闘してPoetryを完全に理解したので、Poetry + Docker + Intellijの環境ができました。 関連記事 PoetryとIntellijの開発環境 前提条件 Poetry 1.0.5 Poetryでライブラリ管理を既にしている Dockerを既に使っている Intellijを使っている IntellijからDocker経由でPoetryと仲良くなる方法 要するにこれだけ。これで仮想環境を作ることなく、build-inのpythonにパッケージインストールをしてくれます。 $ poetry config virtualenvs.create false Dockerfile せっかくなのでDockerfileからや
はじめに Poetryを使ってパッケージ管理しつつ、IDEはIntellijを使いたい。今回はそんな開発環境を整えました。 最新情報 Poetry + Docker + Intellijの開発環境を整える 背景 Pipenvの開発が止まっていて、色々とパッケージ管理がうまくいかなくなってきたことがあり、メンバーがPoetryに移行しました。それに伴い、現状の私の開発環境(Docker+Intellij)が動かなくなりました。原因はデフォルトではPoetryを使うと以下のようなコマンドを期待するからです。 $ poetry run python hoge.py 現在(2020/3/6)、IntellijではDockerであろうがなんであろうが上記のコマンドを受け付けることができない(やり方を知っている方がいれば教えてほしい)ので、別のやり方を模索しました。 別のやり方を見つけました。ヒントは
はじめに 先日の投稿で今回の私の転職活動を紹介しました。本日はFacebook Japanの採用面接について書きたいと思います。海外のQAサイトのQuoraや求人サイトのGlassdoorにはチラホラ情報がありますが、日本のサイトはほとんど見かけないので参考までに。NDAを結んでいるので、QuoraやGlassdoorに書いてある情報と同じになります。 ポジション 今回はSolutions Engineerという職種に応募しました。詳細はこちらを見ていただくとして、私の理解した範囲で概要を言うと 業務の50%はSoftware Engineerで残りの50%はSolution Architect 広告(Marketing)APIの技術営業。クライアントの相談に乗って技術的な助言や適切な広告方法を模索する。 広告アルゴリズム(機械学習)の改善も出来るかもしれない・・・ 私が応募した理由は、1
はじめに 機械学習エンジニアは誰だって無限の計算資源を欲している・・・そうだろ? こんにちは。ABEJAでMLOps Engineerをしている服部です。こちらはABEJA Advent Calendar 2019の5日目の記事です。今回は機械学習エンジニアが欲してやまない「様々なコンフィグレーション機械学習Jobを無限に投げる」方法について紹介します。ABEJA Platformを使うとJupyter Notebookでデータ分析をしながら、任意の特徴量やハイパーパラメータを使う機械学習Jobをポンポンと投げることができるんです。早速紹介しましょう。 ※ただしお金はかかります 動画 [embed]https://youtu.be/EIknYR6SOyc[/embed] 解説 動画の要点だけ解説します。 前置き ABEJA PlatformにはJupyter Notebookの機能がありま
先日の退職エントリで既に書いてしまいましたが、2019年6月1日より株式会社ABEJAに入社しました。試用期間が終わって本採用されたはずなので、改めて入社エントリを書きたいと思います。なお、本エントリは個人の見解であり、会社の許可を得ていない(!?)ことをご了承ください。 関連記事 富士ゼロックスを退職しました LinkedInを使って転職活動した話 Facebook Japanの採用面接を受けた話(不合格) LINE株式会社に入社しました LINE株式会社を退職します 担当業務について 担当プロダクトはABEJA Platformです。ABEJA PlatformはMLOps as a Service (だと個人的に定義) で、機械学習に関わるワークフロー/パイプラインをサポートするサービスです。機械学習の実運用では、「データ収集」「アノテーション」「学習」「品質保証」「配信」のタスクと
5月10日が最終出社日で、5月31日でLINE株式会社を退職します。2017年11月1日に入社したので、約1年半の所属でした。担当プロダクトはスマートスピーカーのClovaで、担当は主に機械学習配信基盤であるRekcurdのプロジェクトリードでした。 LINEでやったこと 1年の振り返りブログがあるのでそちらを参照してください。入社初期はNLUというClovaの自然言語理解の開発をしていました。その後はRekcurdという機械学習配信基盤まわりの整理と支援のためのプロジェクトをリードしていました。ちなみに年収は在籍中に年俸で10%アップしましたし、インセンティブやストックオプション(正確にはRSU)を入れると・・・前職からものすごく増えました。LINEすごい。 ソフトウェアエンジニアにとってのLINEについて 前職は富士ゼロックスというコピー機の会社で、新卒入社して研究職として働いていまし
はじめに LINEに入社して1年(正確には1年と2ヶ月)が過ぎましたので、ここらで振り返りをしようと思います。いわゆるポエムです。みなさんが気になるであろう前職(富士ゼロックス)との違いやLINEでの働き方を書き綴ってみたいと思います。 LINEに来てからやったこと LINEではClovaのソフトウェアエンジニアをしています。担当は主にNLU (Natural Language Understanding、言語理解) と機械学習モジュールの運用 (Rekcurd) です。担当しているRekcurdはKubernetes上で動作する機械学習モジュールの運用のためのソフトウェア群で、LINE Clovaのほぼ全ての機械学習モジュールをRekcurdで運用しています。あと趣味でいくつかの場所で登壇しました。下に資料を貼っておきます。Apitoreとしての活動は抑えめになっていますが、「誰でも簡単
はじめに Apitoreの次の商品の仕込みをしています。今回はJavaでPDFファイルからテキスト情報を取得します。ApacheからPDFBoxというOSSが出ていて、version 2.0から日本語にも対応したそうなのでこちらを使います。 ライブラリ Mavenから以下のライブラリを取得します。pdfbox-toolsはpdfboxでよく使うケースをパッケージ化したものです。bcprov-jdk15onはpdfboxで古いPDFファイルを入力したときにエラーが出たので追加しました。 <dependency> <groupId>org.apache.pdfbox</groupId> <artifactId>pdfbox</artifactId> <version>2.0.3</version> </dependency> <dependency> <groupId>org.apache.p
はじめに WordNetをご存知でしょうか?自然言語処理界隈では常識とも言える世界的に有名な意味辞書/概念辞書です。人手で整備されているため、非常に高品質です。最後の更新が2010年(?)なのでそこが残念ですが、まだまだ使えます。今回のWebAPIは、開発者や専門家向けにWordNetの全内容にアクセスできるWebAPIにしました。 API 概念辞書 ~WordNetが簡単に使える~ 概念辞書 ~WordNet 完全版~ サンプルコード Java 解説 WordNetの公式ページはこちらです。商用利用可能です。 日本語ワードネットに収録されたsynset数や単語数、語義数は次のとおりです。名詞、動詞、形容詞/形容動詞、副詞が対象です。 57,238 概念 (synset数) 93,834 words 語 158058 語義 (synsetと単語のペア) 135,692 定義文 48,276
はじめに 2017年11月1日より、LINE株式会社のメンバーになりました。試用期間が明けましたので正式にブログでご報告致します。本記事ではLINEの採用プロセスや私の担当や職場について軽く触れたいと思います。LINEにおける私の職種はSoftware engineerで担当はスマートスピーカーClovaです。 採用プロセス LINE以外の転職活動については先日の投稿をご覧ください。 LINEはLinkedIn経由のエージェントの紹介でした。私はチャットもゲームもあまりやらないので、正直なことを言うと最初はLINEに全く興味がありませんでした。しかし、エージェントから「LINEがスマートスピーカーを日本で一番早くリリースし、力を入れている」と聞いて興味が出ました。私自身「コンピュータサイエンス・統計処理・機械学習技術を身近なものにする」べくApitoreを創業しています。LINEでのキャリ
はじめに Apitoreのハンズオンを企画しています。内容は「Web APIを使ってみよう」というものです。Web APIは使いこなせば便利なのですがイマイチまだ浸透していない印象があります。これまでに、JavaではAPIコールのサンプルコードを公開してきました。RubyではWeb APIコールをやったことがなかったので、SDK公開がてら勉強しました。 サンプルコード Github 環境 ruby 2.2.5p319 Faraday 0.11.0 Faraday Middleware Windows 10 cygwin 説明 Rubyの場合はnet/httpを使うのがデファクトっぽいです。今回はFaradayを紹介します。FaradayはTwitterやInstagramにアクセスする(非公式)SDKにも使われています。 まずはFaradayをインストールします。今回はWindows10で
はじめに 先日は退職エントリを書かせていただきました。本日は転職活動のあれこれを書こうと思います。苦労話なので参考になる部分は少ないかもしれません。 転職期間 2017年の6月から始めて、2017年の9月に終わりました。約3ヶ月でした。本格的に応募し始めたのは7月からです。結構長かったですね(OneJAPANハッカソンの運営と実施に丸かぶりでした)。使ったツールはLinkedInのみです。英語の自己紹介ページだけ作り、転職シグナルをONにしました。希望勤務地はサンフランシスコで、理由は西海岸で働きたかった(ITの聖地だし)。 転職活動を開始して最初は日本のコンサルの求人ばかりが入ってきました。私はコンサルには興味がなかったので興味がない旨を所々に記載していたのですが、関係なく連絡が続きました。年収も今よりだいぶ下がる形で、「俺って魅力ないのか?」と正直へこみました。また、海外からは求人が来
はじめに 正確にはまだですが、10月31日をもって2009年から約9年間お世話になった富士ゼロックスを退職します。11月からは別の会社でお世話になりますので、起業による退職ではありません。Apitoreの起業を期待してくださった方、もうしばらくお待ち下さい。10月はOneJAPANハッカソン関係でCEATECに出展しつつ、引っ越しつつ、家族との団欒を楽しみつつ、Apitore関係をがっつりやりつつ、のんびりします。今回のエントリーは、富士ゼロックス時代の振り返りをしようと思います。転職先の話はしませんのでご了承ください。ウィッシュリストも公開しているので、誰かなんかちょーだい! これまで(富士ゼロックス社員として) 自然言語処理研究者(2009年~2014年) 2009年4月に富士ゼロックスに新卒で入社し、2014年12月までは自然言語処理の研究チームに居ました。在籍時は実にたくさんのプロ
はじめに Spring Social Twitterというプロジェクトがあります。このプロジェクトはSpring-bootでTwitterとOpenID Connectしたり、Twitterのアプリを作ったりするときに使える便利なライブラリです。今回はこちらのプロジェクトを使って、Twitterとアプリ連携をしてみます。 「はじめに」の補足 Janetterなどのツイッタークライアントでやれることは全部できるようになります。プロセスとしては、ユーザーにアプリを認可(Oauth1.0)してもらいアクセストークンを発行します。このアクセストークンを使って、ユーザーのアカウントでツイートを投稿したり、ツイートを収集したりします。今回は以前投稿した、Spring SecurityにFacebookでOpenID Connectする方法、とは違ってOpenID Connectするわけではありません。
はじめに Web APIのマーケットプレイスであるApitoreに、Word2Vecを追加しようと思います。Word2Vecがあれば自然言語処理系のアプリケーションで色々な拡がりが出てきます。その話はAPIを公開したときにするとして、今回はJavaでWord2Vecを実装するノウハウを公開します。JavaでWord2Vecを作るなら、本家のGoogleでもオススメしているdeeplearning4jを使うと簡単です。内蔵している形態素解析機能はスペース区切りなので、日本語形態素解析器のKuromojiを使います。 WikipediaのDumpの取得 2016/9/15時点のDump(jawiki-latest-pages-articles.xml.bz2)を用いました。WikipediaのDumpは、データの日時を明記していれば自由に使って良いそうです。学習データに使う場合は特に日時の明記
はじめに 前回に引き続き、PythonでWebAPIを作ります。今回はフレームワークにTornadoを使いました。Tornadoも軽量なフレームワークですが、前回のfalconよりはリッチな機能があります。Python x 深層学習を使った画像処理技術がWebAPIでどんどん公開されることを期待しつつ、今回も記事を投稿します。もちろん、Apitoreに相談していただいてもOKです(ステマ)。 ソースコード GitHub 下準備 以下のライブラリをインストールします。なお、今回はkeras + tensorflowで画像処理をすることを前提としていますが、そちらのインストールについては割愛します。Pythonは2.x系を使いましたが、3.x系でもイケると思います。 $ pip install tornado 実装 今回も前回同様kerasを使った画像認識をWebAPIにします。画像認識のプロ
はじめに Spring-bootでSSL(HTTPS)を使うならnginxがオススメ。今回は今までQiitaに投稿してきたシリーズの総集編です。 関連記事 Spring bootでSSL(HTTPS)を有効にする Spring bootでSSL(HTTPS)を有効にする~Let's Encrypt編~ Spring bootでSSL(HTTPS)を有効にするならnginxを使え 対象&できること 対象(関連記事が参考になった人にはこの記事も役立つ) Spring-bootでウェブサービスを作っている Linux上で動いている ドメインを取得している Let's EncryptでSSL証明書を取得している できること とってもセキュア 「http」アクセスを「https」へリダイレクトする 「https://www.example.com」と「https://example.com」を共存で
はじめに Apitoreの形態素解析APIを拡張しました。POSTリクエストでテキストの配列を受け取ります。出力はそれぞれのテキストの形態素解析結果です。リクエストは1MBまで受け取れるので、ある程度大容量のテキストを一気に解析できるようにしました。 API 日本語形態素解析【Neologd対応】 サンプルコード Java 解説 使い方は以前とあまり変わりません。アクセストークンを使ってリクエストを投げるだけです。ここではSwaggerUIからの使い方を解説します。アクセストークンはあらかじめ発行しておいてください。 こちらにアクセスします。ポチポチPOSTの概要をクリックしていれば、下図のような形で展開されるはずです。 続いて、access_tokenにアクセストークンを入力します。reqの部分に解析したいテキストを代入します。下図のような形です。 実行すれば形態素解析結果を取得できます
はじめに WordNetをご存知でしょうか?自然言語処理界隈では常識とも言える世界的に有名な意味辞書/概念辞書です。人手で整備されているため、非常に高品質です。最後の更新が2010年(?)なのでそこが残念ですが、まだまだ使えます。今回のWebAPIはWordNetの複雑性を廃して、とてもシンプルに使えるようにしました。 API 概念辞書 ~WordNetが簡単に使える~ サンプルコード Java 解説 WordNetの公式ページはこちらです。商用利用可能です。日本語版はNICTが監修しています。 国立研究開発法人情報通信研究機構(NICT)では、大規模かつどなたでもご入手いただける日本語の意味辞書を開発することを目的とし、 2006年から日本語ワードネットの開発を進めて参りました。その後2009年2月に 日本語ワードネット0.9版 をまず公開いたしました。 日本語ワードネットは、プリンスト
はじめに RSSをJSONに変換するAPIを作りましたのでApitoreで公開します。このAPIの良いところはRomeのおかげでフォーマットの異なる各社のRSSフィード(RSS0.9、RSS1.0、RSS2.0、Atomなど)を統一的なJSONで扱える点です。RSSフィードは良い情報源なので、このAPIをうまく使えばおもしろいmashup作れそうです。今回はこのAPIの紹介です。 API RSS2JSON サンプルコード Javaサンプル 関連記事 JavaでRSSをパースするためにRomeを使ってみた 【API】RSSをJSONに変換する「RSS2JSON」 【API】2ちゃんまとめ ごちゃまぜフィード 【API】ブログ ごちゃまぜフィード 【API】証券情報サイト ごちゃまぜフィード 【API】デザイン系サイト ごちゃまぜフィード 【API】ゲーム情報 ごちゃまぜフィード 【API】ニ
ProgrammableWeb ProgrammableWebには約15,000ものAPIが登録されている。ざっと見た印象はWebAPI界のWikipediaだ。今回はProgrammableWebについて調べてみた。ちなみにサイトは英語である。 トップ画面を見ればわかるが、ProgrammableWebには3つのコンテンツがある。 API NEWS API DIRECTORY API UNIVERSITY それぞれ見ていこう。 API NEWS API NEWSは文字通りAPIのニュースだ。毎日最低1件は記事が投稿されている。 トップ画面からもわかるが、記事はカテゴライズされ検索しやすくなっている。投稿されている記事をざっと調べたが 企業のニュース1(○○に支店作りましたよとか、□□が△△を採用しましたよとか) 企業のニュース2(API関係、同種類のAPIを比較したとか) Program
はじめに Word2VecをApitoreで公開しました。こちらで公開しています。日本語WikipediaにNeologdの辞書を使いました。無料で使えます。ここでは、Word2Vecでどんなことができるかをご紹介します。 サンプルコード Java Ruby AppleScript(ぴよまる様, v1) AppleScript(ぴよまる様, v2) API Word2Vec WebAPI 特徴 今回公開したWord2Vecは、日本語WikipediaをKuromoji+Neologdで形態素解析したものを学習データに使っています。Neologdを用いているので、最近の単語(e.g. 「とある魔術の禁書目録」)も扱えるのがおもしろいところです。 公開したAPIは以下の4つです。それぞれ特徴を見ていきましょう。 Distance Analogy Similarity WordVector Di
はじめに 過去2回にわたってKaggleのタイタニックチュートリアルをやったけど、精度80%は超えたいと思ってたので諦めきれずにあがいてみた。そしてついに80%を超えたので記事にする。精度80.9%で2016年7月5日現在で366位/4430人中となった。 【過去の記事】 Kaggleで流行中のXgboostを使ってみた Kaggleチュートリアル:タイタニックタスクに参加する Kaggleのタイタニックチュートリアルで色々もがいてみた やったこと ひとことで言うと、オーバーフィッティングを疑って、学習データを間引いた。 そもそも、生データ眺めてみていて、どうも同じようなデータで正負が反対のものが多い印象だった。例えば、SibSp=0かつParch=0かつSex=maleかつPclass=3で見てみると、264人中32人が生存している。32人と232人の生死が別れた理由を年齢で見比べてみる
2023-10-09 [EMBook] 第一部 イントロダクション EMBook Management はじめに 今回も ChatGPT の力を借りて、記事を書いていく。 関連記事 blog.apitore.com #Management #engineering management 2023-10-08 [EMBook] (仕切り直し)より良いエンジニアリングマネージャーになるために EMBook EMBook Management 前回までの活動 blog.apitore.com blog.apitore.com なぜ仕切り直すのか? ChatGPTを使う場合、英語の方が精度が良いということを思い出したから。 新しい目次 ということで、ChatGPTに聞いてみた。 Q. Could you help me to write a book titled "How to be… #Man
はじめに Let's Encryptで証明書を発行する場合、standaloneモードでは80ポートを使います。ということは現在稼働しているウェブサービスを一度落とす必要があり、運用上の問題があります。そこでwebrootモードを使い、稼働中のサービスを落とさずにSSL証明書の発行および更新をしたいと思います。 Let's Encryptでイチからwebrootモードを使う場合 まだLet's Encryptを使ったことがない場合は以下のようにやります。ちなみに2016年8月時点での最新のやり方はcertbotを使うことが推奨されています。使い方は今までのLet's Encryptとほぼ同じです。違う点はcertbotは実行するときに最新版チェック&アップデートを勝手にやってくれることです。当然、自動アップデートは自分でオフに出来ます。certbotは各OS毎にインストールおよび使い方の説
はじめに Facebook APIを使ってSpring Securityを利用したウェブサイトの認証をやろうという企画の「本編」です。かなりニッチな気がしますがウェブ上に情報がないようなので参考までに。 関連記事 その1:FacebookのAPIを使うための準備 その2:Facebook4JでFacebookとOpenID Connectする 要約 一言でいえば、SpringにFacebook(Twitter, Github, LinkedIn)のOpenID Connectのライブラリあります。ただ、Spring Securityを使ったWebサービスの実装形態によっては多少の工夫が必要だと思います。こちらとこちらの記事を参考にしました。 開発環境、前提条件 開発環境は Java1.8以上 Maven3.0以上 前提条件となるSpringのウェブサービスは spring-framewor
次のページ
このページを最初にブックマークしてみませんか?
『Apitore blog』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く