Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP6918695B2 - Information processing equipment and programs - Google Patents
[go: Go Back, main page]

JP6918695B2 - Information processing equipment and programs - Google Patents

Information processing equipment and programs Download PDF

Info

Publication number
JP6918695B2
JP6918695B2 JP2017536410A JP2017536410A JP6918695B2 JP 6918695 B2 JP6918695 B2 JP 6918695B2 JP 2017536410 A JP2017536410 A JP 2017536410A JP 2017536410 A JP2017536410 A JP 2017536410A JP 6918695 B2 JP6918695 B2 JP 6918695B2
Authority
JP
Japan
Prior art keywords
meal
word
name
words
meal name
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
JP2017536410A
Other languages
Japanese (ja)
Other versions
JPWO2017033870A1 (en
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.)
Foolog
Original Assignee
Foolog
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 Foolog filed Critical Foolog
Publication of JPWO2017033870A1 publication Critical patent/JPWO2017033870A1/en
Application granted granted Critical
Publication of JP6918695B2 publication Critical patent/JP6918695B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Machine Translation (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、情報処理装置及びプログラムに関する。 The present invention relates to an information processing device and a program.

利用者が日々、飲食した食事名や食事の画像を記録することで、利用者の食事傾向などを分析するソフトウエアが知られている。 Software is known that analyzes a user's eating tendency by recording the name of the meal that the user eats and drinks and the image of the meal every day.

こうしたソフトウエアでは、例えば複数の利用者における食事名ごとの統計(出現頻度等の)情報を生成し、食事傾向の分析処理に利用することが行われる。 In such software, for example, statistical information (such as frequency of appearance) for each meal name in a plurality of users is generated and used for analysis processing of meal tendency.

特開2013−016036号公報Japanese Unexamined Patent Publication No. 2013-0106036

しかしながら、食事名を自由入力形式とすると、利用者ごとに同じ食事であっても自由に食事名を付されてしまう場合がある。例えば同じ「肉野菜炒め」であっても、「豚肉と野菜の炒め物」、「肉と中華風の野菜の炒め物」、「肉野菜のおいしい炒めもの」などとばらつきが生じ得る。一方で選択入力形式としたのでは、利用者が適切と考える食事名が必ずしも選択肢に含まれない場合が生じる。 However, if the meal name is in the free input format, the meal name may be freely assigned to each user even if the meal is the same. For example, even if the same "stir-fried meat and vegetables" is used, there may be variations such as "stir-fried pork and vegetables", "stir-fried meat and Chinese-style vegetables", and "delicious stir-fried meat and vegetables". On the other hand, if the selection input format is used, the meal name that the user considers appropriate may not always be included in the options.

本発明は上記実情に鑑みて為されたもので、利用者に対して自由な食事名の入力を許容しつつ、食事名に係る統計処理を可能とする情報処理装置を提供することを、その目的の一つとする。 The present invention has been made in view of the above circumstances, and provides an information processing device capable of statistical processing related to a meal name while allowing a user to freely input a meal name. It is one of the purposes.

なお、特許文献1には、項目文字列をシソーラスを用いて統合する処理例について記載がある。 In addition, Patent Document 1 describes a processing example of integrating item character strings using a thesaurus.

上記従来例の問題点を解決するための本発明は、食事名を含むレコードを格納したデータベースに接続された情報処理装置であって、前記食事名のうち処理の対象とする食事名を、対象食事名として語に分割する手段と、前記分割した語のうちから選択した語を組み合せた組み合わせ語を生成する生成手段と、前記組み合わせ語を正規化食事名として、所定処理に供する手段と、を含むこととしたものである。 The present invention for solving the problem of the above-mentioned conventional example is an information processing apparatus connected to a database storing a record including a meal name, and targets the meal name to be processed among the meal names. A means for dividing into words as a meal name, a generating means for generating a combined word by combining words selected from the divided words, and a means for subjecting the combined word as a normalized meal name to a predetermined process. It was decided to include it.

本発明によると、利用者に対して自由な食事名の入力を許容しつつ、食事名に係る統計処理が可能となる。 According to the present invention, it is possible to perform statistical processing related to a meal name while allowing the user to freely input a meal name.

本発明の実施の形態に係る情報処理装置の構成例とその接続例とを表すブロック図である。It is a block diagram which shows the configuration example of the information processing apparatus which concerns on embodiment of this invention, and the connection example thereof. 本発明の実施の形態に係る情報処理装置の例を表す機能ブロック図である。It is a functional block diagram which shows the example of the information processing apparatus which concerns on embodiment of this invention. 本発明の実施の形態に係る情報処理装置がアクセスする食事データベースの内容例を表す説明図である。It is explanatory drawing which shows the content example of the meal database which the information processing apparatus which concerns on embodiment of this invention accesses. 本発明の実施の形態に係る情報処理装置が生成する語グラフの例を表す説明図である。It is explanatory drawing which shows the example of the word graph generated by the information processing apparatus which concerns on embodiment of this invention. 本発明の実施の形態に係る情報処理装置の処理例を表すフローチャート図である。It is a flowchart which shows the processing example of the information processing apparatus which concerns on embodiment of this invention.

本発明の実施の形態について図面を参照しながら説明する。本発明の実施の形態に係る情報処理装置1は、図1に例示するように、制御部11と、記憶部12と、通信部13とを含んで構成される。またこの情報処理装置1は、インターネット等の通信手段を介して、利用者の端末2との間で通信可能に接続されている。 Embodiments of the present invention will be described with reference to the drawings. As illustrated in FIG. 1, the information processing device 1 according to the embodiment of the present invention includes a control unit 11, a storage unit 12, and a communication unit 13. Further, the information processing device 1 is communicably connected to the user's terminal 2 via a communication means such as the Internet.

情報処理装置1の制御部11は、CPU等のプログラム制御デバイスであり、記憶部12に格納されたプログラムに従って動作する。本実施の形態では、この制御部11は、利用者の端末2から受信する指示に従い、食事名や、食事の画像等を、食事データベースに記録する。またこの制御部11は、利用者の端末2から受信する指示に従い、食事データベースに記録されている情報を、端末2へ送出する。 The control unit 11 of the information processing device 1 is a program control device such as a CPU, and operates according to a program stored in the storage unit 12. In the present embodiment, the control unit 11 records a meal name, a meal image, and the like in a meal database according to an instruction received from the user's terminal 2. Further, the control unit 11 sends the information recorded in the meal database to the terminal 2 in accordance with the instruction received from the user's terminal 2.

また本実施の形態においてこの制御部11は、食事名を含むレコードを格納した食事データベースを参照し、当該食事データベースに記録されている食事名のうち処理の対象とする食事名を、対象食事名として、この対象食事名を語に分割する。制御部11は、当該分割した語のうちから選択した語を組み合せた組み合わせ語を生成し、当該組み合わせ語を正規化食事名として、所定処理に供する。この制御部11の具体的な処理の内容については後に述べる。 Further, in the present embodiment, the control unit 11 refers to a meal database storing a record including a meal name, and among the meal names recorded in the meal database, the meal name to be processed is selected as the target meal name. As a result, this target meal name is divided into words. The control unit 11 generates a combination word that combines words selected from the divided words, and uses the combination word as a normalized meal name for predetermined processing. The specific contents of the processing of the control unit 11 will be described later.

記憶部12は、メモリデバイスやディスクデバイス等であり、制御部11によって実行されるプログラムが格納される。このプログラムは例えばコンピュータ可読かつ非一時的(non-transitory)な記録媒体に格納されて提供され、この記憶部12に格納される。また本実施の形態の一例では、この記憶部12に、食事名や、食事の画像等を記録した食事データベースが格納される。この記憶部12はさらに、制御部11のワークメモリとしても動作する。 The storage unit 12 is a memory device, a disk device, or the like, and stores a program executed by the control unit 11. This program is provided, for example, stored in a computer-readable and non-transitory recording medium, and is stored in the storage unit 12. Further, in an example of the present embodiment, a meal database in which meal names, meal images, and the like are recorded is stored in the storage unit 12. The storage unit 12 also operates as a work memory of the control unit 11.

通信部13は、ネットワークインタフェース等であり、端末2からネットワークを介して受信する情報を制御部11に出力する。またこの通信部13は、制御部11から入力される指示に従って、端末2に対して情報を送出する。 The communication unit 13 is a network interface or the like, and outputs information received from the terminal 2 via the network to the control unit 11. Further, the communication unit 13 sends information to the terminal 2 according to an instruction input from the control unit 11.

端末2は、例えばスマートフォン等であり、利用者の操作を受け入れて、食事名の情報や、食事の画像(スマートフォンが備えるカメラ等で撮影されたものでよい)等の情報を、利用者を特定する情報とともに情報処理装置1に対して送出する。 The terminal 2 is, for example, a smartphone or the like, which accepts the user's operation and identifies the user with information such as meal name information and a meal image (which may be taken by a camera or the like provided on the smartphone). It is sent to the information processing device 1 together with the information to be processed.

次に本実施の形態の情報処理装置1の制御部11の動作について説明する。本実施の形態の一例では、制御部11は、図2に例示するように、機能的には、食事情報記録部31と、食事名正規化部32と、統計情報生成部33とを含んで構成される。また食事名正規化部32は、食事名分割部41と、組み合わせ語生成部42とを含んで構成される。 Next, the operation of the control unit 11 of the information processing device 1 of the present embodiment will be described. In an example of this embodiment, the control unit 11 functionally includes a meal information recording unit 31, a meal name normalization unit 32, and a statistical information generation unit 33, as illustrated in FIG. It is composed. Further, the meal name normalization unit 32 includes a meal name division unit 41 and a combination word generation unit 42.

食事情報記録部31は、端末2から利用者を特定する情報とともに食事名の情報や、食事の画像(スマートフォンが備えるカメラ等で撮影されたものでよい)等の情報を受け入れると、当該受け入れた日時の情報を図示しないカレンダーIC等から取得する。そして食事情報記録部31は、図3に例示するように、受け入れた、利用者を特定する情報と、食事名の情報や分量の情報等と、取得した日時の情報とを互いに関連付けたレコード(R)を、食事データベースに格納する。 When the meal information recording unit 31 receives the information such as the meal name information and the meal image (which may be taken by a camera provided by the smartphone) as well as the information for identifying the user from the terminal 2, the acceptance is received. The date and time information is acquired from a calendar IC or the like (not shown). Then, as illustrated in FIG. 3, the meal information recording unit 31 associates the received information for identifying the user, the information on the meal name and the amount, and the information on the acquired date and time with each other (a record ( R) is stored in the meal database.

食事名正規化部32は、食事データベースに格納されている食事名の情報を参照して、正規化食事名を生成する。具体的に、この食事名正規化部32の食事名分割部41は、食事データベースに格納されている食事名のうち、未だ正規化食事名を生成していない食事名を処理の対象として選択する。ここで選択された食事名を、以下区別のため、対象食事名と呼ぶ。 The meal name normalization unit 32 generates a normalized meal name by referring to the meal name information stored in the meal database. Specifically, the meal name division unit 41 of the meal name normalization unit 32 selects, among the meal names stored in the meal database, a meal name for which a normalized meal name has not yet been generated as a processing target. .. The meal name selected here is referred to as a target meal name for the sake of distinction below.

そして食事名分割部41は、対象食事名を語ごとに分割する。この分割は、例えば、予め用意された辞書を参照して、辞書にある語ごとに語の境界を解析する処理を用いて行うことができる。一例として京都テキスト解析ツールキットKyTeaを用いることができる。具体的な例として、この食事名分割部41により、「豚肉と野菜の炒め物」、「肉と中華風の野菜の炒め物」、「肉野菜のおいしい炒めもの」は、それぞれ、
「豚肉」「と」「野菜」「の」「炒め」「物」、
「肉」「と」「中華風」「の」「野菜」「の」「炒め」「物」、
「肉」「野菜」「の」「おいしい」「炒め」「もの」
といったように分割される。ここでは分割により得られた語を引用符(かぎ括弧)で区別して示している。
Then, the meal name division unit 41 divides the target meal name for each word. This division can be performed, for example, by referring to a dictionary prepared in advance and using a process of analyzing word boundaries for each word in the dictionary. As an example, the Kyoto text analysis toolkit KyTea can be used. As a specific example, according to this meal name division 41, "stir-fried pork and vegetables", "stir-fried meat and Chinese-style vegetables", and "delicious stir-fried meat and vegetables" are respectively.
"Pork""to""vegetables""no""stir-fried""things",
"Meat""to""Chinesestyle""no""vegetables""no""stir-fried""things",
"Meat""Vegetables""No""Delicious""Stir-fried""Things"
It is divided like this. Here, the words obtained by division are distinguished by quotation marks (brackets).

組み合わせ語生成部42は、食事名分割部41により得られた分割された語のいずれかを含む食事名を、食事データベースから検索する。この検索で得られた食事名を、以下区別のため、参照食事名と呼ぶ。この参照食事名には、対象食事名そのものが含まれてもよい。なお、分割された語のうち、予め定めたストップワード(助詞等)は取り除き、ストップワードを除いた語をキーとして参照食事名の検索を行うこととしてもよい。 The combination word generation unit 42 searches the meal database for a meal name including any of the divided words obtained by the meal name partitioning unit 41. The meal name obtained by this search is referred to as a reference meal name for the sake of distinction below. The reference meal name may include the target meal name itself. It should be noted that, among the divided words, a predetermined stop word (particle or the like) may be removed, and the reference meal name may be searched using the word excluding the stop word as a key.

一例として対象食事名が「豚肉と野菜のおいしい炒め物」であり、この対象食事名が「豚肉」「と」「野菜」「の」「おいしい」「炒め」「物」に分割される場合、ストップワードである「と」、「の」を除く、「豚肉」,「野菜」,「おいしい」,「炒め」,「物」のいずれかを含む食事名を食事データベースから検索して、この検索により見出された食事名を参照食事名とする。 As an example, if the target meal name is "delicious stir-fried pork and vegetables" and the target meal name is divided into "pork", "to", "vegetables", "no", "delicious", "stir-fried", and "things". Search the meal database for meal names that include any of the stop words "to" and "no", "pork", "vegetables", "delicious", "stir-fried", and "things". The name of the meal found by is used as the reference meal name.

これにより例えば、
「豚肉と野菜のおいしい炒め物」(対象食事名自体)
「豚肉のソテー」(「豚肉」の語を含む)
「野菜炒め」(「野菜」,「炒め」の語を含む)
「豚肉と中華風の野菜の炒めもの」(「豚肉」、「野菜」、「炒め」の語を含む)
「おいしいプロテイン飲料」(「おいしい」の語を含む)
「肉野菜炒め」(「炒め」の語を含む)

等の食事名が参照食事名として見出される。
This allows, for example,
"Delicious stir-fried pork and vegetables" (target meal name itself)
"Sautéed pork" (including the word "pork")
"Stir-fried vegetables" (including the words "vegetables" and "stir-fried")
"Stir-fried pork and Chinese-style vegetables" (including the words "pork", "vegetables", and "stir-fried")
"Delicious protein drink" (including the word "delicious")
"Stir-fried meat and vegetables" (including the word "stir-fried")
...
Meal names such as are found as reference meal names.

組み合わせ語生成部42は、参照食事名を、対象食事名と同様に食事名分割部41にて語に分割させる。また、組み合わせ語生成部42は、参照食事名のそれぞれについて、分割された語(ストップワードは除いてもよい)の分割前の参照食事名中での出現順の情報を用いて組み合わせ語を生成する。 The combination word generation unit 42 divides the reference meal name into words by the meal name dividing unit 41 in the same manner as the target meal name. Further, the combination word generation unit 42 generates a combination word for each of the reference meal names by using the information of the order of appearance in the reference meal name before the division of the divided words (the stop word may be excluded). do.

一例として組み合わせ語生成部42は、参照食事名とのそれぞれについて、分割された語を、参照食事名中での出現順に、方向付きのエッジで連結した有向グラフ(先頭ノードSと、終端ノードEとを加えておく。以下、語グラフ(word graph)と呼ぶ)を生成する。上述の例であれば、対象食事名である参照食事名「豚肉と野菜のおいしい炒め物」について、
S→「豚肉」→「野菜」→「おいしい」→「炒め」→「物」→Eとの語グラフが生成され、また、対象食事名以外の参照食事名について、
「豚肉のソテー」:S→「豚肉」→「ソテー」→E
「野菜炒め」:S→「野菜」→「炒め」→E
「豚肉と中華風の野菜の炒めもの」:S→「豚肉」→「中華風」→「野菜」→「炒め」→「もの」→E
「おいしいプロテイン飲料」:S→「おいしい」→「プロテイン」→「飲料」→E
「肉野菜炒め」:S→「肉」→「野菜」→「炒め」→E
といった語グラフが生成される(図4)。
As an example, the combination word generation unit 42 connects the divided words for each of the reference meal names in the order of appearance in the reference meal name with directional edges (starting node S and ending node E). Is added. Hereinafter, it is called a word graph). In the above example, the reference meal name "delicious stir-fried pork and vegetables", which is the target meal name,
A word graph of S → "pork" → "vegetables" → "delicious" → "stir fry" → "things" → E is generated, and for reference meal names other than the target meal name,
"Sautéed pork": S → "pork" → "sautéed" → E
"Stir-fried vegetables": S → "Vegetables" → "Stir-fried" → E
"Stir-fried pork and Chinese-style vegetables": S->"pork"->"Chinese-style"->"vegetables"->"stir-fried"->"things"-> E
"Delicious protein drink": S → "Delicious" → "Protein" → "Beverage" → E
"Stir-fried meat and vegetables": S → "meat" → "vegetables" → "stir-fried" → E
Word graph is generated (Fig. 4).

組み合わせ語生成部42は、各食事名について生成したグラフに含まれるエッジごとに、当該エッジ(処理対象エッジと呼ぶ)のリンク元のノード(アウトリンクノードと呼ぶ)wiと、リンク先のノード(インリンクノードと呼ぶ)wjとを参照し、処理対象エッジの重み(コスト)を次のように演算する(K.Fillipova,"Multi-sentence compression: Finding shortest paths in word graphs", Progress of the 23rd International Conference on Computational Linguistics 2010の文短縮用コストを用いる)。

Figure 0006918695
ここで、freq(w)は、ノードwの出現頻度(各参照食事名からノードwが見出された頻度)であり、diff(s,w1,w2)は、出現順を考慮した語間距離を表し、具体的には次の(2)式で表される値となる:
Figure 0006918695
ただしpos(s,w)は、食事名sにおけるノードwの出現順位(先頭からリンクを辿って何番目にノードwが出現するかを表す値)であり、Σ(和)は、すべての参照食事名における和を演算することを意味する。The combination word generation unit 42 has a link source node (called an outlink node) wi of the edge (referred to as a processing target edge) and a link destination node (referred to as an outlink node) for each edge included in the graph generated for each meal name. Refer to wj (called an inlink node) and calculate the weight (cost) of the edge to be processed as follows (K. Fillipova, "Multi-sentence compression: Finding shortest paths in word graphs", Progress of the 23rd Use the sentence shortening cost of International Conference on Computational Linguistics 2010).
Figure 0006918695
Here, freq (w) is the frequency of occurrence of the node w (frequency at which the node w is found from each reference meal name), and diff (s, w1, w2) is the inter-word distance considering the order of appearance. , And specifically, the value expressed by the following equation (2):
Figure 0006918695
However, pos (s, w) is the order of appearance of the node w in the meal name s (a value indicating the number of the node w that appears following the link from the beginning), and Σ (sum) is all references. It means to calculate the sum in the meal name.

上述に挙げた例では、
「豚肉」→「野菜」のエッジに注目した場合、「豚肉」の出現頻度(wi)が「3」、「野菜」の出現頻度(wj)が「4」、
「豚肉と野菜のおいしい炒め物」(対象食事名)でのdiff(s,w1,w2)=1
「豚肉のソテー」でのdiff(s,w1,w2)=0
「野菜炒め」でのdiff(s,w1,w2)=0
「豚肉と中華風の野菜の炒めもの」でのdiff(s,w1,w2)=2
「おいしいプロテイン飲料」でのdiff(s,w1,w2)=0
「肉野菜炒め」でのdiff(s,w1,w2)=0
であるので、このでのdiff(s,w1,w2)の逆数の総和は、1+1/2=1.5となる。従って、「豚肉」→「野菜」のエッジの重み(コスト)は、
(3+4)/(3×4×3/2)=7/18=0.39(小数点3桁を四捨五入)
となる。
In the example given above,
When focusing on the edge of "pork" → "vegetables", the frequency of appearance of "pork" (wi) is "3", the frequency of appearance of "vegetables" (wj) is "4",
Diff (s, w1, w2) = 1 in "Delicious stir-fried pork and vegetables" (target meal name)
Diff (s, w1, w2) = 0 in "sautéed pork"
Diff (s, w1, w2) = 0 in "stir-fried vegetables"
Diff (s, w1, w2) = 2 in "stir-fried pork and Chinese-style vegetables"
Diff (s, w1, w2) = 0 in "delicious protein drink"
Diff (s, w1, w2) = 0 in "stir-fried meat and vegetables"
Therefore, the sum of the reciprocals of the diff (s, w1, w2) in this case is 1 + 1/2 = 1.5. Therefore, the weight (cost) of the edge of "pork" → "vegetable" is
(3 + 4) / (3 × 4 × 3/2) = 7/18 = 0.39 (rounded to the first decimal place)
Will be.

そのほかも同様に、
「S」→「豚肉」のノードについて、(6+3)/(6×3×3)=0.17
「野菜」→「おいしい」のノードについて、(4+2)/(4×2×1)=0.75
「おいしい」→「炒め」のノードについて、(2+4)/(2×4×1)=0.75
「野菜」→「炒め」のノード(「野菜炒め」等から得られる)について、(4+4)/(4×4×5/2)=0.2

などと演算される。
Others as well
About the node of "S" → "pork", (6 + 3) / (6 × 3 × 3) = 0.17
About the node of "vegetables" → "delicious", (4 + 2) / (4 × 2 × 1) = 0.75
For the "delicious" → "stir-fried" node, (2 + 4) / (2 x 4 x 1) = 0.75
About the node of "vegetables" → "stir-fried" (obtained from "stir-fried vegetables" etc.) / (4 x 4 x 5/2) = 0.2
...
And so on.

組み合わせ語生成部42は、こうして演算したエッジの重みのうち、対象食事名に含まれる語のノードをリンクの順に辿ってできる組み合わせに係る重みの総和を求める。すなわち、
S→「豚肉」→「野菜」→「おいしい」→「炒め」→「物」→Eであれば、0.17+0.39+0.75+0.75+1.25+1.17=4.48
S→「豚肉」→「おいしい」→「炒め」→Eであれば、0.17+1.67+0.75+0.17=2.76
S→「豚肉」→「野菜」→「炒め」→Eであれば、0.17+0.39+0.2+0.17=0.93

というように演算する。組み合わせ語生成部42は、演算にかかる各組み合わせのうち、重みの総和が最小となる組み合わせを見出す。上記の例の場合、S→「豚肉」→「野菜」→「炒め」→Eの組み合わせが最小となるので、この組合せを見出す。
The combination word generation unit 42 obtains the sum of the weights related to the combination obtained by tracing the nodes of the words included in the target meal name in the order of the links among the weights of the edges calculated in this way. That is,
If S → "pork" → "vegetables" → "delicious" → "stir fry" → "things" → E, then 0.17 + 0.39 + 0.75 + 0.75 + 1.25 + 1.17 = 4.48
If S → "pork" → "delicious" → "stir fry" → E, then 0.17 + 1.67 + 0.75 + 0.17 = 2.76
If S → "pork" → "vegetables" → "stir fry" → E, then 0.17 + 0.39 + 0.2 + 0.17 = 0.93
...
Calculate like this. The combination word generation unit 42 finds the combination in which the sum of the weights is the smallest among the combinations to be calculated. In the case of the above example, the combination of S->"pork"->"vegetables"->"stir-fried"-> E is the minimum, so this combination is found.

そして組み合わせ語生成部42は、ここで見出された組み合わせを、リンクの順に連接して組み合わせ語「豚肉野菜炒め」を正規化食事名として生成し、この正規化食事名を対象食事名に関連付けて食事データベースに格納する。 Then, the combination word generation unit 42 connects the combinations found here in the order of the links to generate the combination word "fried pork and vegetables" as the normalized meal name, and associates this normalized meal name with the target meal name. And store it in the meal database.

統計情報生成部33は、正規化食事名を用いて統計処理を行う。具体的には正規化食事名を得る処理によって、例えば「豚肉と野菜のおいしい炒め物」や、「豚肉と野菜の炒め物」、「豚肉と季節の野菜の炒め物」などが、いずれも正規化食事名「豚肉野菜炒め」に関連付けられることとなれば、統計情報生成部33は、「豚肉と野菜のおいしい炒め物」などではなく、正規化食事名「豚肉野菜炒め」をキーとして集計を行う。これにより、例えば利用者が「豚肉と野菜のおいしい炒め物」や、「豚肉と野菜の炒め物」、「豚肉と季節の野菜の炒め物」など、自由な名称で「豚肉と野菜の炒め物」という同じ料理を表現しても、いずれも正規化食事名「豚肉野菜炒め」をキーとして集計されるので、統計結果にこれらのレコードが反映されることとなる。 The statistical information generation unit 33 performs statistical processing using the normalized meal name. Specifically, by processing to obtain a normalized meal name, for example, "delicious stir-fried pork and vegetables", "stir-fried pork and vegetables", "stir-fried pork and seasonal vegetables", etc. are all regular. If it is related to the stir-fried pork and vegetables, the statistical information generation unit 33 will use the normalized stir-fried pork and vegetables as a key instead of "stir-fried pork and vegetables". conduct. As a result, users can use any name such as "stir-fried pork and vegetables," "stir-fried pork and vegetables," "stir-fried pork and seasonal vegetables," and so on. Even if the same dish is expressed, all of them are aggregated using the normalized meal name "stir-fried pork and vegetables" as a key, so these records will be reflected in the statistical results.

本実施の形態は、基本的に以上の構成を備えており、次のように動作する。以下の説明では、複数の利用者のそれぞれから少なくとも一度以上、飲食した食事についての食事名等の情報を受信し、これら受信した情報(利用者を特定する情報や食事名の情報を関連付けたレコード)が予め食事データベースに格納されているものとする。 The present embodiment basically has the above configuration and operates as follows. In the following description, information such as meal names for meals eaten and eaten is received from each of a plurality of users at least once, and the received information (records associated with information identifying users and meal name information). ) Is stored in the meal database in advance.

