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
JP7801558B2 - Product information generating program, product information generating method and information processing device - Google Patents
[go: Go Back, main page]

JP7801558B2 - Product information generating program, product information generating method and information processing device - Google Patents

Product information generating program, product information generating method and information processing device

Info

Publication number
JP7801558B2
JP7801558B2 JP2021175531A JP2021175531A JP7801558B2 JP 7801558 B2 JP7801558 B2 JP 7801558B2 JP 2021175531 A JP2021175531 A JP 2021175531A JP 2021175531 A JP2021175531 A JP 2021175531A JP 7801558 B2 JP7801558 B2 JP 7801558B2
Authority
JP
Japan
Prior art keywords
product
transaction
data
products
dialogue
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
JP2021175531A
Other languages
Japanese (ja)
Other versions
JP2023065004A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2021175531A priority Critical patent/JP7801558B2/en
Publication of JP2023065004A publication Critical patent/JP2023065004A/en
Application granted granted Critical
Publication of JP7801558B2 publication Critical patent/JP7801558B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は商品情報生成プログラム、商品情報生成方法および情報処理装置に関する。 The present invention relates to a product information generation program, a product information generation method, and an information processing device.

複数の商品の取引を支援する情報処理システムは、それら複数の商品のうちの一部の商品を取引対象としてユーザに提案することがある。例えば、情報処理システムは、ユーザから入力された検索キーワードに適合する商品の購買を提案することがある。 An information processing system that supports the trading of multiple products may suggest some of those products to a user as trading targets. For example, the information processing system may suggest the purchase of products that match search keywords entered by the user.

なお、ユーザが選択した商品の商品情報からキーワードを抽出し、キーワードを用いてブログサイトから関連する他の商品の商品名を検索し、検索された商品名をユーザに提案するアフィニティ装置が提案されている。また、情報検索時のユーザの操作を示す操作情報を収集し、収集された操作情報から典型的な操作を示すナビゲーションパターンを検出し、ナビゲーションパターンをユーザに提案する情報検索支援装置が提案されている。また、ユーザから入力された検索キーワードに該当する商品情報が存在しない場合、検索キーワードに類似する参考キーワードをユーザに提案する商品検索装置が提案されている。 An affinity device has been proposed that extracts keywords from the product information of a product selected by a user, uses the keywords to search for other related product names on blog sites, and suggests the searched product names to the user. An information search support device has also been proposed that collects operation information indicating user operations during information searches, detects navigation patterns indicating typical operations from the collected operation information, and suggests the navigation patterns to the user. A product search device has also been proposed that, if there is no product information matching the search keywords entered by the user, suggests reference keywords similar to the search keywords to the user.

特開2008-139928号公報Japanese Patent Application Laid-Open No. 2008-139928 特開2009-64191号公報JP 2009-64191 A 特開2009-151734号公報JP 2009-151734 A

ユーザは、ある取引目的を達成するために2以上の商品をまとめて取引することがある。例えば、ユーザは、ある料理を作成するための2以上の食材をまとめて購買することがある。しかし、一般的な商品検索技術は、各商品がユーザの入力に適合するか否か個別に判定するものであり、適切な商品の組み合わせを出力しない。 Users sometimes trade two or more products together to achieve a certain transaction goal. For example, a user may purchase two or more ingredients together to make a certain dish. However, general product search technology determines whether each product individually matches the user's input, and does not output an appropriate product combination.

これに対して、情報処理システムは、合わせて取引されることが多い商品の組み合わせを過去の取引データから抽出することも考えられる。しかし、同じ商品が異なる取引目的のために取引されることがあり、複数の取引データの中には異なる取引目的に関する取引データが混在していることがある。このため、単純に共起頻度が高い商品の組み合わせを抽出すると、有用性の低い組み合わせが抽出されることがある。そこで、1つの側面では、本発明は、商品の組み合わせの検索を可能にすることを目的とする。 In response to this, it is conceivable that information processing systems could extract combinations of products that are often traded together from past transaction data. However, the same product may be traded for different transaction purposes, and transaction data relating to different transaction purposes may be mixed together in multiple transaction data. For this reason, simply extracting product combinations that co-occur frequently may result in combinations that are not very useful. Therefore, in one aspect, the present invention aims to enable the search for product combinations.

1つの態様では、以下の処理をコンピュータに実行させる商品情報生成プログラムが提供される。複数の商品のうちの少なくとも一部の商品の取引をそれぞれ示す複数の取引データと、自然言語を用いた取引に関連するコミュニケーションをそれぞれ示す、複数の取引データに対応する複数の対話データとを取得する。複数の対話データのうちの特定の条件を満たす2以上の対話データに対応する、複数の取引データのうちの2以上の取引データにおける商品間の共起関係に基づいて、複数の商品の中から商品グループを判定する。複数の対話データに含まれる複数のキーワードのうちの少なくとも一部のキーワードを、判定された商品グループに関連付ける。 In one aspect, a product information generation program is provided that causes a computer to execute the following processes: Acquires a plurality of transaction data each indicating transactions of at least some of a plurality of products, and a plurality of dialogue data corresponding to the plurality of transaction data, each indicating communication related to the transactions using natural language; Determines a product group from the plurality of products based on co-occurrence relationships between products in two or more of the plurality of transaction data corresponding to two or more dialogue data that satisfy a specific condition among the plurality of dialogue data; Associates at least some of the keywords included in the plurality of dialogue data with the determined product group.

また、1つの態様では、コンピュータが実行する商品情報生成方法が提供される。また、1つの態様では、記憶部と処理部とを有する情報処理装置が提供される。 In one aspect, a computer-implemented product information generation method is provided.In another aspect, an information processing device having a memory unit and a processing unit is provided.

1つの側面では、商品の組み合わせの検索が可能となる。 One aspect is that it allows you to search for product combinations.

第1の実施の形態の情報処理装置を説明するための図である。FIG. 1 is a diagram illustrating an information processing apparatus according to a first embodiment. 第2の実施の形態の情報処理システムの例を示す図である。FIG. 1 illustrates an example of an information processing system according to a second embodiment. 分析サーバのハードウェア例を示すブロック図である。FIG. 2 is a block diagram illustrating an example of hardware of an analysis server. クライアントのハードウェア例を示すブロック図である。FIG. 2 is a block diagram illustrating an example of hardware of a client. 商品リストを検索する検索画面の例を示す図である。FIG. 10 is a diagram illustrating an example of a search screen for searching a product list. 個別商品を検索する検索画面の例を示す図である。FIG. 10 is a diagram illustrating an example of a search screen for searching for an individual product. 購買目的が異なる商品組み合わせの例を示す図である。FIG. 10 is a diagram showing an example of a combination of products for different purchasing purposes. 購買記録と対話ログの関連付けの例を示す図である。FIG. 10 is a diagram illustrating an example of association between a purchase record and a dialogue log. 対話ログからのキーワードリストの生成例を示す図である。FIG. 10 is a diagram illustrating an example of generating a keyword list from a dialogue log. 購買記録とキーワードリストの関連付けの例を示す図である。FIG. 10 is a diagram illustrating an example of association between a purchase record and a keyword list. 商品名とキーワードの組の集計例を示す図である。FIG. 10 is a diagram showing an example of a count of pairs of product names and keywords. アプリオリアルゴリズムの実行例を示す図である。FIG. 10 is a diagram illustrating an example of the execution of the Apriori algorithm. 商品リストに対応するキーワードの抽出例を示す図である。FIG. 10 is a diagram illustrating an example of extraction of keywords corresponding to a product list. 商品リストとタグの関連付けの例を示す図である。FIG. 10 is a diagram illustrating an example of association between a product list and a tag. 情報処理システムの機能例を示すブロック図である。FIG. 2 is a block diagram illustrating an example of functions of the information processing system. 商品リスト生成の手順例を示すフローチャートである。10 is a flowchart illustrating an example of a procedure for generating a product list.

以下、本実施の形態を図面を参照して説明する。
[第1の実施の形態]
第1の実施の形態を説明する。
The present embodiment will be described below with reference to the drawings.
[First embodiment]
A first embodiment will be described.

図1は、第1の実施の形態の情報処理装置を説明するための図である。
第1の実施の形態の情報処理装置10は、過去の商品取引を分析することで、好適な商品の組み合わせをユーザに提案できるようにするための商品情報を生成する。情報処理装置10は、クライアント装置でもよいしサーバ装置でもよい。情報処理装置10が、コンピュータ、分析装置または商品情報生成装置と呼ばれてもよい。
FIG. 1 is a diagram illustrating an information processing apparatus according to a first embodiment.
The information processing device 10 according to the first embodiment analyzes past product transactions to generate product information for suggesting suitable product combinations to users. The information processing device 10 may be a client device or a server device. The information processing device 10 may also be referred to as a computer, an analysis device, or a product information generation device.

情報処理装置10は、記憶部11および処理部12を有する。記憶部11は、RAM(Random Access Memory)などの揮発性半導体メモリでもよいし、HDD(Hard Disk Drive)やフラッシュメモリなどの不揮発性ストレージでもよい。処理部12は、例えば、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、DSP(Digital Signal Processor)などのプロセッサである。ただし、処理部12が、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの電子回路を含んでもよい。プロセッサは、例えば、RAMなどのメモリ(記憶部11でもよい)に記憶されたプログラムを実行する。プロセッサの集合が、マルチプロセッサまたは単に「プロセッサ」と呼ばれてもよい。 The information processing device 10 has a memory unit 11 and a processing unit 12. The memory unit 11 may be a volatile semiconductor memory such as RAM (Random Access Memory), or a non-volatile storage such as an HDD (Hard Disk Drive) or flash memory. The processing unit 12 is a processor such as a CPU (Central Processing Unit), GPU (Graphics Processing Unit), or DSP (Digital Signal Processor). However, the processing unit 12 may also include electronic circuits such as an ASIC (Application Specific Integrated Circuit) or FPGA (Field Programmable Gate Array). The processor executes a program stored in memory such as RAM (which may be the memory unit 11). A collection of processors may be called a multiprocessor or simply a "processor."

記憶部11は、取引データ13a,13b,13cを含む複数の取引データと、対話データ14a,14b,14cを含む複数の対話データとを記憶する。取引データ13a,13b,13cはそれぞれ、商品A,B,C,D,Eを含む複数の商品のうちの少なくとも一部の商品の取引を示す。対話データ14a,14b,14cはそれぞれ、自然言語を用いた取引に関するコミュニケーションを示す。対話データ14a,14b,14cは、取引データ13a,13b,13cと一対一に対応する。 The memory unit 11 stores multiple pieces of transaction data including transaction data 13a, 13b, and 13c, and multiple pieces of dialogue data including dialogue data 14a, 14b, and 14c. Transaction data 13a, 13b, and 13c each represent a transaction of at least some of multiple products including products A, B, C, D, and E. Dialogue data 14a, 14b, and 14c each represent communication related to the transaction using natural language. Dialogue data 14a, 14b, and 14c correspond one-to-one to transaction data 13a, 13b, and 13c.

ここで、「商品」は、同種のものが複数個流通し得る取引対象物であればよい。よって、商品は、食料品や書籍などの有体物でもよいし、コンテンツやサービスなどの無体物でもよい。また、「取引」は、商品に関する権利が移転する契約であればよい。よって、取引は、対価が支払われる有償契約でもよいし、対価が支払われない無償契約でもよい。また、取引は、商品が返還されない譲渡契約でもよいし、後で商品が返還される貸借契約でもよい。また、取引は、店舗において対面で行われてもよいし、オンラインで行われてもよい。商品取引の一例は、スーパーマーケットでの食料品の購買である。 Here, a "product" is any object of trade in which multiple units of the same type can be distributed. Therefore, a product may be a tangible item such as food or a book, or an intangible item such as content or a service. Furthermore, a "transaction" may be any contract in which rights related to a product are transferred. Therefore, a transaction may be a paid contract in which a fee is paid, or a free contract in which no fee is paid. Furthermore, a transaction may be a transfer contract in which the product is not returned, or a loan contract in which the product is returned at a later date. Furthermore, a transaction may be conducted face-to-face in a store or online. An example of a product transaction is the purchase of groceries at a supermarket.

取引データ13a,13b,13cはそれぞれ、過去に1回の取引において取引対象となった1以上の商品を示す。取引データ13a,13b,13cが示す複数の取引は、異なる時刻に行われたものでもよく、異なる場所で行われたものでもよく、異なるユーザにより行われたものでもよい。取引が商品購買である場合、取引データ13a,13b,13cが購買記録と呼ばれてもよい。取引データ13a,13b,13cは、POS(Point of Sale)システムなどの販売管理システムから取得されてもよい。 Transaction data 13a, 13b, and 13c each indicate one or more products that were the subject of a single past transaction. The multiple transactions indicated by transaction data 13a, 13b, and 13c may have taken place at different times, in different locations, or by different users. If the transaction is a product purchase, transaction data 13a, 13b, and 13c may be referred to as a purchase record. Transaction data 13a, 13b, and 13c may be obtained from a sales management system such as a POS (Point of Sale) system.

対話データ14a,14b,14cが示すコミュニケーションは、AI(Artificial Intelligence)などのコンピュータとユーザとの対話でもよいし、人間であるオペレータとユーザとの対話でもよい。コミュニケーションは、音声で行われてもよいし文字入力により行われてもよい。対話データ14a,14b,14cは、録音された音声データを含んでもよいし、音声認識により音声データから変換された文字列を含んでもよいし、対話中に入力された文字列を含んでもよい。また、対話データ14a,14b,14cは、ユーザの発話のみ含んでもよいし、ユーザの発話と相手の発話の両方を含んでもよい。 The communication represented by dialogue data 14a, 14b, and 14c may be a dialogue between a user and a computer such as AI (Artificial Intelligence), or a dialogue between a human operator and a user. The communication may be performed by voice or by text input. Dialogue data 14a, 14b, and 14c may include recorded voice data, may include character strings converted from voice data using voice recognition, or may include character strings input during the dialogue. Dialogue data 14a, 14b, and 14c may include only the user's speech, or may include both the user's speech and the other party's speech.

