WO2012160693A1 - Information search method, information search device, and storage medium - Google Patents

Information search method, information search device, and storage medium Download PDF

Info

Publication number
WO2012160693A1
WO2012160693A1 PCT/JP2011/062088 JP2011062088W WO2012160693A1 WO 2012160693 A1 WO2012160693 A1 WO 2012160693A1 JP 2011062088 W JP2011062088 W JP 2011062088W WO 2012160693 A1 WO2012160693 A1 WO 2012160693A1
Authority
WO
WIPO (PCT)
Prior art keywords
keyword
search
information
database
recommended
Prior art date
Application number
PCT/JP2011/062088
Other languages
French (fr)
Japanese (ja)
Inventor
健 直野
靖英 森
隆雄 櫻井
Original Assignee
株式会社日立製作所
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社日立製作所 filed Critical 株式会社日立製作所
Priority to JP2013516146A priority Critical patent/JP5752245B2/en
Priority to PCT/JP2011/062088 priority patent/WO2012160693A1/en
Publication of WO2012160693A1 publication Critical patent/WO2012160693A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24573Query processing with adaptation to user needs using data annotations, e.g. user-defined metadata

Definitions

  • the present invention relates to a computer system that searches for a product by inputting a keyword, and in particular, a product group that another user has made a purchase from the entered keyword as a starting point, and an intermediate between these product group and the keyword.
  • the present invention relates to a technique for presenting a keyword string.
  • collaborative filtering has been proposed and put to practical use as a computer system that recommends information to users of electronic commerce.
  • Collaborative filtering presents recommended products such as "If you bought this product, you also bought this product” when you display the searched product like Amazon.com (registered trademark) Yes. Thereby, the user of electronic commerce is more likely to select a product that better meets the needs than the product first searched.
  • the collaborative filtering has a problem that it is difficult to recommend a product if the product has just been put on the market. That is, immediately after the sale of a product, there are many cases where there are few purchased users or there are no evaluated users, and they are not recommended targets. This is said to be a cold start problem.
  • Non-Patent Document 1 a method is known that uses evaluation of commodities with similar properties, called Content-based filtering. According to Non-Patent Document 1, it is possible to estimate the evaluation of a new product that has no evaluation from the evaluation of a product with similar properties.
  • Non-Patent Document 1 it is necessary to prepare the properties of the product in detail, so it takes a lot of time and the properties held by the products are not uniform. There is a problem that variations occur.
  • the non-patent document 1 is difficult to use on an electronic commerce site that provides a large number of products, and the above problems have not been solved.
  • Patent Document 1 a method is known in which user's click history using an electronic commerce site is utilized to estimate the user's preference from the clicked URL keyword, and to identify and recommend a product from the estimated preference.
  • Patent Document 1 a method is known in which user's click history using an electronic commerce site is utilized to estimate the user's preference from the clicked URL keyword, and to identify and recommend a product from the estimated preference.
  • Patent Document 1 it is not necessary to use the evaluation of products with similar properties in the above-described content-based filtering method. Therefore, it is possible to recommend even if there is no similar product.
  • Patent Document 1 has a problem that the URL information is not valid when the URL is not linked to the product desired by the user. In other words, if there is a gap between the information on the user side such as the URL and the information on the product item, the product desired by the user cannot be reached. This tendency is particularly noticeable for products that have just entered the market. This is due to the fact that the number of users who browse (click on) the product immediately after the sale is small, as in the conventional example.
  • the present invention has been made in view of the above-described problems, and an object of the present invention is to tie keywords and merchandise information that cannot be linked by one user by utilizing search histories of a large number of users.
  • the present invention relates to an information search method for performing a search from a predetermined database using a received search keyword in a computer including a processor and a storage device, wherein the search keyword history received by the computer and the information in the database are stored.
  • a database user by providing a keyword string that reaches database information from a search keyword, a database user can obtain desired information much more easily than the conventional example.
  • a recommended keyword table using the search histories of a large number of users, it becomes possible to link keywords and database information that were not easily linked by a single user.
  • FIG. 1 is a block diagram showing an embodiment of the present invention and showing an example of the configuration of a computer system.
  • a WEB server 100, a database server 200, a storage device 300, and a log collection server 400 constitute an electronic commerce site 2.
  • the electronic commerce site 2 is electronically connected to a plurality of client terminals 500 connected via the Internet 1 or WAN. Providing WEB services for commercial transactions.
  • a WEB server 100, a database server 200, a storage device 300, and a log collection server 400 connected to the LAN 3 constitute an electronic commerce site 2.
  • the LAN 3 of the electronic commerce site 2 is connected to the client terminal 500 via the Internet 1.
  • a user who uses the electronic commerce site 2 connects to the WEB server 100 via the browser of the client terminal 500, and the WEB server 100 provides an example of providing services such as provision of product information and purchase of products.
  • Each client terminal 500 includes a processor 501 that performs arithmetic processing, a memory 502 that stores data and programs, a storage device 503 that stores data and programs, a display device 504 as an output device, and inputs such as a mouse and a keyboard.
  • a device 505 is provided.
  • a WEB browser is loaded into the memory 502 of the client terminal 500 and executed by the processor 501. Then, the client terminal 500 receives a service from the WEB server 100 of the electronic commerce site 2 by the WEB browser. For example, the client terminal 500 transmits a search keyword input by the user from the input device 505 to the WEB server 100 and requests a search for product information.
  • the WEB server 100 acquires information on the corresponding product from the received keyword from the database server 200 and transmits it to the client terminal 500.
  • the client terminal 500 displays product information as a search result received from the WEB server 100 on the display device 504.
  • the e-commerce site 2 manages the WEB server 100 that receives requests from a plurality of client terminals 500 and provides services, and the product database 310 stored in the storage device 503, and the WEB server 100 receives the requests from the client terminals 500.
  • a database server 200 that searches for product information by keyword and a log collection server 400 that acquires and stores the access history of the client terminal 500 are connected to the LAN 3 and can communicate with each other.
  • the WEB server 100 searches the product database 310 in the database server 200 with the search keyword received from the client terminal 500, in addition to the searched product information, the recommended keyword table 220 created in advance is stored.
  • a keyword column is also provided.
  • the WEB server 100 includes a processor 101 that performs arithmetic processing and a memory 102 that stores information, and is connected to the LAN 3 via a network interface (not shown).
  • the memory 102 is loaded with a WEB service unit 110 and executed by the processor 101.
  • the WEB service unit 110 acquires data from the database server 200 in response to a Web server function that accepts an HTTP request transmitted by the WEB browser of the client terminal 500 and a processing request accepted by the Web server function. It is assumed that a function of an application server that performs predetermined processing or the like and responds to the Web server function is included. Note that the web server function and the application server function of the WEB service unit 110 can be made independent to serve as servers.
  • the WEB service unit 110 transmits data acquired from the database server 200 to the client terminal 500.
  • the database server 200 includes a processor 201 that performs arithmetic processing and a memory 202 that stores information, and is connected to the LAN 3 via a network interface (not shown).
  • a recommended keyword generation unit 230 that generates a database management system (hereinafter referred to as DBMS) 210, a recommended keyword table 220, a related graph 240, a probability transition matrix 250, and an eigenvector 260 is loaded into the memory 102 and executed.
  • the DBMS 210 manages the product database 310 of the storage apparatus 300. When the DBMS 210 receives a search keyword from the WEB server 100, the DBMS 210 searches the product database 310 of the storage apparatus 300 and acquires product information that matches the search keyword.
  • the DBMS 210 acquires a keyword string from the recommended keyword table 220 that matches the search keyword, and responds to the WEB server 100 including the product information as the search result at the end of the keyword string.
  • the database server 200 functions as an information search device that searches the product database 310 and the recommended keyword table 220, and the DBMS 210 functions as a search unit.
  • the recommended keyword generation unit 230 refers to the user access history table 420 collected by the log collection server 400 at a predetermined timing, generates a related graph 240 and a recommended keyword table 220 as described later, and stores them in the memory 202.
  • the recommended keyword generation unit 230 may store the generated recommended keyword table 220, the eigenvector 260, and the like in the storage device 300.
  • the recommended keyword generation unit 230 When generating the recommended keyword table 220, the recommended keyword generation unit 230 generates a relation graph 240, a probability transition matrix 250, and an eigenvector 260. Details of these will be described later.
  • the recommended keyword generation unit 230 is executed by the database server 200
  • the present invention is not limited to this.
  • the recommended keyword table 220 is generated by referring to the user access history table 420, and the DBMS 210 may refer to the recommended keyword table 220 and respond to the keyword string and the product information to the WEB server 100. Therefore, the recommended keyword generation unit 230 can be executed by the log collection server 400 or the WEB server 100 other than the database server 200.
  • the WEB server 100 since the WEB server 100 that has received the search keyword responds to the client terminal 500 with the keyword string and the product information, the WEB server 100 may hold the recommended keyword table 220, the eigenvector 260, and the like.
  • the log collection server 400 includes a processor 401 that performs arithmetic processing and a memory 402 that stores information, and is connected to the LAN 3 via a network interface (not shown).
  • a log collection unit 410 is loaded into the memory 402 and executed by the processor 401.
  • the log collection unit 410 acquires the search keyword and product information requested by the client terminal 500 and accumulates them in the user access history table 420.
  • the user access history table 420 is stored in the memory 402 .
  • the user access history table 420 is stored in the storage device 300 or a local storage device (not shown) of the log collection server 400.
  • the log collection unit 410 adds a new entry to the user access history table 420 shown in FIG. Accumulate information.
  • FIG. 5 shows a user access history table 420.
  • the user access history table 420 includes a date and time 421 that stores time information when the client terminal 500 requests information in the product database 310, and a user ID 422 that stores an identifier of the client terminal 500 or an identifier of a user who makes a search request.
  • a session ID 422 for storing an identifier of a session established between the client terminal 500 and the electronic commerce site 2, an action 424 for storing the type of operation performed by the client terminal 500, and a search input or selected by the client terminal 500
  • One entry is composed of a keyword 425 for storing the keyword and a product information URL 426 for storing the location of the product information requested by the client terminal 500.
  • “input” is stored in the action 424 when the client terminal 500 inputs a search keyword on the product information search screen described later, and when the client terminal 500 selects the product information, “ “select” is stored in action 424.
  • the log collection server 400 may be disposed so as to be interposed between the client terminal 500 and the WEB server 100 in order to accumulate the contents requested by the client terminal 500 from the WEB server 100 as an access history.
  • the log collection server 400 can function as a proxy that transfers packets between the client terminal 500 and the WEB server 100.
  • the client terminal 500 when the client terminal 500 requests product information in the product database 310 from the WEB server 100, it is only necessary to add a new entry to the user access history table 420. Absent.
  • the log of the client terminal 500 may be generated by the WEB service unit 110 of the WEB server 100 and the user access history table 420 held in the WEB server 100 may be updated.
  • the WEB service unit 100 of the WEB server 100, the DBMS 210 of the database server 200, the recommended keyword generation unit 230, and the log collection unit 410 of the log collection server 400 are each configured by a program. These programs are stored in the storage apparatus 300 as a non-transitory computer-readable storage medium, and loaded into the memory when each server is started.
  • FIG. 2 is a flowchart of overall processing performed in the computer system of FIG.
  • step S1 a plurality of client terminals 500 access the WEB server 100 and request product information using a search keyword.
  • step S2 the log collection server 400 stores the search keyword requested by each client terminal 500 and the product information accessed by each client terminal 500 in the user access history table 420, respectively.
  • step S3 the recommended keyword generation unit 230 of the database server 200 generates the recommended keyword table 220, the eigenvector 260, and the like with reference to the user access history table 420 at predetermined time intervals (for example, every hour). .
  • step S4 the DBMS 210 of the database server 200 extracts the keyword string (recommended keyword string) including the search keyword received in step S1 from the recommended keyword table 220. Then, the DBMS 210 of the database server 200 acquires the extracted keyword string and the merchandise information retrieved from the keyword string from the merchandise database 310 and responds to the WEB server 100. The WEB server 100 returns the information received from the database server 200 to the client terminal 500 that is the transmission source of the search keyword.
  • FIG. 3 shows a search screen 540 displayed on the display device 504 when the client terminal 500 accesses the WEB server 100 and requests product information.
  • the search screen 540 is divided into an area 541 for inputting a search keyword (input keyword in the figure) and an area 542 (search result display area) for displaying a search result from the WEB server 100 for the search keyword.
  • the node includes an area 544 for displaying product information as a search result.
  • the user of the client terminal 500 displays the No. displayed in the product information area 541.
  • the WEB server 100 acquires product information from the product database 310 and displays it on the display device 504.
  • the relation graph 2400 in the area 542 for displaying the search result is obtained by inputting the search keyword and connecting the keyword in the keyword string extracted from the recommended keyword table 220 in the process of FIG. 25 or FIG. is there.
  • the log collection server 400 adds a new history to the user access history table 420 when the client terminal 500 requests or searches for product information from the WEB server 100 on the search screen 540 shown in FIG.
  • the log collection server 400 adds the entry to the new entry user access history table 42, and Action 424 is set to “input”.
  • the log collection server 400 adds a new entry, and the action 424 of the entry is “select”.
  • FIG. 4 is a flowchart illustrating an example of processing performed by the recommended keyword generation unit 230 of the database server 200. This process is a process performed in step S3 of FIG.
  • step S31 the recommended keyword generation unit 230 refers to the access history table 420 of the log collection server 400 and acquires the input history of the search keyword.
  • step S ⁇ b> 32 the recommended keyword generation unit 230 refers to the access history table 420 of the log collection server 400 and acquires the access history of product information.
  • step S33 the recommended keyword generation unit 230 executes the process of FIG. 6, extracts a keyword string from the search keyword to the product information from the user access history table 420, and generates a related graph 240.
  • the relation graph 240 extracts partial graphs 240A to 240F constituting a part of the relation graph 240 for each session ID 423 of the user access history table 420.
  • the recommended keyword generation unit 230 generates a keyword tree structure including a keyword string from the partial graphs 240A to 240F to the product information from the search keyword as a relation graph 240 shown in FIG.
  • the recommended keyword generation unit 230 combines keywords from a history of keywords searched by any of the users of the electronic commerce site 2 and a history of the product information that has been browsed to reach the product information. It is a graph.
  • step S34 the recommended keyword generator 230 obtains the transition probabilities of the starting point and the end point of the search keyword (hereinafter, parent node to child node) from the related graph 240 obtained in step S33, and the probability transition matrix Z (250) is obtained.
  • the calculation of the probability transition matrix Z is performed as shown in FIGS.
  • step S35 the recommended keyword generation unit 230 calculates K eigenvectors 260 from the probability transition matrix Z obtained in step S34.
  • K is a preset value (for example, “2”), which is a value set by an administrator or the like. By this calculation, K keyword strings are selected as shown in FIGS.
  • step S36 the recommended keyword generation unit 230 generates a recommended keyword table 220 that reaches the product information from the search keyword as a base point from the K eigenvectors 260 obtained in step S35 as shown in FIG.
  • FIG. 6 is a flowchart showing details of generation of the relation graph 240.
  • the recommended keyword generation unit 230 extracts an access log within a preset period from the user access history table 420 for each session.
  • the preset period a period such as within 6 months can be set.
  • the access log indicates an access log within a predetermined period extracted from the user access history table 420 and a record of access to product information.
  • step S332 the recommended keyword generation unit 230 extracts a record having the same session ID 423 for the extracted access log.
  • the recommended keyword generation unit 230 sorts records having the same session ID 423 in ascending order of the date and time 421. Then, the recommended keyword generation unit 230 sequentially acquires the search keywords stored in the keyword 425 from the sorted search history and connects them.
  • the recommended keyword generation unit 230 holds the linked search keyword and product information as a relation graph 240.
  • the recommended keyword generation unit 230 extracts the partial graphs 240A to 240F for all the session IDs 423 within a predetermined period and generates the related graph 240.
  • the session log is 420A.
  • the recommended keyword generation unit 230 sequentially extracts the contents of the keyword 425 from the oldest record of the date and time 421 from the session log 420A, and sets the data including the extracted search keywords as a partial graph 240A. Generate.
  • the recommended keyword generation unit 230 extracts the contents of the keyword 425 from the sorted session log 420A in ascending order of the date and time 421.
  • the search keywords “metal fitting”, “hook”, and “S-shaped hook” are chronologically searched.
  • a connected graph is generated as a subgraph 240A.
  • the partial graph 240A is a graph that expresses the time-series relationship of the search keywords in the connection order of the search keywords.
  • the recommended keyword generation unit 230 sorts the session log 420B in ascending order of the date and time 421. Then, the recommended keyword generation unit 230 extracts the contents of the keyword 425 from the sorted session log 420B in ascending order of the date and time 421.
  • the search keyword “hook” and “S-shaped hook” are connected in time series. Generated as a subgraph 240B.
  • the recommended keyword generation unit 230 sorts the session log 420C in ascending order of the date and time 421.
  • the recommended keyword generation unit 230 extracts the contents of the keyword 425 from the sorted session log 420C in ascending order of the date and time 421.
  • the search keyword “hook” and “S tube” are connected in time series. Generated as graph 240C.
  • the recommended keyword generation unit 230 sorts the session log 420D in ascending order of the date and time 421. Then, the recommended keyword generation unit 230 extracts the contents of the keyword 425 from the sorted session log 420D in ascending order of the date and time 421. As a result, the search keyword “metal fitting” and “attachment metal fitting” are connected in time series. Generated as a graph 240D.
  • the recommended keyword generation unit 230 sorts the session log 420E in ascending order of the date and time 421. Then, the recommended keyword generation unit 230 extracts the contents of the keyword 425 from the sorted session log 420E in ascending order of the date and time 421.
  • the search keywords “S tube” and “Unit S tube XXX” are connected in time series.
  • a thing is generated as a subgraph 240E.
  • the recommended keyword generation unit 230 sets the “unit S tube XXX” of the generated partial graph 240E as product information to be a leaf node of the related graph 240 because there is data in the product information URL 426.
  • the recommended keyword generation unit 230 sorts the session log 420F in ascending order of the date and time 421.
  • the recommended keyword generation unit 230 extracts the contents of the keyword 425 from the sorted session log 420F in ascending order of the date and time 421.
  • the search keywords “S tube” and “Unit S tube YYY” are connected in time series.
  • a thing is generated as a subgraph 240F.
  • the recommended keyword generation unit 230 sets the “unit S tube YYY” of the generated partial graph 240F as product information to be a leaf node of the related graph 240 because there is data in the product information URL 426.
  • the recommended keyword generation unit 230 generates, as the partial graphs 240A to 240F, the contents of the keyword 425 extracted in time series for each session ID 423 by the processing of FIG. A set of these partial graphs 240A to 240F becomes a related graph 240 in the memory 202 of the database server 200 shown in FIG. Then, the recommended keyword generator 230 generates a related graph 240 shown in FIG. 14 by following the connection relations in order from the search keyword that becomes the leaf node from the generated partial graphs 240A to 240F.
  • the recommended keyword generation unit 230 converts the relation graph having the same search keyword among the old search keywords in time series between the leaf nodes associated with the product information to the same node parent node. Extract as a subgraph with. For example, since the subgraphs 240E and 240F having leaf nodes have the same “S tube” as a parent node, the recommended keyword generation unit 230 generates a subgraph having “S tube” as a parent node and a leaf node as a child node. .
  • the recommended keyword generation unit 230 compares each of the partial graphs 240A to 240D from the leaf node to the parent node, and collects the partial graphs 240A to 240F with the same node as the parent node. A graph 240 is generated.
  • the recommended keyword generation unit 230 extracts the search keywords as the partial graphs 240A to 240F from the session logs 423A to 423F by the processing of step S33 of FIG. 4 and FIG. Then, the recommended keyword generation unit 230 traces the search keyword that is the parent node from the leaf node associated with the product information, and selects the keyword from the search keyword to the product information as shown in FIG.
  • the relation graph 240 expressed as follows is generated.
  • FIG. 14 is a relation graph 240 showing the number of transitions of the keyword string from the search keyword to the product information.
  • the relation graph 240 is obtained by connecting transition relationships between search keywords with a line and displaying the number of transitions beside the connection line. For example, the transition from the “hook” as the parent node to the “S-shaped hook” as the child node has a total of two transitions of the partial graph 240A in FIG. 8 and the partial graph 240B in FIG. The number of transitions from “hook” to “S-shaped hook” in the graph 240 is two.
  • FIG. 15 shows an example in which the probability transition matrix 250A is obtained from the keyword sequence constituting the related graph 240.
  • the recommended keyword generation unit 230 acquires a keyword string constituting the related graph 240, stores each search keyword in a column 251 representing a parent node, and stores each search keyword in a row 252 indicating a child node. And the recommendation keyword production
  • the recommended keyword generator 230 obtains the total number of transitions to the child node in units of rows of the probability transition matrix 250A and sets it as a population parameter. Then, the recommended keyword generation unit 230 obtains a probability obtained by dividing the number of transitions to the child node by the parameter of each row, and generates the probability transition matrix 250B shown in FIG. For example, in the row where the parent node of the probability transition matrix 250A is “hook”, the transition to “S tube” is 1 time and the transition to “S hook” is 2, so the total number of row transitions is 3 times. It becomes. As shown in the probability transition matrix 250B of FIG.
  • the recommended keyword generation unit 230 has a transition probability to “S tube” of 1/3 and a transition probability to “S-shaped hook” in the row where the parent node is “hook”. Is set to 1/3.
  • the recommended keyword generation unit 230 similarly determines the transition probability from the parent node to the child node in units of other rows, and generates a probability transition matrix 250B.
  • the recommended keyword generation unit 230 sets the transition probability of the parent node having no child node in the related graph 240 of FIG. 14 in the probability transition matrix 250B as the reciprocal of the total number of components (child nodes) of each row, It is generated as a probability transition matrix 250C shown in FIG.
  • a probability transition matrix 250C shown in FIG.
  • a search keyword is input. For this reason, an equal probability is set in a parent node having no child node on the assumption that a transition is made to any other child node.
  • the probability transition matrix 250C since the total number of child nodes (in the figure, “metal fittings” to “S tube YYY” in the row direction) is “7”, the probability of transition from each parent node to the child node is 1 / Set to 7.
  • the recommended keyword generation unit 230 generates a probability transition matrix 250D as a unit matrix, and generates a probability transition matrix Z from the probability transition matrix 250C generated in FIG.
  • the probability transition matrix 250D as a unit matrix is a matrix in which the transition probabilities from the parent node to the child node are all equal, and in the illustrated example, the total number of child nodes is 7, so the unit matrix is 1 / A transition probability of 7 is set.
  • the recommended keyword generation unit 230 obtains the probability transition matrix 250 from the following equation using the probability transition matrix 250C obtained in FIG. 17 as the matrix H and the unit matrix of the probability transition matrix 250D set in FIG. .
  • the probability transition matrix 250 is represented by a matrix Z.
  • Z ⁇ H + (1 ⁇ ) ⁇ I (1)
  • is a stabilization coefficient and is a preset value (eg, 0.8 to 0.9).
  • the probability transition matrix Z is obtained by the recommended keyword generation unit 230.
  • FIG. 19 shows an example in which the eigenvector 260 and the value of the first eigenvector are set in the relation graph 240.
  • FIG. 20 shows an example in which the values of the eigenvector 260 and the second eigenvector are set in the relation graph 240.
  • “S tube” 0.04 having the smallest value of the eigenvector 260 in the keyword string from “metal fitting” to “unit S tube XXX” which is product information.
  • This is the most difficult search keyword. That is, in the session log of the user access history table 420, there are many users who have obtained the search result of “hook” from the search keyword “metal fitting”, but the “unit S tube” of the product information from the search keyword “S tube”. The number of users who have obtained the search result “XXX” is very small. In the present invention, although it is difficult to come up with, it is possible to present a recommended keyword with a small eigenvector that can reach product information.
  • the value of the first eigenvector may be displayed in the related graph area 543 of the search result display area 542 in FIG.
  • the value of the eigenvector having the smallest value among the values of the first eigenvector may be displayed together with the recommended keyword.
  • the keyword search keyword is set from the first word 222 to the fourth word 225 according to the priority 221.
  • each entry may be provided with a flag that sets “0” when the end of the keyword string in the recommended keyword table 220 is product information and sets “1” when the end of the keyword string is a keyword.
  • FIG. 25 is a flowchart showing details of the process performed in step S4 of FIG. This flowchart is executed by the DBMS 210 when the database server 200 receives the search keyword input by the client terminal 500 via the WEB server 100.
  • step S41 the DBMS 210 receives a search keyword from the WEB server 100.
  • This search keyword is a keyword input by the client terminal 500 on the search screen 540 of FIG.
  • the DBMS 210 searches the recommended keyword table 220 and identifies a recommended keyword X that matches the accepted search keyword.
  • the DBMS 210 may specify the recommended keyword 220 closest to the search keyword as a recommended keyword X from a synonym dictionary or the like.
  • a method for searching the synonym closest to the search keyword from the recommended keyword table 220 a known or well-known method may be used.
  • step S43 the DBMS 210 searches the recommended keyword table 220 and extracts L keyword strings including the specified recommended keyword X.
  • “L” is a preset value, which is the maximum number of keyword strings extracted from the keyword table 220.
  • step S44 the DBMS 210 extracts a path (keyword string) from the recommended keyword X to the product information among the one or more keyword strings extracted in step S43.
  • step S45 the DBMS 210 generates data for outputting the path from the recommended keyword X to the product information to the area 543 for displaying the related graph in the search result display area 542 shown in FIG.
  • step S46 the DBMS 210 acquires the product information of the path extracted in step S44 from the product database 310, and generates data to be output to the area 544 for displaying the product information in the search result display area 542 shown in FIG. It responds to the WEB server 100 together with the area 543 of the related graph generated in step S45.
  • the WEB server 100 transmits a response from the DBMS 210 to the client terminal 500.
  • the WEB server 100 transfers the search keyword to the database server 200 and requests a search for the search keyword.
  • the database server 200 generates a recommended keyword table 220 in advance, and searches the recommended keyword table 220 using the search keyword received from the WEB server 100.
  • the database server 200 identifies a recommended keyword that matches or is similar to the search keyword and sets it as the recommended keyword X.
  • the DBMS 210 extracts a plurality of keyword strings related to the recommended keyword X from the recommended keyword table 220 and outputs a keyword string from the recommended keyword X to the product information.
  • the end of the keyword string is product information as a search result, and the keyword string from the recommended keyword X to the product information is output to the search result display area 542 of the client terminal 500 shown in FIG. Is done.
  • a plurality of keyword strings are acquired from the keyword table 220.
  • the DBMS 210 responds to the client terminal 500 via the WEB server 100 as data for displaying the acquired keyword string in the search result display area 542 shown in FIG. That is, a plurality of paths from “metal” to product information are output to the display 504 of the client terminal 500.
  • 220 ′ in FIG. 22 is a table for searching the recommended keyword table 220 and can be temporarily generated by the DBMS 210.
  • the second word matches the search keyword in the entries of the priority levels 1 to 3 in the recommended keyword table 220.
  • the DBMS 210 extracts three words from the recommended keyword table 220 as the keyword string in the recommended keyword table 220 as indicated by 220 ′ as a keyword string, and responds to the client terminal 500 via the WEB server 100.
  • the search keyword is “S tube”, as shown in FIG. 24, the third word matches the search keyword in the entries with the priority of 1-2 in the recommended keyword table 220.
  • the DBMS 210 extracts two words from the recommended keyword table 220 as the keyword string in the recommended keyword table 220 as indicated by 220 ′ as a keyword string, and responds to the client terminal 500 via the WEB server 100.
  • the recommended keyword table 220 is generated from a user access history table 420 that stores a history of searches and browsing (access to search results) performed by a plurality of users on the electronic commerce site 2.
  • the present invention can provide the user of the client terminal 500 with an implicit evaluation of the relationship between the search keyword and the product information from the structure of the keyword string (relation graph 2400). Further, by providing the relation graph 2400 having a tree structure that reaches the product information from the search keyword, the user of the client terminal 500 can obtain desired product information very easily as compared with the conventional example. Further, in the present invention, it is not necessary to prepare product information immediately after the sale as in the conventional example, and therefore the labor for operating the electronic commerce site 2 can be greatly reduced.
  • the search keyword that the user can come up with has a problem that the range of hit products becomes very wide because of the high degree of abstraction. For this reason, in the case of a new product that is unfamiliar with the name of the product, this is an essential problem of Cold ⁇ problem described in the conventional example, and there is a problem that it is difficult to easily reach the target product from the search keyword.
  • a keyword sequence from an abstract keyword to which an unfamiliar product belongs to a more specific keyword is generated from a history of searched keywords and a history of referenced product information. Became possible.
  • by creating the recommended keyword table 220 using the search histories of a large number of users it is possible to link keywords and product information that were not easily linked by one user.
  • FIG. 26 is a flowchart showing a modification of the process performed in step S4 of FIG.
  • the recommended keyword higher in the recommended keyword table 220 that matches or is similar to the search keyword is also output to the search result display area 542.
  • This flowchart is executed by the DBMS 210 when the database server 200 receives the search keyword input by the client terminal 500 via the WEB server 100.
  • step S51 the DBMS 210 receives a search keyword from the WEB server 100 as in step S41 of FIG.
  • This search keyword is a keyword input by the client terminal 500 on the search screen 540 of FIG.
  • the DBMS 210 searches the recommended keyword table 220 and identifies a recommended keyword X that matches the received search keyword.
  • the DBMS 210 may specify the recommended keyword closest to the search keyword as the recommended keyword X from a synonym dictionary or the like.
  • step S53 the DBMS 210 searches the recommended keyword table 220 and extracts M keyword strings including the specified recommended keyword X. “M” indicates the maximum value of the number of keyword strings to be extracted with a preset value.
  • step S54 the DBMS 210 extracts a recommended keyword Y higher than the recommended keyword X (from the search start side) in the keyword string extracted in step S53.
  • step S55 the DBMS 210 searches the recommended keyword table 220, and extracts L keyword strings (paths) from the higher-order recommended keyword Y to the product information. Then, the DBMS 210 generates data for outputting the path from the recommended keyword Y to the product information to the area 543 displaying the related graph in the search result display area 542 shown in FIG.
  • step S56 the DBMS 210 acquires the product information of the path extracted in step S54 from the product database 310, and generates data to be output to the area 544 for displaying the product information in the search result display area 542 shown in FIG. It responds to the WEB server 100 together with the area 543 of the related graph generated in step S55.
  • the WEB server 100 transmits a response from the DBMS 210 to the client terminal 500.
  • the database server 200 searches the recommended keyword table 220 generated in advance with the search keyword received from the WEB server 100.
  • the database server 200 identifies a recommended keyword X that matches or is similar to the search keyword, and further acquires a keyword string from the recommended keyword Y higher than the recommended keyword X to the product information from the search origin side. Data to be output to the search result display area 542 shown in FIG.
  • the electronic commerce site 2 of the present invention can provide a keyword string and product information in a wider range than the search keyword that the user of the client terminal 500 came up with, thereby increasing the possibility of reaching a new product immediately after sale. it can.
  • the DBMS 210 when the DBMS 210 receives “hook” as a search keyword, the “hook” of the second word 223 having a priority 221 of 1 to 3 is specified as the recommended keyword X, as shown in FIG. Then, since the recommended keyword 220 higher than the specified second word 223 (starting side of the search) has “metal” in the first word 222, the DBMS 210 specifies this “metal” as the recommended keyword Y. . Then, as shown in FIG. 3, the DBMS 210 transmits a keyword string of a relation graph 2400 having “metal” as a vertex to the WEB server 100.
  • Product information can also be reached via the “mounting bracket”.
  • the range of the recommended keyword Y higher than the recommended keyword X specified by the DBMS 210 can be specified within a preset range. For example, when the Nth word of the recommended keyword 220 is specified as the recommended keyword X, the (N ⁇ ) th word is specified as the recommended keyword Y. As a result, it is possible to obtain a keyword string from the recommended keyword Y that is higher than the recommended keyword X identified from the search keyword by the ⁇ level. Thereby, the electronic commerce site 2 can provide the user of the client terminal 500 with a broader keyword string than the input search keyword.
  • the DBMS 210 of the database server 200 searches for the recommended keyword 220.
  • the WEB server 100 may use the recommended keyword 220.
  • the recommended keyword generation unit 230 is executed by the WEB server 100 and the recommended keyword 220 is stored in the memory 102.
  • the WEB server 100 transfers the search keyword to the database server 200 and receives the search result from the database server 200, the WEB server 100 performs the same processing as steps S42 to S46 shown in FIG. Thereby, the WEB server 100 can add the recommended keyword 220 to the search result (product information) of the database server 200 and provide the related graph 2400 to the client terminal 500.
  • the WEB server 100, the log collection server 400, the database server 200, and the storage unit 300 of the above embodiment may be provided together as an information search device.
  • the present invention can be applied to a computer system that provides recommended information related to information to be searched.
  • the present invention is applied to a database system that searches for product information using a search keyword received from a client terminal and also provides recommended information. Is preferred.
  • the present invention can also be applied to an information recommendation device or a search device that provides recommended product information together with product information to be searched.

