Sansan Tech Blog

Sansanのものづくりを支えるメンバーの技術やデザイン、プロダクトマネジメントの情報を発信

高橋寛治 の検索結果:

Slackに投稿された通達をNotionDBでToDo化する

…技術本部研究開発部の高橋寛治です。 Slackに投稿された読了や対応を求められる通達の対応漏れを防ぐために、自動でNotion上にToDoを追加する仕組みを作りました。 その成り立ちや機能、実装の概要、効果について紹介します。 成り立ち きっかけは、社内の生産性改善をリードしているメンバーから相談を受けたことです。 Slackの通達チャネルでは、社員に対して読了や対応を求められる投稿が日々行われています。 長期休暇を取ったときや有給明けにSlack通知が多く、情報収集がストレ…

2023アドベントカレンダーの社内LT大会の開催報告:技術とチキンでつながる一夜

…技術本部研究開発部の高橋寛治です。 Sansan Advent Calendar 2023を書いた人達で交流と技術への理解を深めるために、社内でLT*1会を実施しました。 準備が少なくテンポ良く会として進められるため、LT形式を取りました。 また、フライドチキンや飲み物を用意し、ゆるい雰囲気で実施しました。 本記事は、そのLT会の開催報告です。 LT大会のハイライト 4本の発表がありました。 それぞれの内容について簡単に紹介したいと思います。 オンラインとオフラインのハイブリ…

GPTsによる執筆支援Botとtextlintによる校正Botをつくってみた

…技術本部研究開発部の高橋寛治です。 毎年恒例のアドベントカレンダーの時期がやってきました。 今回は、技術ブログの執筆を技術で支援するツールを用意したため、その内容を紹介したいと思います。 なお、本記事はそのツールを用いて書かれたものです。 技術ブログを書きやすくしたい 技術に関する知見を共有することは、知見を元にした新しい技術を生むことや、類似の事象の早期解決につながることなど、様々な利点があると私は考えています。 ある知見が新しい知見を呼び、新しい知見が更なる新しい知見を呼…

【Techの道も一歩から】第49回「SlackアプリをPythonで作成する際の備忘録」

…技術本部研究開発部の高橋寛治です。 最近、簡単なデモレベルの Slack アプリを初めて作成しました。 いろいろな設定をしたり、リファレンスを見たりと、やることが多かったです。 次回に作る際に迷わないように、まとめておきたいと思います。 おさえておくこと フレームワーク Bolt を使うこと デモレベルではソケットモードで作うこと メッセージの作成には Block Kit Builder を使うこと(textも設定すること) Slack APIも利用すること 簡素にすること …

【神山通信vol.4】冬の神山とメール解析技術の論文調査

…技術本部研究開発部の高橋寛治です。 「神山通信」の連載は、私が表参道での勤務に戻るためにvol.4で最終回となります。 最終回は、神山の楽しいドライブルート・・・ではなく、神山の様子を紹介した後に、少し技術的な内容を含めて締めくくりたいと思います。 冬の神山 こちらの写真は、お正月に神山ラボに門松が立てられていた時のものです。 神山ラボに立てられた門松 門松だぁ、と眺めていたところ、そもそも門松が何者なのか気になってきました。 いざ門松が何かを自分に問いかけてみると、斜めに切…

【神山通信vol.3】神山ラボ近辺で最近食べたお昼ご飯の紹介

…技術本部研究開発部の高橋寛治です。 私はお昼ご飯を食べないと、力が出ないタイプです。 さて、神山ラボ近辺で最近食べたお昼ご飯を紹介したいと思います。 神山ラボを起点に、お昼休み中に徒歩で行けるところと車で行けるところで分けています。 写真と経路と一言感想で紹介しますので、気になるお店には行ってみてください。 徒歩で行けるところ めん処 林商店 うどんと天ぷら(2023年1月11日(水)) ラボから歩いて約3分です。 どこか懐かしい風味のうどんとともに、好きな種類の天ぷらをいた…

【神山通信vol.2】神山ラボの薪ストーブで暖まろう!薪着火を覚えるの巻

…技術本部研究開発部の高橋寛治です。 サテライト拠点の神山ラボには、薪ストーブが設置されています。 薪ストーブで暖を取ったり、揺らぐ炎を見てコーディングしたりしてみたくないですか?してみたいですよね。 ということで、今回は神山ラボの薪ストーブと覚えたばかりの薪着火について紹介します。 いろいろ教わりながら勉強しているところですので、間違っているところがあれば、こっそりご連絡ください。 神山ラボに置かれている薪ストーブ 薪ストーブとは、薪を燃料とする暖房器具です。 神山ラボに置か…