また、対話データ14a,14b,14cは、コミュニケーションを通じてユーザの商品選択を支援する購買支援システムから取得されてもよい。購買支援システムは、AI技術を用いて、ユーザから受け付けた質問文に対する適切な回答文を出力してもよい。ユーザは、スマートフォンなどの端末装置にインストールされた購買支援アプリケーションを利用して、購買支援システムとコミュニケーションを行って商品を検索してもよい。対話データ14a,14b,14cが対話ログと呼ばれてもよい。 The dialogue data 14a, 14b, and 14c may also be acquired from a purchasing support system that supports users in selecting products through communication. The purchasing support system may use AI technology to output appropriate responses to questions received from users. Users may use a purchasing support application installed on a terminal device such as a smartphone to communicate with the purchasing support system and search for products. The dialogue data 14a, 14b, and 14c may also be referred to as a dialogue log.

対話データ14a,14b,14cはそれぞれ、1以上のキーワードを含むことがある。キーワード候補は、事前に固定的に決められてもよいし、対話データ14a,14b,14cを含む複数の対話データを分析することで相対的に決定されてもよい。後者の場合、IDF(Inverse Document Frequency)などの指標が閾値以上である単語が、キーワード候補と決定されてもよい。キーワードは、取引の目的、背景、コンテキストなどを表す特徴的な単語であることが好ましい。例えば、商品が食材である場合の料理名や、商品が書籍である場合の調査対象固有名詞などが、キーワードとなり得る。 Dialogue data 14a, 14b, and 14c may each include one or more keywords. Keyword candidates may be fixedly determined in advance, or may be determined relatively by analyzing multiple dialogue data including dialogue data 14a, 14b, and 14c. In the latter case, words whose indicators, such as IDF (Inverse Document Frequency), are above a threshold may be determined as keyword candidates. Keywords are preferably characteristic words that represent the purpose, background, context, etc. of the transaction. For example, keywords could be the name of a dish if the product is food ingredients, or the proper noun of the subject of research if the product is a book.

取引データ13a,13b,13cと対話データ14a,14b,14cとの対応関係は、ユーザの同一性や時刻の近似度に基づいて判定されてもよい。例えば、ユーザが同一かつ日付が同一の取引データと対話データとが対応付けられる。また、例えば、ユーザが同一かつ時刻差が閾値以下の取引データと対話データとが対応付けられる。対話データが示すコミュニケーションは、取引データが示す取引の前に行われていることが好ましい。 The correspondence between transaction data 13a, 13b, 13c and dialogue data 14a, 14b, 14c may be determined based on the identity of the user or the degree of time proximity. For example, transaction data and dialogue data for the same user and on the same date are associated. Also, for example, transaction data and dialogue data for the same user with a time difference less than a threshold are associated. It is preferable that the communication indicated by the dialogue data occurs before the transaction indicated by the transaction data.

一例として、取引データ13aは商品A,B,C,Dを示し、取引データ13bは商品A,B,C,Eを示し、取引データ13cは商品A,B,Dを示す。対話データ14a,14bはそれぞれキーワードXを含み、対話データ14cはキーワードYを含む。取引データ13aと対話データ14aとが対応し、取引データ13bと対話データ14bとが対応し、取引データ13cと対話データ14cとが対応する。 As an example, transaction data 13a indicates products A, B, C, and D, transaction data 13b indicates products A, B, C, and E, and transaction data 13c indicates products A, B, and D. Dialogue data 14a and 14b each contain keyword X, and dialogue data 14c contains keyword Y. Transaction data 13a corresponds to dialogue data 14a, transaction data 13b corresponds to dialogue data 14b, and transaction data 13c corresponds to dialogue data 14c.

処理部12は、取引データ13a,13b,13cおよび対話データ14a,14b,14cを分析することで、取引対象になり得る複数の商品の中から商品グループ15を判定する。このとき、処理部12は、異なる商品が同一の取引データに含まれるという商品間の共起関係を判定し、共起関係に基づいて商品グループ15を判定する。例えば、処理部12は、共起頻度が閾値以上の商品の組み合わせを商品グループ15として判定する。 The processing unit 12 analyzes the transaction data 13a, 13b, and 13c and the dialogue data 14a, 14b, and 14c to determine a product group 15 from among multiple products that can be traded. At this time, the processing unit 12 determines co-occurrence relationships between products, where different products are included in the same transaction data, and determines the product group 15 based on the co-occurrence relationships. For example, the processing unit 12 determines, as a product group 15, a combination of products whose co-occurrence frequency is equal to or greater than a threshold.

共起頻度が高い商品の組み合わせは、アプリオリアルゴリズム、k平均法、AGM(Apriori-based Graph Mining)などのアルゴリズムによって判定されてもよい。また、共起頻度が閾値以上の商品の組み合わせが複数通り存在する場合、商品グループ15は、商品数が極大となる商品の組み合わせでもよい。例えば、商品A,Bの共起頻度と商品A,B,Cの共起頻度が共に閾値以上である場合、処理部12は、後者の組み合わせが前者の組み合わせを包含するため、商品数の多い商品A,B,Cを優先的に選択してもよい。 Product combinations with high co-occurrence frequencies may be determined using algorithms such as the apriori algorithm, k-means, or AGM (Apriori-based Graph Mining). Furthermore, if there are multiple product combinations with co-occurrence frequencies above a threshold, product group 15 may be the product combination with the largest number of products. For example, if the co-occurrence frequencies of products A and B and products A, B, and C are both above a threshold, processing unit 12 may preferentially select products A, B, and C, which have the largest number of products, because the latter combination encompasses the former combination.

ただし、処理部12は、特定の条件を満たす2以上の対話データに対応する2以上の取引データの中で、商品間の共起関係を判定する。特定の条件を満たす2以上の対話データは、対話データ14a,14b,14cのうちの一部の対話データでもよく、共起関係を判定するための2以上の取引データは、取引データ13a,13b,13cのうちの一部の取引データでもよい。特定の条件は、同一のキーワードを含むことでもよいし、類似度が閾値以上であることでもよい。特定の条件が類似条件と呼ばれてもよい。 However, the processing unit 12 determines the co-occurrence relationship between products among two or more transaction data corresponding to two or more dialogue data that satisfy a specific condition. The two or more dialogue data that satisfy a specific condition may be some of the dialogue data 14a, 14b, and 14c, and the two or more transaction data for determining the co-occurrence relationship may be some of the transaction data 13a, 13b, and 13c. The specific condition may be that the same keywords are included, or that the similarity is greater than or equal to a threshold. The specific condition may be referred to as a similarity condition.

商品グループ15を判定すると、処理部12は、商品グループ15にキーワード16を関連付ける。関連付けられたキーワード16は、商品グループ15を検索するためのタグ情報として使用されてもよい。キーワード16は、対話データ14a,14b,14cの中に含まれるキーワードである。キーワード16は、商品グループ15の全ての商品を含む取引データに対応する対話データに含まれるキーワードでもよい。この場合、処理部12は、該当する対話データの中から出現頻度が閾値以上のキーワードを選択してもよい。 When the product group 15 is determined, the processing unit 12 associates keywords 16 with the product group 15. The associated keywords 16 may be used as tag information for searching the product group 15. The keywords 16 are keywords included in the dialogue data 14a, 14b, and 14c. The keywords 16 may also be keywords included in dialogue data corresponding to transaction data that includes all of the products in the product group 15. In this case, the processing unit 12 may select keywords from the relevant dialogue data whose frequency of appearance is equal to or greater than a threshold.

例えば、処理部12は、取引データ13a,13b,13cのうち、キーワードXを含む対話データ14a,14bに対応する取引データ13a,13bに限定して、商品間の共起関係を判定する。処理部12は、取引データ13a,13bから、共起頻度が閾値以上の組み合わせのうち商品数が極大の組み合わせとして商品A,B,Cを検出し、商品A,B,Cを示す商品グループ15を生成する。処理部12は、商品グループ15を含む取引データ13a,13bに対応する対話データ14a,14bに含まれるキーワードXを選択し、キーワードXをキーワード16として商品グループ15に関連付ける。 For example, the processing unit 12 determines the co-occurrence relationship between products by limiting the transaction data 13a, 13b, and 13c to transaction data 13a and 13b corresponding to dialogue data 14a and 14b containing keyword X. The processing unit 12 detects products A, B, and C from the transaction data 13a and 13b as the combination with the largest number of products among combinations whose co-occurrence frequency is equal to or greater than a threshold, and generates a product group 15 containing products A, B, and C. The processing unit 12 selects keyword X included in dialogue data 14a and 14b corresponding to transaction data 13a and 13b containing product group 15, and associates keyword X with product group 15 as keyword 16.

ここで、取引データ13a,13bに加えて取引データ13cも使用して共起関係を判定すると、商品A,Bの組み合わせが最も共起頻度が高いため、商品A,Bが商品グループ15として判定される可能性がある。しかし、商品A,Bだけではキーワード16が表す取引目的が達成されないおそれがあり、不適切な商品グループ15が生成される可能性がある。一方、取引データ13a,13bに限定して共起関係を判定することで、キーワード16が表す取引目的を達成できる適切な商品グループ15が生成される。例えば、ある料理のために使用される食材が不足なく列挙される。 Here, if transaction data 13c is used in addition to transaction data 13a and 13b to determine the co-occurrence relationship, the combination of products A and B has the highest co-occurrence frequency, and therefore products A and B may be determined to be part of product group 15. However, there is a risk that the transaction purpose represented by keyword 16 will not be achieved using products A and B alone, and an inappropriate product group 15 may be generated. On the other hand, by determining the co-occurrence relationship using only transaction data 13a and 13b, an appropriate product group 15 that can achieve the transaction purpose represented by keyword 16 is generated. For example, all the ingredients used for a certain dish may be listed in their entirety.

処理部12は、商品グループ15とキーワード16とを関連付けて出力する。処理部12は、商品グループ15とキーワード16を、不揮発性ストレージに保存してもよいし、表示装置に表示してもよいし、他の情報処理装置に送信してもよい。商品グループ15とキーワード16は、取引支援システムによって使用されてもよい。例えば、取引支援システムは、商品の組み合わせの候補として商品グループ15をユーザに提案する。また、例えば、取引支援システムは、ユーザからキーワード16が入力された場合、キーワード16に関連付けられた商品グループ15を検索してユーザに回答する。 The processing unit 12 associates the product group 15 with the keyword 16 and outputs it. The processing unit 12 may store the product group 15 and the keyword 16 in non-volatile storage, display it on a display device, or transmit it to another information processing device. The product group 15 and the keyword 16 may be used by the transaction support system. For example, the transaction support system may suggest the product group 15 to the user as a candidate for a product combination. Also, for example, when the user inputs a keyword 16, the transaction support system may search for the product group 15 associated with the keyword 16 and provide a response to the user.

以上説明したように、第1の実施の形態の情報処理装置10は、複数の取引データと複数の対話データとを取得する。情報処理装置10は、特定の条件を満たす2以上の対話データに対応する2以上の取引データにおける商品間の共起関係に基づいて、商品グループ15を判定し、対話データ中のキーワード16を商品グループ15に関連付ける。 As described above, the information processing device 10 of the first embodiment acquires multiple transaction data and multiple dialogue data. The information processing device 10 determines a product group 15 based on the co-occurrence relationship between products in two or more transaction data corresponding to two or more dialogue data that satisfy specific conditions, and associates keywords 16 in the dialogue data with the product group 15.

これにより、ある取引目的を達成するための好適な商品の組み合わせを示す商品情報が、過去の取引データから自動的に生成される。また、その商品情報が検索可能となる。よって、取引支援システムがユーザに対して有用性の高い商品情報を提案することができ、ユーザの利便性が向上する。また、好適な商品の組み合わせを人手で抽出する場合と比べて、商品情報を作成する負担が軽減される。また、対話データを用いずに商品間の共起関係を判定する場合と比べて、取引目的の異同が考慮されるため、不適切な商品の組み合わせが抽出されるリスクが減少し商品情報の精度が向上する。 This automatically generates product information from past transaction data that indicates optimal product combinations for achieving a certain transaction objective. Furthermore, this product information can be searched. This allows the transaction support system to suggest highly useful product information to users, improving user convenience. Furthermore, the burden of creating product information is reduced compared to manually extracting optimal product combinations. Furthermore, because differences in transaction objectives are taken into account, the risk of extracting inappropriate product combinations is reduced and the accuracy of product information is improved compared to determining co-occurrence relationships between products without using dialogue data.

なお、特定の条件は、同じキーワードを含むことであってもよい。これにより、同一の取引目的をもつ取引データの中で商品間の共起関係が判定され、商品の組み合わせの精度が向上する。また、情報処理装置10は、複数の商品と複数のキーワードと取引を識別する複数の識別子とを対応付けた対応情報を生成してもよく、対応情報に基づいて上記の共起関係を判定してもよい。これにより、情報処理装置10は、アプリオリアルゴリズムなどの共起判定アルゴリズムを効率的に利用することができる。 The specific condition may be that the same keywords are included. This allows for determining co-occurrence relationships between products within transaction data with the same transaction purpose, improving the accuracy of product combinations. The information processing device 10 may also generate correspondence information that associates multiple products with multiple keywords and multiple identifiers that identify transactions, and may determine the above-mentioned co-occurrence relationships based on the correspondence information. This allows the information processing device 10 to efficiently utilize co-occurrence determination algorithms such as the Apriori algorithm.

また、情報処理装置10は、商品グループ15を含む取引データに対応する対話データに含まれるキーワードの中から、商品グループ15に対応付けるキーワード16を選択してもよい。これにより、商品グループ15の取引目的を反映した適切なキーワードが商品グループ15に関連付けられ、キーワード検索の精度が向上する。また、情報処理装置10は、商品グループ15の判定では共起頻度が第1の閾値以上である商品の組み合わせを検出する一方、キーワード16の関連付けでは出現頻度が第1の閾値より小さい第2の閾値以上であるキーワードを抽出してもよい。これにより、商品グループ15に対して多面的なキーワードが関連付けられ、キーワード検索の精度が向上する。 The information processing device 10 may also select keywords 16 to be associated with the product group 15 from keywords included in the dialogue data corresponding to the transaction data including the product group 15. This associates appropriate keywords that reflect the transaction purpose of the product group 15 with the product group 15, improving the accuracy of keyword searches. Furthermore, the information processing device 10 may detect product combinations whose co-occurrence frequency is equal to or greater than a first threshold when determining the product group 15, while extracting keywords whose occurrence frequency is equal to or greater than a second threshold that is smaller than the first threshold when associating keywords 16. This associates multifaceted keywords with the product group 15, improving the accuracy of keyword searches.

