Sansan Tech Blog

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

Python

チーム開発合宿 2024 in 徳島県神山町(技術編)

こんにちは、研究開発部 Architectグループの辻田です。 この記事はチームメンバー合同で作成した記事です。 先日、神山ラボへ開発合宿に行ってきました。この記事では合宿中に取り組んだ内容について紹介します。合宿の目的や、全体の様子はチーム開発合宿 …

Label Studio のカスタム UI を作ってみた

こんにちは、研究開発部 Automation グループで研究員をしている李です。この 1 年は、修論に追い込まれて研究室の後輩と GPU サーバーを奪い合ったり、そこそこ通りづらい国際会議に出たり、新卒入社して山登りに行ったり、Bill One の自動化率の改善をやっ…

2023年 研究開発部 新卒技術研修 ~ テストコード編 ~

こんにちは、研究開発部 Data Analysisグループの笛木です。 4/26(水)〜 4/28(金)で研究開発部内の技術研修を行いました。 こちらのブログの続きでテストコードについての研修資料を一部公開します。研修では新卒2年目の私が1年間で部内のコードなどから…

spaCyを用いて日本語の固有表現抽出(NER)モデルを学習する

はじめに 最近、固有表現抽出(Named Entity Recognition: NER)の学習をspaCyを用いて行う機会があったため、そのやり方について簡単にまとめたいと思います。

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

こんにちは。 技術本部研究開発部の高橋寛治です。 最近、簡単なデモレベルの Slack アプリを初めて作成しました。 いろいろな設定をしたり、リファレンスを見たりと、やることが多かったです。 次回に作る際に迷わないように、まとめておきたいと思います。

Slackアプリで勤怠を申請できるようにしました

こんにちは、コーポレートシステム部 Corporate ITグループのあおしょーこと青松です。 普段はSREチームのDevOpsエンジニアとして社内の業務改善を担当しています。 ありがたいことに弊社では急成長とともに従業員も増えつつあるのですが、それと同時に社内…

分析の再現性を担保する工夫

はじめに 技術本部 R&D の小松です。先日、一橋大学の手島健介教授より『経済セミナー』2023年2・3月号をご恵贈いただきました。 www.nippyo.co.jp 手島教授はその中で「米国経済学会データエディター制度の取り組み 再現性向上のためのreplicationチェック…

BERTopic で文書のクラスタリングを試す

こんにちは。研究開発部の青見 (@nersonu) です。 そろそろ花粉症の季節ですね。週1でしか出社しない私は、なんとか引きこもって数ヶ月しのぎたいところです。 さて、今回は BERTopic という OSS について、さっくりとした手法の解説もしつつ、簡単に文書の…

【R&D DevOps通信】Poetry1.2でプライベートパッケージを扱う(GitHub, AWS CodeArtifact, GCP Artifact Registry)

研究開発部 Architectグループ ML PlatformチームのKAZYこと新井です。ちなみに名古屋にある中部支店に所属です。 今回はPoetryでプライベートパッケージ(ライブラリ)を扱うテーマの第2弾です。 はじめに 2022/08/31に1.2.0がリリースされました。*1 Release…

FastAPIの標準機能+αで作るアクセスコントロール

初めまして。技術本部Digitization部データ化グループでエンジニアをしている池田力です。 FastAPIでアクセスコントロールの仕組みを実装しようとしたところ、インターネット上に情報が少なく、ちょうど要件に合ったライブラリもなかったため、0から設計する…

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

こんにちは。 技術本部研究開発部の高橋寛治です。 SageMakerのInf1推論エンドポイントで機械学習モデルを試したので紹介します。 部分的に紹介しているため、SageMakerやHuggingFaceを使ったことがないと、わかりづらいかと思いますがご了承ください。

【R&D DevOps通信】Poetryでプライベートパッケージを扱う(GitHub, AWS CodeArtifact, GCP Artifact Registry)

研究開発部 Architectグループ ML PlatformチームのKAZYこと新井です。ちなみに名古屋にある中部支店に所属です。 今回はPoetryでプライベートパッケージ(ライブラリ)を扱うテーマです。 追記(2022/11) Poetry 1.2で新たに追加された機能をプライベートパッ…

hypothesis+panderaで始める、データフレームに対するProperty Based Testing

技術本部 R&D研究員の前嶋です。梅雨の季節ですが、少しでも快適に過ごせるようにOnのCloud 5 wpを購入しました。水に強くて軽快な履き心地で最高ですね。(追記:この記事の公開作業をしている間に梅雨が終わってしまいました) 今回は、データフレームのテス…

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

こんにちは。 技術本部研究開発部の高橋寛治です。 以前に紹介したStreamlitは、非常に便利でよく使っています。 buildersbox.corp-sansan.com Webアプリとしてインターフェイスが提供されるため、ちょっとしたデモを誰かに試してもらうのが容易で重宝してい…