Abstract

The present invention pertains to a computer system with which keywords are input to search for products; in particular, the present invention is computer system which, with a keyword that has been input as a starting point, presents product groups which have resulted in purchases by other users, and an intermediate keyword string existing between these product groups and the keyword. Thus, it is possible to tie together database search information (products) and keywords which could not have been easily tied together with one user.

Description

情報検索方法、情報検索装置及び記憶媒体Information search method, information search device, and storage medium
 本発明は、キーワードを入力して商品を検索する計算機システムに関し、特に、入力されたキーワードを起点として、他のユーザが購買に至った商品群と、これら商品群とキーワードの間に存在する中間キーワード列を提示する技術に関する。 The present invention relates to a computer system that searches for a product by inputting a keyword, and in particular, a product group that another user has made a purchase from the entered keyword as a starting point, and an intermediate between these product group and the keyword. The present invention relates to a technique for presenting a keyword string.
 近年、高速な通信回線や携帯端末及びPCの普及に伴って、電子商取引が発展しつつある。消費者は電子商取引を行うサイトに接続することで、好きな時間に、好きな場所から、所望の商品を検索して購入することが可能となる。消費者にとって電子商取引は利便性が高いため、参加する消費者数や、販売する業者数及び提供される商品数が莫大となっている。商品数や業者数の数が増大したため、電子商取引のサイトに参加した消費者は、本来欲しかった商品を見つけられない、あるいは見つけるまで探す時間が長くかかってしまう状況にある。例えば、消費者が商品の名称の一部をキーワードとして検索した場合などでは、類似する名称の商品も一覧として提示され、消費者が欲する商品と異なる商品が多数列挙されるという状況が発生した。 In recent years, electronic commerce has been developed with the spread of high-speed communication lines, mobile terminals, and PCs. A consumer can search for and purchase a desired product from a favorite place at a favorite time by connecting to a site for electronic commerce. Since e-commerce is convenient for consumers, the number of participating consumers, the number of dealers and the number of products provided are enormous. Due to the increase in the number of products and the number of merchants, consumers who have participated in an e-commerce site cannot find the products they originally wanted, or take a long time to find them. For example, when a consumer searches for a part of the name of a product as a keyword, a product with a similar name is also presented as a list, and a situation occurs in which many products different from the product desired by the consumer are listed.
 このような状況を緩和するため、電子商取引のユーザへの情報を推薦する計算機システムとして、協調フィルタリングが提案され、実用化されている。協調フィルタリングは、例えば、Amazon.com(登録商標)のように検索した商品を表示する際に、「この商品を買った人はこんな商品も買っています」のように推薦する商品も提示している。これにより、電子商取引のユーザは、最初に検索した商品よりも、よりニーズに合った商品を選択する可能性が高くなる。 In order to alleviate this situation, collaborative filtering has been proposed and put to practical use as a computer system that recommends information to users of electronic commerce. Collaborative filtering, for example, presents recommended products such as "If you bought this product, you also bought this product" when you display the searched product like Amazon.com (registered trademark) Yes. Thereby, the user of electronic commerce is more likely to select a product that better meets the needs than the product first searched.
 ところが、上記情報推薦アルゴリズムである協調フィルタリングでは、購入、評価したユーザ数が少ない商品の場合、推薦されないという問題がある。これは、一般に、sparsityの問題と言われている。 However, in the collaborative filtering that is the information recommendation algorithm, there is a problem that a product with a small number of purchased and evaluated users is not recommended. This is generally referred to as a sparsity problem.
 また、上記協調フィルタリングでは、商品が市場投入されて間もない場合、その商品が推薦されにくいという問題もある。つまり、商品の発売直後では、購入したユーザが少ない場合や評価したユーザ数がない場合が多く、推薦される対象にはならない。これは、cold startの問題といわれている。 Also, the collaborative filtering has a problem that it is difficult to recommend a product if the product has just been put on the market. That is, immediately after the sale of a product, there are many cases where there are few purchased users or there are no evaluated users, and they are not recommended targets. This is said to be a cold start problem.
 上記のsparsityの問題およびcold startの問題を解決するため、様々な方法が提案されてきた。例えば、非特許文献1のように、Content-based filteringと言われる、性質の近い商品の評価を利用する方法が知られている。非特許文献1によれば、評価がない新たな商品の評価を、性質の近い商品に対する評価から推定することが可能になる。 Various methods have been proposed to solve the above sparsity problem and cold start problem. For example, as in Non-Patent Document 1, a method is known that uses evaluation of commodities with similar properties, called Content-based filtering. According to Non-Patent Document 1, it is possible to estimate the evaluation of a new product that has no evaluation from the evaluation of a product with similar properties.