【神山通信vol.1】神山ラボで働いています

…技術本部研究開発部の高橋寛治です。 徳島県名西郡神山町にあるサテライト拠点の神山ラボで10月から勤務しています。 神山ラボ勤務での日常について、ざっくばらんに紹介します。 神山ラボへの通勤 今は徳島平野に住んでいます。 神山ラボへは車で通勤しています。 片道約50分の道のりです。通勤時間は橋など特定の場所で渋滞が発生します。 ある雨の日の朝は、家から2km進むのに約50分かかって心が折れ、おとなしく引き返して在宅勤務としました。 渋滞発生時間帯回避マップを必ず確認し、最適な時…

【Techの道も一歩から】第48回「Inf1のSageMaker推論エンドポイントをカスタムコンテナで試す」

…技術本部研究開発部の高橋寛治です。 SageMakerのInf1推論エンドポイントで機械学習モデルを試したので紹介します。 部分的に紹介しているため、SageMakerやHuggingFaceを使ったことがないと、わかりづらいかと思いますがご了承ください。 目的 現在SageMakerの推論エンドポイントで、独自コンテナの機械学習モデルを稼働させています。 これをコスパよく、より高速に動かしたいというのが今回の目的です。 Inf1インスタンス Inf1インスタンスは、機械学習…

【Techの道も一歩から】第47回「StreamlitのアプリをNginxで複数ホスティングする」

…技術本部研究開発部の高橋寛治です。 以前に紹介したStreamlitは、非常に便利でよく使っています。 buildersbox.corp-sansan.com Webアプリとしてインターフェイスが提供されるため、ちょっとしたデモを誰かに試してもらうのが容易で重宝しています。 ただ、いつも忘れてしまうのが、Nginxで複数のStreamlitアプリを提供する方法です。 今回は、デモとしてとりあえず動いたらいい状態になるような設定について紹介します。 Nginxの設定 ここからは…

【Techの道も一歩から】第46回「CookiecutterでPythonプロジェクトを高速に開始する」

…術本部 研究開発部の高橋寛治です。 Python でプロジェクトを始める際に、ディレクトリ構成を考えたり、パッケージ方法を考えたり、もしくは何か参考になるものを見つけてコピペしたり、と意外と時間をかけていました。 これをコマンド一つで解決する Cookiecutter および社内での活用事例を紹介します。 Cookiecutterとは Cookiecutter とは、プロジェクトテンプレートからプロジェクトを作成してくれるコマンドラインツールです。 ここでのプロジェクトとは、…

【Techの道も一歩から】第45回「pyppeteerを使いヘッドレスブラウザでログインして情報を取得する」

… R&D グループの高橋寛治です。 ログイン後に動的にレンダリングされたページから必要な情報を抽出する、いわゆるスクレイピングを最近行いました。 スクレイピングを行うためにはヘッドレスブラウザ*1の操作が必要です。 pyppeteerを少し踏み込んで使ったため、その備忘録として取り組みを紹介します。 そもそもスクレイピングについては、こちらで書籍の紹介をしていますので、本稿では割愛します。 やりたいことと対象の概要 やりたいことは、あるWebアプリケーション中の所定のページか…

【Techの道も一歩から】第44回「Prefectでパイプラインを構築してみる」

… R&D グループの高橋寛治です。 本記事は Sansan Advent Calendar 2021 - Adventar の初日の記事です*1。 Pythonによるパイプラインツールについて、Prefectというフレームワークが良さそうという話を小耳に挟みました。 第42回の記事と同様にMNISTを題材にパイプラインを作ってみます。 buildersbox.corp-sansan.com Prefect Prefectは、Pythonで書かれたオープンソースのワークフロー管…

【Techの道も一歩から】第43回「競技プログラミングやアルゴリズム練習サイト向けのPythonでの練習環境を整える」

… R&D グループの高橋寛治です。 お昼休みに、社内制度Geek Seek Workshops*1を活用し懇親会代補助を受けて、ご飯を食べアルゴリズム勉強会を行っています。 そこでは、競技プログラミングサイトやプログラミングサイトを利用し問題を解いています。 これらのサイトでは、標準入出力で検証が行われます。 オンラインのエディタも用意されているのですが、手元の環境でコードを書き手軽に検証したいですので、環境を整えます。 コードは、GitHubで公開しています。 目標 任意の…

【Techの道も一歩から】第42回「Luigiとgokartを試用して比べて特徴を掴む」