また、情報処理装置10は、商品購買を記録する第1のシステムから取引データを取得し、商品選択を支援する第2のシステムから対話データを取得してもよい。これにより、商品グループ15を判定するためのデータが効率的に収集される。また、キーワード16は、商品グループ15の検索に用いられるタグ情報であってもよい。これにより、商品グループ15がキーワード検索に活用されて、商品グループ15の有用性が向上する。 The information processing device 10 may also acquire transaction data from a first system that records product purchases and acquire dialogue data from a second system that supports product selection. This allows data for determining the product group 15 to be collected efficiently. The keywords 16 may also be tag information used to search the product group 15. This allows the product group 15 to be used in keyword searches, improving the usefulness of the product group 15.

[第2の実施の形態]
次に、第2の実施の形態を説明する。
図2は、第2の実施の形態の情報処理システムの例を示す図である。
Second Embodiment
Next, a second embodiment will be described.
FIG. 2 illustrates an example of an information processing system according to the second embodiment.

第2の実施の形態の情報処理システムは、スーパーマーケットでの商品の購買を支援する。第2の実施の形態では、商品として主に食料品を想定する。情報処理システムは、ネットワーク30に接続されたPOSサーバ31、Webサーバ32、分析サーバ33およびクライアント34,35を含む。ネットワーク30は、インターネットなどの広域ネットワークを含んでもよく、LAN(Local Area Network)を含んでもよい。分析サーバ33は、第1の実施の形態の情報処理装置10に対応する。 The information processing system of the second embodiment supports the purchase of products at a supermarket. In the second embodiment, the products are mainly assumed to be food products. The information processing system includes a POS server 31, a web server 32, an analysis server 33, and clients 34 and 35, all connected to a network 30. The network 30 may include a wide area network such as the Internet, or a local area network (LAN). The analysis server 33 corresponds to the information processing device 10 of the first embodiment.

POSサーバ31は、スーパーマーケットの店舗での商品販売および決済を管理するサーバコンピュータである。POSシステムは、POSサーバ31に加えてPOS端末などを含む。POSサーバ31は、ユーザが店舗で商品を購買する毎に購買記録を保存する。購買記録は、ユーザを識別するユーザIDと、購買時刻と、購買された1以上の商品の商品名とを含む。ユーザIDは、後述するWebサーバ32の対話ログと購買記録とを紐付ける際に、ユーザの同一性を判断するために利用される。 The POS server 31 is a server computer that manages product sales and payments at supermarket stores. In addition to the POS server 31, the POS system also includes POS terminals and other devices. The POS server 31 saves a purchase record each time a user purchases a product at the store. The purchase record includes a user ID that identifies the user, the time of purchase, and the product names of one or more products purchased. The user ID is used to determine the identity of the user when linking the purchase record with the interaction log of the web server 32, which will be described later.

ユーザIDは、会計に使用された電子決済のカード番号でもよい。また、ユーザIDは、購買時にユーザが提示する会員番号でもよい。スーパーマーケットの会員として登録されたユーザには、会員番号が付与される。ユーザは、会員番号が記録された会員カードを提示してもよい。また、ユーザは、事前に携帯端末装置に会員用アプリケーションをインストールしておき、画面に会員番号が表示された携帯端末装置を提示してもよい。 The user ID may be the electronic payment card number used for payment. The user ID may also be the membership number presented by the user at the time of purchase. Users who are registered as supermarket members are assigned a membership number. The user may present a membership card on which the membership number is recorded. The user may also install a membership application on their mobile terminal device in advance and present the mobile terminal device with the membership number displayed on the screen.

Webサーバ32は、商品検索サービスなど、スーパーマーケットの店舗でユーザが商品を円滑に購買できるよう支援するサービスを提供するサーバコンピュータである。Webサーバ32のサービスを利用するユーザは事前に会員として登録され、ユーザIDによって識別される。Webサーバ32は、ユーザから検索キーワードを受け付ける。すると、Webサーバ32は、検索キーワードに適合する個別の商品や、検索キーワードに適合する商品の組み合わせを示す商品リストを、ユーザに対して提案する。 Web server 32 is a server computer that provides services, such as product search services, to help users smoothly purchase products at supermarket stores. Users who use the services of Web server 32 are registered as members in advance and identified by a user ID. Web server 32 accepts search keywords from the user. Web server 32 then proposes to the user a product list showing individual products that match the search keywords, or combinations of products that match the search keywords.

また、Webサーバ32は、AI技術や自然言語処理技術を利用して、自然言語でユーザと対話する対話サービスを提供する。Webサーバ32は、音声または文字列で表された質問文をユーザから受け付ける。すると、Webサーバ32は、スーパーマーケットで販売されている商品の商品情報を参照して、質問文に対する適切な回答文を返答する。 The web server 32 also uses AI technology and natural language processing technology to provide a dialogue service that allows it to converse with the user in natural language. The web server 32 accepts questions from the user expressed as voice or text. The web server 32 then references product information for products sold in the supermarket and replies with an appropriate answer to the question.

例えば、Webサーバ32は、ユーザからの要求に応じて本日のおすすめ商品を回答する。また、例えば、Webサーバ32は、ユーザが指定した料理について、その料理を作成するための食材のリストを回答する。また、例えば、Webサーバ32は、ユーザから指定された商品が陳列されている店舗内の位置を回答する。Webサーバ32は、ユーザとの対話毎に対話ログを保存する。対話ログは、ユーザIDと対話時刻と対話内容を示す文字列とを含む。対話内容には、ユーザ側の発話とシステム側の発話の両方が含まれる。 For example, the Web server 32 may respond with today's recommended products in response to a user request. For example, the Web server 32 may also respond with a list of ingredients for preparing a dish specified by the user. For example, the Web server 32 may also respond with the location within the store where the product specified by the user is displayed. The Web server 32 saves a dialogue log for each dialogue with the user. The dialogue log includes the user ID, the time of the dialogue, and a string indicating the content of the dialogue. The content of the dialogue includes both utterances from the user and utterances from the system.

分析サーバ33は、Webサーバ32のサービスに利用される商品情報を生成するサーバコンピュータである。分析サーバ33は、POSサーバ31から複数の購買記録を収集し、Webサーバ32から複数の対話ログを収集する。分析サーバ33は、ユーザIDと時刻に基づいて、同一の購買行動に関する購買記録と対話ログとを関連付ける。 The analysis server 33 is a server computer that generates product information used in the services of the web server 32. The analysis server 33 collects multiple purchase records from the POS server 31 and multiple interaction logs from the web server 32. The analysis server 33 associates purchase records and interaction logs related to the same purchasing behavior based on the user ID and time.

分析サーバ33は、購買記録と対話ログのペアを分析して、好適な商品の組み合わせを示す商品リストを自動的に生成し、商品リストに検索用のタグを付与する。商品リストの一例として、ある料理を作成するための食材のリストが挙げられる。タグの一例として、料理名やその料理をおすすめする状況を示すキーワードが挙げられる。分析サーバ33は、タグ付きの商品リストをWebサーバ32に送信する。Webサーバ32は、ユーザが入力した検索キーワードに応じて、商品リストをユーザに提案する。 The analysis server 33 analyzes pairs of purchase records and conversation logs to automatically generate a product list showing suitable product combinations and assigns search tags to the product list. An example of a product list is a list of ingredients for making a certain dish. An example of a tag is a keyword indicating the name of the dish or the situation in which the dish is recommended. The analysis server 33 transmits the tagged product list to the web server 32. The web server 32 suggests a product list to the user based on the search keywords entered by the user.

なお、POSサーバ31、Webサーバ32および分析サーバ33は、小売業者が所有するオンプレミスシステムの計算資源でもよいし、小売業者と契約するデータセンタまたはクラウドシステムの計算資源でもよい。 The POS server 31, web server 32, and analysis server 33 may be computing resources of an on-premise system owned by the retailer, or may be computing resources of a data center or cloud system under contract with the retailer.

クライアント34,35は、異なるユーザが使用するクライアントコンピュータである。クライアント34,35は、スマートフォンやタブレット端末などの携帯端末装置でもよいし、ユーザの自宅に設置されたパーソナルコンピュータでもよい。クライアント34,35は、ユーザの操作に応じて、ネットワーク30経由でWebサーバ32と通信する。Webサーバ32との通信は、ユーザの自宅で行われてもよい。また、クライアント34,35が携帯端末装置である場合、Webサーバ32との通信は、スーパーマーケットの店舗内などユーザの自宅外で行われてもよい。 Clients 34 and 35 are client computers used by different users. Clients 34 and 35 may be mobile terminal devices such as smartphones or tablet devices, or personal computers installed in the users' homes. Clients 34 and 35 communicate with web server 32 via network 30 in response to user operations. Communication with web server 32 may take place at the user's home. Furthermore, if clients 34 and 35 are mobile terminal devices, communication with web server 32 may take place outside the user's home, such as inside a supermarket.

クライアント34,35は、図示しないアプリケーション配布サーバからアプリケーションプログラムを事前にダウンロードしておく。クライアント34,35は、アプリケーションプログラムに従って以下のような通信を行う。 Clients 34 and 35 download the application program in advance from an application distribution server (not shown). Clients 34 and 35 communicate as follows in accordance with the application program.

クライアント34,35は、ユーザから検索キーワードを受け付ける。すると、クライアント34,35は、検索キーワードをWebサーバ32に送信し、Webサーバ32から検索結果を受信し、検索結果を表示装置に表示する。また、クライアント34,35は、ユーザから質問文を受け付ける。すると、クライアント34,35は、質問文をWebサーバ32に送信し、Webサーバ32から回答文を受信し、回答文を出力する。回答文は、表示装置に表示されてもよいし、音声で読み上げられてもよい。 Clients 34 and 35 accept search keywords from the user. Clients 34 and 35 then send the search keywords to Web server 32, receive search results from Web server 32, and display the search results on a display device. Clients 34 and 35 also accept questions from the user. Clients 34 and 35 then send the questions to Web server 32, receive answers from Web server 32, and output the answers. The answers may be displayed on a display device or read aloud.

ユーザは、検索キーワードまたは質問文を音声でクライアント34,35に入力してもよいし、文字列としてクライアント34,35に入力してもよい。前者の場合、クライアント34,35は、音声認識によって音声を文字列に変換してWebサーバ32に送信してもよいし、音声データをWebサーバ32に送信してもよい。 The user may input search keywords or questions into the client 34, 35 by voice, or may input them as a string of characters into the client 34, 35. In the former case, the client 34, 35 may convert the voice into a string of characters using voice recognition and send it to the web server 32, or may send the voice data to the web server 32.

図3は、分析サーバのハードウェア例を示すブロック図である。
分析サーバ33は、バスに接続されたCPU100、RAM101、HDD102、GPU103、入力インタフェース104、媒体リーダ105および通信インタフェース106を有する。POSサーバ31およびWebサーバ32が、分析サーバ33と同様のハードウェアを有してもよい。CPU100は、第1の実施の形態の処理部12に対応する。RAM101またはHDD102は、第1の実施の形態の記憶部11に対応する。
FIG. 3 is a block diagram illustrating an example of hardware of the analysis server.
The analysis server 33 has a CPU 100, RAM 101, HDD 102, GPU 103, input interface 104, media reader 105, and communication interface 106 connected via a bus. The POS server 31 and web server 32 may also have the same hardware as the analysis server 33. The CPU 100 corresponds to the processing unit 12 in the first embodiment. The RAM 101 or HDD 102 corresponds to the storage unit 11 in the first embodiment.

CPU100は、プログラムの命令を実行するプロセッサである。CPU100は、HDD102に記憶されたプログラムおよびデータの少なくとも一部をRAM101にロードし、プログラムを実行する。分析サーバ33は、複数のプロセッサを有してもよい。プロセッサの集合が、マルチプロセッサまたは単に「プロセッサ」と呼ばれてもよい。 CPU 100 is a processor that executes program instructions. CPU 100 loads at least a portion of the programs and data stored in HDD 102 into RAM 101 and executes the programs. Analysis server 33 may have multiple processors. A collection of processors may be called a multiprocessor or simply a "processor."

RAM101は、CPU100で実行されるプログラムおよびCPU100で演算に使用されるデータを一時的に記憶する揮発性半導体メモリである。分析サーバ33は、RAM以外の種類の揮発性メモリを有してもよい。 RAM 101 is a volatile semiconductor memory that temporarily stores programs executed by CPU 100 and data used in calculations by CPU 100. The analysis server 33 may also have other types of volatile memory besides RAM.

HDD102は、OS(Operating System)、ミドルウェア、アプリケーションソフトウェアなどのソフトウェアのプログラム、および、データを記憶する不揮発性ストレージである。分析サーバ33は、フラッシュメモリやSSD(Solid State Drive)などの他の種類の不揮発性ストレージを有してもよい。 The HDD 102 is non-volatile storage that stores software programs such as the OS (Operating System), middleware, and application software, as well as data. The analysis server 33 may also have other types of non-volatile storage, such as flash memory or an SSD (Solid State Drive).

GPU103は、CPU100と連携して画像処理を行い、分析サーバ33に接続されたディスプレイ107に画像を出力する。ディスプレイ107は、例えば、CRT(Cathode Ray Tube)ディスプレイ、液晶ディスプレイまたは有機EL(Electro Luminescence)ディスプレイである。なお、分析サーバ33に、プロジェクタやプリンタなどの他の種類の出力デバイスが接続されてもよい。 The GPU 103 works in conjunction with the CPU 100 to perform image processing and output images to a display 107 connected to the analysis server 33. The display 107 is, for example, a CRT (Cathode Ray Tube) display, a liquid crystal display, or an organic EL (Electro Luminescence) display. Note that other types of output devices, such as a projector or printer, may also be connected to the analysis server 33.