特開2010-067032号公報JP 2010-067032 A
 しかし、上記非特許文献1のContent-based filteringでは、商品の性質を詳細に用意する必要があるため、大幅な手間がかかり、かつ、商品によって保持する性質が均等ではないため、推薦の性能にばらつきが出てしまうという問題がある。 However, in the content-based filtering of Non-Patent Document 1 described above, it is necessary to prepare the properties of the product in detail, so it takes a lot of time and the properties held by the products are not uniform. There is a problem that variations occur.
 このため、多数の商品を提供する電子商取引サイトでは上記非特許文献1が利用しにくく、上記のような問題解決には至っていない。 For this reason, the non-patent document 1 is difficult to use on an electronic commerce site that provides a large number of products, and the above problems have not been solved.
 また、電子商取引サイトを利用したユーザのクリックの履歴を活用することで、クリックされたURLのキーワードからユーザの好みを推定し、推定された好みから商品を特定して推薦する方法が知られている(例えば、特許文献1)。特許文献1の手法では、上記のContent-based filteringの方法における、性質の近い商品の評価を利用しなくてもよい。したがって、類似する商品がない場合でも推薦することが可能になる。 Also, a method is known in which user's click history using an electronic commerce site is utilized to estimate the user's preference from the clicked URL keyword, and to identify and recommend a product from the estimated preference. (For example, Patent Document 1). In the method of Patent Document 1, it is not necessary to use the evaluation of products with similar properties in the above-described content-based filtering method. Therefore, it is possible to recommend even if there is no similar product.
 しかしながら、上記特許文献1では、ユーザが希望する商品とURLが結びつかない場合は、URLの情報が有効にならないという問題がある。つまり、URLなどのユーザ側の情報と、商品アイテムの情報にギャップがある場合、ユーザの希望する商品にたどり着けないことになる。特に、市場投入間もない商品の場合、この傾向が顕著である。これは、上記従来例と同様に、発売直後の商品を閲覧(クリック)したユーザが少ないことに起因する。 However, the above-mentioned Patent Document 1 has a problem that the URL information is not valid when the URL is not linked to the product desired by the user. In other words, if there is a gap between the information on the user side such as the URL and the information on the product item, the product desired by the user cannot be reached. This tendency is particularly noticeable for products that have just entered the market. This is due to the fact that the number of users who browse (click on) the product immediately after the sale is small, as in the conventional example.
 本発明は上記問題点に鑑みてなされたもので、多数のユーザの検索履歴を活用することで、一人のユーザでは結び付けられなかったキーワードと商品情報を結びつけることを目的とする。 The present invention has been made in view of the above-described problems, and an object of the present invention is to tie keywords and merchandise information that cannot be linked by one user by utilizing search histories of a large number of users.
 本発明は、プロセッサと記憶装置とを備えた計算機で、受信した検索キーワードで所定のデータベースから検索を行う情報検索方法であって、前記計算機が受信した検索キーワードの履歴と前記データベースの情報へのアクセスの履歴からキーワード列を生成する第1のステップと、前記計算機が前記検索キーワードを受信する第2のステップと、前記計算機が前記検索キーワードに一致または類似するキーワードを含む前記キーワード列を検索し、1つ以上のキーワード列を抽出する第3のステップと、前記計算機が前記抽出したキーワード列のうち、前記検索キーワードに一致または類似するキーワードから前記データベースの情報に至るキーワードを出力する第4のステップと、を含む。 The present invention relates to an information search method for performing a search from a predetermined database using a received search keyword in a computer including a processor and a storage device, wherein the search keyword history received by the computer and the information in the database are stored. A first step of generating a keyword string from an access history; a second step of receiving the search keyword by the computer; and searching for the keyword string including a keyword that matches or is similar to the search keyword. A third step of extracting one or more keyword strings, and a fourth step of outputting a keyword from the keyword matching or similar to the search keyword to the information in the database among the extracted keyword strings Steps.
 本発明によれば、検索キーワードからデータベースの情報に到達するキーワード列を提供することで、データベースの利用者は、所望する情報を前記従来例に比して極めて容易に得ることができる。特に、多数のユーザの検索履歴を活用して推薦キーワードテーブルを作成することで、一人のユーザでは容易に結び付けられなかったキーワードとデータベースの情報を結びつけることが可能となる。 According to the present invention, by providing a keyword string that reaches database information from a search keyword, a database user can obtain desired information much more easily than the conventional example. In particular, by creating a recommended keyword table using the search histories of a large number of users, it becomes possible to link keywords and database information that were not easily linked by a single user.