gokart の環境変数周りでバグを発見したので、修正 PR を出したら爆速でリリースされた話

こんにちは。技術本部 R&D 研究員の青見です。 4月で社会に出て1年になりました。 この時期は花粉症が辛くて記憶がくしゃみにかき消されがちですが、入社式のやっていきを思い出して2年目も頑張っていきます。

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

こんにちは。 技術本部 研究開発部の高橋寛治です。 Python でプロジェクトを始める際に、ディレクトリ構成を考えたり、パッケージ方法を考えたり、もしくは何か参考になるものを見つけてコピペしたり、と意外と時間をかけていました。 これをコマンド一つで…

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

こんにちは。 DSOC R&D グループの高橋寛治です。 ログイン後に動的にレンダリングされたページから必要な情報を抽出する、いわゆるスクレイピングを最近行いました。 スクレイピングを行うためにはヘッドレスブラウザ*1の操作が必要です。 pyppeteerを少し…

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

こんにちは。 DSOC R&D グループの高橋寛治です。 お昼休みに、社内制度Geek Seek Workshops*1を活用し懇親会代補助を受けて、ご飯を食べアルゴリズム勉強会を行っています。 そこでは、競技プログラミングサイトやプログラミングサイトを利用し問題を解いて…

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

こんにちは。 DSOC R&D グループの高橋寛治です。 社内の研究開発部勉強会にて、Texthero が便利だという話を聞きかじりました。 Texthero は、テキストの前処理から変換、可視化までを pandas 上でうまく扱える Python パッケージです。 現状では、英語のみ…

自分のTweetを使ってSentencepieceとMeCabの分かち書きの比較を行う

3行で はじめに Sentencepieceとは subwordとは Sentencepieceでの取り組み SentencepieceとMeCabの比較 利用するデータセット 利用したコード 適当なTweetを分かち書きしてみる Tweet全部を分かち書きし、頻度順に並べてみる まとめ 注釈 3行で Sentencepie…

人事異動のデータ化の取り組み 〜 CamelotによるPDFの表データ抽出

DSOC サービス開発部 GEES/JES/COEグループの松本です。最近はコロナの影響で巣ごもりをしており、家の庭で芝生を育てています。 色々と手抜きをしてしまったがために生え揃いがまばらで、かわいい反面、芝生の上を裸足で歩けるようになるにはまだまだ時間が…

「分析コンペ勉強会」を開催しました

こんにちは、Sansan DSOC 研究開発員の齋藤(@sinchir0)です。 3/2(火) 19:00 -21:00にて分析コンペ勉強会を開催させて頂きました。 sansan.connpass.com 今回は本勉強会のレポートを書かせて頂きます!

分析コンペ挑戦記: Cassava編

初めまして、Sansan DSOC 研究開発部の齋藤慎一朗と申します。(Twitterではsinchir0と名乗っています。) 分析コンペに参加するのが趣味なので、挑戦した内容と結果を定期的にブログで投稿していければと思い、執筆させてもらっています。 今回は、Cassava…

Economics Meets Data Science: Finite Mixture Models - A Christmas Story

Merry Christmas! ¡Hola! I'm Juan, researcher and economist at DSOC's SocSci Group. I hope you're having a great end of the year. This time I'm contributing to Sansan's Advent Calendar, so this is a Christmas edition of Economics Meets Dat…

【Zoom or Die】第3回 torchvisionのI/O・前処理が新しくなった話

こんにちは,DSOC研究開発部 Automation Groupの内田です. 普段オフィスではスタンディングデスクと曲面ディスプレイという環境で作業をしているのですが,秋は設備投資の季節ということで,一念発起して自宅にも曲面ディスプレイを導入しました.ディスプ…

【Zoom or Die】第2回 Hydra+Axでハイパーパラメータサーチ

こんにちは,DSOC 研究開発部の内田です. 最近すっかり秋めいてきて,短パン小僧 の私としてはちょっと寒いくらいです. 涼しくなってきたので1人で寺巡りをすることが多いのですが.そのせいで夏本番より日焼けして短パン小僧感が増す始末です. 先日同研…

Economics Meets Data Science: The Structural Estimation Series Part IV

Hola Again I’m DSOC’s Juan. It's been a while. Shockingly, it's September now (can you believe it!). I'm a big fan of astronomy since I was a child, and this year I got many chances to watch the night sky. The Perseids meteor shower was vi…

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

こんにちは。DSOC 研究開発部の 高橋寛治です。 突然ですが、みなさん MLOps を実践されていますか。私は雰囲気しか知りません。 今回はそんな MLOps について学んだ概念と一つのツールである DVC について紹介します。 また、今実際に使っている中で感じて…

© Sansan, Inc.