あなたには、その資格がある - スタディングについて - スマホで学べるオンライン通信資格講座
資格の勉強を始めたいけど、忙しくてその一歩が踏み出せない。 そんな悩みを解決するために生まれたのが、忙しい人専用の学習法「スタディング」です。 短期合格者のメソッドを詰め込んだ革新的なスマホ学習で、仕事や家事の合間でも着実に学力アップ。 忙しいあなたの毎日に寄り添う"パートナー"として、資格合格までの道のりに伴走します。
https://studying.jp/story/
今回は開発秘話シリーズの第二弾ということで、STUDYing(スタディング)のAI系機能でもある「AI検索」がテーマです。
▼スタディングについて
AI検索の開発を担当したのはSTUDYingグループのシニアエンジニアである山本さんです。AI検索で新たに活用した外部のサービスもありますので、どのような苦労があり、そしてどういった点にこだわったのかを聞いてきましたので紹介しちゃおうと思います。
▼山本さんのインタビューはこちら
AI検索機能は、受講者が調べたいキーワードを入力すると、スタディングの様々な学習コンテンツの中から最適なコンテンツを探して表示する機能です。2021年12月23日に全ての講座でリリースされました。
従来の検索機能のように単に検索キーワードをコンテンツ内で探すのではなく、AIを利用して、検索キーワードとの関連性や受講者の評価などから各ページをスコアリングし、受講者が求めているコンテンツを上位に表示します。
検索の対象は、動画講座、テキスト、練習問題、過去問などのスタディングの学習コンテンツはもちろん、質問に対する講師の回答(Q&Aサービス対象講座の場合)や、スタディングの学習プラットフォーム上で受講者自身が作成した「マイノート」や「メモ」についても横断的に検索できます。
学習中にわからないことをこれまで以上に的確にすばやく確認できるようになるため、学習効率を向上することができます。
▼AI検索に関する詳しい説明はこちら
AI検索ではクラウド検索サービスを採用しており、スタディングが持っているコンテンツをクラウド検索サービスへ連携することで、検索キーワードに対して最も関連性の高い検索結果を取得することが出来るようになっています。
スタディングでは様々な種類のコンテンツが存在しており、作成・更新が日々行われています。そのため、スタディングからクラウド検索サービスへコンテンツを随時反映する必要があったのですが、各コンテンツのデータが更新される個所を全て洗い出し、漏れなく対応しなければならなかったので苦労しましたね。中でもマイノートは更新頻度がとりわけ高いため、一定間隔で反映するように工夫しています。
もう一つ苦労したのは検索結果の表示順調整です。クラウド検索サービスの検索結果は検索キーワードに関連する各コンテンツに対してスコアリングを行い、そのスコアが高い=関連性が高いと判断されたものから順に表示されるようになっています。これが未調整の状態だと、単純に文章量が多いコンテンツが上位に表示されてしまうため、コンテンツの名前やキーフレーズ(AIが文章内から抽出した重要な単語・語句)などに対する重みづけを調整することでスコアリングを改善しました。
重みづけの調整はこうすれば正解!という作業ではないため、講座開発担当者の方々にも協力をしてもらいながら試行錯誤し、何度も調整を行いました。リリースまでに9ヶ月間かかった内の2ヶ月をこの調整作業に要しましたが、その甲斐あって受講者が求めつつ、講座開発担当者が推奨する結果を提供出来るようになりました。
リリース前の作業として、事前にクラウド検索サービスへデータ登録を行う必要がありました。登録データの管理が必要なこともあり、スタディング内のコンテンツ情報を1つの専用テーブルに集約する処理を実装しています。開発で苦労したことでも触れた通り、基本的にはコンテンツデータを随時更新していますが、初回は膨大なデータを登録する必要がありました。当時のFWや共通基盤の仕組みだけではデータを登録するまであまりにも時間がかかると予想できたので、主に各処理のオーバーヘッドを極力減らすような対応を行い高速化しました。その仕組みの一部は共通基盤に組み込んだため、以降はAI検索以外のシーンでも高速化の一環として活用しています。
もう一つはAI検索の検索条件や結果をブラウザの履歴に紐付ける形でキャッシュすることで、ページの再表示を高速にしている点です。この仕組みを利用することで、ブラウザの戻る・進むやページの再読み込みなどでAI検索の画面が再度表示された場合でも、サーバーから結果を再取得することがなく、検索時の内容がシームレスに表示されるようになっています。このキャッシュの保存はブラウザのセッションストレージを利用しているため、ブラウザやアプリ終了時に自動で削除されます。また、ストレージ容量が足りなくなった場合は古いキャッシュから順に自動で削除されるようになっています。
当社ではスタディングやAirCourseの自社サービスのインフラにAWSを採用しており、AWSの各種サービスも積極的に活用しています。AI検索の開発を開始した頃はAWSで良さそうだと考えていたサービスが日本語対応していなかったのですが、現在は既に日本語対応したものが提供されているようです。さらに改善が期待できそうであれば今利用しているクラウド検索サービスからの移行も検討していけたらいいなと思っています。
冊子版を注文していただいたお客様がAI検索があるのを知って注文をキャンセルするなんていったエピソードもあるくらい受講者からの評判も高いAI検索ですが、今後さらに強力な学習ツールに進化していけたら嬉しいですね。