ブックマーク / buildersbox.corp-sansan.com (81)

  • Sansan R&D TECH SHOWCASE -ビジネスをドライブするR&Dのウラガワ大公開-を開催しました - Sansan Tech Blog

    こんにちは、研究開発部の西田です。 週末朝9時からのバスケの練習に向かう電車の中でこの記事を執筆しています。 先週の金曜日、研究開発部の取り組みを紹介するSansan R&D TECH SHOWCASEを開催しました!その興奮が冷めやらぬうちに、イベントのハイライトをお届けします! sansan.connpass.com TECH SHOWCASEは今回が2回目の開催であり、前回は6月にポスター発表で研究開発部メンバーと会話しながら取り組み内容を紹介する形で実施しました。前回は大雨という足元の悪い中、たくさんの方にお越しいただきました。 今回は秋晴れでの開催を願っておりましたが、今回も雨...。バスケに向かう今日も雨。今日のバスケにも参加するあの運営メンバーが雨を呼んでいるのではないかと疑ってしまいます。 そんな話はさておき、今回はオフラインとオンラインのハイブリッド形式での開催でした。今

    Sansan R&D TECH SHOWCASE -ビジネスをドライブするR&Dのウラガワ大公開-を開催しました - Sansan Tech Blog
    yag_ays
    yag_ays 2023/11/14
  • hypothesis+panderaで始める、データフレームに対するProperty Based Testing - Sansan Tech Blog

    技術部 R&D研究員の前嶋です。梅雨の季節ですが、少しでも快適に過ごせるようにOnのCloud 5 wpを購入しました。水に強くて軽快な履き心地で最高ですね。(追記:この記事の公開作業をしている間に梅雨が終わってしまいました) 今回は、データフレームのテストについての記事です。 データフレームのテストをどう書くか データが中心となるサービスのネックになるのが テストをどう書くか です。というのも、データフレームは行×列の構造になっているため、入力あるいは出力値がデータフレームになるような関数が多いプログラムでは、テストケースを書くのが非常に面倒です。仕様の変更があった場合、それぞれのテスト用の疑似データに修正を加えることを考えると、より簡潔にデータフレームのバリデーションをする方法が欲しいところです。実は、データフレームのテストはProperty Based Testingという考え方と

    hypothesis+panderaで始める、データフレームに対するProperty Based Testing - Sansan Tech Blog
    yag_ays
    yag_ays 2023/11/12
  • 2023年 研究開発部 新卒技術研修 ~ テストコード編 ~ - Sansan Tech Blog

    こんにちは、研究開発部 Data Analysisグループの笛木です。 4/26(水)〜 4/28(金)で研究開発部内の技術研修を行いました。 こちらのブログの続きでテストコードについての研修資料を一部公開します。研修では新卒2年目の私が1年間で部内のコードなどから学んだ情報を共有しました。至らない部分もあるかもしれませんが、ご参考になれば幸いです。 こちらの研修で使用したGitHubのコードリンクは以下です。適宜、ご参照ください。 github.com 目次 目次 はじめに この研修の目的 研修スコープ外 テストコードについて テストコードの便利な点 テストコードの悪い例 テストコードに関するFAQ pytestによるテストコードの書き方 ファイル名 ディレクトリ 基編 Parametrize Fixture 異常系 Mock indirect conftest 知っておくと活用する場

    2023年 研究開発部 新卒技術研修 ~ テストコード編 ~ - Sansan Tech Blog
    yag_ays
    yag_ays 2023/10/26
  • 【研究開発部の技術】第3回 名刺に特化した文字認識エンジン「NineOCR」 - Sansan Tech Blog

    研究開発部Architectグループの堤と申します。新任マネージャーとして自身のキャッチアップも兼ねて、研究開発部の技術や成果物について紹介する記事を書いています。 第三弾となる今回は、Sansanの名刺データ化フローの中で使われている弊社が独自開発した名刺に特化した文字認識エンジン「NineOCR」についてご紹介します。 Sansanの名刺データ化フロー NineOCRについては日プレスリリースが出た通り、データ化範囲が名刺記載の「全項目」 1 となり、いずれの項目でも高い読み取り精度を実現しています。 独自開発の背景 名刺のデータ化では、Emailアドレスや電話番号などを1文字間違えただけでも大問題です。 Sansanでは従来より、オペレーションセンターでの人力処理とコンピュータによる処理をうまく組み合わせて、高精度を維持しつつ、コスト削減やスケーラビリティの両立を実現してきました。

    【研究開発部の技術】第3回 名刺に特化した文字認識エンジン「NineOCR」 - Sansan Tech Blog
    yag_ays
    yag_ays 2022/11/17
  • 【神山通信vol.1】神山ラボで働いています - Sansan Tech Blog

    こんにちは。 技術部研究開発部の高橋寛治です。 徳島県名西郡神山町にあるサテライト拠点の神山ラボで10月から勤務しています。 神山ラボ勤務での日常について、ざっくばらんに紹介します。 神山ラボへの通勤 今は徳島平野に住んでいます。 神山ラボへは車で通勤しています。 片道約50分の道のりです。通勤時間は橋など特定の場所で渋滞が発生します。 ある雨の日の朝は、家から2km進むのに約50分かかって心が折れ、おとなしく引き返して在宅勤務としました。 渋滞発生時間帯回避マップを必ず確認し、最適な時間と経路を地道に確立しましょう。 さて、順調に車を走らせると神山ラボに到着です。 あまり日常で運転されないかたは、県道21号か国道439号*1がいいかと思います。 地図上で距離だけを見て最短距離の経路を選ぶと、普通の人は後悔するでしょう。 また、朝と夜は動物に特に気をつけましょう。 ある日の神山ラボ(来客

    【神山通信vol.1】神山ラボで働いています - Sansan Tech Blog
    yag_ays
    yag_ays 2022/10/24
  • 「Sansan × atmaCup #12」を開催しました - Sansan Tech Blog

    記事は,Sansan Advent Calendar 2021 第18日目の記事です. こんにちは,研究開発部の内田です.いつの間にやら季節は進んで,街路樹の葉も落ちたり燻んだり,日常の風景からも寒さを感じるようになってきました.最近は,そんな日常に彩りを加えるべく,お花のサブスクリプションサービスを契約し始めました.私自身花に詳しいわけではないですが,なんとなく気分が上がるのでおすすめです. さて,エントリでは 10/15-10/24 の日程で開催いたしました「Sansan × atmaCup #12」について,遅ればせながらのレポートをお届けしたいと思います. atma.connpass.com atmaCupとは? atmaCupとは,atma株式会社 様が主催するオンサイトデータコンペティションです.データコンペティションは,主催者から出題されるデータに対して,参加者が分析・予

    「Sansan × atmaCup #12」を開催しました - Sansan Tech Blog
    yag_ays
    yag_ays 2021/12/18
  • 人事評価のためのWebアプリケーションを内製化しました - Sansan Tech Blog

    人事部 高橋 です。 記事は Sansan Advent Calendar 2021 - Adventar の10日目の記事です。 このたび、社内で人事評価に使うシステムを内製しました。 このたびと言いつつ1年ほど前から運用が始まっていたのですが、やり残し等も落ち着いたこのタイミングで記事にしてみます。 背景 従来は Kintone に人事評価のためのシステムがあり、4年ほど運用していました。Kintone の設計、カスタマイズは外注でした。 以下の要因から、システムを内製する判断が下りました。 評価設計の定期的な見直しやデータの増加に Kintone のカスタマイズ性と性能が耐えきれなくなった。 今後も人事評価の仕組みは柔軟に(同時に、効率的に入力できるように)見直していきたいという経営陣の意志があった。そのためパッケージを導入するリスクが強かった。 人事部に所属しながらWeb開発がで

    人事評価のためのWebアプリケーションを内製化しました - Sansan Tech Blog
    yag_ays
    yag_ays 2021/12/11
  • BERTによる日本語固有表現抽出の精度改善 〜BERT-CRFの紹介〜 - Sansan Tech Blog

    こんにちは、DSOC R&Dグループ インターンの笛木正雄です。大学院では離散最適化の研究室に所属しています。インターンでは、日々、知らないことだらけで、色々なことを経験させていただき、伸びしろを実感する毎日です。 現在は、SansanやEightのニュース配信に使用されている固有表現抽出(文章中から組織名を抽出するために使用)と呼ばれる自然言語処理タスクに携わっています。今回は、これまで取り組んだ固有表現抽出における精度改善の手法を紹介したいと思います。ありがたいことに、この手法は現在、プロダクトで実際に稼働しているため、思い入れのある手法です。 また、今回の手法を含め、日語固有表現抽出については、コード公開を予定しており、pipでインストールできるように現在進行中です。ご興味ある方は、お待ちいただき、合わせてご覧いただければ幸いです。 ※弊社のニュース配信における固有表現抽出タスクの

    BERTによる日本語固有表現抽出の精度改善 〜BERT-CRFの紹介〜 - Sansan Tech Blog
    yag_ays
    yag_ays 2021/09/21
  • 【Techの道も一歩から】第39回「Google App Engine で Python による WebAPI を動かす」 - Sansan Tech Blog

    ヘッダ画像 こんにちは。 DSOC R&D グループの高橋寛治です。 最近は Google App Engine(App Engine) を用いて WebAPI としてアルゴリズムを提供できるよう開発中です。 App Engine を触ったのは初めてだったため、備忘録として App Engine の概要や環境構築からデプロイまで書きたいと思います。 App Engine の説明や設定の考え方が主となります。 App Engine とは Webアプリケーションの提供のためのフルマネージド型のサーバーレスプラットフォームです。 コードを用意して App Engine 上に反映すれば、GCP 上で Webアプリケーションが稼働し利用可能になっているというイメージです。 動作環境には、スタンダード環境とフレキシブル環境があります。 それぞれ利点が異なるため、公式の比較を見ながら検討すると良いと思い

    【Techの道も一歩から】第39回「Google App Engine で Python による WebAPI を動かす」 - Sansan Tech Blog
    yag_ays
    yag_ays 2021/09/03
  • 人事異動のデータ化の取り組み 〜 CamelotによるPDFの表データ抽出 - Sansan Tech Blog

    DSOC サービス開発部 GEES/JES/COEグループの松です。 最近はコロナの影響で巣ごもりをしており、家の庭で芝生を育てています。 色々と手抜きをしてしまったがために生え揃いがまばらで、かわいい反面、芝生の上を裸足で歩けるようになるにはまだまだ時間がかかりそうです。気長に待ってみようと思います。 今日はSansanの機能の一つである、人事異動ニュースを支えるデータ化の取り組みについてご紹介したいと思います。 JES とは Sansanの機能の中に、人事異動ニュースと呼ばれる機能があります。 sin.sansan.com これは、所有する名刺に紐づく人物の人事異動が公開されたときにそれをニュースとして配信し、交換前に所有名刺の情報を最新情報に更新できるという機能です。 ニュースとして提供するために人事異動情報のデータ化を行っていますが、そのシステムがJESと呼ばれるもので、DSOC

    人事異動のデータ化の取り組み 〜 CamelotによるPDFの表データ抽出 - Sansan Tech Blog
    yag_ays
    yag_ays 2021/07/05
  • 自社スタジオ「Sansan Innovation Studio」を開設しました - Sansan Tech Blog

    こんにちは!オフィス戦略部の白鳥です。 今回は、自社スタジオ「Sansan Innovation Studio」を開設したお話をさせて頂こうと思います。 スタジオを作る事になった経緯 社の入っている青山オーバルビルの地下テナントスペースが空くという情報をキャッチしたので、部内で活用方法について議論します。 「この広さだと執務スペースには狭いかな・・・」 「大型の会議室も良いけど利用率は低そう」 「そういえばコロナ禍で配信イベントも増えてるよね」 「じゃあ配信ができるスタジオを作っちゃおう!」 決まりました! 方法は後から考えれば良く、このスピード感は重要です。 利用目的から要件を考える 次にやりたい事と必要なものを整理します。 YouTubeやZoomとかで配信したい → 相応の音響映像設備、インターネット回線 リモート参加の演者さんもいる → Zoom Rooms 持ち込み機材も使える

    自社スタジオ「Sansan Innovation Studio」を開設しました - Sansan Tech Blog
    yag_ays
    yag_ays 2021/04/22
  • 【Techの道も一歩から】第38回「Streamlit で固有表現抽出の結果を表示する」 - Sansan Tech Blog

    こんにちは。 DSOC R&D グループの高橋寛治です。 最近、部内で Streamlit による可視化を見かけるようになってきました。 Streamlit は、インタラクティブなデータの可視化に特化した Web アプリケーションを少ないコードで素早く提供することができる Python ライブラリです。 私自身は Web アプリケーションとしてデモ化する際に手慣れた Flask で書くことが多いです。 慣れているとはいえ時間を要するため、同じ結果を爆速で実現できるなら使わないわけにはいきません。 作業効率改善のために、固有表現抽出を題材にして使ってみることにしました。 今回 Streamlit で実現したいこと テキストエリアに入力されたテキストを解析し、解析結果を表に表示します。 入力エリアを準備する まずは、Streamlit をインストールし、ファイルを準備します。 $ pip in

    【Techの道も一歩から】第38回「Streamlit で固有表現抽出の結果を表示する」 - Sansan Tech Blog
    yag_ays
    yag_ays 2021/04/16
  • 【ネットワークの統計解析】第6回 論文紹介1「GCNを用いたフェイクニュースの検知」 - Sansan Tech Blog

    こんにちは. Sansan DSOC 研究開発部の黒木裕鷹です.先月も,今月も,また服を買ってしまいました. 出かける先はコンビニぐらいしかないのですが,おしゃれをすると心が躍り,陳列商品も不思議とキラキラして見えますね. さて,この連載では,自分の勉強・復習も兼ねて,ネットワークデータにまつわる統計解析を気の向くままに紹介しています. 前回の記事では,ネットワークデータに対する深層学習 (Graph Neural Network; GNN) を俯瞰し,直感的に全体像を把握するような導入をしました. 今回の記事では,番外編的に分析手法の紹介を少し離れ,グラフデータの分析を実際に応用する論文を1つ紹介したい思います. buildersbox.corp-sansan.com はじめに 論文のポイント 対象データ 作成したいネットワーク データ収集 ネットワークの作成 ノードに付随する特徴量 モ

    【ネットワークの統計解析】第6回 論文紹介1「GCNを用いたフェイクニュースの検知」 - Sansan Tech Blog
    yag_ays
    yag_ays 2021/03/31
  • 【ネットワークの統計解析】第5回 代表的なネットワークのモデルを俯瞰する (3) - Sansan Tech Blog

    こんにちは. Sansan DSOC 研究開発部の黒木裕鷹です. 2回目の緊急事態が宣言され,昇降デスクを買ったりモニターや服を買い足したりしていました. お財布は寂しいですが,在宅戦闘力が高まりなんだか良い気分です. さて,この連載では,自分の勉強・復習も兼ねて,ネットワークデータにまつわる統計解析を気の向くままに紹介しています. 前回の記事では,DeepWalkやnode2vecをはじめとするnode embeddingの手法を浅く広く紹介しました. 今回は,ネットワークデータに対する深層学習 (Graph Neural Network; GNN) を俯瞰していきます. 数式は可能な限り使わず,直感的に全体像を把握する助けとなれば良いなと思っています. それではやっていきます. はじめに ノード単位のタスクとグラフ単位のタスク グラフフィルタ spectral-based グラフフィル

    【ネットワークの統計解析】第5回 代表的なネットワークのモデルを俯瞰する (3) - Sansan Tech Blog
    yag_ays
    yag_ays 2021/02/19
  • 【Techの道も一歩から】第36回「FastAPI を使い始める」 - Sansan Tech Blog

    こんにちは。 DSOC R&D グループの高橋寛治です。 私は Python で WebAPI を開発する際には、Flask をよく利用しています。 最近は、FastAPI がいいらしいという話を同僚から聞くようになりました。 少し公式ドキュメントを覗いてみると、Flask をより便利に高機能にしたものに感じました。 これは使わねばと思い、開発環境の構築からテストまでやってみたため、ここで紹介します。 (しっかり理解したい場合は、充実した公式のチュートリアルがおすすめです。ドキュメントがしっかり整備されています。) FastAPI FastAPI は、Python の Webフレームワークです。 特徴の詳細については、公式ドキュメントに列挙されています。 以下に私が触った感想を列挙します。 記法が簡単かつ直感的 Flask と似ている箇所もあり、扱いやすいです API ドキュメントの自動生

    【Techの道も一歩から】第36回「FastAPI を使い始める」 - Sansan Tech Blog
    yag_ays
    yag_ays 2021/02/10
  • 距離の観点からノードの分散表現を俯瞰する - Sansan Tech Blog

    こんにちは、Sansan DSOC 研究開発部の保坂です。今回の記事は、弊社のアドベントカレンダーで書いた記事 で行った分析を少し丁寧にやり直してまとめたものです。 はじめに 分散表現間の距離 RPD とタスクにおける性能差との関係 RPD で計算された単語の分散表現間の関係 ノードの分散表現の学習アルゴリズム [実験] RPD でノードの分散表現間の関係を計算してみる [実験] RPD とノード分類タスクにおける性能との関係を調査する さいごに はじめに 最近では、ニュース記事などの言語データや、SNS上の友人関係のようなグラフデータを取り扱う研究がさかんになっています。これらのデータを対象にした研究がさかんになっている理由の一つとして、来数値として扱いづらい単語やノードを、その性質を保持したベクトルとして表現する分散表現と呼ばれる技術の発達があります。 しかし、実際は多様な分散表現の

    距離の観点からノードの分散表現を俯瞰する - Sansan Tech Blog
    yag_ays
    yag_ays 2021/01/28
  • 【ネットワークの統計解析】第4回 代表的なネットワークのモデルを俯瞰する (2) - Sansan Tech Blog

    こんにちは.そして,あけましておめでとうございます. Sansan DSOC 研究開発部の黒木裕鷹です. 8月下旬からはじめたこの連載も,はやいもので第4回となりました. 結構な文量をそこそこのペースで書いているような気もしますが,仕事もちゃんとしているつもりです(笑) さて,この連載では,自分の勉強・復習も兼ねて,ネットワークデータにまつわる統計解析を気の向くままに紹介しています. 前回の記事では,特に複雑ネットワークを中心として,1980から2000年代に盛んに開発されてきた手法を紹介しました. 今回からはいよいよ,ネットワークデータに対する深層学習 (Graph Neural Network; GNN) やノードの表現学習 (node embedding) を俯瞰していきたいと思います. ただし,少しボリュームが出てしまうのでさらに2回に分け,GNNの大部分は次回記事に回します. そ

    【ネットワークの統計解析】第4回 代表的なネットワークのモデルを俯瞰する (2) - Sansan Tech Blog
    yag_ays
    yag_ays 2021/01/15
  • 【Techの道も一歩から】第35回「ルールベース手法の運用時のエラーを的確に把握する」 - Sansan Tech Blog

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

    【Techの道も一歩から】第35回「ルールベース手法の運用時のエラーを的確に把握する」 - Sansan Tech Blog
    yag_ays
    yag_ays 2021/01/14
  • 「画像処理 勉強会」を開催しました - Sansan Tech Blog

    こんにちは,DSOC研究開発部の内田です. 弊社は表参道周辺にオフィスを構えており,DSOCは表参道沿いのSansan ONEに入居しています. 例年この時期になるとイルミネーションが輝くのですが,ご時世的に今年はかなり控えめで,少し寂しさを感じている今日この頃です. 記事では,先日主催いたしました「画像処理 勉強会」のレポートをお届けします. sansan.connpass.com 画像処理 勉強会 DSOC研究開発部では,機械学習・自然言語処理・社会学などの勉強会を開催しており,画像系のグループでも何か開催したいという要望があり開催する運びとなりました.最終的には,1週間前にconnpassページをオープンしたにも関わらず,293人もの方々に参加登録をいただきました!密かに弊社のconnpassの記録更新が目標だったので,ひとまず達成できてよかったです. 裏話的な話をすると,ちょうど

    「画像処理 勉強会」を開催しました - Sansan Tech Blog
    yag_ays
    yag_ays 2020/12/10
  • 【Techの道も一歩から】第34回「固有表現抽出のためのデータを作る」 - Sansan Tech Blog

    こんにちは。 DSOC 研究開発部の高橋寛治です。 記事は Sansan Advent Calendar 2020 - Adventar の初日の記事です。 クリスマスにアノテーションされたデータがプレゼントされると幸せですよね。 プレゼントを渡せるように、タグ設計やアノテーションについて、どのような考えでどうデータを作るのかを具体的に紹介します。 ただし、Advent Calendar 1日目ということでゆる~く紹介したいと思います。 最近は、固有表現抽出のアノテーションデータの説明や実際のシステム運用の知見、書籍など、固有表現抽出の情報が増えてうれしいですね。 固有表現抽出のアノテーションデータについて - NLP太郎のブログ nerman: AllenNLPOptuna で作る固有表現抽出システム - クックパッド開発者ブログ 実践・自然言語処理シリーズ 第4巻 情報抽出・固

    【Techの道も一歩から】第34回「固有表現抽出のためのデータを作る」 - Sansan Tech Blog
    yag_ays
    yag_ays 2020/12/01