本実施の形態の情報処理装置1は、図5に示すように、食事データベースに格納されている食事名のうち、正規化食事名に関連付けられていない食事名を順次、対象食事名として選択し(S1)、当該選択した対象食事名を語に分割する(S2)。そして当該分割して得た語(予め定めたストップワードを除いてもよい)を含む食事名(このうちに対象食事名自体を含んでもよい)を食事データベースから検索し、検索の結果を参照食事名として取り出す(S3)。 As shown in FIG. 5, the information processing device 1 of the present embodiment sequentially selects a meal name that is not associated with the normalized meal name from the meal names stored in the meal database as the target meal name. (S1), the selected target meal name is divided into words (S2). Then, a meal name (which may include the target meal name itself) including the word obtained by the division (the predetermined stop word may be excluded) is searched from the meal database, and the search result is referred to. Take out as a name (S3).

情報処理装置1は、取り出した参照食事名も語に分割する(S4)。そして情報処理装置1は、処理S2,S4にて得られた分割された語の出現順(参照食事名に含まれる順)により語グラフを生成し、当該語グラフのエッジの重みを(1),(2)式で定める(S5)。情報処理装置1は、こうして得られた語グラフに含まれるリンクのうち、当該リンクに含まれるノードの語がすべて対象食事名に含まれ、かつ、重みの和が最小となる、ノードSからノードEまでの経路(最小コストパス)を見出し(S6)、当該最小コストパスに含まれるリンクの順にノードの語を連接して組み合わせ語を生成し(S7)、当該組み合わせ語を正規化食事名として、対象食事名に関連付けて(対象食事名を含むレコードに含めて)食事データベースに記録する(S8)。 The information processing device 1 also divides the extracted reference meal name into words (S4). Then, the information processing device 1 generates a word graph in the order of appearance of the divided words (order included in the reference meal name) obtained in the processes S2 and S4, and sets the weight of the edge of the word graph to (1). , (S5) specified by Eq. (2). In the information processing device 1, among the links included in the word graph thus obtained, all the words of the nodes included in the link are included in the target meal name, and the sum of the weights is minimized from the node S to the node. Find the route to E (minimum cost path) (S6), connect the words of the nodes in the order of the links included in the minimum cost path to generate a combination word (S7), and use the combination word as the normalized meal name. , Record in the meal database in association with the target meal name (included in the record including the target meal name) (S8).