本発明の実施形態を示し、計算機システムの一例を示すブロック図である。It is a block diagram which shows embodiment of this invention and shows an example of a computer system. 本発明の実施形態を示し、計算機システムで行われる全体の処理を示すフローチャートである。It is a flowchart which shows embodiment of this invention and shows the whole process performed with a computer system. 本発明の実施形態を示し、クライアント端末で商品情報を検索するときの、検索画面の一例を示す画面イメージである。It is a screen image which shows embodiment of this invention and shows an example of a search screen when searching for merchandise information with a client terminal. 本発明の実施形態を示し、推薦キーワードを生成する処理の一例を示すフローチャートである。It is a flowchart which shows embodiment of this invention and shows an example of the process which produces | generates a recommendation keyword. 本発明の実施形態を示し、ユーザアクセス履歴テーブルの一例を示す図である。It is a figure which shows embodiment of this invention and shows an example of a user access history table. 本発明の実施形態を示し、図5で行われる関連グラフの生成処理の詳細を示すフローチャートである。It is a flowchart which shows embodiment of this invention and shows the detail of the production | generation process of the related graph performed in FIG. 本発明の実施形態を示し、ユーザアクセス履歴テーブルから同一セッションの履歴を抽出する様子を示す図である。It is a figure which shows embodiment of this invention and shows a mode that the log | history of the same session is extracted from a user access history table. 本発明の実施形態を示し、同一セッションのセッションログ420Aから部分グラフを抽出する様子を示す図である。It is a figure which shows embodiment of this invention and shows a mode that a partial graph is extracted from the session log 420A of the same session. 本発明の実施形態を示し、同一セッションのセッションログ420Bから部分グラフを抽出する様子を示す図である。It is a figure which shows embodiment of this invention and shows a mode that a partial graph is extracted from the session log 420B of the same session. 本発明の実施形態を示し、同一セッションのセッションログ420Cから部分グラフを抽出する様子を示す図である。It is a figure which shows embodiment of this invention and shows a mode that a subgraph is extracted from the session log 420C of the same session. 本発明の実施形態を示し、同一セッションのセッションログ420Dから部分グラフを抽出する様子を示す図である。It is a figure which shows embodiment of this invention and shows a mode that a subgraph is extracted from session log 420D of the same session. 本発明の実施形態を示し、同一セッションのセッションログ420Eから部分グラフを抽出する様子を示す図である。It is a figure which shows embodiment of this invention and shows a mode that a partial graph is extracted from the session log 420E of the same session. 本発明の実施形態を示し、同一セッションのセッションログ420Fから部分グラフを抽出する様子を示す図である。It is a figure which shows embodiment of this invention and shows a mode that a subgraph is extracted from the session log 420F of the same session. 本発明の実施形態を示し、関連グラフの一例を示す図である。It is a figure which shows embodiment of this invention and shows an example of a related graph. 本発明の実施形態を示し、関連グラフから確率遷移行列250Aを生成する様子を示す図である。It is a figure which shows embodiment of this invention and shows a mode that the probability transition matrix 250A is produced | generated from a related graph. 本発明の実施形態を示し、確率遷移行列250Aから確率遷移行列Bを生成する様子を示す図である。It is a figure which shows embodiment of this invention and shows a mode that the probability transition matrix B is produced | generated from the probability transition matrix 250A. 本発明の実施形態を示し、確率遷移行列250Bから確率遷移行列Cを生成する様子を示す図である。It is a figure which shows embodiment of this invention and shows a mode that the probability transition matrix C is produced | generated from the probability transition matrix 250B. 本発明の実施形態を示し、確率遷移行列250Cから固有ベクトルを求める例を示す図である。It is a figure which shows embodiment of this invention and shows the example which calculates | requires an eigenvector from the probability transition matrix 250C. 本発明の実施形態を示し、第1固有ベクトルと関連グラフを示す図である。It is a figure which shows embodiment of this invention and shows a 1st eigenvector and a related graph. 本発明の実施形態を示し、第2固有ベクトルと関連グラフを示す図である。It is a figure which shows embodiment of this invention and shows a 2nd eigenvector and a related graph. 本発明の実施形態を示し、推薦キーワードテーブルの一例を示す図である。It is a figure which shows embodiment of this invention and shows an example of a recommendation keyword table. 本発明の実施形態を示し、検索キーワードと推薦キーワードの関係を示す図である。It is a figure which shows embodiment of this invention and shows the relationship between a search keyword and a recommendation keyword. 本発明の実施形態を示し、他の検索キーワードと推薦キーワードの関係を示す図である。It is a figure which shows embodiment of this invention and shows the relationship between another search keyword and a recommendation keyword. 本発明の実施形態を示し、さらに他の検索キーワードと推薦キーワードの関係を示す図である。It is a figure which shows embodiment of this invention and shows the relationship of another search keyword and a recommendation keyword. 本発明の実施形態を示し、図2のステップS4の詳細を示し、推薦キーワードを出力する処理のフローチャートである。It is a flowchart of the process which shows embodiment of this invention, shows the detail of step S4 of FIG. 2, and outputs a recommendation keyword. 本発明の変形例を示し、図2のステップS4の変形例を示し、推薦キーワードを出力する処理のフローチャートである。It is a flowchart of the process which shows the modification of this invention, shows the modification of step S4 of FIG. 2, and outputs a recommendation keyword.
 本発明を実施するための形態(以下、「実施形態」という)について、適宜図面を参照しながら詳細に説明する。 DETAILED DESCRIPTION OF EMBODIMENTS Embodiments for carrying out the present invention (hereinafter referred to as “embodiments”) will be described in detail with reference to the drawings as appropriate.
 図1は、本発明の実施形の態を示し、計算機システムの構成の一例を示すブロック図である。図1においてWEBサーバ100、データベースサーバ200、ストレージ装置300及びログ収集サーバ400は電子商取引サイト2を構成し、電子商取引サイト2はインターネット1またはWANを介して接続された複数のクライアント端末500に電子商取引のWEBサービスを提供する。図1において、LAN3に接続されたWEBサーバ100、データベースサーバ200、ストレージ装置300及びログ収集サーバ400は、電子商取引サイト2を構成する。電子商取引サイト2のLAN3は、インターネット1を介してクライアント端末500に接続される。 FIG. 1 is a block diagram showing an embodiment of the present invention and showing an example of the configuration of a computer system. In FIG. 1, a WEB server 100, a database server 200, a storage device 300, and a log collection server 400 constitute an electronic commerce site 2. The electronic commerce site 2 is electronically connected to a plurality of client terminals 500 connected via the Internet 1 or WAN. Providing WEB services for commercial transactions. In FIG. 1, a WEB server 100, a database server 200, a storage device 300, and a log collection server 400 connected to the LAN 3 constitute an electronic commerce site 2. The LAN 3 of the electronic commerce site 2 is connected to the client terminal 500 via the Internet 1.
 電子商取引サイト2を利用するユーザは、クライアント端末500のブラウザを介してWEBサーバ100と接続し、WEBサーバ100は商品情報の提供や商品の購入などのサービスを提供する例を示す。 A user who uses the electronic commerce site 2 connects to the WEB server 100 via the browser of the client terminal 500, and the WEB server 100 provides an example of providing services such as provision of product information and purchase of products.
 <クライアント端末500> <Client terminal 500>
 各クライアント端末500は、演算処理を行うプロセッサ501と、データやプログラムを保持するメモリ502と、データやプログラムを格納するストレージ装置503と、出力装置としてのディスプレイ装置504と、マウスやキーボードなどの入力デバイス505を備える。 Each client terminal 500 includes a processor 501 that performs arithmetic processing, a memory 502 that stores data and programs, a storage device 503 that stores data and programs, a display device 504 as an output device, and inputs such as a mouse and a keyboard. A device 505 is provided.
 クライアント端末500のメモリ502にはWEBブラウザがロードされ、プロセッサ501によって実行される。そして、WEBブラウザによってクライアント端末500が電子商取引サイト2のWEBサーバ100からサービスの提供を受ける。例えば、クライアント端末500は入力デバイス505からユーザが入力した検索キーワードをWEBサーバ100へ送信して商品情報の検索を要求する。WEBサーバ100は受信したキーワードから、該当する商品の情報をデータベースサーバ200から取得してクライアント端末500に送信する。クライアント端末500は、WEBサーバ100から受信した検索結果としての商品情報をディスプレイ装置504に表示する。 A WEB browser is loaded into the memory 502 of the client terminal 500 and executed by the processor 501. Then, the client terminal 500 receives a service from the WEB server 100 of the electronic commerce site 2 by the WEB browser. For example, the client terminal 500 transmits a search keyword input by the user from the input device 505 to the WEB server 100 and requests a search for product information. The WEB server 100 acquires information on the corresponding product from the received keyword from the database server 200 and transmits it to the client terminal 500. The client terminal 500 displays product information as a search result received from the WEB server 100 on the display device 504.
 <電子商取引サイト2> <Electronic commerce site 2>
 電子商取引サイト2は、複数のクライアント端末500から要求を受け付けてサービスを提供するWEBサーバ100と、ストレージ装置503に格納された商品データベース310を管理して、WEBサーバ100がクライアント端末500から受け付けたキーワードで商品情報を検索するデータベースサーバ200と、クライアント端末500のアクセスの履歴を取得して蓄積するログ収集サーバ400がLAN3に接続されて、相互に通信可能となっている。本発明では、WEBサーバ100がクライアント端末500から受け付けた検索キーワードでデータベースサーバ200に商品データベース310の検索を行う際に、検索した商品情報に加えて、予め作成しておいた推薦キーワードテーブル220のキーワード列も提供するものである。以下、電子商取引サイト2を構成する各サーバの構成についてそれぞれ説明する。 The e-commerce site 2 manages the WEB server 100 that receives requests from a plurality of client terminals 500 and provides services, and the product database 310 stored in the storage device 503, and the WEB server 100 receives the requests from the client terminals 500. A database server 200 that searches for product information by keyword and a log collection server 400 that acquires and stores the access history of the client terminal 500 are connected to the LAN 3 and can communicate with each other. In the present invention, when the WEB server 100 searches the product database 310 in the database server 200 with the search keyword received from the client terminal 500, in addition to the searched product information, the recommended keyword table 220 created in advance is stored. A keyword column is also provided. Hereinafter, the structure of each server which comprises the electronic commerce site 2 is each demonstrated.
 <WEBサーバ100> <WEB server 100>
 WEBサーバ100は、演算処理を行うプロセッサ101と、情報を保持するメモリ102と、を備えて図示しないネットワークインターフェースを介してLAN3に接続される。メモリ102には、WEBサービス部110がロードされてプロセッサ101によって実行される。 The WEB server 100 includes a processor 101 that performs arithmetic processing and a memory 102 that stores information, and is connected to the LAN 3 via a network interface (not shown). The memory 102 is loaded with a WEB service unit 110 and executed by the processor 101.
 WEBサービス部110は、クライアント端末500のWEBブラウザが送信したHTTPによる要求を受け付けるWebサーバ機能と、Webサーバ機能が受け付けた処理要求に対して、データベースサーバ200からデータを取得し、取得したデータに所定の加工などを行ってWebサーバ機能へ応答するアプリケーションサーバの機能を含むものとする。なお、WEBサービス部110のWebサーバ機能とアプリケーションサーバ機能を独立させて、それぞれサーバとすることができる。WEBサービス部110は、データベースサーバ200から取得したデータをクライアント端末500に送信する。 The WEB service unit 110 acquires data from the database server 200 in response to a Web server function that accepts an HTTP request transmitted by the WEB browser of the client terminal 500 and a processing request accepted by the Web server function. It is assumed that a function of an application server that performs predetermined processing or the like and responds to the Web server function is included. Note that the web server function and the application server function of the WEB service unit 110 can be made independent to serve as servers. The WEB service unit 110 transmits data acquired from the database server 200 to the client terminal 500.
 <データベースサーバ200> <Database server 200>
 データベースサーバ200は、演算処理を行うプロセッサ201と、情報を保持するメモリ202と、を備えて図示しないネットワークインターフェースを介してLAN3に接続される。メモリ102には、データベース管理システム(以下DBMS)210と推薦キーワードテーブル220と関連グラフ240、確率遷移行列250、固有ベクトル260を生成する推薦キーワード生成部230がロードされて実行される。DBMS210は、ストレージ装置300の商品データベース310を管理する。DBMS210は、WEBサーバ100から検索キーワードを受け付けると、ストレージ装置300の商品データベース310を検索し、検索キーワードにマッチした商品情報を取得する。このとき、DBMS210は、検索キーワードにマッチする推薦キーワードテーブル220からキーワード列を取得して、キーワード列の終端には検索結果としての商品情報を含めてWEBサーバ100へ応答する。本実施形態では、データベースサーバ200が商品データベース310と推薦キーワードテーブル220を検索する情報の検索装置として機能し、DBMS210は検索部として機能する。 The database server 200 includes a processor 201 that performs arithmetic processing and a memory 202 that stores information, and is connected to the LAN 3 via a network interface (not shown). A recommended keyword generation unit 230 that generates a database management system (hereinafter referred to as DBMS) 210, a recommended keyword table 220, a related graph 240, a probability transition matrix 250, and an eigenvector 260 is loaded into the memory 102 and executed. The DBMS 210 manages the product database 310 of the storage apparatus 300. When the DBMS 210 receives a search keyword from the WEB server 100, the DBMS 210 searches the product database 310 of the storage apparatus 300 and acquires product information that matches the search keyword. At this time, the DBMS 210 acquires a keyword string from the recommended keyword table 220 that matches the search keyword, and responds to the WEB server 100 including the product information as the search result at the end of the keyword string. In the present embodiment, the database server 200 functions as an information search device that searches the product database 310 and the recommended keyword table 220, and the DBMS 210 functions as a search unit.
 推薦キーワード生成部230は、所定のタイミングでログ収集サーバ400が収集したユーザアクセス履歴テーブル420を参照し、後述するように関連グラフ240や推薦キーワードテーブル220を生成し、メモリ202に保持する。なお、推薦キーワード生成部230は、生成した推薦キーワードテーブル220や固有ベクトル260等をストレージ装置300に格納するようにしてもよい。推薦キーワード生成部230は、推薦キーワードテーブル220を生成する際に、関連グラフ240、確率遷移行列250、固有ベクトル260を生成する。これらの詳細については後述する。 The recommended keyword generation unit 230 refers to the user access history table 420 collected by the log collection server 400 at a predetermined timing, generates a related graph 240 and a recommended keyword table 220 as described later, and stores them in the memory 202. The recommended keyword generation unit 230 may store the generated recommended keyword table 220, the eigenvector 260, and the like in the storage device 300. When generating the recommended keyword table 220, the recommended keyword generation unit 230 generates a relation graph 240, a probability transition matrix 250, and an eigenvector 260. Details of these will be described later.
 なお、本実施形態では、推薦キーワード生成部230をデータベースサーバ200で実行する例を示したが、これに限定されるものではない。本発明では、ユーザアクセス履歴テーブル420を参照して推薦キーワードテーブル220を生成し、DBMS210が推薦キーワードテーブル220を参照し、キーワード列と商品情報をWEBサーバ100へ応答できればよい。このため、推薦キーワード生成部230は、データベースサーバ200以外のログ収集サーバ400やWEBサーバ100で実行することができる。 In the present embodiment, an example in which the recommended keyword generation unit 230 is executed by the database server 200 is shown, but the present invention is not limited to this. In the present invention, the recommended keyword table 220 is generated by referring to the user access history table 420, and the DBMS 210 may refer to the recommended keyword table 220 and respond to the keyword string and the product information to the WEB server 100. Therefore, the recommended keyword generation unit 230 can be executed by the log collection server 400 or the WEB server 100 other than the database server 200.
 また、本発明では、検索キーワードを受け付けたWEBサーバ100がキーワード列と商品情報をクライアント端末500に応答するので、WEBサーバ100で推薦キーワードテーブル220と固有ベクトル260等を保持するようにしても良い。 In the present invention, since the WEB server 100 that has received the search keyword responds to the client terminal 500 with the keyword string and the product information, the WEB server 100 may hold the recommended keyword table 220, the eigenvector 260, and the like.
 <ログ収集サーバ400> <Log collection server 400>
 ログ収集サーバ400は、演算処理を行うプロセッサ401と、情報を保持するメモリ402と、を備えて図示しないネットワークインターフェースを介してLAN3に接続される。メモリ402には、ログ収集部410がロードされてプロセッサ401によって実行される。 The log collection server 400 includes a processor 401 that performs arithmetic processing and a memory 402 that stores information, and is connected to the LAN 3 via a network interface (not shown). A log collection unit 410 is loaded into the memory 402 and executed by the processor 401.
 ログ収集部410は、クライアント端末500が要求した検索キーワードと商品情報を取得し、ユーザアクセス履歴テーブル420に蓄積する。なお、本実施形態では、メモリ402にユーザアクセス履歴テーブル420を格納する例を示すが、ストレージ装置300やログ収集サーバ400のローカルのストレージ装置(図示省略)にユーザアクセス履歴テーブル420を格納するようにしても良い。 The log collection unit 410 acquires the search keyword and product information requested by the client terminal 500 and accumulates them in the user access history table 420. In this embodiment, an example in which the user access history table 420 is stored in the memory 402 is shown. However, the user access history table 420 is stored in the storage device 300 or a local storage device (not shown) of the log collection server 400. Anyway.
 ログ収集部410は、クライアント端末500がWEBサーバ100に対して商品データベース310の情報を要求したときに、図5に示すユーザアクセス履歴テーブル420に新たなエントリを加えて、クライアント端末500が要求した情報を蓄積する。 When the client terminal 500 requests information on the product database 310 from the WEB server 100, the log collection unit 410 adds a new entry to the user access history table 420 shown in FIG. Accumulate information.
 図5はユーザアクセス履歴テーブル420を示す。ユーザアクセス履歴テーブル420は、クライアント端末500が商品データベース310の情報を要求したときの時刻情報を格納する日時421と、クライアント端末500の識別子または検索要求を行う利用者の識別子を格納するユーザID422と、クライアント端末500と電子商取引サイト2の間に張られたセッションの識別子を格納するセッションID422と、クライアント端末500が行った操作の種類を格納するアクション424と、クライアント端末500が入力または選択した検索キーワードを格納するキーワード425と、クライアント端末500が要求した商品情報の所在を格納する商品情報URL426とから一つのエントリを構成する。なお、上記アクション424には、後述する商品情報の検索画面で、クライアント端末500が検索キーワードを入力した場合には「input」がアクション424に格納され、クライアント端末500が商品情報を選択したときには「select」がアクション424に格納される。 FIG. 5 shows a user access history table 420. The user access history table 420 includes a date and time 421 that stores time information when the client terminal 500 requests information in the product database 310, and a user ID 422 that stores an identifier of the client terminal 500 or an identifier of a user who makes a search request. A session ID 422 for storing an identifier of a session established between the client terminal 500 and the electronic commerce site 2, an action 424 for storing the type of operation performed by the client terminal 500, and a search input or selected by the client terminal 500 One entry is composed of a keyword 425 for storing the keyword and a product information URL 426 for storing the location of the product information requested by the client terminal 500. In the action 424, “input” is stored in the action 424 when the client terminal 500 inputs a search keyword on the product information search screen described later, and when the client terminal 500 selects the product information, “ “select” is stored in action 424.
 ここで、ログ収集サーバ400は、クライアント端末500がWEBサーバ100に要求した内容をアクセスの履歴として蓄積するため、クライアント端末500とWEBサーバ100の間に介在するように配置すればよい。例えば、ログ収集サーバ400は、クライアント端末500とWEBサーバ100の間でパケットを転送するプロクシとして機能させることができる。 Here, the log collection server 400 may be disposed so as to be interposed between the client terminal 500 and the WEB server 100 in order to accumulate the contents requested by the client terminal 500 from the WEB server 100 as an access history. For example, the log collection server 400 can function as a proxy that transfers packets between the client terminal 500 and the WEB server 100.
 なお、本発明ではクライアント端末500が商品データベース310の商品情報をWEBサーバ100へ要求したときに、ユーザアクセス履歴テーブル420に新たなエントリを追加できればよいので、図1の構成に限定される物ではない。例えば、WEBサーバ100のWEBサービス部110でクライアント端末500のログを生成し、WEBサーバ100に保持したユーザアクセス履歴テーブル420を更新しても良い。 In the present invention, when the client terminal 500 requests product information in the product database 310 from the WEB server 100, it is only necessary to add a new entry to the user access history table 420. Absent. For example, the log of the client terminal 500 may be generated by the WEB service unit 110 of the WEB server 100 and the user access history table 420 held in the WEB server 100 may be updated.
 また、WEBサーバ100のWEBサービス部100と、データベースサーバ200のDBMS210、推薦キーワード生成部230、ログ収集サーバ400のログ収集部410はそれぞれプログラムで構成される。これらのプログラムは、非一時的な計算機読み取り可能な記憶媒体としてのストレージ装置300に格納され、各サーバの起動時にメモリにロードされる。 Further, the WEB service unit 100 of the WEB server 100, the DBMS 210 of the database server 200, the recommended keyword generation unit 230, and the log collection unit 410 of the log collection server 400 are each configured by a program. These programs are stored in the storage apparatus 300 as a non-transitory computer-readable storage medium, and loaded into the memory when each server is started.
 <全体の処理> <Overall processing>
 図2は、図1の計算機システムで行われる全体的な処理のフローチャートである。まず、ステップS1では、複数のクライアント端末500がWEBサーバ100にアクセスして、検索キーワードによって商品情報を要求する。 FIG. 2 is a flowchart of overall processing performed in the computer system of FIG. First, in step S1, a plurality of client terminals 500 access the WEB server 100 and request product information using a search keyword.
 ステップS2では、ログ収集サーバ400は、各クライアント端末500が要求した検索キーワードと各クライアント端末500がアクセスした商品情報を、それぞれユーザアクセス履歴テーブル420に蓄積する。 In step S2, the log collection server 400 stores the search keyword requested by each client terminal 500 and the product information accessed by each client terminal 500 in the user access history table 420, respectively.
 一方、ステップS3では、所定の時間間隔(例えば、1時間毎)でデータベースサーバ200の推薦キーワード生成部230がユーザアクセス履歴テーブル420を参照して推薦キーワードテーブル220と固有ベクトル260等を生成しておく。 On the other hand, in step S3, the recommended keyword generation unit 230 of the database server 200 generates the recommended keyword table 220, the eigenvector 260, and the like with reference to the user access history table 420 at predetermined time intervals (for example, every hour). .
 そして、ステップS4では、上記ステップS1で受け付けた検索キーワードを含むキーワード列(推薦キーワード列)をデータベースサーバ200のDBMS210が推薦キーワードテーブル220から抽出する。そして、データベースサーバ200のDBMS210は、抽出したキーワード列と、このキーワード列から検索された商品情報を商品データベース310から取得してWEBサーバ100に応答する。WEBサーバ100はデータベースサーバ200から受け付けた情報を、検索キーワードの送信元のクライアント端末500に応答する。 In step S4, the DBMS 210 of the database server 200 extracts the keyword string (recommended keyword string) including the search keyword received in step S1 from the recommended keyword table 220. Then, the DBMS 210 of the database server 200 acquires the extracted keyword string and the merchandise information retrieved from the keyword string from the merchandise database 310 and responds to the WEB server 100. The WEB server 100 returns the information received from the database server 200 to the client terminal 500 that is the transmission source of the search keyword.
 この結果、クライアント端末500のディスプレイ装置504には、図3に示すような検索画面540が表示される。図3は、クライアント端末500がWEBサーバ100にアクセスして、商品情報を要求する際にディスプレイ装置504に表示される検索画面540である。 As a result, a search screen 540 as shown in FIG. 3 is displayed on the display device 504 of the client terminal 500. FIG. 3 shows a search screen 540 displayed on the display device 504 when the client terminal 500 accesses the WEB server 100 and requests product information.
 この検索画面540は、検索キーワード(図中入力キーワード)を入力する領域541と、検索キーワードに対するWEBサーバ100からの検索結果を表示する領域542(検索結果表示領域)の2つに分けられる。そして、検索結果を表示する領域542は、上半分が検索キーワードと推薦キーワードを含む関連グラフ(木構造のキーワード列)2400を表示する領域543と、関連グラフの終端(木構造の葉部分=リーフノード)には検索結果としての商品情報を表示する領域544から構成される。クライアント端末500のユーザが、商品情報の領域541に表示されたNo.1~N0.4の商品情報の枠内を選択すると、WEBサーバ100は商品データベース310から商品情報を取得してディスプレイ装置504に表示する。検索結果を表示する領域542の、関連グラフ2400は、後述するように、検索キーワードを入力して図25または図26の処理で推薦キーワードテーブル220から抽出されたキーワード列のキーワードを接続したものである。 The search screen 540 is divided into an area 541 for inputting a search keyword (input keyword in the figure) and an area 542 (search result display area) for displaying a search result from the WEB server 100 for the search keyword. An area 542 for displaying the search result includes an area 543 for displaying a related graph (tree structure keyword string) 2400 including a search keyword and a recommended keyword in the upper half, and an end of the related graph (leaf portion of the tree structure = leaf). The node) includes an area 544 for displaying product information as a search result. The user of the client terminal 500 displays the No. displayed in the product information area 541. When the product information frame of 1 to N0.4 is selected, the WEB server 100 acquires product information from the product database 310 and displays it on the display device 504. As will be described later, the relation graph 2400 in the area 542 for displaying the search result is obtained by inputting the search keyword and connecting the keyword in the keyword string extracted from the recommended keyword table 220 in the process of FIG. 25 or FIG. is there.
 ログ収集サーバ400は、図3に示す検索画面540でクライアント端末500がWEBサーバ100に対して商品情報を要求または検索するときに、ユーザアクセス履歴テーブル420に新たな履歴を加える。 The log collection server 400 adds a new history to the user access history table 420 when the client terminal 500 requests or searches for product information from the WEB server 100 on the search screen 540 shown in FIG.
 つまり、クライアント端末500で、検索画面540の領域541で検索キーワードを入力し、WEBサーバ100に検索キーワードを送信するとログ収集サーバ400は、新たなエントリユーザアクセス履歴テーブル42に追加し、当該エントリのアクション424は「input」に設定される。一方、検索結果542の領域544で商品情報を選択(またはクリック)し、WEBサーバ100に商品情報を要求するとログ収集サーバ400は、新たなエントリを加えて、当該エントリのアクション424は「select」に設定される。 That is, when the client terminal 500 inputs a search keyword in the area 541 of the search screen 540 and transmits the search keyword to the WEB server 100, the log collection server 400 adds the entry to the new entry user access history table 42, and Action 424 is set to “input”. On the other hand, when product information is selected (or clicked) in the area 544 of the search result 542 and the product information is requested from the WEB server 100, the log collection server 400 adds a new entry, and the action 424 of the entry is “select”. Set to
 <推薦キーワードテーブル220の生成の概要> <Outline of generation of recommended keyword table 220>
 図4はデータベースサーバ200の推薦キーワード生成部230で行われる処理の一例を示すフローチャートである。この処理は、図2のステップS3で行われる処理である。 FIG. 4 is a flowchart illustrating an example of processing performed by the recommended keyword generation unit 230 of the database server 200. This process is a process performed in step S3 of FIG.
 ステップS31では、推薦キーワード生成部230がログ収集サーバ400のアクセス履歴テーブル420を参照して、検索キーワードの入力履歴を取得する。ステップS32では、推薦キーワード生成部230がログ収集サーバ400のアクセス履歴テーブル420を参照して、商品情報のアクセス履歴を取得する。 In step S31, the recommended keyword generation unit 230 refers to the access history table 420 of the log collection server 400 and acquires the input history of the search keyword. In step S <b> 32, the recommended keyword generation unit 230 refers to the access history table 420 of the log collection server 400 and acquires the access history of product information.
 ステップS33では、推薦キーワード生成部230が図6の処理を実行して、ユーザアクセス履歴テーブル420より、検索キーワードから商品情報に至るキーワード列を抽出して関連グラフ240を生成する。この関連グラフ240は、図7~図13で示すように、ユーザアクセス履歴テーブル420のセッションID423毎に、関連グラフ240の一部を構成する部分グラフ240A~240Fを抽出する。そして、推薦キーワード生成部230が、部分グラフ240A~240Fから検索キーワードより商品情報に至るキーワード列を含むキーワードの木構造を、図14に示す関連グラフ240として生成する。 In step S33, the recommended keyword generation unit 230 executes the process of FIG. 6, extracts a keyword string from the search keyword to the product information from the user access history table 420, and generates a related graph 240. As shown in FIGS. 7 to 13, the relation graph 240 extracts partial graphs 240A to 240F constituting a part of the relation graph 240 for each session ID 423 of the user access history table 420. Then, the recommended keyword generation unit 230 generates a keyword tree structure including a keyword string from the partial graphs 240A to 240F to the product information from the search keyword as a relation graph 240 shown in FIG.
 すなわち、関連グラフ240は、電子商取引サイト2のユーザの何れかが過去に検索したキーワードの履歴と、閲覧した商品情報の履歴から、商品情報に辿りつくまでのキーワードを推薦キーワード生成部230が結合したグラフである。 That is, in the related graph 240, the recommended keyword generation unit 230 combines keywords from a history of keywords searched by any of the users of the electronic commerce site 2 and a history of the product information that has been browsed to reach the product information. It is a graph.
 次に、ステップS34では、推薦キーワード生成部230が、上記ステップS33で求めた関連グラフ240から、検索キーワードの起点と終点(以下、親ノードから子ノード)の遷移確率を求めて確率遷移行列Z(250)を求める。確率遷移行列Zの演算は、後述の図15~図18のように行われる。 Next, in step S34, the recommended keyword generator 230 obtains the transition probabilities of the starting point and the end point of the search keyword (hereinafter, parent node to child node) from the related graph 240 obtained in step S33, and the probability transition matrix Z (250) is obtained. The calculation of the probability transition matrix Z is performed as shown in FIGS.
 ステップS35では、推薦キーワード生成部230が、上記ステップS34で求めた確率遷移行列Zから固有ベクトル260をK本演算する。ここで、Kは予め設定した値(例えば、「2」)で、管理者などが設定する値である。この演算によって図19、図20のようにK本のキーワード列が選択される。 In step S35, the recommended keyword generation unit 230 calculates K eigenvectors 260 from the probability transition matrix Z obtained in step S34. Here, K is a preset value (for example, “2”), which is a value set by an administrator or the like. By this calculation, K keyword strings are selected as shown in FIGS.
 そして、ステップS36では、推薦キーワード生成部230が、上記ステップS35で求めたK本の固有ベクトル260から、検索キーワードを基点として商品情報に至る推薦キーワードテーブル220を図21で示すように生成する。 In step S36, the recommended keyword generation unit 230 generates a recommended keyword table 220 that reaches the product information from the search keyword as a base point from the K eigenvectors 260 obtained in step S35 as shown in FIG.
 以下、上記ステップS33~S36のそれぞれについて以下に詳述する。 Hereinafter, each of the above steps S33 to S36 will be described in detail below.
 <関連グラフの生成> <Generation of related graph>
 図6は、関連グラフ240の生成の詳細を示すフローチャートである。ステップS331では、推薦キーワード生成部230が、予め設定された期間内のアクセスログをセッション毎にユーザアクセス履歴テーブル420から抽出する。予め設定された期間としては、各6ヶ月以内などの期間を設定することができる。なお、以下では、アクセスログは、ユーザアクセス履歴テーブル420から抽出した所定の期間内のアクセスログと、商品情報へのアクセスの記録を示す。 FIG. 6 is a flowchart showing details of generation of the relation graph 240. In step S331, the recommended keyword generation unit 230 extracts an access log within a preset period from the user access history table 420 for each session. As the preset period, a period such as within 6 months can be set. Hereinafter, the access log indicates an access log within a predetermined period extracted from the user access history table 420 and a record of access to product information.
 次に、ステップS332で、推薦キーワード生成部230は、抽出したアクセスログについてセッションID423が同一のレコードを抽出する。そして、ステップS333では、推薦キーワード生成部230は、セッションID423が同一のレコードを日時421の昇順でソートする。そして、推薦キーワード生成部230は、ソートした検索履歴からキーワード425に格納された検索キーワードを順次取得して連結する。推薦キーワード生成部230は、連結した検索キーワードと商品情報を関連グラフ240として保持する。 Next, in step S332, the recommended keyword generation unit 230 extracts a record having the same session ID 423 for the extracted access log. In step S333, the recommended keyword generation unit 230 sorts records having the same session ID 423 in ascending order of the date and time 421. Then, the recommended keyword generation unit 230 sequentially acquires the search keywords stored in the keyword 425 from the sorted search history and connects them. The recommended keyword generation unit 230 holds the linked search keyword and product information as a relation graph 240.
 推薦キーワード生成部230は、所定期間内の全てのセッションID423について部分グラフ240A~240Fを抽出して上記関連グラフ240を生成する。 The recommended keyword generation unit 230 extracts the partial graphs 240A to 240F for all the session IDs 423 within a predetermined period and generates the related graph 240.
 例えば、図7で示すように、データベースサーバ200の推薦キーワード生成部230は、ログ収集サーバ400のユーザアクセス履歴テーブル420から日付421が所定の期間内のアクセスログを取得する。そして、推薦キーワード生成部230は取得したユーザアクセス履歴テーブル420から、同一のセッションID423のレコードとして、図示の例では、セッションID423=91119のレコードを抽出し、日時421の昇順でソートしたものを、セッションログ420Aとする。 For example, as illustrated in FIG. 7, the recommended keyword generation unit 230 of the database server 200 acquires an access log whose date 421 is within a predetermined period from the user access history table 420 of the log collection server 400. Then, the recommended keyword generation unit 230 extracts the records with the session ID 423 = 91119 in the illustrated example as the records with the same session ID 423 from the acquired user access history table 420, and sorts them in ascending order of the date and time 421. The session log is 420A.
 次に、推薦キーワード生成部230は、図8で示すように、セッションログ420Aから、日時421の古いレコードから順次キーワード425の内容を抽出し、抽出した検索キーワードを並べたデータを部分グラフ240Aとして生成する。 Next, as shown in FIG. 8, the recommended keyword generation unit 230 sequentially extracts the contents of the keyword 425 from the oldest record of the date and time 421 from the session log 420A, and sets the data including the extracted search keywords as a partial graph 240A. Generate.
 図8の例では、推薦キーワード生成部230が、セッションID423=91119に等しい複数のレコードをセッションログ420Aとしてユーザアクセス履歴テーブル420から抽出し、日付421の昇順でソートする。そして、推薦キーワード生成部230は、ソート後のセッションログ420Aから日時421の昇順でキーワード425の内容を抽出した結果、「金具」、「フック」、「S字フック」の検索キーワードを時系列で接続したものを部分グラフ240Aとして生成する。つまり、セッションID423=91119では、「金具」という検索キーワードをクライアント端末500から入力した後に、「フック」という検索キーワードを入力し、当該セッションの最後に「S字フック」という順で検索キーワードを入力した履歴を示す。つまり、部分グラフ240Aは、検索キーワードの時系列的な関係を、検索キーワードの接続順序で表現するグラフである。 In the example of FIG. 8, the recommended keyword generation unit 230 extracts a plurality of records equal to the session ID 423 = 91119 from the user access history table 420 as the session log 420A and sorts them in ascending order of the date 421. The recommended keyword generation unit 230 extracts the contents of the keyword 425 from the sorted session log 420A in ascending order of the date and time 421. As a result, the search keywords “metal fitting”, “hook”, and “S-shaped hook” are chronologically searched. A connected graph is generated as a subgraph 240A. That is, in session ID 423 = 91119, after inputting the search keyword “metal fitting” from the client terminal 500, the search keyword “hook” is input, and the search keyword is input in the order of “S-shaped hook” at the end of the session. Show the history. That is, the partial graph 240A is a graph that expresses the time-series relationship of the search keywords in the connection order of the search keywords.
 図9は、図8と同様であり、推薦キーワード生成部230が図7のユーザアクセス履歴テーブル420からセッションID423=91121に等しい複数のレコードをセッションログ420Bとして抽出した例を示す。推薦キーワード生成部230は、セッションログ420Bを、日時421の昇順でソートする。そして、推薦キーワード生成部230は、ソート後のセッションログ420Bから日時421の昇順でキーワード425の内容を抽出した結果、「フック」、「S字フック」の検索キーワードを時系列で接続したものを部分グラフ240Bとして生成する。 FIG. 9 is the same as FIG. 8 and shows an example in which the recommended keyword generation unit 230 extracts a plurality of records having the session ID 423 = 91121 as the session log 420B from the user access history table 420 of FIG. The recommended keyword generation unit 230 sorts the session log 420B in ascending order of the date and time 421. Then, the recommended keyword generation unit 230 extracts the contents of the keyword 425 from the sorted session log 420B in ascending order of the date and time 421. As a result, the search keyword “hook” and “S-shaped hook” are connected in time series. Generated as a subgraph 240B.
 図10は、図8と同様であり、推薦キーワード生成部230が図7のユーザアクセス履歴テーブル420からセッションID423=92111に等しい複数のレコードをセッションログ420Cとして図7のユーザアクセス履歴テーブル420から抽出した例を示す。推薦キーワード生成部230は、セッションログ420Cを、日時421の昇順でソートする。そして、推薦キーワード生成部230は、ソート後のセッションログ420Cから日時421の昇順でキーワード425の内容を抽出した結果、「フック」、「S管」の検索キーワードを時系列で接続したものを部分グラフ240Cとして生成する。 10 is the same as FIG. 8, and the recommended keyword generation unit 230 extracts a plurality of records equal to the session ID 423 = 92111 from the user access history table 420 of FIG. 7 as the session log 420C from the user access history table 420 of FIG. An example is shown. The recommended keyword generation unit 230 sorts the session log 420C in ascending order of the date and time 421. The recommended keyword generation unit 230 extracts the contents of the keyword 425 from the sorted session log 420C in ascending order of the date and time 421. As a result, the search keyword “hook” and “S tube” are connected in time series. Generated as graph 240C.
 図11は、図8と同様であり、推薦キーワード生成部230が図7のユーザアクセス履歴テーブル420からセッションID423=92911に等しい複数のレコードをセッションログ420Dとして図7のユーザアクセス履歴テーブル420から抽出した例を示す。推薦キーワード生成部230は、セッションログ420Dを、日時421の昇順でソートする。そして、推薦キーワード生成部230は、ソート後のセッションログ420Dから日時421の昇順でキーワード425の内容を抽出した結果、「金具」、「取付金具」の検索キーワードを時系列で接続したものを部分グラフ240Dとして生成する。 FIG. 11 is the same as FIG. 8, and the recommended keyword generation unit 230 extracts a plurality of records equal to the session ID 423 = 92911 from the user access history table 420 of FIG. 7 as the session log 420 D from the user access history table 420 of FIG. An example is shown. The recommended keyword generation unit 230 sorts the session log 420D in ascending order of the date and time 421. Then, the recommended keyword generation unit 230 extracts the contents of the keyword 425 from the sorted session log 420D in ascending order of the date and time 421. As a result, the search keyword “metal fitting” and “attachment metal fitting” are connected in time series. Generated as a graph 240D.
 図12は、図8と同様であり、推薦キーワード生成部230が図7のユーザアクセス履歴テーブル420からセッションID423=92923に等しい複数のレコードをセッションログ420Eとして図7のユーザアクセス履歴テーブル420から抽出した例を示す。推薦キーワード生成部230は、セッションログ420Eを、日時421の昇順でソートする。そして、推薦キーワード生成部230は、ソート後のセッションログ420Eから日時421の昇順でキーワード425の内容を抽出した結果、「S管」、「ユニットS管XXX」の検索キーワードを時系列で接続したものを部分グラフ240Eとして生成する。ここで、推薦キーワード生成部230は、生成した部分グラフ240Eの「ユニットS管XXX」は、商品情報URL426にデータがあるので、関連グラフ240のリーフノードとなる商品情報とする。 12 is the same as FIG. 8, and the recommended keyword generation unit 230 extracts a plurality of records equal to session ID 423 = 92923 from the user access history table 420 of FIG. 7 as the session log 420E from the user access history table 420 of FIG. An example is shown. The recommended keyword generation unit 230 sorts the session log 420E in ascending order of the date and time 421. Then, the recommended keyword generation unit 230 extracts the contents of the keyword 425 from the sorted session log 420E in ascending order of the date and time 421. As a result, the search keywords “S tube” and “Unit S tube XXX” are connected in time series. A thing is generated as a subgraph 240E. Here, the recommended keyword generation unit 230 sets the “unit S tube XXX” of the generated partial graph 240E as product information to be a leaf node of the related graph 240 because there is data in the product information URL 426.
 図13は、図8と同様であり、推薦キーワード生成部230が図7のユーザアクセス履歴テーブル420からセッションID423=93211に等しい複数のレコードをセッションログ420Fとして図7のユーザアクセス履歴テーブル420から抽出した例を示す。推薦キーワード生成部230は、セッションログ420Fを、日時421の昇順でソートする。そして、推薦キーワード生成部230は、ソート後のセッションログ420Fから日時421の昇順でキーワード425の内容を抽出した結果、「S管」、「ユニットS管YYY」の検索キーワードを時系列で接続したものを部分グラフ240Fとして生成する。ここで、推薦キーワード生成部230は、生成した部分グラフ240Fの「ユニットS管YYY」は、商品情報URL426にデータがあるので、関連グラフ240のリーフノードとなる商品情報とする。 FIG. 13 is the same as FIG. 8, and the recommended keyword generation unit 230 extracts a plurality of records equal to session ID 423 = 93211 from the user access history table 420 of FIG. 7 as the session log 420F from the user access history table 420 of FIG. An example is shown. The recommended keyword generation unit 230 sorts the session log 420F in ascending order of the date and time 421. The recommended keyword generation unit 230 extracts the contents of the keyword 425 from the sorted session log 420F in ascending order of the date and time 421. As a result, the search keywords “S tube” and “Unit S tube YYY” are connected in time series. A thing is generated as a subgraph 240F. Here, the recommended keyword generation unit 230 sets the “unit S tube YYY” of the generated partial graph 240F as product information to be a leaf node of the related graph 240 because there is data in the product information URL 426.
 以上のように、図6の処理によって、推薦キーワード生成部230は、セッションID423毎に時系列でキーワード425の内容を抽出したものを部分グラフ240A~240Fとして生成する。これらの部分グラフ240A~240Fの集合が、図1に示したデータベースサーバ200のメモリ202内の関連グラフ240となる。そして、推薦キーワード生成部230は、上記生成した部分グラフ240A~240Fより、リーフノードとなる検索キーワードから順に接続関係を辿って、図14に示す関連グラフ240を生成する。 As described above, the recommended keyword generation unit 230 generates, as the partial graphs 240A to 240F, the contents of the keyword 425 extracted in time series for each session ID 423 by the processing of FIG. A set of these partial graphs 240A to 240F becomes a related graph 240 in the memory 202 of the database server 200 shown in FIG. Then, the recommended keyword generator 230 generates a related graph 240 shown in FIG. 14 by following the connection relations in order from the search keyword that becomes the leaf node from the generated partial graphs 240A to 240F.
 この関連グラフ240の生成は、推薦キーワード生成部230が、商品情報に対応付けられたリーフノード間の時系列的に古い検索キーワードのうち、同一の検索キーワードを持つ関連グラフを同一のノード親ノードをもつ部分グラフとして抽出する。例えば、リーフノードを持つ部分グラフ240Eと240Fは、親ノードとして「S管」が等しいので、推薦キーワード生成部230は「S管」を親ノードとして子ノードにリーフノードをもつ部分グラフを生成する。 In the generation of the relation graph 240, the recommended keyword generation unit 230 converts the relation graph having the same search keyword among the old search keywords in time series between the leaf nodes associated with the product information to the same node parent node. Extract as a subgraph with. For example, since the subgraphs 240E and 240F having leaf nodes have the same “S tube” as a parent node, the recommended keyword generation unit 230 generates a subgraph having “S tube” as a parent node and a leaf node as a child node. .
 そして、推薦キーワード生成部230は、各部分グラフ240A~240Dについても、リーフノードから親ノードについてそれぞれ比較して、同一のノードを親ノードとして各部分グラフ240A~240Fを纏めることで図14の関連グラフ240を生成する。 Then, the recommended keyword generation unit 230 compares each of the partial graphs 240A to 240D from the leaf node to the parent node, and collects the partial graphs 240A to 240F with the same node as the parent node. A graph 240 is generated.
 図4のステップS33及び図6の処理により、推薦キーワード生成部230では、セッションログ423A~423Fから検索キーワードを部分グラフ240A~240Fとして抽出する。そして、推薦キーワード生成部230は、商品情報に対応付けられたリーフノードから親ノードとなる検索キーワードを辿って、図14に示すように、検索キーワードから商品情報に至るキーワードを木構造のキーワード列で表した関連グラフ240を生成する。 4, the recommended keyword generation unit 230 extracts the search keywords as the partial graphs 240A to 240F from the session logs 423A to 423F by the processing of step S33 of FIG. 4 and FIG. Then, the recommended keyword generation unit 230 traces the search keyword that is the parent node from the leaf node associated with the product information, and selects the keyword from the search keyword to the product information as shown in FIG. The relation graph 240 expressed as follows is generated.
 図14は、検索キーワードから商品情報に至るキーワード列の遷移回数を示す関連グラフ240である。関連グラフ240は、検索キーワード間で遷移の関係を線で接続し、遷移した回数を接続線の横に表示したものである。例えば、親ノードとしての「フック」から子ノードとしての「S字フック」への遷移は、図8の部分グラフ240Aと、図9の部分グラフ240Bの合計2回の遷移が存在するので、関連グラフ240の「フック」から「S字フック」への遷移回数は2回となる。 FIG. 14 is a relation graph 240 showing the number of transitions of the keyword string from the search keyword to the product information. The relation graph 240 is obtained by connecting transition relationships between search keywords with a line and displaying the number of transitions beside the connection line. For example, the transition from the “hook” as the parent node to the “S-shaped hook” as the child node has a total of two transitions of the partial graph 240A in FIG. 8 and the partial graph 240B in FIG. The number of transitions from “hook” to “S-shaped hook” in the graph 240 is two.
 <確率遷移行列の生成> <Generation of probability transition matrix>
 次に、図4のステップS34で行われる関連グラフ240から各検索キーワードの確率遷移行列250を生成する処理について詳述する。 Next, the process of generating the probability transition matrix 250 of each search keyword from the related graph 240 performed in step S34 of FIG. 4 will be described in detail.
 図15は、関連グラフ240を構成するキーワード列から確率遷移行列250Aを求める一例を示す。 FIG. 15 shows an example in which the probability transition matrix 250A is obtained from the keyword sequence constituting the related graph 240.
 まず、推薦キーワード生成部230は、関連グラフ240を構成するキーワード列を取得して、親ノードを表す列251へ各検索キーワードを格納し、子ノードを示す行252へ各検索キーワードを格納する。そして、推薦キーワード生成部230は、関連グラフ240から各検索キーワードについて、親ノードから子ノードへ遷移した回数を設定し、確率遷移行列250Aとして生成する。 First, the recommended keyword generation unit 230 acquires a keyword string constituting the related graph 240, stores each search keyword in a column 251 representing a parent node, and stores each search keyword in a row 252 indicating a child node. And the recommendation keyword production | generation part 230 sets the frequency | count of having changed from the parent node to the child node about each search keyword from the related graph 240, and produces | generates it as the probability transition matrix 250A.
 次に、推薦キーワード生成部230は、確率遷移行列250Aの行単位で子ノードへの遷移回数の総数を求めて母数とする。そして、推薦キーワード生成部230は、各行の母数で子ノードへの遷移回数を除した確率を求めて、図16で示す確率遷移行列250Bとして生成する。例えば、確率遷移行列250Aの親ノードが「フック」の行では、「S管」への遷移が1回、「S字フック」への2回であるので、行の遷移回数の総数は3回となる。推薦キーワード生成部230は、図16の確率遷移行列250Bのように、親ノードが「フック」の行では、「S管」への遷移確率が1/3、「S字フック」への遷移確率が1/3に設定する。推薦キーワード生成部230は、他の行についても同様に、親ノードから子ノードへの遷移確率を行単位で求め、確率遷移行列250Bを生成する。 Next, the recommended keyword generator 230 obtains the total number of transitions to the child node in units of rows of the probability transition matrix 250A and sets it as a population parameter. Then, the recommended keyword generation unit 230 obtains a probability obtained by dividing the number of transitions to the child node by the parameter of each row, and generates the probability transition matrix 250B shown in FIG. For example, in the row where the parent node of the probability transition matrix 250A is “hook”, the transition to “S tube” is 1 time and the transition to “S hook” is 2, so the total number of row transitions is 3 times. It becomes. As shown in the probability transition matrix 250B of FIG. 16, the recommended keyword generation unit 230 has a transition probability to “S tube” of 1/3 and a transition probability to “S-shaped hook” in the row where the parent node is “hook”. Is set to 1/3. The recommended keyword generation unit 230 similarly determines the transition probability from the parent node to the child node in units of other rows, and generates a probability transition matrix 250B.
 次に、推薦キーワード生成部230は、確率遷移行列250Bのうち図14の関連グラフ240で子ノードがない親ノードの遷移確率を、各行の構成要素(子ノード)の総数の逆数として設定し、図17で示す確率遷移行列250Cとして生成する。図17の例では、検索の課程で確率遷移行列250Bでは子ノードのない親ノード=「取付金具」、「S字フック」、「ユニットS管XXX」、「S管YYY」にたどり着いた後も、さらに検索キーワードを入力する場合がある。このため、子ノードのない親ノードでは、他の子ノードのいずれかへ遷移すると仮定して均等の確率を設定する。すなわち、確率遷移行列250Cでは、子ノード(図中、行方向の「金具」~「S管YYY」)の総数が「7」であるので、各親ノードから子ノードへ遷移する確率を1/7に設定する。 Next, the recommended keyword generation unit 230 sets the transition probability of the parent node having no child node in the related graph 240 of FIG. 14 in the probability transition matrix 250B as the reciprocal of the total number of components (child nodes) of each row, It is generated as a probability transition matrix 250C shown in FIG. In the example of FIG. 17, even after reaching the parent node having no child nodes = “mounting bracket”, “S-shaped hook”, “unit S tube XXX”, “S tube YYY” in the probability transition matrix 250B in the search process. In some cases, a search keyword is input. For this reason, an equal probability is set in a parent node having no child node on the assumption that a transition is made to any other child node. That is, in the probability transition matrix 250C, since the total number of child nodes (in the figure, “metal fittings” to “S tube YYY” in the row direction) is “7”, the probability of transition from each parent node to the child node is 1 / Set to 7.
 次に、推薦キーワード生成部230は、図18で示すように、単位行列として確率遷移行列250Dを生成し、上記図17で生成した確率遷移行列250Cから確率遷移行列Zを生成する。ここで、単位行列としての確率遷移行列250Dは、親ノードから子ノードへの遷移確率が全て均等とした行列で、図示の例では子ノードの総数が7であるので、単位行列は、1/7の遷移確率に設定される。 Next, as shown in FIG. 18, the recommended keyword generation unit 230 generates a probability transition matrix 250D as a unit matrix, and generates a probability transition matrix Z from the probability transition matrix 250C generated in FIG. Here, the probability transition matrix 250D as a unit matrix is a matrix in which the transition probabilities from the parent node to the child node are all equal, and in the illustrated example, the total number of child nodes is 7, so the unit matrix is 1 / A transition probability of 7 is set.
 次に、推薦キーワード生成部230は、図17で求めた確率遷移行列250Cを行列Hとし、図18で設定した確率遷移行列250Dの単位行列を行列Iとして、次式より確率遷移行列250を求める。なお、以下では確率遷移行列250を行列Zで表す。
