PrometheusでサーバPCや自前アプリを監視してみた

こんちには。レトリバ製品開発部の高田 (twitter: @t-tkd3a)です。

この記事は 12/18 に行ったセミナーのフォローアップ記事です。

当日は動画の配信も行っていたのですが、音声が配信されたなかったトラブルが後から分かったため、スライドとキャプションの構成で掲載します

2 f:id:tomomi-takada:20191223190318p:plain

  • まず目次です。
  • 自己紹介、プロメテウスについての概要、使用例として、開発PC群の状態監視、自前アプリの監視例を示します。
  • 今日はだいたいこの流れでお話していきます。
続きを読む

TF2.0 tf.keras.Model 用 CRFレイヤーを試してみた

はじめに

こんにちは。 リサーチャーの坂田です。 レトリバでは、 主に文書分類とNERに取り組んでいます。

tensorflow 2.0 では、 1系のときに"tf.contrib"以下にあったcrfが、 "tensorflow_addons"として分離されました。 現在、 tf.kerasのレイヤーとして使えるように開発が進められています。 今回は、 このcrfの最新のプルリクを試してみたという内容です。まだマージされていないものなので、色々と問題がありました。

CoNLL 2003というデータセットを使って、 NERのタスクでCRFを試しました.

続きを読む

スクラムガイドから経験的プロセス制御を学ぶ

こんにちは。レトリバ製品開発部の@gumuncleです。

この記事は 11/20に行ったセミナーのフォローアップ記事です。

動画はこちらです。

スライドはこちらです。

www.dropbox.com

今年10月に認定スクラムマスター研修を受講し認定スクラムマスターになりました。

レーニング中は参加者と議論しながら能動的に参加でき非常に満足のいくものでした。

講師の人は Alan Cyment (@acyment) | Twitter さんでアルゼンチンからこのために飛行機で30時間かけて来日されたようです。

認定スクラムマスターはスクラムの入り口に到達できた!ということなので、これからも到達可能な理想郷であるスクラムを学び実践していきたいです。

今回はスクラムスクラムガイドについて詳しく話さなかったので、次回機会があれば話したいと思います。

音声分析ソフトウェアPraatとアノテーションフォーマットTextGrid形式について

はじめに

こんにちは、レトリバのエンジニアの岩田です。最近はリバウンドに悩みながら音声認識エンジンの製品開発をしています。

今回は、音声分析ソフトウェアのPraatと、Praatで読み込んだり保存できる音声のアノテーションフォーマットTextGrid形式について紹介したいと思います。おまけとして、TextGrid形式のファイルを読み書きするライブラリ textgrid.hpp を簡単に実装したので紹介します。

続きを読む

Random Features~Shift invariant kernelからGraph kernelまで~

こんにちは。レトリバのリサーチャーの木村です。10/16(水)のRetrieva Engineer Casual TalkでRandom Featuresについて発表しました。これはそのフォローアップ記事になります。

動画はこちらです。


Random Features 〜Shift invariant kernelからGraph kernelまで〜 - Retrieva Engineer Casual Talk vol.3

スライドはこちらです。

カーネル法はデータ数{n}について{\mathrm{O}(n^ 3)}の計算量を必要とし、データ数が増えると直接用いることが困難であるという問題があります。 この問題に対し、カーネル関数を近似的に高速計算するための手法の一つとしてRandom Featuresがあります。 Random Featuresでは内積の期待値がカーネル関数値と一致するような特徴ベクトルを得ることが目的です。 このようにして得られた特徴ベクトルを用いて線形学習を行うことによって、近似的にカーネル関数を用いた非線形学習を高速に行うことができます。 セミナーでは最初に提案されたShift invariantカーネルに対する手法から、文字列、グラフ構造に対する手法まで紹介しました。

私は学生時代カーネル関数を厳密に高速計算するためのアルゴリズムを研究していたこともあり、とても楽しくこのテーマを調査することができました。 近年深層学習の圧倒的な盛り上がりの前にカーネル法の勢いはどちらかというと下火になっていますが、興味深い論文は毎年出てきているのでこれからも動向をチェックしていきたいと思います。

Railsオンプレミス製品のためのDockerベストプラクティスver1.0

