自然言語処理とグラフ理論で推薦アルゴリズムを作る考え方|バックエンドエンジニアが解説|東京のWEB制作会社・ホームページ制作会社|株式会社GIG

自然言語処理とグラフ理論で推薦アルゴリズムを作る考え方|バックエンドエンジニアが解説

2020-10-30 勉強会

こんにちは!株式会社GIG広報インターンの ich です。

GIGでは、毎月、様々なテーマで勉強会を開催しています。

コロナウイルス感染拡大抑止のため、2020年4月からはZoomを使用してのオンライン開催となりましたが、変わらず多くのメンバーが参加し、ノウハウ共有を行っています。

今回はWorkship事業部のバックエンドエンジニア坂本さんに「推薦アルゴリズム」の構築についてお話いただきました。以下でその内容をくわしくご紹介します。

坂本 昂輝(さかもと こうき):バックエンドエンジニア。大阪大学大学院情報科学研究科修士課程修了。学生時代は脳科学に関連するネットワーク研究を行う。2018年8月にGIGに入社し、バックエンドエンジニアとしてSaaS事業部に所属。その後、SkillShare事業部へ移り、機械学習およびデータ分析に従事している。

坂本さんは、アルゴリズムの作り方の一部を共有してみなさんに昇華してもらいたいという思いの元、独自のアルゴリズムの作り方を紹介してくれました。

リアルタイムに変化するレコメンドをつくる

これまで使用していた「レコメンドアルゴリズム ver.2」の問題点と解決方針を提示しながら、あらかじめ推薦ネットワークを構築しておき、その上を歩くように検索すると計算量を抑えながら適切な推薦を行えるのでは?ということを思いついた坂本さん。

実際に利用者の目線に立ち、グラフ理論などを用いながら、最終形をイメージしていきます。

また、その際に必要なのが「必須要件」と「理想」。要件を整理し、必須要件を満たす見込みのある枠組み(グラフ理論)を決定する、その枠組の中でどうすれば理想を叶えられるかを考察することが大事だと話してくれました。

これらを元にネットワークを作成したところ、色分けされた領域に、ある程度属性の近いひとたちを集めることは可能であるという仮設にたどり着きました。続いて、この仮設をどう実現していくかへと話は進みます。

より良い推薦を実現するための要件

  1. 推薦するに値しないものは推薦しない
    ・推薦ネットワーク以前に、最低条件バリアを設置
    ・そうすることで推薦するに値しない人を排除する仕組み

  2. ユーザー行動によってレコメンドをどう最適化していくか
    ・リンクを構築することで、ユーザーが新しい領域へアクセスできるようにする
    ・リンクが多くなるほど最短路を求めるための計算量が増加してしまうので、夜中にバッチを回し、あまり使用されていないリンクを消去し本当に重要なリンクのみを残す

今後の課題について「推薦ネットワークに4000人ほどのフリーランスが存在しており、一見しただけでは絶対に把握できない。そのため、グラフの可視化ツール等を使用して問題点を発見し、絶えず改善していく必要がある」と坂本さんは考えています。

GIGには、社員同士でノウハウを教え合う文化が根付いています。コロナ禍をうけ、勉強会にオンラインで参加できるように仕組み化したことで、より一層、知識の共有がしやすくなりました。

この先、会社が大きくなってもスキル高め合うを文化が続いていくよう、切磋琢磨し合える組織を目指してまいります。

GIGではgood is goodなチームを築ける仲間を募集しています!

現在、GIGでは「一緒に学びながら成長していきたい!」と意欲のある仲間を募集しています。 詳しく話を聞いてみたい方はコチラからどうぞ!

話を聞いてみたい方も歓迎です。お気軽にご連絡ください!

ich

93,生まれ/鳥取県出身/旅するフリーランス&元アドレスホッパー。GIGの広報インターン。自身でも編集やライター業などを行う。東京のおしゃれなカフェでパソコンをカタカタ打つときに幸せを感じるとのこと。人生で一番好きなものは「はちみつ味の梅干し」