なお、ここでは対象食事名や参照食事名を処理S2,S4の実行時に語に分割することとしているが、食事名の入力を受けた時点で食事名を語に分割して、食事データベースに格納しておき、処理S2や処理S4では対象食事名、または参照食事名となった食事名に関連付けて記録されている、分割された語を読み出すこととしてもよい。 Here, the target meal name and the reference meal name are divided into words when the processes S2 and S4 are executed, but when the meal name is input, the meal name is divided into words and stored in the meal database. However, in the process S2 and the process S4, the divided words recorded in association with the target meal name or the meal name serving as the reference meal name may be read out.

また情報処理装置1は、対象食事名として選択していない食事名が食事データベース内にあるか否かを判断し(S9)、もしあれば処理S1に戻って未選択の食事名を対象食事名として選択して処理を続ける。また、処理S9において、対象食事名として選択していない食事名が食事データベース内になければ、処理を終了する。 Further, the information processing device 1 determines whether or not a meal name not selected as the target meal name exists in the meal database (S9), returns to the process S1 if any, and sets the unselected meal name as the target meal name. Select as to continue processing. Further, in the process S9, if the meal name not selected as the target meal name is not in the meal database, the process ends.

以下、情報処理装置1は、正規化食事名を用いて統計処理等の所定処理を実行する。一例として、情報処理装置1は、同じ利用者を特定する情報に関連付けられている正規化食事名ごとの出現頻度の情報や、食事データベース中のすべての正規化食事名ごとの出現頻度の情報等を生成する。 Hereinafter, the information processing device 1 executes predetermined processing such as statistical processing using the normalized meal name. As an example, the information processing device 1 includes information on the frequency of appearance for each normalized meal name associated with information that identifies the same user, information on the frequency of appearance for each normalized meal name in the meal database, and the like. To generate.