レトリバの今村です。2019年9月中旬、Answer Finder 2.1.0 をリリースいたしました。「Docker による提供形態の開始」が 2.1.0 の主な変更点となりますが、本記事ではその内容の設計の過程で得られた知見やハマりどころなどを紹介します。

レトリバ製品開発部で確立できた「Docker まわりの定石」に関する一種の備忘録的な内容となります。Answer Finder をはじめとして、レトリバの製品は Ruby on Rails アプリケーションがほとんどのため、本記事で紹介する Docker イメージは基本的には Rails アプリ提供用のものです。

続きを読む

組織デザインの展開 ~官僚制からティール組織まで~

こんにちは。レトリバの飯田です。6/19(水)の社内セミナーで組織設計の話をしました。これはそのフォローアップ記事になります。

動画はこちらです。


組織デザインの展開~官僚制からティール組織まで~

スライドはこちらです。

www.slideshare.net

このテーマは、社会人になってから調べていたものの、体系立てられていなかったため、今回取り組みました。 組織論は、粒度が多岐にわたり、同じようなことが出自の違いにより、違う言葉で言われている場合があり、混乱しやすい分野と感じています。アジャイルスクラムティール組織・OKRなどなど、様々な手法や用語が飛び交っていますが、これらがどこに位置付けられて、それぞれどういった関係であるのかを把握するのは、そこそこに労力を必要とします。 今回は、これらをできる限り統一的な視点で整理を行いました。(個々のトピックの詳細については、それぞれの書籍をご参考ください。)

組織構造は、意図してそのようにできるものではない部分があり、ビジネスの状況や構成員のマインドにも依存します。 しかし、構造を意識できていれば、可能な範囲で最善の手を打てると考えています。 また、組織構造は働く上での多くの不幸を抑制する可能性があると考えております。 古くて、新しいテーマであり続けると思いますので、今後もウォッチしていきたいと思います。

2019年度人工知能学会全国大会に参加しました!

こんにちは。レトリバ研究開発部の飯田、木村です。


レトリバでは、研究動向・業界動向の把握のため、研究開発部の人間は積極的に国内学会に参加しており、今回は、人工知能分野で最大規模とも言える、人工知能学会の全国大会に参加しました。

 

概要

今回の人工知能学会は新潟で開催されました。
スポンサー・協賛合わせて、90社と、この分野の盛況感が伝わってきます。

 

分野も多岐にわたっており、深層学習一色というわけでもなく、人工知能に関連する様々な分野の取り組みを聞けるのもこの学会の醍醐味だと思います。

 

分野の動向として特に印象的だったのは、丸山宏先生の招待講演でした。

https://www.ai-gakkai.or.jp/jsai2019/invited-talk

 

 この講演は、深層学習の登場によって、何がどのように変わっているのかと言ったことを、計算モデルの視点から俯瞰的に述べられている、非常に刺激的な講演でした。
今後発展する方向性の一つが示されていたと感じました。

 

個別の面白かった発表

以下では個別に面白かった発表を紹介したいと思います。

続きを読む

bit vectorで編集距離の計算を高速化する

レトリバ製品開発部の@ysk24okです。

本記事ではbit vectorを用いて編集距離の計算を高速化するアルゴリズムを紹介します。論文はこちらです。

dl.acm.org

クエリの長さを m、検索対象のテキストの長さを$n$としたとき編集距離の計算量は$O(mn)$であることが知られていますが、bit vectorを活用することでword長を$w$とすると計算量を$O\bigl(\frac{m}{w}n\bigr)$($m\leq w$のときは$O(n)$)に低減できる手法になります。

1999年発表の古い論文ですが、この論文で提案されているアルゴリズムが弊社の製品に実装されていて初見では理解できなかったことに加え、日本語での論文解説が無いようだったので解説記事を書くことにしました。

  • 編集距離(Levenshtein Distance)とは
  • 近似文字列照合(approximate string matching)における編集距離
  • 編集距離の計算
  • 提案手法
    • cell structure
    • cell logic
    • cell logicの並列化
      • Eqの計算
      • 同じ列のcell間の依存の排除
  • 比較
    • 実行環境
    • 結果
  • まとめ
  • 参考文献
続きを読む