また、GPU103は、GPGPU(General Purpose Computing on Graphics Processing Unit)として使用されてもよい。GPU103は、CPU100からの指示に応じてプログラムを実行し得る。分析サーバ33は、RAM101以外の揮発性半導体メモリを、GPU103が使用するGPUメモリとして有してもよい。 The GPU 103 may also be used as a GPGPU (General Purpose Computing on Graphics Processing Unit). The GPU 103 may execute programs in response to instructions from the CPU 100. The analysis server 33 may have volatile semiconductor memory other than the RAM 101 as GPU memory used by the GPU 103.

入力インタフェース104は、分析サーバ33に接続された入力デバイス108から入力信号を受け付ける。入力デバイス108は、例えば、マウス、タッチパネルまたはキーボードである。分析サーバ33に複数の入力デバイスが接続されてもよい。 The input interface 104 receives input signals from an input device 108 connected to the analysis server 33. The input device 108 is, for example, a mouse, a touch panel, or a keyboard. Multiple input devices may be connected to the analysis server 33.

媒体リーダ105は、記録媒体109に記録されたプログラムおよびデータを読み取る読み取り装置である。記録媒体109は、例えば、磁気ディスク、光ディスクまたは半導体メモリである。磁気ディスクには、フレキシブルディスク(FD:Flexible Disk)およびHDDが含まれる。光ディスクには、CD(Compact Disc)およびDVD(Digital Versatile Disc)が含まれる。媒体リーダ105は、記録媒体109から読み取られたプログラムおよびデータを、RAM101やHDD102などの他の記録媒体にコピーする。読み取られたプログラムは、CPU100によって実行されることがある。 The media reader 105 is a reading device that reads programs and data recorded on the recording medium 109. The recording medium 109 is, for example, a magnetic disk, an optical disk, or a semiconductor memory. Magnetic disks include flexible disks (FDs) and HDDs. Optical disks include compact discs (CDs) and digital versatile discs (DVDs). The media reader 105 copies the programs and data read from the recording medium 109 to other recording media such as the RAM 101 or the HDD 102. The read programs may be executed by the CPU 100.

記録媒体109は、可搬型記録媒体であってもよい。記録媒体109は、プログラムおよびデータの配布に用いられることがある。また、記録媒体109およびHDD102が、コンピュータ読み取り可能な記録媒体と呼ばれてもよい。 The recording medium 109 may be a portable recording medium. The recording medium 109 may be used to distribute programs and data. The recording medium 109 and the HDD 102 may also be referred to as computer-readable recording media.

通信インタフェース106は、ネットワーク30を介してPOSサーバ31およびWebサーバ32と通信する。通信インタフェース106は、スイッチやルータなどの有線通信装置に接続される有線通信インタフェースでもよいし、基地局やアクセスポイントなどの無線通信装置に接続される無線通信インタフェースでもよい。 The communication interface 106 communicates with the POS server 31 and the web server 32 via the network 30. The communication interface 106 may be a wired communication interface connected to a wired communication device such as a switch or router, or a wireless communication interface connected to a wireless communication device such as a base station or access point.

図4は、クライアントのハードウェア例を示すブロック図である。
クライアント34は、バスに接続されたCPU110、RAM111、フラッシュメモリ112、ディスプレイ113、タッチパネル114、マイクロフォン115、スピーカー116および通信インタフェース117を有する。クライアント35が、クライアント34と同様のハードウェアを有してもよい。
FIG. 4 is a block diagram showing an example of hardware of a client.
The client 34 has a CPU 110, a RAM 111, a flash memory 112, a display 113, a touch panel 114, a microphone 115, a speaker 116, and a communication interface 117, all connected to a bus. The client 35 may have the same hardware as the client 34.

CPU110は、プログラムの命令を実行するプロセッサである。RAM111は、プログラムおよびデータの少なくとも一部を一時的に記憶する揮発性半導体メモリである。クライアント34が、他の種類の揮発性メモリを有してもよい。フラッシュメモリ112は、プログラムおよびデータを記憶する不揮発性ストレージである。クライアント34が、他の種類の不揮発性ストレージを有してもよい。 The CPU 110 is a processor that executes program instructions. The RAM 111 is a volatile semiconductor memory that temporarily stores at least a portion of the programs and data. The client 34 may also have other types of volatile memory. The flash memory 112 is non-volatile storage that stores the programs and data. The client 34 may also have other types of non-volatile storage.

ディスプレイ113は、画像を表示する出力デバイスである。ディスプレイ113は、例えば、液晶ディスプレイまたは有機ELディスプレイである。タッチパネル114は、ディスプレイ113に重ねて配置される入力デバイスである。タッチパネル114は、ユーザのタッチ操作を検出し、タッチ位置をCPU110に通知する。マイクロフォン115は、音を電気信号に変換する入力デバイスである。スピーカー116は、電気信号から音を再生する出力デバイスである。通信インタフェース117は、ネットワーク30を介してWebサーバ32と通信する。通信インタフェース117は、例えば、基地局またはアクセスポイントに接続される無線通信インタフェースである。 The display 113 is an output device that displays images. The display 113 is, for example, a liquid crystal display or an organic EL display. The touch panel 114 is an input device that is placed on top of the display 113. The touch panel 114 detects touch operations by the user and notifies the CPU 110 of the touch position. The microphone 115 is an input device that converts sound into an electrical signal. The speaker 116 is an output device that reproduces sound from the electrical signal. The communication interface 117 communicates with the web server 32 via the network 30. The communication interface 117 is, for example, a wireless communication interface that is connected to a base station or an access point.

次に、Webサーバ32が提供する商品検索サービスについて説明する。
図5は、商品リストを検索する検索画面の例を示す図である。
クライアント34がアプリケーションを利用してWebサーバ32にアクセスすると、クライアント34のディスプレイ113に画面41が表示される。画面41は、検索キーワードを入力する入力フィールドを含む。ユーザは、音声または文字入力によって、画面41の入力フィールドに1以上の検索キーワードを入力する。ここでは、ユーザは、この直後に、一人分の夕飯のための食料品をスーパーマーケットの店舗で購入したいと考えている。そこで、ユーザは、「夕飯」と「一人暮らし」という検索キーワードを入力する。2以上の検索キーワードは、例えば、論理和(OR)として評価される。
Next, the product search service provided by the web server 32 will be described.
FIG. 5 is a diagram showing an example of a search screen for searching a product list.
When the client 34 accesses the web server 32 using an application, a screen 41 is displayed on the display 113 of the client 34. The screen 41 includes an input field for inputting search keywords. The user inputs one or more search keywords into the input field on the screen 41 by voice or text input. In this example, the user wants to immediately purchase groceries for one person's dinner at a supermarket. Therefore, the user inputs the search keywords "dinner" and "living alone." Two or more search keywords are evaluated, for example, as a logical sum (OR).

クライアント34は、Webサーバ32に検索キーワードを送信する。Webサーバ32は、受信した検索キーワードに適合する商品リストを検索し、クライアント34に送信する。すると、クライアント34のディスプレイ113に画面42が表示される。画面42は、商品リスト161,162などの複数の商品リストを含む。商品リスト161は、カレーライスを作るための食材のリストであり、カレールー、にんじん、じゃがいもおよび豚バラ肉の4つの食材の商品名を含む。商品リスト162も4つの商品名を含む。 Client 34 sends the search keywords to Web server 32. Web server 32 searches for product lists that match the received search keywords and sends them to client 34. Screen 42 is then displayed on display 113 of client 34. Screen 42 includes multiple product lists, such as product lists 161 and 162. Product list 161 is a list of ingredients for making curry rice, and includes the product names of four ingredients: curry roux, carrots, potatoes, and pork belly. Product list 162 also includes four product names.

ユーザは、画面42において何れか1つの商品リストを選択することで、選択された商品リストに含まれる全ての商品を「My買い物リスト」に登録することができる。「My買い物リスト」は、ユーザが購買しようとする商品の商品名を列挙した備忘録である。ユーザは、「My買い物リスト」を参照することで、スーパーマーケットの店舗内において希望する商品を効率的に探すことができる。 By selecting one of the product lists on screen 42, the user can register all of the products included in the selected product list in "My Shopping List." "My Shopping List" is a memo that lists the product names of the products the user wishes to purchase. By referring to "My Shopping List," the user can efficiently search for the products they want within the supermarket.

このように、Webサーバ32は、タグ付きの商品リストを事前に用意することで、ユーザの購買目的に沿った好適な商品の組み合わせを提案することができる。ただし、スーパーマーケットの従業員がタグ付きの商品リストを手作業で作成することは負担が大きい。そこで、分析サーバ33が商品リストを自動的に生成する。ここで、商品リストの自動生成を実現するにあたり、典型的技術には以下のような問題点がある。 In this way, by preparing a tagged product list in advance, the web server 32 can suggest a suitable combination of products that suits the user's purchasing objectives. However, it is a heavy burden for supermarket employees to manually create tagged product lists. Therefore, the analysis server 33 automatically generates the product list. However, typical technologies for automatically generating product lists have the following problems:

図6は、個別商品を検索する検索画面の例を示す図である。
典型的な商品検索技術は、ユーザから入力された検索キーワードと個々の商品の商品情報とを照合し、適合度の高い順に複数の商品を提案する。このような商品検索技術は、ある購買目的を達成するための商品の組み合わせを提案しない。例えば、画面43に検索キーワードとして「カレー」が入力されると、検索結果を示す画面44が表示される。検索結果の上位には、検索キーワードとの適合度が相対的に高いカレールーの商品名のみが列挙され、検索キーワードとの適合度が相対的に低い他の食材の商品名が列挙されない。
FIG. 6 is a diagram showing an example of a search screen for searching for individual products.
A typical product search technology compares a search keyword entered by a user with the product information of each product and suggests multiple products in descending order of suitability. However, such product search technology does not suggest a combination of products to achieve a certain purchasing purpose. For example, when "curry" is entered as a search keyword on screen 43, screen 44 showing the search results is displayed. Only the product name of curry roux, which has a relatively high suitability to the search keyword, is listed at the top of the search results, and the product names of other ingredients, which have a relatively low suitability to the search keyword, are not listed.

よって、画面44の検索結果からは、カレーライスを作るための複数の食材を過不足なく特定することが難しい。また、食材間に相性の良否が存在することがあるのに対し、画面44の検索結果からは相性の良い食材の組み合わせが不明である。 As a result, it is difficult to identify the exact number of ingredients needed to make curry rice from the search results on screen 44. Also, while ingredients may not go well together, the search results on screen 44 do not reveal any combinations of ingredients that go well together.

また、検索サーバが、料理の食材を記載したレシピ情報を参照して、ユーザから指定された料理名に対応する材料名を取得する方法も考えられる。しかし、レシピ情報に記載された材料名は抽象的であり商品名と紐付けられていないため、検索サーバは、具体的な商品の組み合わせを提案することが難しい。また、検索サーバは、「夕飯」や「一人暮らし」などの購買背景を示すキーワードから商品を検索することが難しい。 Another possible method is for the search server to reference recipe information listing the ingredients for a dish and obtain the names of ingredients that correspond to the name of the dish specified by the user. However, because the ingredient names listed in the recipe information are abstract and not linked to product names, it is difficult for the search server to suggest specific product combinations. It is also difficult for the search server to search for products using keywords that indicate the purchasing background, such as "dinner" or "living alone."

図7は、購買目的が異なる商品組み合わせの例を示す図である。
単純な商品リスト生成技術は、過去の購買記録の中から、組み合わせて購買されることが多い2以上の商品を抽出する。組み合わせて購買されることが多い商品は、共起頻度が高い商品であると言うこともできる。しかし、多数の購買記録の中には、ユーザの購買目的が異なる購買記録が混在している。同一の商品が異なる目的で使用されることがあるため、単純に共起頻度の高い商品の組み合わせを抽出すると、異なる購買目的の購買記録に共通して現れる小さな商品集合が抽出されてしまうことがある。その結果、購買目的が不明な有用性の低い商品リストが生成されることがある。このような商品リストに列挙された商品だけでは、特定の購買目的を達成することができず不十分であることがある。
FIG. 7 shows examples of product combinations for different purchasing purposes.
Simple product list generation techniques extract two or more products that are often purchased in combination from past purchase records. Products that are often purchased in combination can also be said to have a high co-occurrence frequency. However, a large number of purchase records contain a mixture of purchase records with different user purchase purposes. Because the same product may be used for different purposes, simply extracting combinations of products with a high co-occurrence frequency may result in extracting a small set of products that commonly appear in purchase records with different purchase purposes. As a result, a product list with unclear purchase purposes may be generated, which is of little use. The products listed in such a product list alone may be insufficient to achieve a specific purchase purpose.

例えば、購買記録131は、ユーザaが9月10日に購買した商品を示しており、購買記録を識別する購買IDとして001が付与されている。購買記録131は、カレールー、にんじん、じゃがいも、豚バラ肉、ヨーグルトおよびスナック菓子の商品名を含む。ユーザaは、購買記録131に含まれる商品を用いてカレーライスを作ることを意図としている。購買記録134は、ユーザcが9月15日に購買した商品を示しており、購買IDとして004が付与されている。購買記録134は、にんじん、じゃがいも、豚バラ肉、みりんおよびスナック菓子の商品名を含む。ユーザcは、購買記録134に含まれる商品を用いて肉じゃがを作ることを意図としている。 For example, purchase record 131 indicates products purchased by user a on September 10th, and is assigned a purchase ID of 001 to identify the purchase record. Purchase record 131 includes the product names of curry roux, carrots, potatoes, pork belly, yogurt, and snack foods. User a intends to make curry rice using the products included in purchase record 131. Purchase record 134 indicates products purchased by user c on September 15th, and is assigned a purchase ID of 004. Purchase record 134 includes the product names of carrots, potatoes, pork belly, mirin, and snack foods. User c intends to make meat and potato stew using the products included in purchase record 134.

ここで、意図する料理が異なる購買記録131,134から共起頻度の高い商品の組み合わせを抽出すると、にんじん、じゃがいもおよび豚バラ肉という組み合わせが抽出され得る。しかし、この商品の組み合わせは、カレーライスの食材と肉じゃがの食材の共通部分に過ぎないため、料理を作るという購買目的を達成できない。よって、この組み合わせを示す商品リストは有用性が低く、ユーザへの提案として不適切である。 Here, if product combinations with high co-occurrence frequencies are extracted from purchase records 131 and 134 intended for different dishes, a combination of carrots, potatoes, and pork belly may be extracted. However, this product combination only includes the common ingredients for curry rice and meat and potato stew, and therefore does not achieve the purchasing purpose of cooking. Therefore, a product list showing this combination is not very useful and is inappropriate as a suggestion to the user.

