JP2019525272A - 自然言語クエリのための近似的テンプレート照合 - Google Patents

自然言語クエリのための近似的テンプレート照合 Download PDF

Info

Publication number
JP2019525272A
JP2019525272A JP2018534059A JP2018534059A JP2019525272A JP 2019525272 A JP2019525272 A JP 2019525272A JP 2018534059 A JP2018534059 A JP 2018534059A JP 2018534059 A JP2018534059 A JP 2018534059A JP 2019525272 A JP2019525272 A JP 2019525272A
Authority
JP
Japan
Prior art keywords
word
expression vector
distance
media guidance
search query
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2018534059A
Other languages
English (en)
Other versions
JP7016802B2 (ja
JP2019525272A5 (ja
Inventor
サシクマール ヴェンカタラマン,
サシクマール ヴェンカタラマン,
マニーク マロートラー,
マニーク マロートラー,
ピー, アハメド ニザーム モハイデーン
ピー, アハメド ニザーム モハイデーン
Original Assignee
ロヴィ ガイズ, インコーポレイテッド
ロヴィ ガイズ, インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ロヴィ ガイズ, インコーポレイテッド, ロヴィ ガイズ, インコーポレイテッド filed Critical ロヴィ ガイズ, インコーポレイテッド
Publication of JP2019525272A publication Critical patent/JP2019525272A/ja
Publication of JP2019525272A5 publication Critical patent/JP2019525272A5/ja
Application granted granted Critical
Publication of JP7016802B2 publication Critical patent/JP7016802B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24578Query processing with adaptation to user needs using ranking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/248Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3343Query execution using phonetics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/106Display of layout of documents; Previewing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/186Templates
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/422Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
    • H04N21/42203Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS] sound input device, e.g. microphone
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/482End-user interface for program selection
    • H04N21/4828End-user interface for program selection for searching program descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/84Generation or processing of descriptive data, e.g. content descriptors
    • H04N21/8405Generation or processing of descriptive data, e.g. content descriptors represented by keywords

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • General Health & Medical Sciences (AREA)
  • Acoustics & Sound (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

システムおよび方法は、一セットの検索結果を識別するための複数の自然言語検索クエリを認識するメディアガイダンスアプリケーションを提供する。例えば、ユーザは、ヤンキースが次の野球の試合をいつするのか判定したいと思うことがある。ユーザは、「ヤンキースがいつ試合をするのか?」、「ヤンキースの試合は何時か?」、「次のヤンキースの野球の試合はいつか?」等の複数の方法でそのクエリを構造化してもよい。ユーザは、クエリがどのように構造化されるかにかかわらず、同一結果、ヤンキースがプレーする予定である場合の説明を期待する。本システムおよび方法は、アイテムまたは情報を検索することにより所望の結果を得るとき、ユーザが複数の検索クエリを使用することを可能にする。

Description

従来のシステムでは、ユーザは、テレビ番組およびスポーツスコア等の多種多様なメディアおよび情報を利用することができる。ユーザが、ハンズフリーインターフェースを使用して、例えば、音声制御を使用して情報を検索したいと思うことはよくある。従来のシステムには、ユーザが音声コマンドを使用して検索を実行できるようにしたものがある。しかしながら、これらのシステムは、典型的には、入力された音声検索が決められたクエリ自体に直接照合されることに起因して、固定数の検索クエリのみしか認識できない。したがって、ユーザは、システムによって認識され得るように、その音声コマンドを特定の様式において構造化しなければならない。このことは、たいてい、ユーザが自然ではないと思えるような様式でしゃべることを要求する。多くの場合、ユーザは、ユーザがそのシステムを使用できるようになる前に、コマンドがどのように構造化される必要があるかを調べるか、または学習するかしなければならない。音声コマンドが、システムによって認識され得るように構造化されない場合、ユーザは、システムによって認識される様式でコマンドを繰り返すように促されるか、検索結果を提示されないかの少なくとも一方であり得る。
従って、複数の自然言語クエリを類似した意図を有すると認識し、その意図に一致した検索結果を提供するメディアガイダンスシステムに適した方法およびシステムが本明細書で説明されている。ユーザは、種々の異なる言葉を使用して、試合スケジュールに関するクエリ等のクエリを構造化したいと思うことがある。例えば、ユーザは、ヤンキースが次の野球の試合をいつするのかを判定したいと思うことがある。ユーザは、そのクエリを「ヤンキースがいつ試合をするのか?」または「ヤンキースの試合は何時か?」、「次のヤンキースの野球の試合はいつか?」として構造化してもよい。メディアガイダンスアプリケーションは、上述された3つの例示的クエリ毎に、ユーザが次のヤンキースの試合をいつするのかを判定しようとしていると判定し得る。
従って、メディアガイダンスアプリケーションは、次のヤンキースの試合に適したデータベースに対してクエリ(問い合わせ)を行い、そのクエリの結果をユーザに提示してもよい。例えば、メディアガイダンスアプリケーションは、検索クエリからの単語を処理し、単語をベクトル空間にマッピング(位置付け)してもよく、このベクトル空間では、類似した意味を有する単語は互いに、類似した意味を有していない単語に比べてより近くに配置される。例えば、単語の「ネコ」および「イヌ」は、互いにより近くに配置される可能性が高く、なぜなら、それらの単語は両方とも家で飼うペットを説明するテキストで典型的に現れるからである。メディアガイダンスアプリケーションは、検索クエリにごく接近しているテンプレートをベクトル空間から取り出し、テンプレートに基づいて検索結果を取り出してもよい。例えば、メディアガイダンスアプリケーションは、単語「ネコ」および「イヌ」にごく接近して家で飼うペットに関連付けられたテンプレートを識別可能であり、これは、単語およびテンプレートの両方がペットに関連しているからである。例えば、メディアガイダンスアプリケーションは、検索クエリの単語を一般化された検索クエリテンプレートの単語と(例えば、ベクトル空間内で検索クエリ単語をテンプレートの単語と照合することによって)照合するという理由で、メディアガイダンスアプリケーションは、テンプレートの変形例をメモリ内に記憶することを必要とせずに、検索クエリテンプレートを検索クエリテンプレート自体の変形例と照合することが可能である。したがって、ユーザには、先行技術システムにおけるように、構造化されたクエリを思い出して暗誦する負担はかからない。
いくつかの側面では、メディアガイダンスアプリケーションは、ユーザ入力デバイスを介して、少なくとも2つの単語を含む入力クエリを受信してもよい。例えば、メディアガイダンスアプリケーションは、メディアガイダンスアプリケーションに接続されるキーボードを介してテキスト入力を受信してもよい。いくつかの実施形態では、メディアガイダンスアプリケーションは、メディアガイダンスアプリケーションにアクセス可能なマイクロホン等のオーディオ入力デバイスで音声入力等のオーディオ信号を検出してもよい。メディアガイダンスアプリケーションは、オーディオ入力を処理し、オーディオ信号内に単語のテキスト文字列を作成してもよい。例えば、メディアガイダンスアプリケーションは、音声入力に対するスピーチ/テキスト認識アルゴリズムを実行してもよい。メディアガイダンスアプリケーションは、例えば、入力オーディオに対するスピーチ/テキスト処理を行った後、入力オーディオが2つの単語を含むことを判定してもよい。
メディアガイダンスアプリケーションは、入力クエリの第1の単語に対応する第1の表現ベクトルおよび入力クエリの第2の単語に対応する第2の表現ベクトルを算出する。例えば、メディアガイダンスアプリケーションは、例えば、メディアガイダンスアプリケーションにアクセス可能な自然言語処理ツールキットの単語/ベクトルアルゴリズム等のアルゴリズムを使用して、入力クエリ内の単語毎にベクトル表現を生成してもよい。メディアガイダンスアプリケーションは、第1のベクトル表現および第2のベクトル表現のそれぞれの値が、第1の単語および第2の単語が一セットの単語特徴のうちの特徴に一致する度合いに相当するように、第1および第2の単語の各々毎にベクトル表現を算出してもよい。例えば、メディアガイダンスアプリケーションは、第1の単語が一セットの単語からの他の単語と同時に現れる確率を第1の単語に基づいて判定してもよい。第1の表現ベクトルでの各個別の値は、第1の単語がセット内の各個別の単語と同時に発生する個別の確率を構成していてもよい。実施例として、メディアガイダンスアプリケーションは、入力クエリ「アントラージュはどこ(Where’s Entourage)?」を受信し得る。メディアガイダンスアプリケーションは、単語「どこ(Where’s)」に関する第1の表現ベクトルを算出し、単語「アントラージュ(Entourage)」に関する第2の表現ベクトルを算出してもよい。
メディアガイダンスアプリケーションは、検索意図に関連する検索クエリテンプレートをデータベースから取り出す。例えば、メディアガイダンスアプリケーションは、検索意図、例えば、ユーザがどこでメディアにアクセスし得るかを判定しようとする意図などと関連付けられた単語に関して遠隔サーバにクエリを行ってもよい。その単語は、検索クエリ「メディア_Xの場所を見つけて(Locate Media_X)?」等の、その意図に一致する検索クエリテンプレートに対応してもよく、検索クエリ「メディア_Xの場所を見つけて?」では、用語「メディア_X(Media_X)」がメディアガイダンスアプリケーションによってユーザが検索するメディアに対応する単語と置換され得る。例えば、メディアガイダンスアプリケーションは、ユーザが映画「ハンガー ゲーム(Hunger Games)」を検索していると判定してもよい。ユーザが映画「ハンガー ゲーム」を検索していると判定したことに応答して、メディアガイダンスアプリケーションは、テンプレート内の用語「メディア_X」を用語「ハンガー ゲーム」と置換しつつデータベースへのクエリを生成してもよい。
メディアガイダンスアプリケーションは、上述のように、検索クエリテンプレート内の単語毎に表現ベクトルを算出してもよい。例えば、メディアガイダンスアプリケーションは、「場所を見つける(Locate)」等の第3の単語に対応する第3の表現ベクトルを算出してもよく、「メディア_X」等の第4の単語に対応する第4の表現ベクトルを算出してもよい。上述のように、第3および第4の表現ベクトル内の値は、第3の単語および第4の単語が一セットの単語特徴のうちの特徴にどの程度一致しているかを表し得るものであり、例えば、第3および第4の単語のそれぞれが一般に使用される一セットの単語のうちの各単語と同時に現れる確率等である。
メディアガイダンスアプリケーションは、第1の表現ベクトルと第3の表現ベクトルとの間の第1の距離を算出する。メディアガイダンスアプリケーションは、その距離を算出することにより、第1の表現ベクトルが第3の表現ベクトルにどの程度類似するかを比較するための測定基準(メトリック)を作成してもよい。例えば、メディアガイダンスアプリケーションは、第1の表現ベクトル内の各値を第3の表現ベクトル内の個別の値と比較することにより、距離を算出してもよい。例えば、メディアガイダンスアプリケーションは、第1の表現ベクトル内の個別の値と第3の表現ベクトル内の対応する個別の値とが類似しない場合、大距離を算出し得る。対照的に、メディアガイダンスアプリケーションは、第1の表現ベクトル内の個別の値が第3の表現ベクトル内の個別の値に類似する(例えば、第1の表現ベクトル内の値と第3の表現ベクトル内の対応する値との間の差異が閾値内である)場合、小距離を算出し得る。例えば、メディアガイダンスアプリケーションは、単語「場所を見つける」に対応する表現ベクトルを単語「どこ」に対応する表現ベクトルと比較し、両単語がアイテムの所在を判定することに言及していることから、距離が小さいと判定してもよい。
メディアガイダンスアプリケーションは、第1の距離が第1の閾値距離未満であると判定したことに応答して、第2の表現ベクトルと第4の表現ベクトルとの間の第2の距離を算出する。例えば、メディアガイダンスアプリケーションは、第1の閾値をメモリから取り出すことにより、第1の単語が第3の単語に類似するかどうかを判定してもよい。例えば、メディアガイダンスアプリケーションは、上述のように、「どこ」および「場所を見つける」の個別の表現ベクトル間の第1の距離を判定してもよい。メディアガイダンスアプリケーションは、距離の値を閾値と比較することにより、単語が類似するかどうかを判定してもよい。メディアガイダンスアプリケーションが、単語が類似すると判定した場合、メディアガイダンスアプリケーションは、第2の表現ベクトルと第4の表現ベクトルとの間の第2の距離を算出してもよい。例えば、メディアガイダンスアプリケーションは、上述のように第2の距離を算出することにより、「アントラージュ」等の第2の単語が「メディア_X」等の第4の単語にどの程度類似するかを定量化してもよく、その理由は、入力クエリの第1の単語が検索クエリテンプレートの第1の単語に一致するからである。
メディアガイダンスアプリケーションは、第2の距離が第2の閾値距離未満であると判定したことに応答して検索クエリテンプレートを選択する。例えば、メディアガイダンスアプリケーションは、第2の閾値をメディアガイダンスアプリケーションにアクセス可能な遠隔データベースから取り出してもよい。メディアガイダンスアプリケーションは、第2の距離と第2の閾値距離を比較し、単語が検索クエリテンプレートを使用するのに十分に類似するかどうか(例えば、入力クエリ内の両単語が検索クエリの単語に一致するかどうか)を判定してもよい。第2の距離が第2の閾値距離未満である場合、メディアガイダンスアプリケーションは、検索クエリテンプレートを選択することにより、検索結果をユーザに提供してもよい。
メディアガイダンスアプリケーションは、検索クエリテンプレートに基づいて検索結果を取り出す。例えば、メディアガイダンスアプリケーションは、検索クエリテンプレートを使用して、メディアの場所を含むデータベースへのクエリを構築してもよい。例えば、メディアガイダンスアプリケーションは、ユーザの検索クエリの第1の単語が検索クエリテンプレートの第1の単語に一致するという理由、およびユーザの検索クエリの第2の単語が検索クエリテンプレートの第2の単語に一致するという理由で、検索クエリテンプレートが検索結果を取り出すために使用されるべきであると判定してもよい。
いくつかの実施形態では、メディアガイダンスアプリケーションは、入力クエリからの2つの単語のうちの1つをデータベースへのクエリ内に含めてもよい。例えば、メディアガイダンスアプリケーションは、検索クエリテンプレート内の単語を入力クエリからの単語と置換してもよい。メディアガイダンスアプリケーションは、検索クエリテンプレート(例えば、「メディア_Xの場所を見つけて」)に基づいて検索クエリを生成し、「メディア_X」をユーザが場所を見つけようとしているメディア(例えば、「アントラージュ」)と置換してもよい。メディアガイダンスアプリケーションは、クエリを検索データベースに伝送し、クエリの結果をユーザに提示してもよい。例えば、メディアガイダンスアプリケーションは、ネットワーク接続を介してクエリ「アントラージュの場所を見つけて」を伝送し、(例えば、データベースに対するクエリの結果に基づいて)メディアガイダンスアプリケーションのスピーカを介してメディアの場所を説明するオーディオを出力してもよい。
いくつかの実施形態では、メディアガイダンスアプリケーションは、第1の単語と関連付けられた品詞を識別し、第1の単語がデータベースへのクエリ内に含まれるべきであるかどうかを判定してもよい。例えば、メディアガイダンスアプリケーションは、品詞タグ付けアルゴリズムを入力クエリに適用してもよい。メディアガイダンスアプリケーションは、入力クエリ内の各単語をトークン化(文字列などに分割)し、トークン化された単語のリストを品詞タグ付けプログラム(「POSタグ付けプログラム」)に入力することにより、各単語と関連付けられた品詞を取り出してもよい。ある実施例では、メディアガイダンスアプリケーションは、第2の単語が入力クエリの主語であると判定してもよい。例えば、メディアガイダンスアプリケーションは、「アントラージュ」が入力クエリの主語であることを判定してもよい。メディアガイダンスアプリケーションは、入力クエリの主語(例えば、「アントラージュ」)を検索クエリテンプレートの主語(例えば、「メディア_X」)と置換し、クエリを遠隔データベースに伝送することにより検索結果を取り出してもよい。
いくつかの実施形態では、メディアガイダンスアプリケーションは、入力クエリ内のストップワードを無視してもよい。例えば、メディアガイダンスアプリケーションは、入力クエリが3以上の単語を含むと判定してもよい。メディアガイダンスアプリケーションは、入力クエリの第1の単語をストップワードのリストと比較し、第1の単語がストップワードのリストの1つのストップワードに一致するかどうかを判定してもよい。第1の単語がストップワードに一致すると判定したことに応答して、メディアガイダンスアプリケーションは、入力クエリの別の単語(例えば、入力クエリからの第3の単語)を選択し、入力クエリの第3の単語のための第5の表現ベクトルを(例えば、入力クエリの第3の単語が一セットの単語特徴のうちの特徴に一致する度合いを判定することによって)算出してもよい。メディアガイダンスアプリケーションは、第1の表現ベクトルがストップワードに対応することを理由に、第1の表現ベクトルを使用する代わりに第5の表現ベクトルを使用してもよい。
いくつかの実施形態では、メディアガイダンスアプリケーションは、第1の表現ベクトル内の第1の値を第2の表現ベクトル内の対応する第2の値と比較することによって、第1の表現ベクトルと第3の表現ベクトルとの間の距離を算出してもよい。例えば、メディアガイダンスアプリケーションは、第1の表現ベクトルのX次元内の第1の値を求め、第1の値を第3の表現ベクトルのX次元内の第2の値から減算してもよい。メディアガイダンスアプリケーションは、差異をメモリ内のある場所に記憶してもよい。メディアガイダンスアプリケーションは、第1および第3の表現ベクトルの各要素を繰り返し選択し、差異を算出し、距離に基づいて距離変数をインクリメントまたはデクリメントしてもよい。メディアガイダンスアプリケーションは、第1の値を第2の値と比較することにより、第1の値および第2の値が閾値量未満だけ異なるかどうかを判定してもよい(例えば、これはメディアガイダンスアプリケーションがゼロの差異を算出するとき、または差異がメモリ内に記憶される閾値未満である場合である)。メディアガイダンスアプリケーションが差異が閾値未満であると判定した場合、メディアガイダンスアプリケーションは、距離の値を不変のままに(またはゼロを追加)してもよい。メディアガイダンスアプリケーションが、第1の値および第2の値が閾値量を上回って異なると判定した場合、メディアガイダンスアプリケーションは、値が似ていない度合いを算出し、値が似ていない度合いに基づいて距離をインクリメントしてもよい。例えば、メディアガイダンスアプリケーションは、2つの値間の差異が5であるとき、5だけ距離をインクリメントしてもよい。
いくつかの実施形態では、メディアガイダンスアプリケーションは、ベクトル空間内での第3の表現ベクトルに対する第1の表現ベクトルの方位に基づいて、第1の表現ベクトルと第3の表現ベクトルとの間の第1の距離を算出してもよい。例えば、メディアガイダンスアプリケーションは、第1の表現ベクトルおよび第3の表現ベクトル内の要素の数(例えば、N)を判定してもよい。第1の表現ベクトル内の要素の数が第3の表現ベクトル内の要素の数と等しい(例えば、両ベクトルは、N個の要素を有する)と判定したことに応答して、メディアガイダンスアプリケーションは、次元Nのベクトル空間内の第1および第3の表現ベクトルを評価してもよい。メディアガイダンスアプリケーションは、ベクトル空間内の距離、例えば、ベクトル間の角度を表す第1および第3の表現ベクトル間のコサイン類似度などを算出してもよい。第1の表現ベクトルと第3の表現ベクトルとの間の角度が小さいとき、メディアガイダンスアプリケーションは、ベクトルが類似していると判定してもよい。第1の表現ベクトルと第3の表現ベクトルとの間の角度が大きいとき、メディアガイダンスアプリケーションは、ベクトルが類似しないと判定してもよい。
いくつかの実施形態では、メディアガイダンスアプリケーションは、第1の単語が第3の単語の意味に一致し、第4の単語の意味に一致しないとき、(例えば、第1の表現ベクトルと第3の表現ベクトルとの間の)第1の距離が、第2の表現ベクトルと第4の表現ベクトルとの間の第3の距離より小さいと判定してもよい。例えば、上述のように、メディアガイダンスアプリケーションは、第1および第3の距離としてコサイン距離を算出してもよい。メディアガイダンスアプリケーションは、(例えば、単語の意味を捕捉する表現ベクトルに基づいて、)2つの単語が類似の意味を有するとき、距離が最小であると判定し、単語が類似の意味を有していないとき、距離が最大であると判定してもよい。
いくつかの実施形態では、メディアガイダンスアプリケーションは、第1の距離が第1の閾値距離より大きいと判定し、その結果、比較のための第2のテンプレートを取り出してもよい。例えば、第1の検索クエリテンプレートは、検索クエリ「人物_Xは誰?」を含んでいてもよい。メディアガイダンスアプリケーションは、「どこ」(例えば、第1の単語)と「誰」(例えば、第5の単語)との間の距離を算出してもよい。メディアガイダンスアプリケーションは、上述のように、その個別の表現ベクトルに基づいて、「誰」が「どこ」に類似しないと判定してもよい。
いくつかの実施形態では、メディアガイダンスアプリケーションは、検索クエリテンプレートを含むデータベースから第2の検索クエリテンプレートを取り出してもよい。例えば、メディアガイダンスアプリケーションは、検索クエリ「メディア_Xの場所を見つけて」を含む第2の検索クエリテンプレートを取り出してもよい。メディアガイダンスアプリケーションは、第2の検索クエリテンプレートを取り出し、上述のように、第2の検索クエリテンプレートの第1の単語(例えば、「場所を見つける」)および第2の検索クエリテンプレートの第2の単語(例えば、「メディア_X」)に対して個別の第5および第6の表現ベクトルを算出してもよい。
いくつかの実施形態では、メディアガイダンスアプリケーションは、上述のように、第1の表現ベクトルと第5の表現ベクトルとの間の第3の距離を算出し、第3の距離を第1の閾値距離と比較してもよい。第3の距離が第1の閾値距離未満であると判定したことに応答して、メディアガイダンスアプリケーションは、第2の表現ベクトルと第6の表現ベクトルとの間の第4の距離を算出し(例えば、これにより入力クエリの第2の単語「アントラージュ」が、第2の検索クエリテンプレートの第2の単語「メディア_X」に一致するかどうかを判定し)てもよい。第4の距離が第2の閾値未満であると判定したことに応答して、メディアガイダンスアプリケーションは、第2の検索クエリテンプレートを選択してもよい。第2の検索クエリテンプレートに基づいて、メディアガイダンスアプリケーションは、データベースへのクエリを作成することにより、入力クエリの意図に対応する検索結果を取り出し(例えば、テレビ番組「アントラージュ」の場所を識別し)てもよい。メディアガイダンスアプリケーションは、例えば、ユーザ意図に一致するメディアリスト項目(例えば、アントラージュに関するメディアリスト項目)の表示を生成することによって、検索結果をユーザに提示してもよい。
いくつかの実施形態では、メディアガイダンスアプリケーションは、検索クエリテンプレートと関連付けられたレイアウトに基づいて編成された検索結果を表示のために生成してもよい。例えば、メディアガイダンスアプリケーションは、検索結果がユーザにどのように提示されるべきかを示すテンプレートと関連付けられたレイアウトを(例えば、データベースから)取り出してもよい。例えば、メディアガイダンスアプリケーションは、「映画ズーランダー(Zoolander)はどこで再生可能?」の入力クエリを取り出してもよい。メディアガイダンスアプリケーションは、(例えば、上述のように、入力クエリを検索クエリテンプレートと照合することによって)入力クエリがメディアの場所を見つける意図に一致すると判定し、ズーランダーへアクセスできるメディアコンテンツプロバイダを識別する(例えば、モザイクの)タイルを表示のために生成してもよい。対照的に、メディアガイダンスアプリケーションは、入力クエリ「現在のMLB順位表は?」を取り出してもよい。メディアガイダンスアプリケーションは、(例えば、入力クエリを検索クエリテンプレートと照合することによって)入力クエリが統計を表示する意図に一致すると判定してもよい。入力クエリが統計を表示する意図に一致すると判定したことに応答して、メディアガイダンスアプリケーションは、MLB統計を含む表を表示のために生成してもよい。
上述されたシステムおよび/または方法は、本開示における他のシステム、方法、および/または装置に適用され、もしくはそれに従って使用されてもよいことに留意されたい。
本開示の上記および他の目的ならびに利点は、類似の参照文字が全体を通して類似の部品を指す添付図面と併せて解釈される以下の詳細な説明を考慮することによって明白となるであろう。
図1は、本開示のいくつかの実施形態による、クエリをユーザから受信するように構成されたユーザ機器の例証的実施例を示す。 図2は、本開示のいくつかの実施形態による、2次元ベクトル空間内の単語表現ベクトルの例証的実施例を示す。 図3は、本開示のいくつかの実施形態による、メディアおよび場所検索テンプレートを表す例証的データベースエントリを示す。 図4は、本開示のいくつかの実施形態による、ユーザによって入力されたクエリに一致する検索クエリテンプレートに基づいて取り出された検索結果を表示するユーザ機器の例証的実施例を示す。 図5は、本開示のいくつかの実施形態による、提示され得るメディアガイダンス表示の例証的実施例を示す。 図6は、本開示のいくつかの実施形態による、提示され得るメディアガイダンス表示の別の例証的実施例を示す。 図7は、本開示のいくつかの実施形態による例証的ユーザ機器デバイスのブロック図である。 図8は、本開示のいくつかの実施形態による例証的メディアシステムのブロック図である。 図9は、本開示のいくつかの実施形態による、近似的テンプレート照合に基づいて検索結果を生成するための例証的ステップのフローチャートであるである。 図10は、本開示のいくつかの実施形態による、検索クエリテンプレートを選択するための例証的ステップのフローチャートである。
複数の自然言語クエリを類似の意図を有すると認識し、その意図にマッチした検索結果を生成するメディアガイダンスシステムを提供するシステムおよび方法が本明細書に提供される。例えば、メディアガイダンスアプリケーションは、音声ベースまたはテキストベースの検索のためのインターフェースを提供してもよい。メディアガイダンスアプリケーションは、それぞれ同一の意図を有する複数の異なるクエリをユーザから取り出してもよい。例えば、ヒトのしゃべり方の自然なバリエーションによって、ユーザが、テレビ番組「ゲーム オブ スローンズ(Game of Thrones)」が次回放送されることを確認しようとするとき、ユーザは、「『ゲーム オブ スローンズ』がもう一度放送されるのはいつ?」または「『ゲーム オブ スローンズ』の次のエピソードを見ることができる時間は?」もしくは「『ゲーム オブ スローンズ』のエピソード5が見ることができる時間を教えて」等ということができる。メディアガイダンスアプリケーションは、バリエーションのそれぞれを「ゲーム オブ スローンズ」の次のエピソードがいつ放送されるかを確認しようとする意図として認識してもよい。例えば、メディアガイダンスアプリケーションは、ユーザのための汎用化された意図を含む、データベース内のテンプレートにアクセスしてもよい。例えば、汎用化された意図はメディアスケジュールの要求であってもよい。汎用化された意図は、複数の単語と関連付けられていてもよい。複数の単語の各々は、多次元ベクトル空間のベクトルと関連付けられていてもよく、そこでは、類似の意味を有する単語は、ベクトル空間内でごく接近して配置される。メディアガイダンスアプリケーションは、ベクトル空間内で検索クエリの単語にごく接近するテンプレートの単語を識別することによって、検索クエリに一致するテンプレートを特定してもよい。メディアガイダンスアプリケーションは、テンプレートに基づいて検索クエリを生成し、生成されたクエリに基づいて種々の検索結果を取り出してもよい。前の実施例からすると、メディアガイダンスアプリケーションは、「ゲーム オブ スローンズ」に関する放送スケジュールについての情報を含む、データベースへのクエリを生成してもよい。メディアガイダンスアプリケーションは、クエリに基づいて検索結果を取り出し、結果を表示のために生成してもよい。例えば、メディアガイダンスアプリケーションは、「ゲーム オブ スローンズ」のための放送時間のスケジュールを取り出し、スケジュールを表示のために生成し、次の利用可能なエピソードまたはユーザによって要求された任意の他のエピソードのための放送時間をハイライトしてもよい。
メディアガイダンスアプリケーションは、ユーザ入力デバイスを介して入力クエリを受信してもよい。例えば、メディアガイダンスアプリケーションは、物理的または仮想キーボード(例えば、ディスプレイに生成されたキーボードであって、ディスプレイ上でのタッチ入力が、メディアガイダンスアプリケーションによって文字と相互に関連付けられているキーボード)に接続してもよい。メディアガイダンスアプリケーションは、キーボードを介して自然言語検索クエリ等の検索クエリを含むテキスト入力を受信し、自然言語検索クエリを検索テンプレートに照合することにより、一セットの検索結果を取り出してもよい。例えば、メディアガイダンスアプリケーションは、「デレク ジーター(Derek Jeter)の打率統計を見せて」のクエリを取り出してもよい。メディアガイダンスアプリケーションは、クエリを分析し、ユーザが野球選手デレク ジーターに関する統計データを要求していると判定してもよい。ユーザがデレク ジーターに関する統計データを要求していることを検出したことに応答して、メディアガイダンスアプリケーションは、デレク ジーターに関する統計データを取り出し、統計データを表示のために生成してもよい。
所与のコンテンツ配信システムではどれもユーザに利用可能なコンテンツの量はかなりの量であり得る。その結果、多くのユーザは、ユーザがコンテンツの選択を効率的にナビゲートし、要求するかもしないコンテンツを容易に識別することを可能にするインターフェースを通したメディアガイダンスの形態を要求している。そのようなガイダンスを提供するアプリケーションは、本明細書では、双方向メディアガイダンスアプリケーションと称されるが、時として、メディアガイダンスアプリケーションまたはガイダンスアプリケーションと称されることもある。
双方向メディアガイダンスアプリケーションは、ガイダンスを提供するコンテンツに応じて種々の形態をとってもよい。典型的なタイプのメディアガイダンスアプリケーションの1つは、双方向テレビ番組ガイドである。双方向テレビ番組ガイド(時として、電子番組ガイドと称される場合もある)は、とりわけ、ユーザが、多くのタイプのコンテンツまたはメディアアセット間をナビゲートし、それを特定することが可能である公知のガイダンスアプリケーションである。双方向メディアガイダンスアプリケーションは、ユーザが、コンテンツ間をナビゲートし、コンテンツを特定し、選択することを可能にするグラフィカルユーザインターフェース画面を生成してもよい。本明細書で参照されるように、用語「メディアアセット」および「コンテンツ」とは、電子的に消費可能なユーザアセット、例えば、テレビ番組、ならびに有料番組、オンデマンド番組(ビデオオンデマンド(VOD)システムにおけるようなもの)、インターネットコンテンツ(例えば、ストリーミングコンテンツ、ダウンロード可能コンテンツ、ウェブキャスト等)、ビデオクリップ、オーディオ、コンテンツ情報、写真、回転画像、ドキュメント、プレイリスト、ウェブサイト、記事、書籍、電子書籍、ブログ、チャットセッション、ソーシャルメディア、アプリケーション、ゲーム、および/または任意の他のメディアもしくはマルチメディア、および/またはそれらの組み合わせを意味すると理解されたい。ガイダンスアプリケーションはまた、ユーザが、コンテンツ間をナビゲートし、コンテンツを特定することを可能にする。本明細書で参照されるように、用語「マルチメディア」とは、前述の少なくとも2つの異なるコンテンツ形態、例えば、テキスト、オーディオ、画像、ビデオ、または双方向コンテンツ形態を利用するコンテンツを意味すると理解されたい。コンテンツは、ユーザ機器デバイスによって、録画、再生、表示、またはアクセスされてもよいが、また、ライブパーフォーマンスの一部であることも可能である。
本明細書で論じられる実施形態のいずれかを行うためのメディアガイダンスアプリケーションおよび/または任意の命令は、コンピュータ可読媒体上にエンコードされてもよい。コンピュータ可読媒体は、データを記憶することが可能な任意のメディアを含む。コンピュータ可読媒体は、限定されるものではないが、電気または電磁信号の伝搬を含む一過性のものであってもよく、または限定されるものではないが、ハードディスク、フロッピー(登録商標)ディスク、USBドライブ、DVD、CD、メディアカード、レジスタメモリ、プロセッサキャッシュ、ランダムアクセスメモリ(「RAM」)等の揮発性および不揮発性コンピュータメモリまたは記憶デバイスを含む非一過性であってもよい。
インターネット、モバイルコンピューティング、および高速無線ネットワークの出現に伴って、ユーザは、従来は使用しなかったユーザ機器デバイス上でメディアにアクセスするようになっている。本明細書で参照されるように、語句「ユーザ機器デバイス」、「ユーザ機器」、「ユーザデバイス」、「電子デバイス」、「電子機器」、「メディア機器デバイス」、または「メディアデバイス」は、テレビ、スマートTV、セットトップボックス、衛星テレビに対応するための統合型受信機デコーダ(IRD)、デジタル記憶デバイス、デジタルメディア受信機(DMR)、デジタルメディアアダプタ(DMA)、ストリーミングメディアデバイス、DVDプレーヤ、DVDレコーダ、接続型DVD、ローカルメディアサーバ、BLU−RAY(登録商標)プレーヤ、BLU−RAY(登録商標)レコーダ、パーソナルコンピュータ(PC)、ラップトップコンピュータ、タブレットコンピュータ、ウェブTVボックス、パーソナルコンピュータテレビ(PC/TV)、PCメディアサーバ、PCメディアセンター、ハンドヘルドコンピュータ、固定電話、携帯情報端末(PDA)、携帯電話、ポータブルビデオプレーヤ、ポータブル音楽プレーヤ、ポータブルゲーム機、スマートフォン、または任意の他のテレビ機器、コンピューティング機器、もしくは無線デバイス、および/またはそれらの組み合わせ等の前述のコンテンツにアクセスするための任意のデバイスを意味すると理解されたい。いくつかの実施形態では、ユーザ機器デバイスは、正面画面および裏面画面、複数の正面画面、または複数の角度付き画面を有してもよい。いくつかの実施形態では、ユーザ機器デバイスは、正面カメラおよび/または背面カメラを有してもよい。これらのユーザ機器デバイス上で、ユーザは、テレビを通して利用可能な同一のコンテンツ間をナビゲートし、それを特定することが可能であってもよい。その結果として、メディアガイダンスは、これらのデバイス上でも利用可能であってもよい。提供されるガイダンスは、テレビのみを通して利用可能なコンテンツ、他のタイプのユーザ機器デバイスのうちの1つ以上のもののみを通して利用可能なコンテンツ、またはテレビおよび他のタイプのユーザ機器デバイスのうちの1つ以上のものの両方を通して利用可能なコンテンツのためのものであってもよい。メディアガイダンスアプリケーションは、ユーザ機器デバイス上で、オンラインアプリケーションとして提供されてもよく(例えば、ウェブサイト上で提供されてもよく)、もしくは独立型アプリケーションまたはクライアントとして提供されてもよい。メディアガイダンスアプリケーションを実装し得る種々のデバイスおよびプラットフォームは、以下でより詳細に説明される。
メディアガイダンスアプリケーションの機能の1つは、メディアガイダンスデータをユーザに提供することである。本明細書で参照されるように、語句「メディアガイダンスデータ」または「ガイダンスデータ」は、コンテンツに関連する任意のデータ、またはガイダンスアプリケーションを動作させる際に使用されるデータを意味すると理解されたい。例えば、ガイダンスデータは、番組情報、ガイダンスアプリケーション設定、ユーザの好み、ユーザプロファイル情報、メディアリスト項目、メディア関連情報(例えば、放送時間、放送チャンネル、タイトル、内容、評価情報(例えば、ペアレンタルコントロール評価、批評家の評価等)、ジャンルまたはカテゴリ情報、俳優情報、放送会社またはプロバイダのロゴのロゴデータ等)、メディア形式(例えば、標準解像度、高解像度、3D等)、通知情報(例えば、テキスト、画像、メディアクリップ等)、オンデマンド情報、ブログ、ウェブサイト、およびユーザが所望のコンテンツ選択間をナビゲートし、それを特定するために役立つ、任意の他のタイプのガイダンスデータを含んでもよい。
いくつかの実施形態では、以下の図7に関連してさらに議論されている制御回路704は、メモリ(すなわち、記憶装置708)に記憶されているメディアガイダンスアプリケーションのために命令を実行する。具体的には、制御回路704は、メディアガイダンスアプリケーションによって、前述および後述の機能を行うように命令されてもよい。例えば、メディアガイダンスアプリケーションは、制御回路704に命令を提供することにより、図1、図4、図5、および図6に関連して議論されているメディアガイダンス表示を生成する。いくつかの実装では、制御回路704によって行われるいかなるアクションもメディアガイダンスアプリケーションから受信された命令に基づいてもよい。
本明細書で参照されるように、用語「〜に応答して」は、「〜の結果として開始される」ことを指す。例えば、第2のアクションに応答して行われている第1のアクションは、第1のアクションと第2のアクションとの間に介在ステップを含んでもよい。
本明細書で参照されるように、用語「〜に直接応答して」は、「〜によって引き起こされる」ことを指す。例えば、第2のアクションに直接応答して行われている第1のアクションは、第1のアクションと第2のアクションとの間に介在ステップを含まなくてもよい。
図1は、本開示のいくつかの実施形態による、音声検索を受信するように構成されたユーザ機器の実施例の例証的実施形態を示す。ユーザ機器100は、システムクエリ102と、ユーザクエリ104とを含んで描写されている。
いくつかの側面では、ユーザ機器100は、類似の意図を有する複数の自然言語クエリを認識し、その意図に一致する検索結果を生成するメディアガイダンスアプリケーションを実行する制御回路(例えば、制御回路704)を備えてもよい。ユーザ機器100は、以下の図8に関連してさらに議論される、ユーザテレビ機器802、ユーザコンピュータ機器804、および無線ユーザ通信デバイス806と同じ全ての能力を有してもよい。
いくつかの実施形態では、メディアガイダンスアプリケーションは、少なくとも2つの単語を含む検索入力を入力デバイスから取り出す。例えば、メディアガイダンスアプリケーションは、音波を電気信号に変換し、検索入力(例えば、音声検索入力)を取り出すことが可能なマイクロホンまたは別の音変換器にアクセスしてもよい。メディアガイダンスアプリケーションは、マイクロホンまたは音変換器から取り出された電気信号を処理し、電気信号内の単語を識別してもよい。例えば、メディアガイダンスアプリケーションは、マイクロホンを備えるデバイス(例えば、ユーザ機器100)の中に統合されてもよい。メディアガイダンスアプリケーションは、ユーザがマイクロホンにしゃべることに応答して、オーディオ波信号をマイクロホンから取り出してもよい。例えば、メディアガイダンスアプリケーションは、(例えば、マイクロホンからの信号をポーリングする、または音入力によってトリガされる割込を検出することによって)マイクロホンで信号を監視してもよい。マイクロホンでの音が、閾値(例えば、アナログオーディオ信号のための閾値電圧またはデジタル信号のための閾値)を上回る場合、メディアガイダンスアプリケーションは、オーディオ信号に対するスピーチ/テキストシーケンシングを行い、テキスト文字列をオーディオ入力から生成してもよい。
いくつかの実施形態では、メディアガイダンスアプリケーションは、オーディオ信号に対するスピーチ/テキストシーケンシングを行い、オーディオ信号内の単語を識別してもよい。例えば、メディアガイダンスアプリケーションは、オーディオ信号を分析し、オーディオ音素(例えば、音の類似クラス)をリストアップしているデータベースにオーディオ信号を照合してもよい。例えば、単語「bet(ベット)」と「bat(バット)」との間の差異が、音素「EH」対「AE」によって捕捉されてもよい。いくつかの実施形態では、メディアガイダンスアプリケーションは、照合を行う前に、オーディオ信号をフィルタ処理してもまたは変換してもよい。例えば、メディアガイダンスアプリケーションは、マイクロホンにてオーディオ信号をフィルタ処理してもよい。例えば、メディアガイダンスアプリケーションは、アナログフィルタ(例えば、ヒト音声範囲の周波数内ではない電圧信号を遮断するアナログフィルタ)を適用しても、または(例えば、数学的方程式をデジタルサンプルのシーケンスに適用することによって)デジタルフィルタリングを適用してもよい。
いくつかの実施形態では、メディアガイダンスアプリケーションは、音素を単語−音素ペアのデータベースと照合してもよい。例えば、メディアガイダンスアプリケーションは、オーディオ信号内で音素「B」、「EH」、および「T」を検出してもよい。メディアガイダンスアプリケーションは、一連の3音素、2音素、4音素等(すなわち、3つ、2つ、4つの音素等)をオーディオ信号から作成してもよい。例えば、メディアガイダンスアプリケーションは、オーディオ信号内の音素「B」、「EH」、および「T」の検出に基づいて、3音素「B−EH−T」を作成してもよい。メディアガイダンスアプリケーションは、単語−音素ペアを含むデータベースを検索することにより、スピーチ信号内の単語を識別してもよい。例えば、メディアガイダンスアプリケーションは、3音素「B−EH−T」を、単語「BET」と関連付けられた「B−EH−T」を有するデータベースエントリと照合してもよい。メディアガイダンスアプリケーションは、音素「B−EH−T」に対応するオーディオ信号の部分が単語「BET」と関連付けられると判定してもよい。
いくつかの実施形態では、メディアガイダンスアプリケーションは、オーディオ入力を処理することにより、オーディオ信号内に単語のテキスト文字列を作成してもよい。例えば、メディアガイダンスアプリケーションは、上述のように音声入力に対してスピーチ/テキスト認識アルゴリズムを行ってもよい。メディアガイダンスアプリケーションは、複数の単語を識別し、オーディオ信号にて検出された単語のそれぞれを含む文字列を形成してもよい。例えば、メディアガイダンスアプリケーションは、オーディオ信号内で単語「Let’s(レッツ)」、「Go(ゴー)」、および「Rovi(ロビー)」を検出してもよい。単語「Let’s」、「Go」、および「Rovi」の検出に応答して、メディアガイダンスアプリケーションは、文字列「Let’s go Rovi(レッツ ゴー ロビー)」を作成してもよい。
いくつかの実施形態では、メディアガイダンスアプリケーションは、一連の単語に対するオーディオ信号を監視することにより検索を開始してもよい。例えば、メディアガイダンスアプリケーションは、メディアガイダンスアプリケーションが検索を行うことを開始する前に、メディアガイダンスアプリケーションが一連の単語「Let’s go Rovi」を検出するまで待機してもよい。例えば、メディアガイダンスアプリケーションは、一連の単語「Let’s go Rovi」を検出したことに応答して、システムクエリ102を表示のために生成してもよい。いくつかの実施例では、メディアガイダンスアプリケーションは、クエリを取り出すことにより、検索(例えば、「Let’s go Rovi」)を初期化した後、検索クエリ(例えば、ユーザクエリ104)をユーザから取り出してもよい。いくつかの実施形態では、メディアガイダンスアプリケーションは、クエリを受信することにより「Let’s go Rovi」等の検索を初期化したことに応答して、検索インターフェース(例えば、システムクエリ102を含む表示)を初期化してもよい。
メディアガイダンスアプリケーションは、入力クエリの第1の単語に対応する第1の表現ベクトルおよび入力クエリの第2の単語に対応する第2の表現ベクトルを算出してもよい。例えば、メディアガイダンスアプリケーションは、上述のように、オーディオインターフェースを介してクエリをユーザから取り出してもよい。メディアガイダンスアプリケーションは、メディアガイダンスアプリケーションのマイクロホンからのオーディオ信号内の単語を検出することに基づいて、文字列「Where’s Entourage?(アントラージュはどこ?)」を作成してもよい。メディアガイダンスアプリケーションは、アルゴリズムを適用することにより、文字列内の単語毎にベクトル表現を識別してもよい。例えば、メディアガイダンスアプリケーションは、アルゴリズムを適用することにより、文字列内の単語毎に意味を識別してもよい。例えば、短縮形「Where’s(どこ)」は、「Where’s Waldo?(ワルドはどこ?)」におけるような「where is」、「Where’s John been all week?(ジョンは一週間ずっとどこにいるのですか?)」におけるような「where has」、または「Where’s salt come from?(塩はどこから来たの?)」におけるような「where does」に対応し得る。メディアガイダンスアプリケーションは、短縮形「Where’s」に関する3つのベクトルを識別し、各ベクトルは、短縮形「Where’s」の意味に対応する。ある実施例では、メディアガイダンスアプリケーションは、近隣の単語に基づいて、単語「Where’s」に対応するベクトルを識別してもよい。例えば、メディアガイダンスアプリケーションは、単語「scale(スケール)」が、「A scale on a fish(魚の鱗)」におけるような第1の意味と、「Weigh the book on the scale(測りで本の重さをはかる)」におけるような第2の意味とを有すると判定してもよい。メディアガイダンスアプリケーションは、「scale」の意味がその周囲の単語に依存することから、「scale」を含む語句に対する表現ベクトルを算出してもよい。
いくつかの実施形態では、メディアガイダンスアプリケーションは、単語のコーパスを分析することにより、コーパス内の言葉に対するベクトル空間を構成してもよい。例えば、メディアガイダンスアプリケーションは、一セットの検索クエリ等のテキストコーパスを複数のユーザから取り出してもよい。メディアガイダンスアプリケーションは、コーパス(例えば、検索クエリのコーパス)内の複数の単語のそれぞれの分布特性を識別してもよい。例えば、メディアガイダンスアプリケーションは、検索クエリのコーパスを分析し、コーパス内で1つの単語が別の単語とともに現れる頻度を判定してもよい。メディアガイダンスアプリケーションは、観察される分布特性に基づいてコーパス内での単語の組み込みを判定してもよい。例えば、「scale of a fish」におけるような単語「scale」に対応するベクトルは、単語「fish(魚)」に対応するベクトルに類似する可能性があり、なぜなら、例えば、メディアガイダンスアプリケーションが、単語「scale」が単語「fish」とともに頻繁に現れると判定し得るからである。
いくつかの実施形態では、メディアガイダンスアプリケーションは、ユーザと関連付けられた単語を含む訓練コーパスを分析してもよい。例えば、メディアガイダンスアプリケーションは、ユーザによって使用される文または単語フラグメントを有する、ユーザと関連付けられたプロファイルを取り出してもよい。例えば、メディアガイダンスアプリケーションは、ユーザの電子メール、テキストメッセージ、および/または会話を記録し(log)、ユーザによって話された、タイプされた、読み取られた、その他のことがなされたテキストのコーパスを作成してもよい。例えば、メディアガイダンスアプリケーションは、ユーザプロファイルをメモリから取り出してもよい。メディアガイダンスアプリケーションは、最初に、ユーザ(例えば、ログイン情報、ユーザの写真、ユーザの音声、ユーザを一意に識別するハッシュ値、またはユーザの任意の他の既知の識別情報)を識別し、その後、ユーザのアイデンティティーをユーザプロファイルデータベースのエントリと比較することによって、ユーザプロファイルが存在するかどうかを判定してもよい。比較の結果、メディアガイダンスアプリケーションは、それが見つけられた場合、プロファイルへのポインタを受信し、またはプロファイルが存在しない場合、ヌル値を受信してもよい。ユーザプロファイルデータベースは、メディアガイダンスアプリケーションに対して遠隔にまたはローカルに、(例えば、以下の図5および図6に関連して説明されている記憶装置508に、または通信ネットワーク614を介してアクセスされるメディアガイダンスデータソース618に)設置されていてもよい。ユーザプロファイルが見つけられた場合、メディアガイダンスアプリケーションは、ユーザと関連付けられたテキストのコーパスを指しているデータベースエントリにアクセスしてもよい。例えば、ユーザは、「アントラージュ」と名付けられたイヌを飼っていてもよい。メディアガイダンスアプリケーションは、ユーザと関連付けられたコーパスを分析し、単語「アントラージュ」がユーザのペットへの他の言及(例えば、「取って来い、アントラージュ」、「アントラージュに餌をあげた?」、または「アントラージュの散歩に行って来て」)とともに頻繁に現れることを判定してもよい。この判定に応答して、メディアガイダンスアプリケーションは、検索クエリ「アントラージュはどこ?」が、ユーザのペットの場所を確認する要求に対応するであろうと判定してもよく、その一方で、アントラージュと名付けられたペットを飼っていない第2のユーザに対して、メディアガイダンスアプリケーションは、クエリ「アントラージュはどこ?」がテレビ番組「アントラージュ」に対応すると判定してもよい。
いくつかの実施形態では、メディアガイダンスアプリケーションは、既存のアルゴリズムまたはアルゴリズムのセットを使用して、単語に関するベクトル表現を識別してもよい。例えば、メディアガイダンスアプリケーションは、メディアガイダンスアプリケーションにアクセス可能な自然言語処理ツールキット内の単語/ベクトルアルゴリズム等のニューラルネットワーク、例えば、Word2Vecニューラルネットワークなどを利用して、単語に関するベクトル表現を識別してもよい。メディアガイダンスアプリケーションは、検索クエリ内で識別された単語をWord2Vecニューラルネットワークに基づく表現と関連付けてもよい。例えば、メディアガイダンスアプリケーションは、言葉「アントラージュはどこ?」を含む検索クエリを取り出してもよい。メディアガイダンスアプリケーションは、ニューラルネットワークに基づいて、単語「どこ」に関する第1のベクトルと、単語「アントラージュ」に関する第2のベクトルとを算出してもよい。
いくつかの実施形態では、メディアガイダンスアプリケーションは、第1の単語と関連付けられた品詞を識別し、第1の単語がデータベースへのクエリ内に含まれるべきであるかどうかを判定してもよい。例えば、メディアガイダンスアプリケーションは、(例えば、隠れマルコフモデルを使用して)品詞タグ付けアルゴリズムを入力クエリに適用してもよい。例えば、メディアガイダンスアプリケーションは、アルゴリズムを使用して検索クエリを単語または語句に分割することにより、検索クエリをトークン化してもよい。メディアガイダンスアプリケーションは、トークン化された単語のリストを品詞タグ付けプログラム(「POSタグ付けプログラム」)に入力することにより、各単語と関連付けられた品詞を取り出してもよい。ある実施例では、メディアガイダンスアプリケーションは、第2の単語は、入力クエリの主語であると判定してもよい。例えば、メディアガイダンスアプリケーションは、「アントラージュ」が入力クエリの主語であると判定してもよい。
いくつかの実施形態では、メディアガイダンスアプリケーションは、入力クエリ内のストップワードを無視してもよい。例えば、メディアガイダンスアプリケーションは、上述のように、POSタグ付けアルゴリズムを適用することに基づいて、クエリのある単語がストップワードであると判定してもよい。メディアガイダンスアプリケーションが(例えば、単語が意味を検索クエリに追加しないことから)ある単語がストップワードであることを判定する場合、メディアガイダンスアプリケーションは、その単語に関するベクトル表現の生成をスキップしてもよい。例えば、メディアガイダンスアプリケーションは、入力クエリの第1の単語をストップワードのリストと比較することにより、第1の単語がストップワードのリストのストップワードに一致するかどうかを判定してもよい。第1の単語がストップワードに一致すると判定したことに応答して、メディアガイダンスアプリケーションは、入力クエリの別の単語(例えば、入力クエリの第3の単語)を選択し、入力クエリの第3の単語に対する表現ベクトルを算出してもよい。メディアガイダンスアプリケーションは、第1の単語に対する第1の表現ベクトルを算出しようとするのに処理リソースを浪費する代わりに第5の表現ベクトルを使用してもよい。
図2は、本開示のいくつかの実施形態による、2次元ベクトル空間内の単語表現ベクトルを示す。グラフ200は、y次元202と、x次元214とを含んで描写されている。いくつかの実施形態では、y次元202およびx次元214は、上述のように、単語コーパスを分析する際にメディアガイダンスアプリケーションによって検出された単語の特徴を表す。y次元202またはx次元214内の値は、単語が次元によって表される特徴に一致する度合いを表し得る。例えば、単語がx次元214の特徴に緊密に一致する場合、メディアガイダンスアプリケーションは、高値を単語に対応する表現ベクトルのx次元上に割り当ててもよい。例えば、特徴は、単語特徴または語句にごく接近するところに単語を見出す尤度等の確率であってもよい。例えば、メディアガイダンスアプリケーションは、x次元が、ある単語が名詞に近接して、または動物名に近接して頻繁に現れる確率に対応すると判定してもよい。x次元における値は、コーパスを評価することと、単語が単語特徴または語句に近接して現れる確率を判定することとに基づいて算出されてもよい。例えば、メディアガイダンスアプリケーションは、単語がコーパス内に現れる総回数をカウントし、確率は、単語がコーパス内に現れる総回数に対する、単語が単語特徴または語句にごく接近して現れる回数の割合であると判定してもよい。
グラフ200は、表現ベクトル218、216、および208を含んでさらに描写されている。いくつかの実施形態では、メディアガイダンスアプリケーションは、上述のように、ニューラルネットワーク内の単語の埋込に基づいて、表現ベクトル218、216、および208を算出してもよい。メディアガイダンスアプリケーションは、y次元202およびx次元214によって表される2次元ベクトル空間内の表現ベクトルに対して、y次元202における第1の値と、x次元214における第2の値とを算出してもよい。例えば、メディアガイダンスアプリケーションは、単語がy次元202に対応する単語特徴にどの程度一致するかに基づいて表現ベクトルに関するY値を算出し、単語がx次元214に対応する単語特徴にどの程度一致するかに基づいてX値を算出してもよい。本例示的図では、2つの単語特徴のみが、便宜上、描写されている。しかしながら、メディアガイダンスアプリケーションは、任意の数の次元(例えば、3次元、200次元等)における表現ベクトルを算出してもよい。
いくつかの実施形態では、メディアガイダンスアプリケーションは、次元内の値間の差異を算出してもよい。グラフ200は、差異204、206、210、および212を含んで描写されており、各差異は、x次元214またはy次元202のいずれかにおける表現ベクトル216、218および/または208間の類似度を表す。メディアガイダンスアプリケーションは、表現ベクトル216と表現ベクトル218との間のy次元202における差異に基づいて差異204を算出してもよい。メディアガイダンスアプリケーションは、表現ベクトル208と表現ベクトル218との間のy次元202における差異に基づいて差異206を算出してもよい。メディアガイダンスアプリケーションは、表現ベクトル218と表現ベクトル208との間のx次元214における差異に基づいて差異210を算出してもよい。メディアガイダンスアプリケーションは、表現ベクトル218と表現ベクトル216との間のx次元214における差異に基づいて差異212を算出してもよい。
いくつかの実施形態では、メディアガイダンスアプリケーションは、検索クエリ(例えば、ユーザクエリ104)を検索クエリテンプレートと照合し、検索結果を取り出してもよい。例えば、メディアガイダンスアプリケーションは、検索クエリ「アントラージュはどこ?」、「アントラージュのストリーミング場所を見つけて」、または「アントラージュが放送中のチャンネルは?」を受信し、各検索クエリをユーザがテレビ番組「アントラージュ」等のメディアにアクセスし得る場所を見出すためのテンプレートと照合してもよい。
図3は、本開示のいくつかの実施形態による、検索テンプレートを表す例証的データベースエントリを示す。データベース300は、2つのエントリ、エントリ316およびエントリ318を含んで描写されている。エントリ316は、メディア場所検索と関連付けられた検索意図302に対応する。エントリ316はさらに、データベース304と関連付けられている。データベース304は、メディアガイダンスアプリケーションによって、検索意図302を有する検索を行うために使用されてもよい。例えば、メディアガイダンスアプリケーションは、メディアガイダンスアプリケーションが映画の位置付けられている場所を識別するために検索を行うとき、エントリ316を選択してもよい。メディアガイダンスアプリケーションは、データベース304が検索意図302(例えば、メディアの場所を見つける意図)と関連付けられるため、検索を行うためにデータベース304を選択してもよい。エントリ316はさらに、検索クエリテンプレート306を含んで描写されている。メディアガイダンスアプリケーションは、検索意図302を有する検索を行うとき、検索クエリテンプレート306を使用して、データベース304へのクエリを構造化してもよい。例えば、メディアガイダンスアプリケーションが、メディアの場所を識別するための検索(例えば、検索意図302に一致した検索)を行うとき、メディアガイダンスアプリケーションは、検索クエリテンプレート306に基づいてフォーマットされるクエリを使用してデータベース304を検索してもよい。例えば、入力クエリが、「アントラージュはどこ?」であるとき、メディアガイダンスアプリケーションは、「アントラージュ」に関するメディア場所を見つける要求として検索クエリを識別してもよい。メディアガイダンスアプリケーションは、クエリ「アントラージュの場所を見つけて」を作成し、データベース304(例えば、メディアガイダンスデータデータベース)にクエリを伝送することによって、「アントラージュ」を検索してもよい。メディアガイダンスアプリケーションは、ユーザクエリ104と関連付けられた表現ベクトル(例えば、「どこ」および「アントラージュ」に関する表現ベクトル)をクエリテンプレートの単語と関連付けられた表現ベクトル(例えば、表現ベクトル308および310)に一致させることに基づいて、ユーザクエリ104(例えば、「アントラージュはどこ?」)をエントリ316に一致させてもよい。例えば、エントリ316は、単語「場所を見つける」に対応する関連付けられた表現ベクトル308と、単語「メディア」に対応する表現ベクトル310とを含むように描写されている。メディアガイダンスアプリケーションは、単語「どこ」に対応する表現ベクトルを単語「場所を見つける」に対応する表現ベクトルに一致させてもよい。同様に、メディアガイダンスアプリケーションは、(例えば、個別の単語が、類似意味を有し、したがって、ベクトル空間内でごく接近して位置するため)単語「アントラージュ」に対応する表現ベクトルを単語「メディア」に対応する表現ベクトルに一致させてもよい。
メディアガイダンスアプリケーションは、データベース(例えば、検索意図302)から検索意図に関連する検索クエリテンプレート(例えば、検索クエリテンプレート306)を取り出してもよい。例えば、メディアガイダンスアプリケーションは、ユーザ検索クエリの単語に対する表現ベクトルを生成し、検索クエリの単語の表現ベクトルをデータベース(例えば、データベース300)内に記憶される表現ベクトルと一致させてもよい。例えば、メディアガイダンスアプリケーションは、第1の検索クエリの単語(例えば、「どこ」)に対応する第1の表現ベクトルを算出し、第2の検索クエリの単語(例えば、「アントラージュ」)に関する第3の表現ベクトルを算出してもよい。メディアガイダンスアプリケーションは、データベースエントリ(例えば、メディア場所検索意図に対応するエントリ316)に対応する第3の単語に対応する第3の表現ベクトルを算出してもよい。例えば、メディアガイダンスアプリケーションは、エントリ316に対応する単語「場所を見つける」に関する第3の表現ベクトルを算出してもよい。メディアガイダンスアプリケーションは、エントリ316と関連付けられた「メディア」等の第4の単語に対応する第4の表現ベクトルを算出してもよい。上述のように、第3および第4の表現ベクトル内の値は、第3の単語および第4の単語が一セットの単語特徴のうちの特徴(例えば、x次元214に対応し、y次元202に対応する特徴)にどの程度一致するかを表し得る。
メディアガイダンスアプリケーションは、2つのベクトル間の距離を算出することによって、第1の表現ベクトルが第2の表現ベクトルに一致するかどうかを判定してもよい。例えば、メディアガイダンスアプリケーションは、第1の表現ベクトル(例えば、単語「どこ」に関する表現ベクトル)と第3の表現ベクトル(例えば、単語「場所を見つける」に関する表現ベクトル)との間の第1の距離を算出してもよい。メディアガイダンスアプリケーションは、(例えば、用語「どこ」が、単語「場所」の使用にどの程度一致するかを判定するため)、距離を算出することにより、第1の表現ベクトルが第3の表現ベクトルにどの程度類似するかを比較するためのメトリックを作成してもよい。メディアガイダンスアプリケーションは、各次元における各個別のベクトル値の類似度に基づいて、各表現ベクトル間の全体的距離を算出してもよい。例えば、メディアガイダンスアプリケーションは、x次元214における2つの表現ベクトル間の距離を算出し、y次元202における2つの表現ベクトル間の距離を算出してもよい。2つのベクトル間の全体的距離は、x次元およびy次元における距離の和に基づいて算出されてもよい。例えば、メディアガイダンスアプリケーションは、表現ベクトル216および218のそれぞれに対応するx次元における値を取り出し、値を減算することによって、表現ベクトル216と表現ベクトル218との間のx次元214における差異を算出してもよい。メディアガイダンスアプリケーションは、差異212によって図式的に表される距離を算出してもよい。ある実施例では、メディアガイダンスアプリケーションは、単語「場所を見つける」に対応する表現ベクトルを単語「どこ」に対応する表現ベクトルと比較し、両単語がアイテムの場所を識別することに関連付けられることができ、したがって、ベクトル空間内でごく接近したベクトルを有するという理由から、距離が小さいと判定してもよい。
メディアガイダンスアプリケーションは、第1の距離が第1の閾値距離未満であると判定したことに応答して、第2の表現ベクトルと第4の表現ベクトルとの間の第2の距離を算出してもよい。例えば、メディアガイダンスアプリケーションは、第1の閾値をメモリから取り出し、第1の単語が第3の単語に類似するかどうかを判定してもよい。例えば、メディアガイダンスアプリケーションは、上述のように、「どこ」および「場所を見つける」の個別の表現ベクトル間の第1の距離を判定してもよい。メディアガイダンスアプリケーションは、距離の値を閾値と比較することにより、単語が類似するかどうかを判定してもよい。メディアガイダンスアプリケーションが、単語が類似すると判定した場合、メディアガイダンスアプリケーションは、第2の表現ベクトルと第4の表現ベクトルとの間の第2の距離(例えば、y次元202における距離)を算出してもよい。例えば、メディアガイダンスアプリケーションは、前述と同様に、第2の距離を算出し、「アントラージュ」等の第2の単語が「メディア」等の第4の単語にどの程度類似するかを定量化してもよい。
いくつかの実施形態では、メディアガイダンスアプリケーションは、表現ベクトルの次元毎に、対応する値間の距離を算出することによって、第1の表現ベクトルと第3の表現ベクトルとの間の距離を算出してもよい。例えば、メディアガイダンスアプリケーションは、第1の表現ベクトルから第1の値(例えば、次元Nにおける値)を求め、同様に次元Nからの第3の表現ベクトルからの第2の値から第1の値を減算してもよい。メディアガイダンスアプリケーションは、差異をメモリ内のある場所に記憶してもよい。メディアガイダンスアプリケーションは、第1および第3の表現ベクトルの各要素を繰り返し選択し、差異を算出し、差異に基づいて距離変数をインクリメントまたはデクリメントしてもよい。例えば、次元毎に、メディアガイダンスアプリケーションは、第1および第2の表現ベクトルのN次元における値間の算出された差異だけ、距離変数をインクリメントしてもよい。
いくつかの実施形態では、(例えば、メディアガイダンスアプリケーションがゼロの差異を算出するとき)メディアガイダンスアプリケーションは、第1の値を第2の値と比較することにより、第1の値が第2の値の閾値内であるかどうかを判定してもよい。例えば、メディアガイダンスアプリケーションは、第1の値と第2の値との間の距離が5であることを判定してもよい。メディアガイダンスアプリケーションが、距離が小さい(例えば、メモリから取り出される閾値未満である)と判定したとき、メディアガイダンスアプリケーションは、距離をインクリメントしなくてもよい。例えば、メディアガイダンスアプリケーションが、差異がゼロ(例えば、1の閾値未満)であると判定したとき、メディアガイダンスアプリケーションは、距離の値を不変のままに(例えば、ゼロを追加)してもよい。メディアガイダンスアプリケーションが、第1の値が第2の値の閾値距離内にないと判定した場合、メディアガイダンスアプリケーションは、値が似ていない度合いを算出し、値が似ていない度合いに基づいて、距離をインクリメントしてもよい。例えば、メディアガイダンスアプリケーションは、差異の段階尺度に基づいて距離を算出してもよい。例えば、メディアガイダンスアプリケーションは、差異がゼロ〜1であるとき、距離をゼロインクリメントしてもよい。メディアガイダンスアプリケーションは、(例えば、1つの次元において類似するベクトルに関する距離に及ぼす影響を最小限にするが、その次元においてベクトルが類似しないとき、距離に及ぼす影響を増幅させるため)差異が1〜2であるとき、距離を5だけインクリメントしてもよい。
いくつかの実施形態では、メディアガイダンスアプリケーションは、ベクトル空間内での第3の表現ベクトルに対する第1の表現ベクトルの方位に基づいて、第1の表現ベクトルと第3の表現ベクトルとの間の第1の距離を算出してもよい。例えば、メディアガイダンスアプリケーションは、第1の表現ベクトルおよび第3の表現ベクトル内の要素の数(例えば、N)を判定してもよい。第1の表現ベクトル内の要素の数が第3の表現ベクトル内の要素の数と等しい(例えば、両ベクトルがN個の要素を有する)と判定したことに応答して、メディアガイダンスアプリケーションは、次元Nのベクトル空間内の第1および第3の表現ベクトルを評価してもよい。メディアガイダンスアプリケーションは、ベクトル空間内の距離、例えば、ベクトル間の角度を表す第1および第3の表現ベクトル間のコサイン類似度などを算出してもよい。第1の表現ベクトルと第3の表現ベクトルとの間の角度が小さいとき、メディアガイダンスアプリケーションは、ベクトルが類似すると判定してもよい。第1の表現ベクトルと第3の表現ベクトルとの間の角度が大きいとき、メディアガイダンスアプリケーションは、ベクトルが類似しないと判定してもよい。
いくつかの実施形態では、メディアガイダンスアプリケーションは、第2の単語が第4の単語の意味に一致し、第5の単語の意味に一致しないとき、(例えば、第2の表現ベクトルと第4の表現ベクトルとの間の)第2の距離が、第2の表現ベクトルと第5の表現ベクトル(例えば、第2のテンプレートの単語に対応する表現ベクトル)との間の第3の距離より小さいと判定してもよい。例えば、上述のように、メディアガイダンスアプリケーションは、第2の表現ベクトル(例えば、単語「アントラージュ」に関する表現ベクトル)と第4の表現ベクトル(例えば、単語「メディア」に関する表現ベクトル)との間の第2の距離を算出してもよい。ある実施例では、メディアガイダンスアプリケーションは、単語POIに対応する表現ベクトル314等の第5の表現ベクトル間の距離を算出してもよい。メディアガイダンスアプリケーションは、2つの単語が類似の意味を有する(例えば、「アントラージュ」および「メディア」は、「アントラージュ」および「メディア」が訓練コーパスにおける類似コンテキスト内でともに現れる可能性が高いため、類似表現ベクトルを有し得る)とき、距離が最小であると判定してもよく、単語が類似意味を有していない(例えば、「アントラージュ」および「POI」は、「アントラージュ」および「POI」がコーパスにおける類似コンテキスト内に現れない可能性が高いため、類似しない表現ベクトルを有し得る)とき、距離が最大であることを判定してもよい。
メディアガイダンスアプリケーションは、第2の距離が第2の閾値距離未満であると判定したことに応答して、検索クエリテンプレートを選択してもよい。例えば、メディアガイダンスアプリケーションは、第2の閾値をメディアガイダンスアプリケーションにアクセス可能な遠隔データベースから取り出してもよい。メディアガイダンスアプリケーションは、第2の距離を第2の閾値距離と比較することにより、単語が検索クエリテンプレートを使用するために十分に類似するかどうか(例えば、入力クエリ内の両単語が検索クエリの単語に一致するかどうか)を判定してもよい。第2の距離が第2の閾値距離未満である場合、メディアガイダンスアプリケーションは、検索クエリテンプレートを選択することにより、検索結果をユーザに提供してもよい。
いくつかの実施形態では、メディアガイダンスアプリケーションは、第1の距離が第1の閾値距離を上回ると判定し、その結果、比較のための第2のテンプレートを取り出してもよい。例えば、第1の検索クエリテンプレートは、検索クエリ「その人は誰?」を含んでいてもよい。メディアガイダンスアプリケーションは、「どこ」(例えば、第1の単語)と「誰」(例えば、第5の単語)との間の距離を算出してもよい。メディアガイダンスアプリケーションは、上述のように、その個別の表現ベクトルに基づいて「誰」が「どこ」に類似しないと判定してもよい。
いくつかの実施形態では、メディアガイダンスアプリケーションは、第2の検索クエリテンプレートを検索クエリテンプレートを含むデータベースから取り出してもよい。例えば、メディアガイダンスアプリケーションは、検索クエリ「メディアの場所を見つけて」を含む第2の検索クエリテンプレートを取り出してもよい。メディアガイダンスアプリケーションは、上述のように、第2の検索クエリテンプレートを取り出し、第2の検索クエリテンプレートの第1の単語(例えば、「場所を見つける」)および検索クエリテンプレートの第2の単語(例えば、「メディア」)に対する個別の第5および第6の表現ベクトルを算出してもよい。
いくつかの実施形態では、メディアガイダンスアプリケーションは、上述のように、第1の表現ベクトルと第5の表現ベクトルとの間の第3の距離を算出し、第5の距離を第1の閾値距離と比較してもよい。第3の距離が第1の閾値距離未満であると判定したことに応答して、メディアガイダンスアプリケーションは、(例えば、入力クエリの第2の単語「アントラージュ」が第2の検索クエリテンプレートの第2の単語「メディア」に一致するかどうかを判定するために)第2の表現ベクトルと第6の表現ベクトルとの間の第4の距離を算出してもよい。第4の距離が第2の閾値未満であると判定したことに応答して、メディアガイダンスアプリケーションは、第2の検索クエリテンプレートを選択してもよい。
メディアガイダンスアプリケーションは、検索クエリテンプレートに基づいて、検索結果を取り出してもよい。例えば、メディアガイダンスアプリケーションは、検索クエリテンプレートを使用して、メディアの場所を含むデータベースに対するクエリを構成してもよい。例えば、メディアガイダンスアプリケーションは、ユーザの検索クエリの第1の単語が検索クエリテンプレートの第1の単語に一致するという理由と、ユーザの検索クエリの第2の単語が検索クエリテンプレートの第2の単語に一致するという理由とから、検索クエリテンプレートが検索結果を取り出すために使用されるべきであると判定してもよい。
いくつかの実施形態では、メディアガイダンスアプリケーションは、距離に基づいて、対応するテンプレートをランク付けしてもよい。例えば、メディアガイダンスアプリケーションは、(例えば、ベクトルの次元毎に距離を算出し、距離を総和することによって)検索クエリ「アントラージュはどこ?」が、エントリ316まで5の全体的距離を有し、エントリ318まで15の全体的距離を有すると判定してもよい。メディアガイダンスアプリケーションは、5の距離が15の距離未満であるため、エントリ316をエントリ318と比較してより高くランク付けしてもよい。メディアガイダンスアプリケーションは、エントリ318に対するエントリ316のより高いランク付けのため、エントリ318ではなく、エントリ316に対応する検索クエリテンプレートを選択してもよい。
いくつかの実施形態では、メディアガイダンスアプリケーションは、検索クエリテンプレートを使用して、テンプレートと関連付けられたデータベースにクエリしてもよい。例えば、メディアガイダンスアプリケーションは、テンプレートを使用し、入力クエリからの2つの単語のうちの1つを含めることにより、データベース(例えば、メディア場所を識別しようとするとき、検索結果を取り出すのに使用されるデータベース304)へのクエリを形成してもよい。例えば、メディアガイダンスアプリケーションは、検索クエリテンプレート内の単語を入力クエリからの単語と置換してもよい。メディアガイダンスアプリケーションは、検索クエリテンプレート(例えば、「メディアの場所を見つけて」)に基づいて検索クエリを生成し、「メディア」を単語「メディア」に最も緊密に一致するユーザ検索クエリからの単語(例えば、メディアまでの最小距離を有するユーザ検索クエリからの単語)と置換してもよい。メディアガイダンスアプリケーションは、クエリをデータベースエントリ内で識別された検索データベース(例えば、データベース304)に伝送し、クエリの結果をユーザに提示してもよい。例えば、メディアガイダンスアプリケーションは、ネットワーク接続を介してクエリ「アントラージュの場所を見つけて」を伝送してもよい。いくつかの実施形態では、メディアガイダンスアプリケーションは、クエリに基づいて検索結果を取り出し、検索結果をユーザに提示してもよい。例えば、メディアガイダンスアプリケーションは、(例えば、データベースに対するクエリの結果に基づいて)メディアガイダンスアプリケーションのスピーカを介してメディアの場所を説明するオーディオを出力してもよい。
図4は、本開示のいくつかの実施形態による、ユーザによって入力されたクエリに一致する検索クエリテンプレートに基づいて取り出された検索結果を表示するユーザ機器の例証的実施例を示す。ユーザ機器400は、検索意図402に対応する検索結果404および検索結果406を含んで描写されている。ユーザ機器400は同様に、オプション408およびオプション410を含んで描写されており、オプション408およびオプション410は、選択されたとき、メディアガイダンスアプリケーションに、意図に基づいてより多くの検索結果を取り出させる、または異なる意図に基づいて検索結果を取り出させる。例えば、メディアガイダンスアプリケーションは、検索クエリの単語を検索クエリテンプレートの単語と一致させることに基づいて、メディアガイダンスアプリケーションによって予測される意図に対応する意図402を表示のために随意に生成してもよい。メディアガイダンスアプリケーションは、データベースから「アントラージュ」のオンデマンドバージョンの利用可能性を示す情報を受信したことに応答して、番組「アントラージュ」のオンデマンド提案に対応する検索結果404を表示のために随意に生成してもよい。メディアガイダンスアプリケーションは、テレビ番組「アントラージュ」についてのスケジュール情報を受信したことに応答して番組「アントラージュ」の放送バージョンに対応する検索結果406を随意に表示のために生成してもよい。メディアガイダンスアプリケーションは、テレビ番組「アントラージュ」に対応する付加的検索結果が利用可能であるとき、オプション408を表示のために随意に生成してもよい。メディアガイダンスアプリケーションは、ユーザ検索クエリが閾値量内で第2のテンプレートに一致すると判定したことに応答して、オプション410を表示のために随意に生成してもよい。例えば、メディアガイダンスアプリケーションは、「アントラージュ」と名付けられたペットを飼っているユーザに対して、クエリ「アントラージュはどこ?」がメディアを検索する意図およびペットの場所を見つける意図の両方に一致すると判定してもよい。メディアガイダンスアプリケーションは、したがって、(例えば、オプション410を介して)ユーザが異なる意図を使用して検索を行うためのオプションを生成してもよい。
いくつかの実施形態では、メディアガイダンスアプリケーションは、検索クエリテンプレートと関連付けられたレイアウトに基づいて編成された検索結果を(例えば、ユーザ機器400で)表示のために生成してもよい。例えば、メディアガイダンスアプリケーションは、検索結果がユーザに提示されるべき方法を示す、テンプレートと関連付けられたレイアウトを(例えば、エントリ316から)取り出してもよい。例えば、メディアガイダンスアプリケーションは、「アントラージュが見られる場所は?」の入力クエリを取り出してもよい。メディアガイダンスアプリケーションは、(例えば、上述のように、入力クエリを検索クエリテンプレートと照合することによって)入力クエリがメディアの場所を見つける意図に一致すると判定し、識別されたメディアについての情報(例えば、検索結果404または406)を含むタイルを表示のために生成してもよい。対照的に、メディアガイダンスアプリケーションは、入力クエリ「現在のMLB順位表は?」を取り出してもよい。メディアガイダンスアプリケーションは、(例えば、入力クエリをスポーツ統計に関する検索クエリテンプレートと関連付けられた単語と照合することによって)入力クエリが統計を表示する意図に一致すると判定してもよい。入力クエリが統計を表示する意図に一致すると判定したことに応答して、メディアガイダンスアプリケーションは、スポーツ統計を含む表、選手の画像、MLBと関連付けられたメディアについての情報を表示のために生成してもよい。
本明細書の実施例は、2つの単語を用いて2つの次元に関連して説明されているが、ユーザ検索クエリ、テンプレート等は、任意の数の単語と関連付けられてもよい。テンプレートと関連付けられた複数の単語の表現ベクトルは、単語のニューラルネットワーク埋込に基づいて任意の数の次元と関連付けられてもよい。
図5〜6は、メディアガイダンスデータを提供するために使用され得る例証的表示画面を示す。図5〜6に示される表示画面は、任意の好適なユーザ機器デバイスまたはプラットフォーム上に実装されてもよい。図5〜6の表示は、フル画面表示として図示されているが、それらはまた、表示されているコンテンツ上に完全または部分的に重ね合わせられてもよい。ユーザは、表示画面に提供された選択可能なオプション(例えば、メニューオプション、リスト項目オプション、アイコン、ハイパーリンク等)を選択することによって、もしくはリモートコントロールまたは他のユーザ入力インターフェースもしくはデバイス上の専用ボタン(例えば、GUIDE「ガイド」ボタン)を押下することによって、コンテンツ情報へのアクセスの要望を指示してもよい。ユーザの指示に応答して、メディアガイダンスアプリケーションは、グリッド内の時間およびチャンネル別、時間別、チャンネル別、ソース別、コンテンツタイプ別、カテゴリ別(例えば、映画、スポーツ、ニュース、子供向け、または他の番組カテゴリ)、または他の所定の、ユーザ定義の、もしくは他の編成基準等のいくつかの方法のうちの1つにおいて編成されたメディアガイダンスデータを伴う表示画面を提供してもよい。
図5は、単一表示内の異なるタイプのコンテンツへのアクセスも可能にする、時間およびチャンネル別に配列された番組リスト項目表示500の例証的グリッドを示す。表示500は、(1)チャンネル/コンテンツタイプ識別子504の列および(2)時間識別子506の行を持つグリッド502を含んでもよく、(1)チャンネル/コンテンツタイプ識別子504の列では、各チャンネル/コンテンツタイプ識別子(列内のセル)が利用可能な異なるチャンネルまたはコンテンツのタイプを特定しており、および(2)時間識別子506の行では、各時間識別子(行内のセル)は番組の時間帯を特定している。グリッド502も、番組リスト項目508等の番組リストのセルを含み、グリッド502では、各リスト項目は、チャンネルおよび時間に関連付けられたリスト項目上に設けられている番組のタイトルを提供する。ユーザ入力デバイスを用いて、ユーザは、ハイライト領域510を移動させることによって番組リスト項目を選択することができる。ハイライト領域510によって選択される番組リスト項目に関する情報が番組情報領域512内に提供されてもよい。領域512は、例えば、番組タイトル、番組内容、番組が提供される時間(該当する場合)、番組が放送されるチャンネル(該当する場合)、番組の評価、および他の所望の情報を含んでもよい。
線形番組(例えば、所定の時間に複数のユーザ機器デバイスに伝送されるようにスケジューリングされ、スケジューリングに従って提供されるコンテンツ)へのアクセスの提供に加え、メディアガイダンスアプリケーションは、非線形番組(例えば、任意の時間においてユーザ機器デバイスにアクセス可能であって、スケジューリングに従って提供されるものではないコンテンツ)へのアクセスも提供する。非線形番組は、オンデマンドコンテンツ(例えば、VOD)、インターネットコンテンツ(例えば、ストリーミングメディア、ダウンロード可能メディア等)、ローカルに記憶したコンテンツ(例えば、前述の任意のユーザ機器デバイスまたは他の記憶デバイス上に記憶されたコンテンツ)、または時間的制約のない他のコンテンツを含む異なるコンテンツソースからのコンテンツを含んでもよい。オンデマンドコンテンツは、映画または特定のコンテンツプロバイダ(例えば、「ザ ソプラノス(The Sopranos)」や「カーブ ユア エンシュージアズム(Curb Your Enthusiasm)」を提供するHBOオンデマンド(HBO On Demand))によって提供される任意の他のコンテンツを含んでもよい。HBO ON DEMANDは、タイム ワーナー カンパニー エル ピーらによって所有されるサービスマークであり、THE SOPRANOSおよびCURB YOUR ENTHUSIASMは、ホーム ボックス オフィス インクによって所有される商標である。インターネットコンテンツは、チャットセッションまたはウェブキャスト等のウェブイベント、もしくはインターネットウェブサイトまたは他のインターネットアクセス(例えば、FTP)を通して、ストリーミングコンテンツまたはダウンロード可能なコンテンツとしてオンデマンドで利用可能なコンテンツを含んでもよい。
グリッド502は、オンデマンドリスト項目514、録画コンテンツリスト項目516、およびインターネットコンテンツリスト項目518を含む非線形番組のメディアガイダンスデータを提供してもよい。異なるタイプのコンテンツソースからの、コンテンツのためのメディアガイダンスデータを組み合わせている表示は、時として、「混合メディア」表示と称されることもある。表示500とは異なる、表示され得るメディアガイダンスデータのタイプの種々の配列(例えば、録画および放送リスト項目のみの表示、オンデマンドおよび放送リスト項目のみの表示等)は、ユーザ選択またはガイダンスアプリケーション定義に基づいてもよい。例証されるように、リスト項目514、516、および518は、これらのリスト項目の選択が、それぞれ、オンデマンドリスト項目、録画リスト項目、またはインターネットリスト項目専用の表示にアクセスできることを示すように、グリッド502内に表示される時間ブロック全体に及ぶように示されている。いくつかの実施形態では、これらのコンテンツタイプのリスト項目は、グリッド502に直接含まれてもよい。ユーザがナビゲーションアイコン520のうちの1つを選択することに応答して、付加的メディアガイダンスデータが表示されてもよい(ユーザ入力デバイス上の矢印キーを押下することは、ナビゲーションアイコン520を選択するのと同様な方法で表示に影響を及ぼしてもよい)。
表示500はまた、ビデオ領域522、およびオプション領域526を含んでもよい。ビデオ領域522は、ユーザが、現在利用可能である、今後利用可能となる、またはユーザに利用可能であった番組を視聴および/またはプレビューすることを可能にしてもよい。ビデオ領域522のコンテンツは、グリッド502に表示されるリスト項目のうちの1つに対応するか、またはそれから独立していてもよい。ビデオ領域を含むグリッド表示は、時として、ピクチャインガイド(PIG)表示と称されることもある。PIG表示およびそれらの機能は、2003年5月13日発行のSatterfieldらの米国特許第6,564,378号、および2001年5月29日発行のYuenらの米国特許第6,239,794号でさらに詳細に説明されており、それらは全体として参照することによって本明細書に組み込まれる。PIG表示は、本明細書に説明される実施形態の他のメディアガイダンスアプリケーション表示画面に含まれてもよい。
オプション領域526は、ユーザが、異なるタイプのコンテンツ、メディアガイダンスアプリケーション表示、および/またはメディアガイダンスアプリケーション特徴にアクセスすることを可能にしてもよい。オプション領域526は、ディプレイ500(および本明細書に説明される他の表示画面)の一部であってもよく、もしくは画面上のオプションを選択すること、またはユーザ入力デバイス上の専用または割当可能ボタンを押下することによって、ユーザによって呼び出されてもよい。オプション領域526内の選択可能オプションは、グリッド502内の番組リスト項目に関連する特徴に関してもよく、またはメインメニュー表示から利用可能なオプションを含んでもよい。番組リスト項目に関連する特徴は、番組を受信する他の放送時間または他の方法を検索すること、番組を録画すること、番組の連続録画を有効化すること、番組および/またはチャンネルをお気に入りとして設定すること、番組を購入すること、もしくは他の特徴を含んでもよい。メインメニュー表示から利用可能なオプションは、検索オプション、VODオプション、ペアレンタルコントロールオプション、インターネットオプション、クラウドベースのオプション、デバイス同期オプション、第2の画面デバイスオプション、種々のタイプのメディアガイダンスデータ表示にアクセスするためのオプション、プレミアムサービスを購読するためのオプション、ユーザのプロファイルを編集するためのオプション、ブラウザオーバーレイにアクセスするためのオプション、もしくは他のオプションを含んでもよい。
メディアガイダンスアプリケーションは、ユーザの好みに基づいて個人向けにされてもよい。個人向けにされたメディアガイダンスアプリケーションは、ユーザが、表示および特徴をカスタマイズして、個人向けにされた「体験」をメディアガイダンスアプリケーションとともに生成することを可能にする。この個人向けにされた体験は、ユーザがこれらのカスタマイズを入力できるようにすることによって、および/またはメディアガイダンスアプリケーションがユーザ活動を監視することによって種々のユーザの好みを判定することによって生成されてもよい。ユーザは、ガイダンスアプリケーションにログインすることによって、またはその他の方法でガイダンスアプリケーションに対して自らを特定することによって、それらの個人向けにされたガイダンスアプリケーションにアクセスしてもよい。メディアガイダンスアプリケーションのカスタマイズは、ユーザプロファイルに従って作成されてもよい。カスタマイズは、提示方式(例えば、表示の色方式、テキストのフォントサイズ等)、表示されるコンテンツのリスト項目の態様(例えば、HDTV番組のみまたは3D番組のみ、お気に入りチャンネル選択に基づいたユーザ指定の放送チャンネル、チャンネルの表示の並び替え、推奨コンテンツ等)、所望の録画特徴(例えば、特定のユーザに対する録画または連続録画、録画品質等)、ペアレンタルコントロール設定、インターネットコンテンツのカスタマイズされた提示(例えば、ソーシャルメディアコンテンツ、電子メール、電子的に配信された記事等の提示)、および他の所望のカスタマイズを変更させることを含んでもよい。
メディアガイダンスアプリケーションは、ユーザが、ユーザプロファイル情報を提供することを可能にしてもよく、またはユーザプロファイル情報を自動的にコンパイルしてもよい。メディアガイダンスアプリケーションは、例えば、ユーザがアクセスするコンテンツ、および/またはユーザがガイダンスアプリケーションと行い得る他の情報のやりとりを監視してもよい。加えて、メディアガイダンスアプリケーションは、特定のユーザに関連する他のユーザプロファイルの全体または一部を(例えば、www.allrovi.com等のユーザがアクセスするインターネット上の他のウェブサイトから、ユーザがアクセスする他のメディアガイダンスアプリケーションから、ユーザがアクセスする他の双方向アプリケーションから、ユーザの別のユーザ機器デバイスから、その他のものから)取得し、および/またはメディアガイダンスアプリケーションがアクセスし得る他のソースから、ユーザに関する情報を取得してもよい。結果として、ユーザの異なるユーザ機器デバイスにわたって、統一されたガイダンスアプリケーション体験をユーザに提供することができる。このタイプのユーザ体験は、図8に関連して、以下でより詳細に説明される。付加的な個人向けにされたメディアガイダンスアプリケーション特徴は、2005年7月11日出願のEllisらの米国特許出願第2005/0251827号、2007年1月16日出願のBoyerらの米国特許出願第7,165,098号、および2002年2月21日出願のEllisらの米国特許出願第2002/0174430号でさらに詳細に説明されており、それらは全体として参照することにより本明細書に組み込まれる。
メディアガイダンスを提供するための別の表示配列が、図6に示されている。ビデオモザイク表示600は、コンテンツのタイプ、ジャンル、および/または他の編成基準に基づいて編成されたコンテンツ情報のための選択可能オプション602を含む。表示600では、テレビリスト項目オプション604が選択され、これにより、リスト項目606、608、610、および612を放送番組リスト項目として提供している。表示600では、リスト項目は、カバーアート、コンテンツからの静止画像、ビデオクリップのプレビュー、コンテンツからのライブビデオ、またはリスト項目中のメディアガイダンスデータによって記述されているコンテンツをユーザに示す他のタイプのコンテンツを含むグラフィック画像を提供してもよい。グラフィックリスト項目のそれぞれはまた、リスト項目と関連付けられたコンテンツに関するさらなる情報を提供するように、テキストを伴ってもよい。例えば、リスト項目608は、メディア部分614およびテキスト部分616を含む2以上の部分を含んでもよい。メディア部分614および/またはテキスト部分616は、コンテンツをフル画面で見るために、またはメディア部分614に表示されたコンテンツに関連する情報を見るために(例えば、ビデオが表示されているチャンネルのリストを見るために)、選択可能であってもよい。
表示600中のリスト項目は、異なるサイズである(すなわち、リスト項目606は、リスト項目608、610、および612より大きい)が、必要であれば、全リスト項目が同一のサイズであってもよい。リスト項目は、コンテンツプロバイダの所望に応じて、またはユーザの好みに基づいて、ユーザに関心の度合いを示すために、または、あるコンテンツを強調するように、異なるサイズであるか、またはグラフィックが強調されてもよい。コンテンツのリスト項目をグラフィック的に強調するための種々のシステムおよび方法は、例えば、全体として参照することにより本明細書に組み込まれる、2009年11月12日に出願されたYatesの米国特許出願公開第2010/0153885号で議論されている。
ユーザは、そのユーザ機器デバイスのうちの1つ以上のものから、コンテンツおよびメディアガイダンスアプリケーション(および前述されかつ後述されている表示画面)にアクセスしてもよい。図7は、例証的ユーザ機器デバイス700の汎用実施形態を示す。ユーザ機器デバイスのより具体的な実装は、図8に関連して以下で議論される。ユーザ機器デバイス700は、入出力(以下「I/O」)パス702を介してコンテンツおよびデータを受信してもよい。I/Oパス702は、処理回路706および記憶装置708を含む制御回路704に、コンテンツ(例えば、放送番組、オンデマンド番組、インターネットコンテンツ、ローカルエリアネットワーク(LAN)または広域ネットワーク(WAN)を介して利用可能なコンテンツ、および/または他のコンテンツ)およびデータを提供してもよい。制御回路704は、I/Oパス702を使用して、コマンド、要求、および他の好適なデータを送受信するために使用されてもよい。I/Oパス702は、制御回路704(具体的には、処理回路706)を1つ以上の通信パス(以下で説明される)に接続してもよい。I/O機能は、これらの通信パスのうちの1つ以上のものによって提供されてもよいが、図面が複雑になり過ぎることを回避するため、図7では単一パスとして示されている。
制御回路704は、処理回路706等の任意の好適な処理回路に基づいてもよい。本明細書で参照されるように、処理回路とは、1つ以上のマイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ、プログラマブル論理デバイス、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)等に基づく回路を意味すると理解され、マルチコアプロセッサ(例えば、デュアルコア、クアドコア、ヘクサコア、または任意の好適な数のコア)またはスーパーコンピュータを含んでもよい。いくつかの実施形態では、処理回路は、複数の別個のプロセッサまたは処理ユニット、例えば、複数の同一のタイプの処理ユニット(例えば、2つのIntel Core i7プロセッサ)または複数の異なるプロセッサ(例えば、Intel Core i5プロセッサおよびIntel Core i7プロセッサ)にわたって分散されてもよい。
クライアントサーバに基づく実施形態では、制御回路704は、ガイダンスアプリケーションサーバもしくは他のネットワークまたはサーバと通信するための好適な通信回路を含んでもいてよい。前述の機能性を実施するための命令は、ガイダンスアプリケーションサーバ上に記憶されてもよい。通信回路は、ケーブルモデム、総合デジタル通信網(ISDN)モデム、デジタルサブスクライバ回線(DSL)モデム、電話モデム、イーサネット(登録商標)カード、または他の機器との通信用無線モデム、または任意の他の好適な通信回路を含んでもよい。そのような通信は、インターネットもしくは任意の他の好適な通信ネットワークまたはパスを伴ってもよい(このことは、図8に関連してさらに詳細に説明される)。加えて、通信回路は、ユーザ機器デバイスのピアツーピア通信、または相互に離れた場所にあるユーザ機器デバイス間での通信を可能にする回路を含んでもよい(以下でさらに詳細に説明される)。
メモリは、制御回路704の一部である記憶装置708として提供される電子記憶デバイスであってもよい。本明細書で参照されるように、語句「電子記憶デバイス」または「記憶デバイス」とは、ランダム−アクセスメモリ、読取専用メモリ、ハードドライブ、光学ドライブ、デジタルビデオディスク(DVD)レコーダ、コンパクトディスク(CD)レコーダ、BLU−RAY(登録商標)ディスク(BD)レコーダ、BLU−RAY(登録商標) 3Dディスクレコーダ、デジタルビデオレコーダ(DVR、時として、パーソナルビデオレコーダと呼ばれる場合もある、またはPVR)、固体デバイス、量子記憶デバイス、ゲームコンソール、ゲームメディア、もしくは任意の他の好適な固定またはリムーバブル記憶デバイス、および/または任意のそれらの組み合わせ等の、電子データ、コンピュータソフトウェア、またはファームウェアを記憶するための任意のデバイスを意味すると理解されたい。記憶装置708は、本明細書に説明される種々のタイプのコンテンツ、ならびに前述のメディアガイダンスデータを記憶するために使用されてもよい。不揮発性メモリも、(例えば、ブートアップルーチンや他の命令を起動するために)使用されてもよい。図8に関連して説明されるクラウドベースの記憶装置が、記憶装置708を補完するために、または記憶装置708の代わりに使用されてもよい。
制御回路704は、ビデオ生成回路および同調回路、例えば、1つ以上のアナログチューナ、1つ以上のMPEG−2デコーダ、または他のデジタルデコード回路、高解像度チューナ、または任意の他の好適な同調もしくはビデオ回路、もしくはそのような回路の組み合わせを含んでもよい。エンコード回路(例えば、無線、アナログ、またはデジタル信号を記憶のためにMPEG信号に変換するためのもの)も設けられていてもよい。制御回路704はまた、コンテンツをユーザ機器700の好ましい出力形式に上方変換および下方変換するためのスケーリング回路を含んでもよい。回路704はまた、デジタルおよびアナログ信号間で変換するためのデジタルからアナログへの変換回路ならびにアナログからデジタルへの変換回路を含んでもよい。同調およびエンコード回路は、コンテンツを受信して表示する、再生する、または録画するために、ユーザ機器デバイスによって使用されてもよい。同調およびエンコード回路はまた、ガイダンスデータを受信するために使用されてもよい。例えば、同調、ビデオ生成、エンコード、デコード、暗号化、解読、スケーリング、およびアナログ/デジタル回路を含む、本明細書に説明される回路は、1つ以上の汎用または特殊プロセッサ上で起動するソフトウェアを使用して実装されてもよい。複数のチューナが、同時同調機能(例えば、視聴および録画機能、ピクチャインピクチャ(PIP)機能、多重チューナ録画機能等)に対処するように提供されてもよい。記憶装置708が、ユーザ機器700とは別のデバイスとして提供される場合、同調およびエンコード回路(複数のチューナを含む)は、記憶装置708と関連付けられてもよい。
ユーザは、ユーザ入力インターフェース710を使用して、命令を制御回路704に送信してもよい。ユーザ入力インターフェース710は、任意の好適なユーザインターフェース、例えば、リモートコントロール、マウス、トラックボール、キーパッド、キーボード、タッチ画面、タッチパッド、スタイラス入力、ジョイスティック、音声認識インターフェース、または他のユーザ入力インターフェース等であってもよい。ディスプレイ712は、独立型デバイスとして提供されるか、またはユーザ機器デバイス700の他の要素と統合してもよい。例えば、ディスプレイ712は、タッチスクリーンまたはタッチセンサ式ディスプレイであってもよい。そのような状況では、ユーザ入力インターフェース710は、ディスプレイ712と統合されても、または組み合わせられてもよい。ディスプレイ712は、モニタ、テレビ、モバイルデバイスのための液晶ディスプレイ(LCD)、非晶質シリコンディスプレイ、低温ポリシリコンディスプレイ、電子インクディスプレイ、電気泳動ディスプレイ、アクティブマトリクスディスプレイ、エレクトロウェッティングディスプレイ、電気流体ディスプレイ、ブラウン管ディスプレイ、発光ダイオードディスプレイ、エレクトロルミネセントディスプレイ、プラズマ表示パネル、高性能アドレッシングディスプレイ、薄膜トランジスタディスプレイ、有機発光ダイオードディスプレイ、表面伝導型電子放出素子ディスプレイ(SED)、レーザテレビ、カーボンナノチューブ、量子ドットディスプレイ、干渉変調器ディスプレイ、または視覚的画像を表示するための任意の他の好適な機器のうちの1つ以上のものであってもよい。いくつかの実施形態では、ディスプレイ712は、HDTV対応型であってもよい。いくつかの実施形態では、ディスプレイ712は、3Dディスプレイであってもよく、双方向メディアガイダンスアプリケーションおよび任意の好適なコンテンツは、3Dで表示されてもよい。ビデオカードまたはグラフィックカードは、ディスプレイ712への出力を生成してもよい。ビデオカードは、3Dシーンおよび2Dグラフィックのレンダリング加速、MPEG−2/MPEG−4デコード、TV出力、または複数のモニタを接続する能力等の種々の機能をもたらしてもよい。ビデオカードは、制御回路704に関連する前述の任意の処理回路であってもよい。ビデオカードは、制御回路704と統合されていてもよい。スピーカ714は、ユーザ機器デバイス700の他の要素との統合として提供されてもよく、または独立型ユニットであってもよい。ディスプレイ712上に表示されるビデオおよび他のコンテンツのオーディオコンポーネントは、スピーカ714を通して再生されてもよい。いくつかの実施形態では、音声は、音声を処理してスピーカ714を介して出力する受信機(図示せず)に配信されてもよい。
ガイダンスアプリケーションは、任意の好適なアーキテクチャを使用して実装されてもよい。例えば、それは、ユーザ機器デバイス700上で完全に実装される、独立型アプリケーションであってもよい。そのようなアプローチでは、アプリケーションの命令は、ローカルに(例えば、記憶装置708に)記憶され、アプリケーションが使用するためのデータは、周期的に(例えば、帯域外フィードから、インターネットリソースから、または別の好適なアプローチを使用して)ダウンロードされる。制御回路704は、記憶装置708からアプリケーションの命令を取り出し、命令を処理するとにより、本明細書で論じられる表示のいずれかを生成してもよい。処理された命令に基づいて、制御回路704は、入力が入力インターフェース710から受信されるときにどんなアクションを行うべきかを判定してもよい。例えば、入力インターフェース710が上/下ボタンが選択されたことを示すとき、処理された命令によって表示上でのカーソルの上/下への移動が示されてもよい。
いくつかの実施形態では、メディアガイダンスアプリケーションは、クライアントサーバベースのアプリケーションである。ユーザ機器デバイス700上に実装されるシックまたはシンクライアントによって使用するためのデータは、ユーザ機器デバイス700の遠隔にあるサーバに要求を発行することによってオンデマンドで取り出される。クライアントサーバベースのガイダンスアプリケーションの一実施例では、制御回路704は、遠隔サーバによって提供されるウェブページを解釈するウェブブラウザを実行する。例えば、遠隔サーバは、記憶デバイス内にアプリケーションのための命令を記憶してもよい。遠隔サーバは、回路(例えば、制御回路704)を使用して、記憶された命令を処理し、前述および後述の表示を生成してもよい。クライアントデバイスは、遠隔サーバによって生成される表示を受信し、表示の内容を機器デバイス700上でローカルに表示してもよい。このように、命令の処理は、サーバによって遠隔で行われ、その一方、結果として生じる表示は、機器デバイス700上にローカルに提供される。機器デバイス700は、入力インターフェース710を介してユーザからの入力を受信し、対応する表示を処理して生成するために、それらの入力を遠隔サーバに伝送してもよい。例えば、機器デバイス700は、上/下ボタンが入力インターフェース710を介して選択されたことを示す通信を遠隔サーバに伝送してもよい。遠隔サーバは、その入力に従って命令を処理し、入力に対応するアプリケーションの表示(例えば、カーソルを上/下に移動させる表示)を生成してもよい。生成された表示は、その後、ユーザへの提示のために、機器デバイス700に伝送される。
いくつかの実施形態では、メディアガイダンスアプリケーションは、ダウンロードされ、インタープリタによって解釈されるか、あるいは(制御回路704によって起動させられる)仮想マシンによって別の方法で動作させられる。いくつかの実施形態では、ガイダンスアプリケーションは、ETVバイナリ交換形式(ETVF)でエンコードされ、好適なフィードの一部として制御回路704によって受信されて、制御回路704上で動作するユーザエージェントによって解釈されてもよい。例えば、ガイダンスアプリケーションは、EBIFアプリケーションであってもよい。いくつかの実施形態では、ガイダンスアプリケーションは、制御回路704によって実行されるローカル仮想マシンまたは他の好適なミドルウェアによって受信されて動作させられる一連のJAVA(登録商標)ベースのファイルによって定義されてもよい。そのような実施形態のうちのいくつか(例えば、MPEG−2または他のデジタルメディアエンコードスキームを採用するもの)では、ガイダンスアプリケーションは、例えば、番組のMPEGオーディオおよびビデオパケットを用いたMPEG−2オブジェクトカルーセルにおいてエンコードおよび伝送されてもよい。
図7のユーザ機器デバイス700は、ユーザテレビ機器802、ユーザコンピュータ機器804、無線ユーザ通信デバイス806、または非携帯型ゲーム機等のコンテンツにアクセスするために好適な任意の他のタイプのユーザ機器として、図8のシステム800に実装することができる。簡単にするために、これらのデバイスは、本明細書では総称して、ユーザ機器またはユーザ機器デバイスと称されてもよく、前述のユーザ機器デバイスに実質的に類似してもよい。メディアガイダンスアプリケーションが実装され得るユーザ機器デバイスは、独立型デバイスとして機能してもよく、またはデバイスのネットワークの一部であってもよい。デバイスの種々のネットワーク構成が実装されてもよく、以下でさらに詳細に議論されている。
図7に関連して上述されたシステム特徴のうちの少なくともいくつかを利用するユーザ機器デバイスは、もっぱら、ユーザテレビ機器802、ユーザコンピュータ機器804、または無線ユーザ通信デバイス806として分類されている必要はない。例えば、ユーザテレビ機器802は、いくつかのユーザコンピュータ機器804のように、インターネットコンテンツへアクセスすることを可能にするインターネット対応型であってもよく、その一方で、ユーザコンピュータ機器804は、テレビ機器802のように、テレビ番組へアクセスすることを可能にするチューナを含んでもよい。メディアガイダンスアプリケーションはまた、種々の異なるタイプのユーザ機器上で同一レイアウトを有してもよく、またはユーザ機器の表示能力に合わせられてもよい。例えば、ユーザコンピュータ機器804上では、ガイダンスアプリケーションは、ウェブブラウザによってアクセスされるウェブサイトとして提供されてもよい。別の実施例では、ガイダンスアプリケーションは、無線ユーザ通信デバイス406用に縮小されてもよい。
システム800では、典型的には、各タイプのユーザ機器デバイスが2つ以上存在するが、図面が複雑になり過ぎることを回避するために、それぞれ1つだけが図8に示されている。加えて、各ユーザは、2つ以上のタイプのユーザ機器デバイスを利用し、しかも各タイプの2つ以上のユーザ機器デバイスを利用してもよい。
いくつかの実施形態では、ユーザ機器デバイス(例えば、ユーザテレビ機器802、ユーザコンピュータ機器804、無線ユーザ通信デバイス806)は、「第2の画面デバイス」と称されてもよい。例えば、第2の画面デバイスは、第1のユーザ機器デバイス上に提示されるコンテンツを補完してもよい。第2の画面デバイス上に提示されるコンテンツは、第1のデバイス上に提示されるコンテンツを補完する任意の好適なコンテンツであってもよい。いくつかの実施形態では、第2の画面デバイスは、第1のデバイスの設定および表示の好みを調節するためのインターフェースを提供する。いくつかの実施形態では、第2の画面デバイスは、他の第2の画面デバイスと情報のやりとりをする、またはソーシャルネットワークと情報のやりとりをするために構成される。第2の画面デバイスは、第1のデバイスと同一の部屋内に、第1のデバイスと異なる部屋であるが同一の家または建物内に、もしくは第1のデバイスと異なる建物内に設置され得る。
ユーザはまた、家庭内デバイスおよび遠隔デバイスにわたって一貫したメディアガイダンスアプリケーション設定を維持するように、種々の設定を行ってもよい。設定は、本明細書に説明される設定、ならびにお気に入りのチャンネルおよび番組、番組を推奨するためにガイダンスアプリケーションが利用する番組の好み、表示の好み、および他の望ましいガイダンス設定を含む。例えば、ユーザが、オフィスのパソコンで、例えば、ウェブサイトwww.allrovi.comの上で、チャンネルをお気に入りとして設定した場合、必要であれば、同一のチャンネルが、ユーザの家庭内デバイス(例えば、ユーザテレビ機器およびユーザコンピュータ機器)、ならびにユーザのモバイルデバイス上でお気に入りとして表示される。したがって、同一または異なるタイプのユーザ機器デバイスであるかどうかにかかわらず、1つのユーザ機器デバイス上で行われる変更は、別のユーザ機器デバイス上のガイダンス体験を変更することができる。加えて、行われる変更は、ユーザによる設定入力、ならびにガイダンスアプリケーションによって監視されるユーザ活動に基づいてもよい。
ユーザ機器デバイスは、通信ネットワーク814に連結されてもよい。すなわち、ユーザテレビ機器802、ユーザコンピュータ機器804、および無線ユーザ通信デバイス806は、それぞれ、通信パス808、810、および812を介して、通信ネットワーク814に連結される。通信ネットワーク814は、1つ以上のネットワークであってもよく、1つ以上のネットワークは、インターネット、携帯電話ネットワーク、モバイルボイスまたはデータネットワーク(例えば、4GまたはLTEネットワーク)、ケーブルネットワーク、公衆交換電話ネットワーク、または他のタイプの通信ネットワーク、もしくは通信ネットワークの組み合わせを含む。パス808、810、および812は、それぞれ別々にまたはそれらの全体で、1つ以上の通信パス、例えば、衛星パス、光ファイバパス、ケーブルパス、インターネット通信をサポートするパス(例えば、IPTV)、(例えば、放送または他の無線信号用)フリースペース接続、もしくは任意の他の好適な有線または無線通信パス、もしくはそのようなパスの組み合わせ等を含んでもよい。パス812は、図8に示された例示的実施形態において、無線パスであることを示すように破線で描かれ、パス808および810は、有線パスであることを示すように実線で描かれている(しかし、これらのパスは、必要に応じて、無線パスであってもよい)。ユーザ機器デバイスとの通信は、1つ以上のこれらの通信パスによって提供されてもよいが、図8では、図面が複雑になり過ぎることを回避するために、単一パスとして示されている。
通信パスは、ユーザ機器デバイスの間には描かれていないが、これらのデバイスは、相互に通信パスを介して直接通信してもよく、通信パスは、例えば、パス808、810、および812に関連して上述されたもの、ならびに他の短距離ポイントツーポイント通信パス、例えば、USBケーブル、IEEE1394ケーブル、無線パス(例えば、ブルートゥース(登録商標)、赤外線、IEEE802−11x等)等、もしくは有線または無線パスを介した他の短距離通信である。BLUETOOTH(登録商標)は、ブルートゥース(登録商標) エス アイ ジー,インク.によって所有される認証マークである。ユーザ機器デバイスはまた、通信ネットワーク814を介した間接的パスを通して、直接相互に通信してもよい。
システム800は、それぞれ、通信パス820および822を介して通信ネットワーク814に連結される、コンテンツソース816およびメディアガイダンスデータソース818を含む。パス820および822は、パス808、810、および812に関して上述された通信パスのうちのいずれかを含んでもよい。コンテンツソース816およびメディアガイダンスデータソース818との通信は、1つ以上の通信パスを介して交信されてもよいが、図8では、図面が複雑になり過ぎることを回避するように、単一パスとして示されている。加えて、コンテンツソース816およびメディアガイダンスデータソース818のそれぞれが2つ以上あってもよいが、図8では、図面が複雑になり過ぎることを回避するために、それぞれ1つだけが示されている。(これらのソースのそれぞれの異なるタイプを以下で議論する)。必要に応じて、コンテンツソース816およびメディアガイダンスデータソース818は、1つのソースデバイスとして統合されてもよい。ソース816および818と、ユーザ機器デバイス802、804、ならびに806との間の通信は、通信ネットワーク814を通したものとして示されているが、いくつかの実施形態では、ソース816および818は、通信パス(図示せず)、例えば、パス808、810、並びに812に関連して上述されたもの等を介して、ユーザ機器デバイス802、804、および806と直接通信してもよい。
コンテンツソース816は、1以上のタイプのコンテンツ配信機器を含んでいてもよく、1つ以上のタイプのコンテンツ配信機器は、テレビ配信施設、ケーブルシステムヘッドエンド、衛星配信施設、番組ソース(例えば、NBC、ABC、HBO等のテレビ放送会社)、中間配信施設および/またはサーバ、インターネットプロバイダ、オンデマンドメディアサーバ、および他のコンテンツプロバイダを含む。NBCは、ナショナル ブロードキャスティング カンパニー,インク.によって所有される商標であり、ABCは、アメリカン ブロードキャスティング カンパニー,インク.によって所有される商標であり、HBOは、ホーム ボックス オフィス,インク.によって所有される商標である。コンテンツソース816は、コンテンツの発信元であってもよく、例えば、テレビ放送会社、ウェブキャストプロバイダ等であり、またはコンテンツの発信元でなくてもよく、例えば、オンデマンドコンテンツプロバイダ、ダウンロード用放送番組のコンテンツのインターネットプロバイダ等である。コンテンツソース816は、ケーブルソース、衛星プロバイダ、オンデマンドプロバイダ、インターネットプロバイダ、オーバーザトップコンテンツプロバイダ、またはコンテンツの他のプロバイダを含んでもよい。コンテンツソース816はまた、ユーザ機器デバイスのうちのいずれかからも遠隔の場所にある、(ユーザによって選択されるビデオコンテンツを含む)異なるタイプのコンテンツを記憶するために使用される遠隔メディアサーバを含んでもよい。コンテンツの遠隔記憶のためのシステムおよび方法であって、遠隔に記憶されたコンテンツをユーザ機器に提供するためのシステムおよび方法は、全体として参照することにより本明細書に組み込まれる、2010年7月20日出願のEllisらの米国特許出願第7,761,892号に関連して、さらに詳細に議論されている。
メディアガイダンスデータソース818は、前述のメディアガイダンスデータ等のメディアガイダンスデータを提供してもよい。メディアガイダンスデータは、任意の好適なアプローチを使用して、ユーザ機器デバイスに提供されてもよい。いくつかの実施形態では、ガイダンスアプリケーションは、データフィード(例えば、継続フィードまたはトリクルフィード)を介して、番組ガイドデータを受信する独立型双方向テレビ番組ガイドであってもよい。番組スケジューリングデータおよび他のガイダンスデータは、テレビチャンネルのサイドバンド上で、帯域内デジタル信号を使用して、帯域外デジタル信号を使用して、または任意の他の好適なデータ伝送技術によって、ユーザ機器に提供されてもよい。番組スケジューリングデータおよび他のメディアガイダンスデータは、複数のアナログまたはデジタルテレビチャンネル上でユーザ機器に提供されてもよい。
いくつかの実施形態では、メディアガイダンスデータソース818からのガイダンスデータは、クライアントサーバアプローチを使用してユーザの機器に提供されてもよい。例えば、ユーザ機器デバイスは、メディアガイダンスデータをサーバからプルしてもよく、またはサーバは、メディアガイダンスデータをユーザ機器デバイスにプッシュしてもよい。いくつかの実施形態では、ユーザの機器上に常駐するガイダンスアプリケーションクライアントは、必要に応じて、例えば、ガイダンスデータが、古くなっているとき、またはユーザ機器デバイスがデータを受信する要求をユーザから受信したとき、ソース818とセッションを開始し、ガイダンスデータを取得してもよい。メディアガイダンスは、任意の好適な頻度で(例えば、継続的に、毎日、ユーザ指定期間で、システム指定期間で、あるいはユーザ機器からの要求に応答して等)ユーザ機器に提供されてもよい。メディアガイダンスデータソース818は、ユーザ機器デバイス802、804、および806に、メディアガイダンスアプリケーション自体、またはメディアガイダンスアプリケーションのソフトウェア更新を提供してもよい。
いくつかの実施形態では、メディアガイダンスデータは、視聴者データを含んでもよい。例えば、視聴者データは、現在および/または履歴ユーザアクティビティ情報(例えば、ユーザが典型的に見るコンテンツ、ユーザがコンテンツを見る時刻、ユーザがソーシャルネットワークと情報をやりとりするかどうか、ユーザがソーシャルネットワークと情報のやりとりをし、情報をポストする時間、ユーザが典型的に見るコンテンツのタイプ(例えば、有料TVまたは無料TV)、気分、脳の活動情報等)を含んでもよい。メディアガイダンスデータはまた、サブスクリプションデータを含んでもよい。例えば、サブスクリプションデータは、所与のユーザがどのソースまたはサービスにサブスクライブしているか(加入しているか)および/または所与のユーザがどれかのソースまたはサービスに以前サブスクライブしたが、後にアクセスを打ち切ったか(例えば、ユーザがプレミアムチャンネルにサブスクライブしているかどうか、ユーザがプレミアムレベルのサービスを追加したかどうか、ユーザがインターネット速度を加速させたかどうかなど)を識別してもよい。いくつかの実施形態では、視聴者データおよび/またはサブスクリプションデータは、1年を上回る周期の間の所与のユーザのパターンを識別してもよい。メディアガイダンスデータは、所与のユーザがサービス/ソースへのアクセスを打ち切るであろう可能性を示すスコアを生成するために使用されるモデル(例えば、残存者モデル)を含んでもよい。例えば、メディアガイダンスアプリケーションは、所与のユーザが特定のサービスまたはソースへのアクセスを打ち切るかどうかの可能性を示す値またはスコアを生成するためのモデルを用いて視聴者データをサブスクリプションデータとともに処理してもよい。特に、より高いスコアは、ユーザが特定のサービスまたはソースへのアクセスを打ち切るより高いレベルの信頼性を示し得る。スコアに基づいて、メディアガイダンスアプリケーションは、ユーザがアクセスを打ち切る可能性が高いものとしてスコアによって示される特定のサービスまたはソースをユーザが維持するように勧誘する宣伝を生成してもよい。
メディアガイダンスアプリケーションは、例えば、ユーザ機器デバイス上に実装される独立型アプリケーションであってもよい。例えば、メディアガイダンスアプリケーションは、記憶装置708内に記憶されてユーザ機器デバイス700の制御回路704によって実行され得るソフトウェアまたは1セットの実行可能命令として実装されてもよい。いくつかの実施形態では、メディアガイダンスアプリケーションは、クライアント−サーバアプリケーションであってもよく、その場合、クライアントアプリケーションのみユーザ機器デバイス上に常駐し、サーバアプリケーションは遠隔サーバ上に常駐する。例えば、メディアガイダンスアプリケーションは、部分的にユーザ機器デバイス700の制御回路704上のクライアントアプリケーションとして実装され、部分的に遠隔サーバ上に、遠隔サーバの制御回路(例えば、メディアガイダンスデータソース818)上で動作するサーバアプリケーションとして実装されてもよい。遠隔サーバの制御回路(メディアガイダンスデータソース818等)によって実行されると、メディアガイダンスアプリケーションは、ガイダンスアプリケーション表示を生成し、生成された表示をユーザ機器デバイスに伝送するように制御回路に命令してもよい。サーバアプリケーションは、メディアガイダンスデータソース818の制御回路に、ユーザ機器上での記憶のためのデータを伝送するように命令してもよい。クライアントアプリケーションは、受信用ユーザ機器の制御回路に、ガイダンスアプリケーション表示を生成するように命令してもよい。
ユーザ機器802、804、および806に配信されるコンテンツならびに/またはメディアガイダンスデータは、オーバーザトップ(OTT)コンテンツであってもよい。OTTコンテンツ配信は、前述の任意のユーザ機器デバイスを含むインターネット対応型ユーザデバイスが、ケーブルまたは衛星接続を介して受信されるコンテンツに加え、前述の任意のコンテンツを含む、インターネットを介して転送されるコンテンツを受信することを可能にする。OTTコンテンツは、インターネットサービスプロバイダ(ISP)によって提供されるインターネット接続を介して配信されるが、第三者も、そのコンテンツを配信する。ISPは、視聴能力、著作権、またはコンテンツの再配信に関与しておらず、OTTコンテンツプロバイダによって提供されるIPパケットのみ転送してもよい。OTTコンテンツプロバイダの実施例として、IPパケットを介して、オーディオおよびビデオを提供する、YOUTUBE(登録商標)、NETFLIX、およびHULUが挙げられる。Youtubeは、グーグル インク.によって所有される商標であり、Netflixは、ネットフリックス インク.によって所有される商標であり、Huluは、フールー,LLC.によって所有される商標である。OTTコンテンツプロバイダは、加えて、または代わりに、前述のメディアガイダンスデータを提供してもよい。コンテンツおよび/またはメディアガイダンスデータに加え、OTTコンテンツのプロバイダは、メディアガイダンスアプリケーション(例えば、ウェブベースのアプリケーションまたはクラウドベースのアプリケーション)を配信することができ、またはコンテンツは、ユーザ機器デバイス上に記憶されるメディアガイダンスアプリケーションによって表示されることができる。
メディアガイダンスシステム800は、いくつかのアプローチまたはネットワーク構成を例証することを意図しており、これによって、ユーザ機器デバイスならびにコンテンツおよびガイダンスデータのソースは、コンテンツにアクセスしてメディアガイダンスを提供する目的で、相互に通信してもよい。本明細書に説明される実施形態は、これらのアプローチの任意の1つまたは一部において、もしくはコンテンツを配信してメディアガイダンスを提供するための他のアプローチを採用するシステムにおいて、適用されてもよい。以下の4つのアプローチは、図8の汎用実施例の具体的例証を提供する。
あるアプローチでは、ユーザ機器デバイスは、ホームネットワーク内で相互に通信してもよい。ユーザ機器デバイスは、上述された短距離ポイントツーポイント通信方式を介して、ホームネットワーク上に提供されるハブまたは他の類似デバイスを通した間接パスを介して、もしくは通信ネットワーク814を介して、直接相互に通信することができる。1つの家庭内の複数の個人のそれぞれが、ホームネットワーク上の異なるユーザ機器デバイスを操作してもよい。結果として、種々のメディアガイダンス情報または設定が、異なるユーザ機器デバイス間で伝達されることが望ましくあり得る。例えば、2005年7月11日出願のEllisらの米国特許公開第2005/0251827号でさらに詳細に説明されているように、ホームネットワーク内の異なるユーザ機器デバイス上で、ユーザが一貫したメディアガイダンスアプリケーション設定を維持することが望ましくてもよい。ホームネットワーク内の異なるタイプのユーザ機器デバイスも、相互に通信し、コンテンツを伝送してもよい。例えば、ユーザは、ユーザコンピュータ機器から携帯用ビデオプレーヤまたは携帯用音楽プレーヤにコンテンツを伝送してもよい。
第2のアプローチでは、ユーザは、ユーザがコンテンツにアクセスしてメディアガイダンスを取得するための複数のタイプのユーザ機器を有してもよい。例えば、一部のユーザは、家庭内およびモバイルデバイスによってアクセスされる、ホームネットワークを有してもよい。ユーザは、遠隔デバイス上に実装されるメディアガイダンスアプリケーションを介して家庭内デバイスを制御してもよい。例えば、ユーザは、オフィスのパーソナルコンピュータ、もしくはPDAまたはウェブ対応携帯電話等のモバイルデバイスを介して、ウェブサイト上のオンラインメディアガイダンスアプリケーションにアクセスしてもよい。ユーザは、オンラインガイダンスアプリケーション上で種々の設定(例えば、録画、リマインダ、または他の設定)を設定して、ユーザの家庭内機器を制御してもよい。オンラインガイドは、直接、またはユーザの家庭内機器上のメディアガイダンスアプリケーションと通信することによって、ユーザの機器を制御してもよい。ユーザ機器デバイスが互いに離れた場所にある場合のユーザ機器デバイスの通信のための種々のシステムおよび方法は、例えば、その全体を参照することにより本明細書に組み込まれる、Ellisらの2011年10月25日発行の米国特許第8,046,801号で論じられている。
第3のアプローチでは、家庭内外のユーザ機器デバイスのユーザは、そのメディアガイダンスアプリケーションを使用することにより、コンテンツソース816と直接通信し、コンテンツにアクセスすることができる。具体的には、家庭内では、ユーザテレビ機器802およびユーザコンピュータ機器804のユーザは、メディアガイダンスアプリケーションにアクセスし、所望のコンテンツ間をナビゲートし、それを特定してもよい。ユーザはまた、無線ユーザ通信デバイス806を使用して、家庭外のメディアガイダンスアプリケーションにアクセスすることにより、所望のコンテンツ間をナビゲートし、それを特定してもよい。
第4のアプローチでは、ユーザ機器デバイスは、クラウドコンピューティング環境内で操作し、クラウドサービスにアクセスしてもよい。クラウドコンピューティング環境では、コンテンツの共有、記憶、または配信のための種々のタイプのコンピューティングサービス(例えば、ビデオ共有サイトまたはソーシャルネットワーキングサイト)が、「クラウド」と称される、ネットワーク−アクセス可能コンピューティングおよび記憶リソースの集合によって提供される。例えば、クラウドは、サーバコンピューティングデバイスの集合を含むことができ、サーバコンピューティングデバイスは、中央または分散場所に位置することができ、クラウドベースのサービスを種々のタイプのユーザ、および通信ネットワーク814を介したインターネットなどのネットワークを介して接続されるデバイスに提供する。これらのクラウドリソースは、1つ以上のコンテンツソース816および1つ以上のメディアガイダンスデータソース818を含んでもよい。加えて、またはその代わりに、遠隔コンピューティングサイトは、ユーザテレビ機器802、ユーザコンピュータ機器804、および無線ユーザ通信デバイス806等の他のユーザ機器デバイスを含んでもよい。例えば、他のユーザ機器デバイスは、ビデオの記憶されたコピーまたはストリーミングされたビデオへのアクセスを提供してもよい。そのような実施形態では、ユーザ機器デバイスは、中央サーバと通信せずに、ピアツーピア様式で動作してもよい。
クラウドは、ユーザ機器デバイスのために、とりわけ、コンテンツ記憶、コンテンツ共有、またはソーシャルネットワーキングサービス等のサービスへのアクセス、ならびに前述の任意のコンテンツへのアクセスを提供する。サービスは、クラウドコンピューティングサービスプロバイダを通して、またはオンラインサービスの他のプロバイダを通して、クラウド内で提供されることができる。例えば、クラウドベースのサービスは、コンテンツ記憶サービス、コンテンツ共有サイト、ソーシャルネットワーキングサイト、または他のサービスを含むことができ、これにより、ユーザ供給コンテンツは、接続されたデバイス上の他者による視聴のために配信される。これらのクラウドベースのサービスは、ユーザ機器デバイスがコンテンツをローカルに記憶し、ローカルに記憶されたコンテンツにアクセスするのではなく、コンテンツをクラウドに記憶し、コンテンツをクラウドから受信することを可能にしてもよい。
ユーザは、カムコーダ、ビデオモード付きデジタルカメラ、オーディオレコーダ、携帯電話、およびハンドヘルドコンピューティングデバイス等の種々のコンテンツ捕捉デバイスを使用してコンテンツを録画してもよい。ユーザは、例えば、コンテンツ捕捉特徴を有するユーザコンピュータ機器804または無線ユーザ通信デバイス806のいずれかから直接、クラウド上のコンテンツ記憶サービスにコンテンツをアップロードすることができる。その代わりに、ユーザは、最初に、コンテンツをユーザコンピュータ機器804等のユーザ機器デバイスに転送することができる。コンテンツを記憶するユーザ機器デバイスは、通信ネットワーク814でデータ伝送サービスを使用してコンテンツをクラウドにアップロードする。いくつかの実施形態では、ユーザ機器デバイス自体がクラウドリソースであり、他のユーザ機器デバイスが、ユーザがコンテンツを記憶したユーザ機器デバイスから直接コンテンツにアクセスすることができる。
クラウドリソースは、例えば、ウェブブラウザ、メディアガイダンスアプリケーション、デスクトップアプリケーション、モバイルアプリケーション、および/またはそれらのアクセスアプリケーションの任意の組み合わせを使用して、ユーザ機器デバイスによってアクセスされてもよい。ユーザ機器デバイスは、アプリケーション配信のためにクラウドコンピューティングに依拠するクラウドクライアントであってもよく、またはユーザ機器デバイスは、クラウドリソースへのアクセスを伴わないいくつかの機能性を有してもよい。例えば、ユーザ機器デバイス上で動作するいくつかのアプリケーションは、クラウドアプリケーション、すなわち、インターネットを介してサービスとして配信されるアプリケーションであってもよく、その一方で、他のアプリケーションは、ユーザ機器デバイス上に記憶されてユーザ機器デバイスで動作してもよい。いくつかの実施形態では、ユーザデバイスは、コンテンツを複数のクラウドリソースから同時に受信してもよい。例えば、ユーザデバイスは、オーディオを1つのクラウドリソースからストリーミングし、その一方で、コンテンツを第2のクラウドリソースからダウンロードすることができる。または、ユーザデバイスは、より効率的ダウンロードのために、コンテンツを複数のクラウドリソースからダウンロードすることができる。いくつかの実施形態では、ユーザ機器デバイスは、図7に関連して説明される処理回路によって行われる処理動作等の処理動作のために、クラウドリソースを使用することができる。
図9は、本開示のいくつかの実施形態による、複数の自然言語クエリを類似の意図を有するとして認識し、意図に一致する検索結果を提供するための例証的ステップのフローチャートである。プロセス900はステップ902から開始し、ステップ902では、制御回路704によって実行される、ユーザ機器100、400、802、804、および/または806に実装されたメディアガイダンスアプリケーションが、ユーザ入力デバイス(例えば、ユーザ入力インターフェース710)を介して入力クエリを受信するプロセスであり、入力クエリは、少なくとも2つの単語を含んでいる。例えば、メディアガイダンスアプリケーションは、ユーザ入力インターフェース710に接続されるマイクロホンからユーザ入力インターフェース710を介して音声入力を受信してもよい。メディアガイダンスアプリケーションは、入力インターフェース710を介してユーザによって入力された音声に対してスピーチ/テキスト変換を行ってもよい。
ステップ904では、メディアガイダンスアプリケーションは、入力クエリの第1の単語に対応する第1の表現ベクトルおよび入力クエリの第2の単語に対応する第2の表現ベクトルを算出し、第1および第2の表現ベクトルの個別の値は、それぞれ、第1の単語および第2の単語が一セットの単語特徴のうちの特徴に一致する度合いに対応する。例えば、メディアガイダンスアプリケーションは、テキストのコーパスを分析し、共に現れる単語の分布特性を識別してもよい。例えば、メディアガイダンスアプリケーションは、「グラディエイター(Gladiator)」と名付けられたイヌを飼っている第1のユーザに対応するコーパスに対しては、ユーザがイヌ「グラディエイター」について頻繁に話し合う場合があるが、ローマ帝国の剣闘士(gladiator)について話し合う場合がないため、単語「グラディエイター」が、イヌに関連する他の単語とともに現れると判定してもよい。しかしながら、歴史通であるユーザに対しては、メディアガイダンスアプリケーションは、第2のユーザは、ローマ帝国に関連して剣闘士(gladiator)について頻繁に話し合う場合があるが、イヌの名前に関連して話し合う場合がないため、ユーザと関連付けられたコーパスであって、単語「グラディエイター(gladiator)」がローマおよびローマ帝国に関連する単語とともに現れ得るコーパスを取り出してもよい。メディアガイダンスアプリケーションは、多次元空間での単語の埋込を識別可能であり、多次元空間では、類似の要素を有する単語が近くに位置付けられる。
ステップ906では、メディアガイダンスアプリケーションは、データベースから、検索意図に関連する検索クエリテンプレートを取り出し、検索クエリテンプレートは、少なくとも2つの単語を含み、第3の表現ベクトルおよび第4の表現ベクトルと関連付けられており、第3の表現ベクトルおよび第4の表現ベクトルは、それぞれ、検索クエリテンプレートの第3の単語および検索クエリテンプレートの第4の単語が単語特徴の第2のものの特徴に一致する度合いに対応する個別の値を有する。例えば、メディアガイダンスアプリケーションは、複数の単語と関連付けられた検索クエリテンプレートを取り出してもよく、各単語は、個別の表現ベクトルを有する。メディアガイダンスアプリケーションは、検索クエリに対応する表現ベクトル(例えば、第1および第2の表現ベクトル)をテンプレートと関連付けられた単語に対応する表現ベクトル(例えば、検索クエリテンプレートの単語に対応する第3および第4の表現ベクトル)と比較してもよい。
ステップ908では、メディアガイダンスアプリケーションは、第1の表現ベクトルと第3の表現ベクトルとの間の第1の距離を算出する。例えば、メディアガイダンスアプリケーションは、各ベクトル内の値間の類似度を比較して(例えば、第1のベクトルにおけるx次元の値を第2のベクトルにおけるx次元の値と比較して)第1の表現ベクトルを第3の表現ベクトルと比較することにより、2つのベクトル間の全体的類似度を判定してもよい。
ステップ910では、メディアガイダンスアプリケーションは、第1の距離が第1の閾値距離未満であるかどうかを判定する。例えば、メディアガイダンスアプリケーションは、記憶装置708等のメモリから、または通信ネットワーク822を介して、メディアガイダンスデータソース等の遠隔データベースから、閾値距離を取り出してもよい。例えば、メディアガイダンスアプリケーションは、検索クエリの単語がテンプレートと関連付けられた単語にどの程度一致しているかに基づいて全てのテンプレートをランク付けしてもよい。メディアガイダンスアプリケーションは、クエリの第1の単語に対する表現ベクトルと最も高いランクを有するテンプレートの第3の単語に対する表現ベクトルとの間の距離に基づいて、閾値を設定してもよい。メディアガイダンスアプリケーションが、距離が閾値未満であると判定すると、メディアガイダンスアプリケーションはステップ912に進む。そうでなければ、メディアガイダンスアプリケーションは、別のテンプレートをデータベース(例えば、記憶装置708に、または通信ネットワーク814を介してメディアガイダンスデータソース818に設けられているデータベース)から取り出してもよく、ステップ906に戻ってもよい。
ステップ912では、メディアガイダンスアプリケーションは、第2の表現ベクトルと第4の表現ベクトルとの間の第2の距離を算出する。例えば、メディアガイダンスアプリケーションは、上述のように、コサイン差異を使用して2つのベクトル間の角度を算出することによって、検索クエリの第2の単語の表現ベクトルとテンプレートと関連付けられた第2の単語の表現ベクトルとの間の距離を算出してもよい。
ステップ914では、メディアガイダンスアプリケーションは、第2の距離が第2の閾値距離未満であるかどうかを判定する。例えば、メディアガイダンスアプリケーションは、第1の閾値距離と同じような方法で第2の閾値差異を算出してもよく、または記憶装置708等のメモリから、もしくは通信ネットワーク814を介してメディアガイダンスデータソース818から、所定の閾値を取り出してもよい。メディアガイダンスアプリケーションが、距離が閾値未満であると判定した場合、メディアガイダンスアプリケーションは、ステップ916に進む。そうでなければ、メディアガイダンスアプリケーションは、ステップ906に進み、(例えば、現在のテンプレートが閾値量内で一致しなかったため)別のテンプレートをデータベースから取り出す。
ステップ916では、メディアガイダンスアプリケーションは、検索クエリテンプレートを選択する。例えば、メディアガイダンスアプリケーションは、データベース(例えば、記憶装置708としてのデータベース、または通信ネットワーク814を経由したメディアガイダンスデータソース818としてのデータベース)から、テンプレートに対応するデータベースエントリと関連付けられたフィールドを取り出してもよい。例えば、メディアガイダンスアプリケーションは、メディアガイダンスデータソース818に位置するデータベース300から通信ネットワーク814を介してエントリ316を取り出してもよい。メディアガイダンスアプリケーションは、検索クエリテンプレートフィールド(例えば、検索クエリテンプレート306)にアクセスし、テンプレートに基づいてクエリを生成してもよい。例えば、メディアガイダンスアプリケーションは、クエリ内の単語に一致するテンプレート内の単語を識別し、テンプレートからの単語をクエリからの単語と置換してもよい。例えば、メディアガイダンスアプリケーションは、ユーザがテレビ番組「アントラージュ」を検索するとき、単語「アントラージュ」を識別することにより、検索クエリテンプレート306内の単語「メディア」を置換してもよい。
ステップ918では、メディアガイダンスアプリケーションは、選択された検索クエリテンプレートに基づいて検索結果を取り出す。例えば、メディアガイダンスアプリケーションは、上述のように、テンプレート内の単語を検索クエリの単語と置換することによってクエリを生成し、ネットワーク接続を介してテンプレートに対応するデータベースにクエリを伝送してもよい。例えば、メディアガイダンスアプリケーションは、クエリをデータベース304に伝送することにより、メディアに関する場所を識別してもよい。いくつかの実施形態では、メディアガイダンスアプリケーションは、ローカルに(例えば、記憶装置708内で処理回路706を介して)、または遠隔で(例えば、メディアガイダンスデータソース818内で通信ネットワーク814を介して)データベース304にアクセスしてもよい。
ステップ920では、メディアガイダンスアプリケーションは、取り出された検索結果を表示のために生成する。例えば、メディアガイダンスアプリケーションは、データベース304から取り出された検索結果404および406を表示のために生成してもよい。いくつかの実施形態では、メディアガイダンスアプリケーションは、テキスト/スピーチアルゴリズムを使用して音声を合成し、検索結果(例えば、検索結果404および検索結果406)に対応するオーディオ出力を生成してもよい。例えば、メディアガイダンスアプリケーションは、スピーカ714での出力のために、用語「アントラージュ シーズン1は、HBO GO−オンデマンドにおいて利用可能です」を含むオーディオ波等、検索結果404に対応する合成された単語を含むオーディオ波を生成してもよい。いくつかの実施形態では、別のテンプレート(例えば、距離が閾値内であるときの第2のテンプレートよりメディアガイダンスアプリケーションによって高くランク付けされた第1のテンプレート)も検索クエリに緊密に一致するとき、メディアガイダンスアプリケーションは、異なるテンプレートに基づいて、ユーザが付加的検索結果を閲覧することを所望するかどうかに関してユーザに指示を求めてもよい。例えば、メディアガイダンスアプリケーションは、上述のように、ユーザ機器400にオプション410を表示のために生成してもよく、またはテキスト/スピーチアルゴリズムを使用して合成されたオーディオを使用してユーザに指示を求めてもよい。いくつかの実施形態では、メディアガイダンスアプリケーションは、さらなる検索結果を要求するユーザ入力を待機し、オプション410の選択を受信したことに応答して(例えば、ユーザ入力インターフェース710を介したタッチスクリーン上の入力により)、またはユーザ入力インターフェース710のマイクロホンを介して受信されたオーディオを受信したことに応答して、さらなる検索結果を表示のために生成してもよい。
図10は、本開示のいくつかの実施形態による、検索クエリテンプレートを選択するための例証的ステップのフローチャートである。プロセス1000は、ステップ1002から開始し、ステップ1002では、制御回路704によって実行される、ユーザ機器100、400、802、804、および/または806に実装されたメディアガイダンスアプリケーションが、ユーザ入力デバイス(例えば、ユーザ入力インターフェース710)を介して入力クエリを受信するプロセスであり、入力クエリは、少なくとも2つの単語を含んでいる。例えば、メディアガイダンスアプリケーションは、ユーザ入力インターフェース710に接続されるマイクロホンからユーザ入力インターフェース710を介して音声入力を受信してもよい。メディアガイダンスアプリケーションは、入力インターフェース710を介してユーザによって入力された音声に対してスピーチ/テキスト変換を行うことにより、ユーザ入力と関連付けられた単語の文字列を生成してもよい。
ステップ1004では、メディアガイダンスアプリケーションは、入力クエリ内の単語毎にカテゴリを判定する。例えば、メディアガイダンスアプリケーションは、品詞検出アルゴリズムを使用してクエリ内の各単語間の関連付けを分析してもよい。例えば、メディアガイダンスアプリケーションは、文中の他の単語に関連した単語毎の品詞に基づいて、入力クエリ内の単語毎にカテゴリを判定してもよい。例えば、クエリ「アントラージュを再生して」に関して、メディアガイダンスアプリケーションは、単語「アントラージュ」が名詞であり、かつクエリの主語であると判定し、従って、「アントラージュ」を主語カテゴリと関連付けてもよい。別の実施例では、メディアガイダンスアプリケーションは、「探して」が動作動詞であると判定し、「探して」が動作動詞であると判定したことに応答して、「探して」を動作動詞カテゴリに関連付けてもよい。いくつかの実施形態では、メディアガイダンスアプリケーションは、クエリ内の各単語を、メモリ内に、例えば、記憶装置708内、または通信ネットワーク814を介してメディアガイダンスデータソース818内に記憶されるストップワードのリストを比較してもよい。メディアガイダンスアプリケーションが、単語がストップワードのリストからの単語に一致すると判定した場合、メディアガイダンスアプリケーションは、クエリ内の単語をストップワードカテゴリに関連付けてもよい。
ステップ1006では、メディアガイダンスアプリケーションは、いずれかの単語がストップワードカテゴリに対応するかどうかを判定する。例えば、上述のように、メディアガイダンスアプリケーションは、クエリの単語をストップワードのリスト内の単語と比較してもよい。クエリ内の単語がストップワードのリスト内の単語に一致する場合、メディアガイダンスアプリケーションは、単語がストップワードカテゴリに対応すると判定してもよい。例えば、メディアガイダンスアプリケーションは、クエリ「When are the Yankees playing?(ヤンキースがいつ試合をするのか?)」を受信してもよい。メディアガイダンスアプリケーションは、上述のように、単語をストップワードのリストと比較することに基づいて、または品詞タグ付けアルゴリズムを使用することによって、単語「are」および「the」がストップワードであると判定してもよい。メディアガイダンスアプリケーションが、単語がストップワードカテゴリに対応すると判定した場合、メディアガイダンスアプリケーションは、ステップ1008に進む。そうでなければ、メディアガイダンスアプリケーションは、ステップ1010に進む。
ステップ1008では、メディアガイダンスアプリケーションは、入力クエリを修正することにより、ストップワードカテゴリに一致する単語を入力クエリから除去する。前の実施例を続けると、メディアガイダンスアプリケーションが、クエリ「When are the Yankees playing?(ヤンキースがいつ試合をするのか?)」を受信すると、メディアガイダンスアプリケーションは、単語「are」および「the」がストップワードであることを判定してもよい。メディアガイダンスアプリケーションは、ストップワードをユーザのオリジナルクエリから除去し、ストップワードカテゴリに対応しないユーザのオリジナルクエリ内の単語を保つことによって、ストップワードを除外した修正されたクエリを作成してもよい。例えば、メディアガイダンスアプリケーションは、システムが、入力クエリをテンプレートと照合するのに役立たないクエリ内の用語を処理するリソースを無駄に消費しないように、入力クエリ「When are the Yankees playing?」を「When Yankees playing?」に修正してもよい。
ステップ1010では、メディアガイダンスアプリケーションは、修正された入力クエリから単語を選択する。例えば、メディアガイダンスアプリケーションは、修正されたクエリの各単語の選択を徐々に単語を追加しながら行ってもよい(例えば、修正されたクエリにおける単語のシーケンス内の第1の単語を選択し、その後、修正されたクエリにおける単語のシーケンス内の第2の単語が続いてもよい)。代替として、メディアガイダンスアプリケーションは、各単語と関連付けられたカテゴリに基づいて単語を選択してもよい。例えば、メディアガイダンスアプリケーションは、動作動詞カテゴリに対応する単語を最初に、次に主語カテゴリに対応する単語が続くように選択してもよい。しかしながら、メディアガイダンスアプリケーションは、カテゴリの他のどのようなシーケンスに基づいて、他のどのような選択方法を用いてもよい。
ステップ1012では、メディアガイダンスアプリケーションは、選択された単語に対する第1の表現ベクトルを算出する。例えば、メディアガイダンスアプリケーションは、上述のように、単語データの訓練コーパスに基づいてベクトル空間内の単語の埋込を識別するアルゴリズムを適用してもよい。メディアガイダンスアプリケーションは、ベクトルを識別するデータ、例えば、単語ベクトルに対応するベクトル空間内の座標等をメモリ(例えば、記憶装置708、または通信ネットワーク814を介してメディアガイダンスデータソース818)に記憶してもよい。
ステップ1014では、メディアガイダンスアプリケーションは、検索クエリテンプレートをメモリから取り出す。例えば、メディアガイダンスアプリケーションは、ランダムに、または連続して、メモリ(例えば、記憶装置708、または通信ネットワーク814を介してメディアガイダンスデータソース818)から検索クエリテンプレートを選択してもよい。別の実施例では、メディアガイダンスアプリケーションは、検索クエリ内の単語と関連付けられたカテゴリに基づいてテンプレートを選択してもよい。例えば、修正された検索クエリが、動作動詞カテゴリと関連付けられた単語を有するとき、メディアガイダンスアプリケーションは、動作動詞を含むテンプレートを取り出してもよい。
ステップ1016では、メディアガイダンスアプリケーションは、選択された単語のカテゴリに一致する、検索クエリテンプレート内の単語を識別する。例えば、メディアガイダンスアプリケーションが、クエリ「ゲーム オブ スローンズ(Game of Thrones)をストリーミング配信して」を受信すると、メディアガイダンスアプリケーションは、検索クエリテンプレート「メディアを再生して」を含むテンプレートを取り出してもよい(これは、例えば、テンプレートは、動作動詞「再生する」を含み、入力クエリが動作動詞「ストリーミング配信する」を含むからである)。メディアガイダンスアプリケーションは、単語「再生する」および「ストリーミング配信する」が両方とも、動作動詞カテゴリに対応することから、単語「ストリーミング配信する」を検索クエリから選択し、それに応じて、「再生する」を検索クエリテンプレートから選択してもよい。
ステップ1018では、メディアガイダンスアプリケーションは、検索クエリ内で識別された単語に対する第2の表現ベクトルを算出する。例えば、メディアガイダンスアプリケーションは、上述された方法のいずれかを使用して、単語「再生する」に対する表現ベクトルを算出し、または代替として、もしくは加えて、事前に算出された表現ベクトルをテンプレートと関連付けられたデータベース(例えば、記憶装置708、または通信ネットワーク814を介してメディアガイダンスデータソース818)から取り出してもよい。
ステップ1020では、メディアガイダンスアプリケーションは、第1の表現ベクトルと第2の表現ベクトルとの間の距離を算出する。例えば、メディアガイダンスアプリケーションは、2つのベクトル間のコサイン差異等の任意のベクトル距離算出を使用して2つのベクトル間の距離を算出してもよい。
ステップ1022では、メディアガイダンスアプリケーションは、距離が閾値最大距離を上回るかどうかを判定する。例えば、メディアガイダンスアプリケーションは、「再生する」と「ストリーミング配信する」との間の距離を算出し、単語「ストリーミング配信する」に対応するベクトルが単語「再生する」に対応するベクトルに近接すると判定してもよく、その理由は、単語が類似の意味を有し、および/またはテキストコーパスに基づいて類似の単語と頻繁に共に現れることである。メディアガイダンスアプリケーションは、値がテンプレートと関連付けられたスコアに追加される前に、最大距離に対する閾値を取り出してもよい。例えば、メディアガイダンスアプリケーションは、(例えば、修正された検索クエリ内の複数の単語に対するテンプレート内の複数の単語の距離に基づいて)スコアを算出することにより、テンプレートと検索クエリとの間の距離を全体として定量化してもよい。メディアガイダンスアプリケーションが、単語が近接する(例えば、閾値内である)と判定したとき、メディアガイダンスアプリケーションは、任意の値をスコアに追加することによって距離にペナルティーを課すことはしなくてもよい。メディアガイダンスアプリケーションが、距離が閾値最大距離を上回ると判定したとき、メディアガイダンスアプリケーションは、ステップ1024において、テンプレートに対応するスコアをインクリメントする。そうでなければ、メディアガイダンスアプリケーションは、ステップ1026に進む。
ステップ1024では、メディアガイダンスアプリケーションは、第1の表現ベクトルが第2の表現ベクトルと異なる度合いに基づいて、検索クエリテンプレートに対応するスコアをインクリメントする。例えば、メディアガイダンスアプリケーションは、第1の表現ベクトルと第2の表現ベクトルとの間の距離に基づいてスコアをインクリメントしてもよい。いくつかの実施形態では、メディアガイダンスアプリケーションは、スコアをスケーリングしてもよい。例えば、メディアガイダンスアプリケーションは、2つのベクトル間の距離を2(または任意の他の数)で乗算してもよく、乗算の結果だけスコアをインクリメントしてもよい。
ステップ1026では、メディアガイダンスアプリケーションは、修正された入力クエリの最後の単語が選択されたかどうかを判定する。メディアガイダンスアプリケーションは、テンプレート内の対応する単語との比較のために、修正された入力クエリから各単語をいつ選択したかを判定してもよい。例えば、メディアガイダンスアプリケーションは、入力クエリの各単語の選択を徐々に単語を追加しながら行ってもよい。メディアガイダンスアプリケーションは、入力クエリ内の単語の数と、メディアガイダンスアプリケーションによって選択された単語の位置を示すインデックス値とを(例えば、記憶装置708内、または通信ネットワーク814を介してメディアガイダンスデータソース818内に)記憶してもよい。メディアガイダンスアプリケーションは、インデックス値が入力クエリ内の単語の数に一致したとき、最後の単語が選択されたと判定してもよい。メディアガイダンスアプリケーションは、任意の他の方法を使用して、入力クエリの各単語が選択されたときを認識してもよい。メディアガイダンスアプリケーションが、修正された入力クエリの最後の単語が選択されたと判定したとき、メディアガイダンスアプリケーションは、ステップ1028に進む。そうでなければ、メディアガイダンスアプリケーションは、ステップ1010に進むことにより入力クエリからの別の単語を選択する。
ステップ1028では、メディアガイダンスアプリケーションは、(例えば、検索テンプレートが検索のために使用されるべきであるかどうかを判定するため)検索クエリテンプレートに対応するスコアが閾値最大スコアを上回るかどうかを判定する。例えば、メディアガイダンスアプリケーションは、検索クエリテンプレートが検索のために使用されることが可能である最大スコアを示す閾値をメモリから取り出してもよい。いくつかの実施形態では、メディアガイダンスアプリケーションは、閾値を算出してもよい。例えば、メディアガイダンスアプリケーションは、他の検索クエリテンプレートのスコアに基づいて閾値を算出してもよい。例えば、メディアガイダンスアプリケーションは、検索クエリテンプレートに対する個別のスコアに対して各個別の検索クエリテンプレートをランク付けしてもよい。メディアガイダンスアプリケーションは、(例えば、最高ランク付けされた検索クエリテンプレートのみが選択されるように、)閾値最大スコアを2番目に最高ランク付けされた検索クエリテンプレートのスコアとして算出してもよい。メディアガイダンスアプリケーションが、スコアが閾値最大スコアを上回ると判定したとき、メディアガイダンスアプリケーションは、ステップ1014に進むことにより、検索クエリテンプレート(例えば、最高ランク付けされた検索クエリテンプレートまたは別の検索クエリテンプレート)をメモリから取り出す。そうでなければ、メディアガイダンスアプリケーションは、ステップ1030に進むことによりテンプレートに基づいてクエリを生成する。
ステップ1030では、メディアガイダンスアプリケーションは、テンプレートに基づいてクエリを生成し、検索クエリ内で識別された単語は、修正された入力クエリからの単語と置換される。例えば、メディアガイダンスアプリケーションは、入力クエリ「ハンガー ゲームの再生方法は?」を取り出してもよい。メディアガイダンスアプリケーションは、入力クエリを単語「メディア再生オプション」と関連付けられた検索クエリテンプレートと照合してもよい。メディアガイダンスアプリケーションは、単語「メディア」と入力クエリからの単語「ハンガー ゲーム」を置換することによって、テンプレートに基づいて検索クエリを生成してもよい。例えば、メディアガイダンスアプリケーションは、クエリ内の単語がテンプレート内の単語と同一のカテゴリに関連付けられるとの判定に基づいて、テンプレート内の単語をクエリ内の単語と置換してもよい。例えば、メディアガイダンスアプリケーションは、「ハンガー ゲーム」が入力クエリの主語であって、「メディア」がテンプレートの主語であることを判定してもよい。メディアガイダンスアプリケーションは、単語「メディア」をクエリ内の「ハンガー ゲーム」と置換することによって、クエリ「ハンガー ゲーム再生オプション」を生成してもよい。別の実施例では、メディアガイダンスアプリケーションは、「ロード オブ ザ リング(Lord of the Rings)をストリーミング配信して」等のクエリを受信してもよい。メディアガイダンスアプリケーションは、クエリを単語「メディア入手方法」を含むテンプレートと照合してもよく、(その理由は、例えば、本テンプレートが、メディアを入手するあらゆる方法に関して汎用化され得るためである)。メディアガイダンスアプリケーションは、単語「ストリーミング配信する」が、ユーザがしたい動作(例えば、メディアを入手する)および動作がどのように行われるべきかユーザが望む方法(例えば、ストリーミング配信vs郵送によるBlu−ray(登録商標)ディスクの受け取り)の両方を言い表すことから、単語「ストリーミング配信する」をクエリ内の単語「入手する」および「どのように」に一致させてもよい。メディアガイダンスアプリケーションは、テンプレート内の単語「どのように」を単語「ストリーミング配信する」と置換し(なぜなら、例えば、それがユーザがメディアをどのように入手することを所望するかを言い表しているためであり)、テンプレート内の単語「メディア」を単語「ロード オブ ザリング」(例えば、ユーザが探しているメディア)と置換してもよい。
ステップ1032では、メディアガイダンスアプリケーションは、生成されたクエリを使用して、検索結果を取り出す。例えば、メディアガイダンスアプリケーションは、テンプレートと関連付けられたデータベース(例えば、テンプレートに基づく検索クエリに対する検索結果を含むデータベース)を識別してもよい。例えば、検索クエリテンプレートがメディア再生と関連付けられるとき、メディアガイダンスアプリケーションは、メディアと関連付けられたデータベースを識別してもよい。検索クエリテンプレートが、ファンタジースポーツ統計と関連付けられるとき、メディアガイダンスアプリケーションは、ファンタジースポーツ選手と関連付けられたデータベースを識別してもよい。メディアガイダンスアプリケーションは、生成されたクエリをデータベースに伝送し、検索結果をデータベースから取り出してもよい。メディアガイダンスアプリケーションは、上述された方法のいずれかを使用してメディアガイダンスアプリケーションによって取り出される任意の検索結果を、表示のために生成しても、またはテキスト/スピーチアルゴリズムにより合成してもよい。
プロセス900および/または1000のいずれかまたはその任意のステップは、図1、4、7〜8に示されるデバイスのいずれかで行われるか、またはそれによって提供され得ることに留意されたい。例えば、プロセス900および/または1000は、複数の自然言語クエリを類似の意図を有すると認識し、意図に一致する検索結果を提供するために、ユーザ機器802、804、および/または806(図8)、100(図1)、ならびに/もしくは400(図4)上のユーザ機器に実装される制御回路によって命令されるような制御回路704(図7)によって実行されてもよい。
図9および/または図10のステップまたは説明は、本開示の任意の他の実施形態とともに使用され得ることが考慮される。加えて、図9および/または図10に関して説明されるステップおよび説明は、本開示の目的を促進するために、代替的な順序で、または並行して行われてもよい。例えば、これらのステップはそれぞれ、システムまたは方法の遅延を低減させる、もしくは速度を増加させるように、任意の順序で、または並行して、もしくは同時に行われてもよい。さらに、図1、4、および7〜8に関して議論されるデバイスまたは機器のいずれかは、図9および/または図10におけるステップのうちの1つ以上のものを行うために使用され得ることに留意されたい。
本発明に関わる方法は、コンピュータ使用可能および/または可読媒体を含むコンピュータプログラム製品内に具現化されてもよいことが、当業者に明白となるであろう。例えば、そのようなコンピュータ使用可能媒体は、そこに記憶されたコンピュータ可読プログラムコードを有しており、読取専用メモリデバイス、例えば、CD−ROMディスクもしくは従来のROMデバイス等、またはランダムアクセスメモリ、例えば、ハードドライブデバイスもしくはコンピュータディスケット等から構成されていてもよい。また、本発明に関わる方法、技法、およびプロセスは、処理回路を用いて実行されてもよいことを理解されたい。例えば、入力ユーザクエリをテンプレートと照合することは、処理回路によって、例えば、図7の処理回路706によって行われてもよい。処理回路は、例えば、ユーザ機器700、メディアコンテンツソース816、またはメディアガイダンスデータソース818内の汎用プロセッサ、カスタマイズされた集積回路(例えば、ASIC)、またはフィールドプログラマブルゲートアレイ(FPGA)であってもよい。例えば、プロファイルは、本明細書に説明されるように、図7の記憶装置708または図8のメディアガイダンスデータソース818内に記憶され、そこから取り出されてもよい。さらに、処理回路またはコンピュータプログラムは、図7の記憶装置708または図8のメディアガイダンスデータソース818内に記憶される、ユーザコーパスと関連付けられた設定を更新してもよい。
前述のプロセスは、例証であることが意図されており、限定することは意図されていない。当業者は、本明細書で議論されるプロセスのステップが、本発明の範囲から逸脱することなく、省略される、修正される、組み合わせられる、および/または並べ替えされてもよく、任意の付加的ステップが、行われてもよいことを理解するであろう。より一般的には、前述の開示は、例示であることが意図されており、限定することは意図されていない。続く請求項のみが、本発明が含むものに関する境界を設定することが意図される。さらに、いずれか1つの実施形態で説明される特徴および制限は、本明細書の任意の他の実施形態に適用され得、一実施形態に関するフローチャートまたは実施例は、好適な様式で任意の他の実施形態と組み合わせられ、異なる順序で行われ、または並行して行われ得ることに留意されたい。加えて、本明細書で説明されるシステムおよび方法は、リアルタイムで行われてもよい。また、上述されたシステムおよび/または方法は、他のシステムならびに/もしくは方法に適用され、またはそれらに従って使用され得ることにも留意されたい。

Claims (50)

  1. 検索を行う方法であって、前記方法は、
    ユーザ入力デバイスを介して入力クエリを受信することであって、前記入力クエリは少なくとも2つの単語を含む、ことと、
    前記入力クエリの第1の単語に対応する第1の表現ベクトルおよび前記入力クエリの第2の単語に対応する第2の表現ベクトルを算出することであって、前記第1および第2の表現ベクトルの個別の値は、前記第1の単語および前記第2の単語がそれぞれ一セットの単語特徴のうちの特徴に一致する度合いに対応する、ことと、
    検索意図に関連する検索クエリテンプレートをデータベースから取り出すことであって、前記検索クエリテンプレートは、少なくとも2つの単語を含み、かつ、第3の表現ベクトルおよび第4の表現ベクトルと関連付けられており、前記第3の表現ベクトルおよび前記第4の表現ベクトルは、前記検索クエリテンプレートの第3の単語および前記検索クエリテンプレートの第4の単語がそれぞれ前記セットの単語特徴のうちの特徴に一致する度合いに対応する個別の値を有する、ことと、
    前記第1の表現ベクトルと前記第3の表現ベクトルとの間の第1の距離を算出することと、
    前記第1の距離が第1の閾値距離未満であると判定したことに応答して、前記第2の表現ベクトルと前記第4の表現ベクトルとの間の第2の距離を算出することと、
    前記第2の距離が第2の閾値距離未満であると判定したことに応答して、
    前記検索クエリテンプレートを選択し、
    前記選択された検索クエリテンプレートに基づいて検索結果を取り出し、
    前記取り出された検索結果を表示のために生成する
    ことと
    を含む、方法。
  2. 前記第1の表現ベクトルと前記第3の表現ベクトルとの間の距離を算出することは、
    前記第1の表現ベクトル内の第1の値を前記第2の表現ベクトル内の対応する第2の値と比較することにより、前記第1の値と前記第2の値とが閾値未満だけ異なるかどうかを判定することと、
    前記値が前記閾値未満だけ異なると判定したことに応答して、前記距離を不変のままにしておくことと、
    前記値が前記閾値以上異なると判定したことに応答して、前記値が似ていない度合いを算出し、前記値が似ていない度合いに基づいて前記距離をインクリメントすることと
    を含む、請求項1に記載の方法。
  3. 前記第1の表現ベクトルと前記第3の表現ベクトルとの間の前記第1の距離を算出することが、ベクトル空間内での前記第3の表現ベクトルに対する前記第1の表現ベクトルの方位に基づくことにより、前記第1の距離が前記第1の表現ベクトルと前記第3の表現ベクトルとの間の角度の大きさとなっている、請求項1に記載の方法。
  4. 前記ユーザ入力は、オーディオ入力デバイスでオーディオ信号を介して受信され、前記第1の単語および前記第2の単語は、前記オーディオ信号に対するスピーチ/テキスト処理を行うことによって前記オーディオ信号から生成される、請求項1に記載の方法。
  5. 前記入力クエリからの2つの単語のうちの1つを前記データベースへのクエリに含めることをさらに含む、請求項1に記載の方法。
  6. 前記第1の単語と関連付けられた品詞を識別することと、
    前記第1の単語が前記入力クエリの主語であると判定したことに応答して、前記第1の単語を前記データベースへのクエリに含めることと
    をさらに含む、請求項5に記載の方法。
  7. 前記第1の単語をストップワードのリストと比較することにより、前記第1の単語が前記ストップワードのリストの1つのストップワードに一致するかどうかを判定することと、
    前記第1の単語が前記ストップワードに一致すると判定したことに応答して、
    前記入力クエリの第3の単語を選択し、
    第5の表現ベクトルを算出する
    ことであって、前記第1の表現ベクトルの値は、前記入力クエリの第3の単語が前記セットの単語特徴のうちの特徴に一致する度合いに対応する、ことと
    をさらに含む、請求項1に記載の方法。
  8. 前記第1の単語が前記第3の単語の意味に一致し、かつ、前記第4の単語の意味に一致しないとき、前記第1の距離は、前記第1の表現ベクトルと前記第4の表現ベクトルとの間の第3の距離より小さい、請求項1に記載の方法。
  9. 前記検索クエリテンプレートは、第1の検索クエリテンプレートであり、
    前記方法は、
    前記第1の距離が前記第1の閾値距離を上回ると判定したことに応答して、
    第2の検索クエリテンプレートを前記データベースから取り出すことであって、前記第2の検索クエリテンプレートは、第5の表現ベクトルおよび第6の表現ベクトルと関連付けられ、前記第5の表現ベクトルおよび前記第6の表現ベクトルは、前記第2の検索クエリテンプレートの第1の単語および前記第2の検索クエリテンプレートの第2の単語がそれぞれ前記セットの単語特徴のうちの特徴に一致する度合いに対応する個別の値を有する、こと、および
    前記第1の表現ベクトルと前記第5の表現ベクトルとの間の第3の距離を算出すること
    を行うことと、
    前記第3の距離が前記第1の閾値距離未満であると判定したことに応答して、前記第2の表現ベクトルと前記第6の表現ベクトルとの間の第4の距離を算出することと、
    前記第4の距離が前記第2の閾値未満であると判定したことに応答して、前記検索結果を取り出すために前記第2の検索クエリテンプレートを選択することと
    をさらに含む、請求項1に記載の方法。
  10. 前記取り出された検索結果を表示のために生成することは、
    前記検索クエリテンプレートと関連付けられたデータベースからレイアウトを取り出すことと、
    前記レイアウトに基づいて前記取り出された検索結果を表示のために生成することと
    をさらに含む、請求項1に記載の方法。
  11. 検索を行うように構成された制御回路を備えたシステムであって、前記制御回路は、
    ユーザ入力デバイスを介して入力クエリを受信することであって、前記入力クエリは少なくとも2つの単語を含む、ことと、
    前記入力クエリの第1の単語に対応する第1の表現ベクトルおよび前記入力クエリの第2の単語に対応する第2の表現ベクトルを算出することであって、前記第1および第2の表現ベクトルの個別の値は、前記第1の単語および前記第2の単語がそれぞれ一セットの単語特徴のうちの特徴に一致する度合いに対応する、ことと、
    検索意図に関連する検索クエリテンプレートをデータベースから取り出すことであって、前記検索クエリテンプレートは、少なくとも2つの単語を含み、かつ、第3の表現ベクトルおよび第4の表現ベクトルと関連付けられており、前記第3の表現ベクトルおよび前記第4の表現ベクトルは、前記検索クエリテンプレートの第3の単語および前記検索クエリテンプレートの第4の単語がそれぞれ前記セットの単語特徴のうちの特徴に一致する度合いに対応する個別の値を有する、ことと、
    前記第1の表現ベクトルと前記第3の表現ベクトルとの間の第1の距離を算出することと、
    前記第1の距離が第1の閾値距離未満であると判定したことに応答して、前記第2の表現ベクトルと前記第4の表現ベクトルとの間の第2の距離を算出することと、
    前記第2の距離が第2の閾値距離未満であると判定したことに応答して、
    前記検索クエリテンプレートを選択し、
    前記選択された検索クエリテンプレートに基づいて検索結果を取り出し、
    前記取り出された検索結果を表示のために生成する
    ことと
    を行うように構成されている、システム。
  12. 前記制御回路は、前記第1の表現ベクトルと前記第3の表現ベクトルとの間の距離を算出するとき、
    前記第1の表現ベクトル内の第1の値を前記第2の表現ベクトル内の対応する第2の値と比較することにより、前記第1の値と前記第2の値とが閾値未満だけ異なるかどうかを判定することと、
    前記値が前記閾値未満だけ異なると判定したことに応答して、前記距離を不変のままにしておくことと、
    前記値が前記閾値以上異なると判定したことに応答して、前記値が似ていない度合いを算出し、前記値が似ていない度合いに基づいて前記距離をインクリメントすることと
    を行うようにさらに構成されている、請求項11に記載のシステム。
  13. 前記制御回路は、前記第1の表現ベクトルと前記第3の表現ベクトルとの間の前記第1の距離を算出するとき、ベクトル空間内で前記第1の距離を前記第3の表現ベクトルに対する前記第1の表現ベクトルの方位に基づいたものとすることにより、前記第1の距離が前記第1の表現ベクトルと前記第3の表現ベクトルとの間の角度の大きさとなるようにさらに構成されている、請求項11に記載のシステム。
  14. 前記ユーザ入力は、オーディオ入力デバイスでオーディオ信号を介して受信され、前記第1の単語および前記第2の単語は、前記オーディオ信号に対するスピーチ/テキスト処理を行うことによって前記オーディオ信号から生成される、請求項11に記載のシステム。
  15. 前記制御回路は、前記入力クエリからの2つの単語のうちの1つを前記データベースへのクエリに含めるようにさらに構成されている、請求項11に記載のシステム。
  16. 前記制御回路は、
    前記第1の単語と関連付けられた品詞を識別することと、
    前記第1の単語が前記入力クエリの主語であると判定したことに応答して、前記第1の単語を前記データベースへのクエリに含めることと
    を行うようにさらに構成されている、請求項15に記載のシステム。
  17. 前記制御回路は、
    前記第1の単語をストップワードのリストと比較することにより、前記第1の単語が前記ストップワードのリストの1つのストップワードに一致するかどうかを判定することと、
    前記第1の単語が前記ストップワードに一致すると判定したことに応答して、
    前記入力クエリの第3の単語を選択し、
    第5の表現ベクトルを算出する
    ことであって、前記第1の表現ベクトルの値は、前記入力クエリの第3の単語が前記セットの単語特徴のうちの特徴に一致する度合いに対応する、ことと
    を行うようにさらに構成されている、請求項11に記載のシステム。
  18. 前記第1の単語が前記第3の単語の意味に一致し、かつ、前記第4の単語の意味に一致しないとき、前記第1の距離は、前記第1の表現ベクトルと前記第4の表現ベクトルとの間の第3の距離より小さい、請求項11に記載のシステム。
  19. 前記検索クエリテンプレートは、第1の検索クエリテンプレートであり、
    前記制御回路は、
    前記第1の距離が前記第1の閾値距離を上回ると判定したことに応答して、
    第2の検索クエリテンプレートを前記データベースから取り出すことであって、前記第2の検索クエリテンプレートは、第5の表現ベクトルおよび第6の表現ベクトルと関連付けられ、前記第5の表現ベクトルおよび前記第6の表現ベクトルは、前記第2の検索クエリテンプレートの第1の単語および前記第2の検索クエリテンプレートの第2の単語がそれぞれ前記セットの単語特徴のうちの特徴に一致する度合いに対応する個別の値を有する、こと、および
    前記第1の表現ベクトルと前記第5の表現ベクトルとの間の第3の距離を算出すること
    を行うことと、
    前記第3の距離が前記第1の閾値距離未満であると判定したことに応答して、前記第2の表現ベクトルと前記第6の表現ベクトルとの間の第4の距離を算出することと、
    前記第4の距離が前記第2の閾値未満であると判定したことに応答して、前記検索結果を取り出すために前記第2の検索クエリテンプレートを選択することと
    を行うようにさらに構成されている、請求項11に記載のシステム。
  20. 前記制御回路は、前記取り出された検索結果を表示のために生成するとき、
    前記検索クエリテンプレートと関連付けられたデータベースからレイアウトを取り出すことと、
    前記レイアウトに基づいて前記取り出された検索結果を表示のために生成することと
    を行うようにさらに構成されている、請求項11に記載のシステム。
  21. 検索を行うシステムであって、前記システムは、
    ユーザ入力デバイスを介して入力クエリを受信する手段であって、前記入力クエリは少なくとも2つの単語を含む、手段と、
    前記入力クエリの第1の単語に対応する第1の表現ベクトルおよび前記入力クエリの第2の単語に対応する第2の表現ベクトルを算出する手段であって、前記第1および第2の表現ベクトルの個別の値は、前記第1の単語および前記第2の単語がそれぞれ一セットの単語特徴のうちの特徴に一致する度合いに対応する、手段と、
    検索意図に関連する検索クエリテンプレートをデータベースから取り出す手段であって、前記検索クエリテンプレートは、少なくとも2つの単語を含み、かつ、第3の表現ベクトルおよび第4の表現ベクトルと関連付けられており、前記第3の表現ベクトルおよび前記第4の表現ベクトルは、前記検索クエリテンプレートの第3の単語および前記検索クエリテンプレートの第4の単語がそれぞれ前記セットの単語特徴のうちの特徴に一致する度合いに対応する個別の値を有する、手段と、
    前記第1の表現ベクトルと前記第3の表現ベクトルとの間の第1の距離を算出する手段と、
    前記第1の距離が第1の閾値距離未満であると判定したことに応答して、前記第2の表現ベクトルと前記第4の表現ベクトルとの間の第2の距離を算出する手段と、
    前記第2の距離が第2の閾値距離未満であると判定したことに応答して、
    前記検索クエリテンプレートを選択し、
    前記選択された検索クエリテンプレートに基づいて検索結果を取り出し、
    前記取り出された検索結果を表示のために生成する
    手段と
    を備える、システム。
  22. 前記第1の表現ベクトルと前記第3の表現ベクトルとの間の距離を算出する手段は、
    前記第1の表現ベクトル内の第1の値を前記第2の表現ベクトル内の対応する第2の値と比較することにより、前記第1の値と前記第2の値とが閾値未満だけ異なるかどうかを判定する手段と、
    前記値が前記閾値未満だけ異なると判定したことに応答して、前記距離を不変のままにしておく手段と、
    前記値が前記閾値以上異なると判定したことに応答して、前記値が似ていない度合いを算出し、前記値が似ていない度合いに基づいて前記距離をインクリメントする手段と
    をさらに備える、請求項21に記載のシステム。
  23. 前記第1の表現ベクトルと前記第3の表現ベクトルとの間の前記第1の距離を算出する手段は、前記第1の距離をベクトル空間内の前記第3の表現ベクトルに対する前記第1の表現ベクトルの方位に基づいたものとすることにより、前記第1の距離が前記第1の表現ベクトルと前記第3の表現ベクトルとの間の角度の大きさとなるようにする手段をさらに備える、請求項21に記載のシステム。
  24. オーディオ入力デバイスでオーディオ信号を介して前記ユーザ入力を受信する手段と、前記オーディオ信号に対するスピーチ/テキスト処理を行うことによって、前記オーディオ信号から前記第1の単語および前記第2の単語を生成する手段とをさらに備える、請求項21に記載のシステム。
  25. 前記入力クエリからの2つの単語のうちの1つを前記データベースへのクエリ内に含める手段をさらに備える、請求項21に記載のシステム。
  26. 前記第1の単語と関連付けられた品詞を識別する手段と、
    前記第1の単語が前記入力クエリの主語であると判定したことに応答して、前記第1の単語を前記データベースへのクエリ内に含める手段と
    をさらに備える、請求項25に記載のシステム。
  27. 前記第1の単語をストップワードのリストと比較することにより、前記第1の単語が前記ストップワードのリストの1つのストップワードに一致するかどうかを判定する手段と、
    前記第1の単語が前記ストップワードに一致すると判定したことに応答して、
    前記入力クエリの第3の単語を選択し、
    第5の表現ベクトルを算出する
    手段であって、前記第1の表現ベクトルの値は、前記入力クエリの第3の単語が前記セットの単語特徴のうちの特徴に一致する度合いに対応する、手段と
    をさらに備える、請求項21に記載のシステム。
  28. 前記第1の単語が前記第3の単語の意味に一致し、前記第4の単語の意味に一致しないとき、前記第1の距離は、前記第1の表現ベクトルと前記第4の表現ベクトルとの間の第3の距離より小さい、請求項21に記載のシステム。
  29. 前記検索クエリテンプレートは、第1の検索クエリテンプレートであり、
    前記システムは、
    前記第1の距離が前記第1の閾値距離を上回ると判定したことに応答して、
    第2の検索クエリテンプレートを前記データベースから取り出すことであって、前記第2の検索クエリテンプレートは、第5の表現ベクトルおよび第6の表現ベクトルと関連付けられ、前記第5の表現ベクトルおよび前記第6の表現ベクトルは、前記第2の検索クエリテンプレートの第1の単語および前記第2の検索クエリテンプレートの第2の単語がそれぞれ前記セットの単語特徴のうちの特徴に一致する度合いに対応する個別の値を有する、こと、および
    前記第1の表現ベクトルと前記第5の表現ベクトルとの間の第3の距離を算出すること
    を行う手段と、
    前記第3の距離が前記第1の閾値距離未満であると判定したことに応答して、前記第2の表現ベクトルと前記第6の表現ベクトルとの間の第4の距離を算出する手段と、
    前記第4の距離が前記第2の閾値未満であると判定したことに応答して、前記検索結果を取り出すために前記第2の検索クエリテンプレートを選択する手段と
    をさらに備える、請求項21に記載のシステム。
  30. 前記取り出された検索結果を表示のために生成する手段は、
    前記検索クエリテンプレートと関連付けられたデータベースからレイアウトを取り出す手段と、
    前記レイアウトに基づいて前記取り出された検索結果を表示のために生成する手段と
    をさらに備える、請求項21に記載のシステム。
  31. メモリを備えた非一過性コンピュータ可読媒体であって、前記メモリには、検索を行うための命令がエンコードされており、前記命令は、
    ユーザ入力デバイスを介して入力クエリを受信するための命令であって、前記入力クエリは少なくとも2つの単語を含む、命令と、
    前記入力クエリの第1の単語に対応する第1の表現ベクトルおよび前記入力クエリの第2の単語に対応する第2の表現ベクトルを算出するための命令であって、前記第1および第2の表現ベクトルの個別の値は、前記第1の単語および前記第2の単語がそれぞれ一セットの単語特徴のうちの特徴に一致する度合いに対応する、命令と、
    検索意図に関連する検索クエリテンプレートをデータベースから取り出すための命令であって、前記検索クエリテンプレートは、少なくとも2つの単語を含み、、かつ、第3の表現ベクトルおよび第4の表現ベクトルと関連付けられており、前記第3の表現ベクトルおよび前記第4の表現ベクトルは、前記検索クエリテンプレートの第3の単語および前記検索クエリテンプレートの第4の単語がそれぞれ前記セットの単語特徴のうちの特徴に一致する度合いに対応する個別の値を有する、命令と、
    前記第1の表現ベクトルと前記第3の表現ベクトルとの間の第1の距離を算出するための命令と、
    前記第1の距離が第1の閾値距離未満であると判定したことに応答して、前記第2の表現ベクトルと前記第4の表現ベクトルとの間の第2の距離を算出するための命令と、
    前記第2の距離が第2の閾値距離未満であると判定したことに応答して、
    前記検索クエリテンプレートを選択し、
    前記選択された検索クエリテンプレートに基づいて検索結果を取り出し、
    前記取り出された検索結果を表示のために生成する
    ための命令と
    を備える、非一過性コンピュータ可読媒体。
  32. 前記第1の表現ベクトルと前記第3の表現ベクトルとの間の距離を算出するための命令は、
    前記第1の表現ベクトル内の第1の値を前記第2の表現ベクトル内の対応する第2の値と比較することにより、前記第1の値と前記第2の値とが閾値未満だけ異なるかどうかを判定するための命令と、
    前記値が前記閾値未満だけ異なると判定したことに応答して、前記距離を不変のままにしておくための命令と、
    前記値が前記閾値以上異なると判定したことに応答して、前記値が似ていない度合いを算出し、前記値が似ていない度合いに基づいて前記距離をインクリメントするための命令と
    をさらに備える、請求項31に記載の非一過性コンピュータ可読媒体。
  33. 前記第1の表現ベクトルと前記第3の表現ベクトルとの間の前記第1の距離を算出するための命令は、前記第1の距離をベクトル空間内の前記第3の表現ベクトルに対する前記第1の表現ベクトルの方位に基づいたものとすることにより、前記第1の距離が前記第1の表現ベクトルと前記第3の表現ベクトルとの間の角度の大きさとなるようにするための命令をさらに備える、請求項31に記載の非一過性コンピュータ可読媒体。
  34. 前記ユーザ入力は、オーディオ入力デバイスでオーディオ信号を介して受信され、前記第1の単語および前記第2の単語は、前記オーディオ信号に対するスピーチ/テキスト処理を行うことによって前記オーディオ信号から生成される、請求項31に記載の非一過性コンピュータ可読媒体。
  35. 前記入力クエリからの2つの単語のうちの1つを前記データベースへのクエリ内に含めるための命令をさらに備える、請求項31に記載の非一過性コンピュータ可読媒体。
  36. 前記第1の単語と関連付けられた品詞を識別するための命令と、
    前記第1の単語が前記入力クエリの主語であると判定したことに応答して、前記第1の単語を前記データベースへのクエリ内に含めるための命令と
    をさらに備える、請求項35に記載の非一過性コンピュータ可読媒体。
  37. 前記第1の単語をストップワードのリストと比較することにより、前記第1の単語が前記ストップワードのリストの1つのストップワードに一致するかどうかを判定するための命令と、
    前記第1の単語が前記ストップワードに一致すると判定したことに応答して、
    前記入力クエリの第3の単語を選択し、
    第5の表現ベクトルを算出する
    ための命令であって、前記第1の表現ベクトルの値は、前記入力クエリの第3の単語が前記セットの単語特徴のうちの特徴に一致する度合いに対応する、命令と
    をさらに備える、請求項31に記載の非一過性コンピュータ可読媒体。
  38. 前記第1の単語が前記第3の単語の意味に一致し、前記第4の単語の意味に一致しないとき、前記第1の距離は、前記第1の表現ベクトルと前記第4の表現ベクトルとの間の第3の距離より小さい、請求項31に記載の非一過性コンピュータ可読媒体。
  39. 前記検索クエリテンプレートは、第1の検索クエリテンプレートであり、
    前記命令は、
    前記第1の距離が前記第1の閾値距離を上回ると判定したことに応答して、
    第2の検索クエリテンプレートを前記データベースから取り出すことであって、前記第2の検索クエリテンプレートは、第5の表現ベクトルおよび第6の表現ベクトルと関連付けられ、前記第5の表現ベクトルおよび前記第6の表現ベクトルは、前記第2の検索クエリテンプレートの第1の単語および前記第2の検索クエリテンプレートの第2の単語がそれぞれ前記セットの単語特徴のうちの特徴に一致する度合いに対応する個別の値を有する、
    ことと、
    前記第1の表現ベクトルと前記第5の表現ベクトルとの間の第3の距離を算出する
    ことと
    を行うための命令と、
    前記第3の距離が前記第1の閾値距離未満であると判定したことに応答して、前記第2の表現ベクトルと前記第6の表現ベクトルとの間の第4の距離を算出するための命令と、
    前記第4の距離が前記第2の閾値未満であると判定したことに応答して、前記検索結果を取り出すために前記第2の検索クエリテンプレートを選択するための命令と
    をさらに備える、請求項31に記載の非一過性コンピュータ可読媒体。
  40. 前記取り出された検索結果を表示のために生成するための命令は、
    前記検索クエリテンプレートと関連付けられたデータベースからレイアウトを取り出すための命令と、
    前記レイアウトに基づいて前記取り出された検索結果を表示のために生成するための命令と
    をさらに備える、請求項31に記載の非一過性コンピュータ可読媒体。
  41. 検索を行う方法であって、前記方法は、
    制御回路を用いて、ユーザ入力デバイスを介して入力クエリを受信することであって、前記入力クエリは少なくとも2つの単語を含む、ことと、
    前記制御回路を用いて、前記入力クエリの第1の単語に対応する第1の表現ベクトルおよび前記入力クエリの第2の単語に対応する第2の表現ベクトルを算出することであって、前記第1および第2の表現ベクトルの個別の値は、前記第1の単語および前記第2の単語がそれぞれ一セットの単語特徴のうちの特徴に一致する度合いに対応する、ことと、
    前記制御回路を用いて、検索意図に関連する検索クエリテンプレートをデータベースから取り出すことであって、前記検索クエリテンプレートは、少なくとも2つの単語を含み、かつ、第3の表現ベクトルおよび第4の表現ベクトルと関連付けられており、前記第3の表現ベクトルおよび前記第4の表現ベクトルは、前記検索クエリテンプレートの第3の単語および前記検索クエリテンプレートの第4の単語がそれぞれ前記セットの単語特徴のうちの特徴に一致する度合いに対応する個別の値を有する、ことと、
    前記制御回路を用いて、前記第1の表現ベクトルと前記第3の表現ベクトルとの間の第1の距離を算出することと、
    前記第1の距離が第1の閾値距離未満であると判定したことに応答して、前記制御回路を用いて、前記第2の表現ベクトルと前記第4の表現ベクトルとの間の第2の距離を算出することとと、
    前記第2の距離が第2の閾値距離未満であると判定したことに応答して、
    前記制御回路を用いて、前記検索クエリテンプレートを選択し、
    前記制御回路を用いて、前記選択された検索クエリテンプレートに基づいて検索結果を取り出し、
    前記制御回路を用いて、前記取り出された検索結果を表示のために生成することと
    を含む、方法。
  42. 前記第1の表現ベクトルと前記第3の表現ベクトルとの間の距離を算出することは、
    前記第1の表現ベクトル内の第1の値を前記第2の表現ベクトル内の対応する第2の値と比較することにより、前記第1の値と前記第2の値とが閾値未満だけ異なるかどうかを判定することと、
    前記値が前記閾値未満だけ異なると判定したことに応答して、前記距離を不変のままにしておくことと、
    前記値が前記閾値以上異なると判定したことに応答して、前記値が似ていない度合いを算出し、前記値が類似しない度合いに基づいて、前記距離をインクリメントすることと
    を含む、請求項41に記載の方法。
  43. 前記第1の表現ベクトルと前記第3の表現ベクトルとの間の第1の距離を算出することが、ベクトル空間内での前記第3の表現ベクトルに対する前記第1の表現ベクトルの方位に基づくことにより、前記第1の距離が前記第1の表現ベクトルと前記第3の表現ベクトルとの間の角度の大きさとなっている、請求項41〜42のいずれかに記載の方法。
  44. 前記ユーザ入力は、オーディオ入力デバイスでオーディオ信号を介して受信され、前記第1の単語および前記第2の単語は、前記オーディオ信号に対するスピーチ/テキスト処理を行うことによって前記オーディオ信号から生成される、請求項41〜43のいずれか1項に記載の方法。
  45. 前記入力クエリからの2つの単語のうちの1つを前記データベースへのクエリに含めることをさらに含む、請求項41〜44のいずれか1項に記載の方法。
  46. 前記第1の単語と関連付けられた品詞を識別することと、
    前記第1の単語が前記入力クエリの主語であると判定したことに応答して、前記第1の単語を前記データベースへのクエリに含めること
    をさらに含む、請求項45に記載の方法。
  47. 前記第1の単語をストップワードのリストと比較することにより、前記第1の単語が前記ストップワードのリストの1つのストップワードに一致するかどうかを判定することと、
    前記第1の単語が前記ストップワードに一致すると判定したことに応答して、
    前記入力クエリの第3の単語を選択し、
    第5の表現ベクトルを算出することであって、前記第1の表現ベクトルの値は、前記入力クエリの第3の単語が前記セットの単語特徴のうちの特徴に一致する度合いに対応する、ことと
    をさらに含む、請求項41〜46のいずれか1項に記載の方法。
  48. 前記第1の単語が前記第3の単語の意味に一致し、かつ、前記第4の単語の意味に一致しないとき、前記第1の距離は、前記第1の表現ベクトルと前記第4の表現ベクトルとの間の第3の距離より小さい、請求項41〜47のいずれか1項に記載の方法。
  49. 前記検索クエリテンプレートは、第1の検索クエリテンプレートであり、
    前記方法は、
    前記第1の距離が前記第1の閾値距離を上回ると判定したことに応答して、
    第2の検索クエリテンプレートを前記データベースから取り出すことであって、前記第2の検索クエリテンプレートは、第5の表現ベクトルおよび第6の表現ベクトルと関連付けられ、前記第5の表現ベクトルおよび前記第6の表現ベクトルは、前記第2の検索クエリテンプレートの第1の単語および前記第2の検索クエリテンプレートの第2の単語がそれぞれ前記セットの単語特徴のうちの特徴に一致する度合いに対応する個別の値を有する、こと、および
    前記第1の表現ベクトルと前記第5の表現ベクトルとの間の第3の距離を算出すること
    を行うことと、
    前記第3の距離が前記第1の閾値距離未満であると判定したことに応答して、前記第2の表現ベクトルと前記第6の表現ベクトルとの間の第4の距離を算出することと、
    前記第4の距離が前記第2の閾値未満であると判定したことに応答して、前記検索結果を取り出すために前記第2の検索クエリテンプレートを選択することと
    をさらに含む、請求項41〜48のいずれか1項に記載の方法。
  50. 前記取り出された検索結果を表示のために生成することは、
    前記検索クエリテンプレートと関連付けられたデータベースからレイアウトを取り出すことと、
    前記レイアウトに基づいて前記取り出された検索結果を表示のために生成することと
    をさらに含む、請求項41〜49のいずれか1項に記載の方法。
JP2018534059A 2016-06-20 2017-06-20 自然言語クエリのための近似的テンプレート照合 Active JP7016802B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/187,029 US10037360B2 (en) 2016-06-20 2016-06-20 Approximate template matching for natural language queries
US15/187,029 2016-06-20
PCT/US2017/038245 WO2017223035A1 (en) 2016-06-20 2017-06-20 Approximate template matching for natural language queries

Publications (3)

Publication Number Publication Date
JP2019525272A true JP2019525272A (ja) 2019-09-05
JP2019525272A5 JP2019525272A5 (ja) 2020-07-30
JP7016802B2 JP7016802B2 (ja) 2022-02-07

Family

ID=59298521

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018534059A Active JP7016802B2 (ja) 2016-06-20 2017-06-20 自然言語クエリのための近似的テンプレート照合

Country Status (9)

Country Link
US (4) US10037360B2 (ja)
EP (1) EP3380959A1 (ja)
JP (1) JP7016802B2 (ja)
KR (1) KR102354652B1 (ja)
CN (1) CN109478189A (ja)
AU (1) AU2017281453A1 (ja)
BR (1) BR112018013291A2 (ja)
MX (1) MX2018007985A (ja)
WO (1) WO2017223035A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2021124535A1 (ja) * 2019-12-19 2021-06-24

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9202176B1 (en) * 2011-08-08 2015-12-01 Gravity.Com, Inc. Entity analysis system
US10915543B2 (en) 2014-11-03 2021-02-09 SavantX, Inc. Systems and methods for enterprise data search and analysis
US10832130B2 (en) * 2016-09-19 2020-11-10 Google Llc Recommending a document for a user to access
US20180113938A1 (en) * 2016-10-24 2018-04-26 Ebay Inc. Word embedding with generalized context for internet search queries
US11392632B1 (en) * 2016-12-12 2022-07-19 SimpleC, LLC Systems and methods for locating media using a tag-based query
CN106874467B (zh) * 2017-02-15 2019-12-06 百度在线网络技术(北京)有限公司 用于提供搜索结果的方法和装置
US11328128B2 (en) 2017-02-28 2022-05-10 SavantX, Inc. System and method for analysis and navigation of data
US10528668B2 (en) 2017-02-28 2020-01-07 SavantX, Inc. System and method for analysis and navigation of data
US10607271B1 (en) * 2017-03-16 2020-03-31 Walgreen Co. Search platform with data driven search relevancy management
CN107291828B (zh) * 2017-05-27 2021-06-11 北京百度网讯科技有限公司 基于人工智能的口语查询解析方法、装置及存储介质
US10901992B2 (en) * 2017-06-12 2021-01-26 KMS Lighthouse Ltd. System and method for efficiently handling queries
US10395655B1 (en) * 2017-09-13 2019-08-27 Amazon Technologies, Inc. Proactive command framework
US20190108282A1 (en) * 2017-10-09 2019-04-11 Facebook, Inc. Parsing and Classifying Search Queries on Online Social Networks
US11232109B1 (en) * 2017-12-01 2022-01-25 Pinterest, Inc. Object identification based on long-term user behavior and short-term interest
US11163779B1 (en) 2017-12-01 2021-11-02 Pinterest, Inc. Binary representations of objects based on object attributes
US11132622B2 (en) * 2017-12-27 2021-09-28 International Business Machines Corporation Autonomous system for hypotheses generation
US10878808B1 (en) * 2018-01-09 2020-12-29 Amazon Technologies, Inc. Speech processing dialog management
US10831797B2 (en) * 2018-03-23 2020-11-10 International Business Machines Corporation Query recognition resiliency determination in virtual agent systems
US11971910B2 (en) * 2018-10-22 2024-04-30 International Business Machines Corporation Topic navigation in interactive dialog systems
US11461551B1 (en) * 2018-10-23 2022-10-04 Private AI Inc. Secure word search
US11520821B2 (en) * 2018-11-27 2022-12-06 Rovi Guides, Inc. Systems and methods for providing search query responses having contextually relevant voice output
CN109766429A (zh) * 2019-02-19 2019-05-17 北京奇艺世纪科技有限公司 一种语句检索方法及装置
US11361365B2 (en) 2019-02-25 2022-06-14 Etsy, Inc. Intuitive entity navigation
KR20200119531A (ko) * 2019-04-10 2020-10-20 삼성전자주식회사 자연어 응답을 생성하는 전자 장치 및 자연어 응답 생성 방법
US11550783B2 (en) * 2019-04-18 2023-01-10 Sap Se One-shot learning for text-to-SQL
US10964324B2 (en) * 2019-04-26 2021-03-30 Rovi Guides, Inc. Systems and methods for enabling topic-based verbal interaction with a virtual assistant
CN110059163B (zh) * 2019-04-29 2022-05-13 百度在线网络技术(北京)有限公司 生成模板的方法和装置、电子设备、计算机可读介质
US11521149B2 (en) * 2019-05-14 2022-12-06 Yawye Generating sentiment metrics using emoji selections
US11694032B2 (en) * 2019-09-12 2023-07-04 Oracle International Corporation Template-based intent classification for chatbots
US11270075B2 (en) 2019-10-31 2022-03-08 International Business Machines Corporation Generation of natural language expression variants
JP7259992B2 (ja) * 2019-12-18 2023-04-18 富士通株式会社 情報処理プログラム、情報処理方法および情報処理装置
CN111651474B (zh) * 2020-06-02 2023-07-25 东云睿连(武汉)计算技术有限公司 一种自然语言至结构化查询语言的转换方法及系统
US11516347B2 (en) 2020-06-30 2022-11-29 ROVl GUIDES, INC. Systems and methods to automatically join conference
AU2020257045B2 (en) * 2020-07-28 2022-06-02 Sap Se Bridge from natural language processing engine to database engine
US11403286B2 (en) * 2020-07-28 2022-08-02 Sap Se Bridge from natural language processing engine to database engine
EP3945431A1 (en) * 2020-07-28 2022-02-02 Sap Se Bridge from natural language processing engine to database engine
KR20230102882A (ko) * 2021-12-30 2023-07-07 삼성전자주식회사 전자 장치 및 그 제어 방법
US12111858B1 (en) * 2023-10-04 2024-10-08 Salesforce, Inc. Database system interaction embedding and indexing for text retrieval and generation
US11995412B1 (en) * 2023-10-06 2024-05-28 Armada Systems, Inc. Video based question and answer

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007316803A (ja) * 2006-05-24 2007-12-06 Matsushita Electric Ind Co Ltd 操作支援装置および操作支援方法
JP2008310819A (ja) * 2001-03-31 2008-12-25 Koninkl Philips Electronics Nv オフライン取得及び処理を備えた機械可読ラベルシステム
JP2016091374A (ja) * 2014-11-06 2016-05-23 日本電信電話株式会社 パラメータ推定装置、カテゴリ割当装置、方法、及びプログラム

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6239794B1 (en) 1994-08-31 2001-05-29 E Guide, Inc. Method and system for simultaneously displaying a television program and information about the program
US6564378B1 (en) 1997-12-08 2003-05-13 United Video Properties, Inc. Program guide system with browsing display
CN1867068A (zh) 1998-07-14 2006-11-22 联合视频制品公司 交互式电视节目导视系统及其方法
CN101383946A (zh) 1998-07-17 2009-03-11 联合视频制品公司 点播节目的系统及其相关方法
AR020608A1 (es) 1998-07-17 2002-05-22 United Video Properties Inc Un metodo y una disposicion para suministrar a un usuario acceso remoto a una guia de programacion interactiva por un enlace de acceso remoto
US7165098B1 (en) 1998-11-10 2007-01-16 United Video Properties, Inc. On-line schedule system with personalization features
CA2423964A1 (en) * 2000-09-29 2002-04-04 Gavagai Technology Incorporated A method and system for describing and identifying concepts in natural language text for information retrieval and processing
WO2002069636A1 (en) 2001-02-21 2002-09-06 United Video Properties, Inc. Systems and methods for interactive program guides with personal video recording features
US7403938B2 (en) 2001-09-24 2008-07-22 Iac Search & Media, Inc. Natural language query processing
US20100153885A1 (en) 2005-12-29 2010-06-17 Rovi Technologies Corporation Systems and methods for interacting with advanced displays provided by an interactive media guidance application
JP4827721B2 (ja) * 2006-12-26 2011-11-30 ニュアンス コミュニケーションズ,インコーポレイテッド 発話分割方法、装置およびプログラム
US8346792B1 (en) * 2010-11-09 2013-01-01 Google Inc. Query generation using structural similarity between documents
CA2747153A1 (en) * 2011-07-19 2013-01-19 Suleman Kaheer Natural language processing dialog system for obtaining goods, services or information
CN103064838B (zh) * 2011-10-19 2016-03-30 阿里巴巴集团控股有限公司 数据搜索方法和装置
US9223776B2 (en) 2012-03-27 2015-12-29 The Intellectual Group, Inc. Multimodal natural language query system for processing and analyzing voice and proximity-based queries
US8589164B1 (en) * 2012-10-18 2013-11-19 Google Inc. Methods and systems for speech recognition processing using search query information
US9448992B2 (en) 2013-06-04 2016-09-20 Google Inc. Natural language search results for intent queries
US9830321B2 (en) * 2014-09-30 2017-11-28 Rovi Guides, Inc. Systems and methods for searching for a media asset
US10748118B2 (en) * 2016-04-05 2020-08-18 Facebook, Inc. Systems and methods to develop training set of data based on resume corpus

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008310819A (ja) * 2001-03-31 2008-12-25 Koninkl Philips Electronics Nv オフライン取得及び処理を備えた機械可読ラベルシステム
JP2007316803A (ja) * 2006-05-24 2007-12-06 Matsushita Electric Ind Co Ltd 操作支援装置および操作支援方法
JP2016091374A (ja) * 2014-11-06 2016-05-23 日本電信電話株式会社 パラメータ推定装置、カテゴリ割当装置、方法、及びプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2021124535A1 (ja) * 2019-12-19 2021-06-24
WO2021124535A1 (ja) * 2019-12-19 2021-06-24 富士通株式会社 情報処理プログラム、情報処理方法および情報処理装置

Also Published As

Publication number Publication date
EP3380959A1 (en) 2018-10-03
US12079226B2 (en) 2024-09-03
US10037360B2 (en) 2018-07-31
MX2018007985A (es) 2019-03-28
JP7016802B2 (ja) 2022-02-07
US20170364520A1 (en) 2017-12-21
WO2017223035A1 (en) 2017-12-28
BR112018013291A2 (pt) 2018-12-04
US20220138211A1 (en) 2022-05-05
US20190266166A1 (en) 2019-08-29
KR102354652B1 (ko) 2022-01-24
US11200243B2 (en) 2021-12-14
KR20190019041A (ko) 2019-02-26
CN109478189A (zh) 2019-03-15
US10324940B2 (en) 2019-06-18
US20180307691A1 (en) 2018-10-25
AU2017281453A1 (en) 2018-07-12

Similar Documents

Publication Publication Date Title
JP7016802B2 (ja) 自然言語クエリのための近似的テンプレート照合
US11860927B2 (en) Systems and methods for searching for a media asset
US10672390B2 (en) Systems and methods for improving speech recognition performance by generating combined interpretations
US11792456B2 (en) Systems and methods for managing available bandwidth in a household
US20160094889A1 (en) Systems and methods for determining whether to merge search queries based on contextual information
US9721564B2 (en) Systems and methods for performing ASR in the presence of heterographs
US12057103B2 (en) Systems and methods for identifying content corresponding to a language spoken in a household
US20190155901A1 (en) Systems and methods for training a model to determine whether a query with multiple segments comprises multiple distinct commands or a combined command

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200619

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200619

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210414

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210513

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210813

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20211203

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20211221

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220126