… R&D グループの高橋寛治です。 最近は、ことあるごとにMLOpsと言っています。 そんなMLOpsの本丸とも言えるパイプラインツールの一つであるgokartを開発された西場さん(@m_nishiba)が部長ということで、使ってみないわけにはいかないgokartを使ってみました*1。 わからないときは、直接聞けます。 Luigiとgokart LuigiはSpotifyが開発しているPythonによるパイプラインパッケージです。 下記の以前の記事でも紹介しましたが、Luig…

BERTによる日本語固有表現抽出の精度改善 〜BERT-CRFの紹介〜

…が、メンターの黒木や高橋寛治をはじめ、多くの研究員の方にご協力いただき、精度改善、プロダクトに反映させることができました。 今後ともプロダクトに貢献できるような精度改善に邁進していきます! 参考文献 [1] Souza, F., Nogueira, R., and Lotufo, R. (2019). Portuguese named entity recognition using bert-crf. arXiv:1909.10649. *1:大規模な学習データセットがあれ…

【Techの道も一歩から】第41回「SageMakerでStep Functionsを使った学習パイプラインを構築するために概念を理解する」

… R&D グループの高橋寛治です。 最近は、MLOpsへの興味が大きく、ツールの実利用や勉強会での発表を行っています。 機械学習プロジェクトにおいて、久々の実行や引き継いだコードの実行の際に、順序や実行環境を思い出したり準備したりしながら確認するのはすごく大変です。 コンテナ化された上でパイプラインがあると、実行順序も実行環境も覚えたり記録したりする必要がなくなります。 コンテナとパイプラインを組み合わせて利用するAmazon SageMakerを利用し、学習パイプラインを構…

MLOpsについてSansan×Unipos×M3の合同勉強会で発表しました

…C R&Dグループの高橋寛治です。 2021年7月8日に開催された【Sansan×Unipos×M3】事例から学ぶ!MLOps・データ分析基盤 最前線事例共有勉強会において、ニュース配信におけるMLOpsの取り組みについて発表いたしました。 勉強会の概要と発表内容についてご紹介いたします。 勉強会の概要 事の始まりは、ばんくしさんのつぶやきでした。 SansanとUniposが提携したという事は、Sansan×Unipos×M3でのMLOps勉強会の機運が高まっているという事…

【Techの道も一歩から】第40回「Texthero で日本語を解析する」

… R&D グループの高橋寛治です。 社内の研究開発部勉強会にて、Texthero が便利だという話を聞きかじりました。 Texthero は、テキストの前処理から変換、可視化までを pandas 上でうまく扱える Python パッケージです。 現状では、英語のみ対応しているパッケージです。 本記事では、日本語を解析できるように追加でコードを書いて使ってみたので紹介します。 Texthero のコードを読む Texthero は GitHub 上で公開されています。 Vers…

【Techの道も一歩から】第39回「Google App Engine で Python による WebAPI を動かす」

… R&D グループの高橋寛治です。 最近は Google App Engine(App Engine) を用いて WebAPI としてアルゴリズムを提供できるよう開発中です。 App Engine を触ったのは初めてだったため、備忘録として App Engine の概要や環境構築からデプロイまで書きたいと思います。 App Engine の説明や設定の考え方が主となります。 App Engine とは Webアプリケーションの提供のためのフルマネージド型のサーバーレスプラット…

【Techの道も一歩から】第38回「Streamlit で固有表現抽出の結果を表示する」

… R&D グループの高橋寛治です。 最近、部内で Streamlit による可視化を見かけるようになってきました。 Streamlit は、インタラクティブなデータの可視化に特化した Web アプリケーションを少ないコードで素早く提供することができる Python ライブラリです。 私自身は Web アプリケーションとしてデモ化する際に手慣れた Flask で書くことが多いです。 慣れているとはいえ時間を要するため、同じ結果を爆速で実現できるなら使わないわけにはいきません。 …

【Techの道も一歩から】第37回「データの集計に Luigi を使ってみる」

… R&D グループの高橋寛治です。 あるプロジェクトにおいて、 「DB からデータを取得し整形した結果を出力する」という一連の処理をパイプラインパッケージである Luigi を用いて行いました。 ワークフローの監視や記述が簡単に記述できて良かった*1と感じたため、ここで流れを紹介したいと思います。 Luigi Luigi は Spotify が開発・運用しているオープンソースの Python のワークフローパッケージです。 pip install luigi で簡単に導入でき…

第4回 MLOps 勉強会で発表しました