そこで、分析サーバ33は、POSサーバ31から収集される購買記録に加えて、Webサーバ32から収集される対話ログを分析する。これにより、分析サーバ33は、特定の購買目的に沿った適切な商品リストを自動的に生成する。以下、分析サーバ33が商品リストを生成する手順について説明する。 The analysis server 33 therefore analyzes the purchase records collected from the POS server 31 as well as the interaction logs collected from the web server 32. As a result, the analysis server 33 automatically generates an appropriate product list that matches the specific purchasing purpose. The steps taken by the analysis server 33 to generate the product list are described below.

図8は、購買記録と対話ログの関連付けの例を示す図である。
分析サーバ33は、POSサーバ31から、購買記録131を含む複数の購買記録を取得する。また、分析サーバ33は、Webサーバ32から、対話ログ141を含む複数の対話ログを取得する。分析サーバ33は、ユーザIDおよび時刻に基づいて、同一の購買行動に関する購買記録と対話ログとを関連付ける。
FIG. 8 is a diagram showing an example of the association between a purchase record and a dialogue log.
The analysis server 33 acquires a plurality of purchase records, including the purchase record 131, from the POS server 31. The analysis server 33 also acquires a plurality of dialogue logs, including the dialogue log 141, from the web server 32. The analysis server 33 associates the purchase records and dialogue logs relating to the same purchasing behavior based on the user ID and time.

関連付けられる購買記録および対話ログは、対話ログが示すコミュニケーションを通じてユーザが選択した商品を、購買記録が含んでいるという関係を満たすことが好ましい。例えば、分析サーバ33は、ユーザIDが同一かつ日付が同一である購買記録と対話ログとを関連付ける。分析サーバ33は、購買記録の時刻が対話ログの時刻よりも後であるという制約条件を採用してもよい。また、分析サーバ33は、購買記録の時刻が対話ログの時刻から所定時間内であるという制約条件を採用してもよい。 It is preferable that associated purchase records and dialogue logs satisfy the relationship that the purchase record contains a product selected by the user through the communication indicated by the dialogue log. For example, the analysis server 33 associates a purchase record and a dialogue log that have the same user ID and the same date. The analysis server 33 may employ a constraint that the time of the purchase record is later than the time of the dialogue log. The analysis server 33 may also employ a constraint that the time of the purchase record is within a predetermined time period from the time of the dialogue log.

ここでは、分析サーバ33は、購買記録131と対話ログ141とを関連付ける。なお、対話ログ141では、ユーザaが夕飯の候補を質問し、システムがカレーと肉野菜炒めを提案している。また、ユーザaがにんじんの売場を質問し、システムが1階野菜コーナーがにんじんの売場であることを回答している。 Here, the analysis server 33 associates the purchase record 131 with the dialogue log 141. In the dialogue log 141, user A asks about dinner options, and the system suggests curry and stir-fried meat and vegetables. User A also asks where carrots are sold, and the system replies that carrots are sold in the vegetable section on the first floor.

図9は、対話ログからのキーワードリストの生成例を示す図である。
分析サーバ33は、購買記録と関連付けられた複数の対話ログそれぞれからキーワードリストを生成する。キーワードリストは、対話ログに含まれるキーワードを列挙したものである。まず、分析サーバ33は、対話ログに出現する単語を抽出し、各単語のIDFを算出する。ある単語のIDFは、その単語を含む対話ログの個数の逆数である。IDFが大きい単語は、少数の対話ログにしか含まれない特徴的な単語であり、IDFが小さい単語は、多数の対話ログに含まれる一般語である。
FIG. 9 is a diagram showing an example of generating a keyword list from a dialogue log.
The analysis server 33 generates a keyword list from each of the multiple dialogue logs associated with the purchase record. The keyword list is a list of keywords included in the dialogue logs. First, the analysis server 33 extracts words that appear in the dialogue logs and calculates the IDF of each word. The IDF of a word is the reciprocal of the number of dialogue logs that include that word. Words with a large IDF are characteristic words that are only included in a small number of dialogue logs, while words with a small IDF are general words that are included in a large number of dialogue logs.

分析サーバ33は、IDFが閾値v以上の単語をキーワードとして選択する。ただし、分析サーバ33は、単語の重要度を示す他の指標を用いてキーワードを選択してもよい。また、キーワードの候補が事前に人手で定義されていてもよい。分析サーバ33は、対話ログ毎にキーワードを抽出してキーワードリストを生成する。 The analysis server 33 selects words whose IDF is equal to or greater than the threshold value v as keywords. However, the analysis server 33 may select keywords using other indicators that indicate the importance of words. Alternatively, keyword candidates may be manually defined in advance. The analysis server 33 extracts keywords for each dialogue log and generates a keyword list.

ここでは、分析サーバ33は、対話ログ141からキーワードリスト151を生成し、対話ログ142からキーワードリスト152を生成し、対話ログ143からキーワードリスト153を生成する。キーワードリスト151は、「夕飯」、「豚肉」、「カレー」、「肉野菜炒め」および「野菜」というキーワードを含む。キーワードリスト152は、「カレー」および「レシピ」というキーワードを含む。キーワードリスト153は、「ビール」、「つまみ」および「ポテせん」というキーワードを含む。 Here, the analysis server 33 generates keyword list 151 from dialogue log 141, generates keyword list 152 from dialogue log 142, and generates keyword list 153 from dialogue log 143. Keyword list 151 includes the keywords "dinner," "pork," "curry," "stir-fried meat and vegetables," and "vegetables." Keyword list 152 includes the keywords "curry" and "recipe." Keyword list 153 includes the keywords "beer," "snacks," and "potato crackers."

図10は、購買記録とキーワードリストの関連付けの例を示す図である。
分析サーバ33は、購買記録と、その購買記録に対応する対話ログから生成されたキーワードリストとを関連付ける。ここでは、分析サーバ33は、購買記録131とキーワードリスト151とを関連付け、購買記録132とキーワードリスト152を関連付ける。また、分析サーバ33は、購買記録133とキーワードリスト153を関連付け、購買記録134とキーワードリスト154を関連付ける。
FIG. 10 is a diagram showing an example of the association between a purchase record and a keyword list.
The analysis server 33 associates a purchase record with a keyword list generated from the interaction log corresponding to the purchase record. Here, the analysis server 33 associates the purchase record 131 with the keyword list 151, and associates the purchase record 132 with the keyword list 152. The analysis server 33 also associates the purchase record 133 with the keyword list 153, and associates the purchase record 134 with the keyword list 154.

なお、購買記録132は、ユーザbが9月12日に購買した商品を示しており、購買IDとして002が付与されている。購買記録132は、カレールー、にんじん、じゃがいも、豚バラ肉、ビールおよびサラダの商品名を含む。購買記録133は、ユーザaが9月12日に購買した商品を示しており、購買IDとして003が付与されている。購買記録133は、豚バラ肉、ビールおよびスナック菓子の商品名を含む。キーワードリスト154は、「肉じゃが」および「一人暮らし」というキーワードを含む。 Purchase record 132 indicates products purchased by user b on September 12th, and is assigned a purchase ID of 002. Purchase record 132 includes the product names of curry roux, carrots, potatoes, pork belly, beer, and salad. Purchase record 133 indicates products purchased by user a on September 12th, and is assigned a purchase ID of 003. Purchase record 133 includes the product names of pork belly, beer, and snacks. Keyword list 154 includes the keywords "nikujaga" (meat and potatoes) and "living alone."

図11は、商品名とキーワードの組の集計例を示す図である。
分析サーバ33は、キーワードリストが付された購買記録を、購買記録に含まれる商品名とキーワードリストに含まれるキーワードのペアに分解する。n個の商品名を含む購買記録とm個のキーワードを含むキーワードリストから、商品名とキーワードのペアが網羅的にn×m個生成される。分析サーバ33は、複数の購買記録から生成される商品名とキーワードのペアを集計して、テーブル45を生成する。テーブル45は、商品名とキーワードと1以上の購買IDとを対応付けた複数のレコードを含む。テーブル45の購買IDは、商品名とキーワードのペアが抽出された購買記録を識別する識別子である。
FIG. 11 is a diagram showing an example of a collection of pairs of product names and keywords.
The analysis server 33 breaks down purchase records with attached keyword lists into pairs of product names included in the purchase records and keywords included in the keyword list. From a purchase record containing n product names and a keyword list containing m keywords, n x m pairs of product names and keywords are comprehensively generated. The analysis server 33 aggregates the product name and keyword pairs generated from multiple purchase records to generate table 45. Table 45 includes multiple records that associate product names, keywords, and one or more purchase IDs. The purchase IDs in table 45 are identifiers that identify the purchase records from which product name and keyword pairs were extracted.

例えば、分析サーバ33は、購買記録131から、(カレールー,カレー)、(にんじん,カレー)、(じゃがいも,カレー)、(豚バラ肉,カレー)などのペアを抽出する。また、分析サーバ33は、購買記録132から、(カレールー,カレー)、(にんじん,カレー)、(じゃがいも,カレー)、(豚バラ肉,カレー)などのペアを抽出する。また、分析サーバ33は、購買記録134から、(にんじん,肉じゃが)、(じゃがいも,肉じゃが)、(豚バラ肉,肉じゃが)などのペアを抽出する。 For example, the analysis server 33 extracts pairs such as (curry roux, curry), (carrot, curry), (potato, curry), and (pork belly, curry) from the purchase record 131. The analysis server 33 also extracts pairs such as (curry roux, curry), (carrot, curry), (potato, curry), and (pork belly, curry) from the purchase record 132. The analysis server 33 also extracts pairs such as (carrot, nikujaga), (potato, nikujaga), and (pork belly, nikujaga) from the purchase record 134.

このように、(カレールー,カレー)、(にんじん,カレー)、(じゃがいも,カレー)および(豚バラ肉,カレー)は、購買記録131,132から抽出されるが、購買記録134からは抽出されない。(にんじん,肉じゃが)、(じゃがいも,肉じゃが)および(豚バラ肉,肉じゃが)は、購買記録134から抽出されるが、購買記録131,132からは抽出されない。これは、購買目的としての料理が異なるためである。 In this way, (curry roux, curry), (carrot, curry), (potato, curry), and (pork belly, curry) are extracted from purchasing records 131 and 132, but not from purchasing record 134. (carrot, meat and potato stew), (potato, meat and potato stew), and (pork belly, meat and potato stew) are extracted from purchasing record 134, but not from purchasing records 131 and 132. This is because the dishes purchased are different.

分析サーバ33は、テーブル45に含まれる複数のレコードを、キーワードが同一のレコード群に分割する。例えば、分析サーバ33は、「夕飯」のレコード群、「カレー」のレコード群、「つまみ」のレコード群、「肉じゃが」のレコード群などに分割する。これは、商品と購買記録の対応関係を、購買目的毎にグループ化しているとも言える。 The analysis server 33 divides the multiple records contained in the table 45 into groups of records with the same keyword. For example, the analysis server 33 divides the records into a group of "dinner," a group of "curry," a group of "appetizers," and a group of "meat and potato stew." This can also be said to group the correspondence between products and purchase records by purchase purpose.

分析サーバ33は、キーワードが同一のレコード群の中で、共起頻度が閾値k1以上である極大の商品グループを判定する。ここで、ある商品グループの共起頻度は、その商品グループを含む購買記録の個数でもよいし、キーワードに関連する購買記録のうちその商品グループを含む購買記録の割合でもよい。 Analysis server 33 determines the largest product group whose co-occurrence frequency is equal to or greater than threshold k1 among records with the same keyword. Here, the co-occurrence frequency of a product group may be the number of purchase records that include that product group, or the proportion of purchase records that include that product group among purchase records related to the keyword.

共起頻度が閾値k1以上の商品グループが複数存在する場合、他の商品グループの部分集合ではない商品グループが、極大な商品グループである。例えば、商品A,Bの共起頻度と商品A,B,Cの共起頻度が共に閾値k1以上である場合、商品A,Bは商品A,B,Cに包含されるため極大な商品グループでない。極大な商品グループを判定することで、購買目的を達成するのに不十分な小さな商品グループが除去される。 When there are multiple product groups with co-occurrence frequencies above threshold k1, the product group that is not a subset of other product groups is the maximal product group. For example, if the co-occurrence frequencies of products A and B and products A, B, and C are both above threshold k1, products A and B are not maximal product groups because they are included in products A, B, and C. By determining which product groups are maximal, small product groups that are insufficient to achieve the purchasing objective are eliminated.

共起頻度が高い極大の商品グループは、同一キーワードの中で判定され、異なるキーワードに跨がって判定されない。これにより、複数の購買目的の共通部分に過ぎない不十分な商品の組み合わせが抽出される可能性が低下する。 The largest product groups with high co-occurrence frequencies are identified within the same keyword, but are not identified across different keywords. This reduces the possibility of extracting insufficient product combinations that are merely common to multiple purchasing purposes.

例えば、図11の例において閾値k1を2回と仮定する。キーワード「肉じゃが」では、にんじん、じゃがいもおよび豚バラ肉の組み合わせは、購買記録134にしか含まれないため商品グループとして抽出されない。キーワード「カレー」では、カレールー、にんじん、じゃがいもおよび豚バラ肉の組み合わせが、購買記録131,132に含まれるため極大な商品グループとして抽出される。よって、にんじん、じゃがいもおよび豚バラ肉という不十分な商品の組み合わせが抽出されなくなる。 For example, in the example of Figure 11, let's assume that the threshold k1 is 2 times. For the keyword "nikujaga" (meat and potato stew), the combination of carrots, potatoes, and pork belly is not extracted as a product group because it is only included in purchase record 134. For the keyword "curry," the combination of curry roux, carrots, potatoes, and pork belly is extracted as a maximum product group because it is included in purchase records 131 and 132. Therefore, the insufficient product combination of carrots, potatoes, and pork belly is not extracted.