[参照食事名の数]
ここまでの説明では、対象食事名を分割して得た語を含む参照食事名を検索する際に、その数を限らなかったが、本実施形態の一例では、参照食事名を例えば対象食事名により類似する順にあるいはランダムに、指定された数k個だけ検索してもよい。ここで類似する順に選択する場合は、対象食事名を分割して得た語と、参照食事名を分割して得た語とを比較し、共通している語の数をカウントし、共通している語の数が多い順にk個(k種類)取り出せばよい。
[Number of reference meal names]
In the above description, the number of reference meal names including the words obtained by dividing the target meal name is not limited, but in one example of the present embodiment, the reference meal name is used as, for example, the target meal name. Only a specified number of k may be searched in a more similar order or randomly. When selecting in a similar order here, the words obtained by dividing the target meal name and the words obtained by dividing the reference meal name are compared, the number of common words is counted, and the words are common. It is sufficient to take out k words (k types) in descending order of the number of words.

例えば、対象食事名「豚肉と野菜のおいしい炒め物」を分割して得られた語が上述のように「豚肉」「野菜」「おいしい」「炒め」「物」である場合に、類似する順にk=3個(3種類)取り出すこととする場合、
「豚肉と野菜のおいしい炒め物」(対象食事名自体):共通している語の数=5
「豚肉と中華風の野菜の炒めもの」(「豚肉」「中華風」「野菜」「炒め」「もの」に分解される):共通している語の数=3
「肉野菜炒め」(「肉」「野菜」「炒め」に分解される):共通している語の数=2
「野菜炒め」(「野菜」「炒め」に分解される):共通している語の数=2
「豚肉のソテー」(「豚肉」「ソテー」に分解される):共通している語の数=1
「おいしいプロテイン飲料」(「おいしい」「プロテイン」「飲料」に分解される):共通している語の数=1
となるので、共通している語の数が多い順にk=3種類を取り出して、例えば、「豚肉と野菜のおいしい炒め物」(対象食事名自体)、「豚肉と中華風の野菜の炒めもの」、「肉野菜炒め」を参照食事名とする。
For example, when the words obtained by dividing the target meal name "delicious stir-fried pork and vegetables" are "pork", "vegetables", "delicious", "stir-fried", and "things" as described above, the order is similar. When k = 3 pieces (3 types) are to be taken out
"Delicious stir-fried pork and vegetables" (target meal name itself): Number of common words = 5
"Stir-fried pork and Chinese-style vegetables" (decomposed into "pork", "Chinese-style", "vegetables", "stir-fried", and "things"): Number of common words = 3
"Stir-fried meat and vegetables" (decomposed into "meat", "vegetables" and "stir-fried"): Number of common words = 2
"Stir-fried vegetables" (decomposed into "vegetables" and "stir-fried"): Number of common words = 2
"Sautéed pork" (decomposed into "pork" and "sautéed"): Number of common words = 1
"Delicious protein beverage" (decomposed into "delicious", "protein" and "beverage"): Number of common words = 1
Therefore, take out k = 3 types in descending order of the number of common words, for example, "delicious stir-fried pork and vegetables" (target meal name itself), "stir-fried pork and Chinese-style vegetables" , "Stir-fried meat and vegetables" are used as reference meal names.