Z = αH+(1-α)×I  ……… (1)
ただし、αは安定化係数で、予め設定した値(例えば、0.8~0.9等)である。
Next, the recommended keyword generation unit 230 obtains the probability transition matrix 250 from the following equation using the probability transition matrix 250C obtained in FIG. 17 as the matrix H and the unit matrix of the probability transition matrix 250D set in FIG. . Hereinafter, the probability transition matrix 250 is represented by a matrix Z.
Z = αH + (1−α) × I (1)
Where α is a stabilization coefficient and is a preset value (eg, 0.8 to 0.9).
 以上により、確率遷移行列Zが推薦キーワード生成部230によって求められる。 As described above, the probability transition matrix Z is obtained by the recommended keyword generation unit 230.
 <固有ベクトルの演算> <Eigenvector calculation>
 次に、図4のステップS35で行われる固有ベクトル260の演算について説明する。推薦キーワード生成部230は、上記(1)式で求めた確率遷移行列Zについて、予め設定したK本の固有ベクトルを演算する。ただし、固有ベクトルの演算は、固有値の大きいものから順にK本の固有ベクトルを演算する。例えば、K=2の場合、図19、図20のように、推薦キーワード生成部230は、検索キーワードから商品情報に至るシーケンスから、図19に示す第1固有ベクトルと、図20に示す第2固有ベクトルをそれぞれ求める。 Next, the calculation of the eigenvector 260 performed in step S35 of FIG. 4 will be described. The recommended keyword generation unit 230 calculates K eigenvectors set in advance for the probability transition matrix Z obtained by the equation (1). However, the eigenvectors are calculated in the order of K eigenvectors in descending order of eigenvalues. For example, in the case of K = 2, as shown in FIGS. 19 and 20, the recommended keyword generation unit 230 makes the first eigenvector shown in FIG. 19 and the second eigenvector shown in FIG. 20 from the sequence from the search keyword to the product information. For each.
 なお、図19は、固有ベクトル260と、第1固有ベクトルの値を関連グラフ240に設定した例を示す。また、図20は、固有ベクトル260と、第2固有ベクトルの値を関連グラフ240に設定した例を示す。 FIG. 19 shows an example in which the eigenvector 260 and the value of the first eigenvector are set in the relation graph 240. FIG. 20 shows an example in which the values of the eigenvector 260 and the second eigenvector are set in the relation graph 240.
 図19の第1固有ベクトルを設定した関連グラフ240において、「金具」から商品情報である「ユニットS管XXX」に至るキーワード列で、固有ベクトル260の値が最も小さい「S管」=0.04が最も思いつきにくい検索キーワードである。つまり、ユーザアクセス履歴テーブル420のセッションログでは、「金具」の検索キーワードから「フック」の検索結果を得たユーザは多数存在するが、「S管」の検索キーワードから商品情報の「ユニットS管XXX」の検索結果を得たユーザは極めて少数であることを示す。本発明では、思いつきにくいが、商品情報にたどり着くことのできる固有ベクトルの小さい推薦キーワードを提示することができるのである。 In the related graph 240 in which the first eigenvector of FIG. 19 is set, “S tube” = 0.04 having the smallest value of the eigenvector 260 in the keyword string from “metal fitting” to “unit S tube XXX” which is product information. This is the most difficult search keyword. That is, in the session log of the user access history table 420, there are many users who have obtained the search result of “hook” from the search keyword “metal fitting”, but the “unit S tube” of the product information from the search keyword “S tube”. The number of users who have obtained the search result “XXX” is very small. In the present invention, although it is difficult to come up with, it is possible to present a recommended keyword with a small eigenvector that can reach product information.
 なお、図3の検索結果表示領域542の関連グラフ領域543に、第1固有ベクトルの値を表示しても良い。特に、第1固有ベクトルの値のうち最も値の小さい固有ベクトルの値を推薦キーワードと共に表示してもよい。あるいは、第1固有ベクトルの値のうち最も値の小さい固有ベクトルの推薦キーワードを協調して表示する等、固有ベクトルが最小であることを特定するようにしてもよい。これにより、商品情報へ辿りつくのに思いつきにくい推薦キーワードが何れであるかを明示することができる。 Note that the value of the first eigenvector may be displayed in the related graph area 543 of the search result display area 542 in FIG. In particular, the value of the eigenvector having the smallest value among the values of the first eigenvector may be displayed together with the recommended keyword. Or you may make it specify that an eigenvector is the minimum, such as displaying the recommendation keyword of the eigenvector with the smallest value among the values of a 1st eigenvector in cooperation. Thereby, it is possible to clearly indicate which recommended keyword is difficult to come up with to reach the product information.
 <推薦キーワードの生成> <Generation of recommended keywords>
 次に、図4のステップS36で行われる推薦キーワードテーブル220の生成について説明する。推薦キーワード生成部230は、上記ステップS35で、K=2の場合、上記図19、図20のように第1固有ベクトルと第2固有ベクトルを求める。そして、推薦キーワード生成部230は、図19に示す第1固有ベクトルでは、検索キーワードが「金具」から「フック」、「S管」を経てリーフノードである商品情報=「ユニットS管XXX」に至るキーワード列を得る。この、キーワード列に最も高い優先度=1を与える。また、図20に示す第2固有ベクトルでは、検索キーワードが「金具」から「フック」、「S管」を経てリーフノードである商品情報=「S管YYY」に至るキーワード列を得る。この、キーワード列に2番目の優先度=2を与える。 Next, generation of the recommended keyword table 220 performed in step S36 of FIG. 4 will be described. The recommended keyword generation unit 230 obtains the first eigenvector and the second eigenvector as shown in FIGS. 19 and 20 when K = 2 in step S35. Then, in the first eigenvector shown in FIG. 19, the recommended keyword generation unit 230 has the search keyword from “metal fitting” to “hook” and “S tube” to product information = “unit S tube XXX” which is a leaf node. Get keyword sequence. This keyword string is given the highest priority = 1. In the second eigenvector shown in FIG. 20, a keyword string is obtained from which the search keyword passes from “metal fitting” to “hook” and “S tube” to the leaf node product information = “S tube YYY”. The second priority = 2 is given to the keyword string.
 そして、推薦キーワード生成部230は、キーワード列の長さに応じて第1ワードから第Nワード(本実施形態ではN=4)までの検索キーワードを推薦キーワードとして、上記優先度の順に設定したテーブルを推薦キーワードテーブル220として生成する。この結果、図19、図20の例では、図21に示すように、優先度221に応じた第1ワード222から第4ワード225にキーワード列の検索キーワードが設定される。例えば、優先度221=1の推薦キーワードテーブル220は、第1ワード=「金具」から第4ワード=「ユニットS管XXX」のキーワード列から構成される。また、優先度221=2の推薦キーワードテーブル220は、第1ワード=「金具」から第4ワード=「S管YYY」のキーワード列から構成される。 Then, the recommended keyword generation unit 230 sets the search keywords from the first word to the Nth word (N = 4 in the present embodiment) as recommended keywords according to the length of the keyword string, and sets them in the order of the priorities. Are generated as the recommended keyword table 220. As a result, in the examples of FIGS. 19 and 20, as shown in FIG. 21, the keyword search keyword is set from the first word 222 to the fourth word 225 according to the priority 221. For example, the recommended keyword table 220 with the priority 221 = 1 includes a keyword string from the first word = “metal fitting” to the fourth word = “unit S tube XXX”. Further, the recommended keyword table 220 with the priority 221 = 2 includes a keyword string from the first word = “metal fitting” to the fourth word = “S tube YYY”.
 なお、図21において、優先度221=3,4のエントリは、固有ベクトル260を4本求めたときの例を示す。また、推薦キーワードテーブル220には、商品情報が第1ワード222~第Nワードの何れのフィールドに格納されているかの情報を格納したフィールドを加えておくことが望ましい。あるいは、推薦キーワードテーブル220のキーワード列の終端が商品情報のときに「0」を設定し、キーワード列の終端がキーワードのときに「1」を設定するフラグを各エントリに設けても良い。 In FIG. 21, the entries with priority 221 = 3, 4 show an example when four eigenvectors 260 are obtained. In addition, it is desirable to add a field storing information indicating in which field of the first word 222 to the Nth word the product information is stored in the recommended keyword table 220. Alternatively, each entry may be provided with a flag that sets “0” when the end of the keyword string in the recommended keyword table 220 is product information and sets “1” when the end of the keyword string is a keyword.
 <推薦キーワードの提示> <Presentation of recommended keywords>
 次に、図2のステップS4で示した、検索キーワードに対して推薦キーワードテーブル220に格納された推薦キーワードを提示する処理の詳細について以下に説明する。 Next, details of the process of presenting the recommended keyword stored in the recommended keyword table 220 for the search keyword shown in step S4 of FIG. 2 will be described below.
 図25は、図2のステップS4で行われる処理の詳細を示すフローチャートである。このフローチャートは、クライアント端末500が入力した検索キーワードを、WEBサーバ100を介してデータベースサーバ200が受信したときにDBMS210で実行される。 FIG. 25 is a flowchart showing details of the process performed in step S4 of FIG. This flowchart is executed by the DBMS 210 when the database server 200 receives the search keyword input by the client terminal 500 via the WEB server 100.
 ステップS41では、DBMS210がWEBサーバ100から検索キーワードを受け付ける。この検索キーワードは、クライアント端末500が図3の検索画面540で入力したキーワードである。 In step S41, the DBMS 210 receives a search keyword from the WEB server 100. This search keyword is a keyword input by the client terminal 500 on the search screen 540 of FIG.
 ステップS42では、DBMS210は推薦キーワードテーブル220を検索し、受け付けた検索キーワードと一致する推薦キーワードXを特定する。なお、推薦キーワードに一致する検索キーワードが推薦キーワードテーブル220内に見つからないときには、類義語辞書等から検索キーワードに最も近い推薦キーワード220をDBMS210が推薦キーワードXとして特定してもよい。なお、検索キーワードに最も近い類義語を推薦キーワードテーブル220から検索する手法については、公知または周知の手法を用いればよい。 In step S42, the DBMS 210 searches the recommended keyword table 220 and identifies a recommended keyword X that matches the accepted search keyword. When a search keyword that matches the recommended keyword is not found in the recommended keyword table 220, the DBMS 210 may specify the recommended keyword 220 closest to the search keyword as a recommended keyword X from a synonym dictionary or the like. As a method for searching the synonym closest to the search keyword from the recommended keyword table 220, a known or well-known method may be used.
 ステップS43では、DBMS210は推薦キーワードテーブル220を検索し、特定した推薦キーワードXを含むキーワード列をL本抽出する。なお、「L」は予め設定された値で、キーワードテーブル220から抽出するキーワード列の本数の最大値である。 In step S43, the DBMS 210 searches the recommended keyword table 220 and extracts L keyword strings including the specified recommended keyword X. “L” is a preset value, which is the maximum number of keyword strings extracted from the keyword table 220.
 ステップS44では、DBMS210は上記ステップS43で抽出した1以上のキーワード列のうち推薦キーワードXから商品情報に至るパス(キーワード列)を抽出する。ステップS45では、DBMS210が推薦キーワードXから商品情報に至るパスを、図3に示した検索結果表示領域542の関連グラフを表示する領域543に出力するデータを生成する。 In step S44, the DBMS 210 extracts a path (keyword string) from the recommended keyword X to the product information among the one or more keyword strings extracted in step S43. In step S45, the DBMS 210 generates data for outputting the path from the recommended keyword X to the product information to the area 543 for displaying the related graph in the search result display area 542 shown in FIG.
 ステップS46では、DBMS210が上記ステップS44で抽出したパスの商品情報を商品データベース310から取得し、図3に示した検索結果表示領域542の商品情報を表示する領域544に出力するデータを生成し、上記ステップS45で生成した関連グラフの領域543と共にWEBサーバ100に応答する。WEBサーバ100はDBMS210からの応答をクライアント端末500に送信する。 In step S46, the DBMS 210 acquires the product information of the path extracted in step S44 from the product database 310, and generates data to be output to the area 544 for displaying the product information in the search result display area 542 shown in FIG. It responds to the WEB server 100 together with the area 543 of the related graph generated in step S45. The WEB server 100 transmits a response from the DBMS 210 to the client terminal 500.
 以上の処理により、クライアント端末500がWEBサーバ100に検索キーワードを送信すると、WEBサーバ100はデータベースサーバ200に検索キーワードを転送して、検索キーワードの検索を依頼する。データベースサーバ200では予め推薦キーワードテーブル220を生成しておき、WEBサーバ100から受信した検索キーワードで推薦キーワードテーブル220を検索する。データベースサーバ200は、検索キーワードと一致または類似する推薦キーワードを特定して推薦キーワードXとする。DBMS210は推薦キーワードXに関連するキーワード列を推薦キーワードテーブル220から複数抽出し、推薦キーワードXから商品情報に至るキーワード列を出力する。このキーワード列の終端は、検索結果としての商品情報であり、推薦キーワードXから商品情報に至るキーワード列は、WEBサーバ100を介して図3で示したクライアント端末500の検索結果表示領域542に出力される。 When the client terminal 500 transmits a search keyword to the WEB server 100 through the above processing, the WEB server 100 transfers the search keyword to the database server 200 and requests a search for the search keyword. The database server 200 generates a recommended keyword table 220 in advance, and searches the recommended keyword table 220 using the search keyword received from the WEB server 100. The database server 200 identifies a recommended keyword that matches or is similar to the search keyword and sets it as the recommended keyword X. The DBMS 210 extracts a plurality of keyword strings related to the recommended keyword X from the recommended keyword table 220 and outputs a keyword string from the recommended keyword X to the product information. The end of the keyword string is product information as a search result, and the keyword string from the recommended keyword X to the product information is output to the search result display area 542 of the client terminal 500 shown in FIG. Is done.
 例えば、図22で示すように、DBMS210は検索キーワード226が「金具」で抽出する抽出本数の最大値L=4のとき、第1ワードが「金具」に一致する優先度=1~4の推薦キーワードテーブル220から複数のキーワード列を取得する。そしてDBMS210が、取得したキーワード列を図3に示す検索結果表示領域542に表示するデータとしてWEBサーバ100を介してクライアント端末500に応答する。すなわち、「金具」~商品情報に至る複数のパスが、クライアント端末500のディスプレイ504に出力される。なお、図22の220'は推薦キーワードテーブル220の検索用のテーブルであり、DBMS210が一時的に生成することができる。 For example, as shown in FIG. 22, when the search keyword 226 has a maximum value L = 4 extracted by the search keyword 226 “metal fitting”, the first word is recommended with priority = 1 to 4 matching “metal fitting”. A plurality of keyword strings are acquired from the keyword table 220. Then, the DBMS 210 responds to the client terminal 500 via the WEB server 100 as data for displaying the acquired keyword string in the search result display area 542 shown in FIG. That is, a plurality of paths from “metal” to product information are output to the display 504 of the client terminal 500. Note that 220 ′ in FIG. 22 is a table for searching the recommended keyword table 220 and can be temporarily generated by the DBMS 210.
 また、検索キーワードが「フック」の場合には、図23で示すように、推薦キーワードテーブル220の優先度が1~3のエントリにおいて第2ワードが検索キーワードに一致する。DBMS210は、図中220'で示すように推薦キーワードテーブル220のうち優先度が1~3の第2ワード以降をキーワード列として3本抽出し、WEBサーバ100を介してクライアント端末500に応答する。 If the search keyword is “hook”, as shown in FIG. 23, the second word matches the search keyword in the entries of the priority levels 1 to 3 in the recommended keyword table 220. The DBMS 210 extracts three words from the recommended keyword table 220 as the keyword string in the recommended keyword table 220 as indicated by 220 ′ as a keyword string, and responds to the client terminal 500 via the WEB server 100.
 また、検索キーワードが「S管」の場合には、図24で示すように、推薦キーワードテーブル220の優先度が1~2のエントリにおいて第3ワードが検索キーワードに一致する。DBMS210は、図中220'で示すように推薦キーワードテーブル220のうち優先度が1~2の第3ワード以降をキーワード列として2本抽出し、WEBサーバ100を介してクライアント端末500に応答する。 Also, when the search keyword is “S tube”, as shown in FIG. 24, the third word matches the search keyword in the entries with the priority of 1-2 in the recommended keyword table 220. The DBMS 210 extracts two words from the recommended keyword table 220 as the keyword string in the recommended keyword table 220 as indicated by 220 ′ as a keyword string, and responds to the client terminal 500 via the WEB server 100.
 以上より、クライアント端末500を操作する電子商取引サイト2のユーザは、WEBサーバ100から検索画面540を要求し、検索キーワードを入力すると、検索キーワードに近い推薦キーワードから商品情報に至る複数のキーワード列を関連グラフ240として得ることができる。この推薦キーワードテーブル220は、電子商取引サイト2で複数のユーザが実行した検索と閲覧(検索結果へのアクセス)の履歴を格納したユーザアクセス履歴テーブル420から生成するものである。 As described above, when the user of the electronic commerce site 2 who operates the client terminal 500 requests the search screen 540 from the WEB server 100 and inputs a search keyword, a plurality of keyword strings from recommended keywords close to the search keyword to product information are displayed. It can be obtained as a relation graph 240. The recommended keyword table 220 is generated from a user access history table 420 that stores a history of searches and browsing (access to search results) performed by a plurality of users on the electronic commerce site 2.
 これにより、前記従来例のように、ユーザなどが商品データベース310内の商品に評価を与える必要がなくなる。そして、本発明は、検索キーワードと商品情報の関係をキーワード列(関連グラフ2400)の構造から、暗黙の評価をクライアント端末500のユーザに提供することができ。また、検索キーワードから商品情報に到達する木構造の関連グラフ2400を提供することで、クライアント端末500のユーザは、所望する商品情報を前記従来例に比して極めて容易に得ることができる。また、本発明では、前記従来例のように発売直後の商品の情報を用意する必要もないので、電子商取引サイト2を運営する労力も大幅に低減できる。 This eliminates the need for the user or the like to give an evaluation to the product in the product database 310 as in the conventional example. The present invention can provide the user of the client terminal 500 with an implicit evaluation of the relationship between the search keyword and the product information from the structure of the keyword string (relation graph 2400). Further, by providing the relation graph 2400 having a tree structure that reaches the product information from the search keyword, the user of the client terminal 500 can obtain desired product information very easily as compared with the conventional example. Further, in the present invention, it is not necessary to prepare product information immediately after the sale as in the conventional example, and therefore the labor for operating the electronic commerce site 2 can be greatly reduced.
 商品などの検索の際に、確実に目的の商品情報に辿りつける検索キーワードは、商品名そのものや、商品の型番など、ユーザにとって比較的忘れやすい情報が多く存在する。 When searching for a product or the like, there are a lot of information that can be easily forgotten by the user, such as the product name itself and the model number of the product, as a search keyword that reliably reaches the target product information.
 一方、ユーザがすぐに思い付くことができる検索キーワードは、抽象度が高いためヒットする商品の範囲は非常に広くなってしまう、という問題があった。このため商品の名称になじみがない新商品の場合、前記従来例で述べたCold start problemの本質的な課題であり、容易に検索キーワードから目的の商品に辿りつけないという問題があった。 On the other hand, the search keyword that the user can come up with has a problem that the range of hit products becomes very wide because of the high degree of abstraction. For this reason, in the case of a new product that is unfamiliar with the name of the product, this is an essential problem of Cold の problem described in the conventional example, and there is a problem that it is difficult to easily reach the target product from the search keyword.
 これに対して、本発明では、検索されたキーワードの履歴と参照された商品情報の履歴から、なじみのない商品が属する抽象的なキーワードから、より具体的なキーワードに至るキーワード列を生成することが可能となった。特に、多数のユーザの検索履歴を活用して推薦キーワードテーブル220を作成することで、一人のユーザでは容易に結び付けられなかったキーワードと商品情報を結びつけることが可能となる。 On the other hand, in the present invention, a keyword sequence from an abstract keyword to which an unfamiliar product belongs to a more specific keyword is generated from a history of searched keywords and a history of referenced product information. Became possible. In particular, by creating the recommended keyword table 220 using the search histories of a large number of users, it is possible to link keywords and product information that were not easily linked by one user.
 本発明によれば、新商品であっても、例えば既に売れている商品から一旦、抽象的なキーワードに戻ってそこから手繰り寄せることができ、ユーザが新商品のうち本来欲しかった機能を有するものを容易に検索することが容易になる。 According to the present invention, even if it is a new product, for example, it is possible to return to an abstract keyword once from a product that has already been sold and to start from there, and to have a function that the user originally wanted among new products Makes it easy to search.
 なお、上記実施形態では、商品データベース310に本発明を適用した例を示したが、売買の有無にかかわらず、ユーザが他のユーザの評価を参考にしたい情報を格納したデータベースの検索システムまたは検索装置に適用することができる。 In the above embodiment, an example in which the present invention is applied to the product database 310 has been described. However, a database search system or search that stores information that a user wants to refer to other users' evaluations regardless of whether or not they are sold. It can be applied to the device.
 <変形例> <Modification>
 図26は、図2のステップS4で行われる処理の変形例を示すフローチャートである。この変形例では、検索キーワードに一致または類似する推薦キーワードテーブル220の高次(検索の起点側で上位)の推薦キーワードも検索結果表示領542へ出力する処理である。 FIG. 26 is a flowchart showing a modification of the process performed in step S4 of FIG. In this modified example, the recommended keyword higher in the recommended keyword table 220 that matches or is similar to the search keyword (higher on the search origin side) is also output to the search result display area 542.
 このフローチャートは、クライアント端末500が入力した検索キーワードを、WEBサーバ100を介してデータベースサーバ200が受信したときにDBMS210で実行される。 This flowchart is executed by the DBMS 210 when the database server 200 receives the search keyword input by the client terminal 500 via the WEB server 100.
 ステップS51では、図24のステップS41と同様に、DBMS210がWEBサーバ100から検索キーワードを受け付ける。この検索キーワードは、クライアント端末500が図3の検索画面540で入力したキーワードである。 In step S51, the DBMS 210 receives a search keyword from the WEB server 100 as in step S41 of FIG. This search keyword is a keyword input by the client terminal 500 on the search screen 540 of FIG.
 ステップS52では、DBMS210は推薦キーワードテーブル220を検索し、受け付けた検索キーワードと一致する推薦キーワードXを特定する。なお、推薦キーワードテーブル220に一致する検索キーワードが見つからないときには、類義語辞書等から検索キーワードに最も近い推薦キーワードをDBMS210が推薦キーワードXとして特定してもよい。 In step S52, the DBMS 210 searches the recommended keyword table 220 and identifies a recommended keyword X that matches the received search keyword. When a search keyword that matches the recommended keyword table 220 is not found, the DBMS 210 may specify the recommended keyword closest to the search keyword as the recommended keyword X from a synonym dictionary or the like.
 ステップS53では、DBMS210は推薦キーワードテーブル220を検索し、特定した推薦キーワードXを含むキーワード列をM本抽出する。なお、「M」は予め設定された値で抽出するキーワード列の本数の最大値を示す。 In step S53, the DBMS 210 searches the recommended keyword table 220 and extracts M keyword strings including the specified recommended keyword X. “M” indicates the maximum value of the number of keyword strings to be extracted with a preset value.
 ステップS54では、DBMS210は上記ステップS53で抽出したキーワード列のうち推薦キーワードXよりも高次(検索の起点側)の推薦キーワードYを抽出する。 In step S54, the DBMS 210 extracts a recommended keyword Y higher than the recommended keyword X (from the search start side) in the keyword string extracted in step S53.
 ステップS55では、DBMS210は推薦キーワードテーブル220を検索し、高次の推薦キーワードYから商品情報に至るキーワード列(パス)をL本抽出する。そして、DBMS210は推薦キーワードYから商品情報に至るパスを、図3に示した検索結果表示領域542の関連グラフを表示する領域543に出力するデータを生成する。ステップS56では、DBMS210が上記ステップS54で抽出したパスの商品情報を商品データベース310から取得し、図3に示した検索結果表示領域542の商品情報を表示する領域544に出力するデータを生成し、上記ステップS55で生成した関連グラフの領域543と共にWEBサーバ100に応答する。WEBサーバ100はDBMS210からの応答をクライアント端末500に送信する。 In step S55, the DBMS 210 searches the recommended keyword table 220, and extracts L keyword strings (paths) from the higher-order recommended keyword Y to the product information. Then, the DBMS 210 generates data for outputting the path from the recommended keyword Y to the product information to the area 543 displaying the related graph in the search result display area 542 shown in FIG. In step S56, the DBMS 210 acquires the product information of the path extracted in step S54 from the product database 310, and generates data to be output to the area 544 for displaying the product information in the search result display area 542 shown in FIG. It responds to the WEB server 100 together with the area 543 of the related graph generated in step S55. The WEB server 100 transmits a response from the DBMS 210 to the client terminal 500.
 以上の処理により、データベースサーバ200では予め生成した推薦キーワードテーブル220を、WEBサーバ100から受信した検索キーワードで検索する。データベースサーバ200は、検索キーワードと一致または類似する推薦キーワードXを特定し、さらに推薦キーワードXよりも検索の起点側の高次の推薦キーワードYから商品情報に至るキーワード列を取得して、図3で示した検索結果表示領域542に出力するデータを生成する。 Through the above processing, the database server 200 searches the recommended keyword table 220 generated in advance with the search keyword received from the WEB server 100. The database server 200 identifies a recommended keyword X that matches or is similar to the search keyword, and further acquires a keyword string from the recommended keyword Y higher than the recommended keyword X to the product information from the search origin side. Data to be output to the search result display area 542 shown in FIG.
 この変形例によれば、新しい商品が商品データベース310に追加された場合にも、高次(関連グラフ2400で検索の起点側または上方)の推薦キーワードからのパスを辿ることで比較的早期に新たな商品が推薦キーワード220から推薦されやすくなり、注目されるまで時間がかかってしまうという前記従来例のCold start problemに対する解決策を与えることができる。つまり、本発明の電子商取引サイト2では、クライアント端末500のユーザが思いついた検索キーワードよりも広い範囲でキーワード列と商品情報を提供できるので、発売直後の新商品に辿りつく可能性を高めることができる。 According to this modified example, even when a new product is added to the product database 310, a new item can be renewed relatively early by following a path from a recommended keyword of higher order (from the search origin side or above in the related graph 2400). This makes it possible to provide a solution to the above-mentioned Cold start problem, which makes it easy to recommend new products from the recommendation keyword 220 and takes time to attract attention. In other words, the electronic commerce site 2 of the present invention can provide a keyword string and product information in a wider range than the search keyword that the user of the client terminal 500 came up with, thereby increasing the possibility of reaching a new product immediately after sale. it can.
 例えば、DBMS210が検索キーワードとして「フック」を受け付けた場合、図21で示すように、優先度221が1~3の第2ワード223の「フック」が推薦キーワードXとして特定する。そして、DBMS210は、特定した第2ワード223よりも高次(検索の起点側)の推薦キーワード220が第1ワード222に「金具」が存在するので、この「金具」を推薦キーワードYとして特定する。そして、DBMS210は、図3で示すように「金具」を頂点とする関連グラフ2400のキーワード列をWEBサーバ100へ送信する。クライアント端末500は、図3の検索画面540の検索結果表示領域542に表示された関連グラフ2400から、検索キーワード=「フック」から高次の推薦キーワードである「金具」を辿り、推薦キーワードが「取付金具」を経て商品情報に至ることもしることができる。なお、DBMS210が特定した推薦キーワードXより高次の推薦キーワードYの範囲は、予め設定した範囲で特定することができる。例えば、推薦キーワード220の第Nワードを推薦キーワードXとして特定した場合、第(N-β)ワードを推薦キーワードYとして特定する。これにより、検索キーワードから特定した推薦キーワードXよりもβ階層だけ高次の推薦キーワードYからのキーワード列を得ることができる。これにより、電子商取引サイト2は、入力された検索キーワードよりも広範囲のキーワード列をクライアント端末500のユーザに提供することができる。 For example, when the DBMS 210 receives “hook” as a search keyword, the “hook” of the second word 223 having a priority 221 of 1 to 3 is specified as the recommended keyword X, as shown in FIG. Then, since the recommended keyword 220 higher than the specified second word 223 (starting side of the search) has “metal” in the first word 222, the DBMS 210 specifies this “metal” as the recommended keyword Y. . Then, as shown in FIG. 3, the DBMS 210 transmits a keyword string of a relation graph 2400 having “metal” as a vertex to the WEB server 100. The client terminal 500 follows the “fitting” that is a higher-order recommended keyword from the search keyword = “hook” from the related graph 2400 displayed in the search result display area 542 of the search screen 540 of FIG. Product information can also be reached via the “mounting bracket”. The range of the recommended keyword Y higher than the recommended keyword X specified by the DBMS 210 can be specified within a preset range. For example, when the Nth word of the recommended keyword 220 is specified as the recommended keyword X, the (N−β) th word is specified as the recommended keyword Y. As a result, it is possible to obtain a keyword string from the recommended keyword Y that is higher than the recommended keyword X identified from the search keyword by the β level. Thereby, the electronic commerce site 2 can provide the user of the client terminal 500 with a broader keyword string than the input search keyword.
 なお、上記実施形態では、データベースサーバ200のDBMS210が、推薦キーワード220を検索する例を示したが、WEBサーバ100が推薦キーワード220を利用するようにしても良い。例えば、WEBサーバ100で推薦キーワード生成部230を実行してメモリ102に推薦キーワード220を格納しておく。WEBサーバ100は検索キーワードをデータベースサーバ200に転送し、検索結果をデータベースサーバ200から受信すると、図25に示したステップS42~S46と同様の処理を行う。これにより、WEBサーバ100は推薦キーワード220をデータベースサーバ200の検索結果(商品情報)に付加して関連グラフ2400をクライアント端末500に提供することができる。 In the above embodiment, the DBMS 210 of the database server 200 searches for the recommended keyword 220. However, the WEB server 100 may use the recommended keyword 220. For example, the recommended keyword generation unit 230 is executed by the WEB server 100 and the recommended keyword 220 is stored in the memory 102. When the WEB server 100 transfers the search keyword to the database server 200 and receives the search result from the database server 200, the WEB server 100 performs the same processing as steps S42 to S46 shown in FIG. Thereby, the WEB server 100 can add the recommended keyword 220 to the search result (product information) of the database server 200 and provide the related graph 2400 to the client terminal 500.
 また、上記実施形態のWEBサーバ100とログ収集サーバ400とデータベースサーバ200とストレージ措置300を一つに纏めて情報検索装置として提供しても良い。 In addition, the WEB server 100, the log collection server 400, the database server 200, and the storage unit 300 of the above embodiment may be provided together as an information search device.
 本発明は、検索する情報に関連した推薦情報を提供する計算機システムに適用することができ、特に、クライアント端末から受け付けた検索キーワードで、商品情報を検索し、推薦する情報も提供するデータベースシステムに好適である。また、本発明は、検索する商品情報とともに推薦する商品情報も提供する情報推薦装置または検索装置にも適用することができる。 The present invention can be applied to a computer system that provides recommended information related to information to be searched. In particular, the present invention is applied to a database system that searches for product information using a search keyword received from a client terminal and also provides recommended information. Is preferred. The present invention can also be applied to an information recommendation device or a search device that provides recommended product information together with product information to be searched.

