Sansan Tech Blog

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

DSOC R&Dにて4名の長期インターン生を受け入れました

こんにちは、DSOC R&Dグループ研究員の奥田です。学会原稿に追われて年末も会社に来て仕事をしていました。Sansanには休日出勤すると別日に休みを振替できる制度があるので、1月後半は少しのんびりしようと思います。

さて、昨年2019年の11月から12月にかけて、私が所属している部署であるDSOCにて4名の長期インターン生を受け入れましたので、その紹介をしたいと思います。

DSOC R&Dの長期インターンについて

DSOCでは2種類のインターンがあり、夏に短期集中で開催するサマーインターンシップと、不定期に受け入れている長期インターンに分けられます。サマーインターンシップが2週間の集中したプログラムなのに対し、長期インターンシップは学生の学業の都合に合わせて週2、3日程度で2ヶ月ほど実施する形となっています。長期インターンシップはその期間の中でR&Dの社員1名がメンターとなり、実際の業務内容に近いタスクに取り組んでもらいます。テーマは学生によって異なっており、それぞれ大学での研究内容や技術力等を考慮して割り当てています。

今回のインターンのテーマとしては、自然言語処理が3名、画像処理が1名となりました。この記事では、長期インターンにて取り組んでもらった内容とインターンの様子をお届けします。

インターン取り組み内容

以下では、今回のインターンに参加された4名の方の、ご自身の取り組みについてのコメントをご紹介します。

首都大学東京 大学院 / 甫立 健悟 さん

タイトル

「抽出組織名に対する曖昧さの解消」

概要

Sansanが提供する、クラウド管理サービスのSansanではニュース記事内の組織名を抽出することにより、所有名刺に基づいたニュース配信を行っています。その際、ニュース記事内の組織名に対して曖昧さの解消が必要になります。具体的には、同じ組織名の組織が複数存在する場合があり、ニュース記事内の組織名が実際にどの組織を指しているのかの特定が必要となります。私は、この組織名に対する曖昧さの解消というタスクに自然言語処理技術の一つである文の分散表現を用いて取り組みました。結果として、既存モデルよりも組織特定の精度向上を達成し、実際のサービス向けの実装まで行いました。しかし、依然として同組織名・同業種の組織に対しては特定が難しいため、同業種の組織間における曖昧さの解消が今後の課題となります。

感想

今回のインターンを通して、普段の研究とは異なり、実サービス上での課題の難しさを実感できました。特に、限られたデータの中で精度だけでなくいかに有用な知見を生み出すかというところに難しさと大切さを感じました。さらに、実装に伴いコードレビューをしていただくことで、モデルの構成での考え方など普段の研究だけでは得られないコードの書き方について多くの学びがありました。今回得た多くの知識を生かして、これからの研究を行っていきたいと思います。

東京大学大学院 / 高濱 修輔 さん

タイトル

「サービス上に登録されている企業ロゴが最新かどうかをチェックする」

概要

Sansanが提供するサービス上で企業のロゴを表示する際には、常にそれが最新のものであることが求められます。私はwebスクレイピングや画像パターンマッチングを用いて、サービス上に登録されているロゴが企業のホームページ上に存在するかを確認するシステムの改善に取り組みました。結果的に既存のシステムでは検出が難しかったロゴも取得できるようになり、1.5倍ほどの検出率の向上を達成することができました。複雑な背景を持つロゴ画像でも検知できるようにすること、スクレイピングの範囲を広げることなどが今後の課題です。

感想

既存モデルの理解から始めて現状の問題点の把握し、それに対してどのような解決策があるかを自分で考えて実装するというプロセスは非常に良い経験になりました。実データの扱いは一筋縄ではいかず難しさもありましたが、提案した改善策で実際に性能を向上させることができたのは嬉しかったです。

f:id:yag_ays:20200110110659p:plain
ロゴ画像のチェックフロー

青山学院大学大学院 / 丸山 拓己 さん

タイトル

「英語組織名抽出の改善」

概要

