タグ

ブックマーク / tech.mntsq.co.jp (10)

  • 社員の健康を支える技術 - MNTSQ Techブログ

    この記事では、Googleスプレッドシートで当番表を作り、Google Apps Scriptで当番をSlack通知する機能を実装する。 この記事は以下の記事の続編である。 未読の方は先に読んでおくことをお勧めしたいところだが、実はあまり関係が無い。 note.com 西村、サラダ技術顧問に就任するってよ Googleスプレッドシートのサンプル Slack IDの取得方法 スクリプトを書く スクリプト エディタを開く Google Apps Scriptでスプレッドシートを読み込む Google Apps ScriptからSlackに通知する 「当番リスト」シートからSlack IDを取得する SlackのIncoming Webhook URLを発行する Slack通知を実装する スクリプトの全体像 定期実行を仕掛ける 機能拡張編 事前に通知する 複数人への通知に対応する スプレッドシー

    社員の健康を支える技術 - MNTSQ Techブログ
    ikutani41
    ikutani41 2021/04/16
  • pythonの依存関係解析ツール、pydepsを使う - MNTSQ Techブログ

    はじめに 皆様はpythonで書かれたソフトウェアのリアーキテクティング1をどのように進めていますでしょうか? 既存のソフトウェアに新規機能が追加しにくいとか、機能が修正しにくい等の問題がある場合にリアーキテクティングは有効です。 リアーキテクティングの初手としては既存のソフトウェアが抱える課題の洗い出しが行われます。その際にソフトウェア内のモジュール同士の依存関係を図で把握したい場面があります。 モジュール同士の依存関係が図示されていれば、モジュール同士の構造上の問題点を伝えやすくなり、かつモジュール同士の関係を将来的にどのように落としていくかも議論しやすくなります。 このような用途に用いるpython用の依存関係解析ツールとして、今回はpydepsを紹介します。 pydeps.readthedocs.io なお、記事で扱うコードは下記にアップロードしてあります。 GitHub - U

    pythonの依存関係解析ツール、pydepsを使う - MNTSQ Techブログ
    ikutani41
    ikutani41 2021/03/19
  • ファイルシステムとS3でのユニコード正規化の関係を調べてみた2021 - MNTSQ Techブログ

    こんにちは、MNTSQでSREとして勤務している中原といいます。 プライベートも含めて、技術記事は久しぶりな気がします。がんばります。 さて、さっそくですが、日人にとって、あるいは、韓国の方や中国の方も含めて、コンピュータ上でそれぞれの国の言葉を扱おうとしたときに苦労するのが文字コードです。 かつては(あるいは今も)、Shift JIS、EUC-JPなど、OSや環境などによって使われる文字コードが異なり、相互の連携や、同じOSでも設定次第で大いに苦労したものでした(と聞いておりますし、個人でPCを楽しんでいたときには苦しんだりした記憶があります)。 そうこうしているうち、多くのOSで標準的な文字コードとしてUnicodeが採用されるようになりました。Windowsでは内部でUTF-16LEを採用しています。Linuxでは、UTF-8を標準とすることが多くなりました。 Unicodeに統一

    ファイルシステムとS3でのユニコード正規化の関係を調べてみた2021 - MNTSQ Techブログ
    ikutani41
    ikutani41 2021/03/17
  • 日本語でHugging Face Tokenizersを動かす - MNTSQ Techブログ

    前回記事に続いてHugging Faceネタです。Transformers体ではなく、分かち書きを行うTokenizersライブラリの紹介をします。 Hugging Faceが開発しているTransformersでは、事前学習モデルと用いた分かち書き処理を同梱して配布している。 機械学習モデルの学習時と推論時の間で分かち書き設定が異なったり、分かち書き済み公開データと分かち書き設定が揃っていなかったりすると、モデルの挙動が正しく再現できないので、この設定が揃うように仕組みで吸収できる良いプラクティスといえる。 比較的古いバージョン*1のTransformersが用いるトークナイザは、ライブラリ内に同梱されるPython実装のものであった。 日語で配布されているTransformersモデルの事例でいうと、例えば東北大学の乾研究室から公開されている日語BERTモデルでは、Transfo

    日本語でHugging Face Tokenizersを動かす - MNTSQ Techブログ
  • 身近なデータで30分クッキング:Google Meetのログを解析してみる編 - MNTSQ Techブログ

    最近、身近なスモールデータをさくっと分析してみる機会があったので、過程をまとめてみました。スモールデータの解析であっても、前処理、可視化、示唆出しなどデータ分析に必要な所作というのは変わりません。ステップに分けながら紹介したいと思います。 今回はツールにGoogle Spreadsheetしか使っていないので、ノンエンジニアのビジネスサイドの人であっても同じ分析を回すことができます。Google Workspace(Gsuite)を使っている企業であれば紹介した生データも取得ができるかと思いますし、30分くらいしかかからないので、試してみると面白いかもしれません。 今回取扱いたいデータはGoogle Meetのログデータです。COVIDの影響で営業や採用文脈でリモートMTGが増えました。「最近、リモートMTGのちょっとした遅刻、多くない?」という社内のふとした問題提起から、実際にログをみる

    身近なデータで30分クッキング:Google Meetのログを解析してみる編 - MNTSQ Techブログ
    ikutani41
    ikutani41 2021/01/26
  • 101回目のDocker入門 - Techブログ - MNTSQ, Ltd.

    あなたはDockerに何回入門しただろうか? 何度あのクジラを見て頭を抱えたことだろうか? 今回あなたを「とりあえずDockerを使ってワールドプレスを表示する」ところまで道案内しようと思う。 そう、夢はでっかく世界に羽ばたかないとね。 間違えた、ワードプレスだ。 Dockerって何 ワードプレスって何 Dockerでワードプレスを動かす ダウンロード インストール Windows macOS Dockerを起動する Windows macOS ワードプレスの設定ファイルを作る テキストエディタを開く Windows macOS 設定を貼り付ける 設定ファイルを保存する Windows macOS ワードプレスを動かす Windows macOS ワードプレスを表示してみよう 注意事項 ワードプレスを止める おわり 仲間募集中! この記事を書いた人 Dockerって何 「仮想化かーそうかー

    101回目のDocker入門 - Techブログ - MNTSQ, Ltd.
    ikutani41
    ikutani41 2021/01/15
  • ANTLRを使ってクエリパーサーを実装する - MNTSQ Techブログ

    MNTSQの溝口です。 普段からMNTSQの検索周りの開発を行っています。 MNTSQを含め、情報検索を行うモダンなアプリケーションではシンプルなUIが好まれます。 一方で、複雑な検索条件などを指定したい場合、シンプルなUIでは実現が難しいという問題があります。 その場合、シンプルなUIとは別に「詳細検索ページ」を用意するか、キーワードを入れるテキストボックスで検索式をサポートさせたりします。 今回は、直近で検索式のことを考える機会があったので、その実装手順について簡単に書こうと思います。 検索式とは 簡単に言えば、AND / OR / NOT などの論理記号と、 () での評価の優先順位の指定などです。あとは、 [フィールド名]:[キーワード] など、特定のフィールドに対するオペレーション、 ” をつかった明示的なフレーズ検索などをサポートすることもあります。 検索式を実装するに当たって

    ANTLRを使ってクエリパーサーを実装する - MNTSQ Techブログ
    ikutani41
    ikutani41 2021/01/04
  • python3.8 から新しく導入された Literal types について - MNTSQ Techブログ

    はじめに pythonの関数に与える引数として特定の値のみを許容したいときはないでしょうか? そのようなときに、動的に引数の値をチェックして範囲外のものを除外するアサーションや、Enumを用いてとりうる値を絞ることが考えられます。 ですが、前者は動的な値検査しか行えず、後者についてはAPIの引数の型をEnumに変更する必要があり、Enumが既存のAPIをオーバーロードしたときの引数の型として使えるとは限らないです。1 このような引数の値のチェックに使える手段として、python3.8から使えるようになっているLiteral typesがあります。 Literal types は型として宣言することで、関数の引数等に対して特定の型を要求するのと同時に、特定の値を持つことも要求できます。 例 次のようなコードの例を考えてみます。 target_fruit = ['apple', 'banana

    python3.8 から新しく導入された Literal types について - MNTSQ Techブログ
    ikutani41
    ikutani41 2020/12/25
  • Transformersを用いた固有表現抽出のtips - MNTSQ Techブログ

    TL;DR TransformersのNERではFast Tokenizerを使うことで、サブトークン ↔ ラベルのアラインメントが実装できる。 長いテキスト入力については、無駄なpaddingを最小限にとどめて高速処理するために、入力を固定長分割するのが良い。 検出漏れが問題になるようであれば、ストライド付きのwindow処理を追加するのが良い。 サンプル実装: github.com 背景 この記事を目に留めていただいた方にはおそらくおなじみであろう Hugging Face の Transformers *1。 BERT等のTransformer素子ベース事前学習モデルを用いた転移学習が容易に実験できるライブラリである。 最新モデルのモジュールがすごいスピードで実装されることに加えて、事前学習モデルおよび依存するトークナイザが一緒に管理・ダウンロードできる点がご利益として特に大きい。

    Transformersを用いた固有表現抽出のtips - MNTSQ Techブログ
  • JuliaとPythonを併用したデータ処理のススメ - MNTSQ Techブログ

    Pythonでデータ処理をしている際、numpyにはまらないごちゃごちゃした前処理があり、ちょっと遅いんだよなぁ。。。となること、ないでしょうか。 ルーチンになっている解析であれば高速化を頑張る意味がありそうですが、新しい解析を試行錯誤している最中など、わざわざ高速化のためのコードをガリガリ書いていくのは辛いぐらいのフェーズ、ないでしょうか。 こんなとき、私はJuliaを使っています。Juliaは特別な書き方をしなくても高速になる場合が多く、並列処理も簡単にできます。 julialang.org Julia、いいらしいが名前は聞いたことがあるけど使うまでには至ってない、という方がと思います。今まで使っているコードの資産を書き直すのは嫌ですよね。 しかし、JuliaにはPythonの資産を活かしつつ高速にデータ処理がするための道具がそろっています。 今回の記事はPythonJuliaをいっ

    JuliaとPythonを併用したデータ処理のススメ - MNTSQ Techブログ
    ikutani41
    ikutani41 2020/12/07
  • 1