エムスリーテックブログ

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

デジカル開発チームが品質を保つための2つの取り組み

こんにちはエンジニアリンググループの森内です。 私はエムスリーデジカルというクラウド型電子カルテのチームでQAを担当しております。 本ブログではデジカルチームの中で、品質向上に関わる良い取り組みをご紹介します。

  • デジカルとは?
  • 開発サイクルとQAの関わり
  • 紹介したい運用
    • 開発者目線でのQA観点の提供
    • 品質計画書
  • 今後の課題
  • We're hiring!
続きを読む

iOS向けに作った子供向けのアプリをFlutter Webでpublishしてみたら思いの外良かった

エムスリー エンジニアの岩本です。

4月から小学生1年生になる子供を育てています。

最近子供と図鑑を見ていました。そのとき目次をから目的のページが250ページにあるということがわかったようです。 しかし、一度開いた150ページあたりから250に向かうのではなく、100ページの方に戻っていってしまいました。 それを見て「あれ?もしかして数字の概念が全くわかってない?」と心配になってしまいました。 とはいえ、数字は1〜100まで数えられるし、一桁の足し算引き算は指などを使ってできます。

数字の概念がわかっていないのはまずいので確認しようと考えました。 そこでどうせなら最近業務で触り始めたFlutterを使って理解度を確認するアプリを作ってみることにしました。

続きを読む

春の terraform お掃除日記

こんにちは、エムスリーエンジニアリングGの榎田です。趣味は数学とゲームです。エオルゼアで耐水綿布の相場が暴落するのを見て経済に興味を持ち始めました。

もうすぐ春、一般的には新たな出会いと別れの季節とされています。私たちのチームでも、新たなサービス・企画に向けて日々開発を進めています。新規サービスの立ち上げということは、インフラの構築も必須です。今日はそのようなサービス構築時のインフラ構築を aws terraform provider で行った際の雑多な思い出を述べようと思います*1

  • インフラ構築の背景
  • ディレクトリ構成の変化
  • terraform project の分割
    • terraform にできることは terraform にやらせよう
    • terraform にできないことを私たちに
  • module の使いどころ
    • resource の wrapper にしない
    • テンプレートとして使う
  • まとまった tf ファイル
  • まとめ
  • We are hiring!

*1:雑多な思い出という言葉を選んだ事情は次のようなものです。弊社福林の記事 https://www.m3tech.blog/entry/2020/07/27/150000 にもあるように、terraform の適切な使い方は状況に依るところ大でしょう。そのような技術に対して、本稿は「ベストプラクティス」みたいな大上段なものを提供するつもりはなく、「こういう状況だとこういう感じでした」という具体的なケースを示したいという気持ちがあります。

続きを読む

障害実況、はじめました

こんにちは、エムスリーエンジニアリング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

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

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

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

続きを読む