Sansanにはユーザーが所持している名刺の組織 (企業)がニュースになった時に、そのニュース記事をユーザーに配信する機能があります。その際、どの組織に関するニュースかを判定するために、ニュースの中から組織名を抽出する必要があります。現在、英語記事の組織名抽出はルールベースのアルゴリズムで動いています。しかし、このアルゴリズムの精度があまり高くないため、必要なニュースが配信されなかったり、関係のないニュースが配信されてしまう問題がありました。私はこの問題を解決するために、英語組織名抽出の精度改善に取り組みました。 結果として、ディープラーニングの固有表現抽出モデルを利用することにより大幅に精度の良いモデルの作成に成功しました。とりわけ、PrecisionとF1値については現在使用されているモデルの2倍以上の性能向上を達成しました。

感想

今回のインターンでは、企業での研究プロジェクトの進め方や気をつけるべきことについて多く学びました。例えば、普段はNotebookに雑に書いているコードも、次に使う人がいるので見やすいコードやドキュメントに整理しなければいけないことは、一人で研究している上ではあまり気が付けていないことでした。また、プロジェクトの進行が全く思ったようにいかず、当初の目標であるモデルのデプロイまでたどり着くことができませんでした。工数の見積もりは、そのプロジェクトでどのくらい自分が迷うかがわかっていないと正確にできないと学びました。ここで学んだことを大学の研究でも生かしていきたいと思います。お世話になった皆様、ありがとうございました。

筑波大学大学院 / 橋爪 友莉子 さん

タイトル

「企業説明文からのサービス名抽出」

概要

世の中には社名よりもサービス名の方が浸透している企業がたくさんあり、Sansan上でも、サービス名から名刺を検索したいというニーズがあります。しかし、人手ですべての企業名とすべてのサービス名を紐付けることは大変コストがかかります。そこで企業名とサービス名を自動的に紐付けるために、文章中からサービス名を抽出する機械学習モデルを作成しました。具体的には企業説明文の中から鉤括弧(「」)の付いている単語はサービス名であると仮定して抽出し、そのサービス名候補の単語がサービス名の中でもシステム名なのか、Webサイト名なのか、もしくは企業理念などサービス名ではないものなのかといった12カテゴリに分類しました。結果として精度87%で分類することができました。社名とサービス名の網羅性を高めていくために、ニュース記事など他のデータを扱うことや、人間が見ても難しい判定についてのアプローチを考えていくことが今後の課題です。

感想

手法としては一般的な文書分類と似ていますが、サービス名抽出固有の特徴に気づくことができて面白かったです。ビジネスとしての「サービス名で検索する」を叶えるための一部分に関わることができて良かったです。また、ただ精度がどうなるかだけではなく、どのようにこのプログラムが使われるか?や最終的な目的が何なのかを常に意識して進めていくことが大切だなと感じました。今後は自分の研究テーマだけでなく、技術的な手札を増やすことで様々な課題にアプローチできるように頑張ります。

インターン中の様子

f:id:yag_ays:20191225103259j:plain

f:id:yag_ays:20191226132747j:plain

まとめ

最後に、メンターを代表して奥田から今回のインターンの振り返りをさせていただきたいと思います。

今回4名のインターン生には、それぞれ手法もデータも異なったテーマに取り組んでもらいました。それぞれのバックグラウンドを活かしつつ、創意工夫しながら取り組んでもらえたのではないかと思います。みなさん優秀で、成果には目をみはるものがありました。

個人的に良かったと感じる点は、多くの学生が与えられたデータセットだけではなく、ウェブからデータを収集したり、新しいデータに対してアノテーションを行っていたことです。企業における機械学習プロジェクトでは、与えられたデータセットに閉じて取り組む必要はありません。データが少なければ自分で作ったり、ウェブでよりよいデータセットや情報が公開されていれば利用できるか検討したりと、様々な観点でタスクを捉えることが求められます。このようなアプローチは一見地味な上に時間が掛かって大変ですが、そこから得られるものはとても大きいと思います。インターン生たちも自分で手を動かして分かる苦労やタスクの難しさを感じていたようで、こうした経験が彼ら彼女らのインターン最終発表に発揮されていたと感じます。

2ヶ月という長いようで短いインターンでしたが、みなさまお疲れ様でした!

最後に

DSOC R&Dでは引き続き長期インターンで実課題に取り組んでもらえる方を募集しております。詳細は下記リンク先からご確認ください。お待ちしております!

多様な専門領域を持つ研究員がいる環境で研究開発を行う長期インターン


buildersbox.corp-sansan.com

buildersbox.corp-sansan.com

buildersbox.corp-sansan.com

© Sansan, Inc.