JP5946916B2 - 半構造化されたデータを解析しカテゴリ分けするための方法 - Google Patents

半構造化されたデータを解析しカテゴリ分けするための方法 Download PDF

Info

Publication number
JP5946916B2
JP5946916B2 JP2014530448A JP2014530448A JP5946916B2 JP 5946916 B2 JP5946916 B2 JP 5946916B2 JP 2014530448 A JP2014530448 A JP 2014530448A JP 2014530448 A JP2014530448 A JP 2014530448A JP 5946916 B2 JP5946916 B2 JP 5946916B2
Authority
JP
Japan
Prior art keywords
semi
topic
data
structured
structured data
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.)
Active
Application number
JP2014530448A
Other languages
English (en)
Other versions
JP2015518585A (ja
Inventor
ゾフィア スタンキエヴィッチ,
ゾフィア スタンキエヴィッチ,
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Rakuten Group Inc
Original Assignee
Rakuten Inc
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 Rakuten Inc filed Critical Rakuten Inc
Publication of JP2015518585A publication Critical patent/JP2015518585A/ja
Application granted granted Critical
Publication of JP5946916B2 publication Critical patent/JP5946916B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/80Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/80Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
    • G06F16/84Mapping; Conversion
    • G06F16/86Mapping to a database
    • 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/35Clustering; Classification
    • G06F16/355Class or cluster creation or modification

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、生の及び/又は構造化されていないデータに調和のとれたフィールド割り当てを用いて、十分に構造化された入力に及ぶ複数の異なるフォーマットに体系化されたデータのセットを解析することに関する。特に、本発明は、違ったふうに構造化されたデータの全スペクトルをカテゴリ分けするために、一又は複数のデータ解釈モデルに従った様々な入力のデータ処理に関する。
今日の現代社会では、数え切れない様々な理由で複数のユーザによってデータが入力される。いったん、データが入力されると、他のユーザは、データを解釈し、関連する結果を迅速に見つけるために、データを検索しかつソートする能力を望む。しかしながら、データが、様々なフォーマット、場所及び言語で様々なユーザによって入力されるので、データの入力方法に一貫性がないことがある。したがって、例えば、一貫性のない登録のために、特定の単語又はトピックの検索において関連する情報を見落とすことがある。
この一例は、ウェブサイト上に掲示される、ユーザが入力したレシピである。レシピの構造化された部分は、レシピの名前、原材料、料理法、及びイベントに関するフィールドであり得る。しかしながら、いったん、ユーザがそのフィールドに情報を入力し始めると、情報がどのようにして実際に提示されるかにおいて、大きな差異があり得る。任意の構造化されたフィールドでは、書き間違いは普通であり得る。また、レシピ及び原材料に関する異名又は代替名もよくあることである。例えば、何人かのユーザは「ポテトスープ」又は「冷製ポテトスープ」とレシピを入力することがあるが、他のユーザ、「ビシソワーズ」という名前を入力することがある。しかしながら、「ビシソワーズ」を検索するユーザは、すべての入手可能な冷製ポテトスープのレシピを見ることをおそらく望むであろう。
これは、別のタイプのユーザ入力データについても当てはまる。このデータの多くは、半構造化されることがあるし、何らかの構造とか何かが欠如することがあり得る。本発明は、構造化されていない又は半構造化されたデータから有用な知識を抽出し得る。
本明細書における教示は、多種多様なフォーマットで受信したデータ、又は同じフォーマットであるが記録する際に異なるレベルの構造、精度及び忠実度で受信したデータを統合及び体系化することに伴う上記の問題の一又は複数を軽減することで、データが一つ若しくは複数の評価に適用され得るようにすることである。例示的な実施形態では、コンピュータシステムは、複数のユーザがデータ/通信ネットワークを介して中央サーバ/ネットワークに接続することを可能にする。サーバは、システム稼働プログラミングによって管理されたプラットフォームへのゲートウェイを形成する。選択データは、プログラムされた入力構造に従って集められ、一又は複数のデータ構造化アルゴリズムによって解釈及び/又は体系化される。プロセスデータは、次に、例えば、検索照会等などの様々な機能をサポートするために使用される。
別の例では、コンピュータシステムは複数のユーザにネットワークで接続される。システムは少なくとも、複数の半構造化されたユーザ入力データを記憶するメモリと、半構造化されたユーザ入力データのサブセットにデータ解釈用アルゴリズムを適用するプロセッサとを有する。同じ又は第2のプロセッサのいずれかは、半構造化されたユーザ入力データのサブセットを用いて、複数の半構造化されたユーザ入力データの残りをカテゴリ分けし得る。システムは、カテゴリ分けされた複数の半構造化されたユーザ入力データをユーザが検索することを可能にするインターフェースも有する。このインターフェースは、検索及び結果の取得を可能にするウェブページ、アプリケーション、又は他のポータルであってもよい。
システムの別の一例では、複数の半構造化されたユーザ入力データはデータフィールドを有する。さらに、複数の半構造化されたユーザ入力データはレシピである。そして、複数のデータフィールドは、レシピ名称、原材料、命令、タグ、及び画像のうちの少なくとも一つであってもよい。
データ解釈用アルゴリズムの例として、混成(hybrid)最大エントロピー及びLDAモデルと、語出現頻度−文献出現頻度の逆数と、コサイン類似度解析とがあり得る。
半構造化されたデータを解析するための方法の例は、複数の半構造化されたデータエントリをメモリに記憶するステップを含む。それぞれの半構造化されたデータエントリは、複数のデータフィールドを含む得る。プロセッサは、それぞれの半構造化されたデータエントリ内の半構造化されたデータフィールドをソートし、データ解釈用アルゴリズムを使用して、半構造化されたデータエントリのサブセットを選択し得る。続いて、トピックのデータフィールドが、半構造化されたデータエントリのサブセットの半構造化されたデータフィールドから選択され得る。続いて、残りの複数の半構造化されたデータエントリがトピックのデータフィールドを用いて解析され得る。そして、半構造化されたデータエントリの新たなサブセットが、解析された残りの複数の半構造化されたデータエントリについてデータ解釈用アルゴリズムを使用して選択され、半構造化されたデータエントリのサブセットと統合され得る。
別の一例では、複数の半構造化されたデータエントリはレシピであり、複数のデータフィールドは、レシピ名称、原材料、命令、タグ、及び画像のうちの少なくとも一つを備える。データ解釈用アルゴリズムは、混成最大エントロピー及びLDAモデルと、語出現頻度−文献出現頻度の逆数と、コサイン類似度解析とを含んでもよい。
図面は、限定ではなく単に例として、本技術に従った一又は複数の実装形態を示す。図面では、類似の参照番号は同じ又は類似の要素を指す。
本発明を実装するためのネットワークの一例の図である。 ウェブサイト及び半構造化されたデータフィールドを示す図である。 半構造化されたデータエントリの一例の図である。 システムによって解析されたままの半構造化されたデータの図である。 システムによって解析されたままの半構造化されたデータのもう一つの例の図である。 料理を決定するために訓練データを使用する方法の一例の流れ図である。 レシピ類似度を決定するための方法の一例の流れ図である。 レシピ類似度を決定するための方法のもう一つの例の流れ図である。
実施形態の説明
下記の詳細な説明では、数多くの具体的な詳細が、関連する教示の十分な理解を提供するために例として記述される。しかしながら、本教示がこのような詳細がなくとも実行し得ることは当業者には明らかであるはずである。別の事例では、良く知られた方法、手順、構成要素、及び/又は回路は、本教示の態様を不必要に不明瞭にすることを避けるために、詳細なしに比較的高次のレベルで記述されてきている。
本発明は、半構造化されたデータから、構造化された「知識」を抽出するためのシステム及び方法を提供する。具体的な例としては、ウェブサイトでユーザによって入力されたレシピをソートしカテゴリ分けすることである。
図1に転じて、システム100は、記憶装置104及びプロセッサ106を有する一又は複数のサーバ102を含んでもよい。サーバ102は、下記のプロセスのすべてを制御し得るし、本技術において知られたように多くのサーバに分散され得る。サーバ102は、サーバファーム内の多くのサーバのうちの一つであってもよいし、数多くのサーバが地理的に分散されて各々が下記のタスクのすべてを実行してもよいし、複数のタスクが複数のサーバ102の間で分割されてもよい。各サーバ102は、機能に必要なプログラミング及び下記に説明するデータを記憶するための記憶装置若しくはメモリ104を有してもよいし、中央記憶装置にリンクされてもよい。一例では、記憶装置104は非一時的なメモリである。さらに、プロセッサ106は、下記のタスクを実行するために使用されてもよいし、特定のタスクが、複数のプロセッサの間で分割されてもよいし、複数のプロセッサが一つのタスクを完了させるために必要とされてもよい。
サーバ102は一又は複数のユーザ装置110にネットワーク108で接続される。ネットワーク108は、インターネットプロトコル(IP)に基づくネットワーク、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、パーソナルエリアネットワーク(PAN)、イントラネット、インターネット、セルラネットワーク(例えば、GSM(グローバルシステムフォーモバイルコミュニケーションズ)、CDMA(符号分割多重アクセス)、WCDMA(広帯域CDMA)、LTE(ロングタームエボリューション)、IEEE802.11x、等)、光ファイバネットワーク、又はデータを送信することができる別のタイプのネットワークなどの、一又は複数のパケット交換ネットワークを含んでもよい。ネットワーク108は、旧来型の電話機に対する電話サービスを提供するための公衆交換電話ネットワーク(PSTN)などの、回路交換ネットワークを含んでもよい。
ユーザ装置110は、インターネット108と通信する一又は複数の装置を含んでもよい。例えば、ユーザ装置110は、インターネット108に接続するためのアプリケーション(例えば、インターネットエクスプローラ(登録商標)、クローム(登録商標)等)及び通信インターフェース(例えば、有線又は無線通信インターフェース)を含むテレビを含んでもよい。ユーザ装置110は、インターネットサービスを提供するためにインターネット108と通信する一又は複数の装置も含んでもよい。例えば、ユーザ装置110は、デスクトップコンピュータ、ラップトップコンピュータ、パームトップコンピュータ、ノートブック、タブレット、スマートフォン、等、又は別のタイプの通信装置を含んでもよい。ユーザ112は、ネットワーク108を介してサーバ102にアクセスするためにユーザ装置110を利用し得る。
サーバ102は、ユーザ装置110を使用してユーザ112によってアクセスされることが可能なウェブページ114をホスティングし得る。図2Aでは、ウェブページ114は、半構造化されたデータフィールド200の要素を有する。この例では、半構造化されたデータフィールド200は、レシピを入力するためのユーザ112用のデータフィールドを表示する。しかしながら、半構造化されたデータフィールド200は、ホテル、レストラン、又は旅行行き先情報を含む任意の別のタイプの半構造化されたデータを表示し得る。
本明細書において使用するように、「半構造化されたデータ」は、多くの制約なしにユーザによって入力されることが可能な情報である。半構造化されたデータは、データフィールド200の名称から伝わる構造を有することができ、ユーザがこれらのフィールドに任意の情報を入力できるようには構造化されていない。半構造化されたデータ及びデータフィールドの例は以下に示す。比較すると、「構造化されたデータ」は、ユーザが登録するために多くの制約を有するデータである。構造化されたデータの例は、2値の又は固定されたデータ選択肢、例えば、「はい/いいえ」形式の質問、1〜10までの尺度へのランク付け、又はプルダウン選択肢を含む。「構造化されていないデータ」は、登録のために制約がなく、基本的にユーザ112は任意のタイプのデータを入力するために空白のページを与えられる。
図2Aの例に関して、半構造化されたデータフィールド200はレシピ名称202、原材料204、命令又はステップ206、タグ208、及び画像210を含んでもよい。レシピ名称202は、後に続くレシピの簡単な記述語である。レシピ名称は、冷製ポテトスープ若しくはミートソース中のパスタのような通称、または、ビシソワーズ若しくはスパゲッティボロネーゼなどのような正式名称を含んでもよい。半構造化されたという用語は、ユーザ112がこのフィールドに任意の単語を入力できるという理由でレシピ名称202に適用されるが、構造は、入力されたものがレシピの名前であるという事実から来る。
原材料204は、原材料量204A、原材料名204B、及び原材料修飾語204Cに関するデータフィールドがそこにあり得るという点で、半構造化され、体系化され、及び違ったふうに入力され得る。これらのフィールドのエントリは、「2切れ」、「ニンニク」及び「ミンチした」、又は「3カップ」、「小麦粉」及び「ふるいにかけた」を含み得る。一実施形態では、原材料フィールド204A、204B、204Cのすべてが、すべて半構造化され、3つのフィールドに任意の数又は値を可能にする。或いは、フィールド204A、204B、204Cのうちの一又は複数は、例えば、量204A又は原材料204Bに関するプルダウンリストを含んで、構造化され得る。プルダウンメニューは、「カップ」、「小さじ」、「大さじ」、「スティック」等の最も一般的なデータ入力リストを含んでもよい。原材料名204B選択は、「小麦粉」、「砂糖」、及び「バター」のような簡単な記述語であってもよく、修飾語204Cは、「多用途の」、「粉末化した」及び「無塩の」から、「皮をむいた」、「刻んだ」又は「ふるいにかけた」までのいずれであってもよい。
ステップ206は、ユーザ112がレシピを準備し料理するための命令を入力することが可能な一つのフィールド又は多重フィールド206A...206nであり得る。多重フィールドの例では、命令は、個々のステップ、すなわち、「ミキサ内のクリームバター」又は「複数の卵を1個ずつ加え、追加する度にボールの側部をこする」へと分解され得る。ステップ206は、原材料フィールド204よりも構造化されず、一般的には構造化されていないデータフィールドである。別の一例では、画像をステップ206のうちの一又は複数に対して追加することが可能であり、そのステップについて必要な技術を図説する。画像は、バッター濃度、形成後の形状、又は縛り目でさえも含んでもよい。
1以上のタグ208A〜208Cが含まれてもよい。タグ208は、いくつかの例では、料理法、料理内容、食事、及びイベントを表示し得る。このように、タグ208は「日本料理」、「中国料理」、「イタリア料理」、又は「韓国料理」のような料理法についてであってもよい。料理内容タグ208は、「スープ」、「サラダ」、「魚介類」、又は「肉類」であってもよい。食事タグ208は、「朝食」、「昼食」、「夕食」、「前菜」等であってもよく、イベントタグは、「休日」、「ピクニック」、又は「感謝祭」であってもよい。タグ208を用いると、ユーザ112は、レシピをカテゴリ分けするために使用可能な追加の短い識別子を追加し得る。上記のように、これらのタグ208のうちのいくつかは構造化されたデータとして提示されることが可能であり、「日本料理、中国料理、イタリア料理、韓国料理、フランス料理、ロシア料理、ドイツ料理、タイ料理、インド料理、ドイツ料理、及びメキシコ料理」のような料理法に関するプルダウンメニューをユーザ112に提供する。
追加例では、他のデータ210が入力されてもよい。他のデータ210は、レシピの画像であってもよい。本明細書において使用するように、「画像」は、完成したレシピ又はレシピのステップの任意の表示であることに留意すべきである。画像という用語は、静止画、動画、及び又はオーディオファイルを識別するために使用され得る。さらに、他のデータ210は、レシピを特別にさせる若しくはユーザ112がレシピ、すなわち料理本の名前を入手する場合に役立つユーザ112によって共有される特別な秘密、又はレシピを伝えた家族の名前であってもよい。
一つのレシピについてのこれらのデータフィールド200の集合が、半構造化されたデータエントリ212である。半構造化されたデータエントリ212は、上記の半構造化されたデータフィールド200を含む。一例では、データエントリ212は、一つの特定のレシピに入力されたデータフィールド200のすべてを考慮し得る。図3Aは、簡単なレシピを使用するデータエントリ212を一例として示す。データエントリ212はホイップクリームに関するものであり、データフィールド200の各々は一つのエントリ212にリンクされ、ユーザ112がレシピをたどることを可能にする。
半構造化されたデータフィールド200が半構造化されたものであるという理由だけで、これらのフィールドに入力されたデータは一般的には整合性がない。ユーザは単語を書き誤るか、原材料に対して別の名前を使用するし、情報(最も一般的にはタグ208)を省略することがある。この整合性のないデータエントリは、カテゴリ分けすること、検索すること、及び別のユーザにデータを送り返すことに関係する問題を提起する。本発明の例では、データから構造化された知識を抽出し、よりデータを簡単にカテゴリ分けすること、検索すること、及び送り返すことを可能にするために、半構造化されたデータを解析できる。
レシピ例では、構造化された知識は、類似の名前を付けられたレシピに関係させることが可能であり、そのため一つの検索語がすべてを返すことが可能である。このように、ユーザ112が「ポテトスープ」、「冷製ポテトスープ」、又は「ビシソワーズ」を入力するかに拘わらず、これらの語のいずれか一つに関する検索が入力されると、レシピのすべてが返され得る。さらに、与えられた原材料に関する典型的な料理が返されてもよい。例えば、ユーザが「ナス」を検索する場合には、システム100は、「焼きナス」、「麻婆ナス」、「ナスのから揚げ」、「ナスのパルミジャーナ」、「ムサカ」、及び「ラタトゥイユ」に関するレシピを返すことが可能である。関係するレシピを用いて、料理名の類義語、重要な原材料、及び国料理の知識は、関連する結果を返す際に全面的に支援し得る。
図3A、図3B、及び図4は、半構造化されたデータから構造化された知識を抽出する方法の例を示す。レシピ例を続ける際に、システム100は既に、メモリ104に記憶された半構造化されたデータのレポジトリ300を有する。半構造化されたデータは、半構造化されたデータエントリ212として記憶される(ステップ400)。数多くの半構造化されたデータエントリ212がある。レシピ例では、500,000個のユーザ入力レシピであってもよい。次に、半構造化されたデータエントリ212のレポジトリは各エントリ内の半構造化されたデータフィールド200によってソートされ得る(ステップ402)。例えば、タグ208は、どのレシピが国料理タグでタグ付けされるかによってソートされ得る。次に、データエントリ212のサブセット302がそれらのトピック304によって選択され得る(ステップ404)。このサブセットは、訓練データ302と呼ばれることがある。
例では、トピックは、国料理タグ208において識別した一又は複数の国である。より具体的には、500,000個のレシピのうちの20,000個だけが国料理タグ208を有する。タグ208は、日本料理、中国料理、イタリア料理、等であってもよい。いったんトピックが選択されると、そのデータフィールド200はトピックデータフィールド304になり、したがって、国料理タグフィールドはトピックデータフィールドになる。よって、データサブセット302又は訓練データは、国料理タグを有する20,000個のレシピであり得る。
各トピック304について、トピック304及びトピックデータフィールドに関係する1以上の他の半構造化されたデータフィールド200が選択される(ステップ406)。これらの他の半構造化されたデータフィールド200はデータサブセット302から選択されるだけである。選択された半構造化されたデータフィールドは特徴データフィールド306であり得る。特徴データフィールド306の情報はトピックデータフィールドの1以上のトピックに多少なりとも関係する。この例では、レシピ名202及び鍵となる原材料204の両者が、国料理の特徴と考えられる。このように、「ミソ」、「カツ」、「スシ」、「炒め物」、「ロウミン」、「フーヤン」、「パルミジャーナ」、「スパゲッティ」、及び「ウォッカソース」のような単語を含むレシピ名202は、日本料理、中国料理、及びイタリア料理のトピックに関連し得る。これらは、このトピック304の特徴306のうちの一つである。さらに、ノリ、マグロ、練りミソ、海鮮醤、チンゲン菜、ビーフン、トマトソース、モツァレラ、及びブロッコリラーブは、同じ料理の特徴である原材料204である。
一例では、レシピの最大部分である又はレシピ中に最も多く存在する原材料が、特定の国料理の特徴として典型的に選択される。しかしながら、コメは日本料理と中国料理との間でおそらく同じように共通であり、ニンニクは中国料理とイタリア料理との間で共通であるので、何らかの注意を払わなければならない。
いったん、トピック304及び特徴306が識別されると、メモリ104に記憶された半構造化されたデータの残りのレポジトリ308の解析が実行される(ステップ408)。解析は、選択したデータフィールド200により残りのデータエントリ212を分類するために実行される。レシピの残りのレポジトリ308はそれらの特定の特徴306について解析され、レポジトリがどのトピック304に属するかを決定する。より簡単に、レシピ名及び原材料が数学モデルを使用して解析され、これらがどの国料理に属する可能性があるかを決定する。
解析は、最大エントロピー分類法(Maximum Entropy Classifier)及びレイテントディリクレアロケーション(Latent Dirichlet Allocation)モデル(以降「LDA」)の混成を使用して実行され得る。両者は、自然言語処理及び機械学習において使用される数学的技術である。最大エントロピーの理論はベイズ統計に基づく。この技術は、ある種の語が文書の文脈内に存在する確率を推定するためにデータの検証可能なサブセットを必要とする。LDAも、データの類似度を判断するための統計モデルである。LDAは、特定のトピック(例では料理法)によって各文書(又はこの例ではレシピ)を特徴付ける。一般的な例として、文書が「子犬」又は「吠え声」のような単語を含む場合には、文書は「犬」トピックを有すると判断され得る。例では、レシピ名が「パルミジャーナ」という単語を含み、鍵となる原材料としてトマトを使用する場合には、レシピは「イタリア料理」であると判断され得る。
LDA構成要素は、トピック確率のベクトルを用いて各データエントリ(レシピ)を記述し得る。このベクトルはレシピの「スコア」と考えられ得る。この方法は、解析する次元が少ないので、「バッグオブワーズ(Bag of Words)」モデルを使用するよりも単純である。バッグオブワーズモデルは、文書内の単語の出現頻度を主に検査する。これは、ほとんどすべての単語が散在して使用され通常は共通の繰返し数を有するレシピで利用するのは困難である。
LDAモデルは、各料理についてLDA重心を計算する(ステップ408)。LDA重心は、一例では、所定の国からのすべてのレシピからのトピック全体に渡る合計であり、所定の料理に関する「重心ベクトル」を計算する。初期の訓練データ302又は更新された訓練データ310(図3B参照)は、料理重心に対するコサイン類似度に基づいて選択され得る(ステップ410)。続いて、更新された訓練データ310は以前の訓練データ302と統合される(ステップ412)。トピック及び特徴を決定する上記のプロセス(ステップ406)が繰り返され、次に、残りのレポジトリ308aが再び解析される。一例では、更新された訓練データ310が、正確に決定された料理を有するレシピ(データエントリ)の上位10%であるという理由で、選択される。このプロセスは、いったん更新された訓練データ310が解析されると、重心ベクトルを変更することを許容する。プロセスが繰り返されるので、レシピ名は、訓練データ更新、及び最大エントロピー分類法によって高い信頼度で分類されたレシピから、訓練データ中の初期の国がタグ付けされたレシピに基づいて抽出され得る。
特徴が2値であるので、上記の混成最大エントロピー及びLDAモデルは相対的に単純化される、すなわち、料理名若しくは原材料名がレシピ中に存在するか又は第1の事例には存在しない。これが上記のスコア化を単純化する。一例として、レシピ名及び料理法に基づくレシピのスコアは、
Figure 0005946916

であり得、ここでは、「zスコア」は標準スコアであり、関数fはレシピの生のスコアを計算するために使用され、pは確率である。
中国料理、イタリア料理及び韓国料理の料理について実行したときに、繰返し反復は有望な結果をもたらした。結果は、
Figure 0005946916

であり、ここでは、「P」は精度であり、「R」は再現度又は相関性である。スコアがすべての一般的でない料理について検査されたときの結果は
Figure 0005946916

である。
サンプル料理名の評価例を約400,000個までのエントリレシピデータベースについて実行した。結果は驚くべきものであった。料理が正しいかどうかを判断するために、1よりも大きなzスコアを有するレシピを各反復の後で解析した。
Figure 0005946916
レシピ名202を使用することの利点は、オペレータが容易で迅速な評価を行うことが可能であることであり、レシピ毎にチェックする必要がない。さらに、解析は能動的学習方式で用いることが可能であり、すなわち、レシピ名の人間の評価結果は、訓練データの更新のために使用され得る。
図5に図示したもう一つの例は、どのレシピが相互に類似しているかを判断するために、レポジトリ300を解析する。解析の一つのレベルは、レシピ名202を一致させることである。もう一つは、原材料204に基づいて類似度をチェックすることである。レシピに関するもう一つのベクトルが、「語出現頻度−文献出現頻度の逆数」(本明細書では「TF−IDF」)として知られる方法を使用して計算され得る(ステップ500)。TF−IDFは、文献集内のある文献に対して単語がどれだけ重要であるかを反映する数値統計である。レポジトリ内の一つのレシピに対して原材料がどれだけ重要であるかが、例に対して上手く記述された。この文脈における「語」は原材料であり、「文献出現頻度」はその原材料がその中に現れるレシピタイプの数である。いったんベクトルがレポジトリ300内のすべてのレシピについて計算されると、コサイン類似度が計算され得る(ステップ502)。コサイン類似度は、2つのベクトルがどれだけ類似しているかを評価する。ベクトルが相互に良く類似しているほど、レシピが相互に良く類似している可能性がある。
図6は、さらなる精度でレシピ類似度を判定することが可能なより進んだ例を示す。原材料データフィールド204を使用することに加えて、もう一つの次元又は変数が使用され得る。上の例を有する文脈では、もう一つのデータフィールド200が使用され得る。例えば、料理データフィールド208、別のタグ情報208、又はステップ/準備方法206が解析において含まれ得る。レポジトリ300内のレシピ(データエントリ212)に関するベクトル又はスコアは、概念に対して原材料をマッピングすることによって又は概念に対する原材料のレシピから計算されることが可能であり、これらの類似度を比較する。このように、原材料のベクトルとして各レシピ/料理内容を表示すること及びこれらのベクトルを使用してレシピ類似度を比較することの代わりに、まず、各原材料は、レシピカテゴリのTF−IDF値にしたベクトルとして表示され得る。レシピ名202及び原材料204以外のもう一つのデータフィールド204が選択されてもよい。次に、各レシピ名についてのベクトルが、その原材料ベクトルの重心(又は単純に平均)として計算され得る。
この方法は明示的意味解析(Explicit Semantic Analysis)(「ESA」)に匹敵する。ESAは、自然言語処理の形態であり、テキスト(個々の単語又は全体の文書)のベクトル表現である情報検索である。具体的に、ESAでは、単語はテキストのTF−IDF行列の列ベクトルとして表示され、文書(一連の単語)はその単語を表すベクトルの重心として表示される。
本方法では、ユーザは、レシピ名202及び原材料204フィールドとともに含むように追加のデータフィールド204を選択する(ステップ600)。次に、フィールドに基づいて各原材料についてのTF−IDF値にしたベクトルを計算する(ステップ602)。原材料ベクトルを用いて、原材料ベクトルの重心としてレシピ名ベクトルを計算する(ステップ604)。
任意選択で、ラグランジアンカーネル(Lagrangian kernel)が、カテゴリ毎の類似度を考慮しスコアを平準化することが可能なレシピ−カテゴリ行列に適用されてもよい。ラグランジアンの方法はレシピ及びカテゴリの力学をまとめることが可能である。
論じてきている構成要素、ステップ、機能、目的、利益及び利点は、単に例示的である。これらのいずれも又はこれらに関係する議論は、多少なりとも保護の範囲を限定しないものとする。数多くの他の実施形態もやはり想定される。これらは、より数少ない、追加の及び/又は異なる構成要素、ステップ、機能、目的、利益及び利点を有する実施形態を含む。これらは、構成要素及び/又はステップが別なふうに配置される及び/又は順番にされる実施形態をやはり含む。
別なように述べない限り、別記の特許請求の範囲を含む本明細書において記述するすべての測定値、値、格付け、位置、強度、サイズ、及び他の仕様は、厳密ではなくおおよそである。これらは、これらが関係する機能と矛盾せず及びこれらが属する技術において慣用的である妥当な範囲を有するものとする。
この開示において引用してきているすべての論文、特許、特許出願、及びその他の刊行物は、参照によって本明細書に組み込まれる。
特許請求の範囲において使用されるときに「〜のための手段」という句は、説明してきている対応する構造及び材料並びにこれらの等価物を包含するものであり、包含するように解釈すべきである。同様に、特許請求の範囲において使用されるときに「〜のためのステップ」という句は、説明してきている対応する行為及びこれらの等価物を包含するものであり、包含するように解釈すべきである。特許請求の範囲においてこれらの句がないことは、特許請求の範囲が対応する構造、材料、若しくは行為のいずれかに又はこれらの等価物に限定されないものであり、限定されるように解釈すべきではない。
記述してきた又は図示してきたものは、特許請求の範囲において述べられているかどうかに拘わらず、一般に公開された任意の構成要素、ステップ、機能、目的、利益、利点、又は等価物に限ることを意図するものではなく、限定するように解釈すべきではない。
保護の範囲は、別記の特許請求の範囲によってのみ限定される。その範囲は、本明細書及び後に続く法的処置履歴を考慮して解釈するときに、特許請求の範囲において使用される言語の通常の意味と整合するようにできるだけ広いものであり、かつ広くなるように解釈すべきであり、そしてすべての構造的及び機能的等価物を包含するものであり、かつ包含するように解釈すべきである。

Claims (10)

  1. 所定のネットワークを介して複数のユーザに、多くの制約なしにユーザによって入力されることが可能な半構造化されたトピック、半構造化されたまたは構造化された特徴、および前記トピックの属性を提供するコンピュータシステムであって、
    複数の半構造化されたデータエントリを記憶するメモリであって、それぞれの半構造化されたデータエントリが所定のトピックおよびトピックデータフィールドを提供する、該メモリと、
    前記半構造化されたデータエントリのサブセットを前記半構造化されたデータエントリのトピックに基づいて選択し、前記トピックに関連する半構造化されたデータフィールドと前記トピックデータフィールドとのうちの少なくとも一つを該サブセットから選択し、選択された前記半構造化されたデータフィールドの前記トピックおよび前記特徴に、データの類似度を判断するためのデータ解釈用アルゴリズムを適用することで前記トピックの属性を決定するプロセッサと
    を備えるコンピュータシステム。
  2. 前記トピック、前記特徴、および前記トピックの属性がそれぞれ、レシピ名称、原材料、および国料理に対応する、
    請求項1に記載のコンピュータシステム。
  3. 前記データ解釈用アルゴリズムが、混成最大エントロピー及びLDAモデルと、語出現頻度−文献出現頻度の逆数と、コサイン類似度解析とのうちの少なくとも一つを備える、請求項1または2に記載のシステム。
  4. 前記半構造化されたデータエントリのサブセットが訓練データであり、
    前記プロセッサが、更新された訓練データを以前の訓練データと統合し、前記トピックおよび前記特徴の決定と前記データ解釈用アルゴリズムの適用とを繰り返す、
    請求項1〜3のいずれか一項に記載のシステム。
  5. 前記プロセッサが、前記半構造化されたデータエントリの前記サブセットを、前記半構造化されたデータエントリの前記トピックのLDA重心に対するコサイン類似度に基づいて選択する、
    請求項1〜4のいずれか一項に記載のシステム。
  6. 所定のネットワークを介して複数のユーザに、多くの制約なしにユーザによって入力されることが可能な半構造化されたトピック、半構造化されたまたは構造化された特徴、および前記トピックの属性を提供するための方法であって、
    複数の半構造化されたデータエントリをメモリに記憶する第1ステップであって、それぞれの半構造化されたデータエントリが所定のトピックおよびトピックデータフィールドを提供する、該第1ステップと、
    プロセッサが、前記半構造化されたデータエントリのサブセットを前記半構造化されたデータエントリのトピックに基づいて選択する第2ステップと、
    前記プロセッサが、前記トピックに関連する半構造化されたデータフィールドと前記トピックデータフィールドとのうちの少なくとも一つを該サブセットから選択する第3ステップと、
    前記プロセッサが、前記トピックの属性を決定するために、選択された前記半構造化されたデータフィールドの前記トピックおよび前記特徴に、データの類似度を判断するためのデータ解釈用アルゴリズムを適用する第4ステップと、
    を含む方法。
  7. 前記トピック、前記特徴、および前記トピックの属性がそれぞれ、レシピ名称、原材料、および国料理に対応する、
    請求項に記載の方法。
  8. 前記データ解釈用アルゴリズムが、混成最大エントロピー及びLDAモデルと、語出現頻度−文献出現頻度の逆数と、コサイン類似度解析とのうちの少なくとも一つを備える、請求項6または7に記載の方法。
  9. 前記半構造化されたデータエントリのサブセットが訓練データであり、
    前記方法が、
    前記プロセッサが、更新された訓練データを以前の訓練データと統合し、前記トピックおよび前記特徴の決定と前記データ解釈用アルゴリズムの適用とを繰り返すステップを更に含む、
    請求項6〜8のいずれか一項に記載の方法。
  10. 前記第2ステップでは、前記プロセッサが、前記半構造化されたデータエントリの前記サブセットを、前記半構造化されたデータエントリの前記トピックに関するLDA重心に対するコサイン類似度に基づいて選択する、
    請求項6〜9のいずれか一項に記載の方法。
JP2014530448A 2013-03-15 2013-12-13 半構造化されたデータを解析しカテゴリ分けするための方法 Active JP5946916B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/837,764 2013-03-15
US13/837,764 US9477777B2 (en) 2013-03-15 2013-03-15 Method for analyzing and categorizing semi-structured data
PCT/JP2013/084169 WO2014141560A1 (en) 2013-03-15 2013-12-13 Method for analyzing and categorizing semi-structured data

Publications (2)

Publication Number Publication Date
JP2015518585A JP2015518585A (ja) 2015-07-02
JP5946916B2 true JP5946916B2 (ja) 2016-07-06

Family

ID=49998631

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014530448A Active JP5946916B2 (ja) 2013-03-15 2013-12-13 半構造化されたデータを解析しカテゴリ分けするための方法

Country Status (6)

Country Link
US (1) US9477777B2 (ja)
JP (1) JP5946916B2 (ja)
KR (1) KR101614642B1 (ja)
SG (1) SG11201405967QA (ja)
TW (1) TWI590086B (ja)
WO (1) WO2014141560A1 (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9201864B2 (en) * 2013-03-15 2015-12-01 Luminoso Technologies, Inc. Method and system for converting document sets to term-association vector spaces on demand
US9495360B2 (en) * 2014-01-31 2016-11-15 International Business Machines Corporation Recipe creation using text analytics
US9489377B1 (en) * 2014-02-21 2016-11-08 Yummly, Inc. Inferring recipe difficulty
US20150339394A1 (en) * 2014-05-20 2015-11-26 Tasty Time, Inc. Extracting Online Recipes, and Arranging and Generating a Cookbook
US9311568B1 (en) * 2014-05-21 2016-04-12 Yummly, Inc. Recipe text and image extraction
US9483547B1 (en) 2014-05-30 2016-11-01 Yummly, Inc. Clustering and display of recipes
US9824152B1 (en) 2014-05-30 2017-11-21 Yummly, Inc. Recipe recommendation
US9797873B1 (en) 2014-06-26 2017-10-24 Yummly, Inc. Prediction of recipe preparation time
JP6539962B2 (ja) * 2014-09-04 2019-07-10 富士ゼロックス株式会社 情報提示プログラム及び情報処理装置
US20160103834A1 (en) * 2014-10-14 2016-04-14 International Business Machines Corporation Food recipe scoring and ranking system
US10157178B2 (en) * 2015-02-06 2018-12-18 International Business Machines Corporation Identifying categories within textual data
US10825044B2 (en) * 2017-08-10 2020-11-03 Louis Iannone System and method for recipe identification and classification
US11410638B1 (en) * 2017-08-30 2022-08-09 Amazon Technologies, Inc. Voice user interface for nested content
US10872236B1 (en) 2018-09-28 2020-12-22 Amazon Technologies, Inc. Layout-agnostic clustering-based classification of document keys and values
US11257006B1 (en) 2018-11-20 2022-02-22 Amazon Technologies, Inc. Auto-annotation techniques for text localization
US10949661B2 (en) * 2018-11-21 2021-03-16 Amazon Technologies, Inc. Layout-agnostic complex document processing system
US10984064B1 (en) 2020-08-17 2021-04-20 Louis Iannone Methods, devices, and systems for dish data generation and tracking
KR102418298B1 (ko) * 2022-01-06 2022-07-07 (주) 바우디움 구조화 문서에 기반하여 사용자의 계획을 관리하는 방법 및 이를 이용한 장치

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5832446A (en) * 1993-03-31 1998-11-03 Cornell Research Foundation, Inc. Interactive database method and system for food and beverage preparation
US5960440A (en) 1996-01-16 1999-09-28 Brother International Corporation Kitchen information and database management method and apparatus
US6389436B1 (en) * 1997-12-15 2002-05-14 International Business Machines Corporation Enhanced hypertext categorization using hyperlinks
US7233940B2 (en) * 2000-11-06 2007-06-19 Answers Corporation System for processing at least partially structured data
US6970881B1 (en) 2001-05-07 2005-11-29 Intelligenxia, Inc. Concept-based method and system for dynamically analyzing unstructured information
US6778995B1 (en) * 2001-08-31 2004-08-17 Attenex Corporation System and method for efficiently generating cluster groupings in a multi-dimensional concept space
JP2005284406A (ja) 2004-03-26 2005-10-13 Matsushita Electric Works Ltd 料理レシピ提示システム
JP4937709B2 (ja) 2006-11-22 2012-05-23 日本電信電話株式会社 構造化文書生成方法及び装置及びプログラム
US20090009815A1 (en) 2007-07-05 2009-01-08 Gregory Karasik Apparatus for electronic storage of recipes
US7996390B2 (en) * 2008-02-15 2011-08-09 The University Of Utah Research Foundation Method and system for clustering identified forms
JP5310196B2 (ja) * 2009-03-31 2013-10-09 富士通株式会社 分類体系改正支援プログラム、分類体系改正支援装置、および分類体系改正支援方法
US20110112995A1 (en) * 2009-10-28 2011-05-12 Industrial Technology Research Institute Systems and methods for organizing collective social intelligence information using an organic object data model
US8886623B2 (en) * 2010-04-07 2014-11-11 Yahoo! Inc. Large scale concept discovery for webpage augmentation using search engine indexers
US9536237B2 (en) * 2012-11-28 2017-01-03 Wal-Mart Stores, Inc. Recipe suggestion apparatus and method

Also Published As

Publication number Publication date
SG11201405967QA (en) 2015-11-27
TW201439797A (zh) 2014-10-16
KR20140132378A (ko) 2014-11-17
JP2015518585A (ja) 2015-07-02
TWI590086B (zh) 2017-07-01
US20140280148A1 (en) 2014-09-18
US9477777B2 (en) 2016-10-25
WO2014141560A1 (en) 2014-09-18
KR101614642B1 (ko) 2016-04-21

Similar Documents

Publication Publication Date Title
JP5946916B2 (ja) 半構造化されたデータを解析しカテゴリ分けするための方法
US10839151B2 (en) Systems and methods for automatic analysis of text-based food-recipes
US10991025B1 (en) System and method for providing food taxonomy based food search and recommendation
US11714835B2 (en) Organizing survey text responses
WO2022022002A1 (zh) 一种信息展示方法、信息搜索方法及装置
JP5997350B2 (ja) ソーシャルグラフ情報に基づく構造化検索クエリ
WO2014002512A1 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
US10592540B2 (en) Generating elements of answer-seeking queries and elements of answers
US8843497B2 (en) System and method for association extraction for surf-shopping
RU2670494C2 (ru) Способ обработки поискового запроса, сервер и машиночитаемый носитель для его осуществления
TWI480829B (zh) 料理食譜資訊提供裝置、料理食譜資訊提供方法、電腦程式產品、及資訊記錄媒體
WO2021017306A1 (zh) 根据用户画像的个性化搜索方法、系统、设备及存储介质
CN107092608A (zh) 一种目标对象的搜索、推荐方法和设备
KR20170023936A (ko) 개인화된 트렌딩 이미지 검색 제시 기법
CN105893564A (zh) 一种基于搜索引擎客户端的搜索方法和装置
Kicherer et al. What you use, not what you do: Automatic classification and similarity detection of recipes
JP6325132B2 (ja) データ収集装置、及びデータ収集方法
CN116340383A (zh) 基于查询与结果相关性的搜索方法、装置、介质及设备
CN115618109A (zh) 内容推荐方法、装置、电子设备及计算机可读存储介质
KR101667918B1 (ko) 질의 반응형 스마트 검색 서비스 제공 방법 및 이를 구현하기 위한 검색 서비스 장치
JP2004259083A (ja) 情報検索方法、情報検索サーバ、及び情報検索プログラム
Kicherer et al. What you use, not what you do: automatic classification of recipes
JP5292525B1 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
CN113892110A (zh) 基于图像的菜肴识别装置和方法
JP5827449B2 (ja) オンラインソーシャルネットワークのためのパーソナライズされた構造化検索クエリ

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151006

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151113

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: 20160531

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160601

R150 Certificate of patent or registration of utility model

Ref document number: 5946916

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: R3D02

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250