Claims (15)

  1.  プロセッサと記憶装置とを備えた計算機で、受信した検索キーワードで所定のデータベースから検索を行う情報検索方法であって、
     前記計算機が受信した検索キーワードの履歴と前記データベースの情報へのアクセスの履歴からキーワード列を生成する第1のステップと、
     前記計算機が前記検索キーワードを受信する第2のステップと、
     前記計算機が前記検索キーワードに一致または類似するキーワードを含む前記キーワード列を検索し、1つ以上のキーワード列を抽出する第3のステップと、
     前記計算機が前記抽出したキーワード列のうち、前記検索キーワードに一致または類似するキーワードから前記データベースの情報に至るキーワードを出力する第4のステップと、
    を含むことを特徴とする情報検索方法。
    An information search method for searching from a predetermined database using a received search keyword by a computer including a processor and a storage device,
    A first step of generating a keyword string from a history of search keywords received by the computer and a history of access to information in the database;
    A second step in which the calculator receives the search keyword;
    A third step in which the calculator searches the keyword string including keywords that match or are similar to the search keyword, and extracts one or more keyword strings;
    A fourth step of outputting a keyword from the keyword matching or similar to the search keyword to the database information in the extracted keyword string by the computer;
    An information search method characterized by including:
  2.  請求項1に記載の情報検索方法であって、
     前記第1のステップは、
     前記計算機が前記検索キーワードの受信または前記データベースの情報へのアクセスの度に、前記検索キーワードと前記データベースの情報へのアクセスをアクセス履歴情報に蓄積する第5のステップと、
     前記計算機が所定のタイミングで前記アクセス履歴情報の検索キーワードと前記データベースの情報を読み込んで、前記検索キーワードから前記データベースの情報に至るキーワードを接続したキーワード列を関連グラフとして生成する第6のステップと、
     前記計算機が前記関連グラフから前記各キーワードへの確率遷移行列を生成する第7のステップと、
     前記計算機が前記確率遷移行列から前記キーワードの固有ベクトルを演算する第8のステップと、
     前記計算機が前記固有ベクトルから複数のキーワード列を生成し、当該キーワード列を推薦キーワードテーブルに格納する第9のステップと、
    を含むことを特徴とする情報検索方法。
    The information search method according to claim 1,
    The first step includes
    A fifth step of storing access to the search keyword and the database information in access history information each time the computer receives the search keyword or accesses the database information;
    A sixth step in which the computer reads a search keyword of the access history information and the database information at a predetermined timing, and generates a keyword string connecting keywords from the search keyword to the database information as a relation graph; ,
    A seventh step in which the computer generates a probability transition matrix from the association graph to each keyword;
    An eighth step in which the calculator calculates an eigenvector of the keyword from the probability transition matrix;
    A ninth step in which the computer generates a plurality of keyword strings from the eigenvector and stores the keyword strings in a recommended keyword table;
    An information search method characterized by including:
  3.  請求項2に記載の情報検索方法であって、
     前記第6のステップは、
     前記キーワード列の終端にデータベースの情報を含み、
     前記第9のステップは、
     前記推薦キーワードテーブルの前記キーワード列の終端にデータベースの情報を含むことを特徴とする情報検索方法。
    The information search method according to claim 2,
    The sixth step includes
    Including database information at the end of the keyword string;
    The ninth step includes
    An information search method comprising database information at the end of the keyword string in the recommended keyword table.
  4.  請求項2に記載の情報検索方法であって、
     前記第8のステップは、
     前記確率遷移行列の固有値が大きい順に所定数の固有ベクトルを演算することを特徴とする情報検索方法。
    The information search method according to claim 2,
    The eighth step includes
    A method for retrieving information, comprising: calculating a predetermined number of eigenvectors in descending order of eigenvalues of the probability transition matrix.
  5.  請求項2に記載の情報検索方法であって、
     前記第4のステップは、
     前記固有ベクトルが最も小さい値の前記キーワードを特定することを特徴とする情報検索方法。
    The information search method according to claim 2,
    The fourth step includes
    An information search method, wherein the keyword having the smallest value of the eigenvector is specified.
  6.  請求項1に記載の情報検索方法であって、
     前記第4のステップは、
     前記計算機が前記抽出したキーワード列のうち、前記検索キーワードに一致または類似するキーワードよりも所定数だけ上位のキーワードから前記データベースの情報に至るキーワードを出力することを特徴とする情報検索方法。
    The information search method according to claim 1,
    The fourth step includes
    An information search method, wherein the computer outputs a keyword from a keyword that is a predetermined number higher than a keyword that matches or is similar to the search keyword in the extracted keyword string to information in the database.
  7.  プロセッサと記憶装置とを備えて、受信した検索キーワードで所定のデータベースから検索を行う情報検索装置であって、
     前記受信した検索キーワードの履歴と前記データベースの情報へのアクセスの履歴からキーワード列を生成する推薦キーワード生成部と、
     前記検索キーワードを受信し、前記検索キーワードに一致または類似するキーワードを前記生成されたキーワード列から検索して、1つ以上のキーワード列を抽出し、前記抽出したキーワード列のうち、前記検索キーワードに一致または類似するキーワードから前記データベースの情報に至るキーワードを出力する検索部と、
    を備えたことを特徴とする情報検索装置。
    An information search device comprising a processor and a storage device, and performing a search from a predetermined database with a received search keyword,
    A recommended keyword generating unit that generates a keyword string from the history of the received search keyword and the history of access to the database information;
    The search keyword is received, a keyword matching or similar to the search keyword is searched from the generated keyword string, one or more keyword strings are extracted, and the search keyword is extracted from the extracted keyword strings. A search unit that outputs keywords from matching or similar keywords to information in the database;
    An information retrieval apparatus comprising:
  8.  請求項7に記載の情報検索装置であって、
     前記推薦キーワード生成部は、
     前記検索キーワードの受信または前記データベースの情報へのアクセスの度に、前記検索キーワードとデータベースの情報へのアクセスをアクセス履歴情報に蓄積する履歴収集部を有し、
     前記推薦キーワード生成部は、
     所定のタイミングで、前記アクセス履歴情報の検索キーワードとデータベースの情報を読み込んで、前記検索キーワードから前記データベースの情報に至るキーワードを接続したキーワード列を関連グラフとして生成し、前記関連グラフから前記各キーワードへの確率遷移行列を生成し、前記計算機が前記確率遷移行列から前記キーワードの固有ベクトルを演算し、前記計算機が前記固有ベクトルから複数のキーワード列を生成し、当該キーワード列を推薦キーワードテーブルに格納することを特徴とする情報検索装置。
    The information search device according to claim 7,
    The recommended keyword generation unit includes:
    A history collection unit that accumulates access to the search keyword and database information in access history information each time the search keyword is received or accessed to the database information;
    The recommended keyword generation unit includes:
    At a predetermined timing, the search keyword of the access history information and the database information are read, and a keyword string connecting the keywords from the search keyword to the database information is generated as a related graph, and each keyword from the related graph is generated. Generating a probability transition matrix to the computer, the computer calculating an eigenvector of the keyword from the probability transition matrix, the computer generating a plurality of keyword strings from the eigenvector, and storing the keyword string in a recommended keyword table An information retrieval apparatus characterized by
  9.  請求項8に記載の情報検索装置であって、
     前記推薦キーワード生成部は、
     前記キーワード列の終端にデータベースの情報を含むことを特徴とする情報検索装置。
    The information search device according to claim 8,
    The recommended keyword generation unit includes:
    An information retrieval apparatus comprising database information at the end of the keyword string.
  10.  請求項8に記載の情報検索装置であって、
     前記推薦キーワード生成部は、
     前記確率遷移行列の固有値が大きい順に所定数の固有ベクトルを演算することを特徴とする情報検索装置。
    The information search device according to claim 8,
    The recommended keyword generation unit includes:
    An information retrieval apparatus that calculates a predetermined number of eigenvectors in descending order of eigenvalues of the probability transition matrix.
  11.  請求項8に記載の情報検索装置であって、
     前記検索部は、
     前記固有ベクトルが最も小さい値の前記キーワードを特定することを特徴とする情報検索装置。
    The information search device according to claim 8,
    The search unit
    An information retrieval apparatus that identifies the keyword having the smallest value of the eigenvector.
  12.  請求項7に記載の情報検索装置であって、
     前記検索部は、
     前記抽出したキーワード列のうち、前記検索キーワードに一致または類似するキーワードよりも所定数だけ上位のキーワードから前記データベースの情報に至るキーワードを出力することを特徴とする情報検索装置。
    The information search device according to claim 7,
    The search unit
    In the extracted keyword string, an information search apparatus that outputs a keyword from a keyword that is a predetermined number higher than a keyword that matches or is similar to the search keyword to information in the database.
  13.  プロセッサと記憶装置とを備えた計算機で、受信した検索キーワードで所定のデータベースから検索を行うプログラムであって、
     前記受信した検索キーワードの履歴と前記データベースの情報へのアクセスの履歴からキーワード列を生成する第1の手順と、
     前記検索キーワードを受信する第2の手順と、
     前記検索キーワードに一致または類似するキーワードを含むキーワード列を検索し、1つ以上のキーワード列を抽出する第3の手順と、
     前記抽出したキーワード列のうち、前記検索キーワードに一致または類似するキーワードから前記データベースの情報に至るキーワードとを出力する第4の手順と、
    を前記計算機に実行させるプログラムを格納した非一時的な計算機読み取り可能な記憶媒体。
    A computer that includes a processor and a storage device and performs a search from a predetermined database using a received search keyword,
    A first procedure for generating a keyword string from the history of the received search keyword and the history of access to the database information;
    A second procedure for receiving the search keyword;
    A third procedure of searching for a keyword string including keywords that match or similar to the search keyword and extracting one or more keyword strings;
    A fourth procedure for outputting, from the extracted keyword string, a keyword that matches or is similar to the search keyword to a keyword from the database information;
    A non-transitory computer-readable storage medium storing a program for causing the computer to execute.
  14.  請求項13に記載の記憶媒体であって、
     前記第1の手順は、
     前記検索キーワードの受信または前記データベースの情報へのアクセスの度に、前記検索キーワードと前記データベースの情報をアクセス履歴情報に蓄積する第5の手順と、
     前記所定のタイミングで前記アクセス履歴情報の検索キーワードと前記データベースの情報を読み込んで、前記検索キーワードから前記データベースの情報に至るキーワードを接続したキーワード列を関連グラフとして生成する第6の手順と、
     前記関連グラフから前記各キーワードへの確率遷移行列を生成する第7の手順と、
     前記確率遷移行列から前記キーワードの固有ベクトルを演算する第8の手順と、
     前記固有ベクトルから複数のキーワード列を生成し、当該キーワード列を推薦キーワードテーブルに格納する第9の手順と、
    を含むことを特徴とする記憶媒体。
    The storage medium according to claim 13,
    The first procedure includes:
    A fifth procedure for storing the search keyword and the database information in access history information each time the search keyword is received or the database information is accessed;
    A sixth procedure of reading a search keyword of the access history information and the database information at the predetermined timing and generating a keyword string connecting keywords from the search keyword to the database information as a related graph;
    A seventh procedure for generating a probability transition matrix from the association graph to each keyword;
    An eighth procedure for calculating the eigenvector of the keyword from the probability transition matrix;
    A ninth procedure for generating a plurality of keyword strings from the eigenvectors and storing the keyword strings in a recommended keyword table;
    A storage medium comprising:
  15.  請求項14に記載の記憶媒体であって、
     前記第6の手順は、
     前記キーワード列の終端にデータベースの情報を含み、
     前記第9の手順は、
     前記推薦キーワードテーブルの前記キーワード列の終端にデータベースの情報を含むことを特徴とする記憶媒体。
    The storage medium according to claim 14,
    The sixth procedure includes:
    Including database information at the end of the keyword string;
    The ninth procedure includes:
    A storage medium comprising database information at the end of the keyword string of the recommended keyword table.