なお、例えば食事データベース中に、「豚肉と中華風の野菜の炒めもの」を含むレコードの数が複数ある場合も、類似する順にk=3種類を取り出すので、「豚肉と野菜のおいしい炒め物」、「豚肉と中華風の野菜の炒めもの」(複数のレコードがあっても1種類とカウントされる)、「肉野菜炒め」が参照食事名とされる。 For example, even if there are multiple records containing "stir-fried pork and Chinese-style vegetables" in the meal database, k = 3 types are taken out in a similar order, so "delicious stir-fried pork and vegetables". , "Stir-fried pork and Chinese-style vegetables" (even if there are multiple records, it is counted as one type), "Stir-fried meat and vegetables" are the reference meal names.

さらに、ここでは共通している語の数が「2」である食事名が2つある例とし、これらのうち「肉野菜炒め」を参照食事名とする例としたが、このようにk種類を取り出すときに、共通している語の数の上位k位までの食事名を候補として選択したときに、候補がkを超えているとき(同順位の食事名が複数ある場合)は、そのうち最も短い食事名、あるいは最も長い食事名を選択するものとしてもよいし、ランダムに選択してもよい。また、同順位の食事名が複数ある場合は、そのうち当該食事名を含むレコードの数が多いものを選択することとしてもよい。この例では例えば「肉野菜炒め」を含むレコードが10、「野菜炒め」を含むレコードが20あれば、「野菜炒め」を選択することとなる。 Furthermore, here, an example is made in which there are two meal names in which the number of common words is "2", and among these, "fried meat and vegetables" is used as a reference meal name. When selecting the meal names up to the top k in the number of common words as candidates when extracting, if the candidates exceed k (when there are multiple meal names with the same rank), among them The shortest meal name or the longest meal name may be selected, or may be randomly selected. Further, when there are a plurality of meal names having the same rank, the one having a large number of records including the meal name may be selected. In this example, for example, if there are 10 records including "stir-fried meat and vegetables" and 20 records including "stir-fried vegetables", "stir-fried vegetables" is selected.

