エムスリーテックブログ

エムスリー(m3)のエンジニア・開発メンバーによる技術ブログです

障害実況、はじめました

こんにちは、エムスリーエンジニアリングGの榎田です。趣味は数学とゲームです。最近はFF14でエデン零式再生編を抜けたり加群と線型空間の振る舞いの違いを考えてあそんだりしています。

今日は、私たちのチームでの障害にまつわる取り組みの話をします。実際のところはじめたばかりの試みも多く、手探りな部分は多々あるのですが、現状の整理も兼ねてつらつらと述べてみることにします。

  • 障害対応、しています
  • 障害共有、しましょうか
  • 障害実況、はじめました
  • 障害対応、つづけます
  • We are hiring!
続きを読む

クエリ修正を考慮した検索評価指標sDCGを使ってユーザーの検索体験を監視をしたい

f:id:abctail30:20210308103302j:plain

エムスリーエンジニアリンググループ AI・機械学習チームの中村(@po3rin) です。 好きな言語はGo。仕事では主に検索周りを担当しています。最近、ユーザーの検索体験の向上のために、以下の検索評価に関する本を読んでいました。

情報アクセス評価方法論

情報アクセス評価方法論

そこで今回は検索評価指標の1つであるsDCG (session-based Discounted Cumulative Gain)を使ってエムスリーの検索ログから体験の悪かった検索を抽出してみたのでその方法を紹介します。

  • 現状の検索監視
    • 現状の検索監視の問題
  • nDCG
  • sDCG
    • 線形横断
    • 最下位クリックにおける検索結果の破棄
    • クリック=適合文書
  • nsDCGを実際の検索ログに使ってみる
    • sDCGを使って感じたこと
  • まとめ
    • We're hiring !!!
  • Reference
続きを読む

GiNZAと患者表現辞書を使って患者テキストの表記ゆれを吸収した意味構造検索を試した

f:id:abctail30:20210217022649j:plain

エムスリーエンジニアリンググループ AI・機械学習チームの中村(@po3rin) です。 好きな言語はGo。仕事では主に検索周りを担当しています。

最近「医療言語処理」という本を読んで、医療用語の表記ゆれ吸収や意味構造検索などについて学びました。

医療言語処理 (自然言語処理シリーズ)

医療言語処理 (自然言語処理シリーズ)

そこで今回はElasticsearchと患者表現辞書を使った意味構造検索がどのくらい実戦投入できるかを簡単に試したので、概要と実装方法を簡単にご紹介します。

  • 患者テキストの表記ゆれ
    • 患者テキストの表記ゆれとは
    • MEDNLPの患者表現辞書
  • トークンによる検索の課題と対策の検討
    • 主語が違うのにヒットしちゃう?
    • 意味構造検索
  • 係り受け解析と患者表現辞書を使った意味構造検索の実装
    • 患者表現辞書を使った係り受け解析
    • 患者表現辞書の表現をクエリに展開するAPI
    • 動作確認
  • 実戦投入までの課題
  • まとめ
    • We're hiring !!!
  • Reference
続きを読む

今日のリモート雑談テーマを決める魔法のスプレッドシートを運用している話

はじめに

こんにちは。エムスリー AI・機械学習チームの河合(@vaaaaanquish)です。

IT業界にコロナによるリモートワークの大きな波が来て約1年、私達のチームでは、毎日10分程、少なくなった雑談を補う場所として「雑談夕会」を実施しています。 本記事は、その夕会のために私が作成した、雑談テーマを決めるスプレッドシートについてと、その運用に関する報告です。

  • はじめに
  • 雑談夕会の目的
  • 魔法のスプレッドシートについて
  • 日付をシードにした乱数生成
  • テーマの内容について
    • 「興味や動向」「情報収集」に関連したテーマ
    • 抽象度のグラデーション
    • 状態の可視化
  • 雑談テーマシートで注意すべきこと
    • ネガティブなテーマの量は減らす
    • 雑談の枠を超えない
  • おわりに
  • We are hiring!

 

雑談夕会の目的

雑談夕会は、「自分の弱みをさらけ出す」「理解しリスペクトする」という、株式会社FORCASさんの自己紹介定例などの先行事例を参考に、チームリーダーであった西場さんが始めた施策です。 journal.uzabase.com

雑談夕会の大きな目的は「チームラーニング」です。

互いに技術や仕事でリスペクトする事で「学びを与えるような指摘」を気持ちよく行える関係になることを目指しています。

そういった目的の中で、仕事のやり取りにおけるより良い理解やリスペクト、健全なコンフリクトを増やしたい反面で、雑談友会におけるテーマ決めのような準備や雑談の内容、参加自体が誰かの負荷になっては元も子もない、というところから生まれたのがこのスプレッドシートです。

続きを読む

AWS Firewall Manager を導入してみた話

この記事はエムスリーSREがお届けするブログリレーの18日目です。

こんにちは、エムスリーエンジニアリンググループの高澤です。 Unit4(医療系ポータルサイトm3.comの開発・運営が担当のチーム)でチームSREを担当しています。 こちらのサイトのセキュリティ施策の一環として、Firewall Managerを導入してみたので、その話を紹介したいと思います。

チームSRE/コアSREについては、リレー初日の記事をご覧ください。 www.m3tech.blog

  • AWS Firewall Manager とは
  • 導入からWeb ACLの作成まで
    • 1. IP Setsの作成
    • 2. Rule Groupsの作成
    • 3. Security Policy の作成
  • 導入後: ログの改善
  • まとめ
  • We are Hiring!
続きを読む

こんばんは、X-Forwarded-For警察です

エムスリーエンジニアリンググループ製薬企業向けプラットフォームチームの三浦 (@yuba)です。普段はサービス開発やバッチ処理開発をメインにやっておりますが、チームSREに参加してからはこれに加えて担当サービスのインフラ管理、そしてクラウド移行に携わっています。

今回はそのクラウド移行の話そのものではないのですが、それと必ず絡んでくるインフラ設定に関してです。

続きを読む

パイプラインツールgokartのキャッシュ競合を解消した話

はじめに

 エムスリーエンジニアリンググループ AIチームの池嶋です。はじめてのテックブログ投稿です。

 AIチームでは機械学習プロジェクトのデータパイプライン構築にgokartというツールを使用しています。今回はこのgokartで発生していたキャッシュ競合を解消した話について紹介します。

gokart

gokartとは

 gokartというのはAIチームが中心に開発しているデータパイプライン構築のためのツールで、Spotify社の開発するパイプラインツールluigiのwrapperです。S3やGCSといったクラウドストレージとのデータ入出力をサポートしたり、中間ファイルをキャッシュとして保存することで実験を再現をしやすくしたりします。当ブログでは過去にも機械学習プロジェクト向けPipelineライブラリgokartを用いた開発と運用 - エムスリーテックブログ などで紹介されています。

 Github上でOSSとして公開されており、AIチームのメンバーを中心に開発が進められています。

github.com

gokartのパイプライン構成

f:id:mski_iksm:20210108225003p:plain
gokartのパイプライン構成例

続きを読む