(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2024-10-21
(45)【発行日】2024-10-29
(54)【発明の名称】キャプション生成プログラム、キャプション生成方法、及びキャプション生成装置
(51)【国際特許分類】
G06F 16/75 20190101AFI20241022BHJP
G06V 20/70 20220101ALI20241022BHJP
G06V 10/762 20220101ALI20241022BHJP
【FI】
G06F16/75
G06V20/70
G06V10/762
(21)【出願番号】P 2023142419
(22)【出願日】2023-09-01
【審査請求日】2023-10-05
【早期審査対象出願】
(73)【特許権者】
【識別番号】519174207
【氏名又は名称】モリカトロン株式会社
(74)【代理人】
【識別番号】110002952
【氏名又は名称】弁理士法人鷲田国際特許事務所
(72)【発明者】
【氏名】高橋 力斗
【審査官】松尾 真人
(56)【参考文献】
【文献】米国特許出願公開第2002/0188602(US,A1)
【文献】特開2013-179402(JP,A)
【文献】特開2021-056591(JP,A)
【文献】特開2008-042895(JP,A)
【文献】高橋 力斗,複数動画に対する抽象的キャプション生成のための基本モデルの検討,言語処理学会第29回年次大会発表論文集[online],言語処理学会,2023年03月06日,pp.1863~1867,Internet<URL:https://www.anlp.jp/proceedings/annual_meeting/2023/pdf_dir/B8-5.pdf>
【文献】高橋 力斗,複数映像の抽象化を要するキャプション生成,言語処理学会第28回年次大会 発表論文集 [online],言語処理学会,2022年03月07日,pp.1181~1186,Internet<URL:https://www.anlp.jp/proceedings/annual_meeting/2022/pdf_dir/E5-5.pdf>
【文献】上條 哲也,社会分析を目的としたCGM画像クラスタリング手法に関する一検討,第3回データ工学と情報マネジメントに関するフォーラム 論文集 [online],電子情報通信学会データ工学専門委員会,2011年02月27日,Internet<URL:http://db-event.jpn.org/deim2011/proceedings/pdf/c1-2.pdf>
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
G06V 20/70
G06V 10/762
(57)【特許請求の範囲】
【請求項1】
複数のコンテンツのそれぞれを包含関係を有する複数のグループに分類する分類処理と、
前記複数のグループ
ごとに新しいキャプションを生成する生成処理と、
をコンピュータに実行させるキャプション生成プログラム。
【請求項2】
複数のコンテンツの特徴量を抽出する抽出処理をさらにコンピュータに実行させ、
前記分類処理では、前記複数のコンテンツの特徴量に基づいて、前記複数のコンテンツのそれぞれを前記複数のグループに分類する、
請求項1に記載のキャプション生成プログラム。
【請求項3】
前記特徴量の抽出は、前記特徴量を抽出する方法を変更して繰返し実行される、
請求項2に記載のキャプション生成プログラム。
【請求項4】
前記抽出処理では、前記複数のコンテンツの異なる観点に対応する異なる特徴量を抽出する、
請求項2に記載のキャプション生成プログラム。
【請求項5】
前記分類処理では、階層的クラスタリングにより前記複数のコンテンツのそれぞれを前記複数のグループに分類する、
請求項1に記載のキャプション生成プログラム。
【請求項6】
前記複数のグループのうちの1つのグループに対する1つの上位グループと、前記1つのグループに対する他の上位グループは、階層関係にないグループである、
請求項1に記載のキャプション生成プログラム。
【請求項7】
ユーザにより入力された検索ワードと生成された前記キャプションとに基づいて、分類された前記複数のグループのうち、当該検索ワードに対応するグループを検索する検索処理をさらにコンピュータに実行させる、
請求項1に記載のキャプション生成プログラム。
【請求項8】
ユーザが過去に視聴又は聴取したコンテンツが属するグループに含まれる他のコンテンツを検索し、当該他のコンテンツを前記ユーザに推薦する検索処理をさらにコンピュータに実行させる、
請求項1に記載のキャプション生成プログラム。
【請求項9】
前記生成処理は、生成された前記キャプションをハッシュタグとして前記キャプションに対応するグループに含まれているコンテンツに対応付ける、
請求項1に記載のキャプション生成プログラム。
【請求項10】
コンピュータが複数のコンテンツのそれぞれを包含関係を有する複数のグループに分類するステップと、
前記コンピュータが前記複数のグループ
ごとに新しいキャプションを生成するステップと、
を含むキャプション生成方法。
【請求項11】
複数のコンテンツのそれぞれを包含関係を有する複数のグループに分類する分類部と、
前記複数のグループ
ごとに新しいキャプションを生成する生成部と、
を備えるキャプション生成装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、キャプション生成プログラム、キャプション生成方法、及びキャプション生成装置に関する。
【背景技術】
【0002】
動画、静止画、音声、又は動画、静止画、音声の組み合わせ等のコンテンツが、インターネット上のサーバ装置、スマートホン、パーソナルコンピュータなどの記憶装置メモリ内に多数存在している。
【0003】
また、動画のコンテンツに対して、機械学習を用いてキャプション(説明文)を自動生成するDense Video Captioningなどの技術が存在する(例えば、非特許文献1)。Dense Video Captioningでは、動画を一つのイベントに対応するクリップに分割し、各クリップに対してキャプションを生成する。
【0004】
また、機械学習を用いて、動画から動画特徴量を得て、得られた動画特徴量を元にキャプションを生成する技術がある。
【0005】
動画特徴量は、例えば、畳み込みニューラルネットワーク(CNN: Convolutional Neural Network)をベースとした方法(例えば、非特許文献2)、又は、トランスフォーマーをベースとした方法(例えば、非特許文献3)などを用いて抽出される。また、LSTM(Long Short-Term Memory)をベースとして、動画特徴量からキャプションを生成方法も研究されている(例えば、非特許文献4)。
【0006】
これらの技術により、動画Aに対して「大人たちが鏡の前で踊っている」というキャプションを生成し、動画Bに対して「小学生の女の子たちが体育館で踊っている」というキャプションを生成するというように、個別の動画に対してキャプションを生成することができる。
【0007】
これに対し、複数の動画に対して共通のキャプションを生成することもできる(例えば、非特許文献5)。非特許文献5の技術では、複数の動画の全てに共通する抽象的なキャプションを生成する。
【先行技術文献】
【非特許文献】
【0008】
【文献】Krishna R., Hata K., Ren F., Fei-Fei L. and Carlos Niebles J.: "Dense-Captioning Events in Videos", Proceedings of the IEEE International Conference on Computer Vision, pp.706-715(2017)
【文献】Tran D., Bourdev L., Fergus R., Torresani L. and Paluri M.: "Learning Spatiotemporal Features with 3D Convolutional Networks", Proceedings of the IEEE International Conference on Computer Vision, pp.4489-4497(2015)
【文献】Dosovitskiy A., Beyer L., Kolesnikov A., Weissenborn D., Zhai X., Unterthiner T., Dehghani M., MindererM., Heigold G., Gelly S., Uszkoreit J., Houlsby N.: "An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale", arXiv: 2010.11929(2020)
【文献】Hochreiter, S. and Schmidhuber, J.: "Long Short-Term Memory", Neural Computation, Vol.9, No.8, pp.1735-1780(1997)
【文献】高橋力斗,清丸寛一,Chu Chenhui,黒橋禎夫,“複数動画に対する抽象的キャプション生成のための基本モデルの検討”言語処理学会第29回年次大会発表論文集,pp.1963-1867(2023年3月)
【発明の概要】
【発明が解決しようとする課題】
【0009】
しかしながら、上述した従来技術では、個々のコンテンツに対して、または、複数のコンテンツに対して共通するキャプションを生成することは可能であるが、生成したキャプションと検索ワードとを照らし合わせることでコンテンツの検索を行う場合、それを効率的に行うことが難しい。
【0010】
例えば、個々のコンテンツに対してキャプションを生成する場合、検索ワードを全コンテンツのキャプションと照らし合わせる必要があり、高速な検索ができないという課題がある。
【0011】
また、複数のコンテンツに対して共通するキャプションを生成する場合、ある程度抽象化された検索ワードで検索を行うことができるが、コンテンツの内容を考慮した柔軟な検索を効率よく行えるようにすることがさらに望まれている。
【0012】
本開示は、コンテンツを効率よく検索することを可能とするキャプション生成プログラム、キャプション生成方法、及びキャプション生成装置を提供することを目的とする。
【課題を解決するための手段】
【0013】
本開示の一態様におけるキャプション生成プログラムは、複数のコンテンツのそれぞれを包含関係を有する複数のグループに分類する分類処理と、前記複数のグループに対してキャプションを生成する生成処理と、をコンピュータに実行させる。
【0014】
本開示の一態様におけるコンテンツのキャプション生成方法は、コンピュータが複数のコンテンツのそれぞれを包含関係を有する複数のグループに分類するステップと、前記コンピュータが前記複数のグループに対してキャプションを生成するステップと、を含む。
【0015】
本開示の一態様におけるキャプション生成装置は、複数のコンテンツのそれぞれを包含関係を有する複数のグループに分類する分類部と、前記複数のグループに対してキャプションを生成する生成部と、を備える。
【発明の効果】
【0016】
本開示の一実施例によれば、コンテンツを効率よく検索することを可能になる。
【図面の簡単な説明】
【0017】
【
図2】制御装置が最初に実行するキャプション生成処理のフローチャートの例を示す図
【
図3】制御装置が2回目以降に実行するキャプション生成処理のフローチャートの例を示す図
【
図4】各コンテンツに対して各特徴量でグループ化する処理の概念を示す図
【
図5】特徴量X及び特徴量Yを同時に用いてグループ化する処理の概念を示す図
【
図8】コンテンツが複数の最下位グループに含まれている例を示す図
【
図9】新たな下位のグループが作成された例を示す図
【
図10】グループに分類されたコンテンツを表示するウインドウの例を示す図
【
図11】コンテンツを表示するウインドウの例を示す図
【発明を実施するための形態】
【0018】
(実施形態)
以下、図面を適宜参照して、本開示の実施形態について、詳細に説明する。
【0019】
[情報処理装置100の構成]
図1は、情報処理装置100の例を記載した図である。
【0020】
情報処理装置100は、制御装置110、記憶装置120、入力装置130、出力装置140、及び通信装置150を備える。ここで、入力装置130、出力装置140は、情報処理装置100の外部に設けられていても良い。情報処理装置100は、例えば、パーソナルコンピュータ、スマートホン、タブレット端末などの端末装置、又はサーバ装置である。情報処理装置100は、クラウド上に存在していてもよい。
【0021】
制御装置110は、CPU(Central Processing Unit)、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)などの回路で構成され、抽出部110a、分類部110b、生成部110c、及び検索部110dを備える。
【0022】
抽出部110aは、複数のコンテンツの特徴量を抽出する。コンテンツとは、動画、静止画、音声、又は動画、静止画、音声の組み合わせなどである。特徴量とは、コンテンツの特徴を表す量である。特徴量は、通常複数の変数を含み、複数の変数はベクトルで表される。
【0023】
動画特徴量の抽出には、例えば、非特許文献2、又は非特許文献3などに記載されている方法など、公知の特徴量の抽出方法を用いることができる。音声の特徴量、又は静止画の特徴量の抽出も公知の方法を利用することができる。コンテンツが、動画、静止画、音声の組み合わせである場合は、動画特徴量、静止画の特徴量、音声の特徴量を組み合わせてもよい。また、作成日時や撮影場所に基づくグルーピングを行うため、作成日時や撮影場所を特徴量として抽出してもよい。
【0024】
分類部110bは、複数のコンテンツの特徴量に基づいて、複数のコンテンツのそれぞれを、包含関係を有する複数のグループに分類する。
【0025】
例えば、分類部110bは、階層的クラスタリングにより、複数のコンテンツを分類する。階層的クラスタリングとは、機械学習における教師なし学習の一つであり、特定のルールに基づいて、複数の要素を階層化されたグループ(クラスタ)に分類する処理である。この処理では、例えば、コンテンツの特徴量の類似度に基づいて分類が行われる。また、類似度の算出には、例えば、最近傍探索が用いられる。
【0026】
階層的クラスタリングでは、全てのコンテンツは、少なくとも1つのグループに含まれる。また、階層的クラスタリングでは、コンテンツの数が増加すると、階層的クラスタリングの階層の数が増加する。また、ユーザが最下位グループに含まれるコンテンツの数を少ない数に指定することによっても、階層的クラスタリングの階層の数が増加する。
【0027】
ここで、コンテンツは、複数のグループに含まれていてもよい。各グループには、所定範囲の数のコンテンツが含まれてもよい。所定範囲の上限数を超えるコンテンツが含まれるグループでは、そのグループに包含される下位グループを作成することが必要である。また、所定範囲の上限数を超えるコンテンツが含まれるグループは、複数のグループに分割されてもよい。所定範囲は、入力装置130によりユーザから入力されてもよい。
【0028】
また、所定範囲の下限数よりも少ないコンテンツを含むグループは、他のグループと合併されてもよい。さらに、所定範囲の下限数よりも少ないコンテンツを含むグループが解消され、当該グループに含まれているコンテンツが、当該グループの上位グループに直接含まれるようにされてもよい。
【0029】
なお、階層的クラスタリングでは、上位グループには、複数の下位グループが含まれる。ただし、以下に説明するように、下位グループが、複数の上位グループに含まれるようにしてもよい。
【0030】
また、各上位グループには、所定範囲の数の下位グループが含まれてもよい。この場合、所定範囲の上限数を超える下位グループが含まれる上位グループは、複数のグループに分割される。所定範囲の下限数よりも少ない下位グループが含まれる上位グループは、他のグループと合併される。上位グループに含まれる下位グループの数の設定範囲と、各グループに含まれるコンテンツの数の設定範囲とは、異なっていてもよい。
【0031】
生成部110cは、分類部110bにより各コンテンツが分類された複数のグループに対してキャプションを生成する。
【0032】
例えば、生成部110cは、非特許文献5に記載されている公知の技術を用いて、各グループに含まれている複数のコンテンツの全てに共通する抽象的なキャプションを各グループに対して生成する。
【0033】
この場合、上位グループほど、より抽象的なキャプションが生成され、下位グループほど、より具体的なキャプションが生成される。
【0034】
なお、上位グループのキャプションは、上位グループに含まれているコンテンツに基づいて生成されてもよいし、上位グループに含まれている下位グループのキャプションに基づいて生成されてもよい。
【0035】
検索部110dは、ユーザが視聴しているコンテンツの情報、又は、ユーザにより入力された検索ワードに基づいて、コンテンツの検索を行う。
【0036】
例えば、検索部110dは、ユーザが過去に視聴又は聴取したコンテンツが属するグループに含まれる他のコンテンツを検索し、当該他のコンテンツをユーザに推薦する情報を出力装置140に表示させる。ユーザが視聴又は聴取したコンテンツの履歴情報は記憶装置120に記憶されているものとする。
【0037】
また、検索部110dは、入力装置130からユーザにより入力された検索ワードとグループに対して生成されたキャプションとに基づいて、複数のグループのうち、当該検索ワードに対応するグループを検索し、検索結果を出力装置140に表示させる。検索部110dによる検索処理の例については、後に詳しく説明する。
【0038】
記憶装置120は、SSD(Solid State Drive)、ハードディスク装置などの装置であり、各種プログラム、コンテンツ、コンテンツの特徴量、及び生成部110cにより生成されたキャプションなどを記憶する。記憶装置120は、情報処理装置100とネットワークで接続された外部装置上に存在してもよい。
【0039】
入力装置130は、タッチパネル、キーボードなどの装置であり、情報処理装置100のユーザからの情報の入力を受け付ける。
【0040】
出力装置140は、情報を表示するディスプレイなどの装置であり、例えば、各グループに分類されたコンテンツなどを表示する。なお、出力装置140は、入力装置130と一体となったタッチパネルディスプレイであってもよい。
【0041】
通信装置150外部装置との間でネットワークを介して通信を行う。当該ネットワークは、LAN(Local Area Network)であってもよいし、インターネットであってよい。
【0042】
[キャプション生成処理のフローチャート]
図2は、制御装置110が最初に実行するキャプション生成処理のフローチャートの例を示す図である。制御装置110は、例えば、キャプション生成プログラムを実行することにより、キャプション生成処理を実行する。
【0043】
制御装置110の抽出部110aは、記憶装置120内に記憶されている動画などの各コンテンツの特徴量を1つの方法で抽出する(ステップS201)。なお、抽出部110aは、予め記憶装置120内に記憶されている特徴量を読み出すこととしてもよい。
【0044】
例えば、この方法は、動画に含まれている人物の顔についての特徴量を抽出する公知の方法であり、この特徴量を用いて階層的クラスタリングを行うことにより、女性、男性、日本人の男性、ロシア人の女性など、人物を階層関係を有する複数のグループに分類することができる。
【0045】
そして、抽出部110aは、他の方法で特徴量を抽出するかを判断する(ステップS202)。抽出部110aは、他の方法で特徴量を抽出するかどうかの入力をユーザから受け付けて上記判断を行ってもよいし、予め特徴量を抽出する方法が設定されていて、すべての方法で特徴量の抽出が行われたか否かを判断することにより上記判断を行ってもよい。
【0046】
例えば、他の方法とは、動画に映っている人物の動作についての特徴量を抽出する公知の方法であり、この特徴量を用いて階層的クラスタリングを行うことにより、ゲームで遊んでいる、ダンスを踊っている、踊っているなど、人物の動作を階層関係を有する複数のグループに分類することができる。
【0047】
このように特徴量を抽出する観点を変更することにより、動画に登場する人物についての階層関係を有する複数のグループ、動画に映っている人物の動作についての階層関係を有する複数のグループなど、階層関係を有する異なるグループ群が生成される。
【0048】
例えば、後に説明する
図7の「女性がダンスを踊っている」コンテンツについては、人物の観点からは「女性」のグループに分類され、動作の観点からは「ダンスを踊っている」というグループに分類される。
【0049】
女性のグループには、「女性がゲームで遊んでいる」というグループもあるが、「踊っている」というグループは、「女性」のグループのうち、「女性がダンスを踊っている」というグループとのみ階層関係を有し、「女性がゲームで遊んでいる」というグループとは階層関係にない。
【0050】
このように、異なる観点で特徴量を抽出し、階層的クラスタリングを行った結果得られる異なるグループ群を結合することにより、必ずしも階層関係にない複数のグループへの分類も可能となる。
【0051】
ステップS202において、他の方法で特徴量を抽出すると判断した場合(ステップS202,Yes)、ステップS201の処理に戻り、抽出部110aは、他の方法で各コンテンツの特徴量を抽出する。
【0052】
ステップS202において、他の方法で特徴量を抽出しないと判断した場合(ステップS202,No)、分類部110bは、抽出した特徴量に基づいて、複数のコンテンツに対し、階層的クラスタリングを適用する(ステップS203)。
【0053】
ここでの階層的クラスタリングは、1つの方法でのみ特徴量を抽出した場合はその特徴量から階層関係を有するグループ群を生成する処理であるが、複数の方法で特徴量を抽出した場合は、前述のように、複数の方法で抽出された特徴量のそれぞれから階層関係を有する異なるグループ群を生成し、それらのグループ群を結合する処理となる。
【0054】
そして、生成部110cは、階層的クラスタリングの結果得られた各グループに対してキャプションを生成し(ステップS204)、このキャプション生成処理は終了する。
【0055】
例えば、生成部110cは、特許文献5に開示された公知の技術を用いて、各グループに含まれているコンテンツに対して共通するキャプション、すなわちグループに対するキャプションを生成する。
【0056】
ここで、上位グループのキャプションは、当該上位グループに含まれるコンテンツまたは下位グループのキャプションよりも抽象的なキャプションである。つまり、下位グループのキャプションは、上位グループのキャプションよりも具体的なキャプションである。
【0057】
図3は、制御装置110が2回目以降に実行するキャプション生成処理のフローチャートの例を示す図である。この処理は、例えば、1つ以上のコンテンツが追加又は削除されたタイミングや、予め設定された定期または不定期のタイミングで実行される。
【0058】
まず、制御装置110の抽出部110aは、新たなコンテンツが記憶装置120に保存されたか否か判定する(ステップS301)。新たなコンテンツとは、保存されているコンテンツが変更された場合も含む。
【0059】
新たなコンテンツが記憶装置120に保存された場合(ステップS301,Yes)、抽出部110aは、新たなコンテンツについて特徴量を抽出する(ステップS302)。そして、分類部110bは、新たなコンテンツおよび既存のコンテンツの特徴量に基づいて、階層的クラスタリングを実行する(ステップS303)。ステップS303において、追加されたコンテンツは、既存のグループに分類されてもよいし、新たなグループが生成されてもよい。
【0060】
ステップS301において、新たなコンテンツが記憶装置120に保存されていない場合(ステップS301,No)、及びステップS303を実行すると、ステップS304の処理が実行される。
【0061】
その後、抽出部110aは、所定範囲の上限数を超えるコンテンツを含むグループがあるか否か判定する(ステップS304)。グループに含まれるコンテンツの数を数える際、下位グループを1つのコンテンツとして数えても良いし、下位グループに含まれていないコンテンツだけを数えても良い。所定範囲とは、グループに含まれる適切なコンテンツの数の範囲である。グループに含まれるコンテンツの数が所定範囲に設定されているから、グループの数はコンテンツの数に応じて決定される。
【0062】
コンテンツの追加により、所定範囲の上限数を超えるコンテンツを含むグループがあると判定した場合(ステップS304,Yes)、抽出部110aは、当該グループに含まれているコンテンツについて、各コンテンツの特徴量を抽出する(ステップS305)。
【0063】
そして、分類部110bは、ステップS305で抽出した特徴量に基づいて、階層的クラスタリングを実行し(ステップS306)、さらに生成部110cは、各グループに対してキャプションを生成するステップS307)。ステップS306及びステップS307の処理により、コンテンツ数が上限数を超えるグループのコンテンツは、当該グループの下位グループに分類され、コンテンツ数が上限数以下となるように調整される。
【0064】
ステップS307の処理の後、又は、ステップS304において上限数を超えるコンテンツを含むグループがないと判定された場合(ステップS304,No)、抽出部110aは、所定範囲の下限数より少ないコンテンツを含むグループがあるか否か判定する(ステップS308)。
【0065】
コンテンツの削除により、所定範囲の下限数より少ないコンテンツを含むグループがあると判定した場合(ステップS308,Yes)、分類部100bは、当該グループを解消し、当該グループに含まれているコンテンツを上位グループに統合し(ステップS309)、このキャプション生成処理は終了する。
【0066】
ステップS308において、下限数より少ないコンテンツのグループがないと判定された場合(ステップS308,No)、そのままこのキャプション生成処理は終了する。
【0067】
[階層的クラスタリングの例]
図4は、各コンテンツに対し、観点Aに対応する特徴量X及び観点Bに対応する特徴量Yを抽出して各特徴量でグループ化する処理の概念を示す図である。
図4において、各コンテンツは黒丸で示されており、観点Aに対応する特徴量Xと、観点Bに対応する特徴量Yが抽出されている。なお、3つ以上の観点で特徴量が抽出されてもよい。また、特徴量X及び特徴量Yは、通常、複数の変数の組み合わせである。
【0068】
特徴量Xに関して距離が近いコンテンツ同士は、一つのグループに分類される。例えば、各コンテンツは、特徴量Xを用いてグループ411、グループ412、及びグループ420の3つにグループ化される。また、例えば、グループ411及びグループ412は上位グループ410にまとめられる。
【0069】
特徴量Yに関して距離が近いコンテンツ同士も、一つのグループに分類される。例えば、各コンテンツは、特徴量Yを用いてグループ450、グループ461、グループ462、グループ463、及びグループ470の5つにグループ化される。グループ470は、含まれるコンテンツの数が少ないため、グループ化されなくてもよい。また、例えば、グループ461、グループ462、及びグループ463は上位グループ460にまとめられる。
【0070】
特徴量Xを用いてあるグループに分類されたコンテンツは、特徴量Yを用いて分類されたグループにも属し得る。すなわち、コンテンツは、異なる特徴量に基づいて分類された2つのグループに属し得る。
【0071】
また、
図4の例では、特徴量Xに関する階層的クラスタリングと特徴量Yに関する階層的クラスタリングが順に行われる場合について説明したが、特徴量X及び特徴量Yを同時に用いて階層的クラスタリングが実行されてもよい。
図5は、特徴量X及び特徴量Yを同時に用いてグループ化する処理の概念を示す図である。
【0072】
特徴量X及び特徴量Yの両方に関して距離が近いコンテンツ同士は、一つのグループに分類される。例えば、各コンテンツは、特徴量X及び特徴量Yを用いて、グループ511~513、521~522、531~536、541~542にグループ化される。
【0073】
この場合、上位グループの作成は、例えば、以下のようにして行われる。
図6は、階層化された各グループの関係を示す図である。
【0074】
例えば、グループ511、グループ512、及びグループ521は、特徴量Yに関する距離が近いのでまとめられ、上位グループ610として設定することができる。また、グループ521、グループ541、グループ542、及びコンテンツ522は、特徴量Xに関する距離が近いのでまとめられ、上位グループ670として設定することができる。
【0075】
このような処理を繰り返すことにより、階層化されたグループが生成される。そして、複数のコンテンツが各グループに分類されると、制御装置110は、各グループに対してキャプションを生成する。
【0076】
以下に、具体的な例を用いて説明する。
図7は、階層的クラスタリングの具体例を示す図である。前述のように、階層的クラスタリングは、例えば、異なる観点で抽出された特徴量の類似度に基づいて行われ、類似度の検出には、最近傍探索が用いられる。
【0077】
「女性がゲームで遊んでいる」というキャプションが生成されたグループ(以下、「女性がゲームで遊んでいる」グループという。)には、7つのコンテンツが含まれている。「女性がダンスを踊っている」グループには、6つのコンテンツが含まれている。「阿波踊りを踊っている」グループには、9つのコンテンツが含まれている。「ロシア人の男性がコサックを踊っている」グループには、7つのコンテンツが含まれている。
【0078】
「女性がゲームで遊んでいる」グループ、及び「女性がダンスを踊っている」グループは、上位グループである「女性」グループに含まれる。一方、「阿波踊りを踊っている」グループ、及び「ロシア人の男性がコサックを踊っている」グループは、上位グループである「世界各国の伝統舞踊」グループに含まれる。
【0079】
さらに、「女性がダンスを踊っている」グループと「世界各国の伝統舞踊」グループは、上位グループである「踊っている」グループに含まれる。
【0080】
ここで、「女性」グループ及び「踊っている」グループは、「女性がダンスを踊っている」グループの上位グループであるが、「女性」グループと「踊っている」グループには上位グループと下位グループの関係はない。
【0081】
しかし、「女性」グループの下位グループである「女性がダンスを踊っている」グループは、別のグループである「踊っている」グループに含まれている。このように、グループは単純なツリー構成ではなく、グループには複数の上位グループが存在していてもよい。
【0082】
このような分類は、例えば、「女性」といった、コンテンツに含まれている人物の観点と、「踊っている」といった、コンテンツで行われている動作の観点という異なる観点でクラスタリングを行うことにより実行される。
図4の例に当てはめると、観点Aが「人物」であり、観点Bが「動作」である。
【0083】
クラスタリングを行う観点は、例えば、コンテンツに含まれている人物、コンテンツで行っている動作の他、コンテンツを撮影した場所、コンテンツの作成日時、コンテンツの長さ、コンテンツのデータ量、コンテンツの種類(動画、音声等)などである。その他、様々な観点でクラスタリングを行うことができる。
【0084】
人物に注目する特徴量の抽出方法、動作に注目する特徴量の抽出方法等、特徴量を抽出する方法を変更することで、抽出する特徴量を変更することができる。作成日時や撮影した場所を特徴量として抽出してもよい。
【0085】
様々な観点、すなわち特徴量を抽出する方法を変更して繰り返して特徴量を抽出することにより、様々な観点でクラスタリングを行い、上位グループ、下位グループを作成することができる。その結果、各コンテンツは、様々なグループに含まれるようになる。
【0086】
また、複数の観点を組合せて、新たなグループを作成することもできる。
【0087】
例えば、コンテンツを撮影した場所の観点として「高円寺」又は「徳島」と、コンテンツで行っている動作の観点でクラスタリングされた「阿波踊り」のクラスタリングを組み合わせて、「高円寺の阿波踊り」グループと「徳島の阿波踊り」グループを作成することができる。また、コンテンツを撮影した場所の観点でクラスタリングされた「高円寺」グループ又は「徳島」グループが存在してもよい。「徳島の阿波踊り」グループの上位グループとして、「阿波踊りを踊っている」グループと、「徳島」グループの2つが存在していてもよい。
【0088】
図7では、各コンテンツが、1つの最下位グループに含まれている例を示しているが、以下に説明するように、コンテンツが複数の最下位グループに含まれていてもよい。
【0089】
図8は、コンテンツが複数の最下位グループに含まれている例を示す図である。
【0090】
図8には、阿波踊りを踊っている女性に関する2つのコンテンツが、「阿波踊りを踊っている」グループ、及び、「女性がダンスを踊っている」グループの両方に含まれている例が示されている。
【0091】
「阿波踊りを踊っている女性」グループに含まれているコンテンツの数が減少して、「阿波踊りを踊っている女性」グループが解消され、「阿波踊りを踊っている女性」グループの上位グループである「阿波踊りを踊っている」グループ、及び「女性がダンスを踊っている」グループに統合された結果、
図8のような状態となる場合もある。
【0092】
図9は、新たな下位のグループが作成された例を示す図である。
【0093】
例えば、各グループに最大15のコンテンツを含むことができる場合について説明する。なお、各グループに最下位グループが含まれる場合、1つの最下位グループは1つのコンテンツとして数えられる。ここで、新たなコンテンツが追加されて、「阿波踊りを踊っている」グループが例えば30のコンテンツを含むこととなった場合、新たな最下位のグループを作成することが必要である。
【0094】
この場合、例えば、場所の観点でクラスタリングを行って、
図9に示すような「高円寺で阿波踊りを踊っている」という最下位グループと「徳島で阿波踊りを踊っている」グループを新たに生成する。さらに、「徳島で阿波踊りを踊っている」グループに含まれるコンテンツを、例えば、人物の観点でクラスタリングを行って、「阿波踊りを踊っている阿波連」と「阿波踊りを踊っている阿呆連」という最下位グループを新たに生成する。
【0095】
これにより、「阿波踊りを踊っている」グループには、3つの最下位グループと、9つのコンテンツが含まれることになり、最大15というコンテンツ数の条件を満たすことができる。
【0096】
一方、コンテンツが削除されて、グループに含まれるコンテンツの数が所定範囲の下限数より少なくなった場合、当該グループを削除して、当該グループに含まれるコンテンツが上位グループに直接含まれるようにしてもよい。また、当該グループに含まれるコンテンツと、他のグループに含まれているコンテンツとを含む新たなグループが生成されてもよい。
【0097】
[分類されたコンテンツの表示の例]
クラスタリングされた動画は、例えば、グループ毎に、情報処理装置100の出力装置140に表示される。
図10は、グループに分類されたコンテンツを表示するウインドウ1000の例を示す図である。このウインドウ1000は、制御装置110の制御により、出力装置140に表示される。
【0098】
ウインドウ1000には、グループ1010、現在グループのキャプション1020、上位グループ1030が表示されている。グループ1010は、例えば「徳島で阿波踊りを踊っている」グループである。
【0099】
グループ1010には、コンテンツ1011~1015及び下位グループ1016、1017が含まれている。例えば、下位グループ1016は「阿波踊りを踊っている阿波連」グループであり、下位グループ1017は「阿波踊りを踊っている阿呆連」グループである。下位グループ1016、1017は、下位グループ1016、1017のキャプションと共に表示されている。
【0100】
なお、ウインドウ1000には、グループ1010に含まれている全部のコンテンツ及び下位グループが表示されていてもよいし、一部のコンテンツ及び下位グループが表示されていてもよい。
【0101】
また、コンテンツ1011~1015のキャプションが表示されてもよいし、キャプションが表示されるコンテンツとキャプションが表示されないコンテンツが混在していてもよい。
【0102】
さらに、コンテンツ1011~1015がクリックされることで、当該コンテンツ1011~1015の内容が表示されてもよいし、下位グループ1016、1017がクリックされることで、当該下位グループ1016、1017のウインドウが表示されてもよい。
【0103】
現在グループのキャプション1020は、ウインドウ1000に表示されているグループ1010に対して生成されたキャプションである。
【0104】
上位グループ1030は、ウインドウ1000に表示されているグループ1010に対する上位グループを示す情報である。上位グループ1030には、すぐ上の上位グループだけが表示されてもよいし、さらに上位の上位グループが表示されてもよい。また、複数の上位グループが表示されてもよい。「踊っている-世界各国の伝統舞踊-阿波踊りを踊っている」のように最上位のグループから順に表示されてもよいし、「徳島-四国-日本」のように上位グループから最上位のグループへ順に表示されてもよい。
【0105】
複数の上位グループが表示される場合、いずれかの上位グループがクリックされることで、当該上位グループに対応するウインドウが表示されてもよい。
【0106】
また、下位グループ1016、1017及び上位グループ1030は、どちらか片方が表示されてもよいし、両方が表示されてもよい。
【0107】
また、ウインドウ1000は、
図7に示すようなグループ間の関係が表示された画面において、ウインドウ1000に対応するグループがクリックされることにより表示されてもよい。
【0108】
図11は、コンテンツを表示するウインドウ1100の例を示す図である。
【0109】
例えば、
図10のコンテンツ1015をクリックした場合に、制御装置110の制御により、出力装置140にウインドウ1100が表示される。
【0110】
ウインドウ1100には、例えば、コンテンツ1110、キャプション1120、上位グループ1130、下位グループ1140,次コンテンツ1150が表示される。なお、ウインドウ1100には、他の情報が表示されてもよいし、一部の情報が表示されなくてもよい。
【0111】
コンテンツ1110は、
図10のウインドウ1000において選択されたコンテンツである。なお、コンテンツ1110は、
図10のウインドウ1000において選択されて再生されているコンテンツであってもよい。また、コンテンツ1110がクリックされることにより、コンテンツ1110が再生されてもよい。
【0112】
キャプション1120は、コンテンツ1110に対応するグループのキャプションである。また、キャプション1120には、コンテンツ1110が属するグループのうち、最下位グループが表示されていてもよい。さらに、キャプション1120をクリックすることにより、現在のグループに含まれる他のコンテンツまたは下位グループが表示されてもよい。
【0113】
上位グループ1130には、コンテンツ1110が属するグループの上位グループの情報が表示される。また、さらに上位の上位グループが表示されてもよいし、複数の上位グループが表示されてもよい。また、上位グループ1130をクリックすることにより、上位グループ1130に含まれるコンテンツまたは上位グループ1130の下位グループ(現在のグループを含む)の情報が表示されてもよい。
【0114】
下位グループ1140には、コンテンツ1110が属するグループに含まれる下位グループが表示される。なお、下位グループ1140には、複数のグループが表示されてもよい。また、下位グループ1140がクリックされることにより、下位グループ1140に含まれるコンテンツまたは下位グループ1140のさらに下位グループが表示されてもよい。
【0115】
次コンテンツ1150には、コンテンツ1110が属するグループに含まれている次のコンテンツが表示されている。次のコンテンツは、ユーザによって予め設定された順序に従って決定されてもよいし、ランダムに決定されてもよい。また、次コンテンツ1150には、次のコンテンツが属するグループが表示されてもよい。さらに、次コンテンツ1150がクリックされることにより、次コンテンツ1150が表示されてもよい。
【0116】
また、
図7に示すようなグループ間の関係が表示された画面においてグループがクリックされることにより、当該グループに含まれる任意のコンテンツが制御装置110によって選択され、
図11に示すウインドウ1100に当該コンテンツが表示されるようにしてもよい。
【0117】
このように、出力装置140が、コンテンツ1110が含まれているキャプション1120を表示するとともに、上位グループ1130及び下位グループ1140をそれらのキャプションと共に表示することにより、ユーザが大量のコンテンツの中から目的のコンテンツを容易に見つけ出すことができる。
【0118】
[コンテンツの検索処理の例]
前述のように、制御装置110の検索部110dは、ユーザの過去のコンテンツの閲覧履歴を記憶した履歴情報を参照し、ユーザの興味のあるコンテンツ又はグループを検索して推薦してもよい。検索部110dがユーザに推薦するコンテンツは、当該ユーザが過去に閲覧したコンテンツの最下位グループに含まれているコンテンツ、又は当該ユーザが過去に閲覧したコンテンツの上位グループに含まれているコンテンツであってもよい。
【0119】
例えば、
図7の「女性がゲームで遊んでいる」グループ及び「女性がダンスを踊っている」グループ、及び「女性がサッカーをしている」グループ(図示せず)の上位グループとして、「女性」グループが存在しているとする。そして、検索部110dは、ユーザが過去に閲覧したコンテンツの履歴情報を記憶装置120から取得するものとする。
【0120】
この場合、検索部110dは、ユーザが過去に閲覧したコンテンツが「女性がゲームで遊んでいる」グループに含まれているか否かを判定し、ユーザが過去に閲覧したコンテンツが「女性がゲームで遊んでいる」グループに含まれている場合に、「女性がゲームで遊んでいる」グループに含まれる他のコンテンツを検索してユーザに推薦する情報を出力装置140に表示する。
【0121】
また、検索部110dは、ユーザが過去に閲覧したコンテンツが「女性がゲームで遊んでいる」グループに含まれているコンテンツ、及び「女性がダンスを踊っている」グループに含まれているコンテンツであれば、「女性」グループに含まれている他の下位グループ又は当該下位グループに含まれているコンテンツ(例えば「女性がサッカーをしている」グループに含まれているコンテンツ)をユーザに推薦する情報を出力装置140に表示してもよい。
【0122】
また、前述のように、検索部110dは、ユーザから入力された検索ワード及び、生成されたキャプションに基づいて、分類された複数のグループのうち、入力された検索ワードに対応するグループを検索してもよい。
【0123】
[キャプションのハッシュタグへの利用]
制御装置110の生成部110cは、分類部110bにより分類されたグループに対してキャプションを生成するが、さらに生成されたキャプションを、ハッシュタグとして当該キャプションに対応するグループに含まれているコンテンツに対応付けて記憶装置120に記憶してもよい。
【0124】
例えば、多くの動画投稿サイトでは動画と投稿する際に、投稿者がハッシュタグを付して投稿しているが、投稿者がハッシュタグを付け忘れたり、不要なハッシュタグを付したりすることも多い。
【0125】
そのため、生成部110cは、生成したキャプションを動画投稿サイトの情報入力欄に、ハッシュタグとして追加する。これにより、動画に適切なハッシュタグを付すことができる。なお、生成部110cは、様々な観点で階層的クラスタリングを行い、キャプションを生成するので、様々な観点でハッシュタグを付することができる。
【0126】
本開示により、大量のコンテンツに対して適切なクラスタリングを行い、各グループに含まれているコンテンツに共通なキャプションを生成すること可能となる。また、本開示により、大量の動画から目的の動画を高速に検索することができる。
【0127】
なお、上記実施の形態では、情報処理装置100の抽出部100aが複数のコンテンツの特徴量を抽出し、分類部100bが複数のコンテンツの特徴量に基づいて、複数のコンテンツのそれぞれを、包含関係を有する複数のグループに分類することとしたが、複数のコンテンツの特徴量について既に得られた情報を分類部100bが他の装置から取得して記憶装置120に記憶し、その情報に基づいて複数のコンテンツのそれぞれを上記複数のグループに分類することとしてもよい。
【0128】
以上、本発明に係る実施形態について図面を参照して詳述してきたが、上述した情報処理装置100の機能は、コンピュータプログラムにより実現され得る。
【産業上の利用可能性】
【0129】
本開示の情報処理装置は、コンテンツのキャプション生成に有用である。
【符号の説明】
【0130】
100 情報処理装置
110 制御装置
120 記憶装置
130 入力装置
140 出力装置
150 通信装置
1000、1100 ウインドウ
1010 グループ
1011、1012、1013、1014、1015、1110 コンテンツ
1016、1017、1140 下位グループ
1020、1120 現在グループのキャプション
1030、1130 上位グループ
1150 次コンテンツ
【要約】 (修正有)
【課題】個々のコンテンツに対して、または、複数のコンテンツに対して、共通するコンテンツを生成した場合でも、コンテンツを効率よく検索できるようにするキャプション生成プログラム、キャプション生成方法、及びキャプション生成装置を提供する。
【解決手段】本願に係るキャプション生成プログラムは、複数のコンテンツのそれぞれを包含関係を有する複数のグループに分類する分類処理(S201~S203)と、前記複数のグループに対してキャプションを生成する生成処理(S204)と、をコンピュータに実行させる。
【選択図】
図2