分析サーバ33は、アプリオリアルゴリズムなどのアルゴリズムを用いて、共起頻度が高い極大な商品グループを判定する。アプリオリアルゴリズムについては、例えば、次の非特許文献にも記載されている。Rakesh Agrawal and Ramakrishnan Srikant, "Fast Algorithms for Mining Association Rules", Proc. of the 20th International Conference on Very Large Data Bases (VLDB '94), pp. 487-499, 1994-09-12。 The analysis server 33 uses an algorithm such as the Apriori algorithm to determine the largest product groups with the highest co-occurrence frequency. The Apriori algorithm is also described in the following non-patent document: Rakesh Agrawal and Ramakrishnan Srikant, "Fast Algorithms for Mining Association Rules," Proc. of the 20th International Conference on Very Large Data Bases (VLDB '94), pp. 487-499, September 12, 1994.

図12は、アプリオリアルゴリズムの実行例を示す図である。
アプリオリアルゴリズムでは、分析サーバ33は、まず各商品の出現頻度を算出し、出現頻度が閾値k1以上である商品の集合をリストLとして生成する。分析サーバ33は、以下の手順により、リストLからリストLi+1を生成することを繰り返す。
FIG. 12 is a diagram showing an example of the execution of the Apriori algorithm.
In the Apriori algorithm, the analysis server 33 first calculates the appearance frequency of each product and generates a set of products whose appearance frequency is equal to or greater than a threshold k1 as a list L1 . The analysis server 33 repeatedly generates lists L1+1 from lists L1 by the following procedure.

分析サーバ33は、リストLに出現する商品の中から異なるi+1個の商品を選択したサイズi+1の組み合わせであって、その部分集合であるサイズiの組み合わせが全てリストLに含まれているようなものを抽出する。分析サーバ33は、この条件を満たすサイズi+1の組み合わせを網羅的に抽出したリストCi+1を生成する。分析サーバ33は、リストCi+1の中から出現頻度が閾値k1以上である商品の組み合わせを取り出して、リストLi+1を生成する。分析サーバ33は、リストLi+1が空集合である場合は処理を終了し、リストLi+1が空集合でない場合はiを1つ大きくして処理を継続する。 The analysis server 33 extracts size i+1 combinations in which i+1 different products are selected from the products appearing in list L i , and all of the size i combinations, which are a subset of the size i combinations, are included in list L i . The analysis server 33 generates list C i+1 by comprehensively extracting size i+1 combinations that satisfy this condition. The analysis server 33 extracts product combinations from list C i+1 whose appearance frequency is equal to or greater than threshold k1, and generates list L i+1 . If list L i+1 is an empty set, the analysis server 33 terminates processing, and if list L i+1 is not an empty set, it increments i by 1 and continues processing.

一例として、データ50は、購買記録#1~#7を含む。購買記録#1は、りんご、みかんおよびすいかを含む。購買記録#2は、みかんおよびぶどうを含む。購買記録#3は、りんご、みかん、ぶどうおよびバナナを含む。購買記録#4は、りんご、バナナおよびすいかを含む。購買記録#5は、りんご、みかんおよびバナナを含む。購買記録#6は、ぶどうおよびバナナを含む。購買記録#7は、みかんを含む。 As an example, data 50 includes purchase records #1 to #7. Purchase record #1 includes apples, mandarins, and watermelon. Purchase record #2 includes mandarins and grapes. Purchase record #3 includes apples, mandarins, grapes, and bananas. Purchase record #4 includes apples, bananas, and watermelon. Purchase record #5 includes apples, mandarins, and bananas. Purchase record #6 includes grapes and bananas. Purchase record #7 includes mandarins.

分析サーバ33は、各商品の出現頻度を算出する。みかんの出現頻度は5、りんごの出現頻度は4、バナナの出現頻度は4、ぶどうの出現頻度は3、すいかの出現頻度は2である。ここでは、閾値k1を3回と仮定する。すると、分析サーバ33は、Lとしてリスト51を生成する。リスト51は、みかん、りんご、バナナおよびぶどうを含む。 The analysis server 33 calculates the frequency of appearance of each product. The frequency of appearance of mandarins is 5, the frequency of appearance of apples is 4, the frequency of appearance of bananas is 4, the frequency of appearance of grapes is 3, and the frequency of appearance of watermelons is 2. Here, the threshold k1 is assumed to be 3 times. Then, the analysis server 33 generates a list 51 as L1 . The list 51 includes mandarins, apples, bananas, and grapes.

分析サーバ33は、リスト51に基づいてCとしてリスト52を生成する。リスト52は、(りんご,みかん)、(りんご,バナナ)、(みかん,ぶどう)、(みかん,バナナ)、(ぶどう,バナナ)および(りんご,ぶどう)という組み合わせを含む。 The analysis server 33 generates a list 52 as C2 based on the list 51. The list 52 includes the combinations (apple, mandarin orange), (apple, banana), (mandarin orange, grape), (mandarin orange, banana), (grape, banana), and (apple, grape).

分析サーバ33は、リスト52に含まれる各組み合わせの出現頻度を算出する。(りんご,みかん)の出現頻度は3、(りんご,バナナ)の出現頻度は3、(みかん,ぶどう)の出現頻度は2、(みかん,バナナ)の出現頻度は2、(ぶどう,バナナ)の出現頻度は2、(りんご,ぶどう)の出現頻度は1である。分析サーバ33は、リスト52から出現頻度が閾値k1以上の組み合わせを取り出して、Lとしてリスト53を生成する。リスト53は、(りんご,みかん)および(りんご,バナナ)を含む。 The analysis server 33 calculates the frequency of occurrence of each combination included in the list 52. The frequency of occurrence of (apple, mandarin orange) is 3, the frequency of occurrence of (apple, banana) is 3, the frequency of occurrence of (mandarin orange, grape) is 2, the frequency of occurrence of (mandarin orange, banana) is 2, the frequency of occurrence of (grapes, banana) is 2, and the frequency of occurrence of (apple, grape) is 1. The analysis server 33 extracts from the list 52 combinations whose frequency of occurrence is equal to or greater than the threshold k1, and generates a list 53 as L2 . The list 53 includes (apple, mandarin orange) and (apple, banana).

分析サーバ33は、リスト53に基づいてCとしてリスト54を生成する。リスト54は、(りんご,みかん,バナナ)という組み合わせを含む。分析サーバ33は、リスト54に含まれる各組み合わせの出現頻度を算出する。(りんご,みかん,バナナ)の出現頻度は2である。分析サーバ33は、リスト54から出現頻度が閾値k1以上の組み合わせを取り出して、Lとしてリスト55を生成する。リスト55は空集合である。以上により、データ50に対するアプリオリアルゴリズムが終了する。この例では、共起頻度が3回以上の極大な商品グループは、(りんご,みかん)と(りんご,バナナ)である。 The analysis server 33 generates a list 54 as C3 based on the list 53. The list 54 includes the combination (apple, mandarin orange, banana). The analysis server 33 calculates the frequency of occurrence of each combination included in the list 54. The frequency of occurrence of (apple, mandarin orange, banana) is 2. The analysis server 33 extracts combinations from the list 54 whose frequency of occurrence is equal to or greater than the threshold k1, and generates a list 55 as L3 . The list 55 is an empty set. This completes the Apriori algorithm for the data 50. In this example, the product groups with the highest co-occurrence frequency of 3 or more are (apple, mandarin orange) and (apple, banana).

図13は、商品リストに対応するキーワードの抽出例を示す図である。
商品グループが判定されると、分析サーバ33は、商品グループに含まれる商品の商品名を列挙した商品リストを生成する。そして、分析サーバ33は、キーワードリストが付された購買記録を参照して、商品リストに対して検索用のタグを関連付ける。
FIG. 13 is a diagram showing an example of extraction of keywords corresponding to a product list.
Once the product group is determined, the analysis server 33 generates a product list that lists the product names of the products included in the product group.The analysis server 33 then refers to the purchase record with the keyword list and associates search tags with the product list.

ここでは、分析サーバ33は、カレールー、にんじん、じゃがいもおよび豚バラ肉の商品名を含む商品リスト161を生成する。分析サーバ33は、商品リスト161に列挙された全ての商品を含む購買記録131,132,135,…を検索し、検索された購買記録131,132,135,…に対応するキーワードリスト151,152,155,…を読み出す。分析サーバ33は、読み出したキーワードリスト151,152,155,…に含まれるキーワードを集計して、テーブル46を生成する。 In this example, the analysis server 33 generates a product list 161 that includes the product names of curry roux, carrots, potatoes, and pork belly. The analysis server 33 searches for purchase records 131, 132, 135, etc. that include all of the products listed in the product list 161, and reads out keyword lists 151, 152, 155, etc. that correspond to the searched purchase records 131, 132, 135, etc. The analysis server 33 aggregates the keywords included in the read keyword lists 151, 152, 155, etc. to generate table 46.

テーブル46は、キーワードと出現頻度を対応付ける。あるキーワードの出現頻度は、そのキーワードを含むキーワードリストの個数でもよいし、集計対象のキーワードリストのうち当該キーワードを含むキーワードリストの割合でもよい。分析サーバ33は、出現頻度が閾値k2以上のキーワードを、タグとして商品リスト161に関連付ける。 Table 46 associates keywords with their frequency of appearance. The frequency of appearance of a keyword may be the number of keyword lists that include that keyword, or the proportion of keyword lists that include that keyword among the keyword lists being aggregated. The analysis server 33 associates keywords whose frequency of appearance is equal to or greater than threshold k2 with the product list 161 as tags.

出現頻度が閾値k2以上のキーワードの中には、通常、商品グループを判定する際に基準として使用されたキーワードが含まれる。例えば、商品リスト161に含まれる4つの商品は、キーワード「カレー」のもとでグループ化されている。このため、商品リスト161に関連付けられるタグの中には、「カレー」が含まれる。 Keywords with an appearance frequency equal to or greater than threshold k2 typically include keywords used as criteria for determining product groups. For example, the four products included in product list 161 are grouped under the keyword "curry." Therefore, "curry" is included among the tags associated with product list 161.

一方、出現頻度が閾値k2以上のキーワードの中には、商品グループを判定する際に基準として使用されたキーワード以外のものも含まれることがある。このようなキーワードは、料理名のような直接的な用途を表すキーワードでなく、食事の時間帯や人数のような間接的な購買背景を表すキーワードであることがある。間接的な購買背景を表すキーワードも、ユーザが商品リストを検索する際に有用である。分析サーバ33は、キーワード付与に使用する閾値k2を、商品グループの判定に使用する閾値k1より小さくすることで、このような有用なキーワードを多く抽出することができる。 On the other hand, keywords with an appearance frequency equal to or greater than the threshold k2 may include keywords other than those used as criteria when determining product groups. Such keywords may not represent a direct purpose, such as the name of a dish, but may represent an indirect purchasing background, such as the time of day the meal is served or the number of people present. Keywords that represent an indirect purchasing background are also useful when users search product lists. By setting the threshold k2 used to assign keywords to a value smaller than the threshold k1 used to determine product groups, the analysis server 33 can extract many such useful keywords.

図14は、商品リストとタグの関連付けの例を示す図である。
例えば、分析サーバ33は、商品リスト161に対して、タグ171,172を関連付ける。タグ171はキーワード「カレー」を表し、タグ172はキーワード「夕飯」を表す。また、分析サーバ33は、商品リスト162に対して、タグ173,174,175を関連付ける。タグ173はキーワード「惣菜」を表し、タグ174はキーワード「時短」を表し、タグ175はキーワード「一人暮らし」を表す。
FIG. 14 is a diagram showing an example of association between a product list and a tag.
For example, the analysis server 33 associates tags 171 and 172 with the product list 161. The tag 171 represents the keyword "curry," and the tag 172 represents the keyword "dinner." The analysis server 33 also associates tags 173, 174, and 175 with the product list 162. The tag 173 represents the keyword "prepared food," the tag 174 represents the keyword "time saving," and the tag 175 represents the keyword "living alone."

また、分析サーバ33は、商品リスト163に対して、タグ176,177を関連付ける。タグ176はキーワード「カレー」を表し、タグ177はキーワード「家族向け」を表す。また、分析サーバ33は、商品リスト164に対して、タグ178,179を関連付ける。タグ178はキーワード「カレー」を表し、タグ179はキーワード「一人暮らし」を表す。このように、同じカレーライスという料理であっても、食事の人数によって異なる商品リストが提案され得る。また、一人暮らしのユーザに対して、調理方法が異なる料理に対応する異なる商品リストが提案され得る。 The analysis server 33 also associates tags 176 and 177 with product list 163. Tag 176 represents the keyword "curry," and tag 177 represents the keyword "family-friendly." The analysis server 33 also associates tags 178 and 179 with product list 164. Tag 178 represents the keyword "curry," and tag 179 represents the keyword "living alone." In this way, even for the same dish, curry rice, different product lists can be suggested depending on the number of people dining. Furthermore, different product lists corresponding to dishes with different cooking methods can be suggested to a user living alone.

次に、情報処理システムの機能および処理手順について説明する。
図15は、情報処理システムの機能例を示すブロック図である。
POSサーバ31は、POSデータ記憶部120および取引実行部125を有する。POSデータ記憶部120は、例えば、POSサーバ31が有するRAMまたはHDDを用いて実装される。取引実行部125は、例えば、POSサーバ31が有するCPUおよびプログラムを用いて実装される。
Next, the functions and processing procedures of the information processing system will be described.
FIG. 15 is a block diagram illustrating an example of functions of the information processing system.
The POS server 31 has a POS data storage unit 120 and a transaction execution unit 125. The POS data storage unit 120 is implemented, for example, using RAM or a HDD included in the POS server 31. The transaction execution unit 125 is implemented, for example, using a CPU and a program included in the POS server 31.