… R&D グループの高橋寛治です。 2021年2月18日に開催された 第4回 MLOps 勉強会 で登壇の機会をいただき、MLOps に関する取り組みについて発表いたしました。 勉強会の概要と発表内容について簡単に紹介いたします。 MLOps 勉強会 日本の MLOps をより盛んにすべく活動されている団体です。 座談会や勉強会という形式で、MLOps に関する取り組みや最新動向の共有、MLOpsに関するコミュニティ形成を目的として活動されています。 mlops.connpa…

【Techの道も一歩から】第36回「FastAPI を使い始める」

… R&D グループの高橋寛治です。 私は Python で WebAPI を開発する際には、Flask をよく利用しています。 最近は、FastAPI がいいらしいという話を同僚から聞くようになりました。 少し公式ドキュメントを覗いてみると、Flask をより便利に高機能にしたものに感じました。 これは使わねばと思い、開発環境の構築からテストまでやってみたため、ここで紹介します。 (しっかり理解したい場合は、充実した公式のチュートリアルがおすすめです。ドキュメントがしっかり整…

【Techの道も一歩から】第35回「ルールベース手法の運用時のエラーを的確に把握する」

… R&D グループの高橋寛治です。 アルゴリズムを開発する際に、課題やデータ量に応じた手法の一つとして、ルールベースを採用することがあります。 ルールベースによるアルゴリズムを運用していると、想定外の事象による例外が発生するものです。 これを的確に把握することで、改善へとつなげることができます。 動作するコードのエラーを的確に把握するということは、ソフトウェア開発では当たり前のことだとは思います。 しかしながら、研究開発という観点だと考慮が漏れがちな点ではないでしょうか。 今…

【Techの道も一歩から】第34回「固有表現抽出のためのデータを作る」

…SOC 研究開発部の高橋寛治です。 本記事は Sansan Advent Calendar 2020 - Adventar の初日の記事です。 クリスマスにアノテーションされたデータがプレゼントされると幸せですよね。 プレゼントを渡せるように、タグ設計やアノテーションについて、どのような考えでどうデータを作るのかを具体的に紹介します。 ただし、Advent Calendar 1日目ということでゆる~く紹介したいと思います。 最近は、固有表現抽出のアノテーションデータの説明や実…

【Techの道も一歩から】第33回「文献紹介:Beyond Accuracy: Behavioral Testing of NLP Models with CheckList」

…SOC 研究開発部の高橋寛治です。 社内の論文読み会で紹介した評価に関する文献である「Beyond Accuracy: Behavioral Testing of NLP Models with CheckList」について簡単に所感を交えて*1紹介したいと思います。 なお、本文内での図表は基本的に文献から引用したものとなります。 Beyond Accuracy: Behavioral Testing of NLP Models with CHECKLIST 文献情報 Mar…

【Techの道も一歩から】第32回「MLOps に入門」

…OC 研究開発部の 高橋寛治です。 突然ですが、みなさん MLOps を実践されていますか。私は雰囲気しか知りません。 今回はそんな MLOps について学んだ概念と一つのツールである DVC について紹介します。 また、今実際に使っている中で感じている点についても少し紹介できればと思います。 MLOps とは Machine Learning (機械学習)と Operations (運用)を組み合わせた単語です。 ざっくり言うと、「機械学習システムをいい感じに運用する」とい…

【Techの道も一歩から】第31回「クラウド上に自前のVPNを構築し、ラズパイを VPN ルータ化」

…OC 研究開発部の 高橋寛治です。 リモートワークが盛んである今、 VPN 接続を利用している人が多いのではないでしょうか。 私もそんな一人ですが、そういえば VPN サーバを立てたことがなかったので、挑戦してみました、というのは表向きの理由で、IPv6 による経路の VPN 接続を行いたいということが真の目的です。 自宅回線は IPv4(PPPoE)・IPv6(IPoE) となっており、IPv4 インターネット利用時は PPPoE の輻輳だと考えられますが、混み合う時間帯に…

【Techの道も一歩から】第30回「久々の Windows」

…OC 研究開発部の 高橋寛治です。 今回は業務に利用している手元の環境を Mac から Windows に変更したという軽い話です。 交換した理由や Mac から Windows に乗り換えた時にセットアップする点について記します。 交換した理由 マシンスペックに不足を感じたことと WSL の進化が理由となります。 SSH で基本的に作業するため、軽くて持ち運びしやすい SSH クライアントと思って Macbook を利用していました。 しかしながら、昨今のリモートワーク事情…

© Sansan, Inc.