2018年10月20日土曜日

エピソードの検索機能をレベルアップしました

これまでのエピソード検索機能は画面に見ている情報だけを使って検索していました
https://kakakikikeke.com/podcast
podcast_new_search1.png

仕組みとしては jQuery の filter を使っているだけなので DOM 内で情報を絞り込みしている感じです

さすがにこれだと検索対象の情報量が少ないので検索機能をレベルアップしてみました

新しい検索機能

https://kakakikikeke.com/mypage/search
で新しい検索機能なのですが「サポータ専用の機能」として提供しています
「おい!使えんのかい」という感じですが、まだ何もサポータ専用コンテンツがなかったのでちょうどいいかなと思いサポータ専用にしてみました

上記 URL にアクセスすると Patreon のログイン画面になるのでログインします
podcast_new_search2.png

そして OAuth のアクセス許可の画面になるので「Allow」を選択します
(画像は開発用の画面なので実際の文言とは多少異なります)
podcast_new_search3.png

すると検索画面になるのでここで好きなキーワードを入力して検索しましょう
podcast_new_search4.png

検索対象

これまでは DOM に表示されている情報だけでしたが今回の新しい検索機能は以下の情報を検索対象にしています

  • タイトル
  • 概要
  • Show note
  • 文字起こししたテキスト情報

先頭 3 つはもともと情報としては持っていたものですが今回は新たに文字起こしの情報を作成しました
具体的には Google Cloud Speech API を使って各エピソードの音声情報を文字に起こしています
それを検索対象とすることで Show note にも書かれれていない内容を検索することができます

やってみた所感

正直 Google Cloud Speech API の精度があまり良くないです
原因は不明ですが音質などが影響しているかもしれません
また検索方法も表記ゆれや AND/OR 検索などには対応しておらず単純な match による検索になります
なので正直微妙です

検索の仕組みとしては Google Cloud Speech API で得られるテキストファイルをただ検索しているだけなのでテキストファイルをブラッシュアップすれば精度はあがります
まだエピソードも少ないので今後エピソードが増えてから使ってみると便利な機能に化けている可能性はありそうです

文字起こしするタイミングもどうするか悩んでいます
いつも収録後に編集する作業があるのですが、今回の検索機能を入れたせいで文字起こしの作業も必要になってしまいました
これを編集作業にプラスして毎回やるとなると結構辛いです
(しかも Google Cloud Speech API も有料というものあります、、)
ちなみに今回の作業でかかった料金は $24.86 でした
podcast_new_search5.png

もしかするとエピソードを公開するタイミングと同時に文字起こしはせず、ある程度溜めてから文字起こしするかもしれません
まぁその辺りは気分でやりたいと思います

最後に

検索機能をレベルアップしてみたのでサポータの方は使ってみてください
サポータになっても良いですよという方は以下からよろしくお願いします
https://kakakikikeke.com/supporter

まだ検索機能しか専用コンテンツがないので今後も何か増やしていこうかなと思います

0 件のコメント:

コメントを投稿