POSデータ記憶部120は、前述の購買記録131,132,133,134などの購買記録を記憶する。購買記録は、POSサーバ31から分析サーバ33に送信される。
取引実行部125は、POS端末と連携して、スーパーマーケットの店舗における商品売買を実行する。取引実行部125は、1回の会計毎に、ユーザに販売された商品を列挙した購買記録を生成する。取引実行部125は、購買記録を識別する購買IDと現在時刻とを購買記録に付与する。また、取引実行部125は、ユーザから提示された会員カードなどの提示物に基づいて、ユーザIDを購買記録に付与する。取引実行部125は、購買記録をPOSデータ記憶部120に保存する。
The POS data storage unit 120 stores the purchase records such as the aforementioned purchase records 131, 132, 133, and 134. The purchase records are sent from the POS server 31 to the analysis server 33.
The transaction execution unit 125 works in conjunction with the POS terminal to execute the purchase and sale of goods at supermarket stores. For each transaction, the transaction execution unit 125 generates a purchase record that lists the goods sold to the user. The transaction execution unit 125 assigns a purchase ID that identifies the purchase record and the current time to the purchase record. The transaction execution unit 125 also assigns a user ID to the purchase record based on an item presented by the user, such as a membership card. The transaction execution unit 125 saves the purchase record in the POS data storage unit 120.

Webサーバ32は、対話ログ記憶部121、商品情報記憶部122、対話実行部126および商品検索部127を有する。対話ログ記憶部121および商品情報記憶部122は、例えば、Webサーバ32が有するRAMまたはHDDを用いて実装される。対話実行部126および商品検索部127は、例えば、Webサーバ32が有するCPUおよびプログラムを用いて実装される。 The web server 32 has a dialogue log storage unit 121, a product information storage unit 122, a dialogue execution unit 126, and a product search unit 127. The dialogue log storage unit 121 and the product information storage unit 122 are implemented, for example, using RAM or a HDD provided by the web server 32. The dialogue execution unit 126 and the product search unit 127 are implemented, for example, using a CPU and programs provided by the web server 32.

対話ログ記憶部121は、前述の対話ログ141,142,143などの対話ログを記憶する。対話ログは、Webサーバ32から分析サーバ33に送信される。商品情報記憶部122は、前述の商品リスト161,162,163,164などの商品リストを記憶する。商品リストは、分析サーバ33からWebサーバ32に送信される。 The dialogue log storage unit 121 stores dialogue logs such as the aforementioned dialogue logs 141, 142, and 143. The dialogue logs are transmitted from the web server 32 to the analysis server 33. The product information storage unit 122 stores product lists such as the aforementioned product lists 161, 162, 163, and 164. The product lists are transmitted from the analysis server 33 to the web server 32.

対話実行部126は、クライアント34,35から質問文を受信し、質問文に対応する回答文を生成してクライアント34,35に送信する。対話実行部126は、ユーザ側の質問文とシステム側の回答文の両方を含む一連の発話を対話ログとして記録する。対話実行部126は、現在時刻を対話ログに付与する。また、対話実行部126は、ユーザがWebサーバ32にアクセスするためのログイン情報に基づいて、ユーザIDを対話ログに付与する。対話実行部126は、対話ログを対話ログ記憶部121に保存する。 The dialogue execution unit 126 receives questions from the clients 34 and 35, generates answers corresponding to the questions, and transmits them to the clients 34 and 35. The dialogue execution unit 126 records a series of utterances including both the user's questions and the system's answers as a dialogue log. The dialogue execution unit 126 adds the current time to the dialogue log. The dialogue execution unit 126 also adds a user ID to the dialogue log based on the login information used by the user to access the web server 32. The dialogue execution unit 126 saves the dialogue log in the dialogue log storage unit 121.

商品検索部127は、クライアント34,35から検索キーワードを受信し、検索キーワードに合致するタグをもつ商品リストを商品情報記憶部122から検索する。商品検索部127は、検索された商品リストをクライアント34,35に送信する。 The product search unit 127 receives search keywords from the clients 34 and 35 and searches the product information storage unit 122 for product lists with tags that match the search keywords. The product search unit 127 transmits the searched product lists to the clients 34 and 35.

分析サーバ33は、履歴記憶部123、商品情報記憶部124、通信部128および商品情報生成部129を有する。履歴記憶部123および商品情報記憶部124は、例えば、分析サーバ33が有するRAM101またはHDD102を用いて実装される。通信部128および商品情報生成部129は、例えば、分析サーバ33が有するCPU100、通信インタフェース106、プログラムなどを用いて実装される。 The analysis server 33 has a history memory unit 123, a product information memory unit 124, a communication unit 128, and a product information generation unit 129. The history memory unit 123 and the product information memory unit 124 are implemented, for example, using the RAM 101 or HDD 102 of the analysis server 33. The communication unit 128 and the product information generation unit 129 are implemented, for example, using the CPU 100, communication interface 106, programs, etc. of the analysis server 33.

履歴記憶部123は、POSサーバ31から受信された購買記録と、Webサーバ32から受信された対話ログとを記憶する。商品情報記憶部124は、分析サーバ33で生成された商品リストを記憶する。この商品リストは、Webサーバ32に送信される。 The history storage unit 123 stores purchase records received from the POS server 31 and conversation logs received from the web server 32. The product information storage unit 124 stores the product list generated by the analysis server 33. This product list is sent to the web server 32.

通信部128は、POSサーバ31およびWebサーバ32と通信する。通信部128は、POSサーバ31から購買記録を受信し、受信した購買記録を履歴記憶部123に保存する。また、通信部128は、Webサーバ32から対話ログを受信し、受信した対話ログを履歴記憶部123に保存する。 The communication unit 128 communicates with the POS server 31 and the web server 32. The communication unit 128 receives purchase records from the POS server 31 and stores the received purchase records in the history storage unit 123. The communication unit 128 also receives conversation logs from the web server 32 and stores the received conversation logs in the history storage unit 123.

商品情報生成部129は、履歴記憶部123から購買記録および対話ログを読み出し、ユーザIDおよび時刻に基づいて、同一の購買行動に関する購買記録と対話ログとを関連付ける。商品情報生成部129は、関連付けられた購買記録および対話ログを分析して、おすすめの商品の組み合わせを示す1以上の商品リストを生成する。また、商品情報生成部129は、商品リストに検索用のタグを付与する。商品情報生成部129は、生成された商品リストを商品情報記憶部124に保存する。 The product information generation unit 129 reads purchase records and dialogue logs from the history storage unit 123 and associates purchase records and dialogue logs related to the same purchasing behavior based on the user ID and time. The product information generation unit 129 analyzes the associated purchase records and dialogue logs to generate one or more product lists indicating recommended product combinations. The product information generation unit 129 also assigns search tags to the product lists. The product information generation unit 129 saves the generated product lists in the product information storage unit 124.

図16は、商品リスト生成の手順例を示すフローチャートである。
(S10)商品情報生成部129は、複数の購買記録と複数の対話ログを取得する。
(S11)商品情報生成部129は、購買記録に含まれるユーザIDおよび時刻と、対話ログに含まれるユーザIDおよび時刻とを照合して、同一の購買行動に関する購買記録と対話ログとを関連付ける。例えば、商品情報生成部129は、ユーザIDが同一かつ日付が同一の購買記録と対話ログとを関連付ける。
FIG. 16 is a flowchart showing an example of a procedure for generating a product list.
(S10) The product information generation unit 129 acquires a plurality of purchase records and a plurality of conversation logs.
(S11) The product information generation unit 129 compares the user ID and time included in the purchase record with the user ID and time included in the interaction log, and associates the purchase record and interaction log related to the same purchasing behavior. For example, the product information generation unit 129 associates the purchase record and interaction log with the same user ID and the same date.

(S12)商品情報生成部129は、複数の対話ログから単語を抽出し、各単語の重要度を算出し、重要度が閾値v以上の単語をキーワードと判定する。例えば、商品情報生成部129は、IDFが閾値v以上の単語をキーワードと判定する。 (S12) The product information generation unit 129 extracts words from multiple dialogue logs, calculates the importance of each word, and determines words whose importance is equal to or greater than a threshold value v as keywords. For example, the product information generation unit 129 determines words whose IDF is equal to or greater than a threshold value v as keywords.

(S13)商品情報生成部129は、各購買記録について、購買記録に対応する対話ログからキーワードを抽出してキーワードリストを生成し、購買記録に関連付ける。
(S14)商品情報生成部129は、関連付けられた購買記録とキーワードリストのペアそれぞれから、購買記録に含まれる1つの商品名とキーワードリストに含まれる1つのキーワードとを組み合わせたペアを網羅的に列挙する。
(S13) For each purchase record, the product information generation unit 129 extracts keywords from the dialogue log corresponding to the purchase record to generate a keyword list, and associates the keyword list with the purchase record.
(S14) The product information generation unit 129 comprehensively lists pairs of one product name included in the purchase record and one keyword included in the keyword list from each pair of associated purchase record and keyword list.

(S15)商品情報生成部129は、商品名とキーワードのペアを集計し、キーワード毎に商品名とその商品名を含む購買記録との対応関係を判定する。商品情報生成部129は、同一キーワード内で共起頻度が閾値k1以上の商品グループを判定する。この判定には、例えば、アプリオリアルゴリズムが用いられる。 (S15) The product information generation unit 129 tallys up pairs of product names and keywords and determines the correspondence between the product names and purchase records containing those product names for each keyword. The product information generation unit 129 determines product groups whose co-occurrence frequency within the same keyword is equal to or greater than threshold k1. For example, an apriori algorithm is used for this determination.

(S16)商品情報生成部129は、ステップS15で判定された商品グループの中から、他の商品グループの部分集合となっている小さな商品グループを除去することで、商品数が極大な商品グループを抽出する。 (S16) The product information generation unit 129 extracts the product group with the largest number of products by removing small product groups that are subsets of other product groups from the product groups determined in step S15.

(S17)商品情報生成部129は、極大な商品グループを示す1以上の商品リストを生成する。商品情報生成部129は、商品リスト毎に、その商品リストの全ての商品を含む購買記録を検索する。商品情報生成部129は、検索された購買記録に対応するキーワードリストに含まれるキーワードを集計して、各キーワードの出現頻度を算出する。 (S17) The product information generation unit 129 generates one or more product lists indicating the largest product group. For each product list, the product information generation unit 129 searches for purchase records that include all of the products in that product list. The product information generation unit 129 tallies the keywords included in the keyword lists corresponding to the searched purchase records, and calculates the frequency of appearance of each keyword.

(S18)商品情報生成部129は、商品リスト毎に、出現頻度が閾値k2以上であるキーワードを示すタグを生成し、タグを商品リストに関連付ける。
(S19)商品情報生成部129は、タグ付き商品リストを出力する。このとき、商品情報生成部129は、タグ付き商品リストを商品情報記憶部124に保存する。商品情報生成部129は、タグ付き商品リストをディスプレイ107に表示してもよい。
(S18) The product information generation unit 129 generates tags indicating keywords whose appearance frequency is equal to or greater than the threshold k2 for each product list, and associates the tags with the product list.
(S19) The product information generation unit 129 outputs the tagged product list. At this time, the product information generation unit 129 stores the tagged product list in the product information storage unit 124. The product information generation unit 129 may display the tagged product list on the display 107.

以上説明したように、第2の実施の形態の情報処理システムは、ユーザから入力された検索キーワードに応じて、個別の商品ではなく、好適な商品の組み合わせを示す商品リストを提案する。これにより、商品を購買するユーザの利便性が向上する。また、商品リストは、分析サーバ33によって自動的に生成される。これにより、商品検索サービスを提供する小売業者の負担が軽減される。また、商品リストに自動的に検索用タグが付与されるため、商品リストのキーワード検索が可能となる。 As described above, the information processing system of the second embodiment proposes a product list showing suitable combinations of products, rather than individual products, in response to search keywords entered by the user. This improves convenience for users purchasing products. Furthermore, the product list is automatically generated by the analysis server 33, which reduces the burden on retailers that provide product search services. Furthermore, because search tags are automatically assigned to the product list, keyword searches of the product list are possible.

また、分析サーバ33は、POSシステムによって生成される購買記録と対話システムによって生成される対話ログとを関連付け、購買記録と対話ログを合わせて分析することで商品リストを生成する。このとき、分析サーバ33は、全ての購買記録における商品間の共起頻度ではなく、同一のキーワードを含む対話ログに対応する購買記録における商品間の共起頻度を算出する。これにより、異なる購買目的の購買記録が混在することにより生じるノイズが減少し、不適切な商品の組み合わせが抽出されるリスクが低下する。特に、何れの購買目的も達成されない不十分な商品リストが生成されるリスクが低下する。 The analysis server 33 also associates the purchase records generated by the POS system with the dialogue logs generated by the dialogue system, and generates a product list by analyzing the purchase records and dialogue logs together. In this case, the analysis server 33 calculates the co-occurrence frequency between products in purchase records corresponding to dialogue logs containing the same keywords, rather than the co-occurrence frequency between products in all purchase records. This reduces noise caused by the mixing of purchase records with different purchasing purposes, and lowers the risk of extracting inappropriate product combinations. In particular, it reduces the risk of generating an insufficient product list in which none of the purchasing purposes are achieved.

また、分析サーバ33は、商品リスト中の全ての商品を含む購買記録に対応する対話ログのキーワードを、タグとして商品リストに付与する。これにより、キーワード検索に有用なタグが商品リストに付与される。また、対話ログには、料理名など購買目的を直接的に表すキーワードだけでなく、食事の時間帯や人数など購買背景を表す多様なキーワードが含まれる。よって、情報処理システムは、様々な検索キーワードに応じて好適な商品リストをユーザに提案することが可能となる。また、タグとして採用するキーワードの出現頻度の閾値を下げることで、多様なタグが商品リストに付与される。 The analysis server 33 also assigns keywords from the dialogue log corresponding to purchase records that include all products in the product list as tags to the product list. This allows tags that are useful for keyword searches to be assigned to the product list. The dialogue log also contains not only keywords that directly indicate the purpose of the purchase, such as the name of a dish, but also a variety of keywords that indicate the background to the purchase, such as the time of day the meal is eaten and the number of people present. This allows the information processing system to suggest to the user an appropriate product list based on various search keywords. Furthermore, by lowering the threshold for the frequency of appearance of keywords used as tags, a variety of tags can be assigned to the product list.

10 情報処理装置
11 記憶部
12 処理部
13a,13b,13c 取引データ
14a,14b,14c 対話データ
15 商品グループ
16 キーワード
REFERENCE SIGNS LIST 10 Information processing device 11 Storage unit 12 Processing unit 13a, 13b, 13c Transaction data 14a, 14b, 14c Dialogue data 15 Product group 16 Keywords

