全文検索「meilisearch」を用いたデモページを作りました。
こんにちは、プログラマーのskkです。
検索手法の一つである
全文検索を用いた
テキスト検索に関するデモページを
作成しましたのでそちらの紹介記事です。
https://univ-ocw-search.devcfspi.com/
・ページ説明
こちらはいくつかの大学が
youtube上で公開している
講義動画、オープンコースウェア(OCW)に対して
内容の文字起こし
↓
文字を文ごとに区切ってデータセットとして
全文検索エンジンに投入
↓
検索を行うデモページとなっております。
検索結果には
・どの動画
・何分何秒の時点での発言
・発言内容文
・該当時間へのタイムスタンプを付けたyoutubeリンク
これらを表示しています。
・使用した動画
今回検索に使用した
OCWはこちらのyoutube動画です。
同志社大学 – 小原克博「現代神学(現代神学のフロンティア──多様化する潮流)」(同志社大学 講義)
https://www.youtube.com/playlist?list=PL9TYGgYLVsAkv6o-VVwWfLg0D7mX_Wiaf
慶應義塾大学 – 【理工学部講義】半導体工学
https://www.youtube.com/playlist?list=PLBe_TIITFkIoiCIFNqMDLgiZIHci_amxy
京都大学 – 「経済史」全14回 2021年度 坂出 健(公共政策大学院 准教授)
https://www.youtube.com/playlist?list=PLD74lMZl_0Gaxv41SHiJ9Q8cqZTJ6T0qr
東京大学 – 松島 慎(2019年度「情報数理科学VII」)
https://www.youtube.com/playlist?list=PLfJ5rSgCdK97tLUOqcxjWY51DEaqVmLKS
筑波大学 – データベース概論Ⅰ
https://www.youtube.com/playlist?list=PLlNAOVqfWaDm1QGbgDAyRapGiOkWtrh1-
これらの動画リストに入っている動画全てを対象として
文字起こしから検索システムまで作成しました。
・文字起こしの手法
youtube動画の文字起こしには
1.動画の音声データ抽出
↓
2.音声の文字起こし
という手順を踏んで文字起こしを行っております。
動画の音声データから文区切りで文字起こしをしてテキスト保存までには「whisper」ツールを
使用しました。
・検索用データセット作成
今回の全文検索には「meilisearch」を用いて
検索用データセットを作成しました。
whisperで文字起こしをしたテキストデータには
[62.00s -> 64.00s] サマリーもありますし
[64.00s -> 68.00s] それから世界各国の宗教事情が
[68.00s -> 72.00s] かなり網羅的に紹介報告されています
こういった形で各行に付き、
何秒から何秒の時点での発言なのか、と発言内容がセットで登録されています。
各動画に付きそれぞれファイルが生成されています。
ここから
・発言開始の秒数
・発言内容
を切り取り、最終的に
発言一行につき
・ユニークID
・発言開始秒数
・発言内容
・どの大学かを示すコード
・動画番号(何個目の動画か)
・発言順番(動画内何個目の発言か)
・元動画のyoutube動画ID
計7項目のデータを
meilisearchにデータセットとして登録しました。
ページに表示する検索結果から
動画リンク等の表示項目の為に
複数の関連項目と合わせてデータセット登録しています。
その上でmeilisearchのオプション設定で
「searchableAttributes」で 発言内容カラムを指定して
発言内容だけ検索対象とするようにデータセットに対して追加設定しています。
また、どの大学かを示すコードを登録したのは
後の検索フォームでのオプションで
大学ごとに絞り込む為に設けました。
・ページの画面説明
実際のデモページに関しての画面説明です。
ページを開くと上部には
検索フォーム表示と
文字起こしを取得したOCWの動画一覧を表示しています。
左メニューの「about」を押すとここでも紹介したシステムの技術的説明を記載しています。
検索フォームには
・検索したい単語、言葉
・大学絞り込みプルダウン
・表示件数(5~500件)
を入力できます。
またフォームの上に
どういった言葉で検索すべきかの
検索候補をヒントとして表示しています。
コピペしてお使いください。
これらの検索候補は
動画の抜き出した文字たちを形態素に分けて
名詞の単語で、複数の大学で発言のある言葉を取り出して
表示しています。
検索ボタンを押した検索結果です。
・発言内容
検索した言葉を含む発言内容を
前後の発言を持ってきて合わせて表示しています。
・動画リンク
元となったyoutube動画へのリンクです。
URLに発言時間をタイムスタンプとして付けているので
該当の発言のある箇所へリンクします。
・動画サムネイル
埋め込みiframeで動画を表示しています。
再生ボタンを押すと該当秒数から再生します。
一件ごとにこれらの項目を表示しています。
以上の仕組みで
こちらの検索デモページは構成されております。
よければ実際に色々検索して使ってみてくださいませ☺
https://univ-ocw-search.devcfspi.com/
それでは。
Tweet