またここで選択する参照食事名の数kは、経験的に、あるいは実験的に定める。 The number k of the reference meal names selected here is determined empirically or experimentally.

[語の種類を考慮した組み合わせ語の生成]
また食事名は一般的に、食材を表す語1,2個、及び調理法を表す語1個を含むことが一般的であることに鑑み、次のような処理を行ってもよい。この例では、食事名正規化部32の食事名分割部41が、対象食事名や参照食事名を分割する際に参照する辞書に、語と、当該語が食材名を表す語であるか否かを表す情報、及び、調理法を表す語であるか否かを表す情報とを関連付けて記録しておく。具体的には、「豚肉」に対して食材名であることを表す情報を関連付けて記録し、「炒め」には調理法であることを表す情報を関連付けて記録する。また、「おいしい」など、食材でも調理法でもない語に対しては、食材名であることを表す情報や調理法であることを表す情報を関連付けないようにする。
[Generation of combination words considering word types]
In addition, considering that the meal name generally includes one or two words representing ingredients and one word representing a cooking method, the following processing may be performed. In this example, the meal name division unit 41 of the meal name normalization unit 32 has a word in the dictionary referred to when dividing the target meal name and the reference meal name, and whether or not the word represents a food material name. The information indicating that the word is used and the information indicating whether or not the word is a cooking method are recorded in association with each other. Specifically, "pork" is associated with information indicating that it is a food ingredient name and recorded, and "stir-fried" is associated with information indicating that it is a cooking method and recorded. In addition, for words such as "delicious" that are neither ingredients nor cooking methods, do not associate information indicating that they are the names of ingredients or information indicating that they are cooking methods.

そして食事名分割部41は、食材名を分割して得た語に対し、食材名を表す語であるか否かを表す情報、及び、調理法を表す語であるか否かを表す情報を関連付けて出力する。具体的に「豚肉と野菜のおいしい炒めもの」の食材名を分割したときには、
「豚肉」:食材名
「と」:−
「野菜」:食材名
「の」:−
「おいしい」:−
「炒め」:調理法
「もの」:−
といったように語を分割しつつ、食材名を表す語であるか否かを表す情報、及び、調理法を表す語であるか否かを表す情報を関連付ける。なお、「−」としたのは、これら食材名を表す語であるか否かを表す情報、及び、調理法を表す語であるか否かを表す情報のいずれも関連付けられていないことを示す。
Then, the meal name dividing unit 41 provides information indicating whether or not the word represents the ingredient name and information indicating whether or not the word represents the cooking method with respect to the word obtained by dividing the ingredient name. Associate and output. Specifically, when the ingredient name of "delicious stir-fried pork and vegetables" is divided,
"Pork": Ingredient name "To":-
"Vegetables": Ingredient name "no":-
"Delicious":-
"Stir-fry": Cooking method "Things":-
While dividing the words such as, the information indicating whether or not the word represents the name of the ingredient and the information indicating whether or not the word represents the cooking method are associated with each other. In addition, "-" indicates that neither the information indicating whether or not the word represents the name of these ingredients and the information indicating whether or not the word represents the cooking method are associated with each other. ..

またこの例において、組み合わせ語生成部42は、参照食事名に基づいて語グラフを生成し、各エッジの重みを演算した後、対象食事名に含まれる語であって、N=1,2個の食材名を表す語のノードと、M=1個の調理法を表す語を含むノードとを、リンクの順に辿ってできる組み合わせに係る重みの総和を求める。なお、食材名を表す語が1つもない場合、あるいは調理法を表す語が一つもない場合は、既に説明したのと同様に、対象食事名に含まれる語のノード(食材名であるか調理法であるかを問わない)をリンクの順に辿ってできる組み合わせに係る重みの総和を求めることとする。 Further, in this example, the combination word generation unit 42 generates a word graph based on the reference meal name, calculates the weight of each edge, and then includes N = 1 or 2 words included in the target meal name. The sum of the weights related to the combination of the word node representing the ingredient name and the node containing the word representing M = 1 cooking method can be obtained by tracing in the order of the links. If there is no word that represents the name of the ingredient, or if there is no word that represents the cooking method, the node of the word included in the target meal name (whether it is the name of the ingredient or cooking), as described above. The sum of the weights related to the combination that can be obtained by following the order of the links (regardless of the law) is calculated.

具体的に、対象食事名が「季節野菜を添えたごぼうと牛肉の炒め煮」であり、食事名分割部41により、
「季節野菜」:食材名
「添えた」:−
「ごぼう」:食材名
「牛肉」:食材名
「炒め煮」:調理法
と分割されているとき(ストップワードは省いている)、組み合わせ語生成部42は、参照食事名に基づいて生成した語グラフから、
「季節野菜」→「ごぼう」→「炒め煮」
「季節野菜」→「牛肉」→「炒め煮」
「ごぼう」→「牛肉」→「炒め煮」
「季節野菜」→「炒め煮」
「ごぼう」→「炒め煮」
「牛肉」→「炒め煮」
のノードをそれぞれ辿ったときの重みの総和を演算する。そして組み合わせ語生成部42は、演算にかかる各組み合わせのうち、重みの総和が最小となる組み合わせを見出す。
Specifically, the target meal name is "stir-fried burdock and beef with seasonal vegetables", and the meal name division section 41
"Seasonal vegetables": Ingredient name "Attached":-
"Gobo": Ingredient name "Beef": Ingredient name "Stir-fried": When separated from the cooking method (stop words are omitted), the combination word generator 42 is a word generated based on the reference meal name. From the graph
"Seasonal vegetables" → "burdock" → "stir-fried"
"Seasonal vegetables" → "Beef" → "Stir-fried"
"Burdock" → "Beef" → "Stir-fried"
"Seasonal vegetables" → "Stir-fried"
"Burdock" → "Stir-fried"
"Beef" → "Stir-fried"
Calculates the sum of the weights when tracing each node of. Then, the combination word generation unit 42 finds the combination in which the sum of the weights is the smallest among the combinations to be calculated.

そして組み合わせ語生成部42は、ここで見出された組み合わせを、リンクの順に連接して組み合わせ語「豚肉野菜炒め」を正規化食事名として生成し、この正規化食事名を対象食事名に関連付けて食事データベースに格納する。本実施の形態のこの例によると、食材名を1,2語、調理法を1語含んだ、比較的一般的な食品名を再構成できる。 Then, the combination word generation unit 42 connects the combinations found here in the order of the links to generate the combination word "fried pork and vegetables" as the normalized meal name, and associates this normalized meal name with the target meal name. And store it in the meal database. According to this example of the present embodiment, a relatively general food name including one or two words for the food material name and one word for the cooking method can be reconstructed.

なお、ここでの例は一例であり、例えば出現した食材名は必ずすべて含むようにノードを選択してもよいし、食材名を必ず2語含むようにノードを選択してもよい(この場合も食材名が1語以下しかない場合は、食材名であるか調理法であるかを問わずにノードを選択することとすればよい)。このように、食材名の語数Nや、調理法の語数Mは経験的に定めればよい。なお、N,Mはいずれも1つの自然数(1以上の自然数)に限られず、N=2または3のように複数の自然数を含んでもよい。 The example here is an example. For example, the node may be selected so as to always include all the food name that appears, or the node may be selected so as to always include two words of the food name (in this case). If the ingredient name is less than one word, you can select the node regardless of whether it is the ingredient name or the cooking method). In this way, the number of words N of the ingredient name and the number of words M of the cooking method may be determined empirically. Both N and M are not limited to one natural number (natural number of 1 or more), and may include a plurality of natural numbers such as N = 2 or 3.