Claims (9)

複数の商品のうちの少なくとも一部の商品の取引をそれぞれ示す複数の取引データと、自然言語を用いた前記取引に関連するコミュニケーションをそれぞれ示しており、質問文と前記質問文に対応する回答文とをそれぞれ含む、前記複数の取引データに対応する複数の対話データとを取得し、
前記複数の対話データのうちの特定の条件を満たす2以上の対話データに対応する、前記複数の取引データのうちの2以上の取引データにおける商品間の共起関係に基づいて、前記複数の商品の中から商品グループを判定し、
前記複数の対話データに含まれる複数のキーワードのうちの少なくとも一部のキーワードを、判定された前記商品グループに関連付ける、
処理をコンピュータに実行させる商品情報生成プログラム。
acquiring a plurality of transaction data each indicating a transaction of at least some of a plurality of products and a plurality of dialogue data corresponding to the plurality of transaction data, each indicating communication related to the transaction using natural language, each including a question sentence and an answer sentence corresponding to the question sentence ;
determining a product group from the plurality of products based on a co-occurrence relationship between products in two or more transaction data among the plurality of transaction data corresponding to two or more dialogue data among the plurality of dialogue data that satisfy a specific condition;
Associating at least some of the keywords included in the plurality of pieces of dialogue data with the determined product group;
A product information generation program that causes a computer to execute processing.
前記特定の条件は、同じキーワードを含むことである、
請求項1記載の商品情報生成プログラム。
The specific condition is that the same keywords are included.
The product information generating program according to claim 1.
前記商品グループの判定では、前記複数の取引データおよび前記複数の対話データに基づいて、前記複数の商品と前記複数のキーワードと前記取引を識別する複数の識別子とを対応付けた対応情報を生成し、前記対応情報に基づいて前記共起関係を判定する、
請求項1記載の商品情報生成プログラム。
In determining the product group, correspondence information is generated based on the plurality of transaction data and the plurality of conversation data, in which correspondence information is generated between the plurality of products, the plurality of keywords, and a plurality of identifiers that identify the transactions, and the co-occurrence relationship is determined based on the correspondence information.
The product information generating program according to claim 1.
前記少なくとも一部のキーワードの関連付けでは、前記複数の対話データのうち前記商品グループを含む取引データに対応する対話データに含まれるキーワードの中から、前記商品グループに関連付けるキーワードを選択する、
請求項1記載の商品情報生成プログラム。
In associating at least some of the keywords, a keyword to be associated with the product group is selected from keywords included in dialogue data corresponding to transaction data including the product group among the plurality of dialogue data.
The product information generating program according to claim 1.
複数の商品のうちの少なくとも一部の商品の取引をそれぞれ示す複数の取引データと、自然言語を用いた前記取引に関連するコミュニケーションをそれぞれ示す、前記複数の取引データに対応する複数の対話データとを取得し、
前記複数の対話データのうちの特定の条件を満たす2以上の対話データに対応する、前記複数の取引データのうちの2以上の取引データにおける商品間の共起関係に基づいて、前記複数の商品の中から商品グループを判定し、
前記複数の対話データに含まれる複数のキーワードのうちの少なくとも一部のキーワードを、判定された前記商品グループに関連付ける、
処理をコンピュータに実行させ
前記商品グループの判定では、前記2以上の取引データの中で共起頻度が第1の閾値以上である商品の組み合わせを検出し、
前記少なくとも一部のキーワードの関連付けでは、前記商品グループを含む取引データに対応する対話データの中で、出現頻度が前記第1の閾値より小さい第2の閾値以上であるキーワードを抽出する、
商品情報生成プログラム。
acquiring a plurality of transaction data each indicating a transaction of at least some of a plurality of products and a plurality of dialogue data corresponding to the plurality of transaction data each indicating communication related to the transaction using natural language;
determining a product group from the plurality of products based on a co-occurrence relationship between products in two or more transaction data among the plurality of transaction data corresponding to two or more dialogue data among the plurality of dialogue data that satisfy a specific condition;
Associating at least some of the keywords included in the plurality of pieces of dialogue data with the determined product group;
Have the computer execute the process ,
In determining the product group, a combination of products whose co-occurrence frequency is equal to or greater than a first threshold is detected among the two or more pieces of transaction data;
In associating at least some of the keywords, keywords whose appearance frequency is equal to or greater than a second threshold value that is smaller than the first threshold value are extracted from the dialogue data corresponding to the transaction data including the product group.
Product information generation program.
複数の商品のうちの少なくとも一部の商品の取引をそれぞれ示す複数の取引データと、自然言語を用いた前記取引に関連するコミュニケーションをそれぞれ示す、前記複数の取引データに対応する複数の対話データとを取得し、
前記複数の対話データのうちの特定の条件を満たす2以上の対話データに対応する、前記複数の取引データのうちの2以上の取引データにおける商品間の共起関係に基づいて、前記複数の商品の中から商品グループを判定し、
前記複数の対話データに含まれる複数のキーワードのうちの少なくとも一部のキーワードを、判定された前記商品グループに関連付ける、
処理をコンピュータに実行させ
前記複数の取引データは、ユーザによる商品購買を記録する第1のシステムから取得され、前記複数の対話データは、前記ユーザとの間の前記コミュニケーションを通じて前記ユーザによる商品選択を支援する第2のシステムから取得される、
商品情報生成プログラム。
acquiring a plurality of transaction data each indicating a transaction of at least some of a plurality of products and a plurality of dialogue data corresponding to the plurality of transaction data each indicating a communication related to the transaction using natural language;
determining a product group from the plurality of products based on a co-occurrence relationship between products in two or more transaction data among the plurality of transaction data corresponding to two or more dialogue data among the plurality of dialogue data that satisfy a specific condition;
Associating at least some of the keywords included in the plurality of pieces of dialogue data with the determined product group;
Have the computer execute the process ,
The plurality of transaction data are acquired from a first system that records product purchases by users, and the plurality of interaction data are acquired from a second system that supports product selection by the users through the communication with the users.
Product information generation program.
複数の商品のうちの少なくとも一部の商品の取引をそれぞれ示す複数の取引データと、自然言語を用いた前記取引に関連するコミュニケーションをそれぞれ示す、前記複数の取引データに対応する複数の対話データとを取得し、
前記複数の対話データのうちの特定の条件を満たす2以上の対話データに対応する、前記複数の取引データのうちの2以上の取引データにおける商品間の共起関係に基づいて、前記複数の商品の中から商品グループを判定し、
前記複数の対話データに含まれる複数のキーワードのうちの少なくとも一部のキーワードを、判定された前記商品グループに関連付ける、
処理をコンピュータに実行させ
前記商品グループに関連付けられる前記少なくとも一部のキーワードは、前記商品グループの検索に用いられるタグ情報である、
商品情報生成プログラム。
acquiring a plurality of transaction data each indicating a transaction of at least some of a plurality of products and a plurality of dialogue data corresponding to the plurality of transaction data each indicating communication related to the transaction using natural language;
determining a product group from the plurality of products based on a co-occurrence relationship between products in two or more transaction data among the plurality of transaction data corresponding to two or more dialogue data among the plurality of dialogue data that satisfy a specific condition;
Associating at least some of the keywords included in the plurality of pieces of dialogue data with the determined product group;
Have the computer execute the process ,
the at least some of the keywords associated with the product group are tag information used to search for the product group;
Product information generation program.
複数の商品のうちの少なくとも一部の商品の取引をそれぞれ示す複数の取引データと、自然言語を用いた前記取引に関連するコミュニケーションをそれぞれ示しており、質問文と前記質問文に対応する回答文とをそれぞれ含む、前記複数の取引データに対応する複数の対話データとを取得し、
前記複数の対話データのうちの特定の条件を満たす2以上の対話データに対応する、前記複数の取引データのうちの2以上の取引データにおける商品間の共起関係に基づいて、前記複数の商品の中から商品グループを判定し、
前記複数の対話データに含まれる複数のキーワードのうちの少なくとも一部のキーワードを、判定された前記商品グループに関連付ける、
処理をコンピュータが実行する商品情報生成方法。
acquiring a plurality of transaction data each indicating a transaction of at least some of a plurality of products and a plurality of dialogue data corresponding to the plurality of transaction data, each indicating communication related to the transaction using natural language, each including a question sentence and an answer sentence corresponding to the question sentence ;
determining a product group from the plurality of products based on a co-occurrence relationship between products in two or more transaction data among the plurality of transaction data corresponding to two or more dialogue data among the plurality of dialogue data that satisfy a specific condition;
Associating at least some of the keywords included in the plurality of pieces of dialogue data with the determined product group;
A product information generating method in which processing is performed by a computer.
複数の商品のうちの少なくとも一部の商品の取引をそれぞれ示す複数の取引データと、自然言語を用いた前記取引に関連するコミュニケーションをそれぞれ示しており、質問文と前記質問文に対応する回答文とをそれぞれ含む、前記複数の取引データに対応する複数の対話データとを記憶する記憶部と、
前記複数の対話データのうちの特定の条件を満たす2以上の対話データに対応する、前記複数の取引データのうちの2以上の取引データにおける商品間の共起関係に基づいて、前記複数の商品の中から商品グループを判定し、前記複数の対話データに含まれる複数のキーワードのうちの少なくとも一部のキーワードを、判定された前記商品グループに関連付ける処理部と、
を有する情報処理装置。
a storage unit that stores a plurality of transaction data each indicating a transaction of at least some of a plurality of products, and a plurality of dialogue data corresponding to the plurality of transaction data, each indicating communication related to the transaction using natural language, and each including a question sentence and an answer sentence corresponding to the question sentence ;
a processing unit that determines a product group from among the plurality of products based on a co-occurrence relationship between products in two or more pieces of transaction data among the plurality of transaction data corresponding to two or more pieces of dialogue data that satisfy a specific condition among the plurality of pieces of dialogue data, and associates at least some of a plurality of keywords included in the plurality of pieces of dialogue data with the determined product group;
An information processing device having the above.
JP2021175531A 2021-10-27 2021-10-27 Product information generating program, product information generating method and information processing device Active JP7801558B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021175531A JP7801558B2 (en) 2021-10-27 2021-10-27 Product information generating program, product information generating method and information processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021175531A JP7801558B2 (en) 2021-10-27 2021-10-27 Product information generating program, product information generating method and information processing device

Publications (2)

Publication Number Publication Date
JP2023065004A JP2023065004A (en) 2023-05-12
JP7801558B2 true JP7801558B2 (en) 2026-01-19

Family

ID=86281980

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021175531A Active JP7801558B2 (en) 2021-10-27 2021-10-27 Product information generating program, product information generating method and information processing device

Country Status (1)

Country Link
JP (1) JP7801558B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102852166B1 (en) * 2023-05-15 2025-09-01 쿠팡 주식회사 Method and electronic device for processing product sale registration request

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003529160A (en) 2000-03-24 2003-09-30 アクセス ビジネス グループ インターナショナル リミテッド ライアビリティ カンパニー System and method for detecting fraudulent transactions
JP2008539488A (en) 2005-04-29 2008-11-13 スプリングボード リテール ネットワークス ライセンシング エスアールエル Hierarchical structure management system and method
US20090234683A1 (en) 2000-06-30 2009-09-17 Russell Anderson Detecting and Measuring Risk with Predictive Models Using Content Mining
JP2020119463A (en) 2019-01-28 2020-08-06 ヤフー株式会社 Association device, association method, and association program

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003529160A (en) 2000-03-24 2003-09-30 アクセス ビジネス グループ インターナショナル リミテッド ライアビリティ カンパニー System and method for detecting fraudulent transactions
US20090234683A1 (en) 2000-06-30 2009-09-17 Russell Anderson Detecting and Measuring Risk with Predictive Models Using Content Mining
JP2008539488A (en) 2005-04-29 2008-11-13 スプリングボード リテール ネットワークス ライセンシング エスアールエル Hierarchical structure management system and method
JP2020119463A (en) 2019-01-28 2020-08-06 ヤフー株式会社 Association device, association method, and association program

Also Published As

Publication number Publication date
JP2023065004A (en) 2023-05-12

Similar Documents

Publication Publication Date Title
US8650141B2 (en) System and method of segmenting and tagging entities based on profile matching using a multi-media survey
CN109635198B (en) Method, device, medium and electronic equipment for presenting user search results on commodity display platform
US10021200B2 (en) Methods and systems for activity-based recommendations
McElrea et al. Fast music causes fast drinking
US10747798B2 (en) Control method, processing apparatus, and recording medium
US10564795B2 (en) Control method, processing apparatus, and non-transitory computer-readable recording medium
WO2019084005A1 (en) Artificial intelligence system for real-time visual feedback-based refinement of query results
CN103744866A (en) Searching method and device
US8768746B2 (en) Target marketing
Day et al. Using cluster analysis to improve marketing experiments
Lee et al. Hallyu tourism: The effects of broadcast and music
Han et al. An exploration of search session patterns in an image-based digital library
Green An aid/logit procedure for analyzing large multiway contingency tables
JP7801558B2 (en) Product information generating program, product information generating method and information processing device
JP2020047126A (en) Information processing apparatus, information processing method, and information processing program
JP2004280180A (en) Advertisement keyword extraction system, advertisement text distribution system, advertisement keyword extraction program, and advertisement text distribution program
Zhu et al. Detecting depression from Internet behaviors by time-frequency features
CN115114506A (en) Commodity searching method and device, electronic equipment and storage medium
Chaturvedi et al. Book Review: Software Review: SPSS for Windows, Chaid 6.0
Jeong et al. Effect of aspect-level emotion expression of online restaurant reviews on perceived helpfulness: An aspect-based sentiment analysis perspective
Akhtar et al. Hierarchical visualization of sport events using Twitter
Mongiardino Koch et al. Let the music be your master: Power laws and music listening habits
JP7777097B2 (en) Information processing device, information processing method, and information processing program
KR102910436B1 (en) Service establishment and provision method for providing servitization, and a system using the same
Naber et al. Comparing Human to Analytic Performance on Detecting, Attributing, and Characterizing Manipulated Media

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240711

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20250630

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20250701

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20250829

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20251215

R150 Certificate of patent or registration of utility model

Ref document number: 7801558

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150