こんにちは。この春新卒として入社し、DSOC R&D Group に配属された橋本と佐々木です。 先日新潟県新潟市で行われた第33回人工知能学会全国大会 (JSAI2019) に Sansan は3年連続でプラチナスポンサーとして参加いたしました。 本記事では、その模様と Sansan の統計・機械学習技術の活用事例を紹介いたします。
ブース出展
2019年6月4日から6月7日にかけて行われた JSAI2019 は信濃川河口近くにある朱鷺メッセにて行われました。 参加者の数は過去最大の約2900人に登り、多くの会場が参加者で賑わっていました。
Sansanのデータ統括部門であるDSOC (Data Strategy & Operation Center)では、名刺のデータ化およびデータ利用の場面において、様々な統計・機械学習技術を活用しています。 ブースで紹介した中からいくつかをこちらでご紹介します。
Smart Captured
個人向け名刺アプリのEightでは、モバイルデバイス上でのリアルタイム名刺認識技術を使って画像から名刺を認識しています。これまでは困難だった白背景白名刺、複雑背景、影がある場面でも認識できるようにアップデートされています。ロゴ抽出技術
企業情報の視認性を向上させるために、企業情報の視認性を向上するため、アプリ上で表示する企業ロゴを画像処理で抽出しています。ロゴ抽出を「ロゴの領域かそうでないか」という領域分割のタスクとみなし、ResNet (Residual Neural Network) を用いて名刺画像中のロゴ領域を学習しています。ニュース配信のための企業名抽出
Sansanでは、名刺を交換した相手に関する人事移動情報などのニュース配信を行っています。これまでは企業名辞書を基にルールベースで文中から企業名を取得していましたが、現在は深層学習を用いた企業名抽出エンジンを開発しています。
また、機械学習技術ではありませんが、社会科学的な知見が活用されたサービスが、Sansan内で展開されているSansan Labsに導入されています。
- ビジネスマンタイプ分析
これまでに交換してきた名刺の履歴から、自身がビジネスマンとしてどういう強みを持っているか可視化するサービスです。交換した名刺から社内ネットワークを構築し、社会科学的な知見を反映したネットワーク分析を用いることで実現しています。
以上に示したのは一例ですが、Sansanでは他にも様々な機械学習技術やデータ分析技術を活用しています。
研究発表・講演の聴講
今年のJSAI2019でも数多くの研究発表がありました。その中でも橋本と佐々木が興味深いと思ったものを紹介します。
Pixyz: 複雑な深層生成モデル開発のためのフレームワーク
本発表では複雑な深層生成モデル開発のためのライブラリである pixyz の紹介をされていました。
これまでにDNNs (Deep Neural Networks) および深層生成モデルはTensorFlow、Keras、PyTorch などのフレームワークなどを用いて開発されてきましたが、特にKerasではフレームワークの抽象度が高く、複雑な深層生成モデルを開発するのには向いていません。また、近年DNNと確率分布を組み合わせて確率モデリングを行えるEdward、Pyro、TensorFlow Probability などが開発されていますが、これらは生成モデルや単純な深層生成モデル、ベイズニューラルネットワークなどは記述できる一方で複雑な深層生成モデルを記述するのは難しいです。
そこで本発表では、既存の確率的生成モデルと深層生成モデルの違いを ①DNNは確率分布に隠蔽 ②最適化する目的関数を陽に記述 ③学習方法はモデルに非依存とし、これらに対応したDistribution、Loss、Modelの3つのAPIを設計することで、ライブラリとしての可読性を向上させています。
実際にTD-VAEなどの複雑な誤差関数を持つ深層生成モデルを簡潔に書けていたので素晴らしいと思いました。また、既存の確率的生成モデルと深層生成モデルの抽象的な違いを明確にし、その思想をライブラリに落とし込めている部分が良いと思いました。深層生成モデルは実装が難解なものも多いので、本ライブラリを通して民主化されてほしいですね。今後は確率的プログラミング言語としてもさらに整備していくとのことでしたので、ウォッチし続けたいと思います。
パーシステント図に対するカーネルを用いたベイズ最適化
本発表では、グラフ構造のトポロジカル(位相的)な類似度を考えるベイズ最適化を提案しています。
ここでは、グラフ構造におけるトポロジカルな特徴の類似度を測るために、位相的データ解析で用いられるPersistence Weighted Gaussian Kernels (PWGK) やPersistence Fisher Kernel (PFK) を使っており、本発表ではグラフの連結成分やリンクの構造の類似度を測っていました。いずれのカーネルを使ってもランダムな選択より効率的に最適解を得ており、手法の有効性を実証しています。
ベイズ最適化とは直接は関係ないのですが、グラフに対する位相的な類似度を測ることができるカーネルの存在は初めて知り、大変面白いと思いました。本発表では既存の化合物の水溶性などに対してベイズ最適化を行っていましたが、新規な化合物も生成できればさらに有用になりそうです。また、Sansanでも名刺交換のネットワークをグラフとして表現できるので、例えばコミュニティ同士の類似度をこのカーネルで測れると面白そうだと感じました。
過去記憶を用いたスケーラブルなベイズ最適化
本発表では、計算量を大きく削減しかつ通常のベイズ最適化と最適化の精度が同等以上となるベイズ最適化を提案しています。
一般的にガウス過程は計算量がO(N3)であり、データの量が増えると実行速度が大きく低下するという問題点がありました。これまでベイズ最適化で用いられるガウス過程をスケーラブルにするために疎なガウス過程を用いて近似したり、代わりに計算量が少ないランダムフォレストのようなモデルにするという試みはありました。しかし、O(N)までにしか計算量を抑えられなかったり、精度の点で問題がありました。
そこで本発表では最新にすべき部分だけを更新するガウス過程を提案することで、計算量をO(1)までに削減し、通常のベイズ最適化と遜色ない最適化性能を有することを示しています。基本的なアイデアとしては極めて単純で、新しいカーネルのパラメータの影響が小さい部分は以前の予測結果を使う過去記憶というものを使っていました。また、計算量を一定にするため、更新したい領域のデータ量を一定にするという工夫を行っていました。
更新する必要のある部分だけ更新することでグラム行列の逆行列の計算量を抑えるのは単純かつ有効で着眼点が良いと思いました。
キーワード条件つき変分Autoencoderによる広告文生成
デジタル広告シェア拡大に伴って、速くかつ大量に広告文を生成することが求められています。ルールベースによる広告文生成では生成手法が単純であるほど、生成される広告文のバリュエーションが制限されるという欠点がありました。また、人間がルールを指定するため人間の発想の範疇を超えるような創発的なアイディアが出る可能性も低いです。本発表では、深層生成モデルの一種である条件付き変分 Autoencoder を用いて、キーワードによって条件づけられたバリエーションに富んだ広告文の生成に取り組んでいます。広告文生成例では、燃費というキーワードに対して「低燃費旅、妻対策」という広告文を出力しており、なかなか見ないような広告文を生成しており、面白く感じました。
単語埋め込みにおける複数視点の対義語判定
周辺文脈を予測することで学習された単語埋め込みでは、対義語がベクトル空間の近い位置に埋め込まれる問題があります。そこで本論文では、Transductive SVM を拡張することで対義の分離軸に対応する複数の対義識別面を同時に学習する手法を提案しています。今回の実験では、ペアごとに極性ラベルを設定していくと対義ペアが同じ極性ラベルになる課題があるため、同義の訓練データは対義の訓練データと単語の重複がないペアのみを用いています。正しく対義を識別するためには同義を分離しない対義識別面を学習する必要があり、その考慮が今後の課題となりそうです。
ディープラーニングを用いた暗示的怒りの自動検出手法
日本人は感情の表出を抑制する傾向があり特に怒りに関してはそれが顕著です。そこで日本語の文章から明示的な怒りだけではなく、暗示的な怒りを検出する必要があります。本発表では3つのディープニューラルネットモデルを提案し比較実験を行っています。スコアについては課題が残っていますが、今後に期待したいと思います。
機械学習における説明可能性・公平性・安全性への工学的取り組み (企画セッション)
ここでは、機械学習をシステムに組み込む際に問題となる説明可能性・公平性・安全性とそれに対する取り組みの動向について5件の講演がありました。その中でも、個人的に印象に残った公平性と安全性に関する講演について簡単に紹介します。
まず機械学習における公平性の講演ではデータ取得についてのバイアスについて、① 標本選択バイアス ②アノテーションバイアス ③帰納バイアスの3つが紹介されました。その中で、「機械学習では一般的にデータが独立同分布であるという仮定が置かれるが、実際に取得されるデータはそうでない場合が多く、これがバイアスを生む」という標本選択バイアスについての説明が印象に残りました。独立同分布を仮定しないとほとんどの機械学習モデルが使えなくなってしまうためそのようなモデルを使わないというのは難しい話ではあります。しかし、使っている機械学習モデルが要請する仮定が現実に合っているか、仮定の違いでバイアスが生まれないか等を常に考える必要があると思いました。
次に機械学習の安全性への取り組みについての講演では、自動車業界の取り組みを中心に話がありました。 この講演では、従来のソフトウェアは演繹的に設計されるため振る舞いが保証できる一方で、機械学習はデータから帰納的に振る舞いが決定されるので、単体の振る舞いは保証できないという違いを強調されていたのが特に印象に残りました。自動運転ではオープンかつノイズが多い環境でも安定して振る舞うことが求められるため、実世界における機械学習技術の運用の難しさを感じました。
Sansan の発表の様子
Sansan からは社会科学を専門とするSocSciチームの前嶋と真鍋が「名刺交換ネットワークは社会科学の未解決問題に迫れるか?」という題目で登壇し発表しました。 会場では多くの方が参加していただき、とても盛況でした。 詳しくは真鍋がブログで紹介していますので、そちらをお読みください。
参加者交流会
JSAI2019の3日目の夜に、参加者交流会が行われました。交流会には学生・教員や社会人など様々なバックグラウンドの方がいらっしゃいました。普段なかなか接点がないような業界の方ともお話することができて、刺激を受けました。
最後に
今回JSAI2019に参加して印象に残ったのは、ビジネスや現実世界の実装を志向した人工知能に関するセッションが非常に多かった点です。 今回紹介した説明可能性・公平性・安全性など、実応用の際に問題となりうる点についてのセッションだけでなく、人工知能と倫理など、社会が人工知能をどう受け容れるかについてのセッションもあり、人工知能が産業のさまざまな部分で浸透しつつあることを実感した学会となりました。 今回のJSAIで感じたことを忘れず、Sansanが人工知能コミュニティに貢献できるように研究開発に取り組んでいきたいと思います。
Sansan DSOC R&D Groupでは機械学習・データマイニング・自然言語処理・画像処理・社会科学などの専門性を持つ研究員の方を募集しています。興味のある方はぜひ こちら からご応募ください。