PCT/JP2011/062088 2011-05-26 2011-05-26 Information search method, information search device, and storage medium WO2012160693A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013516146A JP5752245B2 (en) 2011-05-26 2011-05-26 Information search method, information search device, and storage medium
PCT/JP2011/062088 WO2012160693A1 (en) 2011-05-26 2011-05-26 Information search method, information search device, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2011/062088 WO2012160693A1 (en) 2011-05-26 2011-05-26 Information search method, information search device, and storage medium

Publications (1)

Publication Number Publication Date
WO2012160693A1 true WO2012160693A1 (en) 2012-11-29

Family

ID=47216795

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/062088 WO2012160693A1 (en) 2011-05-26 2011-05-26 Information search method, information search device, and storage medium

Country Status (2)

Country Link
JP (1) JP5752245B2 (en)
WO (1) WO2012160693A1 (en)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5627061B1 (en) * 2014-03-07 2014-11-19 楽天株式会社 SEARCH DEVICE, SEARCH METHOD, PROGRAM, AND STORAGE MEDIUM
JP6124489B1 (en) * 2016-08-01 2017-05-10 ヤフー株式会社 Query providing apparatus, query providing method, and query providing program
WO2018029852A1 (en) * 2016-08-12 2018-02-15 楽天株式会社 Information processing device, information processing method, program, and storage medium
JP2018514047A (en) * 2015-10-12 2018-05-31 バイドゥ オンライン ネットワーク テクノロジー (ベイジン) カンパニー リミテッド Method and apparatus for determining user needs
AU2017312818B2 (en) * 2016-08-16 2020-09-10 Ebay Inc. Selecting next user prompt types
CN111815260A (en) * 2020-06-08 2020-10-23 福建通图信息技术有限公司 Public service platform system and method based on artificial intelligence erection
US11004131B2 (en) 2016-10-16 2021-05-11 Ebay Inc. Intelligent online personal assistant with multi-turn dialog based on visual search
JP2021077198A (en) * 2019-11-12 2021-05-20 Market Flags株式会社 Keyword proposal system, keyword proposal method, and keyword proposal program
JP2022510522A (en) * 2019-10-28 2022-01-27 蘇州躍盟信息科技有限公司 Information recommendation method and equipment, electronic equipment
CN114676336A (en) * 2022-05-30 2022-06-28 深圳市海纳鑫信息科技有限公司 Intelligent classification network search system convenient for retrieval and search
US11604951B2 (en) 2016-10-16 2023-03-14 Ebay Inc. Image analysis and prediction based visual search
US11748978B2 (en) 2016-10-16 2023-09-05 Ebay Inc. Intelligent online personal assistant with offline visual search database

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002183191A (en) * 2000-12-11 2002-06-28 Nippon Telegr & Teleph Corp <Ntt> Retrieval system with retrieval navigation function
WO2008056651A1 (en) * 2006-11-06 2008-05-15 Panasonic Corporation Information searching device
WO2009104387A1 (en) * 2008-02-20 2009-08-27 パナソニック株式会社 Interactive program search device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002183191A (en) * 2000-12-11 2002-06-28 Nippon Telegr & Teleph Corp <Ntt> Retrieval system with retrieval navigation function
WO2008056651A1 (en) * 2006-11-06 2008-05-15 Panasonic Corporation Information searching device
WO2009104387A1 (en) * 2008-02-20 2009-08-27 パナソニック株式会社 Interactive program search device

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5627061B1 (en) * 2014-03-07 2014-11-19 楽天株式会社 SEARCH DEVICE, SEARCH METHOD, PROGRAM, AND STORAGE MEDIUM
WO2015132970A1 (en) * 2014-03-07 2015-09-11 楽天株式会社 Search device, search method, program, and storage medium
TWI502383B (en) * 2014-03-07 2015-10-01 Rakuten Inc A retrieval device, a retrieval method, a program and a memory medium
US20160140213A1 (en) * 2014-03-07 2016-05-19 Rakuten, Inc. Search device, search method, program, and storage medium
US10546336B2 (en) * 2014-03-07 2020-01-28 Rakuten, Inc. Search device, search method, program, and storage medium
JP2018514047A (en) * 2015-10-12 2018-05-31 バイドゥ オンライン ネットワーク テクノロジー (ベイジン) カンパニー リミテッド Method and apparatus for determining user needs
JP6124489B1 (en) * 2016-08-01 2017-05-10 ヤフー株式会社 Query providing apparatus, query providing method, and query providing program
JP2018022214A (en) * 2016-08-01 2018-02-08 ヤフー株式会社 Query providing device, query providing method and query providing program
WO2018029852A1 (en) * 2016-08-12 2018-02-15 楽天株式会社 Information processing device, information processing method, program, and storage medium
JPWO2018029852A1 (en) * 2016-08-12 2019-06-06 楽天株式会社 INFORMATION PROCESSING APPARATUS, INFORMATION PROCESSING METHOD, PROGRAM, AND STORAGE MEDIUM
AU2017312818B2 (en) * 2016-08-16 2020-09-10 Ebay Inc. Selecting next user prompt types
US11004131B2 (en) 2016-10-16 2021-05-11 Ebay Inc. Intelligent online personal assistant with multi-turn dialog based on visual search
US11604951B2 (en) 2016-10-16 2023-03-14 Ebay Inc. Image analysis and prediction based visual search
US11748978B2 (en) 2016-10-16 2023-09-05 Ebay Inc. Intelligent online personal assistant with offline visual search database
US11804035B2 (en) 2016-10-16 2023-10-31 Ebay Inc. Intelligent online personal assistant with offline visual search database
US11836777B2 (en) 2016-10-16 2023-12-05 Ebay Inc. Intelligent online personal assistant with multi-turn dialog based on visual search
US11914636B2 (en) 2016-10-16 2024-02-27 Ebay Inc. Image analysis and prediction based visual search
JP2022510522A (en) * 2019-10-28 2022-01-27 蘇州躍盟信息科技有限公司 Information recommendation method and equipment, electronic equipment
US11436289B2 (en) 2019-10-28 2022-09-06 Suzhou Deepleper Information And Technology Company Limited Information recommendation method and apparatus, and electronic device
JP7225229B2 (en) 2019-10-28 2023-02-20 蘇州躍盟信息科技有限公司 Information recommendation method and device, electronic equipment
JP2021077198A (en) * 2019-11-12 2021-05-20 Market Flags株式会社 Keyword proposal system, keyword proposal method, and keyword proposal program
CN111815260A (en) * 2020-06-08 2020-10-23 福建通图信息技术有限公司 Public service platform system and method based on artificial intelligence erection
CN114676336A (en) * 2022-05-30 2022-06-28 深圳市海纳鑫信息科技有限公司 Intelligent classification network search system convenient for retrieval and search

