(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-26
(45)【発行日】2024-09-03
(54)【発明の名称】ストリーミングメディアからのデータの変換
(51)【国際特許分類】
G06F 16/638 20190101AFI20240827BHJP
G06F 16/683 20190101ALI20240827BHJP
【FI】
G06F16/638
G06F16/683
(21)【出願番号】P 2022568898
(86)(22)【出願日】2021-09-24
(86)【国際出願番号】 US2021051864
(87)【国際公開番号】W WO2022093453
(87)【国際公開日】2022-05-05
【審査請求日】2023-01-11
(32)【優先日】2020-10-30
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】100108453
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】ヤーッコ・ヘンリッキ・ティーストラ
【審査官】甲斐 哲雄
(56)【参考文献】
【文献】米国特許出願公開第2006/0212897(US,A1)
【文献】米国特許出願公開第2008/0201361(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
G10L 13/00-99/00
(57)【特許請求の範囲】
【請求項1】
第1のオーディオを取得するステップと、
検索可能なデータベースに前記第1のオーディオのテキスト転写を記憶するステップと、
第2のオーディオを含むメディアコンテンツを取得するステップと
、
前記第2のオーディオ内の話し言葉を検出するステップと、
前記第2のオーディオの1つまたは複数のオーディオ特性を分析するステップと、
前記1つまたは複数のオーディオ特性の前記分析に基づいて前記話し言葉の中から1つまたは複数の単語の重要性を調整するステップと、
前記話し言葉を表すテキストコンテンツを生成するステップと、
前記1つまたは複数の単語を表す前記テキストコンテンツに、前記1つまたは複数の単語の前記調整された重要性を割り当てるステップと、
前記検索可能なデータベースの検索に基づいて、前記第2のオーディオの前記テキストコンテンツが前記第1のオーディオの前記テキスト転写と一致すると決定するステップと、
前記第2のオーディオの前記テキストコンテンツが前記第1のオーディオの前記テキスト転写と一致するという前記決定に応答して、拡張コンテンツストリームを作成するために前記第1のオーディオを前記メディアコンテンツに挿入するステップと
を含む、コンピュータ実装方法。
【請求項2】
第1のオーディオを取得するステップと、
検索可能なデータベースに前記第1のオーディオのテキスト転写を記憶するステップと、
第2のオーディオを含むメディアコンテンツを取得するステップと、
前記第2のオーディオをテキストコンテンツに変換するステップと、
前記検索可能なデータベースの検索に基づいて、前記第2のオーディオの前記テキストコンテンツが前記第1のオーディオの前記テキスト転写と一致すると決定するステップと、
前記第2のオーディオの前記テキストコンテンツが前記第1のオーディオの前記テキスト転写と一致するという前記決定に応答して、拡張コンテンツストリームを作成するために前記第1のオーディオを前記メディアコンテンツに挿入するステップと、
前記第2のオーディオの除外ゾーンを識別するステップと、
前記第2のオーディオの前記テキストコンテンツから前記除外ゾーン中に話された単語を省略するステップと
を含む、コンピュータ実装方法。
【請求項3】
前記第1のオーディオの前記テキスト転写に基づいて前記第1のオーディオの第1のコンテキストを決定するステップと、
前記第2のオーディオの前記テキストコンテンツに基づいて前記第2のオーディオの第2のコンテキストを決定するステップと
をさらに含み、
前記第2のオーディオの前記テキストコンテンツが前記第1のオーディオの前記テキスト転写と一致すると決定するステップが、前記第1のコンテキストが前記第2のコンテキストと一致すると決定するステップを含む、請求項1
または2に記載の方法。
【請求項4】
前記第2のオーディオの前記1つまたは複数のオーディオ特性を分析するステップが、前記1つまたは複数の単語の強調の可聴インジケーションを検出するステップを含み、
前記1つまたは複数の単語の前記重要性を調整するステップが、強調の前記可聴インジケーションに基づいて前記1つまたは複数の単語の前記重要性を高めるステップを含み、
前記第2のオーディオの前記第2のコンテキストを決定するステップが、前記1つまたは複数の単語を表す前記テキストコンテンツに割り当てられた前記1つまたは複数の単語の前記調整された重要性に基づいて、前記第1のオーディオのトピックを決定するステップを含む、請求
項1に従属する請求項3に記載の方法。
【請求項5】
1つまたは複数のオーディオ特性を分析するステップが、前記第2のオーディオ内のホストの声によって話された前記話し言葉の第1の部分と、前記第2のオーディオ内のゲストの声によって話された前記話し言葉の第2の部分とを区別するステップを含み、
前記1つまたは複数の単語の前記重要性を調整するステップが、前記話し言葉の前記第2の部分の前記重要性に対して、前記話し言葉の前記第1の部分の前記重要性を高めるステップを含む、請求項4に記載の方法。
【請求項6】
前記第2のオーディオ内の製品名を検出するステップと、
前記第2のオーディオの前記テキストコンテンツから、前記第2のオーディオ内の前記製品名の位置の指定された時間の長さ内に話された単語を省略するステップと
をさらに含む、請求
項1または2に記載の方法。
【請求項7】
1つまたは複数のプロセッサと、
命令を含む1つまたは複数のメモリ要素と
を備え、前記命令は、実行されると、前記1つまたは複数のプロセッサに、
第1のオーディオを取得することと、
検索可能なデータベースに前記第1のオーディオのテキスト転写を記憶することと、
第2のオーディオを含むメディアコンテンツを取得することと
、
前記第2のオーディオ内の話し言葉を検出することと、
前記第2のオーディオの1つまたは複数のオーディオ特性を分析することと、
前記1つまたは複数のオーディオ特性の前記分析に基づいて前記話し言葉の中から1つまたは複数の単語の重要性を調整することと、
前記話し言葉を表すテキストコンテンツを生成することと、
前記1つまたは複数の単語を表す前記テキストコンテンツに、前記1つまたは複数の単語の前記調整された重要性を割り当てることと、
前記検索可能なデータベースの検索に基づいて、前記第2のオーディオの前記テキストコンテンツが前記第1のオーディオの前記テキスト転写と一致すると決定することと、
前記第2のオーディオの前記テキストコンテンツが前記第1のオーディオの前記テキスト転写と一致するという前記決定に応答して、拡張コンテンツストリームを作成するために前記第1のオーディオを前記メディアコンテンツに挿入することと
を含む動作を実行させる、システム。
【請求項8】
1つまたは複数のプロセッサと、
命令を含む1つまたは複数のメモリ要素と
を備え、前記命令は、実行されると、前記1つまたは複数のプロセッサに、
第1のオーディオを取得することと、
検索可能なデータベースに前記第1のオーディオのテキスト転写を記憶することと、
第2のオーディオを含むメディアコンテンツを取得することと、
前記第2のオーディオをテキストコンテンツに変換することと、
前記検索可能なデータベースの検索に基づいて、前記第2のオーディオの前記テキストコンテンツが前記第1のオーディオの前記テキスト転写と一致すると決定することと、
前記第2のオーディオの前記テキストコンテンツが前記第1のオーディオの前記テキスト転写と一致するという前記決定に応答して、拡張コンテンツストリームを作成するために前記第1のオーディオを前記メディアコンテンツに挿入することと、
前記第2のオーディオの除外ゾーンを識別することと、
前記第2のオーディオの前記テキストコンテンツから前記除外ゾーン中に話された単語を省略することと、
を含む動作を実行させる、システム。
【請求項9】
前記動作が、
前記第1のオーディオの前記テキスト転写に基づいて前記第1のオーディオの第1のコンテキストを決定することと、
前記第2のオーディオの前記テキストコンテンツに基づいて前記第2のオーディオの第2のコンテキストを決定することと
をさらに含み、
前記第2のオーディオの前記テキストコンテンツが前記第1のオーディオの前記テキスト転写と一致すると決定することが、前記第1のコンテキストが前記第2のコンテキストと一致すると決定することを含む、請求
項7または8に記載のシステム。
【請求項10】
前記第2のオーディオの前記1つまたは複数のオーディオ特性を分析することが、前記1つまたは複数の単語の強調の可聴インジケーションを検出することを含み、
前記1つまたは複数の単語の前記重要性を調整することが、強調の前記可聴インジケーションに基づいて前記1つまたは複数の単語の前記重要性を高めることを含み、
前記第2のオーディオの前記第2のコンテキストを決定することが、前記1つまたは複数の単語を表す前記テキストコンテンツに割り当てられた前記1つまたは複数の単語の前記調整された重要性に基づいて、前記第1のオーディオのトピックを決定することを含む、請求
項7に従属する請求
項9に記載のシステム。
【請求項11】
1つまたは複数のオーディオ特性を分析することが、前記第2のオーディオ内のホストの声によって話された前記話し言葉の第1の部分と、前記第2のオーディオ内のゲストの声によって話された前記話し言葉の第2の部分とを区別することを含み、
前記1つまたは複数の単語の前記重要性を調整することが、前記話し言葉の前記第2の部分の前記重要性に対して、前記話し言葉の前記第1の部分の前記重要性を高めることを含む、請求
項10に記載のシステム。
【請求項12】
前記動作が、
前記第2のオーディオ内の製品名を検出することと、
前記第2のオーディオの前記テキストコンテンツから、前記第2のオーディオ内の前記製品名の位置の指定された時間の長さ内に話された単語を省略することと
をさらに含む、請求
項7または8に記載のシステム。
【請求項13】
分散コンピューティングシステムによって実行されると、前記分散コンピューティングシステムに、
第1のオーディオを取得することと、
検索可能なデータベースに前記第1のオーディオのテキスト転写を記憶することと、
第2のオーディオを含むメディアコンテンツを取得することと
、
前記第2のオーディオ内の話し言葉を検出することと、
前記第2のオーディオの1つまたは複数のオーディオ特性を分析することと、
前記1つまたは複数のオーディオ特性の前記分析に基づいて前記話し言葉の中から1つまたは複数の単語の重要性を調整することと、
前記話し言葉を表すテキストコンテンツを生成することと、
前記1つまたは複数の単語を表す前記テキストコンテンツに、前記1つまたは複数の単語の前記調整された重要性を割り当てることと、
前記検索可能なデータベースの検索に基づいて、前記第2のオーディオの前記テキストコンテンツが前記第1のオーディオの前記テキスト転写と一致すると決定することと、
前記第2のオーディオの前記テキストコンテンツが前記第1のオーディオの前記テキスト転写と一致するという前記決定に応答して、拡張コンテンツストリームを作成するために前記第1のオーディオを前記メディアコンテンツに挿入することと
を含む動作を実行させる命令でエンコードされたコンピュータ可読記憶媒体。
【請求項14】
分散コンピューティングシステムによって実行されると、前記分散コンピューティングシステムに、
第1のオーディオを取得することと、
検索可能なデータベースに前記第1のオーディオのテキスト転写を記憶することと、
第2のオーディオを含むメディアコンテンツを取得することと、
前記第2のオーディオをテキストコンテンツに変換することと、
前記検索可能なデータベースの検索に基づいて、前記第2のオーディオの前記テキストコンテンツが前記第1のオーディオの前記テキスト転写と一致すると決定することと、
前記第2のオーディオの前記テキストコンテンツが前記第1のオーディオの前記テキスト転写と一致するという前記決定に応答して、拡張コンテンツストリームを作成するために前記第1のオーディオを前記メディアコンテンツに挿入することと、
前記第2のオーディオの除外ゾーンを識別することと、
前記第2のオーディオの前記テキストコンテンツから前記除外ゾーン中に話された単語を省略することと
を含む動作を実行させる命令でエンコードされたコンピュータ可読記憶媒体。
【請求項15】
前記動作が、
前記第1のオーディオの前記テキスト転写に基づいて前記第1のオーディオの第1のコンテキストを決定することと、
前記第2のオーディオの前記テキストコンテンツに基づいて前記第2のオーディオの第2のコンテキストを決定することと
をさらに含み、
前記第2のオーディオの前記テキストコンテンツが前記第1のオーディオの前記テキスト転写と一致すると決定することが、前記第1のコンテキストが前記第2のコンテキストと一致すると決定することを含む、
請求
項13または14に記載のコンピュータ可読記憶媒体。
【請求項16】
前記第2のオーディオの前記1つまたは複数のオーディオ特性を分析することが、前記1つまたは複数の単語の強調の可聴インジケーションを検出することを含み、
前記1つまたは複数の単語の前記重要性を調整することが、強調の前記可聴インジケーションに基づいて前記1つまたは複数の単語の前記重要性を高めることを含み、
前記第2のオーディオの前記第2のコンテキストを決定することが、前記1つまたは複数の単語を表す前記テキストコンテンツに割り当てられた前記1つまたは複数の単語の前記調整された重要性に基づいて、前記第1のオーディオのトピックを決定することを含む、請求
項13に従属する請求
項15に記載のコンピュータ可読記憶媒体。
【請求項17】
1つまたは複数のオーディオ特性を分析することが、前記第2のオーディオ内のホストの声によって話された前記話し言葉の第1の部分と、前記第2のオーディオ内のゲストの声によって話された前記話し言葉の第2の部分とを区別することを含み、
前記1つまたは複数の単語の前記重要性を調整することが、前記話し言葉の前記第2の部分の前記重要性に対して、前記話し言葉の前記第1の部分の前記重要性を高めることを含む、請求
項16に記載のコンピュータ可読記憶媒体。
【請求項18】
前記動作が、
前記第2のオーディオ内の製品名を検出することと、
前記第2のオーディオの前記テキストコンテンツから、前記第2のオーディオ内の前記製品名の位置の指定された時間の長さ内に話された単語を省略することと
をさらに含む、請求
項13または14に記載のコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2020年10月30日に出願された米国仮出願第63/107,943号に対する優先権を主張する。前述の出願の開示は、参照によりその全体が本明細書に組み込まれる。
【背景技術】
【0002】
本明細書は、ストリーミングメディアの特徴を検出するための、ストリーミングメディアからのデータの処理および変換に関する。
【発明の概要】
【課題を解決するための手段】
【0003】
一般に、本明細書で説明する主題の革新的な態様の1つは、第1のオーディオを取得するステップと、検索可能なデータベースに第1のオーディオのテキスト転写を記憶するステップと、第2のオーディオを含むメディアコンテンツを取得するステップと、第2のオーディオをテキストコンテンツに変換するステップと、検索可能なデータベースの検索に基づいて、第2のオーディオのテキストコンテンツが第1のオーディオのテキスト転写と一致すると決定するステップと、第2のオーディオのテキストコンテンツが第1のオーディオのテキスト転写と一致するという決定に応答して、拡張コンテンツストリームを作成するために第1のオーディオをメディアコンテンツに挿入するステップとを含む方法において具現化することができる。
【0004】
いくつかの実装形態では、本方法は、第1のオーディオのテキスト転写に基づいて第1のオーディオの第1のコンテキストを決定するステップと、第2のオーディオのテキストコンテンツに基づいて第2のオーディオの第2のコンテキストを決定するステップとを含む。第2のオーディオのテキストコンテンツが第1のオーディオのテキスト転写と一致すると決定するステップは、第1のコンテキストが第2のコンテキストと一致すると決定するステップを含むことができる。
【0005】
いくつかの実装形態では、第2のコンテンツをテキストコンテンツに変換するステップは、第2のオーディオ内の話し言葉を検出するステップと、第2のオーディオの1つまたは複数のオーディオ特性を分析するステップと、1つまたは複数のオーディオ特性の分析に基づいて話し言葉の中から1つまたは複数の単語の重要性を調整するステップと、話し言葉を表すテキストコンテンツを生成するステップと、1つまたは複数の単語を表すテキストコンテンツに、1つまたは複数の単語の調整された重要性を割り当てるステップとを含む。いくつかの実装形態では、第2のオーディオの1つまたは複数のオーディオ特性を分析するステップは、1つまたは複数の単語の強調の可聴インジケーションを検出するステップを含む。1つまたは複数の単語の重要性を調整するステップは、強調の可聴インジケーションに基づいて1つまたは複数の単語の重要性を高めるステップを含むことができる。第2のオーディオのコンテキストを決定するステップは、1つまたは複数の単語を表すテキストコンテンツに割り当てられた1つまたは複数の単語の調整された重要性に基づいて、第1のオーディオのトピックを決定するステップを含むことができる。
【0006】
いくつかの実装形態では、1つまたは複数のオーディオ特性を分析するステップは、第2のオーディオ内のホストの声によって話された話し言葉の第1の部分と、第2のオーディオ内のゲストの声によって話された話し言葉の第2の部分とを区別するステップを含むことができる。1つまたは複数の単語の重要性を調整するステップは、話し言葉の第2の部分の重要性に対して、話し言葉の第1の部分の重要性を高めるステップを含むことができる。
【0007】
いくつかの実装形態では、本方法は、第2のオーディオの除外ゾーンを識別するステップと、第2のオーディオのテキストコンテンツから除外ゾーン中に話された単語を省略するステップとを含む。本方法は、第2のオーディオ内の製品名を検出するステップと、第2のオーディオのテキストコンテンツから、第2のオーディオ内の製品名の位置の指定された時間の長さ内に話された単語を省略するステップとをさらに含むことができる。
【0008】
この態様の他の実施形態は、方法のアクションを実行するように構成され、コンピュータストレージデバイスにエンコードされた、対応するシステム、装置、およびコンピュータプログラムを含む。
【0009】
ユーザが要求して消費するメディアコンテンツは、通常、テキスト形式で提供され、既存のシステムは、テキストベースの特性データを使用してコンテンツを分析および選択するように調整されている。テキストベースではないメディアの追加のメディアコンテンツをマッチングして選択する現在の方法は、メディアコンテンツジェネレータによって手動で提供されることが多いコンテキストデータ(たとえば、テキストメタデータの形式)に依存する。しかしながら、テキストベースのシステムは、メディアコンテンツにマッチングさせる、および/またはそれを選択するために実際のオーディオ/ビデオメディアコンテンツ自体を利用しない。これにより、リソースが浪費される可能性があり、たとえば、コンテンツに割り当てられたコンテキストデータがコンテンツを不正確に説明したり、コンテンツの適切な説明を提供できなかったりする場合、これは、ストリーミングされているメディアコンテンツのコンテキストにおいて役に立たないコンテンツの配信につながる可能性があるため、追加のメディアコンテンツをストリーミングする必要が生じ、ネットワーク帯域幅、処理能力およびメモリの使用量、ならびにバッテリの使用量(たとえば、モバイルデバイス)などの追加のリソースが消費される可能性がある。
【0010】
以下の説明では、非テキストのストリーミングメディアコンテンツを、ストリーミングメディアコンテンツとともに提示するコンテンツを選択できる形式に変換することによって、コンテンツがネットワーク経由で送信されるかどうかを制御するメカニズムを改善するための様々な技法およびシステムについて説明する。本明細書に記載される主題の特定の実施形態は、以下の利点のうちの1つまたは複数を実現するために実装することができる。たとえば、システムは、非テキストコンテンツがオーディオコンテンツに対応するという決定に基づいて、ストリーミングメディアコンテンツアイテムとともにオーディオコンテンツの選択をユーザに提示できるようにするために、テキストマッチングメカニズムにおいて非テキストコンテンツを使用できるようにする。
【0011】
本明細書で説明されている技法は、ストリーミングメディアコンテンツ内で話された単語を超えた様々なオーディオ特性に基づいて、ストリーミングメディアコンテンツ(たとえば、ポッドキャストなどのオーディオコンテンツ)の変換を強化することができる。たとえば、本明細書で論じる技術は、ストリーミングメディアプログラム(たとえば、ポッドキャスト)のホストとポッドキャストのゲストとを区別することができる。誰が話しているかというこの区別を使用して、本明細書で説明されている技法は、ストリーミングメディアプログラムで提示する追加のコンテンツを選択する目的で、ホストによって議論されたトピックのみが使用されるように、ゲストによって話された単語をフィルタ処理することができる。場合によっては、ゲストによって話された単語を省略するのではなく、ホストによって話された単語をゲストによって話された単語よりも高く重み付けして、それによってホストによって話された単語をより強調することができる。これらの状況のいずれにおいても、システムは、ゲストによって議論されているトピックと比較して、ホストによって議論されているトピックを強調することができ、これはホストによって議論されているトピックに関連する追加のコンテンツを識別するシステムの機能を強化し、話者間で区別がなされなかった場合に発生し得る意味論的ドリフトを防ぐ。
【0012】
本明細書で説明する技法はまた、話者の識別以外のオーディオ特性に基づいて、ストリーミングメディアコンテンツ(たとえば、ポッドキャスト)において話された単語の変換を強調することによって、従来のシステムを超える改善を提供する。たとえば、ストリーミングメディアコンテンツ内の検出された単語に強調(または、重要性の他の指標)を埋め込む(または、割り当てる)ために、他の単語に対するいくつかの単語の音量を使用することができ、それによって、ストリーミングメディアコンテンツとともに提示するための追加のコンテンツ(たとえば、デジタルコンポーネント)を選択するために使用される情報を強化する。場合によっては、単語に割り当てられた強調は、その単語の音量、他の話し言葉に対するピッチの変化、またはその単語の周囲で検出された無音の量に比例(たとえば、正比例または反比例)することができる。これにより、テキストマッチングメカニズムに入力できるストリーミングメディアコンテンツのオーディオに関するより豊富な情報が提供され、ストリーミングメディアコンテンツの主題と提示用に選択された追加のコンテンツとの間のより正確な一致が提供される。
【0013】
追加の非テキストコンテンツを作成者が手動で選択し、特定のメディアコンテンツアイテムに統合する必要がある既存の技法は時間がかかり、作成者がアクセスまたは知識を有している追加のコンテンツに限定される。非テキストコンテンツをテキストベースのシステムによって処理およびマッチングすることができる形式に変換することによって、説明されている技法により、追加のコンテンツのより多様で包括的な選択、ならびに改善され、より調整されたコンテンツ選択へのアクセスが可能になる。既存のインフラおよびシステムを使用できるため、説明されている技法は、コンテンツマッチングおよび選択のプロセスをトレーニングおよび改善するために必要なリソースを削減し、非テキストコンテンツシステムが、テキストベースのコンテンツマッチングおよび選択のために使用される既存のシステムにとって利用可能な蓄積された知識を利用することを可能にする。さらに、記載された技法は、その他の方法でコンテンツ作成者によって提供された手動で入力されたユーザ定義のコンテキストデータのみを使用して可能になるよりも、コンテンツ全体を分析することによって、より狭く調整されたコンテンツを可能にする。
【0014】
さらに、追加のオーディオコンテンツを識別および選択するためにコンテキストを使用することで、不適切なコンテンツの配信を防ぎ、それによって無駄なリソースを減らすことができる。説明されている技法は、不適切で配信されるべきではないコンテンツの配信に費やされるリソースの量を削減し、ネットワーク全体でコンテンツをより効率的に提供し、説明されている技法は、コンテンツを実際に消費(聴取および/または閲覧)していないエンティティへのコンテンツの配信を防ぐ。言い換えれば、ネットワーク帯域幅、プロセッササイクル、および/または割り当てられたメモリなどのコンピューティングリソースは、配信されるべきではないコンテンツを配信するためにこれらのリソースを使用することによって浪費されることはない。
【0015】
本明細書に記載される主題の1つまたは複数の実施形態の詳細は、添付の図面および以下の説明に示される。主題の他の特徴、態様、および利点は、説明、図面、および特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【0016】
【
図1】デジタルコンポーネント配信システムが拡張コンテンツストリームを作成する例示的な環境のブロック図である。
【
図2】改善されたコンテンツマッチングおよび選択のためのコンテンツ変換方法のデータフローを示す図である。
【
図3】コンテンツ変換を使用したコンテンツマッチングおよび選択の例示的なプロセスの流れ図である。
【
図4】例示的なコンピュータシステムのブロック図である。
【発明を実施するための形態】
【0017】
様々な図面における同様の参照番号および名称は、同様の要素を示す。
【0018】
本明細書は、非テキストコンテンツを、テキストベースのマッチングシステムが提示するために非テキストコンテンツを選択することを可能にする形式に変換する技法およびシステムについて説明する。たとえば、以下で詳しく説明するように、ポッドキャスト(たとえば、ホストと、多くの場合はゲストを含むオーディオプログラム)は、本明細書で説明する技法を使用して分析することができ、また、ポッドキャストで提示するためのデジタルコンポーネントまたは他のコンテンツを選択できるようにするために、ポッドキャストのオーディオ面の変換を作成することができる。
【0019】
いくつかの実装形態では、デジタルコンポーネントはオーディオ形式であり、デジタルコンポーネントのオーディオが取得される。デジタルコンポーネントのオーディオのテキスト転写は、テキスト検索可能なデータベースに記憶することができる。ポッドキャストなどのオーディオを含むメディアコンテンツが取得され、テキストコンテンツに変換される。以下でより詳細に説明するように、話された単語だけでなく、メディアコンテンツの様々なオーディオ特性を反映するために、テキストコンテンツの変換をエンコード(または、強調)することができる様々な方法がある。検索可能なデータベースを検索して、メディアコンテンツと、メディアコンテンツとともに配信するために利用可能な1つまたは複数のデジタルコンポーネントとの一致を見つけるために、メディアコンテンツの変換が使用される。デジタルコンポーネントは、拡張コンテンツストリームを作成するためにメディアコンテンツに挿入され、メディアコンテンツを要求したユーザに配信される。本明細書で説明する技法は、メディアコンテンツが提示されているときに検索可能なデータベースの検索を強化するために、追加情報(たとえば、ユーザ固有の情報、現在のイベント情報、または他の情報)を使用することができるように、ユーザがメディアコンテンツを要求するときに実行することができ、それによって、個々のユーザごとに、および/または経時的に変化する情報に基づいて、修正できる動的メディアアイテムを提供する。
【0020】
本明細書を通じて、ユーザ(他のタイプのユーザの中でも、エンドユーザ、コンテンツジェネレータ、またはコンテンツプロバイダなど)は、本明細書に記載されているシステム、プログラム、または機能がユーザ情報(たとえば、ユーザのソーシャルネットワーク、ソーシャルアクション、または活動、職業、ユーザの好み、あるいはユーザの現在地に関する情報)の収集を有効にし得るかどうか、およびいつ有効にするか、ならびにユーザがサーバからコンテンツまたは通信を送信されかどうかの両方をユーザが選択できるようにする制御を提供される場合がある。さらに、特定のデータは、個人を特定できる情報が削除されるように、記憶または使用される前に1つまたは複数の方法で処理され得る。たとえば、ユーザのIDは、そのユーザの個人を特定できる情報を決定できないように処理される場合もあり、ユーザの特定の位置を決定できないように、ユーザの地理的な位置が、位置情報が取得される場所(都市、郵便番号、または州レベルなど)で一般化される場合もある。したがって、ユーザは、ユーザに関して収集される情報、その情報が使用される方法、およびユーザに提供される情報を制御し得る。
【0021】
図1は、デジタルコンポーネント配信システム110が拡張コンテンツストリームを作成する例示的な環境100のブロック図である。例示的な環境100は、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、インターネット、またはそれらの組合せなどのネットワーク102を含む。ネットワーク102は、電子ドキュメントサーバ104(「Electronic Doc Servers」)、ユーザデバイス106、およびデジタルコンポーネント配信システム110(DCDS110とも呼ばれる)を接続する。例示的な環境100は、多くの異なる電子ドキュメントサーバ104およびユーザデバイス106を含み得る。
【0022】
ユーザデバイス106は、ネットワーク102を介してリソース(たとえば、電子ドキュメント)を要求および受信することができる電子デバイスである。例示的なユーザデバイス106は、パーソナルコンピュータ、ウェアラブルデバイス、スマートスピーカ、タブレットデバイス、モバイル通信デバイス(たとえば、スマートフォン)、スマート家電、およびネットワーク102を介してデータを送受信することができる他のデバイスを含む。いくつかの実装形態では、ユーザデバイスは、可聴情報をユーザに出力するスピーカと、ユーザからの可聴入力(たとえば、話し言葉入力)を受け入れるマイクロフォンとを含むことができる。ユーザデバイスはまた、入力を提出するため、および/または入力に応答して提供される出力を受信するための対話型音声インターフェースを提供するデジタルアシスタントを含むことができる。ユーザデバイス106はまた、視覚情報(たとえば、テキスト、画像、および/またはビデオ)を提示するディスプレイを含むことができる。ユーザデバイス106は、通常、ネットワーク102を介したデータの送受信を容易にするために、ウェブブラウザなどのユーザプリケーションを含むが、ユーザデバイス106によって実行されるネイティブアプリケーションもまた、ネットワーク102を介したデータの送受信を容易にすることができる。
【0023】
ユーザデバイス106は、ブラウザまたはオペレーティングシステムなどのソフトウェアを含む。いくつかの実装形態では、ソフトウェアは、ユーザがネットワーク102などのネットワークを通じて情報にアクセスすることと、サーバから情報を取得することと、ユーザデバイス106のディスプレイ上に情報を表示することとを可能にする。いくつかの実装形態では、ソフトウェアは、ユーザデバイス106のハードウェアおよびソフトウェアリソースを管理し、ユーザデバイス106上の他のプログラムに共通のサービスを提供する。ソフトウェアは、プログラムとユーザデバイスのハードウェアとの間の仲介者として機能することができる。
【0024】
電子ドキュメントは、たとえばユーザデバイス106においてコンテンツのセットを提示するデータである。電子ドキュメントの例は、ウェブページ、ワードプロセッシングドキュメント、ポータブルドキュメントフォーマット(PDF)ドキュメント、画像、ビデオ、検索結果ページ、およびフィードソースを含む。モバイル、タブレット、またはデスクトップコンピューティングデバイスにインストールされたアプリケーションなどのネイティブアプリケーション(たとえば、「アプリ」)も、電子ドキュメントの例である。電子ドキュメント105(「電子ドキュメント」)は、電子ドキュメントサーバ104によってユーザデバイス106に提供することができる。たとえば、電子ドキュメントサーバ104は、発行者のウェブサイトをホストするサーバを含むことができる。この例では、ユーザデバイス106は、所与の発行者ウェブページに対する要求を開始することができ、所与の発行者ウェブページをホストする電子ドキュメントサーバ104は、ユーザデバイス106において所与のウェブページの提示を開始するマシンハイパーテキストマークアップ言語(HTML)コードを送信することによって、要求に応答することができる。
【0025】
電子ドキュメントは、様々なコンテンツが含まれる場合がある。たとえば、電子ドキュメント105は、電子ドキュメント自体の中にある、および/または経時的に変化しない静的コンテンツ(たとえば、テキストまたは他の指定されたコンテンツ)を含むことができる。電子ドキュメントはまた、経時的に、または要求ごとに変化し得る動的コンテンツを含むことができる。たとえば、所与の電子ドキュメントの発行者は、電子ドキュメントの一部を入力するために使用されるデータソースを維持することができる。この例では、所与の電子ドキュメントは、所与の電子ドキュメントがユーザデバイス106によって処理される(たとえば、レンダリングまたは実行される)ときに、ユーザデバイス106にデータソースからのコンテンツを要求させるタグまたはスクリプトを含むことができる。ユーザデバイス106は、データソースから取得したコンテンツを含む複合電子ドキュメントを作成ために、データソースから取得したコンテンツを所与の電子ドキュメントの提示に統合する。本明細書で参照されるメディアコンテンツは、デジタルコンテンツの一種である。
【0026】
場合によっては、所与の電子ドキュメントは、DCDS110を参照するデジタルコンテンツタグまたはデジタルコンテンツスクリプトを含むことができる。これらの状況では、デジタルコンテンツタグまたはデジタルコンテンツスクリプトは、所与の電子ドキュメントがユーザデバイス106によって処理されるときに、ユーザデバイス106によって実行される。デジタルコンテンツタグまたはデジタルコンテンツスクリプトの実行は、ネットワーク102を介してDCDS110に送信されるデジタルコンテンツに対する要求108を生成するようにユーザデバイス106を構成する。たとえば、デジタルコンテンツタグまたはデジタルコンテンツスクリプトは、ユーザデバイス106がヘッダおよびペイロードデータを含むパケット化されたデータ要求を生成することを可能にすることができる。要求108は、デジタルコンテンツが要求されているサーバの名前(または、ネットワーク位置)、要求側デバイス(たとえば、ユーザデバイス106)の名前(または、ネットワーク位置)、および/または要求に応答して提供されるデジタルコンテンツを選択するためにDCDS110が使用できる情報などのデータを含むことができる。要求108は、ユーザデバイス106によって、ネットワーク102(たとえば、電気通信ネットワーク)を介してDCDS110のサーバに送信される。
【0027】
要求108は、電子ドキュメント、およびデジタルコンテンツを提示できる位置の特性を指定するデータを含むことができる。たとえば、デジタルコンテンツが表示される電子ドキュメント(たとえば、ウェブページ)への参照(たとえば、ユニバーサルリソースロケータ(URL))、デジタルコンテンツを提示するために利用可能な電子ドキュメントの利用可能な位置(たとえば、デジタルコンテンツスロット)、利用可能な位置のサイズ、電子ドキュメントの提示内の利用可能な位置の場所を指定するデータ、および/または位置における提示に適したメディアタイプをDCDS110に提供することができる。同様に、電子ドキュメントによって参照される電子ドキュメントの選択のために指定されたキーワード(「ドキュメントキーワード」)またはエンティティ(たとえば、人、場所、または物)を指定するデータも、(たとえば、ペイロードデータとして)要求108に含まれ、電子ドキュメントとともに提示するために適格なデジタルコンテンツアイテムの識別を容易にするためにDCDS110に提供され得る。
【0028】
要求108はまた、ユーザが提供した情報、要求が提出された州または地域を示す地理的情報、またはデジタルコンテンツが表示される環境のコンテキストを提供する他の情報(たとえば、モバイルデバイスまたはタブレットデバイスなど、デジタルコンテンツが表示されるデバイスのタイプ)などの、他の情報に関連するデータを含むことができる。ユーザ提供情報は、ユーザデバイス106のユーザの人口統計データを含むことができる。たとえば、人口統計情報は、他の特性の中でも地理的位置、職業、趣味、ソーシャルメディアデータ、ユーザが特定のアイテムを所有しているかどうかなどを含むことができる。
【0029】
ユーザデバイス106のモデル、ユーザデバイス106の構成、または電子ドキュメントが提示される電子ディスプレイ(たとえば、タッチスクリーンまたはデスクトップモニタ)のサイズ(たとえば、物理的サイズまたは解像度)を識別する情報などの、ユーザデバイス106の特性を指定するデータも要求108において提供することができる。要求108は、たとえば、パケット化されたネットワークを介して送信することができ、要求108自体は、ヘッダおよびペイロードデータを有するパケット化されたデータとしてフォーマットすることができる。ヘッダはパケットの宛先を指定することができ、ペイロードデータは上記の情報のうちのいずれかを含むことができる。
【0030】
DCDS110は、要求108の受信に応答して、および/または要求108に含まれる情報を使用して、所与の電子ドキュメントとともに提示されるデジタルコンテンツを選択する。いくつかの実装形態では、DCDS110は、たとえば、サーバと、相互接続され、要求108に応答してデジタルコンテンツを識別および配信する複数のコンピューティングデバイスのセットとを含む分散コンピューティングシステム(または、環境)において実装される。複数のコンピューティングデバイスのセットは、数百万以上の利用可能なデジタルコンテンツのコーパスの中から、電子ドキュメントにおいて提示するために適したデジタルコンテンツのセットを識別するために一緒に動作する。数百万以上の利用可能なデジタルコンテンツは、たとえば、デジタルコンポーネントデータベース112においてインデックス付けすることができる。各デジタルコンテンツインデックスエントリは、対応するデジタルコンテンツを参照することができ、および/または、対応するデジタルコンテンツの配信を調整する配信パラメータ(たとえば、選択基準)を含むことができる。
【0031】
適格なデジタルコンテンツの識別は、その場合、複数のコンピューティングデバイスのセット内のコンピューティングデバイス間で割り当てられる複数のタスクに分割することができる。たとえば、異なるコンピューティングデバイスはそれぞれ、要求108に含まれる情報と一致する配信パラメータを有する様々なデジタルコンテンツを識別するために、デジタルコンポーネントデータベース112の異なる部分を分析することができる。
【0032】
DCDS110は、複数のコンピューティングデバイスのセットから受信した結果を集計し、要求108に応答して提供されるデジタルコンテンツの1つまたは複数のインスタンスを選択するために、集計された結果に関連付けられる情報を使用する。次に、DCDS110は、選択されたデジタルコンテンツのセットと電子ドキュメントのコンテンツがユーザデバイス106のディスプレイに一緒に提示されるように、ネットワーク102を介して、ユーザデバイス106がデジタルコンテンツの選択されたセットを所与の電子ドキュメントに統合することを可能にする応答データ114(たとえば、返信を表すデジタルデータ)を生成し、送信することができる。
【0033】
テキスト読上げシステム120は、テキストコンテンツをオーディオコンテンツに変換し、オーディオコンテンツをテキストコンテンツに変換することができるコンテンツ変換システムである。この説明のコンテキストでは、オーディオコンテンツはオーディオのみのコンテンツに限定されない。たとえば、いくつかの実施形態では、オーディオコンテンツは、マルチメディアコンテンツと呼ぶことができるビデオコンテンツを含むことができ、本明細書の目的では依然としてオーディオコンテンツと見なされる。テキスト読上げシステム120は、テキストから音声への変換および音声からテキストへの変換のための技法を使用してコンテンツ変換を実行することができる。たとえば、テキスト読上げシステム120は、オーディオのみのファイルを平文に転写することができる。テキスト読上げシステム120はまた、テキストのみのファイルをオーディオファイルに変換することができ、オーディオファイルは対応する画像ファイルを含み得る。テキスト読上げシステム120の出力は、他のフォーマットの中でも、オーディオのみのファイル、オーディオおよび視覚データを有するビデオファイル、画像のみのファイル、またはテキストのみのファイルとすることができる。テキスト読上げシステム120は、オーディオファイル内の単語を検出し、その単語を出力して、オーディオファイルのコンテンツを転写する。
【0034】
マッチングおよび選択システム130は、DCDS110のコンテンツマッチングおよび選択プロセスを実行する。たとえば、マッチングおよび選択システム130は、他の特性の中でも、コンテンツのトピックまたはカテゴリ、コンテンツによって言及または提案されたエンティティ、および/あるいはトピックまたはエンティティが言及される頻度などの、コンテンツ自体の特定の特性を決定するために、テキスト読上げシステム120の出力または任意の受信したコンテンツの分析を実行することができる。マッチングおよび選択システム130はまた、他の特性の中でも、音量、強調、トーンなどのオーディオデータの特性を決定するために、分析を実行することができる。たとえば、マッチングおよび選択システム130は、メディアコンテンツのトピックまたは意図を決定することができる。
【0035】
マッチングおよび選択システム130は、変換されたメディアコンテンツを、コンテンツまたはデジタルコンポーネント選択プロセスにおいて使用される入力として使用することができる。たとえば、マッチングおよび選択システム130は、既存の技法に従って、変換されたメディアコンテンツを入力として使用して、コンテンツ選択オークションを実行することができる。
【0036】
マッチングおよび選択システム130は、マッチングを実行するために、たとえば人工知能および機械学習技法を使用して、コンテンツおよびファイル自体の特性をマッチングすることによって、コンテンツマッチングを実行することができる。
【0037】
マッチングおよび選択システム130は、ユーザ提供の情報およびメディアコンテンツを入力として受け入れる統計モデルおよび/または機械学習モデルを使用することができる。機械学習モデルは、決定木、敵対的生成ネットワークベースのモデル、ディープラーニングモデル、線形回帰モデル、ロジスティック回帰モデル、ニューラルネットワーク、分類器、サポートベクタマシン、帰納的論理プログラミング、モデルのアンサンブル(たとえば、バギング、ブースティング、ランダムフォレストなどの技法を使用する)、遺伝的アルゴリズム、ベイジアンネットワークなどの様々なモデルのいずれかを使用し得、ディープラーニング、アソシエーションルール、帰納的論理、クラスタリング、最大エントロピ分類、学習分類などの様々な手法を使用してトレーニングすることができる。いくつかの例では、機械学習モデルは教師あり学習を使用する場合がある。いくつかの例では、機械学習モデルは教師なし学習を使用する。
【0038】
コンテンツ配信システム140は、コンテンツのパッケージ化および配信を実行する。たとえば、コンテンツ配信システム140は、コンテンツをフォーマットすることと、メディアコンテンツを結合することと、コンテンツをユーザデバイスに配信することとを行うことができる。コンテンツ配信システム140は、たとえば、ユーザデバイス106などのユーザデバイスに配信されているメディアコンテンツ内でデジタルコンテンツが配信されることが期待されるデジタルコンテンツスロットを検出することができる。いくつかの実装形態では、デジタルコンテンツスロットは、追加のオーディオコンテンツが提供されるべきであることをコンテンツ配信システム140に示すマーカまたは他のフラグによって示される。これらのマーカは、メディアコンテンツプロバイダおよび/または作成者によって定義することができる。いくつかの実装形態では、コンテンツ配信システム140は、メディアコンテンツ内でこれらのマーカが配置されるべき位置を決定することができる。たとえば、コンテンツ配信システム140は、オーディオコンテンツファイル内の会話における自然な一時停止を検出し、追加のオーディオコンテンツ(たとえば、デジタルコンポーネント)を提供するためのマーカを配置することができる。
【0039】
いくつかの実装形態では、コンテンツ配信システム140は、定義されたスロット内のメディアコンテンツのストリーム内に追加のオーディオコンテンツを提供することができ、それによって拡張コンテンツストリームを作成する。たとえば、いくつかの実装形態では、コンテンツ配信システム140は、オーディオファイル内の定義されたスロットとして機能する一時停止を、追加のオーディオコンテンツを組み込むことができるマーカにおいて挿入することができる。
【0040】
いくつかの実装形態では、コンテンツ配信システム140は、マーカが検出されたときにメディアコンテンツのストリームの配信を一時停止し、追加のオーディオコンテンツを個別に配信し、次いでメディアコンテンツの配信を再開することができる。
【0041】
図2は、改善されたコンテンツマッチングおよび選択のためのコンテンツ変換方法のデータフロー200を示している。データフロー200の動作は、システム100の様々なコンポーネントによって実行される。たとえば、データフロー200の動作は、ユーザデバイス106と通信するDCDS110によって実行され得る。
【0042】
フローはステップAから始まり、ステップAにおいて、非テキストメディアコンテンツが生成され、コンテンツプロバイダの位置にアップロードされる。たとえば、コンテンツ作成者であるポッドキャストホストのPoddington Casterlyは、オーディオのみのメディアコンテンツ202を生成してアップロードし、そのコンテンツ202を、彼の車好きのポッドキャストのエピソードを定期的にアップロードしている自分のウェブサイトであるCars R Cool N Fastにアップロードすることができる。いくつかの実装形態では、メディアコンテンツ全体が一度にアップロードされる。いくつかの実装形態では、メディアコンテンツはリアルタイムでアップロードされる(たとえば、コンテンツが配信および/または提示される時点で)。
【0043】
この特定の例では、非テキストメディアコンテンツ202は、オーディオデータのみを含む「ゲストのLeuy Hamsterが、彼のかわいいブルドッグについて語る(Guest Leuy Hamster talks about his cute bulldogs)」と呼ばれるポッドキャストエピソードである。他の例では、非テキストメディアコンテンツは、他のタイプの非テキストメディアコンテンツの中でも、オーディオおよび画像データを含むビデオファイル、または画像データのみを含むビデオファイルを含むことができる。たとえば、非テキストメディアは、テレビ番組またはビデオゲームであり得る。
【0044】
フローはステップBに続き、ここでオーディオコンテンツがデジタルコンポーネント配信システムに提供される。この例では、オーディオコンテンツ202は、Poddington CasterlyによってDCDS110に提供される。いくつかの実装形態では、オーディオコンテンツ202は、DCDS110によって取得される他の方法の中でも、DCDS110にアップロードされるか、またはDCDS110によって取得され得る。
【0045】
記述された技法のうちの一部を実行するための洗練された技術を備えた独自に大量の情報およびモデルにアクセスできるDCDS110にオーディオコンテンツを提供できるので、記述されたシステムは特に効率的である。
【0046】
フローはステップCに続き、ここでテキスト読上げシステムは、DCDS110によって受信されたオーディオコンテンツを処理し、テキストデータを出力する。たとえば、テキスト読上げシステム120は、出力テキストデータ204を生成するために、DCDS110によって受信されたオーディオデータを処理することができる。メディアコンテンツの元の形式およびメディアコンテンツのテキストは、メディアコンテンツの将来の要求のために記憶またはキャッシュすることができる。たとえば、メディアコンテンツの元の形式およびテキストは、デジタルコンポーネントデータベース112または異なるリモートデータベースなどのデータベースに記憶することができる。メディアコンテンツの元の形式および/またはテキストが記憶されているデータベースは、インデックス付けする、および/または簡単に検索することができる。メディアコンテンツは、コンテンツ作成者からの非テキストメディアコンテンツと、非テキストメディアコンテンツと統合された追加のオーディオコンテンツとして提供されるメディアコンテンツの両方を含む。
【0047】
いくつかの実装形態では、メディアコンテンツはリアルタイムでアップロードされ、ステップA、B、Cはリアルタイムで実行される。たとえば、メディアコンテンツが記録されているときにアップロードが発生する可能性がある。いくつかの実装形態では、非テキストメディアコンテンツが完全にアップロードされ、コンテンツが受信されるとすぐにステップA、B、およびCを実行することができる。いくつかの実装形態では、メディアコンテンツは完全にアップロードされ、ステップA、B、およびCは、メディアコンテンツがユーザデバイスに提供されるように要求されたときに実行することができる。
【0048】
テキスト読上げシステム120は、コンテンツ自体およびストリームの特性を分析することによってコンテンツ変換を実行する。他のテキスト読上げシステムまたは音声読上げシステムでは、すべての単語を転写する必要がある場合があるが、テキスト読上げシステム120は、メディアコンテンツの意図、カテゴリ、トピック、音量などを決定するために、すべての単語を転写する必要はない。したがって、本明細書で説明するシステムは、メディアコンテンツの一部を転写するだけでよいため、特に効率的である。さらに、システムは、信頼性の低い転写を除外し、コンテンツのマッチングおよび選択を実行するための信頼性の高い転写のみに依存することができる。いくつかの実装形態では、テキスト読上げシステム120は、信頼度のしきい値レベルを下回る任意の転写を自動的に除外することができる。いくつかの実装形態では、テキスト読上げシステム120は、たとえコンテンツマッチングおよび選択を実行するために十分ではない場合でも、マッチングおよび選択システム130に転写全体を提供することができる。いくつかの実装形態では、代わりに、テキスト読上げシステム120は、十分なコンテンツを変換できなかったというメッセージをマッチングおよび選択システム130に提供することができる。
【0049】
いくつかの実装形態では、追加のオーディオコンテンツは、テキストベースのコンテンツとして受信され、テキスト読上げシステム120によって、ユーザデバイス106に提示されているメディアコンテンツと同じタイプのメディアコンテンツに変換することができる。たとえば、追加のオーディオコンテンツは、数行のテキストとして受信することができ、Poddington Casterlyのポッドキャストエピソード「ゲストのLeuy Hamsterが、彼のかわいいブルドッグについて語る」の形式にマッチングさせるためにオーディオのみのコンテンツに変換することができる。
【0050】
いくつかの実装形態では、追加のオーディオコンテンツは、非テキストコンテンツとして受信され、テキスト読上げシステム120によってテキストに転写することができる。次いで、追加のオーディオコンテンツのテキストは、デジタルコンポーネントデータベース112などのデータベース内に記憶することができる。追加のオーディオコンテンツの元の形式も記憶することができ、追加のオーディオコンテンツのテキストとのマッチングを実行することができ、要求に応じて追加のオーディオコンテンツ自体を提供することができる。
【0051】
いくつかの実装形態では、オーディオコンテンツは、複数の話者を含むことができる。たとえば、ポッドキャスト202はPoddington Casterlyと彼のゲストであるLeuy Hamsterという2人の話者を含むことができる。テキスト読上げシステム120は、ホストであるPoddington CasterlyとゲストであるLeuy Hamsterの声を区別することができる。いくつかの実装形態では、テキスト読上げシステム120は、そのテキスト出力204内で、どの話者によってどのテキストが話されたかを示すことができる。たとえば、テキスト読上げシステム120は、テキストの各部分にその話者でフラグを立てることができる。テキスト読上げシステム120は、オーディオの1つまたは複数の特性に基づいて、異なる話者の声を区別することができる。たとえば、テキスト読上げシステム120は、他の技法の中でも、2つの声の違いを比較することと、特定の声の特性を、周波数および/またはトーン特性の固有の組合せを示す特定の声のプロファイルにマッチングさせることと、ならびに/または話者ごとに声のプロファイルを学習および開発することとを行うことができる。
【0052】
フローはステップDに続き、ここでDCDS110は、ユーザデバイスのユーザに関する情報などの様々な情報を含むコンテンツに対する要求をユーザデバイスから受信する。たとえば、DCDS110は、ユーザのプロファイル情報を含むユーザデバイス106のユーザから要求108を受信することができる。
【0053】
フローはステップEに続き、ここでマッチングおよび選択システム130は、メディアコンテンツとともに提示されるデジタルコンテンツのマッチングおよび選択を実行するために、テキスト読上げシステム120からのテキストデータ204を使用する。テキストデータ204は、ユーザデバイス106にストリーミングされているメディアコンテンツのテキストデータ、ならびにメディアコンテンツとともに提示するために利用可能なデジタルコンテンツのテキストデータを含むことができる。いくつかの実装形態では、マッチングおよび選択システム130は、検索可能なデータベースからテキストデータ204にアクセスすることができる。
【0054】
マッチングおよび選択システム130は、テキストコンテンツで使用される技法に従ってマッチングおよび選択プロセスを実行する。たとえば、マッチングおよび選択システム130は、メディアコンテンツのトピックまたはエンティティなどの特性を、他のデジタルコンテンツアイテム、たとえば、コンテンツアイテムの転写されたテキストとマッチングさせることができる。メディアコンテンツの特定の特性は、他の特性を決定する際に、他の特性よりも多くの重みを与えられる場合がある。たとえば、マッチングおよび選択システム130は、ポッドキャストエピソードのタイトルに、単にエピソードのコンテンツ内にある単語よりも多くの重みを与えることができる。いくつかの実装形態では、マッチングおよび選択システム130は、トピックまたは何らかの他の情報を決定し、追加のオーディオコンテンツに割り当てる。
【0055】
マッチングおよび選択システム130は、異なる話者が話す時間の最初に話された単語、特定の声のトーンで話された単語、特定のエンティティまたはトピックを含むフレーズにより多くの重みを割り当てることができる。いくつかの実装形態では、マッチングおよび選択システム130は、複数の話者がいる場合、コンテンツのホストによって話された単語に特定の重みを割り当てる。たとえば、ポッドキャストまたはトークショーでは、ホストがゲストに参加を依頼することがあるが、ゲストは、ホストが同意しない見解を持っている場合がある。マッチングおよび選択システム130は、ホストによって話された内容のみにコンテンツをマッチングさせるようにデフォルト設定することができる。いくつかの実装形態では、マッチングおよび選択システム130は、コンテンツ作成者および/または発行者に、コンテンツマッチングを許可するかどうか、コンテンツのどの部分をコンテンのマッチングに使用できるかを選択するオプションを提供することができる。マッチングおよび選択システム130はまた、ユーザ(コンテンツ作成者、発行者、エンドユーザ)に、ストリーミングされるメディアコンテンツとともに特定のデジタルコンテンツが提供されることを許可しないオプションを提供することができる。
【0056】
さらに、マッチングおよび選択システム130は、他の特性の中でも、選択される追加のオーディオコンテンツの品質、ユーザデバイスにストリーミングされるメディアコンテンツの品質、バックグラウンドに音楽があるかどうか、および/または再生中の音楽のタイプなどを含む他の特性に基づいて、より多くの重みを割り当てることができる。
【0057】
テキスト読上げシステム120は、非テキストコンテンツの特性を捕捉し、これらの特性をマッチングおよび選択システム130に提供することができる。たとえば、テキスト読上げシステム120は、コンテンツ作成者が特定の単語またはフレーズに強調または他の特別な意味を置いたと決定し、非テキストの強調とテキストの対応物との間を関連付けることができる。一例では、テキスト読上げシステム120は、オーディオコンテンツ内の話している人が特定の単語またはフレーズを大声で言う場合、その単語またはフレーズは、強調の他の視覚的形態の中でも、太字のテキスト、下線付きのテキスト、大きいフォントと同じように強調されていると見なされ得ると決定することができる。他の形式の可聴強調は、話されている単語またはフレーズのピッチおよび速度を含む。たとえば、話者が非常に低いピッチを使用し、フレーズを素早く話す場合、テキスト読上げシステム120は、そのフレーズが重要であることを意図していなかった、または話されているフレーズに話者が同意しなかったと決定し得る。
【0058】
たとえば、ポッドキャスト202は、この場合、「とても興奮している(so excited)」および「Leuy Hamster」という単語について、他の単語よりも大きい大きさに対応する可聴インジケーションを示すオーディオデータを含むように示されており、テキスト読上げシステム120は、単語が太字であるかのように強調されると見なすことができ、マッチングおよび選択システム130は、太字であるかのように単語に重みを割り当てたり、その他の方法で太字または下線などの強調の増加を示すメタデータを追加したりすることができる。マッチングおよび選択システム130は、メタデータなどのソース内で提供されるインジケーションに加えて、オーディオコンテンツ内の話された単語の可聴インジケーションを使用することができる。
【0059】
マッチングおよび選択システム130は、そのマッチングおよび選択アルゴリズムおよびプロセスを継続的に改善することができる。たとえば、マッチングおよび選択システム130は、Poddington Casterlyの視聴者の特定のメンバーは彼のポッドキャストエピソードの各々をストリーミングするが、必ずしもポッドキャスト全体を聞くとは限らないと決定することができる。次いで、マッチングおよび選択システム130は、ユーザが最終的にそれを聞く可能性が高い特定のコンテンツについて、経時的に増加するコンテンツへの一致の確率を割り当てることができる。
図1に関して上述したように、マッチングおよび選択システム130は、機械学習モデルおよび確率モデルを使用することができる。
【0060】
いくつかの実装形態では、マッチングおよび選択システム130が、マッチングおよび選択を実行するために十分な変換されたコンテンツがないというメッセージを決定または受信した場合、マッチングおよび選択システム130は、メディアコンテンツをユーザデバイスに提供するために、デフォルトまたは一般的なタイプのデジタルコンテンツを選択することができる。
【0061】
いくつかの実装形態では、マッチングおよび選択システム130は、マッチングおよび選択プロセスを増強および/または改善するために、ユーザデバイス106のユーザおよび/あるいはコンテンツ作成者または発行者のプロファイル情報にアクセスすることができる。たとえば、マッチングおよび選択システム130は、ユーザは一般的に動物が好きであるにもかかわらず、ユーザがキャットフードに関する広告を見ることに興味がなく、ドッグフードに関する広告に興味があると決定するために、ユーザのプロフィール情報にアクセスすることができる。
【0062】
いくつかの実装形態では、マッチングおよび選択システム130は、ユーザのプロフィールに一致する情報により多くの重みを与えることができる。たとえば、マッチングおよび選択システム130は、ユーザのプロファイル、ストリーミングされるメディアコンテンツ内のコンテンツ、およびメディアコンテンツの作成者および/または発行者に基づいて、追加のオーディオコンテンツをパーソナライズすることができる。
【0063】
デジタルコンテンツを選択するとき、マッチングおよび選択システム130は、どのデジタルコンテンツがメディアコンテンツ202によりよく一致するかを決定するために、重みを使用することができる。たとえば、マッチングおよび選択システム130は、メディアコンテンツに一致するデジタルコンテンツの一致する各用語の重みを集計し、たとえば合計または平均を決定することができる。次いで、マッチングおよび選択システム130は、総重量が最も高いデジタルコンテンツを選択することができる。
【0064】
いくつかの実装形態では、ステップEはまた、メディアコンテンツ202とともに提示されるオーディオコンテンツを生成するために、テキスト読上げシステム120を通じて、テキスト形式であった選択されたデジタルコンテンツを実行するステップを含む。
【0065】
フローはステップFに続き、ここでコンテンツ配信システム140は、選択されたデジタルコンテンツが提示される指定された時間またはスロットを識別し、選択されたデジタルコンテンツをユーザデバイス106に提供する。
【0066】
前述のように、DCDS110は、追加のオーディオコンテンツを配置すべきスロットを検出および/または決定することができる。
【0067】
いくつかの実装形態では、除外ゾーン、または追加のオーディオコンテンツを挿入してはならない、またはゾーン中に話された単語を分析から省略する必要があるコンテンツの部分は、コンテンツ作成者や発行者などのユーザによって定義することができる。発行者が彼らのアカウント設定においてこれらを指定することができ、エピソードごとに異なる場合があることを説明する必要がある。また、特定の聞こえないトーン、すなわち、除外ゾーンの開始時のトーン1、除外ゾーンの終了時のトーン2によって示されることもある。
【0068】
いくつかの実装形態では、DCDS110のコンテンツ配信システム140は、除外ゾーンを自動的に決定して示すことができる。たとえば、コンテンツ配信システム140は、文章またはセグメントの途中でコンテンツが中断されないように、除外ゾーンを作成しながら、自然な一時停止がいつ発生するかを決定し、コンテンツスロットを挿入することができる。
【0069】
いくつかの実装形態では、ストリーミングされるメディアコンテンツは、スポンサ付きコンテンツなどの追加のコンテンツを含むことができる。コンテンツ配信システム140は、リスナまたは閲覧者を混乱させないように、スポンサ付きコンテンツの期間中、除外ゾーンを作成することができる。たとえば、Poddington Casterlyは、エピソードがメルセデスによって後援されているため、「ゲストのLeuy Hamsterが私たちに彼のかわいいブルドッグについて教えてくれる」の中で、メルセデスについていくつかの文章を言うことがある。コンテンツ配信システム140は、これらのいくつかの文章を検出し、追加のオーディオコンテンツがメルセデスについてのPoddington Casterlyのスポンサの熱弁に挿入されないように、除外ゾーンを作成することができる。
【0070】
コンテンツ配信システム140はまた、コンテンツのトピックに基づいて、ストリーミングされているメディアコンテンツ内の追加のコンテンツを検出することができる。たとえば、Poddington Casterlyは、彼の車好きのポッドキャスト内で、例示的なブランド電話(Example Brand Phone)を素晴らしいカメラアプリを備えたクールな電話として宣伝する場合がある。コンテンツ配信システム140は、Poddington Casterlyのポッドキャストが車に関するものであり、彼の例示的なブランド電話のプロモーションが特定のブランドを識別し、スマートフォンに関するものであるため、車とはまったく関係のないトピックに関するものであると決定することができる。次いで、コンテンツ配信システム140は、例示的なブランド電話の彼のプロモーションが除外ゾーン内にあるべきであると決定することができる。
【0071】
コンテンツ配信システム140は、メディアコンテンツ内で言及されたエンティティに基づいて除外ゾーンを指定することができる。たとえば、コンテンツ配信システム140は、メディアコンテンツ内の製品名を検出し、メディアコンテンツのテキストコンテンツから、第2のオーディオ内の製品名の位置の指定された時間の長さ内に任意の話された単語を省略することができる。一例では、コンテンツ配信システム140は、Poddington CasterlyがブランドY(BRAND Y)バターは素晴らしいバターであり、すべてのクールな車の運転手がトーストと一緒に食べることに言及していることを検出することができ、「ブランドY」が話されたときから10秒以内に話された任意の単語を決定することができる。特定の単語が話される前後の時間の長さは同じである必要はなく、いくつかの実装形態では、コンテンツ配信システム140は、除外ゾーンの境界を調整するために、エンティティ名がプロモーションセグメントの最初、中間、または最後で話されているかどうかを検出することができる。
【0072】
コンテンツ配信システム140はまた、要求108に応答して、選択されたデジタルコンテンツ206のユーザデバイス106への配信を実行する。コンテンツ配信システム140は、応答114において選択されたデジタルコンテンツ206を提供することができる。
【0073】
いくつかの実装形態では、DCDS110は、ストリーミングされているメディアコンテンツをユーザデバイス106に配信するための仲介者として機能することができる。たとえば、DCDS110は、ユーザデバイス106がコンテンツの連続ストリームを受信するように、メディアコンテンツを受信することと、追加の選択されたデジタルコンテンツをメディアコンテンツに挿入することと、選択されたデジタルコンテンツとともにメディアコンテンツをユーザデバイス106にストリーミングすることとを行うことができる。
【0074】
いくつかの実装形態では、
図1および
図2に関して説明したように、システム100は、メディアコンテンツのストリームを一時停止することと、指定されたコンテンツスロット中に異なるソースから選択されたデジタルコンテンツをストリーミングすることと、次いで、ユーザデバイス106へのメディアコンテンツのストリームを継続することとを行うことができる。
【0075】
フローはステップGで終了し、ここでDCDS110がユーザデバイスに応答を提供する。たとえば、DCDS110は、
図1に関して上述したように応答114をユーザデバイス106に提供する。
【0076】
図3は、コンテンツ変換を使用したコンテンツマッチングおよび選択の例示的なプロセス300の流れ図である。いくつかの実装形態では、プロセス300は、1つまたは複数のシステムによって実行することができる。たとえば、プロセス300は、
図1および
図2のDCDS110および/またはユーザデバイス106によって実装することができる。いくつかの実装形態では、プロセス300は、非一時的であり得るコンピュータ可読媒体に記憶された命令として実装することができ、命令が1つまたは複数のサーバによって実行されると、命令は、1つまたは複数のサーバにプロセス300の動作を実行させることができる。
【0077】
プロセス300は、第1のオーディオを取得するステップ(302)から始まる。たとえば、システム100は、メディアコンテンツとともに提示される追加のコンテンツとして提示するためのデジタルコンテンツを取得することができる。このデジタルコンテンツは、たとえば、噛みつきが強い犬用おもちゃを宣伝するペットショップのオーディオクリップであり得る。
【0078】
プロセス300は、検索可能なデータベースに第1のオーディオのテキスト転写を記憶するステップ(304)に続く。たとえば、テキスト読上げシステム120は、デジタルコンポーネントデータベース112などの検索可能なデータベースに、犬用おもちゃを宣伝するオーディオクリップのテキスト転写を記憶することができる。
【0079】
プロセス300は、第2のオーディオを含むメディアコンテンツを取得するステップ(306)に続く。たとえば、システム100は、ポッドキャスト202を含むメディアコンテンツをPoddington Casterlyから受信することができる。メディアコンテンツは、より多くのコンテンツが継続的に取得されるように、事前に記録されているか、受信時に完全であるか、ライブであり得る。いくつかの実装形態では、メディアコンテンツは、コンテンツ作成者および/または発行者から直接ユーザデバイス106に提供することができる。他の実装形態では、メディアコンテンツは、仲介者として機能し、メディアコンテンツをユーザデバイス106に提供するDCDS110に提供することができる。
【0080】
いくつかの実装形態では、メディアコンテンツは、追加の選択されたデジタルコンテンツとは別に配信することができ、追加の選択されたデジタルコンテンツがユーザデバイス106に提供されている間、メディアコンテンツを一時停止することができ、追加の選択されたデジタルコンテンツが終了すると再開される。
【0081】
プロセス300は、第2のオーディオをテキストコンテンツに変換するステップ(308)に続く。たとえば、テキスト読上げシステム120は、ユーザデバイス106にストリーミングされるポッドキャスト202をテキストデータ204に変換することができる。いくつかの実装形態では、第2のオーディオを変換するステップは、第2のオーディオ内の話し言葉を検出するステップと、第2のオーディオの1つまたは複数のオーディオ特性を分析するステップと、1つまたは複数のオーディオ特性の分析に基づいて話し言葉の中から1つまたは複数の単語の重要性を調整するステップと、話し言葉を表すテキストコンテンツを生成するステップと、1つまたは複数の単語を表すテキストコンテンツに、1つまたは複数の単語の調整された重要性を割り当てるステップとを含む。たとえば、テキスト読上げシステム120は、ポッドキャスト202内の話し言葉を検出することと、声の強調などのポッドキャスト202の1つまたは複数のオーディオ特性を分析することと、テキストデータ204などの話し言葉のテキスト表現を生成することと、テキストデータ204内の1つまたは複数の単語の重みを割り当てる、および/または調整することとを行うことができる。
【0082】
いくつかの実装形態では、第2のオーディオの1つまたは複数のオーディオ特性を分析するステップは、1つまたは複数の単語の強調の可聴インジケーションを検出するステップを含む。たとえば、強調の可聴インジケーションは、1つまたは複数の単語の繰返し、あるいは単語の話者の声の音量またはトーンを含むことができる。いくつかの実装形態では、1つまたは複数のオーディオ特性を分析するステップは、第2のオーディオ内のホストの声によって話された話し言葉の第1の部分と、第2のオーディオ内のゲストの声によって話された話し言葉の第2の部分とを区別するステップを含む。たとえば、テキスト読上げシステム120は、ホストのPoddington Casterlyによって話される話し言葉の部分と、ゲストのLeuy Hamsterによって話される話し言葉の部分とを指定することができる。
【0083】
いくつかの実装形態では、1つまたは複数の単語の重要性を調整するステップは、強調の可聴インジケーションに基づいて1つまたは複数の単語の重要性を高めるステップを含む。たとえば、テキスト読上げシステム120は、デジタルコンテンツをマッチングおよび選択するためのモデル内の強調の可聴インジケーションに基づいて単語の重みを増加させることができる。いくつかの実装形態では、1つまたは複数の単語の重要性を調整するステップは、話し言葉の第2の部分の重要性に対して、話し言葉の第1の部分の重要性を高めるステップを含む。たとえば、テキスト読上げシステム120は、ゲストのLeuy Hamsterによって話された単語の重みに対して、ホストのPoddington Casterlyによって話された単語の重みを増加させることができる。
【0084】
いくつかの実装形態では、第2のオーディオのコンテキストを決定するステップは、1つまたは複数の単語を表すテキストコンテンツに割り当てられた1つまたは複数の単語の調整された重要性に基づいて、第1のオーディオのトピックを決定するステップを含む。たとえば、マッチングおよび選択システム130は、オーディオクリップのトピックに関連付けられる単語の重みに基づいて、犬用おもちゃを宣伝するオーディオクリップのトピックを決定することができる。
【0085】
いくつかの実装形態では、他の特性の中でも、特定の単語の重要性または重みは、強調、検出されたメディアコンテンツの段落内の位置、用語の頻度に基づいて変更することができる。いくつかの実装形態では、メディアコンテンツのテキスト説明内の単語と検出されたオーディオが一致するため、単語の重みが増加する可能性がある。いくつかの実装形態では、単語を話したのがホストかゲストかに基づいて、単語の重みを調整することができる。
【0086】
プロセス300は、検索可能なデータベースの検索に基づいて、第2のオーディオのテキストコンテンツが第1のオーディオのテキスト転写と一致すると決定するステップ(310)に続く。たとえば、DCDS110のマッチングおよび選択システム130は、デジタルコンポーネントデータベース112の検索に基づいて、ポッドキャスト202のコンテンツが犬用おもちゃを宣伝するオーディオクリップのテキスト転写と一致すると決定することができる。
【0087】
プロセス300は、第2のオーディオのテキストコンテンツが第1のオーディオのテキスト転写と一致するという決定に応答して、拡張コンテンツストリームを作成するために第1のオーディオをメディアコンテンツに挿入するステップ(312)に続く。たとえば、コンテンツ配信システム140は、ポッドキャスト202のコンテンツ「ゲストのLeuy Hamsterが、彼のかわいいブルドッグについて語る」が、ブルドッグのように噛みつきが強い犬用おもちゃを宣伝するオーディオクリップのテキスト転写と一致すると決定した後、拡張されたコンテンツストリームを作成するために、オーディオクリップをポッドキャスト202に挿入することができる。
【0088】
いくつかの実装形態では、プロセスは、第1のオーディオのテキスト転写に基づいて第1のオーディオの第1のコンテキストを決定することと、第2のオーディオのテキストコンテンツに基づいて第2のオーディオの第2のコンテキストを決定することを含み、第2のオーディオのテキストコンテンツが第1のオーディオのテキスト転写と一致すると決定することは、第1のコンテキストが第2のコンテキストと一致すると決定することを含む。このコンテキストは、トピック、またはポッドキャストから取得したテキストから決定することができる他の何らかの情報であり得る。たとえば、コンテンツ配信システム140は、ポッドキャスト202のトピック「ゲストのLeuy Hamsterが、彼のかわいいブルドッグについて語る」が犬用おもちゃを宣伝するオーディオクリップのテキスト転写と一致すると決定した後、拡張コンテンツストリームを作成するために、オーディオクリップをポッドキャスト202に挿入することができる。
【0089】
いくつかの実装形態では、プロセスは、第2のオーディオの除外ゾーンを識別するステップと、第2のオーディオのテキストコンテンツから除外ゾーン中に話された単語を省略するステップとを含む。たとえば、コンテンツ配信システム140は、ポッドキャスト202の除外ゾーンを識別し、除外ゾーン中にポッドキャスト202において話された単語がポッドキャスト202コンテンツの一部として分析されないように省略することができる。
【0090】
図1から
図3に関して説明したプロセス300およびシステムは、他の環境の中でも、テレビ、映画、およびオンラインゲームなどの、あらゆるストリーミング環境に適用することができる。
【0091】
図4は、上述の動作を実行するために使用することができる例示的なコンピュータシステム400のブロック図である。システム400は、プロセッサ410、メモリ420、ストレージデバイス430、および入力/出力デバイス440を含む。コンポーネント410、420、430、および440の各々は、たとえば、システムバス450を使用して相互接続することができる。プロセッサ410は、システム400内で実行する命令を処理することができる。一実装形態では、プロセッサ410はシングルスレッドプロセッサである。別の実装形態では、プロセッサ410はマルチスレッドプロセッサである。プロセッサ410は、メモリ420またはストレージデバイス430に記憶された命令を処理することができる。
【0092】
メモリ420は、システム400内に情報を記憶する。一実装形態では、メモリ420はコンピュータ可読媒体である。一実装形態では、メモリ420は揮発性メモリユニットである。別の実装形態では、メモリ420は不揮発性メモリユニットである。
【0093】
ストレージデバイス430は、システム400に大容量ストレージを提供することができる。一実装形態では、ストレージデバイス430はコンピュータ可読媒体である。様々な異なる実装形態では、ストレージデバイス430は、たとえば、ハードディスクデバイス、光ディスクデバイス、複数のコンピューティングデバイスによってネットワーク上で共有されるストレージデバイス(たとえば、クラウドストレージデバイス)、または他の何らかの大容量ストレージデバイスを含むことができる。
【0094】
入力/出力デバイス440は、システム400に入力/出力動作を提供する。一実装形態では、入力/出力デバイス440は、イーサネットカードなどのネットワークインターフェースデバイス、RS-232ポートなどのシリアル通信デバイス、および/または802.11カードなどのワイヤレスインターフェースデバイスの1つまたは複数を含むことができる。別の実装形態では、入力/出力デバイスは、入力データを受信し、出力データを他の入力/出力デバイス、たとえば、キーボード、プリンタ、およびディスプレイデバイス460に送信するように構成されたドライバデバイスを含むことができる。しかしながら、モバイルコンピューティングデバイス、モバイル通信デバイス、セットトップボックステレビクライアントデバイスなどの他の実装形態も使用することができる。
【0095】
例示的な処理システムを
図5において説明したが、本明細書で説明される主題および機能動作の実装形態は、他のタイプのデジタル電子回路、あるいは本明細書で開示されている構造およびそれらの構造的等価物を含むコンピュータソフトウェア、ファームウェア、またはハードウェアにおいて、あるいはそれらの1つまたは複数の組合せにおいて実装することができる。
【0096】
メディアは必ずしもファイルに対応するとは限らない。メディアは、他のドキュメントを保持するファイルの一部、問題のドキュメント専用の単一のファイル、または複数の調整されたファイルに記憶され得る。
【0097】
本明細書で説明される主題および動作の実施形態は、デジタル電子回路、あるいは本明細書で開示されている構造およびそれらの構造的等価物を含むコンピュータソフトウェア、ファームウェア、またはハードウェアにおいて、あるいはそれらの1つまたは複数の組合せにおいて実装することができる。本明細書に記載される主題の実施形態は、データ処理装置による実行、またはデータ処理装置の動作を制御するために、コンピュータ記憶媒体(または、媒体)上にエンコードされた、1つまたは複数のコンピュータプログラム、すなわち、コンピュータプログラム命令の1つまたは複数のモジュールとして実装することができる。代替的または追加的に、プログラム命令は、人工的に生成された伝搬信号、たとえば、データ処理装置による実行のために適切な受信装置に送信するための情報をエンコードするために生成される機械生成の電気信号、光信号、または電磁気信号でエンコードすることができる。コンピュータ記憶媒体は、コンピュータ可読ストレージデバイス、コンピュータ可読ストレージ基板、ランダムまたはシリアルアクセスメモリアレイまたはデバイス、あるいはそれらの1つまたは複数の組合せであるか、あるいはそれらに含まれ得る。さらに、コンピュータ記憶媒体は伝搬信号ではないが、コンピュータ記憶媒体は、人工的に生成された伝搬信号にエンコードされたコンピュータプログラム命令のソースまたは宛先となり得る。コンピュータ記憶媒体は、1つまたは複数の別個の物理的コンポーネントまたは媒体(たとえば、複数のCD、ディスク、または他のストレージデバイス)であってもよく、それらに含まれていてもよい。
【0098】
本明細書で説明される動作は、1つまたは複数のコンピュータ可読ストレージデバイスに記憶されたデータ、あるいは他のソースから受信したデータに対してデータ処理装置によって実行される動作として実装することができる。
【0099】
「データ処理装置」という用語は、データを処理するためのあらゆる種類の装置、デバイス、および機械を包含し、例として、プログラマブルプロセッサ、コンピュータ、システムオンチップ、または前述の複数のものまたは組合せを含む。装置は、たとえばFPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)などの専用論理回路を含むことができる。装置はまた、ハードウェアに加えて、問題のコンピュータプログラムの実行環境を作成するコード、たとえば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、クロスプラットフォームランタイム環境、仮想マシン、あるいはそれらの1つまたは複数の組合せを構成するコードを含むことができる。この装置および実行環境は、ウェブサービス、分散コンピューティングおよびグリッドコンピューティングインフラストラクチャなどの、様々な異なるコンピューティングモデルインフラストラクチャを実現することができる。
【0100】
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、またはコードとしても知られる)は、コンパイラ型言語またはインタープリタ型言語、宣言型言語または手続き型言語を含む、任意の形式のプログラミング言語で記述することができ、スタンドアロンプログラムとして、またはモジュール、コンポーネント、サブルーチン、オブジェクト、またはコンピューティング環境における使用に適した他のユニットとして含むなど、任意の形式で展開することができる。コンピュータプログラムは、ファイルシステム内のファイルに対応する場合があるが、必ずしもそうである必要はない。プログラムは、他のプログラムまたはデータ(たとえば、マークアップ言語ドキュメントに記憶されている1つまたは複数のスクリプト)を保持するファイルの一部、問題のプログラム専用の単一のファイル、または複数の調整されたファイル(たとえば、1つまたは複数のモジュール、サブプログラム、あるいはコードの一部を記憶するファイル)に記憶することができる。コンピュータプログラムは、1台のコンピュータ、あるいは1つのサイトに配置された、または複数のサイトに分散され、通信ネットワークによって相互接続された複数のコンピュータ上で実行されるように展開することができる。
【0101】
本明細書で説明するプロセスおよび論理フローは、入力データを動作して出力を生成することによってアクションを実行するために、1つまたは複数のコンピュータプログラムを実行する1つまたは複数のプログラマブルプロセッサによって実行することができる。プロセスおよび論理フローは、たとえばFPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)などの専用論理回路によって実行することもでき、装置をそれとして実装することもできる。
【0102】
コンピュータプログラムの実行に適したプロセッサは、例として、汎用マイクロプロセッサと専用マイクロプロセッサの両方を含む。一般に、プロセッサは、読取り専用メモリまたはランダムアクセスメモリ、あるいはその両方から命令およびデータを受信する。コンピュータの必須要素は、命令に従ってアクションを実行するためのプロセッサと、命令およびデータを記憶するための1つまたは複数のメモリデバイスである。一般に、コンピュータはまた、データを記憶するための1つまたは複数の大容量ストレージデバイス、たとえば磁気ディスク、光磁気ディスク、または光ディスクを含むか、そこからデータを受信する、またはそこにデータを転送する、あるいはその両方を行うように動作可能に結合される。しかしながら、コンピュータはそのようなデバイスを備えている必要はない。さらに、コンピュータは、いくつか例を挙げると、たとえば、モバイル電話、携帯情報端末(PDA)、モバイルオーディオまたはビデオプレーヤ、ゲームコンソール、全地球測位システム(GPS)受信機、あるいはポータブルストレージデバイス(たとえば、ユニバーサルシリアルバス(USB)フラッシュドライブ)などの別のデバイスに組み込むことができる。コンピュータプログラム命令およびデータを記憶するために適したデバイスは、すべての形態の不揮発性メモリ、媒体、およびメモリデバイスを含み、例として、たとえば、EPROM、EEPROM、およびフラッシュメモリデバイスなどの半導体メモリデバイス、磁気ディスク、たとえば内蔵ハードディスクまたはリムーバブルディスク、光磁気ディスク、ならびにCD-ROMおよびDVD-ROMディスクを含む。プロセッサおよびメモリは、専用論理回路によって補足することもでき、そこに組み込むこともできる。
【0103】
ユーザとの対話を提供するために、本明細書に記載される主題の実施形態は、ユーザに情報を表示するためのディスプレイデバイス、たとえばCRT(陰極線管)またはLCD(液晶表示装置)モニタ、ならびにユーザがコンピュータに入力を提供することができるキーボードおよびポインティングデバイス、たとえばマウスまたはトラックボールを有するコンピュータ上に実装することができる。ユーザとの対話を提供するために、他の種類のデバイスを使用することもでき、たとえば、ユーザに提供されるフィードバックは、視覚的フィードバック、聴覚的フィードバック、または触覚的フィードバックなど、任意の形式の感覚的フィードバックであってよく、また、ユーザからの入力は、音響、音声、または触覚入力を含む任意の形式で受け取ることができる。さらに、コンピュータは、ユーザによって使用されるデバイスとの間でドキュメントを送受信することによって、たとえば、ウェブブラウザから受信した要求に応答してユーザのクライアントデバイス上のウェブブラウザにウェブページを送信することによって、ユーザと対話することができる。
【0104】
本明細書に記載される主題の実施形態は、たとえばデータサーバとしてのバックエンドコンポーネントを含むか、または、たとえばアプリケーションサーバなどのミドルウェアコンポーネントを含むか、または、フロントエンドコンポーネント、たとえば、ユーザが本明細書に記載されている主題の実装形態と対話することができるグラフィカルユーザインターフェースまたはウェブブラウザを有するクライアントコンピュータ、あるいは、1つまたは複数のそのようなバックエンド、ミドルウェア、またはフロントエンドコンポーネントの任意の組合せを含むコンピューティングシステムにおいて実装することができる。システムのコンポーネントは、たとえば、通信ネットワークなどの任意の形式または媒体のデジタルデータ通信によって相互接続することができる。通信ネットワークの例は、ローカルエリアネットワーク(「LAN」)とワイドエリアネットワーク(「WAN」)、インターネットワーク(たとえば、インターネット)、およびピアツーピアネットワーク(たとえば、アドホックピアツーピアネットワーク)を含む。
【0105】
コンピューティングシステムは、クライアントとサーバとを含むことができる。クライアントおよびサーバは通常互いにリモートであり、通常は通信ネットワークを通じて対話する。クライアントとサーバの関係は、それぞれのコンピュータで実行され、クライアントとサーバの関係を相互に有するコンピュータプログラムによって発生する。いくつかの実施形態では、サーバは、データ(たとえば、HTMLページ)をクライアントデバイスに送信する(たとえば、クライアントデバイスと対話するユーザにデータを表示し、そこからユーザ入力を受信する目的で)。クライアントデバイスにおいて生成されたデータ(たとえば、ユーザ対話の結果)は、サーバにおいてクライアントデバイスから受信することができる。
【0106】
本明細書は多くの特定の実装形態の詳細を含むが、これらは、いかなる発明の範囲または請求される可能性のあるものの制限として解釈されるべきではなく、むしろ特定の発明の特定の実施形態に固有の特徴の説明として解釈されるべきである。別個の実施形態の文脈において本明細書に記載されている特定の特徴はまた、単一の実施形態において組み合わせて実装することができる。逆に、単一の実施形態の文脈において説明される様々な特徴はまた、複数の実施形態において別々に、または任意の適切なサブコンビネーションにおいて実装することができる。さらに、特徴は、特定の組合せにおいて作用するものとして上で説明され、最初にそのように主張されても、主張された組合せからの1つまたは複数の特徴は、場合によっては組合せから切り出され得、主張された組合せは、サブコンビネーションまたはサブコンビネーションの変形に向けられ得る。
【0107】
同様に、動作は特定の順序で図面に示されているが、これは、所望の結果を達成するために、そのような動作が示される特定の順序または連続した順序で実行されること、あるいは図示されるすべての動作が実行されることを必要とすることとして理解されるべきではない。特定の状況では、マルチタスクと並列処理とが有利な場合がある。さらに、上記の実施形態における様々なシステムコンポーネントの分離は、すべての実施形態においてそのような分離を必要とするものとして理解されるべきではなく、説明されたプログラムコンポーネントおよびシステムは、一般に、単一のソフトウェア製品に一緒に統合されるか、または複数のソフトウェア製品にパッケージ化され得ることが理解されるべきである。
【0108】
したがって、主題の特定の実施形態が説明されてきた。他の実施形態は、以下の特許請求の範囲内にある。場合によっては、特許請求の範囲に記載されているアクションは、異なる順序で実行することができ、それでも所望の結果を達成することができる。さらに、添付の図に示されているプロセスは、所望の結果を達成するために、必ずしも示されている特定の順序または連続した順序を必要としない。特定の実装形態では、マルチタスクおよび並列処理が有利な場合がある。
【符号の説明】
【0109】
100 例示的な環境
102 ネットワーク
104 電子ドキュメントサーバ
105 電子ドキュメント
106 ユーザデバイス
108 要求
110 デジタルコンポーネント配信システム
112 デジタルコンポーネントデータベース
114 応答データ、応答
120 テキスト読上げシステム
130 マッチングおよび選択システム
140 コンテンツ配信システム
200 データフロー
202 非テキストメディアコンテンツ、ポッドキャスト、オーディオコンテンツ
204 出力テキストデータ、テキスト出力、テキストデータ
206 デジタルコンテンツ
300 プロセス
400 コンピュータシステム
410 プロセッサ
420 メモリ
430 ストレージデバイス
440 入力/出力デバイス
450 システムバス
460 ディスプレイデバイス