[条件として設定されるストップワード]
ここまでの説明において、ストップワードは、助詞等、予め定められた文字列ないし、予め定められた品詞として分析される語であるものとしていた。しかしながら、本実施の形態においてストップワードはこれに限られない。例えばストップワードには、記号(括弧等)を含んでもよい。またストップワードとして、所定の条件を満足する語としてもよい。ここでの条件は例えば正規表現として記述すればよい。一例として、「\d」が任意の1字以上の数字(漢数字を含む)に一致するものであれば、
\d人前(「一人前」、「2人前」等に一致する)
\dグラム(「100グラム」等に一致する)
等としてストップワードを定めてもよい。
[Stop word set as a condition]
In the above description, the stop word is a word that is analyzed as a predetermined character string or a predetermined part of speech, such as a particle. However, the stop word is not limited to this in the present embodiment. For example, the stop word may include a symbol (parentheses, etc.). Further, as a stop word, it may be a word that satisfies a predetermined condition. The condition here may be described as a regular expression, for example. As an example, if "\ d" matches any one or more characters (including Chinese numerals),
\ d Serving (corresponds to "one serving", "two servings", etc.)
\ dgram (corresponds to "100 grams" etc.)
A stop word may be set as such.

この例によると、例えば
「チーズ入りハンバーグ(150グラム)」
などの食事名から、「(150グラム)」の部分がストップワードとして除かれ、
「チーズ」「入り」「ハンバーグ」
の語に分割されて処理されることとなる。
According to this example, for example, "hamburger with cheese (150 grams)"
"(150 grams)" is removed as a stop word from meal names such as
"Cheese""Enter""Hamburg"
It will be divided into words and processed.

また、場所の名称等をストップワードとして設定しておくこととしてもよい。例えば、「(Z食堂)」,「(レストランA)」等の名称そのものをストップワードとして設定してもよいし、正規表現を用いて(「*」が任意の1字以上の文字に一致するものとして)
「(*食堂)」(「(Z食堂)」や、「(中央食堂)」等に一致する)
「(レストラン*)」(「(レストランA)」や「(レストランBにて)」等に一致する)
等としてストップワードを定めてもよい。
In addition, the name of the place or the like may be set as a stop word. For example, the names themselves such as "(Z dining room)" and "(Restaurant A)" may be set as stop words, or using regular expressions ("*" matches any one or more characters. As a thing)
"(* Dining room)" (corresponds to "(Z dining room)", "(central dining room)", etc.)
"(Restaurant *)" (corresponds to "(Restaurant A)", "(At Restaurant B)", etc.)
A stop word may be set as such.

この例によると、例えば
「天ぷら定食(Z食堂)」
などの食事名から、「(Z食堂)」の部分がストップワードとして除かれ、
「天ぷら」「定食」
の語に分割されて処理されることとなる。
According to this example, for example, "Tempura set meal (Z dining room)"
"(Z dining room)" is removed as a stop word from meal names such as
"Tempura""Setmeal"
It will be divided into words and processed.

[処理の別の例]
また、正規化食事名を利用する処理の例として、さらに、正規化食品名ごとの出現頻度(出現頻度順)が互いに類似している利用者の情報(例えば利用者に病歴情報等を入力してもらっている場合等はその情報)を参照して、飲食している食品の傾向と、生活習慣病の傾向との相関分析等を行うなどの処理を行ってもよい。
[Another example of processing]
In addition, as an example of processing using the normalized meal name, further, user information (for example, medical history information or the like is input to the user) whose appearance frequency (in order of appearance frequency) for each normalized food name is similar to each other is input. If you have received it, you may perform processing such as performing a correlation analysis between the tendency of the food you are eating and drinking and the tendency of lifestyle-related diseases, etc., with reference to the information).

さらに、正規化食品名ごとの出現頻度(出現頻度順)が自己のものと類似している他の利用者の情報を提供することで、類似の嗜好を持つ他者の情報を得たり、あるいは、当該他の利用者の病歴情報を提供する処理を行ってもよい。 Furthermore, by providing information on other users whose appearance frequency (in order of appearance frequency) for each normalized food name is similar to that of their own, information on other users with similar tastes can be obtained, or information on other users can be obtained. , The process of providing the medical history information of the other user may be performed.

[実施形態の効果]
本実施の形態によると、利用者が自由に入力した食事名が正規化食事名として集約されるので、利用者に対して自由な食事名の入力を許容しつつ、食事名に係る統計処理が可能となる。
[Effect of Embodiment]
According to this embodiment, since the meal names freely input by the user are aggregated as the normalized meal name, the statistical processing related to the meal name can be performed while allowing the user to freely input the meal name. It will be possible.

1 情報処理装置、2 端末、11 制御部、12 記憶部、13 通信部、31 食事情報記録部、32 食事名正規化部、33 統計情報生成部、41 食事名分割部、42 組み合わせ語生成部。
1 Information processing device, 2 terminals, 11 control unit, 12 storage unit, 13 communication unit, 31 meal information recording unit, 32 meal name normalization unit, 33 statistical information generation unit, 41 meal name division unit, 42 combination word generation unit ..

Claims (5)