Also Published As

Publication number Publication date
JPWO2012160693A1 (en) 2014-07-31
JP5752245B2 (en) 2015-07-22

Similar Documents

Publication Publication Date Title
JP5752245B2 (en) Information search method, information search device, and storage medium
JP5778255B2 (en) Method, system, and apparatus for query based on vertical search
JP5493267B2 (en) Product search device and product search method
KR100834360B1 (en) Adaptive catalog page display
JP5962926B2 (en) Recommender system, recommendation method, and program
JP2016146213A (en) System and method for performing semantic operation on digital social network
US20150178747A1 (en) System and method for determining and distributing consumer items according to dynamic demand levels
CN101324948A (en) Method and apparatus of recommending information
US20110307504A1 (en) Combining attribute refinements and textual queries
JP2012234503A (en) Recommendation device, recommendation method, and recommendation program
JP5483269B2 (en) Information search device and information search method
JP5668010B2 (en) Information recommendation method, apparatus and program
JP5156123B1 (en) Information processing apparatus, information processing method, information processing program, and recording medium
US8700625B1 (en) Identifying alternative products
US10643142B2 (en) Search term prediction
JPWO2003017137A1 (en) User profile management device and recommendation device
JP5561842B2 (en) Information search device, information search program, and program storage medium
JP2011209979A (en) Merchandise recommendation method and merchandise recommendation system
JP5228683B2 (en) Product search device and product search method
JP2021140646A (en) Target user feature extraction method, target user feature extraction system and target user feature extraction server
JP6809148B2 (en) Program and combination extraction system
JP5519406B2 (en) Server apparatus, genre score calculation method, and program
TWI508010B (en) Information recommendation method, device and server
JP2014102855A (en) Information retrieval support device, information retrieval support method, information retrieval support program and program storage medium
US20240070210A1 (en) Suggesting keywords to define an audience for a recommendation about a content item

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 11866316

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2013516146

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11866316

Country of ref document: EP

Kind code of ref document: A1