食事名を含むレコードを格納したデータベースに接続された情報処理装置であって、
前記食事名のうち処理の対象とする食事名を、対象食事名として語に分割する手段と、
前記分割した語のうちから選択した語を組み合せた組み合わせ語を生成する生成手段と、
前記組み合わせ語を正規化食事名として、所定処理に供する手段と、
を含み、
前記生成手段は、
前記データベースに格納されている食事名のうち、前記対象食事名を分割して得られた語を含む食事名を参照食事名として、当該参照食事名を分割して得られる語を、参照食事名中での出現順に、有向グラフとしてエッジで連結した語グラフを生成して、当該エッジに所定の重みを設定し、
前記対象食事名に含まれる語を、前記語グラフのリンクの順に辿ってできる組み合わせに係る重みの総和を求め、当該組み合わせのうちから前記総和に基づいて選択される組み合わせを、リンクの順に連接した組み合わせ語を生成する情報処理装置。
An information processing device connected to a database that stores records including meal names.
A means for dividing a meal name to be processed among the meal names into words as a target meal name, and
A generation means for generating a combination word by combining words selected from the divided words, and
A means for performing a predetermined process using the combination word as a normalized meal name,
Only including,
The generation means
Among the meal names stored in the database, the meal name including the word obtained by dividing the target meal name is used as the reference meal name, and the word obtained by dividing the reference meal name is referred to as the reference meal name. A word graph connected by an edge is generated as a directed graph in the order of appearance in the inside, and a predetermined weight is set for the edge.
The sum of the weights related to the combinations of the words included in the target meal name can be traced in the order of the links in the word graph, and the combinations selected based on the sum of the combinations are connected in the order of the links. An information processing device that generates combination words.
請求項1に記載の情報処理装置であって、 The information processing device according to claim 1.
前記生成手段は、前記語グラフのエッジの重みを、前記参照食事名における、リンク元のノードに係る語と、リンク先のノードに係る語との出現頻度、及び、当該2つの語の出現順を用いた所定の語間距離に基づいて、エッジが示す出現順にリンク元のノードに係る語と、リンク先のノードに係る語とが出現する頻度が高いほど小さくなるよう設定し、 The generation means sets the weight of the edge of the word graph as the frequency of appearance of the word related to the link source node and the word related to the link destination node in the reference meal name, and the order of appearance of the two words. Based on the predetermined inter-word distance using, the words related to the link source node and the words related to the link destination node appear in the order of appearance indicated by the edge so that the frequency becomes smaller.
前記対象食事名に含まれる語を、前記語グラフのリンクの順に辿ってできる組み合わせに係る重みの総和を求め、当該組み合わせのうちから前記総和が最小となる組み合わせを選択して、当該選択した組み合わせを、リンクの順に連接した組み合わせ語を生成する情報処理装置。 The sum of the weights related to the combinations of the words included in the target meal name can be traced in the order of the links in the word graph, and the combination having the smallest sum is selected from the combinations, and the selected combination is selected. An information processing device that generates a combination of words connected in the order of links.
請求項1または2に記載の情報処理装置であって、
語と、当該語が、食材名を表す語であるか否か、及び、調理法を表す語であるか否かを表す情報とを関連付けて記録した辞書データベースに接続され、
前記生成手段は、
前記分割した語のうちから、食材名を表す語とされた語をN個(Nは1以上の既定の自然数)と、調理法を表す語とされた語をM個(Mは1以上の既定の自然数)との選択を試み、選択された場合に、当該選択された語を組み合せた組み合わせ語を生成する情報処理装置。
The information processing device according to claim 1 or 2.
It is connected to a dictionary database that records a word in association with information indicating whether or not the word is a word representing an ingredient name and whether or not the word is a word representing a cooking method.
The generation means
From the divided words, N words (N is a predetermined natural number of 1 or more) and M words (M is 1 or more) are used to represent the name of the ingredient. An information processing device that attempts to select a default natural number) and, when selected, generates a combination word that combines the selected words.
請求項1から3のいずれか一項に記載の情報処理装置であって、
前記所定処理は、共通する正規化食事名を有する食事名に関する統計演算処理を含む情報処理装置。
The information processing device according to any one of claims 1 to 3.
The predetermined processing is an information processing device including statistical calculation processing for meal names having a common normalized meal name.
食事名を含むレコードを格納したデータベースに接続された情報処理装置を、
前記食事名のうち処理の対象とする食事名を、対象食事名として語に分割する手段と、
前記分割した語のうちから選択した語を組み合せた組み合わせ語を生成する生成手段と、
前記組み合わせ語を正規化食事名として、所定処理に供する手段と、
として機能させ
前記生成手段として機能させる際に、
前記データベースに格納されている食事名のうち、前記対象食事名を分割して得られた語を含む食事名を参照食事名として、当該参照食事名を分割して得られる語を、参照食事名中での出現順に、有向グラフとしてエッジで連結した語グラフを生成して、当該エッジに所定の重みを設定し、
前記対象食事名に含まれる語を、前記語グラフのリンクの順に辿ってできる組み合わせに係る重みの総和を求め、当該組み合わせのうちから前記総和に基づいて選択される組み合わせを、リンクの順に連接した組み合わせ語を生成するプログラム。
An information processing device connected to a database that stores records containing meal names,
A means for dividing a meal name to be processed among the meal names into words as a target meal name, and
A generation means for generating a combination word by combining words selected from the divided words, and
A means for performing a predetermined process using the combination word as a normalized meal name,
To function as,
When functioning as the generation means
Among the meal names stored in the database, the meal name including the word obtained by dividing the target meal name is used as the reference meal name, and the word obtained by dividing the reference meal name is referred to as the reference meal name. A word graph connected by an edge is generated as a directed graph in the order of appearance in the inside, and a predetermined weight is set for the edge.
The sum of the weights related to the combinations of the words included in the target meal name can be traced in the order of the links in the word graph, and the combinations selected based on the sum of the combinations are connected in the order of the links. A program that generates combinatorial words.
JP2017536410A 2015-08-21 2016-08-19 Information processing equipment and programs Active JP6918695B2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2015164111 2015-08-21
JP2015164111 2015-08-21
PCT/JP2016/074281 WO2017033870A1 (en) 2015-08-21 2016-08-19 Information processing device and program

Publications (2)

Publication Number Publication Date
JPWO2017033870A1 JPWO2017033870A1 (en) 2018-06-07
JP6918695B2 true JP6918695B2 (en) 2021-08-11

Family

ID=58100130

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017536410A Active JP6918695B2 (en) 2015-08-21 2016-08-19 Information processing equipment and programs

Country Status (2)

Country Link
JP (1) JP6918695B2 (en)
WO (1) WO2017033870A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7275816B2 (en) * 2019-04-26 2023-05-18 富士フイルムビジネスイノベーション株式会社 Information processing device and program

Also Published As

Publication number Publication date
JPWO2017033870A1 (en) 2018-06-07
WO2017033870A1 (en) 2017-03-02

Similar Documents

Publication Publication Date Title
US11669557B2 (en) Iterative image search algorithm informed by continuous human-machine input feedback
Morol et al. Food recipe recommendation based on ingredients detection using deep learning
CN108897768B (en) Ordering method and device and electronic equipment
US9797873B1 (en) Prediction of recipe preparation time
JP6920136B2 (en) Information processing system
CN103502919A (en) Device for presenting recipe and method for presenting recipe
CN107230131A (en) A kind of vegetable recommends method, apparatus and system
JP6410069B1 (en) Recipe information providing apparatus, recipe information providing method, and recipe information providing program
JP6754190B2 (en) Information processing systems, information processing methods, and information processing programs
KR101874604B1 (en) Method for generating creation recipe
Jabeen et al. EvoChef: show me what to cook! Artificial evolution of culinary arts
CN109344323A (en) Information push method
JP2002056180A (en) Cooking recipe providing system and computer-readable recording medium with recorded cooking recipe providing program
KR102110766B1 (en) Method for providing food information based on food suitability and apparatus using the method
JP2016045606A (en) Recipe evaluation apparatus, program, and control method
JP6918695B2 (en) Information processing equipment and programs
KR20220153044A (en) Menu generation system
Hakguder et al. Smart Diet Management through Food Image and Cooking Recipe Analysis
JP2021060640A (en) Nutrition calculation device
JP6995034B2 (en) Information processing equipment, information processing methods and information processing programs
CN118215928A (en) Method and apparatus for providing customized diets
JP7756307B2 (en) Recipe recommendation system, recipe recommendation method and program
JP7806993B2 (en) Menu creation support device
Wijaya et al. Food Text-to-Image Synthesis Using VQGAN and CLIP
JP7774214B2 (en) Recipe recommendation system, recipe recommendation method and program

Legal Events

Date Code Title Description
A80 Written request to apply exceptions to lack of novelty of invention

Free format text: JAPANESE INTERMEDIATE CODE: A801

Effective date: 20180201

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180205

A80 Written request to apply exceptions to lack of novelty of invention

Free format text: JAPANESE INTERMEDIATE CODE: A80

Effective date: 20180205

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190723

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200929

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20201126

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210126

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210721

R150 Certificate of patent or registration of utility model

Ref document number: 6918695

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250