WO2013180121A1 - 情報処理装置、情報処理方法、情報処理プログラム及び記録媒体 - Google Patents

情報処理装置、情報処理方法、情報処理プログラム及び記録媒体 Download PDF

Info

Publication number
WO2013180121A1
WO2013180121A1 PCT/JP2013/064754 JP2013064754W WO2013180121A1 WO 2013180121 A1 WO2013180121 A1 WO 2013180121A1 JP 2013064754 W JP2013064754 W JP 2013064754W WO 2013180121 A1 WO2013180121 A1 WO 2013180121A1
Authority
WO
WIPO (PCT)
Prior art keywords
genre
keyword
search
system control
control unit
Prior art date
Application number
PCT/JP2013/064754
Other languages
English (en)
French (fr)
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 JP2013537352A priority Critical patent/JP5386663B1/ja
Priority to US14/364,539 priority patent/US9747342B2/en
Publication of WO2013180121A1 publication Critical patent/WO2013180121A1/ja

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/2455Query execution
    • G06F16/24553Query execution of query operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • 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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2246Trees, e.g. B+trees
    • 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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/285Clustering or classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3322Query formulation using system suggestions
    • G06F16/3323Query formulation using system suggestions using document space presentation or visualization, e.g. category, hierarchy or range presentation and selection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/3332Query translation
    • G06F16/3334Selection or weighting of terms from queries, including natural language queries

Definitions

  • the present invention relates to a technical field of a system that acquires keywords and search target categories as search conditions and performs a search based on the search conditions.
  • a search system that receives a search condition designated by a user from a terminal device via a network and performs a search based on the designated search condition.
  • Examples of information that can be specified as the search condition include a keyword and a search target category.
  • the search target classification indicates, for example, a range in which similar things are included when things to be searched are classified according to a predetermined standard. This classification is, for example, a genre, a category, a price range, a region, or the like according to each search system.
  • Non-Patent Document 1 discloses a technique for searching for restaurants.
  • restaurants are classified into areas where the restaurants are located, the business conditions of the restaurants, the price range of the budget necessary for eating and drinking, and the like.
  • a keyword for example, a restaurant where the keyword is included in the name or description of the restaurant is searched.
  • a list of searched restaurants is displayed on the screen.
  • the screen also displays a list of categories to which the searched restaurant belongs.
  • the restaurant search is narrowed down in the selected category.
  • the categories are preferentially displayed from the categories to which the restaurants searched with the specified keyword belong. That is, as the number of restaurants is larger, the category is displayed so that the user can easily find the category.
  • GourNavi Inc. “GourNavi-Banquet / Gourmet Information Search Site”, [online], [August 3, 2011 Search], Internet ⁇ URL: http://www.gnavi.co.jp/>
  • the search target is a product.
  • the search target is a product.
  • the keyword specified as the search condition is “water”.
  • a beverage is one that is rehydrated by drinking it.
  • the beverage genre includes mineral water, that is, water itself as a product.
  • perfume attracts attention for its purpose of attaching a scent rather than being a liquid.
  • searching for perfume products it is considered that “perfume” is designated as a keyword instead of “water”. Therefore, when comparing beverages with perfume, it is reasonable to think that beverages are more relevant to “water”.
  • the name and description of a perfume product often includes the characters “perfume”. For this reason, perfume products may be searched more frequently than beverage products using the keyword “water”.
  • multiple keywords may be specified as search conditions. Even in this case, there is a problem similar to the problem described above.
  • the present invention has been made in view of the above points, and is an information processing apparatus, an information processing method, and an information processing capable of extracting a category highly relevant to a combination of keywords composed of a plurality of keywords.
  • An object is to provide a program and a recording medium.
  • the invention according to claim 1 is characterized in that the number of times specified as a search condition together with the first keyword is equal to or more than a first threshold value from among a plurality of sections hierarchized in a tree structure.
  • the number of times specified as a search condition together with a second keyword from the first extraction means for extracting a certain classification and the classification corresponding to the descendants of the classification extracted by the first extraction means is the second 2nd extraction means which extracts the said division more than a threshold value as said division relevant to the combination of said 1st keyword and said 2nd keyword, It is characterized by the above-mentioned.
  • a category that is frequently specified as a search condition together with a keyword can be considered a category that is highly relevant to the keyword. Therefore, according to the present invention, it is possible to extract a category highly relevant to the keyword.
  • the category that is highly relevant to the second keyword is a category that is highly relevant to the combination of the first keyword and the second keyword. There is a certain probability. Therefore, it is possible to extract a category highly relevant to a combination of keywords composed of a plurality of keywords.
  • the categories related to the first keyword there may be a category that is not determined to be related to the second keyword. In such a case, the segment that could not be extracted when only the second keyword was used is extracted from the descendant segments of the segment related to the first keyword. It can be extracted as a category related to the keyword.
  • an aspect in which there are three or more keywords constituting a combination also belongs to the technical scope of the present invention. This is because when a category related to a combination of three or more keywords is extracted, a category related to a combination of the first keyword and the second keyword needs to be extracted.
  • the group of the first extraction unit and the second extraction unit is arranged in the same order as the keyword designation order in the combination. It is characterized by extracting.
  • the first The set of the extraction means and the second extraction means is characterized in that the classification is extracted by changing the order of keywords for extracting the classification.
  • the search condition together with the first keyword and the second keyword among the plurality of categories.
  • a third extracting means for extracting the section having a specified number of times equal to or greater than a third threshold; and the section extracted by the second extracting means and the third extracting means based on a predetermined criterion.
  • determining means for determining any one of the extracted sections as the section related to the combination.
  • the determining unit is configured to determine whether the section extracted by the second extracting unit and the section extracted by the third extracting unit. Among them, the section having a deeper position in the tree structure is determined as the section related to the combination.
  • the category having the deeper hierarchy is determined as the category having high relevance to the keyword combination. Therefore, it is possible to extract a category having higher reliability as a category having high relevance to the combination of keywords.
  • each of the first extraction unit and the second extraction unit is in a sibling relationship in the tree structure.
  • the magnitude of variation of the number of times specified together with the keyword among a plurality of the categories exceeds a variably set size, the number of times among the plurality of categories in the sibling relationship is equal to or greater than the threshold value
  • the said division is extracted, It is characterized by the above-mentioned.
  • a category whose number of times specified as a search condition together with a keyword varies among a plurality of categories having sibling relationships
  • a category whose number of times specified as a search condition together with the keyword is equal to or greater than a threshold is extracted. can do. For this reason, among a plurality of categories having a sibling relationship, a category that is specified more frequently than other categories can be extracted as a category having high relevance to the keyword.
  • the invention according to claim 7 is the information processing apparatus according to any one of claims 1 to 6, wherein each of the first extraction means and the second extraction means has a sibling relationship in the tree structure. From the plurality of the categories, the category whose number of times specified together with the keyword is equal to or more than the threshold value determined according to the number of the categories having the sibling relationship is extracted.
  • the invention according to claim 8 is an information processing method executed by a computer, wherein the number of times specified as a search condition together with a first keyword from among a plurality of sections hierarchized in a tree structure is the first.
  • the computer extracts, from a plurality of categories hierarchized in a tree structure, the category whose number of times specified as a search condition together with the first keyword is equal to or greater than a first threshold value.
  • the number of times specified as a search condition together with the second keyword from the first extraction unit and the category corresponding to the descendant of the category extracted by the first extraction unit is equal to or greater than a second threshold value.
  • the division is made to function as a second extraction unit that extracts the division as the division related to the combination of the first keyword and the second keyword.
  • the computer extracts, from a plurality of categories hierarchized in a tree structure, the category whose number of times specified as a search condition together with the first keyword is equal to or more than a first threshold value.
  • the number of times specified as a search condition together with the second keyword from the first extraction unit and the category corresponding to the descendant of the category extracted by the first extraction unit is equal to or greater than a second threshold value.
  • An information processing program that functions as a second extraction unit that extracts the classification as the classification related to the combination of the first keyword and the second keyword is recorded in a computer-readable manner. .
  • the category highly relevant to the second keyword is a probability that the category is highly relevant to the combination of the first keyword and the second keyword. There is. Therefore, according to the present invention, it is possible to extract a category highly relevant to a combination of keywords composed of a plurality of keywords.
  • the categories related to the first keyword there may be a category that is not determined to be related to the second keyword. In such a case, the segment that could not be extracted when only the second keyword was used is extracted from the descendant segments of the segment related to the first keyword. It can be extracted as a category related to the keyword.
  • FIG. 1 It is a figure showing an example of outline composition of shopping system S concerning one embodiment.
  • (A) is a figure which shows the example of a display of the top page of an online shopping mall
  • (b) is a figure which shows the example of a display of the search keyword candidate display area 114.
  • FIG. It is a display example of a search result page.
  • or (c) is a figure which shows the example of a display of the genre link 221 in the genre designation
  • FIG. (A) is a figure which shows the example of a keyword display in the search keyword candidate display area 214
  • (b) is a figure which shows the example of a display of the related keyword link 231 in the related keyword display area 230.
  • FIG. 4D is a diagram showing an example of content registered in the keyword DB 12d
  • FIG. 4E is a diagram showing an example of content registered in the related keyword DB 12e.
  • F is a figure which shows an example of the content registered into query log DB12f
  • g is a figure which shows an example of the content registered into designation
  • FIG. It is a figure which shows the mode of the extraction of the genre relevant to the keyword k about each level.
  • (A) is a figure which shows an example of the extraction result of the genre relevant to the combination of the search keyword "digital camera AAA company”
  • (b) is the figure of the extraction result of the genre relevant to the keyword "digital camera”.
  • (c) is a figure which shows an example of the extraction result of the genre relevant to the keyword "AAA company.”
  • (A) is a figure which shows an example of the extraction result of the genre relevant to the combination of the search keyword "20 inch display”
  • (b) is an example of the extraction result of the genre relevant to the keyword of "20 inch”.
  • (C) is a figure which shows an example of the extraction result of the genre relevant to the keyword "display”.
  • (A) is an extraction example when extraction processing is performed in the specified order of search keywords
  • (b) is an extraction example when extraction processing is performed by changing the extraction order of genres.
  • (A) is a figure which shows an example of the extraction result at the time of extracting the genre relevant to the combination of the search keyword "XY" by the method demonstrated by the 3rd term
  • FIG.14 is FIG.
  • FIG. 1 is a diagram illustrating an example of a schematic configuration of a shopping system S according to the present embodiment.
  • the shopping system S includes an online shopping mall server 1 and a plurality of user terminals 2.
  • the online shopping mall server 1 and each user terminal 2 can exchange data with each other using, for example, TCP / IP as a communication protocol via the network NW.
  • the network NW is constructed by, for example, the Internet, a dedicated communication line (for example, a CATV (CommunityCommunAntenna Television) line), a mobile communication network (including a base station, etc.), a gateway, and the like.
  • the online shopping mall server 1 (an example of an information processing apparatus in the present invention) is a server device that executes various processes related to an online shopping mall where products can be purchased. A user can purchase a desired product from a desired store by using the online shopping mall. In response to a request from the user terminal 2, the online shopping mall server 1 transmits, for example, a web page of the online shopping mall or performs processing related to product search, purchase, and the like.
  • the user terminal 2 is a terminal device of a user who uses the online shopping mall.
  • the user terminal 2 receives the web page from the online shopping mall server 1 and displays it by accessing the online shopping mall server 1 based on an operation from the user.
  • the user terminal 2 includes a CPU, a memory, an operation unit that receives user operations, a display that displays information on a screen, and the like.
  • the user terminal 2 includes software such as a browser and an e-mail client.
  • a personal computer, a PDA (Personal Digital Assistant), a mobile information terminal such as a smartphone, a mobile phone, or the like is used.
  • search conditions used for searching for merchandise in the online shopping mall and Web pages for specifying the search conditions will be described with reference to FIG.
  • search keyword A keyword specified as a search condition is referred to as a “search keyword”.
  • search keyword The user can specify both the search keyword and the genre at the same time as the search condition, or can specify either one. Further, the user can specify a combination of a plurality of search keywords. When a plurality of keywords are specified in combination, the specified keywords are referred to as “keyword combinations”.
  • the product genre (an example of classification in the present invention) is a range to which products of the same type, property, use, etc. belong, when the product is divided, for example, by type, property, use, etc.
  • the product genre is hierarchically defined by a tree structure. Specifically, each node of the tree structure corresponds to a genre.
  • the depth of the node corresponds to the level of the genre corresponding to the node (the depth of the hierarchy where the node is located in the tree structure).
  • the depth of the node is a distance from a node located at the root (hereinafter referred to as “root node”).
  • root node a genre called “genre top” is conveniently defined in the root node.
  • the genre top indicates a state where the user does not specify any genre.
  • the genre top is a level 0 genre.
  • the genre corresponding to the child node is the level 1 genre with respect to the genre top.
  • the level 1 genre is substantially the highest genre that can be specified by the user.
  • Level 1 genres include, for example, “water / soft drink”, “beauty / cosmetics / perfume”, “pet / pet goods”, “ladies fashion”, “men's fashion”, and the like.
  • a genre corresponding to a child node is defined as a level 2 genre.
  • the genre c2 corresponding to a child node of a certain genre c1 is referred to as a “child genre” of the genre c1.
  • a child genre is also called a sub-genre.
  • the genre c1 at this time is referred to as “parent genre” of the genre c2.
  • the child genre is a range to which similar products belong when the parent genre is further divided into a plurality of categories. Therefore, the child genre belongs to the parent genre.
  • a genre corresponding to a descendant node for a certain genre is referred to as a “descendant genre”.
  • the genre c3 is a child genre of the genre c2.
  • the genres c2 and c3 are descendant genres of the genre c1.
  • a certain genre When a certain genre has child genres, usually a plurality of child genres are defined. For example, “water / mineral water”, “soft drink”, “coffee / cocoa”, and the like are defined as child genres of “water / mineral water”. Genres belonging to the same parent genre are called brother genres. That is, all genres that have a sibling relationship with a certain genre c4 are sibling genres of the genre c4. For example, “water / mineral water”, “soft drink”, and “coffee / cocoa” are sibling genres. For genres after level 2, child genres are defined as necessary.
  • Web pages for specifying search conditions there are a top page and a search result page.
  • the top page is a web page located at the top in the online shopping mall.
  • the search result page is a web page showing the search result of the product.
  • the search result page is a Web page for designating search conditions (hereinafter referred to as “narrowing conditions”) for narrowing and searching for products from among the searched products, and re-specifying the search conditions. It is.
  • the online shopping mall server 1 searches for the product under the specified search condition, and a search result page indicating the search result is displayed on the user terminal 2.
  • a search result page indicating the search result is displayed on the user terminal 2.
  • the online shopping mall server 1 searches for the product again under the specified search condition, and a new search result page for displaying the search result is displayed on the user terminal 2.
  • the search condition specified on the top page or search result page (hereinafter referred to as “previous page”) displayed immediately before this search result page may be carried over. is there.
  • the search keyword k1 is specified as a search condition on the top page or the search result page.
  • a search result page showing a search result by the search keyword k1 is displayed.
  • the user designates the genre c1 as the search condition it is considered that the search keyword k1 and the genre c1 are designated as the search condition.
  • a new search result page showing the search results based on the search keyword k1 and the genre c1 is displayed.
  • the user has specified the genre c1 as a narrowing condition. Further, it is assumed that the genre c2 is designated as a search condition on the top page or the search result page. Then, a search result page showing the search result by genre c2 is displayed.
  • the search keyword k2 is specified as the search condition.
  • the search keyword or genre is specified as a search condition on the previous page when the user explicitly specifies the search keyword or the genre on the previous page, This includes the case where it is considered that the search condition has been specified.
  • FIG. 2A is a diagram showing a display example of the top page of the online shopping mall. As shown in FIG. 2A, the top page includes a search condition setting area 110, a genre list display area 120, and the like.
  • the search condition setting area 110 includes a keyword input field 111, a genre selection menu 112, a search button 113, and the like.
  • the keyword input field 111 is an input area for inputting one or a plurality of search keywords.
  • the user can input a plurality of search keywords by inputting a blank as a separator between the search keywords. Thereby, the user can designate a plurality of keywords as a search condition.
  • the genre selection menu 112 is a pull-down menu for selecting a genre specified as a search condition from level 1 genres.
  • the search button 113 is a button for designating the search keyword input in the keyword input field 111 and the genre selected in the genre selection menu 112 as search conditions.
  • the search button 113 When the search button 113 is selected when a search keyword is input, the search keyword is designated as a search condition, and a search is performed using this search condition. If the search button 113 is selected when a genre is selected, the genre is specified as a search condition, and a search is performed under this search condition. The user can designate either or both of the search keyword and the genre as a search condition by operating the search condition setting area 110.
  • FIG. 2B shows a display example of the search keyword candidate display area 114.
  • the keyword input field 111 corresponds to the keyword suggest function.
  • the keyword suggest function is a function for displaying search keyword candidates and allowing the candidates to be designated as search keywords.
  • a search keyword candidate display area 114 is displayed immediately below the keyword input field 111 as shown in FIG.
  • the search keyword candidate display area 114 displays a list of search keyword candidates.
  • the keyword displayed as a candidate is a search keyword that matches the character string input in the keyword input field 111 in the forward direction.
  • the keyword displayed as a candidate is a keyword whose reading matches the front of the input kana.
  • keywords such as “digital photo frame”, “digital camera”, “digital scale”, “digital watch”, “digital camera body”, and the like are displayed in the search keyword candidate display area 114.
  • a combination of multiple keywords, such as “digital watch”, may be displayed as a candidate.
  • the upper limit number of keywords that can be displayed in the search keyword candidate display area 114 is set in advance.
  • the selected keyword is designated as a search condition, and a search is performed using this search condition.
  • the genre selection menu 112 the genre is also specified as a search condition.
  • the genre list display area 120 a list of genres is displayed. Each genre displayed in the genre list display area 120 is obtained by integrating a plurality of level 1 genres. When the user selects any one of the genres displayed in the genre list display area 120, a list of level 1 genres belonging to the selected genre is displayed. When the user selects any genre from the displayed level 1 genres, the selected genre is designated as a search condition, and a search is performed using this search condition.
  • FIG. 3 is a display example of the search result page.
  • the search result page includes a search condition setting area 210, a genre specifying area 220, a related keyword display area 230, a search result display area 240, and the like.
  • the search condition setting area 210 includes a keyword input field 211, a genre selection menu 212, a search button 213, and the like.
  • the functions of the keyword input field 211, the genre selection menu 212, and the search button 213 are the same as the functions of the keyword input field 111, the genre selection menu 112, and the search button 113.
  • the search keyword is input in the keyword input field 211 in advance.
  • the search button 213 is selected when a search keyword is input in the keyword input field 211, the search keyword is designated as a search condition, and a search is performed using this search condition.
  • a genre is specified as a search condition on the previous page, it is considered that the genre is also specified as a search condition together with the search keyword.
  • the genre designation area 220 includes one or more genre links 221.
  • the genre link 221 is a link for designating a genre as a narrowing-down condition, and indicates the name of the genre to be designated.
  • a genre corresponding to the selected genre link 221 is specified as a search condition, and a search is performed using this search condition.
  • a search keyword is specified as a search condition in the previous page, it is considered that the search keyword is also specified as a search condition together with the genre.
  • a genre link 221 corresponding to a child genre of the designated genre is displayed in the genre designation area 220.
  • the search result page is displayed because only the search keyword is specified as the search condition on the top page, the genre link 221 corresponding to the genre of level 1 is displayed in the genre specifying area 220 of the search result page. Is done.
  • the related keyword display area 230 is displayed when a search keyword is specified as a search condition on the previous page.
  • the related keyword display area 230 includes a related keyword link 231.
  • the related keyword link 231 is a link for re-designating a keyword (hereinafter referred to as “related keyword”) related to the search keyword specified on the immediately preceding page as a search condition, and is a target to be specified.
  • As a related keyword of a certain search keyword for example, there are a similar word of the search keyword, a word meaning an object related to the thing meant by the search keyword, a word including the search keyword, and the like.
  • a combination of keywords may be displayed as a related keyword.
  • the upper limit number of related keywords that can be displayed in the search keyword candidate display area 114 is set in advance.
  • the related keyword corresponding to the selected related keyword link 231 is designated as a search keyword, and a search is performed under this search condition.
  • a genre is specified as a search condition on the previous page, it is considered that the genre is also specified as a search condition together with the search keyword.
  • the search result display area 240 a list of information on the searched products is displayed. Specifically, in the search result display area 240, corresponding product information 241 including an image, a product name, a price, a store name, and the like of the searched product is displayed for each product. The corresponding product information 241 is displayed according to the display order of the searched product. Specifically, the higher the display order is, the corresponding product information 241 is displayed above the search result display area 240. Further, the upper limit number of corresponding product information 241 whose information can be displayed in the search result display area 240 is determined. For example, when the upper limit number is 30, the search result display area 240 displays the corresponding product information 241 of products whose display ranks are 1st to 30th.
  • a new search result page is displayed on the screen of the user terminal 2, and the display order is displayed in the search result display area 240 of the search result page.
  • Applicable product information 241 from the 31st to the 60th is displayed.
  • the display order of the corresponding product information 241 is determined based on the listing score.
  • the listing score is a value indicating an evaluation determined for a product or a product page of the product. The higher the listing score, the higher the evaluation. And the higher the listing score, the higher the display order of the corresponding product information 241 of the product.
  • the listing score may be increased as the number of accesses (viewing number) to the product page is increased, or the listing score may be increased as the number of purchases of the product is increased.
  • a product page is displayed on the screen.
  • the product page is a Web page on which detailed information on the product corresponding to the selected corresponding product information 241 is displayed.
  • the product for which information is displayed on the product page can be purchased.
  • the online shopping mall server 1 extracts a search keyword and a genre highly relevant to the search keyword in order to improve the convenience of the user on the search result page.
  • the online shopping mall server 1 also extracts combinations of search keywords and genres that are highly relevant to the combinations.
  • a genre that is highly relevant to a search keyword is a genre that has been frequently specified as a search condition together with the search keyword. This number is referred to as a “specified number”.
  • a genre that is highly related to a combination of search keywords a genre that has been frequently specified as a search condition together with a plurality of search keywords constituting the combination can be given.
  • the genre ID is genre identification information.
  • the online shopping mall server 1 When receiving the search query from the user terminal 2, the online shopping mall server 1 records a query log.
  • the query log is a history of received search queries.
  • the online shopping mall server 1 calculates the specified number of times for each set of the search keyword and genre specified as the search condition based on the query log.
  • the specified number of times is the number of times that the user explicitly specified both the search keyword and the genre, and the user specifies either the search keyword or the genre on the previous page, and the user displays the search result page displayed thereby.
  • the other By specifying the other as the narrowing-down condition, the number of times when it is considered that both the search keyword and the genre are specified is included.
  • the user designates the search keyword and the genre for example, it is considered that the user intends that the product to be searched for by the designated search keyword is in the product of the designated genre. That is, the user thinks that there is a relationship between the designated search keyword and the genre. This is because the product that the user wants to search is a product that satisfies the search condition indicated by the specified search keyword and genre.
  • search keyword is associated with a genre that is highly relevant to the search keyword, the convenience of the user during the search may be improved.
  • Whether or not the number of times of specifying a set of a search keyword k and genre c is large is determined based on the number of times of specifying a set of search keyword k and sibling genre of genre c. It is said that the more the relative designation number of the genre c is, the higher the relevance with the search keyword k is compared to other genres.
  • a relevance score is determined for a combination of a search keyword and a genre extracted as having high relevance.
  • the relevance score is a value indicating the degree of relevance between the search keyword and the genre.
  • a higher relevance score indicates a higher relevance between the search keyword and genre.
  • the first use is control of display of the genre link 221 in the genre designation area 220 of the search result page.
  • a genre link 221 of a genre that is highly relevant to the specified search keyword is preferentially displayed in the genre specification area 220.
  • the display order of the genre link 221 in the genre specifying area 220 increases as the relevance score between the specified search keyword and the genre increases.
  • the genre link 221 is displayed as a series of genres, it is considered that the user selects the genre link 221 of the genre that the user thinks is related to the previously specified search keyword. For this reason, the more highly relevant the genre is to the designated search keyword, the higher the probability that the user will designate as the narrowing-down condition. Accordingly, the user can easily find out the genre designated as the narrowing-down condition from the genre designation area 220.
  • FIG. 4 (a) to 4 (c) are diagrams showing display examples of the genre link 221 in the genre designation area 220.
  • FIG. For example, it is assumed that the search keyword “water” is highly related to “water / soft drink”, “water / mineral water”, and “pet / pet goods”.
  • the genre designation area 220 of the search result page displays “water / soft drink”, “water” as shown in FIG.
  • the genre links 221 for “mineral water” and “pet / pet goods” are displayed. Since “water / soft drinks” are displayed above “pets / pet goods”, “water / soft drinks” are more relevant to “water” than “pets / pet goods” I understand that it is expensive.
  • each genre link 221 is displayed in such a manner that it is understood that “water / soft drink” and “water / mineral water” are in a parent-child relationship.
  • an all genre display button 222 is further displayed.
  • genre links 221 of all genres of level 1 are displayed in the genre designation area 220.
  • the display positions of the genre links 221 of “water / soft drink” and “pet / pet goods” are not changed. Note that the number of products belonging to the genre indicated by the genre link 221 may be displayed beside each genre link 221.
  • the number of products to be searched may be displayed when the genre indicated by the genre link 221 is designated as a search condition.
  • the number of products belonging to “pet / pet goods” is larger than the number of products belonging to “water / soft drink”. Even if this is the case, “water / soft drink” having a higher relevance to the search keyword “water” is displayed above “pet / pet goods”.
  • the second application is display control of search keyword candidates in the keyword suggest function in the keyword input field 211 of the search result page. This is executed when a genre is specified as a search condition in the previous page. Specifically, keywords that are highly relevant to the genre specified on the previous page are preferentially displayed as search keyword candidates among the keywords that match the character string entered in the keyword input field 211 by the user. The display order of the keywords at this time becomes higher as the relevance score between the specified genre and the keyword is higher. The more highly relevant the search keyword is to the specified genre, the higher the probability that the user will specify it as a narrowing-down condition. Therefore, the user can easily specify the search keyword as the narrowing-down condition.
  • a keyword including the input character string (including a keyword including the input character string in the kana) may be displayed. Therefore, for example, a keyword that matches backwards with the input character string may be displayed.
  • FIG. 5A is a diagram showing a display example of keywords in the search keyword candidate display area 214.
  • the search result page On the top page, when the user designates, for example, “digital camera” as the genre, the search result page is displayed.
  • a search keyword candidate display area 214 is displayed immediately below the keyword input field 211 as shown in FIG. Is displayed.
  • this search keyword candidate display area 214 for example, “digital camera”, “digital camera body”, “digital camera AAA”, “digital camera single lens”, “digital camera BBB”, etc. are displayed as search keyword candidates. Is done. That is, these keywords are highly relevant to the genre “digital camera”.
  • search keyword candidates are keywords that have a low relevance to the genre “digital camera”. Even when the user inputs the same character string in the keyword input field 211, the keyword displayed in the search keyword candidate display area 214 varies depending on the genre specified on the immediately preceding page.
  • the user selects a check box corresponding to a certain genre from the genre selection menu 212 and inputs a character string in the keyword input field 211, it is related to the selected genre among the keywords including the input character string.
  • a keyword having a high probability may be displayed in the search keyword candidate display area 214.
  • the keyword is related to the selected genre among the keywords including the input character string.
  • a keyword having a high probability may be displayed in the search keyword candidate display area 114.
  • a third application is display control of the related keyword link 231 in the related keyword display area 230. This is executed when the search keyword and genre are specified as the search conditions in the previous page. Specifically, the related keyword display area 230 preferentially displays related keyword links 231 of related keywords that are highly related to the genre specified on the previous page among the related keywords of the search keyword specified on the previous page. Is done.
  • the display order of the related keyword link 231 in the related keyword display area 230 is higher as the relevance score between the specified genre and the related keyword is higher. The more relevant the keyword that is associated with the specified genre, the higher the probability that the user will specify it as a narrowing-down condition. Therefore, the user can easily specify the related keyword as a search keyword.
  • FIG. 5B is a diagram illustrating a display example of the related keyword link 231 in the related keyword display area 230.
  • the related keyword display area 230 of the search result page is shown in FIG.
  • the related keyword link 231 of the keywords “digital camera”, “digital camera body”, “digital camera AAA”, and “digital camera single lens” is displayed. That is, these keywords are highly relevant to “digital camera” among the related keywords of “AAA company”.
  • the related keyword for displaying the related keyword link 231 in the related keyword display area 230 changes depending on the genre specified on the previous page.
  • the fourth application is adjustment of the listing score for determining the display order of the corresponding product information 241 of each product in the search result display area 240.
  • This is executed when a search keyword is specified in the previous page. Specifically, among the products searched for with the search keyword specified on the immediately preceding page, the listing score of a product of a genre highly relevant to the search keyword is raised. However, when a genre is specified as a search condition in the immediately preceding page, only the listing score of a product belonging to a descendant genre of the specified genre is raised. This may increase the display order of products of a genre that is highly relevant to the search keyword. Therefore, the user can easily find a product highly relevant to the search keyword from the search result display area 240. Note that the listing score of a product other than a product of a genre highly relevant to the search keyword may be lowered.
  • a search result display area 240 on the search result page displays a list of information on products searched for “Digital Camera AAA”. Is done. At this time, listing scores will increase for products in the genre of “Digital Camera” that are highly related to “Digital Camera AAA” and products in the genre of “AAA”, which is a child genre of “Digital Camera”. It is done.
  • FIG. 6 is a block diagram illustrating an example of a schematic configuration of the online shopping mall server 1 according to the present embodiment.
  • the online shopping mall server 1 includes a communication unit 11, a storage unit 12, an input / output interface 13, and a system control unit 14.
  • the system control unit 14 and the input / output interface 13 are connected via a system bus 15.
  • the communication unit 11 is connected to the network NW and controls the communication state with the user terminal 2 and the like.
  • the storage unit 12 is composed of, for example, a hard disk drive.
  • databases such as a member information DB 12a, a product information DB 12b, a genre information DB 12c, a keyword DB 12d, a related keyword DB 12e, a query log DB 12f, and a specified number of times information DB 12g are constructed.
  • FIG. 7A shows an example of contents registered in the member information DB 12a.
  • member information related to users who are registered as members in the shopping system S is registered.
  • user attributes such as user ID, password, nickname, name, date of birth, gender, postal code, address, telephone number, e-mail address, number of possessed points, etc. are stored for each user.
  • the user ID is user identification information.
  • the number of possessed points is the number of points possessed by the user. This point can be used for the purchase price as having a value equivalent to money when the user purchases a product in the online shopping mall. Further, when the user purchases a product in the online shopping mall, for example, a point corresponding to the purchase amount is given to the user.
  • FIG. 7B is a diagram showing an example of contents registered in the product information DB 12b.
  • the merchandise information DB 12b stores merchandise attributes such as merchandise ID, store ID, merchandise code, genre ID, merchandise name, merchandise image URL (Uniform ⁇ Resource Locator), merchandise description, and merchandise price.
  • Each product to be registered is registered in association with each other.
  • the product ID is product identification information for the store or the like to manage the products sold.
  • the store ID indicates the store from which the product is sold.
  • the product code is a code number for identifying a product. Examples of the product code include a JAN (Japanese Article Number Code) code.
  • the genre ID is the genre ID of the genre to which the product belongs. In the search using the search keyword, for example, a product including the search keyword in at least one of the product name and the product description is searched.
  • FIG. 7C is a diagram showing an example of contents registered in the genre information DB 12c.
  • Genre information relating to the genre of the product is registered in the genre information DB 12c.
  • genre attributes such as a genre ID, a genre name, a genre level, a parent genre ID, and a child genre ID list are registered in the genre information DB 12c in association with each genre.
  • Genre information is set, for example, by an administrator of an online shopping mall.
  • the parent genre ID is the genre ID of the parent genre of the genre defined by the genre information.
  • the child genre ID list is a list of genre IDs of child genres of a genre defined by genre information.
  • the child genre ID list is set when the genre defined by the genre information has a child genre.
  • Genre information at the top of the genre is also registered in the genre information DB 12c.
  • preset identification information is set as the genre ID of the genre top. This makes it possible to identify which genre information is the genre information at the top of the genre.
  • FIG. 7D is a diagram showing an example of contents registered in the keyword DB 12d.
  • the keyword DB 12d a plurality of keyword information as search keyword candidates in the keyword suggest function are registered.
  • One or more keywords are set in the keyword information. For example, among the search keywords specified by the respective users as the search conditions during the preset period, the search keywords whose designated number is equal to or greater than the preset number are registered in the keyword DB 12d.
  • FIG. 7E is a diagram showing an example of contents registered in the related keyword DB 12e.
  • a plurality of sets of keyword information and related keyword information are registered in the related keyword DB 12e.
  • the related keyword information one of a keyword related to one or more keywords set in the keyword information and a combination of keywords related to one or more keywords indicated by the keyword information are set.
  • a method for extracting a related keyword or a combination of related keywords for example, a known method can be used. Therefore, a detailed description of the related keyword extraction method is omitted.
  • FIG. 7 (f) is a diagram showing an example of contents registered in the query log DB 12f.
  • a query log is registered in the query log DB 12f.
  • the date and time of reception, search keyword information, genre ID, gender, age, prefecture, etc. are registered in the query log DB 12f in association with each time a search query is received.
  • the reception date and time is the date and time when the search query is received.
  • search keyword information either one search keyword specified as a search condition or a combination of search keywords specified as a search condition is set.
  • the genre ID is a genre ID of a genre designated as a search condition.
  • Gender, age, and prefecture are attributes of the user who uses the user terminal 2 that transmitted the search query.
  • the user's gender and age, the prefecture where the user lives, and the like are registered as attributes of the user who requested the search.
  • the sex, age, and prefecture are registered when the user who has requested the search is logged in to the online shopping mall.
  • FIG. 7 (g) is a diagram showing an example of contents registered in the designated number of times information DB 12g.
  • designated number information related to the designated number as a search condition for a search keyword / genre pair is registered.
  • one or more pairs of genre IDs and designated times are registered in the designated number information DB 12g in association with the search keyword information.
  • the genre ID is a genre ID of a genre specified as a search condition together with one or more search keywords set in the search keyword information.
  • the specified number of times is the number of times that genre is specified as a search condition together with one or more search keywords set in the search keyword information.
  • the storage unit 12 stores various types of data such as HTML (HyperText Markup Language) documents, XML (Extensible Markup Language) documents, image data, text data, and electronic documents for displaying Web pages.
  • the storage unit 12 stores various setting values set by an administrator or the like.
  • the storage unit 12 stores various programs such as an operating system, a WWW (World Wide Web) server program, a DBMS (Database Management System), an electronic commerce management program, and a product evaluation program.
  • the electronic commerce management program is a program for executing processing related to an electronic shopping mall such as extraction of a highly relevant search keyword / genre pair, generation of a search result page, product search, product order, and the like.
  • the product evaluation program is a program for determining a listing score for each product.
  • the product evaluation program updates the listing score of each product as needed.
  • the listing score is stored in the storage unit 12 in association with the product ID.
  • the system control unit 14 can obtain a listing score from the product evaluation program via a dedicated API (Application Programming Interface).
  • the various programs may be acquired from other server devices or the like via the network NW, or may be recorded on a recording medium such as a DVD (Digital Versatile Disc) and read via the drive device. You may do it.
  • the input / output interface 13 performs interface processing between the communication unit 11 and the storage unit 12 and the system control unit 14.
  • the system control unit 14 includes a CPU 14a, a ROM (Read Only Memory) 14b, a RAM (Random Access Memory) 14c, and the like.
  • the system control unit 14 functions as a first extraction unit, a second extraction unit, a third extraction unit, and a determination unit in the present invention by the CPU 14a reading and executing various programs.
  • the online shopping mall server 1 may be composed of a plurality of server devices.
  • a server device that extracts a set of highly relevant search keywords and genres a server device that performs processing such as product search and ordering, a server device that transmits a Web page in response to a request from the user terminal 2, and Server devices that manage databases may be connected to each other via a LAN or the like.
  • k is a search keyword that can be an extraction target. Further, for convenience of explanation, it is assumed that a genre highly relevant to the keyword k is extracted from the genres of level 1.
  • G be the set of level 1 genres.
  • the system control unit 14 determines whether there is a genre highly relevant to the keyword k in the level 1 genre. Specifically, for each genre, the degree of variation (bias) of the specified number of times specified as a search condition together with the keyword k is determined. The smaller the variation in the number of specified times for each genre, that is, the higher the uniformity, the less the difference in relevance with the keyword k for each genre. The fact that there is no difference in relevance means that there is no genre that is particularly relevant to the keyword k among the genres of level 1.
  • the system control unit 14 determines that there is a genre that is highly relevant to the keyword k among the genres of level 1 when the magnitude of the specified number of variations exceeds a certain variably set size. .
  • entropy is used.
  • E is calculated by the following equation 1.
  • Equation 1 p (g) is a probability that the genre g is specified (hereinafter referred to as “specified probability”) when the keyword k is specified as a search condition together with the genre of level 1.
  • the specified probability p (c) of a certain genre c included in the level 1 genre is calculated by the following equation 2.
  • Equation 2 sc (k, c) is the number of times that the genre c is specified as a search condition together with the keyword k. Since p (c) is calculated based on the number of times that the genre c has been specified together with the keyword k in the past, p (c) is the ratio that the genre c is specified for all level 1 genres. But there is.
  • the system control unit 14 compares the entropy E with a threshold value.
  • this threshold value is ⁇ , it is determined that there is a genre highly relevant to the keyword k when E ⁇ ⁇ is satisfied.
  • Entropy E tends to increase as the number of level 1 genres increases. This is because the maximum value of entropy E increases as the number of genres increases. Therefore, it is necessary to variably set the threshold value ⁇ according to the number of genres.
  • the threshold value ⁇ by, for example, the following expression 3.
  • K1 is a constant that satisfies 0 ⁇ K1 ⁇ 1.
  • K1 is set by an administrator, for example.
  • the method of determining the threshold value ⁇ is not limited to the method described here.
  • the threshold value ⁇ may be determined so as to increase as the number of genres increases.
  • a value indicating variation in the designated number may be calculated by a method other than calculating entropy.
  • the system control unit 14 determines that there may exist a genre highly relevant to the keyword k in the level 1 genre, then, from the level 1 genre, which genre is relevant to the keyword k. To determine if it is high. Specifically, the system control unit 14 compares the designated probability with a threshold value.
  • is an example of the first threshold, the second threshold, and the third threshold in the present invention. When this threshold is ⁇ , it is determined that the genre c is highly relevant to the keyword k when p (c) ⁇ ⁇ is satisfied.
  • the threshold value ⁇ is the minimum value of the specified probability that the genre c is determined to be highly relevant to the keyword k.
  • the designation probability tends to increase as the number of level 1 genres decreases. Therefore, the threshold value ⁇ needs to be variably set according to the number of genres. Therefore, the system control unit 14 calculates the threshold value ⁇ by, for example, the following formula 4.
  • K2 is a constant that satisfies K2 ⁇ 2.
  • K3 is an integer constant of 3 or more. K2 and K3 are set by an administrator, for example. When a value of 1 or more is set as K2, a value of 1 / n or more, which is an average value of designated establishment, can be set as the threshold value ⁇ .
  • the reason why the threshold ⁇ is set according to the number of genres when the number of genres is less than K3 is that when the number of genres is small, the change of 1 / n is large with respect to the change of the number of genres.
  • the threshold ⁇ is fixed because if the threshold ⁇ is too small, the relevance of the genre that is not actually highly relevant to the keyword k is high. This is because the probability of determination increases. Note that the method for determining the threshold value ⁇ is not limited to the method described here. The threshold value ⁇ may be determined so as to increase as the number of genres decreases.
  • the designation probability p (c) is the relative number of designations of the genre c with respect to the total number of designation times of all genres of level 1. Therefore, determining whether or not the specified probability is greater than or equal to the threshold ⁇ is whether or not the specified count sc (k, c) of the genre c is equal to or greater than the threshold ⁇ 2 of the number of times calculated by the following Equation 5. Is to determine.
  • the threshold value ⁇ 2 is the minimum value of the designated number of times that the genre c is determined to be highly relevant to the keyword k.
  • the system control unit 14 may determine whether or not the relevance with the keyword k is high by comparing the specified number of times with the threshold value ⁇ 2 instead of comparing the specified probability with the threshold value ⁇ .
  • the system control unit 14 determines a relevance score for the set of the genre c and the keyword k. For example, the relevance score may be higher as the specified number is higher. For example, the designated number itself may be used as the relevance score. Further, the relevance score may be determined such that the relevance score increases as the number of times of designation increases, and the relevance score increases as the designation probability increases. For example, the relevance score may be calculated using a calculation formula having the specified number of times and the specified probability as variables.
  • FIGS. 8A and 8B are graphs showing the specified probabilities for each level 1 genre. 8A and 8B show graphs for only some genres among all genres at level 1. FIG.
  • FIG. 8A shows an example in which the keyword k is “water”.
  • the solid line graph is a graph of the specified probability.
  • FIG. 8A a broken line graph is also shown.
  • This broken line graph shows the corresponding products of each genre with respect to the number of products searched for “water” in all genres of level 1 (hereinafter referred to as “the number of corresponding products”) when the keyword k is “water”.
  • Number ratio As shown to Fig.8 (a), the ratio of the number of applicable goods and designation
  • FIG. 8B shows an example in which the keyword k is “point”.
  • the variation in the designation probability of each genre is small. This is because the description regarding the point in the product name or the product description is considered to be seen uniformly in any genre. Therefore, it is determined that the entropy E is larger than the threshold value ⁇ . That is, it is determined that there is no genre highly relevant to “point”.
  • FIG. 9 is a diagram showing how genres related to the keyword k are extracted for each level.
  • the system control unit 14 extracts the genre highly relevant to the keyword k from the child genres of the extracted genre. Try.
  • the genre g1 is extracted as a genre having high relevance to the keyword k among the genres g1, g2, g3, etc. of level 1.
  • a genre highly relevant to the keyword k is extracted from the child genres g11, g12, g13, etc. of the genre g1.
  • the genre extraction method with high relevance to the keyword k for level 2 and later is basically the same as that for level 1.
  • a set of child genres of a genre determined to be highly relevant to the keyword k may be G.
  • the number of genres of child genres determined to be highly relevant to the keyword k may be set to n.
  • FIG. 26A is a graph showing the specified probability for each child genre of “water / soft drink”.
  • the number of level 1 genres is 35.
  • FIG. 8A shows the designation probabilities of some genres among all genres of level 1.
  • the number of child genres of “water / soft drink” is eight.
  • the entropy threshold ⁇ 2 of the child genre of “water / soft drink” is smaller than the entropy threshold ⁇ 1 of the level 1 genre.
  • the specified probability of “water / mineral water” exceeds 90%.
  • FIG. 26B is a graph showing the specified probability for each child genre of “water / mineral water”, which is a child genre of “water / soft drink”. As shown in FIG. 26B, the number of child genres of “water / mineral water” is 22. Therefore, the entropy threshold ⁇ 3 of the child genre of “water / mineral water” is smaller than the entropy threshold ⁇ 1 of the genre of level 1 and larger than the entropy threshold ⁇ 2 of the child genre of “water / soft drink”.
  • the entropy threshold value ⁇ changes according to the number of genres.
  • the designation probability of “brand A” is about 30%
  • the designation probability of “domestic natural water” is about 50%.
  • the designation probability of other genres is less than 10%. Therefore, the entropy E of the child genre of “water / mineral water” is equal to or less than the threshold value ⁇ 3.
  • the entropy E is less than or equal to the threshold ⁇ 1 for the child genre of the genre g1, the genre highly relevant to the keyword k is extracted from the child genres of the genre g1.
  • the specification probability of the genre g11 and the specification probability of the genre g13 are each equal to or higher than the threshold value ⁇ 1, the genre g11 and the genre g13 are extracted as genres having high relevance to the keyword k.
  • the entropy E is not less than or equal to the threshold ⁇ 11, no extraction is performed from the child genres of the genre g11.
  • the entropy E is equal to or less than the threshold ⁇ 13, and therefore, a genre highly relevant to the keyword k is extracted from the child genres g131, g132, g132, etc.
  • the genre g132 is extracted as a genre highly relevant to the keyword k.
  • the designated number of child genres is added to the actual designated number of the parent genre.
  • the designated times of the level 3 genres g111, g112, and g113 are 5, 7, and 3.
  • the designated number of genres g11 which is a parent genre such as the genre g111, is 10.
  • the total value of the designated number of genres g111, g112, and g113 is added to the designated number of genres g11. Therefore, the specified number of genres g11 is 25.
  • 25 which is the designated number of genres g11, is also added to the genre g1, which is the parent genre of the genre g11.
  • the specified number of times for a certain genre is reflected in each genre from the parent genre of that genre to the level 1 genre.
  • the fact that a certain genre is designated with the keyword k means that a part of the whole parent genre of the genre is designated with the keyword k. Therefore, in this case, it can be considered that the parent genre is also specified together with the keyword k. It is not necessary to add the designated number of child genres to the designated number of parent genres.
  • Genres that are highly relevant to the combination of search keywords can also be extracted by the method described in Section 3. Specifically, the system control unit 14 acquires the number of times specified as a search condition together with a plurality of search keywords for each of a plurality of genres of products. Then, the system control unit 14 extracts a genre whose acquired number is equal to or more than a threshold as a genre highly relevant to the combination of the plurality of search keywords.
  • the keyword k in the description of the third term may be replaced with a combination of search keywords.
  • the number of patterns that can be combined with search keywords is extremely large.
  • the number of times that the user designates a combination of search keywords as a search condition may be less than the number of times that the user designates one search keyword as a search condition.
  • the system control unit 14 may not be able to extract a genre related to the combination.
  • the reliability of the genre extraction result related to the combination is lowered.
  • the system control unit 14 extracts a genre highly relevant to one search keyword included in the combination of search keywords from a plurality of genres hierarchized in a tree structure.
  • This search keyword is assumed to be KE1.
  • the extraction method is the same as that described in Section 3.
  • the system control unit 14 extracts a genre highly relevant to another search keyword included in the combination of search keywords from the descendant genres of the genre extracted for the keyword KE1.
  • This search keyword is KE2.
  • the extraction method in this case is also the same as the method described in the third section.
  • the system control unit 14 starts extracting a highly relevant genre from the level 1 genre.
  • the system control unit 14 starts extracting a genre having high relevance from a child genre of a genre having high relevance to the keyword KE1.
  • the system control unit 14 determines the genre extracted for the keyword KE2 as a genre related to the combination of the search keywords KE1 and KE2.
  • the reason is that, among genres that are highly relevant to the search keyword KE2, a genre that belongs to a genre that is highly relevant to the search keyword KE1 is likely to be a genre that is also highly relevant to the search keyword KE1.
  • extraction is attempted for one search keyword. Therefore, the probability that a highly relevant genre can be extracted in each extraction can be increased. As a result, it is possible to increase the probability that a genre highly relevant to the combination of search keywords can be extracted.
  • the third and subsequent search keywords are similarly extracted.
  • the system control unit 14 has a high relevance to the search keyword KE3 included in the search keyword combination from the descendant genres of the genre determined as a genre highly relevant to the combination of the search keywords KE1 and KE2. Extract the genre.
  • the system control unit 14 determines the genre extracted at this time as a genre highly relevant to the combination of the search keywords KE1 to K3.
  • the general description of the extraction method is as follows.
  • the system control unit 14 assigns a highly relevant genre extraction order to each search keyword constituting a combination of search keywords.
  • the system control unit 14 sequentially extracts genres that are highly relevant to each search keyword in the assigned extraction order.
  • the system control unit 14 extracts a highly relevant genre from all genres.
  • the system control unit 14 extracts a highly relevant genre from the child genres of the genre extracted for the search keyword whose extraction order is the previous one. .
  • the system control unit 14 determines that the genre extracted for the search keyword whose extraction order is the last is the genre related to the combination of the search keywords.
  • FIG. 10A is a diagram illustrating an example of a result of extracting genres related to a combination of search keywords “digital camera AAA”.
  • FIG. 10B is a diagram illustrating an example of the extraction result of the genre related to the keyword “digital camera”.
  • FIG. 10C is a diagram illustrating an example of the extraction result of the genre related to the keyword “AAA company”. Since the designated number of “digital camera AAA company” is small, there is no genre related to “digital camera AAA company” in the method described in item 3 as shown in FIG. On the other hand, there are a genre related to the keyword “digital camera” and a genre related to “AAA”. As shown in FIG.
  • the genres related to “digital camera” include “home appliance / AV / camera”, “digital camera” and “digital camera” which are child genres of “home appliance / AV / camera”. There are child genres “AAA company”, “BBB company” and “CCC company”. Further, as shown in FIG. 10C, as a genre related to the keyword “AAA company”, for example, “digital camera” which is a child genre of “home appliance / AV / camera” and “home appliance / AV / camera”. There is “AAA Company” which is a child genre of “Digital Camera”. In addition to these genres, there are many genres related to the keyword “AAA company”. The reason is that AAA manufactures various types of products.
  • FIG. 11 is a diagram illustrating an example of a state in which a genre highly relevant to “digital camera AAA company” is extracted.
  • the system control unit 14 first extracts a genre that is highly relevant to the keyword “digital camera” from all genres. The extraction result is shown in FIG. Next, the system control unit 14 ranks each extracted genre in descending order of the relevance score of “digital camera”. For example, suppose that the first place is “digital camera”, the second place is “AAA company”, and the third place is “BBB company”. The system control unit 14 extracts a genre having a high relevance with the keyword “AAA company” from the child genres for each of the genres whose relevance scores are higher than a predetermined order.
  • the system control unit 14 determines that the genre related to “digital camera AAA company” is “AAA company” which is a child genre of “digital camera”. Note that the system control unit 14 determines that only the genres whose relevance scores are higher than or equal to a preset order among the genres extracted at this time are genres related to “Digital Camera AAA”. To do.
  • the genre extracted when the extraction of the genre having high relevance with “AAA company” which is the second search keyword in the extraction order is started from the genre of level 1 is “digital camera AAA”.
  • This is an example in the case where there is a genre highly related to “Company”. However, this may not always be the case.
  • the number of times that the search keyword “AAA company” and the genre “digital camera” are specified as the search condition is the number of times that the search keyword “AAA company” and the “digital camera” sibling genre are specified as the search conditions. Suppose there wasn't many in comparison.
  • the search keyword “AAA company” and the child genre “AAA company” of the “digital camera” are specified as the search condition, and the search keyword “AAA company” together with the search keyword “AAA company”.
  • “AAA company” which is a child genre of “digital camera” is not extracted as a genre highly relevant to the search keyword “AAA company”.
  • the system control unit 14 extracts a highly relevant genre from the child genres of “digital camera”. It is because it does not perform.
  • the system control unit 14 selects a genre highly relevant to the search keyword “AAA” from the descendant genres of “digital camera”, which is a genre highly relevant to the search keyword “digital camera”.
  • the system control unit 14 performs extraction regardless of whether or not the relationship between the “digital camera” of the genre and the “AAA company” of the search keyword is high. Therefore, even in this case, “AAA company” which is a descendant genre of “digital camera” is extracted as a genre highly related to “digital camera AAA company”. In this way, the system control unit 14 starts extracting keywords related to the second keyword in the extraction order from the child genres of the genre related to the first keyword in the extraction order.
  • extraction of a genre related to the second keyword in the extraction order is started from the level 1 genre.
  • a genre that cannot be extracted can be extracted as a genre related to the second keyword in the extraction order.
  • One reason for the system control unit 14 to narrow down the genre based on the ranking of the relevance score is to reduce the processing time. Another reason is to increase the reliability of the extraction result.
  • a genre highly relevant to one search keyword is extracted.
  • the genre that is finally extracted as a genre that is highly relevant to the combination of search keywords is a combination of the results of each extraction process. Therefore, there is a possibility that the genre finally extracted includes a genre having low relevance to the combination of search keywords. Therefore, in each extraction process, genres with relatively low relevance are excluded from genres with high relevance to the search keyword. Note that the system control unit 14 does not have to narrow down the genre by the rank of the relevance score.
  • the genre corresponding to the ancestor of the extracted genre may be determined as a genre related to the combination. For example, in the case of the example of FIG. 11, in addition to the genre “AAA company”, “home appliance / AV camera” and “digital camera” are also determined as genres related to “digital camera AAA company”.
  • the system control unit 14 extracts highly relevant genres in the same extraction order as the search keyword designation order (input order) by the user.
  • the reason is that when a plurality of search keywords are specified, the user tends to specify a keyword indicating a broad concept in the front and a search keyword indicating a narrow concept in the rear.
  • the system control unit 14 changes the extraction order. And the system control part 14 tries extraction of the genre relevant to the combination of a search keyword again in the extraction order after a change. Thereby, the probability that the genre relevant to the combination of a search keyword can be extracted can be improved.
  • FIG. 12A is a diagram illustrating an example of a genre extraction result related to a combination of search keywords “20-inch display”.
  • FIG. 12B is a diagram illustrating an example of an extraction result of a genre related to the keyword “20 inches”.
  • FIG. 12C is a diagram illustrating an example of the extraction result of the genre related to the keyword “display”.
  • the genres related to “20 inches” are child genres of “bicycle” and “bicycle” which are child genres of “sport / outdoor” and “sport / outdoor”.
  • FIG. 12C “interior / bedding / storage” and “storage furniture”, which is a child genre of “interior / bedding / storage”, exist as genres related to “display”.
  • “PC / peripheral device” and “display / monitor” which is a child genre of “PC / peripheral device” exist.
  • FIG. 13A shows an example of extraction when extraction processing is performed in the order in which search keywords are specified.
  • the system control unit 14 extracts a genre highly relevant to “20 inches” from all genres.
  • the system control unit 14 selects “children's bicycle”, “folding bicycle”, and “EEE”, which are genres having high relevance scores.
  • the system control unit 14 attempts to extract a genre that is highly relevant to “display” from the child genres of “children's bicycle”, “folding bicycle”, and “EEEE”.
  • FIG. 13B shows an extraction example when the extraction process is performed by changing the genre extraction order.
  • the system control unit 14 extracts a genre highly relevant to the “display” from all genres.
  • the system control unit 14 selects “interior / bedding / storage”, “storage furniture”, and “display / monitor” having the highest relevance score.
  • the system control unit 14 attempts to extract a genre highly relevant to “20 inches” from the child genres of “interior / bedding / storage”, “storage furniture”, and “display / monitor”. .
  • the genre of “liquid crystal 18-20 inches” is extracted from the child genres of “display monitor” as a genre highly related to “20 inches”. It was.
  • the system control unit 14 determines that “liquid crystal 18 to 20 inches” is a genre related to “20 inches display”.
  • the system control unit 14 may perform the extraction process by changing the extraction order until a genre related to the combination of search keywords can be extracted. Alternatively, the system control unit 14 may limit the upper limit of the number of times that the extraction order can be changed.
  • the online shopping mall server 1 may compare the breadth of the concept among a plurality of designated search keywords when performing genre extraction first. Then, the online shopping mall server 1 may determine the extraction order of each search keyword so that the search keyword indicating a broad concept is higher in the extraction order. The reason is that there may be a user who specifies a keyword indicating a narrow concept earlier. In this case, the extraction order may be different from the order in which search keywords are specified by the user. For example, the online shopping mall server 1 may determine the genre extraction order of each search keyword based on a concept dictionary (semantic dictionary) that defines a semantic relationship between words. This concept dictionary also defines the relationship between the broader terms and the narrower terms.
  • a concept dictionary semantic dictionary
  • a database of concept dictionaries may be built in advance in the online shopping mall server 1.
  • the online shopping mall server 1 may use a website of a concept dictionary.
  • the online shopping mall server 1 may acquire the number of items to be searched when a search is performed using each of a plurality of search keywords as a search condition. Then, the online shopping mall server 1 may determine the extraction order of each search keyword so that the search keyword with a larger number of items to be searched has a higher extraction order. The reason is that a search keyword having a larger number of items to be searched has a probability of being a search keyword indicating a broad concept.
  • the system control unit 14 may attempt to extract a highly relevant genre by two methods, the method described in the third item and the method described in the fourth item. Then, when the genre can be extracted by only one of the methods, the system control unit 14 determines the extracted genre as a highly relevant genre. On the other hand, if the genre can be extracted by each method, the system control unit 14 determines the genre extracted by any one method as a highly relevant genre based on a predetermined criterion. May be. This criterion is determined so that a more appropriate genre is selected as a genre related to the combination of search keywords.
  • the extracted genre level may be used as a criterion.
  • the system control unit 14 determines a genre having a higher level as a genre related to a combination of search keywords. The reason is that the higher the genre level, the higher the relevance to the search keyword combination. The larger the level, the narrower the range represented by the genre. This indicates that the greater the level, the higher the specificity of the product belonging to the genre. That is, it indicates that the condition of the product belonging to the genre becomes specific. The more specific the genre, the higher the relevance with the combination of search keywords.
  • FIG. 14A is a diagram illustrating an example of an extraction result when a genre related to a combination of search keywords “XY” is extracted by the method described in the third section.
  • FIG. 14B is a diagram illustrating an example of a state in which genres related to the search keyword combination “XY” are extracted by the method described in the fourth section.
  • genres g1 and g11 are extracted as genres related to “XY”.
  • the level of the genre g1 is 1, and the level of the genre g11 is 2.
  • genres g1, g11, g111, g112, g2, and g21 as genres related to “X”.
  • Genre g11 is a child genre of genre g1.
  • Genres g111 and g112 are child genres of the genre g11.
  • the genre g21 is a child genre of the genre g2.
  • Genre g212 is a child genre of genre g21.
  • a genre g212 is extracted as a genre related to “XY”.
  • the level of the genre g212 is 3. Accordingly, the genre g212 is determined as a genre related to “XY”.
  • the genre g1111 is extracted by the method described in the third section.
  • the level of the genre g1111 is 4. Therefore, in this case, not the genre g212 but the genre g1111 is determined as a genre related to “XY”.
  • the system control unit 14 determines as a highly relevant genre extracted by any method.
  • the judgment criteria may be a specified number of times.
  • the number of times of designation is the number of times that the genre extracted by the method described in the third section is designated as a search condition together with a combination of search keywords for extracting highly relevant genres.
  • the system control unit 14 determines the genre extracted by the method described in the third item as a highly relevant genre. This is because the greater the number of times specified, the higher the accuracy of the extraction result.
  • ⁇ Judgment criteria may be both genre level and specified number of times. As the level increases, the number of specified times tends to decrease. That is, it is considered that there is a correlation between the genre level and the specified number of times. Regarding the relevance between a genre and a combination of search keywords, the level of the genre and the specified number of times are in conflict. Therefore, the system control unit 14 can take balance by considering both. For example, the system control unit 14 may calculate the index value by multiplying the level of the genre extracted by the method described in the third section and the specified number of times of the genre. When the index value is equal to or greater than a preset threshold value, the system control unit 14 determines the genre extracted by the method described in the third item as a highly relevant genre.
  • the system control unit 14 may determine a threshold value to be compared with the index value according to the level of the genre extracted by the method described in the fourth section. Specifically, the system control unit 14 increases the threshold value as the level of the genre extracted by the method described in the fourth section increases.
  • the system control unit 14 determines both the genre extracted by the method described in the third section and the genre extracted by the method described in the fourth section as highly related genres. Also good.
  • FIG. 15 is a flowchart showing a processing example in the designated number counting process of the system control unit 14 of the online shopping mall server 1 according to the present embodiment.
  • the designated number counting process is a process for counting the number of times specified as a search condition together with each genre for each search keyword.
  • the designated number counting process is executed, for example, periodically (for example, every day).
  • the system control unit 14 initializes the specified number of times DB 12g (step S1). Specifically, the system control unit 14 deletes all information registered in the designated number of times DB 12g.
  • the system control unit 14 initializes the keyword / genre list (step S2).
  • the keyword / genre list is a list in which a set of a search keyword, a genre ID, and a specified number of times is registered.
  • the system control unit 14 acquires a set of search keyword information and genre ID from the query log registered in the query log DB 12f (step S3). Specifically, the system control unit 14 acquires a set of search keyword information and a genre ID from a query log whose reception date and time is within a preset period (for example, within a period from the current time to 30 days ago). At this time, the system control unit 14 acquires from the query log in which both the search keyword information and the genre ID are set.
  • the system control unit 14 acquires the number of times specified as a search condition together with the search keyword information for each genre (step S4). Specifically, the system control unit 14 selects one set from each set of search keyword information and genre ID acquired from the query log. Next, the system control unit 14 counts the number of sets having the same search keyword information and genre ID as the selected number among the sets acquired from the query log. At this time, the system control unit 14 also includes the selected group itself as one in the specified number of times. Next, the system control unit 14 selects one set from the sets acquired from the query log, except for the same set as the set that has already been selected. Then, the system control unit 14 counts the specified number of times for the selected set in the same manner as described above. Thereafter, the system control unit 14 performs the same processing until there are no selectable groups.
  • step S4 the system control unit 14 registers the search keyword information, the genre ID, and the specified number of times for each set of the search keyword information and the genre ID for which the specified number of times is calculated, and registers them in the keyword / genre list. (Step S5).
  • the system control unit 14 selects one of the search keyword information registered in the keyword / genre list (step S6).
  • the selected search keyword information is referred to as “selected keyword information”.
  • the system control unit 14 searches the keyword / genre list for a set including the same search keyword information as the selected keyword information. And the system control part 14 produces
  • the system control unit 14 selects one of the groups registered in the search list that has the highest genre level corresponding to the genre ID included in the group (step S8).
  • the genre level is a level included in the genre information corresponding to the genre ID among the genre information registered in the genre information DB 12c.
  • the genre corresponding to the genre ID included in the selected set is referred to as “selected genre”.
  • the system control unit 14 determines whether or not the level of the selected genre is level 1 (step S9). At this time, if the system control unit 14 determines that the level of the selected genre is not level 1 (step S9: NO), the genre ID of the parent genre of the selected genre in the set registered in the search list. It is determined whether or not there is a pair including (step S10).
  • the genre ID of the parent genre of the selected genre is the parent genre ID included in the genre information corresponding to the genre ID of the selected genre.
  • the system control unit 14 determines that there is a set including the genre ID of the parent genre of the selected genre (step S10: YES)
  • the specified number of times included in the selected group is a set including the genre ID of the parent genre. (Step S11).
  • step S10 determines that there is no set including the genre ID of the parent genre of the selected genre (step S10: NO)
  • the system controller 14 newly sets the selected keyword information, the genre ID of the parent genre, and the specified number of times. To the search list (step S12).
  • the system control unit 14 makes the designated number at this time the same as the designated number included in the selected set.
  • step S9 determines in step S9 that the level of the selected genre is level 1 (step S9: YES), when the process of step S11 is completed, or when the process of step S12 is completed. Then, it is determined whether or not there is a pair not yet selected among the pairs registered in the search list (step S13). At this time, if the system control unit 14 determines that there is a group that has not yet been selected (step S13: YES), among the groups that have not yet been selected, the genre corresponding to the genre ID included in the group One having the largest level is selected (step S14). Next, the system control unit 14 proceeds to step S9. The system control unit 14 repeats the processes of steps S9 to S13, thereby adding the designated number of each genre to each genre from the parent genre of the genre to the genre of level 1.
  • step S13 determines that all sets have been selected (step S13: NO)
  • the system control unit 14 registers the specified number of times information in the specified number of times information DB 12g (step S15). Specifically, the system control unit 14 registers the selected keyword information in the specified number of times information DB 12g, and registers the genre ID and the specified number of times included in each set registered in the search list in association with the selected keyword information. .
  • the system control unit 14 determines whether there is search keyword information not yet selected among the search keyword information registered in the keyword / genre list, except for the same keyword information as the search keyword information that has already been selected. It is determined whether or not (step S16). At this time, if the system control unit 14 determines that there is search keyword information that has not yet been selected (step S16: YES), the system control unit 14 selects one of the search keyword information that has not yet been selected (step S17). ). Next, the system control unit 14 proceeds to step S7. The system control unit 14 extracts all pairs of search keyword information and genre that are highly relevant by repeating the processes of steps S7 to S17. If the system control unit 14 determines that all search keyword information has been selected (step S16: NO), the specified number of times counting process is terminated.
  • FIG. 16 is a flowchart showing a processing example in the related genre extraction control process of the system control unit 14 of the online shopping mall server 1 according to the present embodiment.
  • the related genre extraction control process is a process for extracting a genre highly relevant to one keyword or a combination of keywords.
  • the related genre extraction control process is executed as necessary. For example, when the user specifies one or more search keywords as a search condition, the related genre extraction control process is executed for the specified one or more search keywords.
  • the administrator of the online shopping mall specifies one or more keywords
  • the related genre extraction control process is executed for the specified one or more keywords.
  • an administrator may prepare in advance Web pages related to specific keywords or specific keyword combinations in an online shopping mall. When generating a Web page so that a list of genres related to a specific keyword or a combination of specific keywords is displayed, the administrator needs to know the related genres.
  • Keyword information including one or more keywords is set as an argument of the related genre extraction control process.
  • the system control unit 14 determines whether or not a plurality of keywords are set in the keyword information of the argument (step S31). At this time, if the system control unit 14 determines that only one keyword is set in the keyword information of the argument (step S31: NO), the genre top is used as an argument of the related genre extraction process to be executed next. Genre ID and the keyword information of the argument of the related genre extraction control process are set (step S32). Next, the system control unit 14 executes related genre extraction processing (step S33). In the related genre extraction process at this time, a genre highly relevant to one keyword set in the keyword information of the argument is extracted. Details of the related genre extraction process will be described later.
  • step S34 when the system control unit 14 determines that a plurality of keywords are set in the keyword information of the argument (step S31: YES), the system control unit 14 executes a plurality of keyword-related related genre extraction processing (step S34).
  • the system control unit 14 executes a plurality of keyword-related related genre extraction processing (step S34).
  • the multi-keyword related genre extraction process a genre that is highly relevant to the keyword combination set in the keyword information of the argument is extracted. Details of the multi-keyword related genre extraction process will be described later.
  • the system control unit 14 ends the related genre extraction control process when the process of step S33 or S34 is completed. At this time, the system control unit 14 outputs a related genre list as a return value of the related genre extraction control process.
  • the related genre list is a list of genres highly relevant to the keyword information of the argument. Specifically, in the related genre list, records including the keyword information of the argument, the genre ID of the extracted genre, and the relevance score are registered for each extracted genre.
  • FIG. 17 is a flowchart showing a processing example in the related genre extraction process of the system control unit 14 of the online shopping mall server 1 according to the present embodiment.
  • the system control unit 14 calculates the number of child genres of the genre corresponding to the genre ID of the argument (step S41). Specifically, the system control unit 14 counts the number of genre IDs registered in the child genre ID list included in the genre information corresponding to the genre ID of the argument. Next, the system control unit 14 calculates the entropy threshold ⁇ based on the calculated number of child genres (step S42). For example, the system control unit 14 performs calculation using Equation 3 described above.
  • the system control unit 14 calculates a specified probability corresponding to the keyword information of the argument for each child genre of the genre corresponding to the genre ID of the argument (step S43). That is, the system control unit 14 executes a process corresponding to the calculation of Expression 2 described above. Specifically, the system control unit 14 acquires the genre ID from the child genre ID list included in the genre information corresponding to the genre ID of the argument. Next, the system control unit 14 searches the designated number corresponding to the acquired genre ID from the designated number information corresponding to the keyword information of the argument. At this time, when the designated number corresponding to the acquired genre ID is not registered in the designated number information, the designated number for the genre of the genre ID is set to zero.
  • the system control unit 14 performs this search for the genre IDs registered in the child genre ID list. Next, the system control unit 14 calculates the total value of the designated number of times searched. Then, the system control unit 14 calculates the designation probability by dividing each retrieved number of designations by the total value.
  • the system control unit 14 calculates entropy E based on the calculated specified number of times (step S44). That is, the system control unit 14 performs the calculation of Equation 1 described above.
  • the system control unit 14 determines whether the entropy E is equal to or less than the threshold value ⁇ (step S45). At this time, if the system control unit 14 determines that the entropy E is not less than or equal to the threshold value ⁇ (step S45: NO), the related genre extraction process is terminated.
  • step S45 determines that the entropy E is equal to or less than the threshold value ⁇ (step S45: YES)
  • the system control unit 14 calculates the threshold value ⁇ of the designated probability based on the number of child genres (step S46). For example, the system control unit 14 performs calculation using Equation 4 described above.
  • the system control unit 14 selects one of the child genres of the genre corresponding to the genre ID of the argument (step S47).
  • the selected child genre is referred to as “selector genre”.
  • the system control unit 14 determines whether or not the selection probability of the selector genre is greater than or equal to the threshold value ⁇ (step S48).
  • the system control unit 14 determines that the specified probability is equal to or higher than the threshold value ⁇ (step S48: YES)
  • the relevance score of the selector genre is determined according to the number of times the selector genre is specified. (Step S49).
  • the system control unit 14 associates the keyword information of the argument, the genre ID of the selector genre, and the determined relevance score, and registers them as one record in the related genre list (step S50).
  • the system control unit 14 determines whether or not a child genre of the genre is set for the selected child genre (step S51). Specifically, when the child genre list is set in the genre information corresponding to the genre ID of the selected child genre, the system control unit 14 determines that the child genre is set and sets the child genre list. If not, it is determined that no child genre is set. At this time, if the system control unit 14 determines that a child genre is set (step S51: YES), the genre ID of the selected genre and the keyword information of the argument are set as arguments of the related genre extraction process. (Step S52). Next, the system control unit 14 executes related genre extraction processing (step S53).
  • step S48 determines that no child genre is set in step S51 (step S51: NO), or when the process of step S53 is completed, it is determined whether there is a child genre that has not yet been selected among the child genres of the genre corresponding to the genre ID of the argument (step S54). At this time, if it is determined that there is a child genre that has not yet been selected (step S54: YES), the system control unit 14 selects one of the child genres that have not yet been selected (step S55). Next, the system control unit 14 proceeds to step S48. On the other hand, when it is determined that all child genres have been selected (step S54: NO), the system control unit 14 ends the related genre extraction process.
  • system control unit 14 may not extract a highly relevant genre when the number of times the keyword information of the argument is specified as a search condition is small. In this case, for each genre, the number of times specified as a search condition together with the keyword information of the argument is reduced, so it is not appropriate to determine that the relevance to the keyword information of the argument is high.
  • FIG. 18 is a flowchart showing a processing example of the related genre extraction process corresponding to a plurality of keywords of the system control unit 14 of the online shopping mall server 1 according to the present embodiment.
  • the system control unit 14 sets the genre top genre ID and the keyword information of the argument of the related genre extraction control process as arguments of the related genre extraction process to be executed next (step S501).
  • the system control unit 14 executes related genre extraction processing (step S502).
  • a genre highly relevant to the keyword combination set in the keyword information of the argument is extracted by the method described in the third section.
  • the system control unit 14 sets the order of the keywords for extracting the genre by the method described in the fourth section in the order of specifying each keyword set in the keyword information of the argument (step S503).
  • the system control unit 14 executes a setting extraction order corresponding related genre extraction process (step S504).
  • the related genre extraction process corresponding to the setting extraction order genres that are highly relevant to the keyword combination set in the keyword information of the argument are extracted by the method described in the fourth section. At this time, extraction of a highly relevant genre is performed in the extraction order set in step S503. The details of the related genre extraction process corresponding to the setting extraction order will be described later.
  • the system control unit 14 determines whether or not a genre with high relevance has been extracted by the related genre extraction process corresponding to the setting extraction order (step S505). At this time, if the system control unit 14 determines that extraction has failed (step S505: NO), the system control unit 14 determines whether there is an extraction order that has not yet been tried (step S506). At this time, if the system control unit 14 determines that there is an extraction order that has not yet been tried (step S506: YES), the system control unit 14 changes the extraction order to one of extraction orders that have not yet been tried (step S507). Then, the system control unit 14 executes a setting extraction order-related related genre extraction process (step S504).
  • step S506 determines whether or not a highly relevant genre has been extracted by the related genre extraction process of step S502 (step S508).
  • step S508 determines that a highly relevant genre has been extracted
  • the genre extracted by the related genre extraction process is the keyword set in the keyword information of the argument. It is determined that the genre is highly relevant to the combination (step S509).
  • step S509 the system control unit 14 finishes the related genre extraction process corresponding to a plurality of keywords.
  • step S508 NO
  • the system control unit 14 ends the multiple keyword corresponding genre extraction process. In this case, there is no genre highly relevant to the keyword combination set in the keyword information of the argument.
  • step S505 when the system control unit 14 determines that a highly relevant genre can be extracted by the setting extraction order corresponding related genre extraction process (step S505: YES), the levels of the extracted genres Compare Specifically, the system control unit 14 determines whether the value of the genre level extracted by the related genre extraction process is larger than the value of the genre level extracted by the related genre extraction process corresponding to the setting extraction order. (Step S510). That is, the system control unit 14 determines whether or not the level of the genre extracted by the method described in the third section is higher than the level of the genre extracted by the method described in the fourth section. At this time, if the system control unit 14 determines that the level value of the genre extracted by the related genre extraction process is larger (step S510: YES), the system control unit 14 proceeds to step S509.
  • the system control unit 14 determines that the value of the genre level extracted by the related genre extraction process is not larger than the value of the genre level extracted by the related genre extraction process corresponding to the setting extraction order. (Step S510: NO), the relevance score for the keyword combination set in the keyword information of the argument is determined for the genre extracted by the related genre extraction process corresponding to the setting extraction order (Step S511). For example, the system control unit 14 acquires the relevance score of the genre extracted for each keyword in the setting extraction order corresponding related genre extraction process. And the system control part 14 calculates the average value of the acquired relevance score as a relevance score with respect to the combination of a keyword.
  • the system control unit 14 determines that the genre extracted by the setting extraction order-related related genre extraction process is a genre highly relevant to the keyword combination set in the keyword information of the argument (step S512). . At this time, the system control unit 14 registers the determined relevance score in the record registered in the related genre list by the setting extraction order corresponding related genre extraction process. When this process is finished, the system control unit 14 finishes the related genre extraction process corresponding to a plurality of keywords.
  • FIG. 19 is a flowchart illustrating a processing example in the related genre extraction process corresponding to the setting extraction order of the system control unit 14 of the online shopping mall server 1 according to the present embodiment.
  • the system control unit 14 generates a genre list 0 in which genre top genre IDs are registered (step S601).
  • the system control unit 14 sets 1 to the extraction order i (step S602).
  • the genre list i is a list of genres extracted for the i-th keyword in the extraction order.
  • the system control unit 14 sets 1 to the genre index j (step S603).
  • the system control unit 14 sets the j-th registered genre ID in the genre list i-1 and the i-th keyword in the extraction order as arguments of the related genre extraction process to be executed next (step S604). ).
  • the system control unit 14 executes related genre extraction processing (step S605). In the related genre extraction process at this time, a genre highly relevant to the i-th keyword is extracted from the descendant genres of the genre indicated by the genre ID set as the argument.
  • the system control unit 14 determines whether or not the index j is smaller than the value of the number of genre IDs registered in the genre list i-1 (step S606).
  • step S606 when it is determined that the index j is smaller than the value of the number of genre IDs (step S606: YES), 1 is added to the index j (step S607). Then, the system control unit 14 proceeds to step S604. The system control unit 14 repeats the processes in steps S604 to S607, thereby selecting a genre highly relevant to the i-th keyword from the descendant genres of the genre whose genre ID is registered in the genre list i-1. Extract.
  • step S606 determines that the index j is equal to or greater than the value of the number of genres (step S606: NO), whether or not the genre can be extracted by the related genre extraction process of step S605. Is determined (step S608). At this time, if the system control unit 14 determines that the extraction has failed (step S608: NO), it sets failure as the extraction result (step S609). After completing this process, the system control unit ends the related genre extraction process corresponding to the setting extraction order.
  • step S608 YES
  • the system control unit 14 ranks the extracted genres in descending order of relevance score. Then, the system control unit 14 generates a genre list i in which genre IDs of genres whose rank is equal to or higher than a preset rank are registered (step S610).
  • step S611 determines whether or not the extraction order i is smaller than the value of the number of designated keywords. At this time, if it is determined that the extraction order i is smaller than the number of keywords (step S611: YES), 1 is added to the extraction order i (step S612). Then, the system control unit 14 proceeds to step S603.
  • the system control unit 14 extracts the genre highly relevant to the keyword combination set in the keyword information by repeating the processes of steps S603 to S612.
  • step S611 When the system control unit 14 determines that the extraction order i is greater than or equal to the number of keywords (step S611: NO), the system control unit 14 generates a related genre list (step S613). Specifically, for each genre ID registered in the genre list i, the system control unit 14 registers a record including the genre ID and argument keyword information in the related genre list. Next, the system control unit 14 sets success as the extraction result (step S614). After completing this process, the system control unit ends the related genre extraction process corresponding to the setting extraction order.
  • FIG. 20 is a flowchart illustrating a processing example in the search query reception process of the system control unit 14 of the online shopping mall server 1 according to the present embodiment.
  • the search query reception process is started when the online shopping mall server 1 receives a search query from the user terminal 2 displaying the top page or search result page of the online shopping mall.
  • the system control unit 14 searches for products that satisfy the search conditions specified by the user (step S71). Specifically, when the search keyword information is set in the search query, the system control unit 14 searches the product information DB 12b for product information including the search keyword information in at least one of the product name and the product description. Further, when the genre ID is set in the search query, the system control unit 14 sets the product information of the product belonging to the genre corresponding to the genre ID from the product information DB 12b to the genre ID included in the product information. Search based on. When the search keyword information and genre ID are set in the search query, the system control unit 14 is product information including the search keyword information in at least one of the product name and the product description, and corresponds to the genre ID. The product information of the product belonging to the genre to be searched is searched.
  • the system control unit 14 records a query log (step S72). Specifically, the system control unit 14 acquires the current date and time as the reception date and time. Then, the system control unit 14 generates a query log including the reception date and time, the search keyword information set in the search query, and the genre ID. At this time, when the user who has requested the search is logged in, the system control unit 14 includes the sex, age, and prefecture in the query log. For example, when the user logs in to the online shopping mall, the system control unit 14 receives the user ID from the user terminal 2 and stores the received user ID in the user terminal 2 as a cookie. For this reason, when the user is logged in, a cookie including the user ID is added to the search query.
  • the system control unit 14 acquires the user ID from the cookie added to the search query. Then, the system control unit 14 acquires member information corresponding to the user ID from the member information DB 12a. And system control part 14 specifies sex, age, and a prefecture based on member information. The system control unit 14 registers the generated query log in the query log DB 12f.
  • step S73 determines whether or not search keyword information is set in the search query. At this time, if the system control unit 14 determines that the search keyword information is set (step S73: YES), the search keyword information set in the search query is used as an argument of the related genre extraction control process. Set (step S74). Then, the system control unit 14 executes related genre extraction control processing (step S75).
  • step S73 When it is determined that the search keyword information is not set in the search query (step S73: NO), or when the process of step S75 is completed, the system control unit 14 stores the search result page from the storage unit 12. An HTML document template is acquired (step S76). Next, the system control unit 14 executes a search condition setting area setting process (step S77). Specifically, when the genre ID is set in the search query, the system control unit 14 selects one or more items input in the keyword input field 211 when the search button 213 on the search result page is selected. This genre ID is set in the acquired template so that this genre ID is transmitted together with the search keyword.
  • the system control unit 14 executes a genre designated area setting process (step S78).
  • the genre designation area setting process data for displaying the genre link 221 in the genre designation area 220 of the search result page is set in the acquired template.
  • the system control unit 14 executes a related keyword display area setting process (step S79).
  • the related keyword display area setting process data for displaying the related keyword link 231 in the related keyword display area 230 of the search result page is set in the acquired template.
  • the system control unit 14 executes a search result display area setting process (step S80).
  • the search result display area setting process data for displaying the corresponding product information 241 is set in the acquired template in the search result display area 240 of the search result page. Details of the genre designation area setting process, the related keyword display area setting process, and the search result display area setting process will be described later.
  • the system control unit 14 transmits the HTML document of the search result page completed by setting each information to the user terminal 2 that is the transmission source of the search query (step S81).
  • the system control unit 14 finishes the search query reception process.
  • FIG. 21 is a flowchart showing a processing example in the genre designation area setting process of the system control unit 14 of the online shopping mall server 1 according to the present embodiment.
  • the system control unit 14 determines whether or not one or more search keywords are specified as a search condition (step S101). That is, the system control unit 14 determines whether or not search keyword information is set in the search query. At this time, if the system control unit 14 determines that one or more search keywords are not specified (step S101: NO), the system control unit 14 executes normal processing for displaying the genre link 221 (step S102). ). Specifically, when the genre ID is not set in the search query, the system control unit 14 generates data for the genre link 221 for each level 1 genre. On the other hand, when the genre ID is set in the search query, the system control unit 14 generates data for the genre link 221 for each child genre of the genre corresponding to the genre ID.
  • the system control unit 14 When generating data for the genre link 221, the system control unit 14 sets a URL for searching for a product in the href attribute of the a tag.
  • the system control unit 14 generates a product search URL by adding the genre ID of the corresponding genre to the URL indicating the transmission destination of the search query. Further, the system control unit 14 sets the genre name of the corresponding genre between the start tag and the end tag of the a tag.
  • the system control unit 14 additionally sets the generated data for the genre link 221 in an area corresponding to the genre specifying area 220 in the acquired template. After completing this process, the system control unit 14 ends the genre designation area setting process.
  • step S103 determines whether a genre is specified as a search condition. That is, the system control unit 14 determines whether or not a genre ID is set in the search query.
  • the genre corresponding to the genre ID set in the search query is referred to as “designated genre”.
  • step S104 determines that the genre is designated.
  • step S105 acquires the genre top genre ID (step S105).
  • step S104 or S105 the system control unit 14 is highly relevant to one or more search keywords set in the search keyword information among the descendant genres of the genre indicated by the acquired genre ID.
  • a genre record is searched from the related genre list output by the related genre extraction control process of step S75 shown in FIG. 20 (step S106). Specifically, the system control unit 14 acquires a genre ID from each record registered in the related genre list. Next, the system control unit 14 acquires in step S104 or S105 from the genre indicated by the genre ID acquired from the record, based on the genre ID acquired from the record and the genre information registered in the genre information DB 12c. The descendant genre of the genre indicated by the genre ID is specified. Then, the system control unit 14 extracts a record including the genre ID of the specified genre from the searched records.
  • step S107 the system control unit 14 determines whether there is a corresponding record as a result of the search in step S106 (step S107). At this time, if the system control unit 14 determines that there is no corresponding record (step S107: NO), the system control unit 14 proceeds to step S102. This is a case where there is no genre highly relevant to the search keyword information specified by the user.
  • step S107 determines that there is a corresponding record
  • step S108 the record having the highest relevance score included in the record is selected from the retrieved records (step S108). ).
  • step S109 the system control unit 14 generates data for the genre link 221 of the genre corresponding to the genre ID included in the selected record (step S109).
  • This generation method is the same as the method described in step S102.
  • the system control unit 14 adds the genre ID of the corresponding genre and one or more search keywords included in the search keyword information to the URL indicating the transmission destination of the search query. And generate.
  • the system control unit 14 additionally sets the generated data for the genre link 221 of the genre in an area corresponding to the genre specifying area 220 in the acquired template (step S110).
  • step S111 determines whether there is a record that has not yet been selected among the retrieved records. At this time, if the system control unit 14 determines that there is an unselected record (step S111: YES), the relevance score included in the record is the highest among the records that have not been selected yet. One record is selected (step S112). Next, the system control unit 14 proceeds to step S109. The system control unit 14 determines the display order of the genre link 221 of the genre highly relevant to the search keyword information based on the relevance score by repeating the processes of steps S109 to S112. That is, the system control unit 14 preferentially displays the genre link 221 as the genre has a higher relevance score. If the system control unit 14 determines that all records have been selected (step S111: NO), the genre designation area setting process is terminated.
  • FIG. 22 is a flowchart showing a processing example in the related keyword display area setting process of the system control unit 14 of the online shopping mall server 1 according to the present embodiment.
  • the system control unit 14 determines whether or not one or more search keywords are set as a search condition (step S201). At this time, if the system control unit 14 determines that one or more search keywords are not specified (step S201: NO), the related keyword display area setting process is terminated. On the other hand, if the system control unit 14 determines that one or more search keywords are specified (step S201: YES), the system control unit 14 determines whether a genre is set as a search condition (step S202). .
  • step S203 the system control unit 14 executes a normal process for displaying the related keyword link 231 (step S203). Specifically, the system control unit 14 searches the related keyword DB 12e for related keyword information corresponding to the search keyword information set in the search query. Next, the system control unit 14 generates data for the related keyword link 231 of the searched related keyword information. At this time, the system control unit 14 sets a product search URL in the href attribute of the a tag. Here, the system control unit 14 adds the related keyword information to the URL indicating the transmission destination of the search query, and generates a product search URL.
  • system control unit 14 sets related keyword information between the start tag and the end tag of the a tag.
  • the system control unit 14 additionally sets the generated data for the related keyword link 231 in an area corresponding to the related keyword display area 230 in the acquired template. When this process is finished, the system control unit 14 finishes the related keyword display area setting process.
  • step S202 when it is determined that the genre is designated (step S202: YES), the system control unit 14 searches the related keyword DB 12e for related keyword information corresponding to the search keyword information (step S204).
  • the system control unit 14 sets the retrieved related keyword information as an argument of the related genre extraction control process (step S205). And the system control part 14 performs a related genre extraction control process for every searched related keyword information (step S206). Thereby, a highly relevant genre is extracted about one or more keywords related to one or more search keywords specified by the user.
  • the system control unit 14 searches for a record including the genre ID of the specified genre from the related genre list output by the related genre extraction control process in step S206 (step S207).
  • the system control unit 14 selects a record having the highest relevance score included in the retrieved records (step S208).
  • the system control unit 14 generates data for the related keyword link 231 of the related keyword information included as the keyword information in the selected record (step S209).
  • This generation method is the same as the method described in step S203.
  • the system control unit 14 when generating the URL for searching for a product, the system control unit 14 generates the URL by adding the related keyword information and the genre ID of the designated genre to the URL indicating the transmission destination of the search query.
  • the system control unit 14 additionally sets the generated data for the related keyword link 231 in an area corresponding to the related keyword display area 230 in the acquired template (step S210).
  • the system control unit 14 determines whether or not the data for the related keyword link 231 has been added up to the upper limit number that can display the related keyword link 231 (step S211). At this time, if the system control unit 14 determines that the maximum number has been added (step S211: YES), the related keyword display area setting process is terminated. On the other hand, when it is determined that the upper limit number has not been added (step S211: NO), the system control unit 14 determines whether there is a record that has not yet been selected among the searched records (step S212). ).
  • step S212 determines that there is a record that has not yet been selected (step S212: YES)
  • the relevance score included in the record is the highest among the records that have not yet been selected.
  • One record is selected (step S213).
  • step S209 The system control unit 14 repeats the processing of steps S209 to S213, thereby changing the display order of the related keyword link 231 of the related keyword information that is related keyword information of the search keyword information and highly related to the specified genre. Determine based on relevance score. That is, the system control unit 14 preferentially displays the related keyword link 231 as the related keyword information has a higher relevance score. If the system control unit 14 determines that all records have been selected (step S212: NO), the related keyword display area setting process is terminated.
  • FIG. 23 is a flowchart showing a processing example in the search result display area setting process of the system control unit 14 of the online shopping mall server 1 according to the present embodiment.
  • the system control unit 14 acquires the listing score of each product searched in step S71 of the processing when receiving a search query, for example, via the API of the product evaluation program (step S301).
  • the system control unit 14 determines whether or not one or more search keywords are specified as a search condition (step S302). At this time, if the system control unit 14 determines that one or more search keywords are specified (step S302: YES), the system control unit 14 selects one of the searched products (step S303).
  • the selected product is referred to as “selected product”.
  • the system control unit 14 acquires the genre ID of the child genre to which the selected product belongs among the child genres of the specified genre.
  • the genre to which the selected product belongs is the same genre as the genre corresponding to the genre ID included in the product information of the selected product, or the genre corresponding to the genre ID included in the product information of the selected product is a descendant genre. The genre you have.
  • the system control unit 14 searches for a record including the acquired genre ID from the related genre list output by the related genre extraction control process of step S75 shown in FIG. 20 (step S304).
  • the system control unit 14 determines whether there is a corresponding record as a result of the search (step S305).
  • step S305 YES
  • it raises the listing score of the selected product step S306.
  • the system control unit 14 may add a preset value to the listing score, or may multiply the preset score by a preset coefficient.
  • the system control unit 14 may increase the increase in the listing score as the relevance score included in the searched record is higher.
  • step S305 When the system control unit 14 determines in step S305 that there is no corresponding record (step S305: NO), or when the process in step S306 is completed, the product that has not yet been selected among the searched products. It is determined whether or not there is (step S307). At this time, if it is determined that there is a product that has not yet been selected (step S307: YES), the system control unit 14 selects one of the products that have not yet been selected (step S308). Next, the system control unit 14 proceeds to step S304. The system control unit 14 repeats the processes of steps S304 to S308 to raise the listing score of products of a genre that is highly relevant to the search keyword information among the searched products.
  • step S302 determines in step S302 that one or more search keywords are not specified (step S302: NO), or if it is determined that all products have been selected (step S307: NO). ), Among the searched products, the product having the highest listing score is selected (step S309). Next, the system control unit 14 generates data for the corresponding product information 241 based on the product information of the selected product. Then, the system control unit 14 additionally sets the generated data in an area corresponding to the search result display area 240 in the acquired template (step S310).
  • the system control unit 14 determines whether or not data for the corresponding product information 241 has been added up to the upper limit number that can display the corresponding product information 241 (step S311). At this time, if the system control unit 14 determines that the maximum number has been added (step S311: YES), it ends the search result display area setting process. On the other hand, if the system control unit 14 determines that the maximum number has not been added (step S311: NO), the system control unit 14 determines whether there is a product that has not been selected among the searched products (step S312). ).
  • step S312 determines that there is a product that has not yet been selected.
  • step S313 the product having the highest listing score is selected from among the products that have not yet been selected.
  • step S3113 the system control unit 14 proceeds to step S310.
  • the system control unit 14 repeats the processes of steps S310 to S313 so that the corresponding product information 241 is preferentially displayed as the product has a higher listing score. If the system control unit 14 determines that all products have been selected (step S312: NO), the search result display area setting process is terminated.
  • the user terminal 2 that has received the HTML document of the search result page from the online shopping mall server 1 displays the search result page on the screen based on the HTML document.
  • the CPU of the user terminal 2 displays the genre link 221 in the genre designation area 220 in the order of setting the data.
  • the CPU of the user terminal 2 displays the related keyword link 231 in the related keyword display area 230 based on the data for the related keyword link 231 in the setting order of this data.
  • the CPU of the user terminal 2 displays the corresponding product information 241 in the search result display area 240 based on the data for the corresponding product information 241 in the setting order of the data.
  • FIG. 24 is a flowchart showing a processing example in the search keyword candidate request reception process of the system control unit 14 of the online shopping mall server 1 according to the present embodiment.
  • the input operation includes operations such as adding a character to the keyword input field 211 and deleting a character from the keyword input field 211.
  • the search keyword candidate request the character string input in the keyword input field 211 at the time of transmission is set.
  • the genre ID of the genre is set in the search keyword candidate request.
  • the search keyword candidate request reception process is started when the online shopping mall server 1 receives a search keyword candidate request.
  • the system control unit 14 determines whether or not a genre ID is set in the search keyword candidate request (step S401). At this time, if the system control unit 14 determines that the genre ID is not set (step S401: NO), the keyword information that matches the character string set in the search keyword candidate request from the keyword DB 12d in the forward direction. Search for. Then, the system control unit 14 transmits the searched keyword information list to the user terminal 2 as one or more search keyword candidates (step S402). When this process is finished, the system control unit 14 finishes the search keyword candidate request reception process.
  • step S401 determines that the genre ID is set (step S401: YES)
  • the keyword information including is searched (step S403).
  • the system control unit 14 sets the searched keyword information as an argument of the related genre extraction control process (step S404).
  • the system control part 14 performs a related genre extraction control process for every searched keyword information (step S405). Thereby, a genre with high relevance is extracted about one or more keywords containing the character string inputted by the user.
  • the system control unit 14 extracts a record including the genre ID set in the search keyword candidate request from the records registered in the related genre list output by the related genre extraction control process in step S405 (Ste S406).
  • the system control unit 14 sorts the extracted records in descending order of relevance scores included in the records.
  • the system control unit 14 acquires keyword information from the extracted records in descending order of relevance score.
  • the system control unit 14 acquires up to the maximum number of keywords that can be displayed in the search keyword candidate display area 214.
  • the system control unit 14 has keyword information that is highly relevant to the genre corresponding to the genre ID set in the search keyword candidate request among the keyword information that matches the character string set in the search keyword candidate request.
  • the keyword information displayed in the search keyword candidate display area 214 is determined so that is displayed preferentially.
  • the system control unit 14 transmits the generated keyword information list to the user terminal 2 (step S407).
  • the system control unit 14 finishes the search keyword candidate request reception process.
  • the user terminal 2 When the user terminal 2 receives the keyword information list from the online shopping mall server 1, the user terminal 2 displays the search keyword candidate display area 214 on the search result page. Then, the CPU of the user terminal 2 displays the keyword information registered in the received list in the search keyword candidate display area 214 in the order of registration, and displays the keyword information so that it can be specified as one or more search keywords.
  • the system control unit 14 selects a genre in which the number of times specified as a search condition together with the first keyword in the extraction order is a threshold or more from a plurality of genres of products. Extract. Next, the system control unit 14 selects, from the extracted genres, a genre in which the number of times specified as a search condition together with the second keyword in the extraction order is equal to or greater than a threshold value between the first keyword and the second keyword. Extracted as a genre related to the combination. Therefore, it is possible to extract a genre highly relevant to the combination of keywords. In addition, it is possible to increase the probability that a genre highly relevant to a combination of keywords is extracted.
  • the system control unit 14 separately determines a threshold corresponding to the first keyword (an example of the first threshold) and a threshold corresponding to the second keyword (an example of the second threshold). Therefore, these threshold values may be the same as each other, or these threshold values may be different from each other.
  • the system control unit 14 extracts a genre highly relevant to the combination of keywords
  • the genre highly relevant to each keyword is extracted in the same extraction order as the search keyword designation order. Therefore, the probability that a genre highly relevant to the combination of keywords is extracted in the first extraction can be increased.
  • system control unit 14 could not extract at least one of a genre that is highly related to the first keyword in the extraction order and a genre that is highly related to the second keyword in the extraction order.
  • a genre highly relevant to the combination of keywords cannot be extracted in the same extraction order as the search keyword designation order, the extraction order is changed and extraction is performed. Therefore, the probability that a genre highly relevant to the combination of keywords is extracted can be increased.
  • the system control unit 14 extracts a genre whose number of times specified as a search condition is equal to or more than a threshold together with the first keyword and the second keyword in the extraction order by the method described in the third section.
  • the system control unit 14 selects any one of the genre extracted by the method described in the third item and the genre extracted by the method described in the fourth item based on a predetermined criterion. One of them is determined as a genre related to the combination of keywords. Therefore, by setting the reference, it is possible to extract a genre having high reliability as a genre highly relevant to the combination of keywords.
  • the system control unit 14 sets a threshold value (an example of the third threshold value) in the case of performing extraction by the method described in the third term to a threshold value (in the case of performing extraction by the method described in the fourth term). It is determined separately from the first threshold value and the second threshold value). Therefore, these threshold values may be the same as each other, or these threshold values may be different from each other.
  • the system control unit 14 determines the genre with the higher level as the genre related to the keyword combination. Therefore, it is possible to extract a genre with high reliability as a genre highly relevant to the combination of keywords.
  • the designated number of times is selected from the plurality of sibling-related genres.
  • the genre which is the above is extracted. Therefore, it is possible to extract a genre that has a larger number of times of designation than other genres among a plurality of sibling genres as a genre that is highly relevant to the keyword.
  • the system control unit 14 sets a plurality of child genres belonging to the genre with respect to a genre highly relevant to one or more search keywords, the first one for each of the plurality of child genres.
  • the number of times specified as a search condition is acquired together with one or more search keywords, and child genres whose acquired number is equal to or greater than a threshold are extracted. Therefore, genres that are highly relevant to keywords can be extracted hierarchically.
  • system control unit 14 selects a genre whose specified number is equal to or more than a threshold determined according to the number of genres in sibling relationship among a plurality of genres in sibling relationship that are highly relevant to the search keyword. Extract as Therefore, a genre highly relevant to a keyword can be appropriately extracted according to the number of genres that have a sibling relationship.
  • system control unit 14 receives a search query from the user terminal 2 and sets a genre link 221 of a genre that is highly relevant to one or more search keywords included in the search query among a plurality of genres.
  • the display order of the genre by the user terminal 2 displayed in 220 is determined based on the relevance score according to the acquired number of times. Accordingly, the user can easily find out the genre designated as the search condition from the genre designation area 220.
  • the system control unit 14 receives the character string input in the keyword input field 211 from the user terminal 2 together with the genre ID of the genre specified as the search condition, and includes at least one character string including the received character string.
  • the keyword displayed by the user terminal 2 that displays the keyword in the search keyword candidate display area 214 is determined, one or more keywords that are highly relevant to the genre indicated by the received genre ID are preferentially displayed. To be determined. Therefore, the user can easily specify the search keyword from the search keyword candidate display area 214.
  • the system control unit 14 receives a search query from the user terminal 2, obtains a listing score of a product searched based on one or more search keywords included in the search query, and among the searched products,
  • the listing score of a product belonging to a genre that is highly relevant to one or more search keywords included in the search query is relatively increased with respect to the listing scores of other products. Accordingly, the user can easily find information on a product highly relevant to one or more keywords from the search result display area 240.
  • the online shopping mall server 1 may extract a pair of one or more search keywords and genres having high relevance for each attribute of the user who specified the search condition. This is because the tendency of designation of a set of one or more search keywords as a search condition and a genre may differ depending on the attribute of the user. Since the user attributes are registered in the query log DB 12f, it is possible to calculate the designated number of one or more search keyword / genre pairs for each user attribute for which the search condition is designated. The reason for extracting for each attribute is to personalize the display contents of the search result page.
  • the system control unit 14 extracts a set of search keyword information, genre ID, sex, age, and prefecture from the query log, for example, in step S3 of the specified number of times counting process shown in FIG. At this time, the system control unit 14 extracts only the search keyword information and the genre ID from the query log in which sex, age, and prefecture are not registered. Then, the system control unit 14 executes the processes of steps S4 to S17 as described above. That is, the system control unit 14 first counts the designated number of times without considering the user attributes.
  • step S4 the system control unit 14 extracts a set in which male is set as the gender from the sets acquired from the query log DB 12f. And the system control part 14 calculates the frequency
  • the system control unit 14 determines whether or not the user who has requested the search is logged in. This can be determined by checking whether a cookie including the user ID is added to the search query. If it is determined that the user is not logged in, the system control unit 14 calculates a specified probability based on the specified number of times information not including attribute information in step S43 of the related genre extraction process shown in FIG. This is because the user attribute cannot be specified when the user is not logged in. Therefore, the system control unit 14 performs processing without considering user attributes. On the other hand, if the system control unit 14 determines that the user is logged in, the system control unit 14 specifies the attribute of the user.
  • the system control part 14 calculates designation
  • the online shopping mall server 1 is a combination of one or more search keywords and genres that are highly relevant based on the number of times that one or more search keywords and genres are specified as search conditions.
  • the online shopping mall server 1 has purchased a product that has been searched based on a product being searched under the search condition out of the number of times that one or more search keywords and genres are specified as the search condition.
  • a pair of one or more search keywords and genres that are highly relevant may be extracted. This number is referred to as “specified number of purchase conditions”.
  • the relationship between the search keyword specified as the search condition and the genre is higher when the product is purchased by performing the search with the search condition than when the user simply specifies the search condition. It is possible.
  • FIG. 25 is a diagram illustrating an example of contents registered in the purchase history DB 12h.
  • the purchase history DB 12h includes an order code, purchase date and time, user ID, product ID, store ID, product code, gender, age, prefecture, search keyword information, search genre ID, etc. for each purchase of the product. Registered in association.
  • the order code is order identification information given each time a product is ordered.
  • the user ID indicates the purchased user.
  • the product ID and the product code indicate the purchased product.
  • the store ID indicates the store of purchase.
  • Gender, age, and prefecture are attributes of the purchased user.
  • Search keyword information and search genre ID are genre IDs of one or more search keywords and genres specified as search conditions.
  • the system control unit 14 transmits the HTML document of the search result page to the user terminal 2 in response to receiving the search query from the user terminal 2, the system control unit 14 includes the search keyword information and genre ID included in the search query.
  • the cookie is transmitted to the user terminal 2.
  • the system control unit 14 can receive the search keyword information and the genre ID specified most recently as the search condition from the user terminal 2 as a cookie.
  • the product page is displayed on the screen of the user terminal 2.
  • the user terminal 2 transmits a purchase request to the online shopping mall server 1.
  • the system control unit 14 registers the purchase history.
  • the system control unit 14 acquires the current date and time as the purchase date and time. In addition, the system control unit 14 acquires the user's sex, age, and prefecture. Further, the system control unit 14 acquires the search keyword information and the genre ID from the cookie added to the purchase request. Then, the system control unit 14 registers the purchase history including the acquired information in the purchase history DB 12h.
  • the system control unit 14 acquires a set of search keyword information and a search genre ID from the purchase history registered in the purchase history DB 12h, for example, in step S3 of the designated number counting process shown in FIG. Thereafter, the system control unit 14 executes steps S4 to S17 as described above. At this time, the system control unit 14 may perform processing based on the designated number of times with purchase conditions instead of the designated number of times.
  • the display of the genre link 221 in the genre specifying area 220 is moved according to the character string input in the keyword input field 211. May vary. Specifically, the genre link 221 of the genre related to the search keyword including the input character string may be displayed. For example, when receiving a search keyword candidate request from the user terminal 2, the system control unit 14 extracts a genre that is highly relevant to the search keyword information that matches the character string set in the search keyword candidate request. The system control unit 14 adds data for the genre link 221 for each extracted genre.
  • the online shopping mall server 1 records a query log and calculates the designated number of times based on the query log.
  • the online shopping mall server 1 may calculate the designated number of times by another method without recording the query log.
  • the system control unit 14 determines whether or not the search keyword information and genre ID are registered in the specified number of times information DB 12g.
  • the system control unit 14 registers a set of the search keyword information and genre ID included in the search query and the specified number of times in the specified number of times information DB 12g.
  • the system control unit 14 sets the designated number to 1.
  • the system control unit 14 adds 1 to the specified number of times corresponding to the search keyword information and the genre ID included in the search query in the specified number of times information DB 12g.
  • the category of the present invention is applied to the genre.
  • the classification of the present invention may be applied to, for example, a category, a price range, and a region.
  • the present invention is applied when searching for a product as a search target.
  • the present invention may be applied to searches for services, web pages, images, moving images, sounds, maps, news, blogs, and the like.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Computational Linguistics (AREA)
  • Human Resources & Organizations (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

 複数のキーワードにより構成されるキーワードの組み合わせに関連性が高い区分を抽出する。情報処理装置は、木構造で階層化された複数の区分の中から、第1のキーワードとともに検索条件として指定された回数が第1の閾値以上である区分を抽出する。次いで、情報処理装置は、抽出された区分の子孫に相当する区分の中から、第2のキーワードとともに検索条件として指定された回数が第2の閾値以上である区分を第1のキーワードと第2のキーワードとの組み合わせに関連する区分として抽出する。

Description

情報処理装置、情報処理方法、情報処理プログラム及び記録媒体
 本発明は、キーワードや検索対象の区分を検索条件として取得し、この検索条件に基づいて検索を行うシステムの技術分野に関する。
 従来、ユーザにより指定された検索条件を端末装置からネットワークを介して受信し、指定された検索条件に基づいて検索を行う検索システムが知られている。この検索条件として指定可能な情報としては、例えば、キーワード、検索対象の区分等がある。検索対象の区分とは、例えば、検索の対象となる物事を予め定められた基準に従って分ける場合に、同じような物事が含まれる範囲を示す。この区分は、それぞれの検索システムに応じて、例えば、ジャンル、カテゴリー、価格帯、地域等になる。
 例えば、非特許文献1には、飲食店を検索する技術が開示されている。この技術では、飲食店の区分として、飲食店が所在する地域、飲食店の業態、飲食に必要な予算の価格帯等がある。検索条件としてユーザがキーワードを指定すると、例えば、キーワードが飲食店の名称や説明文等に含まれる飲食店が検索される。そして、検索された飲食店の一覧が画面に表示される。また、画面には、検索された飲食店が属する区分が一覧表示される。一覧表示された区分のうち何れかの区分をユーザが選択すると、選択された区分で飲食店の絞り込み検索が行われる。区分の一覧表示がされるとき、指定されたキーワードで検索された飲食店が属する数が多い区分から優先的に表示される。つまり、飲食店の数が多い区分であるほど、その区分をユーザが探し出しやすいように表示される。
株式会社ぐるなび、"ぐるなび-宴会・グルメ情報検索サイト"、[online]、[平成23年8月3日検索]、インターネット<URL: http://www.gnavi.co.jp/>
 しかしながら、キーワードによって検索された物事が多く属する区分であるということが、そのキーワードに関連性が高い区分であるということには必ずしもならない。このことを、検索対象が商品である場合を例として説明する。商品のジャンルとして、例えば、飲料と香水とがあるとする。ここで、検索条件として指定されたキーワードが「水」であるとする。飲料は、それを飲むことによって水分が補給されるものである。また、飲料のジャンルには、ミネラルウォーター、すなわち水そのものが商品として含まれている。一方、香水は、液体であることよりも、香りを付着させるという用途の方が着目される。また、香水の商品を検索するのであれば、「水」ではなく、「香水」をキーワードと指定するものと考えられる。従って、飲料と香水とを比較すると、飲料の方が「水」との関連性が高いと考えることは妥当である。ところが、香水の商品の名称や説明文には、「香水」という文字が含まれていることが多い。そのため、「水」というキーワードによって、香水の商品の方が、飲料の商品よりも多く検索されることがある。
 検索条件として「水」が指定された場合に、例えば、非特許文献1に記載の技術と同様に、商品のジャンルが一覧表示されるとする。このとき、「水」と飲料とが、関連性が高いキーワードとジャンルとして関連付けられていないと、飲料のジャンルよりも、香水のジャンルの方が優先して表示される場合がある。香水のジャンルの表示が優先されることにより、「水」というキーワードと関連性が高いと考えられる飲料のジャンルを、一覧の中からユーザが探し出しにくい場合がある。
 このように、キーワードと区分との関連性が考慮されていないと、ユーザの利便性が低下する場合がある。さりとて、関連性が高いキーワードと区分との組を人手で抽出するには、相当の労力を要する。また、人手で行う場合、関連性が高いか否かを人間の主観で判断することになるため、関連性が高いキーワードと区分との組が適切に抽出されるとは限らない。
 また、検索条件として複数のキーワードが指定される場合がある。この場合においても、上述した問題と同様の問題がある。
 本発明は、以上の点に鑑みてなされたものであり、複数のキーワードにより構成されるキーワードの組み合わせに関連性が高い区分を抽出することを可能とする情報処理装置、情報処理方法、情報処理プログラム及び記録媒体を提供することを目的とする。
 上記課題を解決するために、請求項1に記載の発明は、木構造で階層化された複数の区分の中から、第1のキーワードとともに検索条件として指定された回数が第1の閾値以上である前記区分を抽出する第1抽出手段と、前記第1抽出手段により抽出された前記区分の子孫に相当する前記区分の中から、第2のキーワードとともに検索条件として指定された回数が第2の閾値以上である前記区分を前記第1のキーワードと前記第2のキーワードとの組み合わせに関連する前記区分として抽出する第2抽出手段と、を備えることを特徴とする。
 キーワードとともに検索条件として指定された回数が多い区分は、そのキーワードに関連性が高い区分であると考えることができる。そのため、この発明によれば、キーワードに関連性が高い区分を抽出することができる。また、第1のキーワードに関連性が高い区分の子孫の区分のうち、第2のキーワードに関連性が高い区分は、第1のキーワードと第2のキーワードとの組み合わせに関連性が高い区分である蓋然性がある。そのため、複数のキーワードにより構成されるキーワードの組み合わせに関連性が高い区分を抽出することができる。また、第1のキーワードに関連する区分の中には、第2のキーワードに関連すると判定されない区分が存在するかもしれない。このような場合に、第2のキーワードのみを用いた場合に抽出することができなかった区分を、第1のキーワードに関連する区分の子孫の区分の中から抽出を行うことで、第2のキーワードに関連する区分として抽出することができる。
 なお、組み合わせを構成するキーワードが3個以上である態様も、本発明の技術的範囲に属する。3個以上のキーワードの組み合わせに関連する区分を抽出する場合も、第1のキーワードと第2のキーワードとの組み合わせに関連する区分を抽出する必要があるからである。
 請求項2に記載の発明は、請求項1に記載の情報処理装置において、前記第1抽出手段と前記第2抽出手段との組は、前記組み合わせにおけるキーワードの指定順と同じ順番で前記区分を抽出することを特徴とする。
 ユーザが検索条件として複数のキーワードを組み合わせて指定するとき、指定順が後ろの方であるキーワードであるほど、狭い概念を示すキーワードである蓋然性がある。一方、区分を抽出する順番が後ろの方のキーワードであるほど、狭い概念を示す区分の中から、そのキーワードに関連性が高い区分が抽出される。この発明によれば、キーワードの指定順と同じ順番で関連性が高い区分が抽出される。そのため、キーワードが示す概念と、関連性が高い区分が抽出される範囲に含まれる区分が示す概念とを合致させることができる。そのため、キーワードの組み合わせに関連性が高い区分が抽出される蓋然性を高めることができる。
 請求項3に記載の発明は、請求項2に記載の情報処理装置において、前記第1抽出手段及び前記第2抽出手段の少なくとも一方により前記組み合わせを抽出することができなかった場合、前記第1抽出手段と前記第2抽出手段との組は、前記区分を抽出するキーワードの順番を変更して前記区分を抽出することを特徴とする。
 この発明によれば、キーワードの組み合わせに関連性が高い区分が抽出される蓋然性を更に高めることができる。
 請求項4に記載の発明は、請求項1乃至3の何れか1項に記載の情報処理装置において、前記複数の区分のうち、前記第1のキーワード及び前記第2のキーワードとともに前記検索条件として指定された回数が第3の閾値以上である前記区分を抽出する第3抽出手段と、予め定められた基準に基づいて、前記第2抽出手段により抽出された前記区分と前記第3抽出手段により抽出された前記区分との何れか一方を、前記組み合わせに関連する前記区分として決定する決定手段と、を更に備えることを特徴とする。
 この発明によれば、適切な基準が定められることで、複数通りの方法で抽出された区分のうち、キーワードの組み合わせに関連性が高い区分としての信頼性が高い方の区分を抽出することができる。
 請求項5に記載の発明は、請求項4に記載の情報処理装置において、前記決定手段は、前記第2抽出手段により抽出された前記区分と前記第3抽出手段により抽出された前記区分とのうち、前記木構造において位置が深い方の前記区分を前記組み合わせに関連する前記区分として決定することを特徴とする。
 階層が深い区分であるほど、その区分に属する検索対象の特定性が高い。そして、検索対象の特定性が高い区分であるほど、キーワードの組み合わせとの関連性が高い蓋然性がある。この発明によれば、階層が深い方の区分が、キーワードの組み合わせとの関連性が高い区分として決定される。そのため、キーワードの組み合わせに関連性が高い区分としての信頼性が高い方の区分を抽出することができる。
 請求項6に記載の発明は、請求項1乃至5の何れか1項に記載の情報処理装置において、前記第1抽出手段及び前記第2抽出手段のそれぞれは、前記木構造において兄弟関係にある複数の前記区分間での前記キーワードとともに指定された回数のばらつきの大きさが、可変設定された大きさを超える場合に、前記兄弟関係にある複数の区分の中から前記回数が前記閾値以上である前記区分を抽出することを特徴とする。
 この発明によれば、キーワードとともに検索条件として指定された回数に、兄弟関係にある複数の区分間でばらつきがある場合に、そのキーワードとともに検索条件として指定された回数が閾値以上である区分を抽出することができる。そのため、兄弟関係にある複数の区分のうち、指定された回数が他の区分と比較して多い区分をキーワードとの関連性が高い区分として抽出することができる。
 請求項7に記載の発明は、請求項1乃至6の何れか1項に記載の情報処理装置において、前記第1抽出手段及び前記第2抽出手段のそれぞれは、前記木構造において兄弟関係にある複数の前記区分の中から、前記キーワードとともに指定された回数が前記兄弟関係にある前記区分の数に応じて決定された前記閾値以上である前記区分を抽出することを特徴とする。
 この発明によれば、兄弟関係にある複数の区分のうちキーワードとの関連性が高い区分を、兄弟関係にある区分の数に応じて適切に抽出することができる。
 請求項8に記載の発明は、コンピュータにより実行される情報処理方法であって、木構造で階層化された複数の区分の中から、第1のキーワードとともに検索条件として指定された回数が第1の閾値以上である前記区分を抽出する第1抽出ステップと、前記第1抽出ステップにより抽出された前記区分の子孫に相当する前記区分の中から、第2のキーワードとともに検索条件として指定された回数が第2の閾値以上である前記区分を前記第1のキーワードと前記第2のキーワードとの組み合わせに関連する前記区分として抽出する第2抽出ステップと、を含むことを特徴とする。
 請求項9に記載の発明は、コンピュータを、木構造で階層化された複数の区分の中から、第1のキーワードとともに検索条件として指定された回数が第1の閾値以上である前記区分を抽出する第1抽出手段、及び、前記第1抽出手段により抽出された前記区分の子孫に相当する前記区分の中から、第2のキーワードとともに検索条件として指定された回数が第2の閾値以上である前記区分を前記第1のキーワードと前記第2のキーワードとの組み合わせに関連する前記区分として抽出する第2抽出手段、として機能させることを特徴とする。
 請求項10に記載の発明は、コンピュータを、木構造で階層化された複数の区分の中から、第1のキーワードとともに検索条件として指定された回数が第1の閾値以上である前記区分を抽出する第1抽出手段、及び、前記第1抽出手段により抽出された前記区分の子孫に相当する前記区分の中から、第2のキーワードとともに検索条件として指定された回数が第2の閾値以上である前記区分を前記第1のキーワードと前記第2のキーワードとの組み合わせに関連する前記区分として抽出する第2抽出手段、として機能させる情報処理プログラムがコンピュータ読み取り可能に記録されていることを特徴とする。
 第1のキーワードに関連性が高い区分の子孫の区分のうち、第2のキーワードに関連性が高い区分は、第1のキーワードと第2のキーワードとの組み合わせに関連性が高い区分である蓋然性がある。そのため、本発明によれば、複数のキーワードにより構成されるキーワードの組み合わせに関連性が高い区分を抽出することができる。また、第1のキーワードに関連する区分の中には、第2のキーワードに関連すると判定されない区分が存在するかもしれない。このような場合に、第2のキーワードのみを用いた場合に抽出することができなかった区分を、第1のキーワードに関連する区分の子孫の区分の中から抽出を行うことで、第2のキーワードに関連する区分として抽出することができる。
一実施形態に係るショッピングシステムSの概要構成の一例を示す図である。 (a)は、電子商店街のトップページの表示例を示す図であり、(b)は、検索キーワード候補表示領域114の表示例を示す図である。 検索結果ページの表示例である。 (a)乃至(c)は、ジャンル指定領域220におけるジャンルリンク221の表示例を示す図である。 (a)は、検索キーワード候補表示領域214におけるキーワードの表示例を示す図であり、(b)は、関連キーワード表示領域230における関連キーワードリンク231の表示例を示す図である。 一実施形態に係る電子商店街サーバ1の概要構成の一例を示すブロック図である。 (a)は、会員情報DB12aに登録される内容の一例を示す図であり、(b)は、商品情報DB12bに登録される内容の一例を示す図であり、(c)は、ジャンル情報DB12cに登録される内容の一例を示す図であり、(d)は、キーワードDB12dに登録される内容の一例を示す図であり、(e)は、関連キーワードDB12eに登録される内容の一例を示す図であり、(f)は、クエリログDB12fに登録される内容の一例を示す図であり、(g)は、指定回数情報DB12gに登録される内容の一例を示す図である。 (a)及び(b)は、レベル1のジャンルごとの指定確率を示すグラフである。 各レベルについてキーワードkに関連するジャンルの抽出の様子を示す図である。 (a)は、「デジタルカメラ AAA社」という検索キーワードの組み合わせに関連するジャンルの抽出結果の一例を示す図であり、(b)は、「デジタルカメラ」というキーワードに関連するジャンルの抽出結果の一例を示す図であり、(c)は、「AAA社」というキーワードに関連するジャンルの抽出結果の一例を示す図である。 「デジタルカメラ AAA社」との関連性が高いジャンルが抽出される様子の一例を示す図である。 (a)は、「20インチ ディスプレイ」という検索キーワードの組み合わせに関連するジャンルの抽出結果の一例を示す図であり、(b)は、「20インチ」というキーワードに関連するジャンルの抽出結果の一例を示す図であり、(c)は、「ディスプレイ」というキーワードに関連するジャンルの抽出結果の一例を示す図である。 (a)は、検索キーワードの指定順で抽出処理が行われた場合の抽出例であり、(b)は、ジャンルの抽出順を変更して抽出処理が行われた場合の抽出例である。 (a)は、「X Y」という検索キーワードの組み合わせに関連するジャンルを、第3項で説明された方法で抽出した場合の抽出結果の一例を示す図であり、図14(b)は、「X Y」という検索キーワードの組み合わせに関連するジャンルを、第4項で説明された方法で抽出される様子の一例を示す図である。 一実施形態に係る電子商店街サーバ1のシステム制御部14の指定回数集計処理における処理例を示すフローチャートである。 一実施形態に係る電子商店街サーバ1のシステム制御部14の関連ジャンル抽出制御処理における処理例を示すフローチャートである。 一実施形態に係る電子商店街サーバ1のシステム制御部14の関連ジャンル抽出処理における処理例を示すフローチャートである。 一実施形態に係る電子商店街サーバ1のシステム制御部14の複数キーワード対応関連ジャンル抽出処理における処理例を示すフローチャートである。 一実施形態に係る電子商店街サーバ1のシステム制御部14の設定抽出順対応関連ジャンル抽出処理における処理例を示すフローチャートである。 一実施形態に係る電子商店街サーバ1のシステム制御部14の検索クエリ受信時処理における処理例を示すフローチャートである。 一実施形態に係る電子商店街サーバ1のシステム制御部14のジャンル指定領域設定処理における処理例を示すフローチャートである。 一実施形態に係る電子商店街サーバ1のシステム制御部14の関連キーワード表示領域設定処理における処理例を示すフローチャートである。 一実施形態に係る電子商店街サーバ1のシステム制御部14の検索結果表示領域設定処理における処理例を示すフローチャートである。 一実施形態に係る電子商店街サーバ1のシステム制御部14の検索キーワード候補要求受信時処理における処理例を示すフローチャートである。 購入履歴DB12hに登録される内容の一例を示す図である。 (a)及び(b)は、ジャンルごとの指定確率を示すグラフである。
 以下、図面を参照して本発明の実施形態について詳細に説明する。なお、以下に説明する実施の形態は、ショッピングシステムに対して本発明を適用した場合の実施形態である。
 [1.ショッピングシステムの構成及び機能概要]
 [1-1.ショッピングシステムの構成]
 先ず、本実施形態に係るショッピングシステムSの構成について、図1を用いて説明する。図1は、本実施形態に係るショッピングシステムSの概要構成の一例を示す図である。
 図1に示すように、ショッピングシステムSは、電子商店街サーバ1と、複数のユーザ端末2と、を含んで構成されている。そして、電子商店街サーバ1と各ユーザ端末2とは、ネットワークNWを介して、例えば、通信プロトコルにTCP/IP等を用いて相互にデータの送受信が可能になっている。なお、ネットワークNWは、例えば、インターネット、専用通信回線(例えば、CATV(Community Antenna Television)回線)、移動体通信網(基地局等を含む)、及びゲートウェイ等により構築されている。
 電子商店街サーバ1(本発明における情報処理装置の一例)は、商品の購入が可能な電子商店街に関する各種処理を実行するサーバ装置である。ユーザは、電子商店街を利用することにより、所望の店舗から所望の商品を購入することができる。電子商店街サーバ1は、ユーザ端末2からのリクエストに応じて、例えば、電子商店街のWebページを送信したり、商品の検索や購入等に関する処理を行ったりする。
 ユーザ端末2は、電子商店街を利用するユーザの端末装置である。ユーザ端末2は、ユーザからの操作に基づいて電子商店街サーバ1にアクセスすることにより、電子商店街サーバ1からWebページを受信して表示する。ユーザ端末2は、CPU、メモリ、ユーザ操作を受ける操作部、情報を画面表示するディスプレイ等を備える。また、ユーザ端末2には、ブラウザや電子メールクライアント等のソフトウェアが組み込まれている。ユーザ端末2としては、例えば、パーソナルコンピュータ、PDA(Personal Digital Assistant)、スマートフォン等の携帯情報端末、携帯電話機等が用いられる。
 [1-2.検索条件の指定]
 次に、電子商店街において商品の検索に用いられる検索条件、及び検索条件を指定するためのWebページについて、図2を用いて説明する。
 電子商店街では、商品を検索するときに、検索条件として、キーワード、商品のジャンル等を指定可能である。検索条件として指定されるキーワードを、「検索キーワード」という。ユーザは、検索条件として、検索キーワード及びジャンルの両方を同時に指定することも、何れか一方を指定することもできる。また、ユーザは、複数の検索キーワードを組み合わせて指定することができる。なお、複数のキーワードが組み合わせて指定された場合、指定された複数のキーワードを、「キーワードの組み合わせ」という。
 商品のジャンル(本発明における区分の一例)は、商品を、例えば種類、性質、用途等で区分したときに、同じような種類、性質、用途等の商品が属する範囲である。商品のジャンルは、木構造で階層的に定義されている。具体的に、木構造の各ノードが、ジャンルに相当する。ノードの深さが、そのノードに相当するジャンルのレベル(木構造においてノードが位置する階層の深さ)に相当する。ノードの深さは、根に位置するノード(以下、「根ノード」という)からの距離である。木構造において、根ノードには、ジャンルトップというジャンルが便宜的に定義されている。レベルの値が大きいほど、階層の深さが深く、レベルの値が小さいほど、階層の深さが浅い。ジャンルトップは、ユーザがジャンルを何も指定していない状態を示す。ジャンルトップは、レベル0のジャンルである。ジャンルトップに対して、子ノードに相当するジャンルがレベル1のジャンルである。レベル1のジャンルが、ユーザが指定可能なジャンルとして実質的に最上位のジャンルである。レベル1のジャンルとしては、例えば、「水・ソフトドリンク」、「美容・コスメ・香水」、「ペット・ペットグッズ」、「レディースファッション」、「メンズファッション」等がある。レベル1の各ジャンルに対しては、子ノードに相当するジャンルが、レベル2のジャンルとして定義されている。ここで、あるジャンルc1の子ノードに相当するジャンルc2を、ジャンルc1の「子ジャンル」という。子ジャンルを、サブジャンルともいう。また、このときのジャンルc1を、ジャンルc2の「親ジャンル」という。子ジャンルは、親ジャンルを更に複数に区分したときに、同じような商品が属する範囲である。従って、子ジャンルは親ジャンルに属する。また、あるジャンルに対して、子孫のノードに相当するジャンルを、「子孫ジャンル」という。例えば、ジャンルc3がジャンルc2の子ジャンルであるとする。この場合、ジャンルc2及びc3は、ジャンルc1の子孫ジャンルである。あるジャンルが子ジャンルを有するとき、通常複数の子ジャンルが定義されている。例えば、「水・ミネラルウォーター」の子ジャンルとして、例えば、「水・ミネラルウォーター」、「ソフトドリンク」及び「コーヒー・ココア」等が定義されている。同一の親ジャンルに属するジャンル同士を、兄弟ジャンルという。つまり、或るジャンルc4と兄弟関係にある全てのジャンルは、ジャンルc4の兄弟ジャンルである。例えば、「水・ミネラルウォーター」、「ソフトドリンク」及び「コーヒー・ココア」は、互いに兄弟ジャンルである。レベル2以降のジャンルについては、必要に応じて子ジャンルが定義されている。
 検索条件を指定するためのWebページとして、例えば、トップページと検索結果ページとがある。トップページは、電子商店街において最上位に位置するWebページである。検索結果ページは、商品の検索結果を示すWebページである。また、検索結果ページは、検索された商品の中から商品を絞り込んで検索するための検索条件(以下、「絞り込み条件」という)を指定したり、検索条件を指定し直したりするためのWebページである。トップページにおいてユーザが検索条件を指定すると、指定された検索条件で電子商店街サーバ1により商品が検索され、その検索結果を示す検索結果ページがユーザ端末2により表示される。また、検索結果ページにおいてユーザが検索条件を指定すると、指定された検索条件で電子商店街サーバ1により再度商品が検索され、その検索結果を表示する新たな検索結果ページがユーザ端末2により表示される。
 検索結果ページにおいてユーザが検索条件を指定したとき、この検索結果ページの直前に表示されていたトップページまたは検索結果ページ(以下、「直前ページ」という)において指定された検索条件が引き継がれる場合がある。例えば、トップページまたは検索結果ページにおいて、検索条件として検索キーワードk1が指定されたとする。すると、検索キーワードk1による検索結果を示す検索結果ページが表示される。ここで、ユーザが検索条件としてジャンルc1を指定すると、検索条件として、検索キーワードk1及びジャンルc1が指定されたとみなされる。そして、検索キーワードk1及びジャンルc1による検索結果を示す新たな検索結果ページが表示される。つまり、ユーザは、ジャンルc1を絞り込み条件として指定したことになる。また、トップページまたは検索結果ページにおいて、検索条件としてジャンルc2が指定されたとする。すると、ジャンルc2による検索結果を示す検索結果ページが表示される。ここで、ユーザが検索条件として検索キーワードk2を指定すると、検索条件として、ジャンルc2及び検索キーワードk2が指定されたとみなされる。そして、ジャンルc2及び検索キーワードk2による検索結果を示す新たな検索結果ページが表示される。つまり、ユーザは、検索キーワードk2を絞り込み条件として指定したことになる。以降の説明において、直前ページにおいて検索条件として検索キーワードまたはジャンルが指定されたとは、直前ページにおいてユーザが検索キーワードを入力したりジャンルを選択したりすることによりユーザが明示的に指定した場合と、検索条件の引き継ぎによって指定したとみなされる場合とを含む。
 図2(a)は、電子商店街のトップページの表示例を示す図である。図2(a)に示すように、トップページは、検索条件設定領域110、ジャンル一覧表示領域120等を含む。
 検索条件設定領域110は、キーワード入力欄111、ジャンル選択メニュー112、検索ボタン113等を含む。キーワード入力欄111は、1つまたは複数の検索キーワードを入力するための入力領域である。各検索キーワードの区切りとして空白を入力することにより、ユーザは複数の検索キーワードを入力することができる。これにより、ユーザは、複数のキーワードを検索条件として指定することができる。ジャンル選択メニュー112は、レベル1のジャンルの中から、検索条件として指定するジャンルを選択するためのプルダウンメニューである。検索ボタン113は、キーワード入力欄111に入力された検索キーワードと、ジャンル選択メニュー112において選択されたジャンルとを、検索条件として指定するためのボタンである。検索キーワードが入力されている場合に検索ボタン113が選択されると、その検索キーワードが検索条件として指定され、この検索条件で検索が行われる。また、ジャンルが選択されている場合に検索ボタン113が選択されると、そのジャンルが検索条件として指定され、この検索条件で検索が行われる。ユーザは、検索条件設定領域110に対する操作によって、検索キーワード及びジャンルの両方または何れか一方を検索条件として指定することができる。
 図2(b)は、検索キーワード候補表示領域114の表示例を示す図である。キーワード入力欄111は、キーワードサジェスト機能に対応している。キーワードサジェスト機能は、検索キーワードの候補を表示し、その候補を検索キーワードとして指定可能とする機能である。具体的に、キーワード入力欄111に対してユーザが検索キーワードを入力し始めると、図2(b)に示すように、キーワード入力欄111の直下に、検索キーワード候補表示領域114が表示される。検索キーワード候補表示領域114には、検索キーワードの候補が一覧表示される。候補として表示されるキーワードは、キーワード入力欄111に入力されている文字列に前方一致する検索キーワードである。キーワード入力欄111に仮名が入力されている場合、候補として表示されるキーワードは、その読みが、入力されている仮名に前方一致するキーワードである。
 例えば、最初に「デ」が入力された場合、キーワード候補表示領域114には、例えば、「ディーゼル」、「デニム」、「デッキシューズ」、「デジタルフォトフレーム」等が表示される。その後、「ジタル」が入力されると、キーワード入力欄111には、「デジタル」が入力されている状態となる。この場合、検索キーワード候補表示領域114には、例えば、「デジタルフォトフレーム」、「デジタルカメラ」、「デジタルスケール」、「デジタル 腕時計」、「デジタルカメラ 本体」等のキーワードが表示される。「デジタル 腕時計」のように、複数のキーワードを組み合わせたものが候補として表示される場合もある。検索キーワード候補表示領域114に表示可能なキーワードの上限数は予め設定されている。検索キーワード候補表示領域114に表示されたキーワードの中から何れかのキーワードをユーザが選択すると、選択されたキーワードが検索条件として指定され、この検索条件で検索が行われる。このときにジャンル選択メニュー112においてジャンルが選択されていると、そのジャンルも検索条件として指定される。
 ジャンル一覧表示領域120には、ジャンルの一覧が表示される。ジャンル一覧表示領域120に表示される各ジャンルは、複数のレベル1のジャンルを統合したものである。ジャンル一覧表示領域120に表示されたジャンルの中から何れかのジャンルをユーザが選択すると、選択されたジャンルに属するレベル1のジャンルの一覧が表示される。そして、表示されたレベル1のジャンルの中から何れかのジャンルをユーザが選択すると、選択されたジャンルが検索条件として指定され、この検索条件で検索が行われる。
 図3は、検索結果ページの表示例である。図3に示すように、検索結果ページは、検索条件設定領域210、ジャンル指定領域220、関連キーワード表示領域230、検索結果表示領域240等を含む。
 検索条件設定領域210は、キーワード入力欄211、ジャンル選択メニュー212、検索ボタン213等を含む。キーワード入力欄211、ジャンル選択メニュー212及び検索ボタン213の機能は、キーワード入力欄111、ジャンル選択メニュー112及び検索ボタン113の機能と同じである。直前ページにおいて、検索条件として検索キーワードが指定された場合、キーワード入力欄211には、その検索キーワードが予め入力されている。キーワード入力欄211に検索キーワードが入力されている場合に検索ボタン213が選択されると、その検索キーワードが検索条件として指定され、この検索条件で検索が行われる。ここで、直前ページにおいてジャンルが検索条件として指定されていた場合、そのジャンルも検索キーワードとともに検索条件として指定されたとみなされる。
 ジャンル指定領域220は、1つ以上のジャンルリンク221を含む。ジャンルリンク221は、絞り込み条件としてジャンルを指定するためのリンクであり、指定の対象となるジャンルの名称を示す。ジャンル指定領域220から何れかのジャンルリンク221をユーザが選択すると、選択されたジャンルリンク221に対応するジャンルが検索条件として指定され、この検索条件で検索が行われる。ここで、直前ページにおいて検索キーワードが検索条件として指定されていた場合、その検索キーワードもジャンルとともに検索条件として指定されたとみなされる。直前ページにおいてジャンルが検索条件として指定された場合、ジャンル指定領域220には、指定されたジャンルの子ジャンルに対応するジャンルリンク221が表示される。一方、トップページにおいて検索キーワードのみが検索条件として指定されたことによって検索結果ページが表示された場合、その検索結果ページのジャンル指定領域220には、レベル1のジャンルに対応するジャンルリンク221が表示される。
 関連キーワード表示領域230は、直前ページにおいて検索キーワードが検索条件として指定された場合に表示される。関連キーワード表示領域230は、関連キーワードリンク231を含む。関連キーワードリンク231は、直前ページにおいて指定された検索キーワードに関連するキーワード(以下、「関連キーワード」という)を検索条件として指定し直して商品を検索するためのリンクであり、指定の対象となる関連キーワードを示す。ある検索キーワードの関連キーワードとしては、例えば、検索キーワードの類似語、検索キーワードが意味する物事と関連する物事を意味する語、検索キーワードを含む語等がある。また、キーワードの組み合わせが関連キーワードとして表示される場合もある。検索キーワード候補表示領域114に表示可能な関連キーワードの上限数は予め設定されている。関連キーワード表示領域230から何れかの関連キーワードリンク231をユーザが選択すると、選択された関連キーワードリンク231に対応する関連キーワードが検索キーワードとして指定され、この検索条件で検索が行われる。ここで、直前ページにおいてジャンルが検索条件として指定されていた場合、そのジャンルも検索キーワードとともに検索条件として指定されたとみなされる。
 検索結果表示領域240には、検索された商品の情報の一覧が表示される。具体的に、検索結果表示領域240には、検索された商品の画像、商品名、価格、店舗名等を含む該当商品情報241が商品ごとに表示される。該当商品情報241は、検索された商品の表示順位に従って表示される。具体的に、表示順位が高いほど、検索結果表示領域240内の上方に該当商品情報241が表示される。また、検索結果表示領域240に情報が表示可能な該当商品情報241の上限数が決められている。例えば、上限数が30である場合、検索結果表示領域240には、表示順位が1位から30位までの商品の該当商品情報241が表示される。ここで、ユーザが「次の30件」と表示されたリンクを選択すると、ユーザ端末2の画面には新たな検索結果ページが表示され、その検索結果ページの検索結果表示領域240に、表示順位が31位から60位までの該当商品情報241が表示される。該当商品情報241の表示順位は、リスティングスコアに基づいて決定される。リスティングスコアは、商品またはその商品の商品ページに対して決定された評価を示す値である。リスティングスコアが高いほど、評価が高いことを示す。そして、リスティングスコアが高い商品ほど、その商品の該当商品情報241の表示順位が高くなる。例えば、商品ページに対するアクセス数(閲覧数)が多いほどリスティングスコアが高くなるようにしてもよいし、商品の購入数が多いほどリスティングスコアが高くなるようにしてもよい。検索結果表示領域240に表示された該当商品情報241の中から何れかの該当商品情報241をユーザが選択すると、商品ページが画面に表示される。商品ページは、選択された該当商品情報241に対応する商品の詳細な情報が表示されるWebページである。商品ページにおいてユーザが購入操作を行うことにより、その商品ページに情報が表示されている商品を購入することができる。
 [1-3.検索キーワードとジャンルとの組の抽出、抽出結果の用途]
 電子商店街サーバ1は、検索結果ページにおけるユーザの利便性を高めるため、検索キーワードと、その検索キーワードに関連性が高いジャンルとを抽出する。また、電子商店街サーバ1は、検索キーワードの組み合わせと、その組み合わせに関連性が高いジャンルとを抽出する。
 検索キーワードと関連性が高いジャンルとは、これまでに、その検索キーワードとともに検索条件として指定された回数が多いジャンルである。この回数を「指定回数」という。検索キーワードの組み合わせと関連性が高いジャンルの1つの例として、これまでに、その組み合わせを構成する複数の検索キーワードとともに検索条件として指定された回数が多いジャンルが挙げられる。ユーザが検索条件を指定すると、ユーザ端末2から電子商店街サーバ1へ検索クエリが送信される。検索クエリは、商品の要求を示すメッセージである。検索条件として検索キーワードが指定されると、検索クエリには、指定された1つ以上の検索キーワードが検索キーワード情報として設定される。また、検索条件としてジャンルが指定されると、検索クエリにはジャンルIDが設定される。ジャンルIDは、ジャンルの識別情報である。電子商店街サーバ1は、ユーザ端末2から検索クエリを受信すると、クエリログを記録する。クエリログは、受信された検索クエリの履歴である。電子商店街サーバ1は、クエリログに基づいて、検索条件として指定された検索キーワード及びジャンルの各組の指定回数を計算する。
 指定回数は、ユーザが明示的に検索キーワード及びジャンルの両方を同時に指定した回数と、直前ページにおいてユーザが検索キーワード及びジャンルの何れか一方を指定し、これによって表示された検索結果ページにおいてユーザが他方を絞り込み条件として指定することで、検索キーワード及びジャンルの両方が指定されたとみなされる場合の回数とを含む。ユーザが検索キーワードとジャンルとを指定した場合、例えば、指定した検索キーワードによって探したい商品が、指定したジャンルの商品の中にあるとユーザが意図していると考えられる。つまり、ユーザは、指定した検索キーワードとジャンルとの間に関連性があると考えている。それは、ユーザが検索しようとする商品が、指定する検索キーワード及びジャンルが示す検索条件を満たす商品であるからである。従って、ある検索キーワードとジャンルの組の指定回数が多いほど、検索キーワードとジャンルとの関連性が高いといえる。そして、検索キーワードと、その検索キーワードに関連性が高いジャンルとが関連付けられていれば、検索の際のユーザの利便性を高めることができる場合がある。
 ある検索キーワードkとジャンルcとの組の指定回数が多いか否かは、検索キーワードkと、ジャンルcの兄弟ジャンルとの組の指定回数に基づいて決定される。ジャンルcの相対的な指定回数が多いほど、他のジャンルと比較して検索キーワードkとの関連性が高いといる。
 関連性が高いとして抽出された検索キーワードとジャンルとの組には、関連性スコアが決定される。関連性スコアは、検索キーワードとジャンルとの間の関連度を示す値である。関連性スコアが高いほど、当該検索キーワードとジャンルの関連度が高いことを示す。
 なお、関連性が高い検索キーワードとジャンルとの組の抽出方法の詳細については後述する。以下では、この検索キーワードとジャンルとの組の抽出結果の用途について説明する。
 第1の用途は、検索結果ページのジャンル指定領域220におけるジャンルリンク221の表示の制御である。具体的に、直前ページにおいて検索キーワードが検索条件として指定された場合、ジャンル指定領域220には、指定された検索キーワードと関連性が高いジャンルのジャンルリンク221が優先的に表示される。ジャンル指定領域220におけるジャンルリンク221の表示順位は、指定された検索キーワードと、ジャンルとの関連性スコアが高いほど高くなる。ジャンルの一連としてジャンルリンク221が表示された場合、ユーザは、先に指定した検索キーワードに関連するとユーザが考えるジャンルのジャンルリンク221を選択すると考えられる。そのため、指定された検索キーワードとの関連性が高いジャンルであるほど、ユーザが絞り込み条件として指定する蓋然性が高い。従って、絞り込み条件として指定するジャンルをユーザがジャンル指定領域220から容易に探し出すことができる。
 図4(a)乃至図4(c)は、ジャンル指定領域220におけるジャンルリンク221の表示例を示す図である。例えば、「水」という検索キーワードと、「水・ソフトドリンク」、「水・ミネラルウォーター」及び「ペット・ペットグッズ」とがそれぞれ関連性が高いとする。この場合に、トップページにおいて、ユーザが検索キーワードとして「水」を指定すると、検索結果ページのジャンル指定領域220には、図4(a)に示すように、「水・ソフトドリンク」、「水・ミネラルウォーター」及び「ペット・ペットグッズ」のジャンルリンク221がそれぞれ表示される。「水・ソフトドリンク」の方が「ペット・ペットグッズ」よりも上方に表示されているため、「水・ソフトドリンク」の方が「ペット・ペットグッズ」よりも「水」との関連性が高いことが分かる。また、「水・ソフトドリンク」の下に「水・ミネラルウォーター」が表示される。このとき、「水・ソフトドリンク」と「水・ミネラルウォーター」とが親子関係にあることが分かる態様で、それぞれのジャンルリンク221が表示される。ジャンル指定領域220には、更に全ジャンル表示ボタン222が表示される。全ジャンル表示ボタン222をユーザが選択すると、ジャンル指定領域220には、レベル1の全てのジャンルのジャンルリンク221が表示される。この場合も、「水・ソフトドリンク」と「ペット・ペットグッズ」のジャンルリンク221の表示位置は変わらない。なお、各ジャンルリンク221の横には、ジャンルリンク221が示すジャンルに属する商品の件数が表示されてもよい。つまり、ジャンルリンク221が示すジャンルが検索条件として指定された場合に検索される商品の件数が表示されてもよい。図4(a)の例において、「ペット・ペットグッズ」に属する商品の件数が「水・ソフトドリンク」に属する商品の件数よりも多かったとする。仮にそうであったとしても、「水」という検索キーワードとの関連性が高い方の「水・ソフトドリンク」が「ペット・ペットグッズ」よりも上方に表示される。
 ここで、ユーザが「水・ソフトドリンク」のジャンルリンク221を選択すると、新たな検索結果ページが表示される。この検索結果ページのジャンル指定領域220には、図4(b)に示すように、「水・ソフトドリンク」の子ジャンルのうち、「水・ミネラルウォーター」のジャンルリンク221が表示される。ここで、全ジャンル表示ボタン222をユーザが選択すると、ジャンル指定領域220には、「水・ソフトドリンク」の全ての子ジャンルのジャンルリンク221が表示される。
 また例えば、「デジタルカメラ AAA社」というキーワードの組み合わせと、「デジタルカメラ」というジャンルとの関連性が高いとする。また、「デジタルカメラ AAA社」というキーワードの組み合わせと、「デジタルカメラ」の子ジャンルである「AAA社」というジャンルとの関連性が高いとする。「デジタルカメラ」の子ジャンルの「AAA社」は、デジタルカメラのメーカーがAAA社であることを示すジャンルである。この場合に、トップページにおいて、ユーザが検索キーワードとして「デジタルカメラ AAA社」を指定すると、検索結果ページのジャンル指定領域220には、図4(c)に示すように、「デジタルカメラ」のジャンルリンク221と、「デジタルカメラ」の子ジャンルである「AAA社」のジャンルリンク221とが表示される。このように、直前ページにおいて指定された検索キーワードによって、ジャンル指定領域220にジャンルリンク221が表示されるジャンルが変化する。
 第2の用途は、検索結果ページのキーワード入力欄211におけるキーワードサジェスト機能における検索キーワードの候補の表示制御である。これは、直前ページにおいてジャンルが検索条件として指定された場合に実行される。具体的に、ユーザがキーワード入力欄211に入力した文字列に前方一致するキーワードのうち、直前ページにおいて指定されたジャンルと関連性が高いキーワードが、検索キーワードの候補として優先的に表示される。このときのキーワードの表示順位は、指定されたジャンルと、キーワードとの関連性スコアが高いほど高くなる。指定されたジャンルとの関連性が高い検索キーワードであるほど、ユーザが絞り込み条件として指定する蓋然性が高い。従って、絞り込み条件としての検索キーワードをユーザが容易に指定することができる。
 なお、キーワード入力欄211には、入力された文字列を含むキーワード(入力された文字列を読み仮名に含むキーワードも含む)が表示されればよい。従って、例えば、入力された文字列に後方一致するキーワードが表示されるようになってもよい。
 図5(a)は、検索キーワード候補表示領域214におけるキーワードの表示例を示す図である。トップページにおいて、ユーザがジャンルとして、例えば「デジタルカメラ」を指定することにより、検索結果ページが表示される。この検索結果ページのキーワード入力欄211に対して、ユーザが、例えば「デジタルカメラ」を入力すると、図5(a)に示すように、キーワード入力欄211の直下に、検索キーワード候補表示領域214が表示される。この検索キーワード候補表示領域214には、例えば、「デジタルカメラ」、「デジタルカメラ 本体」、「デジタルカメラ AAA社」、「デジタルカメラ 一眼」、「デジタルカメラ BBB社」等が検索キーワードの候補として表示される。つまり、これらのキーワードは、「デジタルカメラ」というジャンルとの関連性が高いキーワードである。一方、「デジタルフォトフレーム」、「デジタルスケール」及び「デジタル 腕時計」は、検索キーワードの候補として表示されない。これらのキーワードは、「デジタルカメラ」というジャンルとの関連性が低いキーワードである。ユーザがキーワード入力欄211に同一の文字列を入力した場合であっても、直前ページにおいて指定されたジャンルによって、検索キーワード候補表示領域214に表示されるキーワードが変化する。
 なお、ユーザがジャンル選択メニュー212からあるジャンルに対応するチェックボックスを選択してキーワード入力欄211に文字列を入力した場合、入力されている文字列を含むキーワードのうち、選択されたジャンルと関連性が高いキーワードが検索キーワード候補表示領域214に表示されるようにしてもよい。また、トップページにおいても、ユーザがジャンル選択メニュー112からあるジャンルを選択してキーワード入力欄111に文字列を入力した場合、入力されている文字列を含むキーワードのうち、選択されたジャンルと関連性が高いキーワードが検索キーワード候補表示領域114に表示されるようにしてもよい。
 第3の用途は、関連キーワード表示領域230における関連キーワードリンク231の表示制御である。これは、直前ページにおいて検索キーワード及びジャンルが検索条件として指定された場合に実行される。具体的に、関連キーワード表示領域230には、直前ページにおいて指定された検索キーワードの関連キーワードのうち、直前ページにおいて指定されたジャンルと関連性が高い関連キーワードの関連キーワードリンク231が優先的に表示される。関連キーワード表示領域230における関連キーワードリンク231の表示順位は、指定されたジャンルと、関連キーワードとの関連性スコアが高いほど高くなる。指定されたジャンルとの関連性が高い関連キーワードであるほど、ユーザが絞り込み条件として指定する蓋然性が高い。従って、関連キーワードを検索キーワードとしてユーザが容易に指定することができる。
 図5(b)は、関連キーワード表示領域230における関連キーワードリンク231の表示例を示す図である。例えば、トップページにおいて、ユーザが検索キーワードとして「AAA社」を指定し、且つ、ジャンルとして「デジタルカメラ」を指定すると、検索結果ページの関連キーワード表示領域230には、図5(b)に示すように、例えば「デジタルカメラ」、「デジタルカメラ 本体」、「デジタルカメラ AAA社」及び「デジタルカメラ 一眼」のキーワードの関連キーワードリンク231が表示される。つまり、これらのキーワードは、「AAA社」の関連キーワードのうち、「デジタルカメラ」との関連性が高いキーワードである。ユーザが直前ページにおいて同一の検索キーワードを指定した場合であっても、直前ページにおいて指定されたジャンルによって、関連キーワード表示領域230に関連キーワードリンク231が表示される関連キーワードが変化する。
 第4の用途は、検索結果表示領域240における各商品の該当商品情報241の表示順位を決定するためのリスティングスコアの調整である。これは、直前ページにおいて検索キーワードが指定された場合に実行される。具体的に、直前ページにおいて指定された検索キーワードで検索された商品のうち、その検索キーワードとの関連性が高いジャンルの商品のリスティングスコアが引き上げられる。ただし、直前ページにおいてジャンルが検索条件として指定されていた場合、指定されたジャンルの子孫ジャンルに属する商品のリスティングスコアのみが引き上げられる。これにより、検索キーワードとの関連性が高いジャンルの商品の表示順位が上がる可能性がある。従って、検索結果表示領域240から検索キーワードと関連性が高い商品をユーザが容易に探し出すことができる。なお、検索キーワードとの関連性が高いジャンルの商品以外の商品のリスティングスコアが引き下げられるようになっていてもよい。
 例えば、トップページにおいて、ユーザが検索キーワードとして「デジタルカメラ AAA社」を指定すると、検索結果ページの検索結果表示領域240には、「デジタルカメラ AAA社」で検索された商品の情報の一覧が表示される。このとき、「デジタルカメラ AAA社」との関連性が高い「デジタルカメラ」のジャンルの商品、及び、「デジタルカメラ」の子ジャンルである「AAA社」のジャンルの商品については、リスティングスコアが引き上げられる。
 [2.電子商店街サーバの構成]
 次に、電子商店街サーバ1の構成について、図6及び図7を用いて説明する。
 図6は、本実施形態に係る電子商店街サーバ1の概要構成の一例を示すブロック図である。図6に示すように、電子商店街サーバ1は、通信部11と、記憶部12と、入出力インターフェース13と、システム制御部14と、を備えている。そして、システム制御部14と入出力インターフェース13とは、システムバス15を介して接続されている。
 通信部11は、ネットワークNWに接続して、ユーザ端末2等との通信状態を制御するようになっている。
 記憶部12は、例えば、ハードディスクドライブ等により構成されている。この記憶部12には、会員情報DB12a、商品情報DB12b、ジャンル情報DB12c、キーワードDB12d、関連キーワードDB12e、クエリログDB12f、指定回数情報DB12g等のデータベースが構築されている。
 図7(a)は、会員情報DB12aに登録される内容の一例を示す図である。会員情報DB12aには、ショッピングシステムSに会員登録しているユーザに関する会員情報が登録される。具体的に、会員情報DB12aには、ユーザID、パスワード、ニックネーム、氏名、生年月日、性別、郵便番号、住所、電話番号、電子メールアドレス、保有ポイント数等のユーザの属性が、ユーザごとに対応付けて登録される。ユーザIDは、ユーザの識別情報である。保有ポイント数は、ユーザが保有しているポイントの数である。このポイントは、ユーザが電子商店街で商品を購入するときに、金銭と同等の価値を有するものとして購入代金に充てることができるものである。また、ユーザが電子商店街で商品を購入すると、例えば、購入金額に応じたポイントがユーザに付与される。
 図7(b)は、商品情報DB12bに登録される内容の一例を示す図である。商品情報DB12bには、電子商店街で販売されている商品に関する商品情報が登録される。具体的に、商品情報DB12bには、商品ID、店舗ID、商品コード、ジャンルID、商品名、商品画像のURL(Uniform Resource Locator)、商品説明、商品価格等の商品の属性が、店舗が販売する商品ごとに対応付けて登録される。商品IDは、店舗等が、販売する商品を管理するための商品の識別情報である。店舗IDは、商品の販売元の店舗を示す。商品コードは、商品を識別するコード番号である。商品コードとしては、例えば、JAN(Japanese Article Number Code)コード等がある。ジャンルIDは、商品が属するジャンルのジャンルIDである。検索キーワードを用いた検索では、例えば、商品名及び商品説明の少なくとも何れか一方に検索キーワードを含む商品が検索される。
 図7(c)は、ジャンル情報DB12cに登録される内容の一例を示す図である。ジャンル情報DB12cには、商品のジャンルに関するジャンル情報が登録されている。具体的に、ジャンル情報DB12cには、ジャンルID、ジャンル名、ジャンルのレベル、親ジャンルID及び子ジャンルIDリスト等のジャンルの属性が、ジャンルごとに対応付けて登録される。ジャンル情報は、例えば、電子商店街の管理者等により設定される。親ジャンルIDは、ジャンル情報によって定義されるジャンルの親ジャンルのジャンルIDである。子ジャンルIDリストは、ジャンル情報によって定義されるジャンルの子ジャンルのジャンルIDのリストである。子ジャンルIDリストは、ジャンル情報によって定義されるジャンルが子ジャンルを有する場合に設定される。ジャンル情報DB12cには、ジャンルトップのジャンル情報も登録される。ジャンルトップのジャンルIDには、例えば、予め設定された識別情報が設定される。これによって、どのジャンル情報がジャンルトップのジャンル情報であるかを識別することができる。
 図7(d)は、キーワードDB12dに登録される内容の一例を示す図である。キーワードDB12dには、キーワードサジェスト機能において、検索キーワードの候補となるキーワード情報が複数登録されている。キーワード情報には、1つ以上のキーワードが設定される。例えば、予め設定された期間において各ユーザが検索条件として指定した検索キーワードのうち、指定された回数が予め設定された回数以上である検索キーワードが、キーワードDB12dに登録される。
 図7(e)は、関連キーワードDB12eに登録される内容の一例を示す図である。関連キーワードDB12eには、キーワード情報と関連キーワード情報との組が複数登録されている。関連キーワード情報には、キーワード情報に設定されている1つ以上のキーワードに関連する1つのキーワードと、キーワード情報が示す1つ以上のキーワードに関連するキーワードの組み合わせとの何れかが設定される。なお、関連するキーワードや関連するキーワードの組み合わせの抽出方法としては、例えば、公知の方法を用いることができる。よって、関連するキーワードの抽出方法の詳細な説明は省略する。
 図7(f)は、クエリログDB12fに登録される内容の一例を示す図である。クエリログDB12fには、クエリログが登録される。具体的に、クエリログDB12fには、受信日時、検索キーワード情報、ジャンルID、性別、年齢、都道府県等が、検索クエリが受信されるごとに対応付けて登録される。受信日時は、検索クエリが受信された日時である。検索キーワード情報には、検索条件として指定された1つの検索キーワードと、検索条件として指定された検索キーワードの組み合わせとの何れかが設定される。ジャンルIDは、検索条件として指定されたジャンルのジャンルIDである。性別、年齢及び都道府県は、検索クエリを送信したユーザ端末2を利用するユーザの属性である。つまり、検索を要求したユーザの属性として、ユーザの性別と年齢、及びユーザが住む都道府県等が登録される。性別、年齢及び都道府県は、検索を要求したユーザが電子商店街にログインしている場合に登録される。
 図7(g)は、指定回数情報DB12gに登録される内容の一例を示す図である。指定回数情報DB12gには、検索キーワードとジャンルの組の検索条件としての指定回数に関する指定回数情報が登録される。具体的に、指定回数情報DB12gには、検索キーワード情報に対応付けて、ジャンルIDと指定回数との組が1つ以上登録される。ジャンルIDは、検索キーワード情報に設定された1つ以上の検索キーワードとともに検索条件として指定されたジャンルのジャンルIDである。指定回数は、そのジャンルが、検索キーワード情報に設定された1つ以上の検索キーワードとともに検索条件として指定された回数である。
 次に、記憶部12に記憶されるその他の情報について説明する。記憶部12には、Webページを表示するためのHTML(HyperText Markup Language)文書、XML(Extensible Markup Language)文書、画像データ、テキストデータ、電子文書等の各種データが記憶されている。また、記憶部12には、管理者等により設定された各種の設定値が記憶されている。
 また、記憶部12には、オペレーティングシステム、WWW(World Wide Web)サーバプログラム、DBMS(Database Management System)、電子商取引管理プログラム、商品評価プログラム等の各種プログラムが記憶されている。電子商取引管理プログラムは、関連性が高い検索キーワードとジャンルとの組の抽出、検索結果ページの生成、商品の検索、商品の注文等の電子商店街に関する処理を実行するためのプログラムである。商品評価プログラムは、各商品のリスティングスコアを決定するためのプログラムである。商品評価プログラムにより、各商品のリスティングスコアが随時更新され、例えば、リスティングスコアが商品IDと対応付けて記憶部12に記憶される。システム制御部14は、例えば、専用のAPI(Application Programming Interface)を介して、商品評価プログラムからリスティングスコアを取得することができる。なお、各種プログラムは、例えば、他のサーバ装置等からネットワークNWを介して取得されるようにしてもよいし、DVD(Digital Versatile Disc)等の記録媒体に記録されてドライブ装置を介して読み込まれるようにしてもよい。
 入出力インターフェース13は、通信部11及び記憶部12とシステム制御部14との間のインターフェース処理を行うようになっている。
 システム制御部14は、CPU14a、ROM(Read Only Memory)14b、RAM(Random Access Memory)14c等により構成されている。そして、システム制御部14は、CPU14aが、各種プログラムを読み出し実行することにより、本発明における第1抽出手段、第2抽出手段、第3抽出手段及び決定手段として機能するようになっている。
 なお、電子商店街サーバ1が、複数のサーバ装置で構成されてもよい。例えば、関連性が高い検索キーワードとジャンルとの組を抽出するサーバ装置、商品の検索や注文等の処理を行うサーバ装置、ユーザ端末2からのリクエストに応じてWebページを送信するサーバ装置、及びデータベースを管理するサーバ装置等が、互いにLAN等で接続されてもよい。
 [3.関連性が高い検索キーワードとジャンルとの組の抽出方法]
 次に、関連性が高い検索キーワードとジャンルとの組の抽出方法の詳細について、図8、図9及び図26を用いて説明する。
 ここで、抽出対象となり得る検索キーワードを、kとする。また、説明の便宜上、レベル1のジャンルの中から、キーワードkとの関連性が高いジャンルが抽出されるものとする。レベル1のジャンルの集合を、Gとする。先ず、システム制御部14は、レベル1のジャンルの中にキーワードkとの関連性が高いジャンルが存在し得るかを判定する。具体的に、各ジャンルについて、キーワードkとともに検索条件として指定された指定回数のばらつき(偏り)の程度が判定される。各ジャンルの指定回数のばらつきが少ないほど、すなわち、均一性が高いほど、各ジャンルについて、キーワードkとの関連性に差がないということである。そして、関連性に差がないということは、レベル1のジャンルの中で、キーワードkと特に関連性が高いジャンルが存在しないことを意味する。そこで、システム制御部14は、指定回数のばらつきの大きさが、可変設定されたある大きさを超える場合に、レベル1のジャンルの中にキーワードkとの関連性が高いジャンルが存在すると判定する。この判定には、例えば、エントロピーが用いられる。エントロピーをEとすると、Eは、下記の式1により計算される。
Figure JPOXMLDOC01-appb-M000001
 式1において、p(g)は、キーワードkがレベル1のジャンルとともに検索条件として指定される場合において、ジャンルgが指定される確率(以下、「指定確率」という)である。レベル1のジャンルに含まれる或るジャンルcの指定確率p(c)は、下記の式2により計算される。
Figure JPOXMLDOC01-appb-M000002
 式2において、sc(k,c)は、ジャンルcがキーワードkとともに検索条件として指定された回数である。p(c)は、過去に、ジャンルcがキーワードkとともに指定された回数に基づいて計算されるため、p(c)は、レベル1の全てのジャンルに対して、ジャンルcが指定された割合でもある。
 システム制御部14は、エントロピーEを計算すると、エントロピーEと閾値とを比較する。この閾値をαとすると、E≦αを満たす場合に、キーワードkとの関連性が高いジャンルが存在すると判定される。エントロピーEは、レベル1のジャンル数が多いほど、大きくなる傾向にある。エントロピーEの最大値は、ジャンル数が多いほど大きくなるからである。そのため、閾値αを、ジャンル数に応じてを可変に設定する必要がある。レベル1のジャンル数をnとすると、エントロピーEの最大値は、log(n)となる。そこで、システム制御部14は、閾値αを、例えば下記の式3により計算する。
Figure JPOXMLDOC01-appb-M000003
 式3において、K1は、0<K1<1を満たす定数である。K1は、例えば管理者により設定される。なお、閾値αの決定方法は、ここで説明した方法に限られるものではない。ジャンル数が多くなるほど、閾値αが大きくなるように決定されれば良い。また、エントロピーを計算する以外の方法で、指定回数のばらつきを示す値を計算してもよい。
 システム制御部14は、レベル1のジャンルの中にキーワードkとの関連性が高いジャンルが存在し得ると判定すると、次に、レベル1のジャンルの中から、どのジャンルがキーワードkとの関連性が高いかを判定する。具体的に、システム制御部14は、指定確率と閾値とを比較する。βは、本発明における第1の閾値、第2の閾値及び第3の閾値の一例である。この閾値をβとすると、p(c)≧βを満たす場合に、ジャンルcがキーワードkに関連性が高いと判定される。閾値βは、ジャンルcがキーワードkに関連性が高いと判定される指定確率の最小値である。指定確率は、レベル1のジャンル数が少ないほど高くなる傾向にある。そのため、閾値βを、ジャンル数に応じてを可変に設定する必要がある。そこで、システム制御部14は、閾値βを、例えば下記の式4により計算する。
Figure JPOXMLDOC01-appb-M000004
 式4において、K2は、K2≦2を満たす定数である。また、K3は3以上の整定数である。K2及びK3は、例えば管理者により設定される。K2として1以上の値を設定すると、閾値βに、指定確立の平均値である1/n以上の値を設定することができる。ジャンル数がK3未満である場合にジャンル数に応じて閾値βを設定するとしたのは、ジャンル数が少ないときは、ジャンル数の変化に対して1/nの変化が大きいからである。その一方、ジャンル数がK3以上である場合に閾値βを一定としたのは、閾値βをあまりにも小さくすると、実際にはキーワードkとの関連性が高くはないジャンルについて、関連性が高いと判定される確率が高まるからである。なお、閾値βの決定方法は、ここで説明した方法に限られるものではない。ジャンル数が少なくなるほど、閾値βが大きくなるように決定されれば良い。
 ここで、指定確率p(c)は、レベル1の全てのジャンルの指定回数の合計値に対するジャンルcの相対的な指定回数である。従って、指定確率が閾値β以上であるか否かを判定することは、ジャンルcの指定回数sc(k,c)が、下記の式5で計算される回数の閾値β2以上であるか否かを判定することである。
Figure JPOXMLDOC01-appb-M000005
 閾値β2は、ジャンルcがキーワードkに関連性が高いと判定される指定回数の最小値である。システム制御部14は、指定確率と閾値βとを比較する代わりに、指定回数を閾値β2と比較することにより、キーワードkとの関連性が高いか否かを判定してもよい。
 システム制御部14は、ジャンルcとキーワードkとの関連性が高いと判定した場合には、このジャンルcとキーワードkとの組に対する関連性スコアを決定する。例えば、指定回数が多いほど、関連性スコアが高くなるようにしてもよい。例えば、指定回数そのものが関連性スコアとして用いられてもよい。また、指定回数が多いほど関連性スコアが高くなるようにするとともに、指定確率が高いほど関連性スコアが高くなるように、関連性スコアを決定してもよい。例えば、指定回数と指定確率とを変数とする計算式を用いて関連性スコアを計算してもよい。
 ここで、関連性が高いキーワードとジャンルとの組の抽出結果の例を示す。図8(a)及び図8(b)は、レベル1のジャンルごとの指定確率を示すグラフである。なお、図8(a)及び図8(b)においては、レベル1の全てのジャンルのうち一部のジャンルについてのみのグラフを示している。
 図8(a)は、キーワードkを「水」とした場合の例である。図8(a)において、実線のグラフが、指定確率のグラフである。図8(a)に示すように、各ジャンルの指定確率のばらつきが大きい。例えば、レベル1のジャンルのうち、「水・ソフトドリンク」及び「ペット・ペットグッズ」の指定確率が、他のジャンルの指定確率よりも高くなっている。特に、「水・ソフトドリンク」の指定確率の高さが顕著である。そのため、エントロピーEが閾値α以下であると判定される。つまり、「水」との関連性が高いジャンルが存在し得ると判定される。そして、「水・ソフトドリンク」及び「ペット・ペットグッズ」の指定確率が閾値β以上であるため、「水」と「水・ソフトドリンク」、及び、「水」と「ペット・ペットグッズ」が、関連性が高いキーワードとジャンルとの組として抽出される。
 図8(a)においては、破線のグラフも示されている。この破線のグラフは、キーワードkを「水」とした場合に、レベル1の全てのジャンルにおいて「水」で検索された商品の数(以下、「該当商品数」という)に対する各ジャンルの該当商品数の割合である。図8(a)に示すように、該当商品数の割合と指定確率とは相関していない。つまり、該当商品数の割合とキーワードkとの関連性の高さとが相関していない。例えば、レベル1のジャンルのうち、「美容・コスメ・香水」の該当商品数の割合が、他のジャンルの割合に比べて大きくなっている。これは、「美容・コスメ・香水」の商品名や商品説明に「香水」という文字が含まれていることが多いため、「水」を商品名や商品説明に含む商品が検索された結果によるものと考えられる。一方で、「美容・コスメ・香水」の指定確率は決して高くはない。これに対し、「水・ソフトドリンク」の該当商品数の割合はきわめて小さい。
 図8(b)は、キーワードkを「ポイント」とした場合の例である。図8(b)に示すように、各ジャンルの指定確率のばらつきが小さい。これは、商品名や商品説明におけるポイントに関する記載は、どのジャンルにおいても一様に見られるためであると考えられるからである。そのため、エントロピーEが閾値αより大きいと判定される。つまり、「ポイント」との関連性が高いジャンルが存在しないと判定される。
 次に、レベル2以降のジャンルの場合について説明する。図9は、各レベルについてキーワードkに関連するジャンルの抽出の様子を示す図である。システム制御部14は、レベル1のジャンルの中から、キーワードkとの関連性が高いジャンルを抽出した場合には、抽出したジャンルの子ジャンルの中からキーワードkとの関連性が高いジャンルの抽出を試みる。例えば、図9に示すように、レベル1のジャンルg1、g2、g3等のうち、ジャンルg1がキーワードkとの関連性が高いジャンルとして抽出されたとする。この場合、ジャンルg1の子ジャンルg11、g12、g13等の中から、キーワードkとの関連性が高いジャンルの抽出が行われる。これは、あるジャンルが検索キーワードとの関連性が高い場合に、そのジャンルの子ジャンルの中にも検索キーワードとの関連性が高いジャンルが存在し得ると考えられるからである。一方、ジャンルg2の子ジャンル及びジャンルg3の子ジャンルの中からは、抽出が行われない。
 レベル2以降についてのキーワードkとの関連性が高いジャンルの抽出方法は、基本的にはレベル1の場合と同様である。エントロピーEを計算するための式1及び式2においては、キーワードkとの関連性が高いと判定されたジャンルの子ジャンルの集合をGとすれば良い。また、閾値を計算するための式3及び式4においては、キーワードkとの関連性が高いと判定されたジャンルの子ジャンルのジャンル数をnに設定すれば良い。
 図26(a)は、「水・ソフトドリンク」の子ジャンルごとの指定確率を示すグラフである。例えば、図8(a)の例において、レベル1のジャンルの数が、35であるとする。図8(a)は、レベル1の全ジャンルのうち一部のジャンルの指定確率を示す。図26(a)に示すように、「水・ソフトドリンク」の子ジャンルの数は、8である。式3により、「水・ソフトドリンク」の子ジャンルのエントロピーの閾値α2は、レベル1のジャンルのエントロピーの閾値α1よりも小さい。「水・ソフトドリンク」の子ジャンルの中で、「水・ミネラルウォーター」の指定確率が90%を超えている。そのため、「水・ソフトドリンク」の子ジャンルのエントロピーEは、閾値α2以下となる。そして、「水」と「水・ミネラルウォーター」が、関連性が高いキーワードとジャンルとの組として抽出される。図26(b)は、「水・ソフトドリンク」の子ジャンルである「水・ミネラルウォーター」の子ジャンルごとの指定確率を示すグラフである。図26(b)に示すように、「水・ミネラルウォーター」の子ジャンルの数は、22である。従って、「水・ミネラルウォーター」の子ジャンルのエントロピーの閾値α3は、レベル1のジャンルのエントロピーの閾値α1よりも小さく、「水・ソフトドリンク」の子ジャンルのエントロピーの閾値α2よりも大きい。このように、エントロピーの閾値αは、ジャンルの数に応じて変化する。「水・ミネラルウォーター」の子ジャンルの中で、「ブランドA」の指定確率が30%程度であり、「国内天然水」の指定確率が50%程度である。その他のジャンルの指定確率は10%未満である。そのため、「水・ミネラルウォーター」の子ジャンルのエントロピーEは、閾値α3以下となる。
 図9においては、ジャンルg1の子ジャンルについて、エントロピーEが閾値α1以下であったため、ジャンルg1の子ジャンルの中からキーワードkとの関連性が高いジャンルが抽出される。例えば、ジャンルg11の指定確率と、ジャンルg13の指定確率とがそれぞれ閾値β1以上であったため、ジャンルg11及びジャンルg13が、それぞれキーワードkとの関連性が高いジャンルとして抽出される。更に、ジャンルg11の子ジャンルについて、エントロピーEが閾値α以下であるか否かが判定される。ここで、エントロピーEは閾値α11以下ではなかったためジャンルg11の子ジャンルの中からは抽出が行われない。一方、ジャンルg13の子ジャンルについては、エントロピーEが閾値α13以下であったため、ジャンルg13の子ジャンルg131、g132、g132等の中からキーワードkとの関連性が高いジャンルが抽出される。ここで、例えば、ジャンルg132の指定確率が閾値β13以上であったため、ジャンルg132がキーワードkとの関連性が高いジャンルとして抽出される。更に、ジャンルg132の子ジャンルについて、エントロピーEが閾値α132以下であるか否かが判定される。このように、システム制御部14は、例えば、深さ優先探索で、キーワードkと関連性が高いジャンルを階層的に抽出していく。
 ところで、システム制御部14は、キーワードkとともに各ジャンルが指定された指定回数を計算するとき、子ジャンルの指定回数を、その親ジャンルの実際の指定回数に対して加算する。例えば、図9において、レベル3のジャンルg111、g112、g113の指定回数が、5、7、3であるとする。ここで、ジャンルg111等の親ジャンルであるジャンルg11の指定回数が10であるとする。この場合、ジャンルg111、g112、g113の指定回数の合計値がジャンルg11の指定回数に加算される。従って、ジャンルg11の指定回数は25となる。更に、ジャンルg11の指定回数である25が、ジャンルg11の親ジャンルであるジャンルg1にも加算される。このように、あるジャンルの指定回数が、そのジャンルの親ジャンルからレベル1のジャンルまでの各ジャンルに反映される。あるジャンルがキーワードkとともに指定されたということは、そのジャンルの親ジャンル全体の中の一部分がキーワードkとともに指定されたということを意味する。従って、この場合、親ジャンルもキーワードkとともに指定されたと考えることができるからである。なお、子ジャンルの指定回数を親ジャンルの指定回数に加算しなくてもよい。
 [4.検索キーワードの組み合わせの場合の抽出方法]
 次に、検索キーワードの組み合わせと関連性が高いジャンルの抽出方法について、図10乃至図14を用いて説明する。
 [4-1.課題及び抽出方法]
 検索キーワードの組み合わせと関連性が高いジャンルも、第3項で説明された方法で抽出することができる。具体的に、システム制御部14は、商品の複数のジャンルのそれぞれについて、ある複数の検索キーワードとともに検索条件として指定された回数を取得する。そして、システム制御部14は、取得された回数が閾値以上であるジャンルを、その複数の検索キーワードの組み合わせとの関連性が高いジャンルとして抽出する。第3項の説明中のキーワードkを、検索キーワードの組み合わせに置き換えればよい。しかしながら、検索キーワードの数と比較して、検索キーワードを組み合わせることが可能なパターンの数は極めて多い。従って、組み合わせごとに考える場合、ユーザが検索キーワードの組み合わせを検索条件として指定する回数は、ユーザが1つの検索キーワードを検索条件として指定する回数よりも少ない蓋然性がある。或る検索キーワードの組み合わせが指定された回数が少ない場合、システム制御部14は、その組み合わせと関連するジャンルを抽出することができないことがある。また、その組み合わせと関連するジャンルの抽出結果の信頼性が低くなる。
 そこで、システム制御部14は、木構造で階層化された複数のジャンルの中から、検索キーワードの組み合わせに含まれる1つの検索キーワードとの関連性が高いジャンルを抽出する。この検索キーワードをKE1とする。抽出方法は、第3項で説明された方法と同じである。次いで、システム制御部14は、キーワードKE1について抽出されたジャンルの子孫ジャンルの中から、検索キーワードの組み合わせに含まれる別の1つの検索キーワードとの関連性が高いジャンルを抽出する。この検索キーワードをKE2とする。この場合の抽出方法も、第3項で説明された方法と同じである。キーワードKE1の場合、システム制御部14は、関連性が高いジャンルの抽出を、レベル1のジャンルから開始する。一方、キーワードKE2の場合、システム制御部14は、関連性が高いジャンルの抽出を、キーワードKE1との関連性が高いジャンルの子ジャンルから開始する。システム制御部14は、キーワードKE2について抽出されたジャンルを、検索キーワードKE1とKE2との組み合わせに関連するジャンルとして決定する。その理由は、検索キーワードKE2との関連性が高いジャンルのうち、検索キーワードKE1との関連性が高いジャンルに属するジャンルは、検索キーワードKE1との関連性も高いジャンルである蓋然性があるからである。それぞれの抽出処理においては、1つの検索キーワードについて抽出が試みられる。そのため、それぞれの抽出において関連性が高いジャンルを抽出することができる蓋然性を高めることができる。その結果、検索キーワードの組み合わせとの関連性が高いジャンルを抽出することができる蓋然性を高めることができる。
 組み合わせが3個以上の検索キーワードを含む場合、3番目以降の検索キーワードについても同様に抽出が行われる。例えば、システム制御部14は、検索キーワードKE1とKE2との組み合わせとの関連性が高いジャンルとして決定したジャンルの子孫ジャンルの中から、検索キーワードの組み合わせに含まれる検索キーワードKE3との関連性が高いジャンルを抽出する。システム制御部14は、このときに抽出されたジャンルを、検索キーワードKE1~K3の組み合わせとの関連性が高いジャンルとして決定する。
 抽出方法を一般化して説明すると、次の通りとなる。システム制御部14は、検索キーワードの組み合わせを構成する各検索キーワードに対して、関連性が高いジャンルの抽出順を割り当てる。システム制御部14は、各検索キーワードとの関連性が高いジャンルの抽出を、割り当てた抽出順で順次実行する。このとき、システム制御部14は、ジャンルの抽出順が1番目の検索キーワードについては、全てのジャンルの中から関連性が高いジャンルを抽出する。一方、システム制御部14は、抽出順が1番目より後の検索キーワードについては、抽出順が1つ前の検索キーワードについて抽出されたジャンルの子ジャンルの中から、関連性が高いジャンルを抽出する。そして、システム制御部14は、抽出順が最後の検索キーワードについて抽出されたジャンルを、検索キーワードの組み合わせと関連するジャンルであると決定する。
 次に、具体例を説明する。図10(a)は、「デジタルカメラ AAA社」という検索キーワードの組み合わせに関連するジャンルの抽出結果の一例を示す図である。図10(b)は、「デジタルカメラ」というキーワードに関連するジャンルの抽出結果の一例を示す図である。図10(c)は、「AAA社」というキーワードに関連するジャンルの抽出結果の一例を示す図である。「デジタルカメラ AAA社」の指定回数が少ないため、図10(a)に示すように、第3項で説明された方法では、「デジタルカメラ AAA社」に関連するジャンルが存在しなかった。一方、「デジタルカメラ」というキーワードに関連するジャンル及び「AAA社」に関連するジャンルはそれぞれ存在する。図10(b)に示すように、「デジタルカメラ」に関連するジャンルとして、「家電・AV・カメラ」、「家電・AV・カメラ」の子ジャンルである「デジタルカメラ」、「デジタルカメラ」の子ジャンルである「AAA社」、「BBB社」及び「CCC社」が存在する。また、図10(c)に示すように、「AAA社」というキーワードに関連するジャンルとして、例えば、「家電・AV・カメラ」、「家電・AV・カメラ」の子ジャンルである「デジタルカメラ」、「デジタルカメラ」の子ジャンルである「AAA社」が存在する。また、これらのジャンル以外にも、「AAA社」というキーワードに関連するジャンルが多数存在する。その理由は、AAA社が様々な種類の製品を製造しているからである。
 図11は、「デジタルカメラ AAA社」との関連性が高いジャンルが抽出される様子の一例を示す図である。システム制御部14は、例えば、全ジャンルの中から、先ず「デジタルカメラ」というキーワードとの関連性が高いジャンルを抽出する。抽出結果は、図10(b)に示されている。次いで、システム制御部14は、抽出した各ジャンルに対して、「デジタルカメラ」の関連性スコアが高い順に順位を付ける。例えば、第1位が「デジタルカメラ」、第2位が「AAA社」、第3位が「BBB社」であるとする。システム制御部14は、関連性スコアの順位が予め設定された順位以上であるジャンルのそれぞれについて、子ジャンルの中から、「AAA社」というキーワードとの関連性が高いジャンルを抽出する。例えば、3位以上のジャンルが選択されるとする。「デジタルカメラ」というジャンルの子ジャンルのうち、「AAA社」というキーワードとの関連性が高いジャンルは、「AAA社」である。一方、「AAA社」というジャンルの子ジャンルの中に、「AAA社」というキーワードとの関連性が高いジャンルは存在しなかったとする。また、「BBB社」というジャンルの子ジャンルの中にも、「AAA社」というキーワードとの関連性が高いジャンルは存在しなかったとする。従って、図11に示すように、システム制御部14は、「デジタルカメラ AAA社」に関連するジャンルは、「デジタルカメラ」の子ジャンルの「AAA社」であると決定する。なお、システム制御部14は、このときに抽出されたジャンルのうち、関連性スコアの順位が予め設定された順位以上であるジャンルのみを、「デジタルカメラ AAA社」に関連するジャンルであると決定する。
 上述した例は、抽出順が2番目の検索キーワードである「AAA社」との関連性が高いジャンルの抽出をレベル1のジャンルから開始した場合に抽出されるジャンルの中に、「デジタルカメラ AAA社」との関連性が高いジャンルが存在する場合の例である。しかしながら、必ずしもそうであるとは限らない場合がある。例えば、検索キーワードの「AAA社」とともにジャンルの「デジタルカメラ」を検索条件として指定された回数が、検索キーワードの「AAA社」とともに「デジタルカメラ」の兄弟ジャンルを検索条件として指定された回数と比較して多くはなかったとする。一方、検索キーワードの「AAA社」とともに「デジタルカメラ」の子ジャンルの「AAA社」を検索条件として指定された回数が、検索キーワードの「AAA社」とともにジャンルの「AAA社」の兄弟ジャンルを検索条件として指定された回数と比較して多かったとする。この場合、「デジタルカメラ」の子ジャンルの「AAA社」は、検索キーワードの「AAA社」との関連性が高いジャンルとしては抽出されない。その理由は、ジャンルの「デジタルカメラ」が検索キーワードの「AAA社」と関連性が高くはないため、システム制御部14は、「デジタルカメラ」の子ジャンルの中から関連性が高いジャンルの抽出を行わないからである。しかしながら、システム制御部14が、検索キーワードの「デジタルカメラ」との関連性が高いジャンルである「デジタルカメラ」の子孫ジャンルの中から、検索キーワードの「AAA社」との関連性が高いジャンルを抽出する場合、システム制御部14は、ジャンルの「デジタルカメラ」と検索キーワードの「AAA社」との関連性が高いか否にかかわらず、抽出を行う。そのため、この場合であっても、「デジタルカメラ」の子孫ジャンルである「AAA社」が、「デジタルカメラ AAA社」との関連性が高いジャンルとして抽出される。このように、システム制御部14は、抽出順が1番目のキーワードに関連するジャンルの子ジャンルから、抽出順が2番目のキーワードに関連するキーワードの抽出を開始する。仮に、抽出順が2番目のキーワードのみで抽出を行った場合、レベル1のジャンルから、抽出順が2番目のキーワードに関連するジャンルを抽出を開始する。このような場合に抽出することができないジャンルを、抽出順が2番目のキーワードに関連するジャンルとして抽出することができる。
 システム制御部14が関連性スコアの順位でジャンルを絞り込む理由の1つとして、処理時間を削減することが挙げられる。また、別の理由として、抽出結果の信頼性を高めることが挙げられる。それぞれの抽出処理においては、1つの検索キーワードとの関連性が高いジャンルが抽出される。しかしながら、検索キーワードの組み合わせとの関連性が高いジャンルとして最終的に抽出されるジャンルは、各抽出処理の結果の組み合わせである。従って、最終的に抽出されるジャンルの中に、検索キーワードの組み合わせとの関連性が低いジャンルが含まれている可能性がある。そのため、各抽出処理において、検索キーワードとの関連性が高いジャンルの中でも、相対的に関連性が低いジャンルが除外される。なお、システム制御部14は、関連性スコアの順位でジャンルを絞り込まなくてもよい。
 システム制御部14は、検索キーワードの組み合わせに関連するジャンルを抽出した場合、抽出したジャンルの祖先に相当するジャンルも、その組み合わせに関連するジャンルとして決定してもよい。例えば、図11の例の場合、「AAA社」というジャンルに加えて、「家電・AV・カメラ」及び「デジタルカメラ」も、「デジタルカメラ AAA社」に関連するジャンルとして決定される。
 [4-2.関連するジャンルを抽出する検索キーワードの順番]
 システム制御部14は、ユーザによる検索キーワードの指定順(入力順)と同じ抽出順で、関連性が高いジャンルを抽出する。その理由は、複数の検索キーワードの指定時、ユーザは前の方で広い概念を示すキーワードを指定し、後の方で狭い概念を示す検索キーワードを指定する傾向があるからである。抽出順が後ろの方であるほど、より狭い概念を示すジャンルの中から抽出が行われる。そのため、各抽出処理において、検索キーワードが示す概念と、抽出範囲に含まれるジャンルが示す概念とを合致させることができる。そのため、各抽出処理において、検索キーワードとの関連性が高いジャンルを抽出することができる蓋然性を高めることができる。これにより、検索キーワードの組み合わせとの関連性が高いジャンルを抽出することができる蓋然性を高めることができる。「デジタルカメラ AAA社」の場合、ユーザは、1番目に「デジタルカメラ」を指定し、2番目に「AAA社」を指定している。そのため、1番目に「デジタルカメラ」についてジャンルが抽出され、2番目に「AAA社」についてジャンルが抽出される。
 ユーザによる検索キーワードの指定順と同じ抽出順で抽出処理が行われた場合、検索キーワードの組み合わせに関連するジャンルを抽出することができないことも考えられる。その場合、システム制御部14は、抽出順を変更する。そして、システム制御部14は、変更後の抽出順で、検索キーワードの組み合わせに関連するジャンルの抽出を再度試みる。これにより、検索キーワードの組み合わせに関連するジャンルを抽出することができる蓋然性を高めることができる。
 次に、具体例を説明する。図12(a)は、「20インチ ディスプレイ」という検索キーワードの組み合わせに関連するジャンルの抽出結果の一例を示す図である。図12(b)は、「20インチ」というキーワードに関連するジャンルの抽出結果の一例を示す図である。図12(c)は、「ディスプレイ」というキーワードに関連するジャンルの抽出結果の一例を示す図である。
 図12(a)に示すように、第3項で説明された方法では、「20インチ ディスプレイ」に関連するジャンルは存在しない。一方、図12(b)に示すように、「20インチ」に関連するジャンルとして、「スポーツ・アウトドア」、「スポーツ・アウトドア」の子ジャンルである「自転車」、「自転車」の子ジャンルである「子供用自転車」及び「折りたたみ自転車」、「折りたたみ自転車」の子ジャンルである「EEE社」が存在する。また、図12(c)に示すように、「ディスプレイ」に関連するジャンルとして、「インテリア・寝具・収納」、「インテリア・寝具・収納」の子ジャンルである「収納家具」が存在する。更に、「ディスプレイ」に関連するジャンルとして、「パソコン・周辺機器」、「パソコン・周辺機器」の子ジャンルである「ディスプレイ・モニター」が存在する。
 図13(a)は、検索キーワードの指定順で抽出処理が行われた場合の抽出例である。システム制御部14は、先ず全ジャンルの中から「20インチ」との関連性が高いジャンルを抽出する。次いで、システム制御部14は、関連性スコアの順位が高いジャンルである「子供用自転車」、「折りたたみ自転車」及び「EEE社」を選択する。次いで、システム制御部14は、「子供用自転車」、「折りたたみ自転車」及び「EEE社」のそれぞれの子ジャンルの中から、「ディスプレイ」との関連性が高いジャンルの抽出を試みる。しかしながら、「子供用自転車」、「折りたたみ自転車」及び「EEE社」の子ジャンルの中に、「ディスプレイ」との関連性が高いジャンルが存在しなかったとする。この場合、システム制御部14は、「20インチ ディスプレイ」に関連するジャンルを抽出することができない。そこで、システム制御部14は、抽出順を変更する。
 図13(b)は、ジャンルの抽出順を変更して抽出処理が行われた場合の抽出例である。システム制御部14は、先ず全ジャンルの中から「ディスプレイ」との関連性が高いジャンルを抽出する。次いで、システム制御部14は、関連性スコアの順位が高い「インテリア・寝具・収納」、「収納家具」及び「ディスプレイ・モニター」を選択する。次いで、システム制御部14は、「インテリア・寝具・収納」、「収納家具」及び「ディスプレイ・モニター」のそれぞれの子ジャンルの中から、「20インチ」との関連性が高いジャンルの抽出を試みる。このとき、図13(b)に示すように、「ディスプレイ・モニター」の子ジャンルの中から、「液晶18~20インチ」というジャンルが、「20インチ」との関連性が高いジャンルとして抽出された。一方、「インテリア・寝具・収納」及び「収納家具」のそれぞれの子ジャンルの中に、「ディスプレイ」との関連性が高いジャンルが存在しなかったとする。この場合、システム制御部14は、「液晶18~20インチ」を、「20インチ ディスプレイ」に関連するジャンルであると決定する。
 検索キーワードの数が多くなると、抽出順の組み合わせの数が多くなる。システム制御部14は、検索キーワードの組み合わせに関連するジャンルを抽出することができるまで、抽出順を変更して抽出処理を行ってもよい。または、システム制御部14は、抽出順を変更することができる回数の上限を制限してもよい。
 なお、電子商店街サーバ1は、ジャンルの抽出を最初に行うとき、指定された複数の検索キーワード間で概念の広さを比較してもよい。そして、電子商店街サーバ1は、広い概念を示す検索キーワードほど、抽出順が上位になるように各検索キーワードの抽出順を決定してもよい。その理由は、前の方で狭い概念を示すキーワードを指定するユーザが存在する可能性があるからである。この場合、抽出順がユーザによる検索キーワードの指定順と異なってもよい。例えば、電子商店街サーバ1は、単語間の意味的関係を定義する概念辞書(意味辞書)に基づいて、各検索キーワードのジャンルの抽出順を決定してもよい。この概念辞書は、上位語と下位語との関係も定義する。電子商店街サーバ1に、概念辞書のデータベースが予め構築されていてもよい。あるいは、電子商店街サーバ1は、概念辞書のWebサイトを利用してもよい。また、電子商店街サーバ1は、複数の検索キーワードのそれぞれを検索条件として検索を行った場合に検索される商品の件数を取得してもよい。そして、電子商店街サーバ1は、検索される商品の件数が多い検索キーワードほど、抽出順が上位になるように各検索キーワードの抽出順を決定してもよい。その理由は、検索される商品の件数が多い検索キーワードほど、広い概念を示す検索キーワードである蓋然性があるからである。
 [5.関連性が高いジャンルの選択]
 ある検索キーワードの組み合わせについては、第3項で説明された方法で関連性が高いジャンルを抽出ことができる場合がある。システム制御部14は、第3項で説明された方法と第4項で説明された方法との2通りの方法で、関連性が高いジャンルの抽出を試みてもよい。そして、システム制御部14は、何れか一方の方法のみでジャンルを抽出することができた場合、抽出されたジャンルを、関連性が高いジャンルとして決定する。一方、システム制御部14は、それぞれの方法でジャンルを抽出することができた場合、予め定められた基準に基づいて、何れか一方の方法で抽出されたジャンルを、関連性が高いジャンルとして決定してもよい。この判断基準は、検索キーワードの組み合わせに関連するジャンルとして、より適切なジャンルが選択されるように定められる。
 例えば、抽出されたジャンルのレベルを判断基準としてもよい。具体的に、システム制御部14は、レベルが大きい方のジャンルを、検索キーワードの組み合わせに関連するジャンルとして決定する。その理由は、レベルが大きいジャンルであるほど、検索キーワードの組み合わせとの関連性が高い蓋然性があるからである。レベルが大きいほど、ジャンルが示す範囲が狭くなる。これは、レベルが大きいほど、ジャンルに属する商品の特定性が高くなることを示す。つまり、ジャンルに属する商品の条件が具体的になることを示す。特定性が高いジャンルであるほど、検索キーワードの組み合わせとの関連性が高いと考えられる。
 次に、具体例を説明する。図14(a)は、「X Y」という検索キーワードの組み合わせに関連するジャンルを、第3項で説明された方法で抽出した場合の抽出結果の一例を示す図である。図14(b)は、「X Y」という検索キーワードの組み合わせに関連するジャンルを、第4項で説明された方法で抽出される様子の一例を示す図である。
 図14(a)に示すように、第3項で説明された方法では、「X Y」に関連するジャンルとして、ジャンルg1及びg11が抽出された。ジャンルg1のレベルは1であり、ジャンルg11のレベルは2である。一方、図14(b)に示すように、「X」に関連するジャンルとして、ジャンルg1、g11、g111、g112、g2及びg21が存在する。ジャンルg11はジャンルg1の子ジャンルである。ジャンルg111及びg112は、ジャンルg11の子ジャンルである。ジャンルg21は、ジャンルg2の子ジャンルである。また、「Y」に関連するジャンルとして、ジャンルg2、g21及びg212が存在する。ジャンルg212はジャンルg21の子ジャンルである。第4項で説明された方法では、「X Y」に関連するジャンルとしてジャンルg212が抽出される。ジャンルg212のレベルは3である。従って、ジャンルg212が、「X Y」に関連するジャンルとして決定される。
 仮に、第3項で説明された方法でジャンルg1111が抽出されたとする。ジャンルg1111のレベルは4である。従って、この場合、ジャンルg212ではなく、ジャンルg1111が、「X Y」に関連するジャンルとして決定される。なお、ジャンルが同一である場合、何れの方法で抽出されたジャンルを関連性が高いジャンルとしてシステム制御部14が決定するかは任意である。
 判断基準は、指定回数であってもよい。この指定回数は、第3項で説明された方法で抽出されたジャンルが、関連性が高いジャンルを抽出する検索キーワードの組み合わせとともに検索条件として指定された回数である。具体的に、システム制御部14は、指定回数が、予め設定された閾値以上である場合、第3項で説明された方法で抽出されたジャンルを、関連性が高いジャンルとして決定する。指定回数が多いほど、抽出結果の精度が高くなるからである。
 判断基準は、ジャンルのレベルと指定回数の両方であってもよい。レベルが大きくなるほど、指定回数が減る傾向にある。つまり、ジャンルのレベルと指定回数とは相関関係があると考えられる。ジャンルと検索キーワードの組み合わせとの関連性に関して、ジャンルのレベルと指定回数とは相反する関係にある。そこで、システム制御部14が両方を考慮することで、バランスをとることができる。例えば、システム制御部14は、第3項で説明された方法で抽出されたジャンルのレベルとそのジャンルの指定回数とを掛け合わせて、指標値を計算してもよい。そして、システム制御部14は、指標値が、予め設定された閾値以上である場合、第3項で説明された方法で抽出されたジャンルを、関連性が高いジャンルとして決定する。システム制御部14は、例えば、第4項で説明された方法で抽出されたジャンルのレベルに応じて、指標値と比較する閾値を決定してもよい。具体的に、システム制御部14は、第4項で説明された方法で抽出されたジャンルのレベルが大きいほど、閾値を高くする。
 なお、システム制御部14は、第3項で説明された方法で抽出されたジャンルと、第4項で説明された方法で抽出されたジャンルとの両方を、関連性が高いジャンルとして決定してもよい。
 [6.ショッピングシステムの動作]
 次に、ショッピングシステムSの動作について、図15乃至図24を用いて説明する。
 図15は、本実施形態に係る電子商店街サーバ1のシステム制御部14の指定回数集計処理における処理例を示すフローチャートである。指定回数集計処理は、各検索キーワードについて、各ジャンルとともに検索条件として指定された回数を集計する処理である。指定回数集計処理は、例えば定期的に(例えば、1日ごと等に)実行される。
 先ず、システム制御部14は、指定回数DB12gを初期化する(ステップS1)。具体的に、システム制御部14は、指定回数DB12gに登録されている全ての情報を削除する。次いで、システム制御部14は、キーワード・ジャンルリストを初期化する(ステップS2)。キーワード・ジャンルリストは、検索キーワード、ジャンルID及び指定回数の組が登録されるリストである。
 次いで、システム制御部14は、クエリログDB12fに登録されたクエリログから、検索キーワード情報とジャンルIDとの組を取得する(ステップS3)。具体的に、システム制御部14は、受信日時が予め設定された期間内(例えば、現時点から30日前までの期間内)であるクエリログから、それぞれ検索キーワード情報とジャンルIDとの組を取得する。このとき、システム制御部14は、検索キーワード情報及びジャンルIDの両方が設定されているクエリログから取得を行う。
 次いで、システム制御部14は、各ジャンルについて、検索キーワード情報とともに検索条件として指定された回数を取得する(ステップS4)。具体的に、システム制御部14は、クエリログから取得した検索キーワード情報とジャンルIDとの各組のうち、一組を選択する。次いで、システム制御部14は、クエリログから取得した組のうち、選択した組と検索キーワード情報及びジャンルIDが同一である組の数を、指定回数として数える。このとき、システム制御部14は、選択した組自体も、1つとして、指定回数に含める。次いで、システム制御部14は、既に選択したことがある組と同一の組を除いて、クエリログから取得した組のうち、一組を選択する。そして、システム制御部14は、選択した組について、上述した方法と同様に指定回数を数える。以降、システム制御部14は、選択可能な組がなくなるまで同様の処理を行う。
 システム制御部14は、ステップS4の処理を終えると、指定回数が計算された検索キーワード情報及びジャンルIDの各組について、検索キーワード情報、ジャンルID及び指定回数を対応付けてキーワード・ジャンルリストに登録する(ステップS5)。
 次いで、システム制御部14は、キーワード・ジャンルリストに登録された検索キーワード情報のうち1つを選択する(ステップS6)。ここで、選択された検索キーワード情報を、「選択キーワード情報」と称する。次いで、システム制御部14は、キーワード・ジャンルリストから、選択キーワード情報と同一の検索キーワード情報を含む組を検索する。そして、システム制御部14は、検索した組からなる検索リストを生成する(ステップS7)。次いで、システム制御部14は、検索リストに登録された組のうち、その組に含まれるジャンルIDに対応するジャンルのレベルが最も大きいものを1つ選択する(ステップS8)。ジャンルのレベルは、ジャンル情報DB12cに登録されているジャンル情報のうち、ジャンルIDに対応するジャンル情報に含まれているレベルである。ここで、選択された組に含まれるジャンルIDに対応するジャンルを、「選択ジャンル」と称する。
 次いで、システム制御部14は、選択ジャンルのレベルがレベル1であるか否かを判定する(ステップS9)。このとき、システム制御部14は、選択ジャンルのレベルがレベル1ではないと判定した場合には(ステップS9:NO)、検索リストに登録された組の中に、選択ジャンルの親ジャンルのジャンルIDを含む組があるか否かを判定する(ステップS10)。選択ジャンルの親ジャンルのジャンルIDは、選択ジャンルのジャンルIDに対応するジャンル情報に含まれている親ジャンルIDである。システム制御部14は、選択ジャンルの親ジャンルのジャンルIDを含む組があると判定した場合には(ステップS10:YES)、選択した組に含まれる指定回数を、親ジャンルのジャンルIDを含む組に含まれる指定回数に加算する(ステップS11)。一方、システム制御部14は、選択ジャンルの親ジャンルのジャンルIDを含む組がないと判定した場合には(ステップS10:NO)、選択キーワード情報、親ジャンルのジャンルID及び指定回数の組を新たに検索クリストに追加する(ステップS12)。システム制御部14は、このときの指定回数を、選択した組に含まれる指定回数と同一とする。
 システム制御部14は、ステップS9において選択ジャンルのレベルがレベル1であると判定した場合(ステップS9:YES)、ステップS11の処理を終えた場合、または、ステップS12の処理を終えた場合には、検索リストに登録された組の中にまだ選択していない組があるか否かを判定する(ステップS13)。このとき、システム制御部14は、まだ選択していない組があると判定した場合には(ステップS13:YES)、まだ選択していない組のうち、その組に含まれるジャンルIDに対応するジャンルのレベルが最も大きいものを1つ選択する(ステップS14)。次いで、システム制御部14は、ステップS9に移行する。システム制御部14は、ステップS9~S13の処理を繰り返すことにより、各ジャンルの指定回数を、そのジャンルの親ジャンルからレベル1のジャンルまでの各ジャンルに加算する。
 一方、システム制御部14は、全ての組を選択したと判定した場合には(ステップS13:NO)、指定回数情報DB12gに指定回数情報を登録を行う(ステップS15)。具体的に、システム制御部14は、選択キーワード情報を指定回数情報DB12gに登録するとともに、検索リストに登録された各組に含まれるジャンルID及び指定回数を、選択キーワード情報に対応付けて登録する。
 次いで、システム制御部14は、既に選択したことがある検索キーワード情報と同一のキーワード情報を除いて、キーワード・ジャンルリストに登録された検索キーワード情報のうちまだ選択していない検索キーワード情報があるか否かを判定する(ステップS16)。このとき、システム制御部14は、まだ選択していない検索キーワード情報があると判定した場合には(ステップS16:YES)、まだ選択していない検索キーワード情報のうち1つを選択する(ステップS17)。次いで、システム制御部14は、ステップS7に移行する。システム制御部14は、ステップS7~S17の処理を繰り返すことにより、関連性が高い検索キーワード情報とジャンルとの組を全て抽出する。そして、システム制御部14は、全ての検索キーワード情報を選択したと判定した場合には(ステップS16:NO)、指定回数集計処理を終了させる。
 図16は、本実施形態に係る電子商店街サーバ1のシステム制御部14の関連ジャンル抽出制御処理における処理例を示すフローチャートである。関連ジャンル抽出制御処理は、1つのキーワードまたはキーワードの組み合わせとの関連性が高いジャンルを抽出する処理である。関連ジャンル抽出制御処理は、必要に応じて実行される。例えば、ユーザが検索条件として1つ以上の検索キーワードを指定した場合に、指定された1つ以上の検索キーワードについて、関連ジャンル抽出制御処理が実行される。また、例えば、電子商店街の管理者が1つ以上のキーワードを指定した場合に、指定された1つ以上のキーワードについて、関連ジャンル抽出制御処理が実行される。管理者は、例えば、電子商店街において特定のキーワードまたは特定のキーワードの組み合わせに関連するWebページを予め用意しておく場合がある。特定のキーワードまたは特定のキーワードの組み合わせに関連するジャンルの一覧が表示されるようにWebページを生成する場合、管理者は、関連するジャンルを知る必要がある。
 関連ジャンル抽出制御処理の引数として、1つ以上のキーワードを含むキーワード情報が設定される。先ず、システム制御部14は、引数のキーワード情報に複数のキーワードが設定されているか否かを判定する(ステップS31)。このとき、システム制御部14は、引数のキーワード情報に1つのキーワードのみが設定されていると判定した場合には(ステップS31:NO)、次に実行する関連ジャンル抽出処理の引数として、ジャンルトップのジャンルID、及び関連ジャンル抽出制御処理の引数のキーワード情報を設定する(ステップS32)。次いで、システム制御部14は、関連ジャンル抽出処理を実行する(ステップS33)。このときの関連ジャンル抽出処理では、引数のキーワード情報に設定された1つのキーワードとの関連性が高いジャンルが抽出される。関連ジャンル抽出処理の詳細については後述する。
 一方、システム制御部14は、引数のキーワード情報に複数のキーワードが設定されていると判定した場合には(ステップS31:YES)、複数キーワード対応関連ジャンル抽出処理を実行する(ステップS34)。複数キーワード対応関連ジャンル抽出処理では、引数のキーワード情報に設定されたキーワードの組み合わせとの関連性が高いジャンルが抽出される。複数キーワード対応関連ジャンル抽出処理の詳細については後述する。
 システム制御部14は、ステップS33またはS34の処理を終えると、関連ジャンル抽出制御処理を終了させる。このとき、システム制御部14は、関連ジャンル抽出制御処理の戻り値として、関連ジャンルリストを出力する。関連ジャンルリストは、引数のキーワード情報との関連性が高いジャンルのリストである。具体的に、関連ジャンルリストには、引数のキーワード情報、抽出されたジャンルのジャンルID及び関連性スコアを含むレコードが、抽出されたジャンルごとに登録されている。
 図17は、本実施形態に係る電子商店街サーバ1のシステム制御部14の関連ジャンル抽出処理における処理例を示すフローチャートである。
 先ず、システム制御部14は、引数のジャンルIDに対応するジャンルの子ジャンルの数を計算する(ステップS41)。具体的に、システム制御部14は、引数のジャンルIDに対応するジャンル情報に含まれている子ジャンルIDリストに登録されているジャンルIDの数を数える。次いで、システム制御部14は、計算した子ジャンルの数に基づいて、エントロピーの閾値αを計算する(ステップS42)。例えば、システム制御部14は、上述した式3を用いて計算する。
 次いで、システム制御部14は、引数のジャンルIDに対応するジャンルの各子ジャンルについて、引数のキーワード情報に対応する指定確率を計算する(ステップS43)。つまり、システム制御部14は、上述した式2の計算に相当する処理を実行する。具体的に、システム制御部14は、引数のジャンルIDに対応するジャンル情報に含まれている子ジャンルIDリストから、ジャンルIDを取得する。次いで、システム制御部14は、引数のキーワード情報に対応する指定回数情報から、取得したジャンルIDに対応する指定回数を検索する。このとき、指定回数情報に、取得したジャンルIDに対応する指定回数が登録されていない場合には、そのジャンルIDのジャンルについての指定回数を0とする。システム制御部14は、この検索を子ジャンルIDリストに登録されているジャンルID分実行する。次いで、システム制御部14は、検索された指定回数の合計値を計算する。そして、システム制御部14は、検索された各指定回数を合計値で除算することにより、指定確率を計算する。
 次いで、システム制御部14は、計算した指定回数に基づいて、エントロピーEを計算する(ステップS44)。つまり、システム制御部14は、上述した式1の計算を行う。次いで、システム制御部14は、エントロピーEが閾値α以下であるか否かを判定する(ステップS45)。このとき、システム制御部14は、エントロピーEが閾値α以下ではないと判定した場合には(ステップS45:NO)、関連ジャンル抽出処理を終了させる。一方、システム制御部14は、エントロピーEが閾値α以下であると判定した場合には(ステップS45:YES)、子ジャンルの数に基づいて、指定確率の閾値βを計算する(ステップS46)。例えば、システム制御部14は、上述した式4を用いて計算する。
 次いで、システム制御部14は、引数のジャンルIDに対応するジャンルの子ジャンルのうち1つを選択する(ステップS47)。ここで、選択した子ジャンルを、「選択子ジャンル」と称する。次いで、システム制御部14は、選択子ジャンルの指定確率が閾値β以上であるか否かを判定する(ステップS48)。このとき、システム制御部14は、指定確率が閾値β以上であると判定した場合には(ステップS48:YES)、選択子ジャンルの関連性スコアを、選択子ジャンルの指定回数に応じて決定する(ステップS49)。次いで、システム制御部14は、引数のキーワード情報、選択子ジャンルのジャンルID及び決定した関連性スコアを関連付けて、1つのレコードとして関連ジャンルリストに登録する(ステップS50)。
 次いで、システム制御部14は、選択子ジャンルについて、そのジャンルの子ジャンルが設定されているか否かを判定する(ステップS51)。具体的に、システム制御部14は、選択子ジャンルのジャンルIDに対応するジャンル情報に子ジャンルリストが設定されている場合には、子ジャンルが設定されていると判定し、子ジャンルリストが設定されていない場合には、子ジャンルが設定されていないと判定する。このとき、システム制御部14は、子ジャンルが設定されていると判定した場合には(ステップS51:YES)、関連ジャンル抽出処理の引数として、選択子ジャンルのジャンルID及び引数のキーワード情報を設定する(ステップS52)。次いで、システム制御部14は、関連ジャンル抽出処理を実行する(ステップS53)。
 システム制御部14は、ステップS48において選択子ジャンルの指定確率が閾値β以上ではないと判定した場合(ステップS48:NO)、ステップS51において子ジャンルが設定されていないと判定した場合(ステップS51:NO)、または、ステップS53の処理を終えた場合には、引数のジャンルIDに対応するジャンルの子ジャンルのうち、まだ選択していない子ジャンルがあるか否かを判定する(ステップS54)。このとき、システム制御部14は、まだ選択していない子ジャンルがあると判定した場合には(ステップS54:YES)、まだ選択していない子ジャンルのうち1つを選択する(ステップS55)。次いで、システム制御部14は、ステップS48に移行する。一方、システム制御部14は、全ての子ジャンルを選択したと判定した場合には(ステップS54:NO)、関連ジャンル抽出処理を終了させる。
 なお、システム制御部14は、引数のキーワード情報が検索条件として指定された回数が少ない場合、関連性が高いジャンルを抽出しなくてもよい。この場合、各ジャンルについて、引数のキーワード情報とともに検索条件として指定された回数が少なくなるため、引数のキーワード情報との関連性が高いと判定することは妥当とはいえないからである。
 図18は、本実施形態に係る電子商店街サーバ1のシステム制御部14の複数キーワード対応関連ジャンル抽出処理における処理例を示すフローチャートである。
 先ず、システム制御部14は、次に実行する関連ジャンル抽出処理の引数として、ジャンルトップのジャンルID、及び関連ジャンル抽出制御処理の引数のキーワード情報を設定する(ステップS501)。次いで、システム制御部14は、関連ジャンル抽出処理を実行する(ステップS502)。このときの関連ジャンル抽出処理では、引数のキーワード情報に設定されたのキーワードの組み合わせとの関連性が高いジャンルが、第3項で説明された方法で抽出される。
 次いで、システム制御部14は、第4項で説明された方法でジャンルを抽出するキーワードの順番を、引数のキーワード情報に設定された各キーワードの指定順で設定する(ステップS503)。次いで、システム制御部14は、設定抽出順対応関連ジャンル抽出処理を実行する(ステップS504)。設定抽出順対応関連ジャンル抽出処理では、引数のキーワード情報に設定されたキーワードの組み合わせとの関連性が高いジャンルが、第4項で説明された方法で抽出される。このとき、ステップS503で設定された抽出順で関連性が高いジャンルの抽出が行われる。なお、設定抽出順対応関連ジャンル抽出処理の詳細については後述する。
 次いで、システム制御部14は、設定抽出順対応関連ジャンル抽出処理により関連性が高いジャンルを抽出することができたか否かを判定する(ステップS505)。このとき、システム制御部14は、抽出することができなかったと判定した場合には(ステップS505:NO)、まだ試していない抽出順があるか否かを判定する(ステップS506)。このとき、システム制御部14は、まだ試していない抽出順があると判定した場合には(ステップS506:YES)、抽出順をまだ試していない抽出順の1つに変更する(ステップS507)。そして、システム制御部14は、設定抽出順対応関連ジャンル抽出処理を実行する(ステップS504)。
 一方、システム制御部14は、全ての抽出順を試したと判定した場合には(ステップS506:NO)、ステップS502の関連ジャンル抽出処理により関連性が高いジャンルが抽出されたか否かを判定する(ステップS508)。このとき、システム制御部14は、関連性が高いジャンルが抽出されたと判定した場合には(ステップS508:YES)、関連ジャンル抽出処理により抽出されたジャンルを、引数のキーワード情報に設定されたキーワードの組み合わせとの関連性が高いジャンルであると決定する(ステップS509)。システム制御部14は、この処理を終えると、複数キーワード対応関連ジャンル抽出処理を終了させる。一方、システム制御部14は、関連性が高いジャンルが抽出されなかったと判定した場合には(ステップS508:NO)、複数キーワード対応関連ジャンル抽出処理を終了させる。この場合、引数のキーワード情報に設定されたキーワードの組み合わせとの関連性が高いジャンルは存在しない。
 ステップS505において、システム制御部14は、設定抽出順対応関連ジャンル抽出処理により関連性が高いジャンルを抽出することができたと判定した場合には(ステップS505:YES)、抽出されたジャンルのレベル同士を比較する。具体的に、システム制御部14は、関連ジャンル抽出処理により抽出されたジャンルのレベルの値が、設定抽出順対応関連ジャンル抽出処理により抽出されたジャンルのレベルの値よりも大きいか否かを判定する(ステップS510)。つまり、システム制御部14は、第3項で説明された方法で抽出されたジャンルのレベルが第4項で説明された方法で抽出されたジャンルのレベルよりも大きいか否かを判定する。このとき、システム制御部14は、関連ジャンル抽出処理により抽出されたジャンルのレベルの値の方が大きいと判定した場合には(ステップS510:YES)、ステップS509に移行する。
 一方、システム制御部14は、関連ジャンル抽出処理により抽出されたジャンルのレベルの値が、設定抽出順対応関連ジャンル抽出処理により抽出されたジャンルのレベルの値よりも大きくはないと判定した場合には(ステップS510:NO)、設定抽出順対応関連ジャンル抽出処理により抽出されたジャンルについて、引数のキーワード情報に設定されたキーワードの組み合わせに対する関連性スコアを決定する(ステップS511)。例えば、システム制御部14は、設定抽出順対応関連ジャンル抽出処理において、各キーワードについて抽出したジャンルの関連性スコアを取得する。そして、システム制御部14は、取得した関連性スコアの平均値を、キーワードの組み合わせに対する関連性スコアとして算出する。
 次いで、システム制御部14は、設定抽出順対応関連ジャンル抽出処理により抽出されたジャンルを、引数のキーワード情報に設定されたキーワードの組み合わせとの関連性が高いジャンルであると決定する(ステップS512)。このとき、システム制御部14は、設定抽出順対応関連ジャンル抽出処理により関連ジャンルリストに登録されたレコードに、決定した関連性スコアを登録する。システム制御部14は、この処理を終えると、複数キーワード対応関連ジャンル抽出処理を終了させる。
 図19は、本実施形態に係る電子商店街サーバ1のシステム制御部14の設定抽出順対応関連ジャンル抽出処理における処理例を示すフローチャートである。
 先ず、システム制御部14は、ジャンルトップのジャンルIDが登録されたジャンルリスト0を生成する(ステップS601)。次いで、システム制御部14は、抽出順iに1を設定する(ステップS602)。ここで、ジャンルリストiは、抽出順がi番目のキーワードについて抽出されたジャンルのリストである。
 次いで、システム制御部14は、ジャンルのインデックスjに1を設定する(ステップS603)。次いで、システム制御部14は、次に実行する関連ジャンル抽出処理の引数として、ジャンルリストi-1のj番目に登録されているジャンルID、及び抽出順がi番目のキーワードを設定する(ステップS604)。次いで、システム制御部14は、関連ジャンル抽出処理を実行する(ステップS605)。このときの関連ジャンル抽出処理では、引数に設定されたジャンルIDが示すジャンルの子孫ジャンルの中から、i番目のキーワードとの関連性が高いジャンルが抽出される。次いで、システム制御部14は、インデックスjが、ジャンルリストi-1に登録されているジャンルIDの数の値より小さいか否かを判定する(ステップS606)。このとき、インデックスjがジャンルIDの数の値より小さいと判定した場合には(ステップS606:YES)、インデックスjに1を加算する(ステップS607)。そして、システム制御部14は、ステップS604に移行する。システム制御部14は、ステップS604~S607の処理を繰り返すことにより、ジャンルリストi-1にジャンルIDが登録されているジャンルの子孫ジャンルの中から、i番目のキーワードとの関連性が高いジャンルを抽出する。
 そして、システム制御部14は、インデックスjがジャンルの数の値以上であると判定した場合には(ステップS606:NO)、ステップS605の関連ジャンル抽出処理によりジャンルを抽出することができたか否かを判定する(ステップS608)。このとき、システム制御部14は、抽出することができなかったと判定した場合には(ステップS608:NO)、抽出結果として失敗を設定する(ステップS609)。システム制御部は、この処理を終えると、設定抽出順対応関連ジャンル抽出処理を終了させる。
 一方、システム制御部14は、抽出することができたと判定した場合には(ステップS608:YES)、抽出されたジャンルを関連性スコアの高い順に順位付けする。そして、システム制御部14は、順位が、予め設定された順位以上であるジャンルのジャンルIDが登録されたジャンルリストiを生成する(ステップS610)。
 次いで、システム制御部14は、抽出順iが、指定されたキーワードの数の値より小さいか否かを判定する(ステップS611)。このとき、抽出順iがキーワードの数の値より小さいと判定した場合には(ステップS611:YES)、抽出順iに1を加算する(ステップS612)。そして、システム制御部14は、ステップS603に移行する。システム制御部14は、ステップS603~S612の処理を繰り返すことにより、キーワード情報に設定されたキーワードの組み合わせとの関連性が高いジャンルを抽出する。
 そして、システム制御部14は、抽出順iがキーワードの数の値以上であると判定した場合には(ステップS611:NO)、関連ジャンルリストを生成する(ステップS613)。具体的に、システム制御部14は、ジャンルリストiに登録されたジャンルIDごとに、ジャンルID及び引数のキーワード情報を含むレコードを、関連ジャンルリストに登録する。次いで、システム制御部14は、抽出結果として成功を設定する(ステップS614)。システム制御部は、この処理を終えると、設定抽出順対応関連ジャンル抽出処理を終了させる。
 図20は、本実施形態に係る電子商店街サーバ1のシステム制御部14の検索クエリ受信時処理における処理例を示すフローチャートである。検索クエリ受信時処理は、電子商店街サーバ1が、電子商店街のトップページまたは検索結果ページを表示しているユーザ端末2から検索クエリを受信したときに開始される。
 先ず、システム制御部14は、ユーザにより指定された検索条件を満たす商品を検索する(ステップS71)。具体的に、システム制御部14は、検索クエリに検索キーワード情報が設定されている場合には、商品情報DB12bから、商品名及び商品説明の少なくとも一方に検索キーワード情報を含む商品情報を検索する。また、システム制御部14は、検索クエリにジャンルIDが設定されている場合には、商品情報DB12bから、このジャンルIDに対応するジャンルに属する商品の商品情報を、商品情報に含まれるジャンルIDに基づいて検索する。システム制御部14は、検索クエリに検索キーワード情報及びジャンルIDが設定されている場合には、商品名及び商品説明の少なくとも一方に検索キーワード情報を含む商品情報であり、且つ、このジャンルIDに対応するジャンルに属する商品の商品情報を検索する。
 次いで、システム制御部14は、クエリログを記録する(ステップS72)。具体的に、システム制御部14は、受信日時として現在日時を取得する。そして、システム制御部14は、受信日時と、検索クエリに設定されている検索キーワード情報及びジャンルIDを含むクエリログを生成する。このとき、システム制御部14は、検索を要求したユーザがログインしている場合には、性別、年齢及び都道府県をクエリログに含める。例えば、システム制御部14は、ユーザによる電子商店街へのログイン時に、ユーザ端末2からユーザIDを受信し、受信したユーザIDをクッキーとしてユーザ端末2に保存させている。そのため、ユーザがログインしている場合には、検索クエリに、ユーザIDを含むクッキーが付加されている。そこで、システム制御部14は、検索クエリに付加されているクッキーからユーザIDを取得する。そして、システム制御部14は、会員情報DB12aからユーザIDに対応する会員情報を取得する。そして、システム制御部14は、会員情報に基づいて、性別、年齢及び都道府県を特定する。システム制御部14は、生成したクエリログを、クエリログDB12fに登録する。
 次いで、システム制御部14は、検索クエリに検索キーワード情報が設定されているか否かを判定する(ステップS73)。このとき、システム制御部14は、検索キーワード情報が設定されていると判定した場合には(ステップS73:YES)、検索クエリに設定されている検索キーワード情報を、関連ジャンル抽出制御処理の引数として設定する(ステップS74)。そして、システム制御部14は、関連ジャンル抽出制御処理を実行する(ステップS75)。
 システム制御部14は、検索クエリに検索キーワード情報が設定されていないと判定した場合(ステップS73:NO)、または、ステップS75の処理を終えた場合には、記憶部12から、検索結果ページのHTML文書のテンプレートを取得する(ステップS76)。次いで、システム制御部14は、検索条件設定領域設定処理を実行する(ステップS77)。具体的に、システム制御部14は、検索クエリにジャンルIDが設定されている場合には、検索結果ページの検索ボタン213が選択されたときに、キーワード入力欄211に入力された1つ以上の検索キーワードとともにこのジャンルIDが送信されるよう、このジャンルIDを、取得したテンプレートに設定する。
 次いで、システム制御部14は、ジャンル指定領域設定処理を実行する(ステップS78)。ジャンル指定領域設定処理では、検索結果ページのジャンル指定領域220にジャンルリンク221を表示するためのデータが、取得したテンプレートに設定される。次いで、システム制御部14は、関連キーワード表示領域設定処理を実行する(ステップS79)。関連キーワード表示領域設定処理では、検索結果ページの関連キーワード表示領域230に関連キーワードリンク231を表示するためのデータが、取得したテンプレートに設定される。次いで、システム制御部14は、検索結果表示領域設定処理を実行する(ステップS80)。検索結果表示領域設定処理では、検索結果ページの検索結果表示領域240に、該当商品情報241を表示するためのデータが、取得したテンプレートに設定される。なお、ジャンル指定領域設定処理、関連キーワード表示領域設定処理及び検索結果表示領域設定処理の詳細については後述する。
 次いで、システム制御部14は、各情報の設定により完成した検索結果ページのHTML文書を、検索クエリの送信元のユーザ端末2へ送信する(ステップS81)。システム制御部14は、この処理を終えると、検索クエリ受信時処理を終了させる。
 図21は、本実施形態に係る電子商店街サーバ1のシステム制御部14のジャンル指定領域設定処理における処理例を示すフローチャートである。
 先ず、システム制御部14は、検索条件として1つ以上の検索キーワードが指定されているか否かを判定する(ステップS101)。つまり、システム制御部14は、検索クエリに検索キーワード情報が設定されているか否かを判定する。このとき、システム制御部14は、1つ以上の検索キーワードが指定されていないと判定した場合には(ステップS101:NO)、ジャンルリンク221を表示するための通常の処理を実行する(ステップS102)。具体的に、システム制御部14は、検索クエリにジャンルIDが設定されていない場合には、レベル1の各ジャンルについてジャンルリンク221用のデータを生成する。一方、システム制御部14は、検索クエリにジャンルIDが設定されている場合には、このジャンルIDに対応するジャンルの各子ジャンルについてジャンルリンク221用のデータを生成する。ジャンルリンク221用のデータを生成するとき、システム制御部14は、aタグのhref属性に商品検索用のURLを設定する。ここで、システム制御部14は、検索クエリの送信先を示すURLに、対応するジャンルのジャンルIDを付加して、商品検索用のURLを生成する。また、システム制御部14は、aタグの開始タグと終了タグとの間に、対応するジャンルのジャンル名を設定する。システム制御部14は、生成したジャンルリンク221用のデータを、取得したテンプレートにおいて、ジャンル指定領域220に対応する領域に追加設定する。システム制御部14は、この処理を終えると、ジャンル指定領域設定処理を終了させる。
 一方、システム制御部14は、1つ以上の検索キーワードが指定されていると判定した場合には(ステップS101:YES)、検索条件としてジャンルが指定されているか否かを判定する(ステップS103)。つまり、システム制御部14は、検索クエリにジャンルIDが設定されているか否かを判定する。ここで、検索クエリに設定されたジャンルIDに対応するジャンルを、「指定ジャンル」という。このとき、システム制御部14は、ジャンルが指定されていると判定した場合には(ステップS103:YES)、検索クエリに設定されているジャンルIDを取得する(ステップS104)。一方、システム制御部14は、ジャンルが指定されていないと判定した場合には(ステップS103:NO)、ジャンルトップのジャンルIDを取得する(ステップS105)。
 システム制御部14は、ステップS104またはS105の処理を終えると、取得したジャンルIDが示すジャンルの子孫ジャンルの中のうち、検索キーワード情報に設定された1つ以上の検索キーワードとの関連性が高いジャンルのレコードを、図20に示すステップS75の関連ジャンル抽出制御処理により出力された関連ジャンルリストから検索する(ステップS106)。具体的に、システム制御部14は、関連ジャンルリストに登録されている各レコードからジャンルIDを取得する。次いで、システム制御部14は、レコードから取得したジャンルIDと、ジャンル情報DB12cに登録されているジャンル情報とに基づいて、レコードから取得したジャンルIDが示すジャンルの中から、ステップS104またはS105において取得されたジャンルIDが示すジャンルの子孫ジャンルを特定する。そして、システム制御部14は、検索されたレコードの中から、特定されたジャンルのジャンルIDを含むレコードを抽出する。
 次いで、システム制御部14は、ステップS106の検索の結果、該当するレコードがあったか否かを判定する(ステップS107)。このとき、システム制御部14は、該当するレコードがなかったと判定した場合には(ステップS107:NO)、ステップS102に移行する。これは、ユーザにより指定された検索キーワード情報との関連性が高いジャンルがなかった場合である。
 一方、システム制御部14は、該当するレコードがあったと判定した場合には(ステップS107:YES)、検索したレコードのうち、そのレコードに含まれる関連性スコアが最も高いレコードを選択する(ステップS108)。次いで、システム制御部14は、選択したレコードに含まれるジャンルIDに対応するジャンルのジャンルリンク221用のデータを生成する(ステップS109)。この生成方法は、ステップS102において説明した方法と同様である。ただし、システム制御部14は、商品検索用のURLを生成するとき、検索クエリの送信先を示すURLに、対応するジャンルのジャンルIDと検索キーワード情報に含まれる1つ以上の検索キーワードとを付加して生成する。次いで、システム制御部14は、生成したジャンルのジャンルリンク221用のデータを、取得したテンプレートにおいて、ジャンル指定領域220に対応する領域に追加設定する(ステップS110)。
 次いで、システム制御部14は、検索したレコードのうちまだ選択していないレコードがあるか否かを判定する(ステップS111)。このとき、システム制御部14は、まだ選択していないレコードがあると判定した場合には(ステップS111:YES)、まだ選択していないレコードのうち、そのレコードに含まれる関連性スコアが最も高いレコードを1つ選択する(ステップS112)。次いで、システム制御部14は、ステップS109に移行する。システム制御部14は、ステップS109~S112の処理を繰り返すことにより、検索キーワード情報と関連性が高いジャンルのジャンルリンク221の表示順位を関連性スコアに基づいて決定する。つまり、システム制御部14は、関連性スコアが高いジャンルであるほどそのジャンルリンク221が優先的に表示されるようにする。そして、システム制御部14は、全てのレコードを選択したと判定した場合には(ステップS111:NO)、ジャンル指定領域設定処理を終了させる。
 図22は、本実施形態に係る電子商店街サーバ1のシステム制御部14の関連キーワード表示領域設定処理における処理例を示すフローチャートである。
 先ず、システム制御部14は、検索条件として1つ以上の検索キーワードが設定されているか否かを判定する(ステップS201)。このとき、システム制御部14は、1つ以上の検索キーワードが指定されていないと判定した場合には(ステップS201:NO)、関連キーワード表示領域設定処理を終了させる。一方、システム制御部14は、1つ以上の検索キーワードが指定されていると判定した場合には(ステップS201:YES)、検索条件としてジャンルが設定されているか否かを判定する(ステップS202)。
 このとき、システム制御部14は、ジャンルが指定されていないと判定した場合には(ステップS202:NO)、関連キーワードリンク231を表示するための通常の処理を実行する(ステップS203)。具体的に、システム制御部14は、関連キーワードDB12eから、検索クエリに設定された検索キーワード情報に対応する関連キーワード情報を検索する。次いで、システム制御部14は、検索した関連キーワード情報の関連キーワードリンク231用のデータを生成する。このとき、システム制御部14は、aタグのhref属性に商品検索用のURLを設定する。ここで、システム制御部14は、検索クエリの送信先を示すURLに、関連キーワード情報を付加して、商品検索用のURLを生成する。また、システム制御部14は、aタグの開始タグと終了タグとの間に、関連キーワード情報を設定する。システム制御部14は、生成した関連キーワードリンク231用のデータを、取得したテンプレートにおいて、関連キーワード表示領域230に対応する領域に追加設定する。システム制御部14は、この処理を終えると、関連キーワード表示領域設定処理を終了させる。
 一方、システム制御部14は、ジャンルが指定されていると判定した場合には(ステップS202:YES)、関連キーワードDB12eから、検索キーワード情報に対応する関連キーワード情報を検索する(ステップS204)。
 次いで、システム制御部14は、検索された関連キーワード情報を、関連ジャンル抽出制御処理の引数として設定する(ステップS205)。そして、システム制御部14は、検索された関連キーワード情報ごとに、関連ジャンル抽出制御処理を実行する(ステップS206)。これにより、ユーザにより指定された1つ以上の検索キーワードに関連する1つ以上のキーワードについて、関連性が高いジャンルが抽出される。
 次いで、システム制御部14は、ステップS206の関連ジャンル抽出制御処理により出力された関連ジャンルリストから、指定ジャンルのジャンルIDを含むレコードを検索する(ステップS207)。
 次いで、システム制御部14は、検索したレコードのうち、そのレコードに含まれる関連性スコアが最も高いレコードを選択する(ステップS208)。次いで、システム制御部14は、選択したレコードにキーワード情報として含まれる関連キーワード情報の関連キーワードリンク231用のデータを生成する(ステップS209)。この生成方法は、ステップS203において説明した方法と同様である。ただし、システム制御部14は、商品検索用のURLを生成するとき、検索クエリの送信先を示すURLに、関連キーワード情報と、指定ジャンルのジャンルIDとを付加して生成する。次いで、システム制御部14は、生成した関連キーワードリンク231用のデータを、取得したテンプレートにおいて、関連キーワード表示領域230に対応する領域に追加設定する(ステップS210)。
 次いで、システム制御部14は、関連キーワードリンク231を表示可能な上限数まで関連キーワードリンク231用のデータを追加したか否かを判定する(ステップS211)。このとき、システム制御部14は、上限数まで追加したと判定した場合には(ステップS211:YES)、関連キーワード表示領域設定処理を終了させる。一方、システム制御部14は、上限数まで追加していないと判定した場合には(ステップS211:NO)、検索したレコードのうちまだ選択していないレコードがあるか否かを判定する(ステップS212)。このとき、システム制御部14は、まだ選択していないレコードがあると判定した場合には(ステップS212:YES)、まだ選択していないレコードのうち、そのレコードに含まれる関連性スコアが最も高いレコードを1つ選択する(ステップS213)。次いで、システム制御部14は、ステップS209に移行する。システム制御部14は、ステップS209~S213の処理を繰り返すことにより、検索キーワード情報の関連キーワード情報であって、且つ、指定ジャンルとの関連性が高い関連キーワード情報の関連キーワードリンク231の表示順位を関連性スコアに基づいて決定する。つまり、システム制御部14は、関連性スコアが高い関連キーワード情報であるほどその関連キーワードリンク231が優先的に表示されるようにする。そして、システム制御部14は、全てのレコードを選択したと判定した場合には(ステップS212:NO)、関連キーワード表示領域設定処理を終了させる。
 図23は、本実施形態に係る電子商店街サーバ1のシステム制御部14の検索結果表示領域設定処理における処理例を示すフローチャートである。
 先ず、システム制御部14は、検索クエリ受信時処理のステップS71において検索された各商品のリスティングスコアを、例えば、商品評価プログラムのAPIを介して取得する(ステップS301)。次いで、システム制御部14は、検索条件として1つ以上の検索キーワードが指定されているか否かを判定する(ステップS302)。このとき、システム制御部14は、1つ以上の検索キーワードが指定されていると判定した場合には(ステップS302:YES)、検索された商品のうち1つを選択する(ステップS303)。ここで、選択された商品を、「選択商品」と称する。
 次いで、システム制御部14は、指定ジャンルの子ジャンルのうち、選択商品が属する子ジャンルのジャンルIDを取得する。選択商品が属するジャンルとは、選択商品の商品情報に含まれるジャンルIDに対応するジャンルと同一のジャンルであるか、または、選択商品の商品情報に含まれるジャンルIDに対応するジャンルを子孫ジャンルに有するジャンルである。次いで、システム制御部14は、図20に示すステップS75の関連ジャンル抽出制御処理により出力された関連ジャンルリストから、取得したジャンルIDを含むレコードを検索する(ステップS304)。次いで、システム制御部14は、検索の結果、該当するレコードがあったか否かを判定する(ステップS305)。このとき、システム制御部14は、該当するレコードがあったと判定した場合には(ステップS305:YES)、選択商品のリスティングスコアを引き上げる(ステップS306)。例えば、システム制御部14は、リスティングスコアに、予め設定された値を加算してもよいし、予め設定されたの係数を乗算してもよい。また、システム制御部14は、検索されたレコードに含まれる関連性スコアが高いほど、リスティングスコアの引き上げ幅を大きくしてもよい。
 システム制御部14は、ステップS305において該当するレコードがなかったと判定した場合(ステップS305:NO)、または、ステップS306の処理を終えた場合には、検索した商品のうちまだ選択していない商品があるか否かを判定する(ステップS307)。このとき、システム制御部14は、まだ選択していない商品があると判定した場合には(ステップS307:YES)、まだ選択していない商品のうち1つを選択する(ステップS308)。次いで、システム制御部14は、ステップS304に移行する。システム制御部14は、ステップS304~S308の処理を繰り返すことにより、検索した商品のうち、検索キーワード情報との関連性が高いジャンルの商品のリスティングスコアを引き上げる。
 システム制御部14は、ステップS302において1つ以上の検索キーワードが指定されていないと判定した場合(ステップS302:NO)、または、全ての商品を選択したと判定した場合には(ステップS307:NO)、検索した商品のうち、リスティングスコアが最も高い商品を選択する(ステップS309)。次いで、システム制御部14は、選択した商品の商品情報に基づいて、該当商品情報241用のデータを生成する。そして、システム制御部14は、生成したデータを、取得したテンプレートにおいて、検索結果表示領域240に対応する領域に追加設定する(ステップS310)。
 次いで、システム制御部14は、該当商品情報241を表示可能な上限数まで該当商品情報241用のデータを追加したか否かを判定する(ステップS311)。このとき、システム制御部14は、上限数まで追加したと判定した場合には(ステップS311:YES)、検索結果表示領域設定処理を終了させる。一方、システム制御部14は、上限数まで追加していないと判定した場合には(ステップS311:NO)、検索した商品のうちまだ選択していない商品があるか否かを判定する(ステップS312)。このとき、システム制御部14は、まだ選択していない商品があると判定した場合には(ステップS312:YES)、まだ選択していない商品のうち、リスティングスコアが最も高い商品を1つを選択する(ステップS313)。次いで、システム制御部14は、ステップS310に移行する。システム制御部14は、ステップS310~S313の処理を繰り返すことにより、リスティングスコアが高い商品であるほどその該当商品情報241が優先的に表示されるようにする。そして、システム制御部14は、全ての商品を選択したと判定した場合には(ステップS312:NO)、検索結果表示領設定処理を終了させる。
 電子商店街サーバ1から検索結果ページのHTML文書を受信したユーザ端末2は、このHTML文書に基づいて、検索結果ページを画面に表示する。このとき、ユーザ端末2のCPUは、ジャンルリンク221用のデータに基づいて、このデータの設定順にジャンルリンク221をジャンル指定領域220に表示する。また、ユーザ端末2のCPUは、関連キーワードリンク231用のデータに基づいて、このデータの設定順に関連キーワードリンク231を関連キーワード表示領域230に表示する。また、ユーザ端末2のCPUは、該当商品情報241用のデータに基づいて、このデータの設定順に該当商品情報241を検索結果表示領域240に表示する。
 図24は、本実施形態に係る電子商店街サーバ1のシステム制御部14の検索キーワード候補要求受信時処理における処理例を示すフローチャートである。ユーザ端末2により表示されている検索結果ページのキーワード入力欄211に対してユーザが入力操作を行う都度、ユーザ端末2は、検索キーワード候補要求を電子商店街サーバ1へ送信する。入力操作には、キーワード入力欄211への文字の追加、キーワード入力欄211からの文字の削除等の操作が含まれる。検索キーワード候補要求には、送信時点でキーワード入力欄211に入力されている文字列が設定される。また、直前ページにおいてジャンルが検索条件として指定された場合、検索キーワード候補要求には、そのジャンルのジャンルIDが設定される。検索キーワード候補要求受信時処理は、電子商店街サーバ1が、検索キーワード候補要求を受信したときに開始される。
 先ず、システム制御部14は、検索キーワード候補要求にジャンルIDが設定されているか否かを判定する(ステップS401)。このとき、システム制御部14は、ジャンルIDが設定されていないと判定した場合には(ステップS401:NO)、キーワードDB12dから、検索キーワード候補要求に設定されている文字列に前方一致するキーワード情報を検索する。そして、システム制御部14は、検索したキーワード情報のリストを、1つ以上の検索キーワードの候補としてユーザ端末2へ送信する(ステップS402)。システム制御部14は、この処理を終えると、検索キーワード候補要求受信時処理を終了させる。
 一方、システム制御部14は、ジャンルIDが設定されていると判定した場合には(ステップS401:YES)、キーワードDB12dから、検索キーワード候補要求に設定されている文字列に前方一致する検索キーワード情報を含むキーワード情報を検索する(ステップS403)。次いで、システム制御部14は、検索されたキーワード情報を、関連ジャンル抽出制御処理の引数として設定する(ステップS404)。そして、システム制御部14は、検索されたキーワード情報ごとに、関連ジャンル抽出制御処理を実行する(ステップS405)。これにより、ユーザにより入力された文字列を含む1つ以上のキーワードについて、関連性が高いジャンルが抽出される。
 次いで、システム制御部14は、ステップS405の関連ジャンル抽出制御処理により出力された関連ジャンルリストに登録されたレコードの中から、検索キーワード候補要求に設定されているジャンルIDを含むレコードを抽出する(ステップS406)。次いで、システム制御部14は、抽出したレコードを、そのレコードに含まれる関連性スコアが高い順に並べ替える。次いで、システム制御部14は、関連性スコアが高い順に、抽出したレコードからキーワード情報を取得する。このとき、システム制御部14は、最大でも検索キーワード候補表示領域214に表示可能なキーワードの上限数まで取得する。そして、システム制御部14は、レコードから取得したキーワード情報を、関連性スコアが高い順に示すリストを生成する。こうして、システム制御部14は、検索キーワード候補要求に設定されている文字列に前方一致するキーワード情報のうち、検索キーワード候補要求に設定されているジャンルIDに対応するジャンルと関連性が高いキーワード情報が優先的に表示されるように、検索キーワード候補表示領域214に表示されるキーワード情報を決定する。そして、システム制御部14は、生成したキーワード情報のリストをユーザ端末2へ送信する(ステップS407)。システム制御部14は、この処理を終えると、検索キーワード候補要求受信時処理を終了させる。
 ユーザ端末2は、電子商店街サーバ1からキーワード情報のリストを受信すると、検索結果ページに検索キーワード候補表示領域214を表示する。そして、ユーザ端末2のCPUは、受信したリストに登録されているキーワード情報を、登録順に検索キーワード候補表示領域214に表示するとともに、1つ以上の検索キーワードとして指定可能に表示する。
 以上説明したように、本実施形態によれば、システム制御部14が、商品の複数のジャンルの中から、抽出順が1番目のキーワードとともに検索条件として指定された回数が閾値以上であるジャンルを抽出する。次いで、システム制御部14は、抽出されたジャンルの中から、抽出順が2番目のキーワードとともに検索条件として指定された回数が閾値以上であるジャンルを、1番目のキーワードと2番目のキーワードとの組み合わせに関連するジャンルとして抽出する。従って、キーワードの組み合わせとの関連性が高いジャンルを抽出することができる。また、キーワードの組み合わせとの関連性が高いジャンルが抽出される蓋然性を高めることができる。
 なお、システム制御部14は、1番目のキーワードに対応する閾値(第1の閾値の一例)と、2番目のキーワードに対応する閾値(第2の閾値の一例)とを、別々に決定する。そのため、これらの閾値が互いに同一となることもあれば、これらの閾値が互いに異なることもある。
 また、システム制御部14が、キーワードの組み合わせとの関連性が高いジャンルを抽出するとき、検索キーワードの指定順と同じ抽出順で、各キーワードとの関連性が高いジャンルを抽出する。従って、最初の抽出で、キーワードの組み合わせに関連性が高いジャンルが抽出される蓋然性を高めることができる。
 また、システム制御部14が、抽出順が1番目のキーワードとの関連性が高いジャンル及び抽出順が2番目のキーワードとの関連性が高いジャンルの少なくとも何れか一方を抽出することができなかったことにより、検索キーワードの指定順と同じ抽出順ではキーワードの組み合わせとの関連性が高いジャンルを抽出できなかった場合、抽出順を変更して抽出を行う。従って、キーワードの組み合わせに関連性が高いジャンルが抽出される蓋然性を高めることができる。
 また、システム制御部14が、第3項で説明された方法により、抽出順が1番目のキーワードと及び2番目のキーワードとともに検索条件として指定された回数が閾値以上であるジャンルを抽出する。次いで、システム制御部14が、予め定められた判断基準に基づいて、第3項で説明された方法で抽出されたジャンルと、第4項で説明された方法で抽出されたジャンルと、の何れか一方を、キーワードの組み合わせに関連するジャンルとして決定する。従って、基準の設定により、キーワードの組み合わせに関連性が高いジャンルとしての信頼性が高いジャンルを抽出することができる。
 なお、システム制御部14は、第3項で説明された方法で抽出を行う場合の閾値(第3の閾値の一例)を、第4項で説明された方法で抽出を行う場合の閾値(第1の閾値及び第2の閾値の一例)とは別に決定する。そのため、これらの閾値が互いに同一となることもあれば、これらの閾値が互いに異なることもある。
 また、システム制御部14が、レベルが大きい方のジャンルを、キーワードの組み合わせに関連するジャンルとして決定する。従って、キーワードの組み合わせに関連性が高いジャンルとしての信頼性が高いジャンルを抽出することができる。
 また、システム制御部14が、兄弟関係にある複数のジャンル間での指定回数のばらつきの少なさを示すエントロピーが閾値以下である場合に、兄弟関係にある複数のジャンルの中から指定回数が閾値以上であるジャンルを抽出する。従って、兄弟関係にある複数のジャンルのうち指定回数が他のジャンルと比較して多いジャンルをキーワードとの関連性が高いジャンルとして抽出することができる。
 また、システム制御部14が、1つ以上の検索キーワードとの関連性が高いジャンルに対して、そのジャンルに属する複数の子ジャンルが設定されている場合、その複数の子ジャンルのそれぞれについてその1つ以上の検索キーワードとともに検索条件として指定された回数を取得し、取得された回数が閾値以上である子ジャンルを抽出する。従って、キーワードに関連性が高いジャンルを階層的に抽出することができる。
 また、システム制御部14が、兄弟関係にある複数のジャンルのうち、指定回数が兄弟関係にあるジャンルの数に応じて決定された閾値以上であるジャンルを、検索キーワードとの関連性が高いジャンルとして抽出する。従って、キーワードに関連性が高いジャンルを、兄弟関係にあるジャンルの数に応じて適切に抽出することができる。
 また、システム制御部14が、検索クエリをユーザ端末2から受信し、複数のジャンルのうち、検索クエリに含まれる1つ以上の検索キーワードとの関連性が高いジャンルのジャンルリンク221をジャンル指定領域220に表示するユーザ端末2によるジャンルの表示順位を、取得された回数に応じた関連性スコアに基づいて決定する。従って、検索条件として指定するジャンルをジャンル指定領域220からユーザが容易に探し出すことができる。
 また、システム制御部14が、キーワード入力欄211に入力されている文字列を、検索条件として指定されたジャンルのジャンルIDとともにユーザ端末2から受信し、受信された文字列を含む1つ以上のキーワードを検索キーワード候補表示領域214に表示するユーザ端末2により表示されるキーワードを決定するとき、受信されたジャンルIDが示すジャンルとの関連性が高い1つ以上のキーワードが優先的に表示されるように決定する。従って、検索キーワード候補表示領域214からユーザが検索キーワードを容易に指定することができる。
 また、システム制御部14が、検索クエリをユーザ端末2から受信し、検索クエリに含まれる1つ以上の検索キーワードに基づいて検索された商品のリスティングスコアを取得し、検索された商品のうち、検索クエリに含まれる1つ以上の検索キーワードとの関連性が高いジャンルに属する商品のリスティングスコアを、他の商品のリスティングスコアに対して相対的に上げる。従って、検索結果表示領域240から1つ以上のキーワードと関連性が高い商品の情報をユーザが容易に探し出すことができる。
 なお、電子商店街サーバ1は、関連性が高い1つ以上の検索キーワードとジャンルとの組を、検索条件を指定したユーザの属性ごとに抽出してもよい。これは、ユーザの属性によって、検索条件としての1つ以上の検索キーワードとジャンルとの組の指定の傾向が異なる場合があるからである。クエリログDB12fにユーザの属性が登録されるため、1つ以上の検索キーワードとジャンルの組の指定回数を、検索条件を指定したユーザの属性ごとに計算することが可能である。属性ごとに抽出する理由は、検索結果ページの表示内容をパーソナライズするためである。
 具体的に、システム制御部14は、例えば、図15に示す指定回数集計処理のステップS3において、クエリログから、検索キーワード情報、ジャンルID、性別、年齢及び都道府県の組を抽出する。このとき、システム制御部14は、性別、年齢及び都道府県が登録されていないクエリログからは、検索キーワード情報とジャンルIDのみを抽出する。そして、システム制御部14は、ステップS4~S17の処理を、上述した通りに実行する。つまり、システム制御部14は、先ず、ユーザの属性を考慮しないで、指定回数を集計する。
 次いで、システム制御部14は、ユーザの属性ごとに、ステップS4~S17と基本的には同様の処理を実行する。一例として、男女別に実行する場合について説明する。ステップS4において、システム制御部14は、クエリログDB12fから取得した組のうち、性別として男性が設定された組を抽出する。そして、システム制御部14は、クエリログDB12fから取得した組のうち抽出した組に基づいて、各ジャンルについて、検索キーワードとともに検索条件として指定された回数を計算する(ステップS4)。そして、システム制御部14は、キーワード・ジャンルリストへの登録を行う(ステップS5)。ステップS15において、システム制御部14は、指定回数情報DB12gに指定回数情報を登録するとき、男性を示す属性情報を含む指定回数情報を登録する。システム制御部14は、男性についての処理が終わると、女性についても同様に処理を行う。
 システム制御部14は、ユーザ端末2から検索クエリを受信したとき、検索を要求したユーザがログインしているか否かを判定する。これは、検索クエリにユーザIDを含むクッキーが付加されているかを確認することで判定可能である。システム制御部14は、ユーザがログインしていないと判定した場合には、図17に示す関連ジャンル抽出処理のステップS43において、属性情報を含まない指定回数情報に基づいて、指定確率を計算する。ユーザがログインしていない場合には、ユーザの属性を特定することができないからである。従って、システム制御部14は、ユーザの属性を考慮しないで処理を行う。一方、システム制御部14は、ユーザがログインしていると判定した場合には、ユーザの属性を特定する。そして、システム制御部14は、ユーザの属性を示す属性情報を含む指定回数情報に基づいて、指定確率を計算する。これにより、検索結果ページにおける表示内容を、閲覧するユーザの属性に適した内容にすることができる。なお、検索キーワード候補要求受信時処理においても同様に処理が行われる。
 また、上記実施形態において、電子商店街サーバ1は、検索条件として1つ以上の検索キーワードとジャンルとが指定された回数に基づいて、関連性が高い1つ以上の検索キーワードとジャンルとの組を抽出していた。しかしながら、電子商店街サーバ1は、検索条件として1つ以上の検索キーワードとジャンルとが指定された回数のうち、その検索条件で商品が検索されたことに基づいて検索された商品の購入された回数(注文が成立した回数)に基づいて、関連性が高い1つ以上の検索キーワードとジャンルとの組を抽出してもよい。この回数を「購入条件付指定回数」という。ユーザが検索条件を指定しただけの場合よりも、その検索条件で検索が行われることによって商品が購入された場合の方が、検索条件として指定された検索キーワードとジャンルとの関連性は高いと考えられるからである。
 そこで、記憶部12には、購入履歴DB12hが構築される。図25は、購入履歴DB12hに登録される内容の一例を示す図である。購入履歴DB12hには、ユーザによる商品の購入履歴が登録される。具体的に、購入履歴DB12hには、注文コード、購入日時、ユーザID、商品ID、店舗ID、商品コード、性別、年齢、都道府県、検索キーワード情報、検索ジャンルID等が、商品の購入ごとに対応付けて登録される。注文コードは、商品の注文が行われるたびに付与される注文の識別情報である。ユーザIDは、購入したユーザを示す。商品ID及び商品コードは、購入された商品を示す。店舗IDは、購入先の店舗を示す。性別、年齢及び都道府県は、購入したユーザの属性である。検索キーワード情報及び検索ジャンルIDは、検索条件として指定された1つ以上の検索キーワード及びジャンルのジャンルIDである。
 例えば、システム制御部14は、ユーザ端末2から検索クエリを受信したことに応じて、検索結果ページのHTML文書をユーザ端末2へ送信するとき、検索クエリに含まれる検索キーワード情報及びジャンルIDを含むクッキーを、ユーザ端末2へ送信する。これにより、システム制御部14は、検索条件として直近に指定された検索キーワード情報及びジャンルIDを、ユーザ端末2からクッキーとして受信することができる。ユーザが検索結果ページの検索結果表示領域240から何れかの該当商品情報241を選択することにより、ユーザ端末2の画面に商品ページが表示される。商品ページにおいてユーザが購入操作を行うことにより、ユーザ端末2は購入要求を電子商店街サーバ1へ送信する。システム制御部14は、購入要求を受信すると、購入履歴を登録する。このとき、システム制御部14は、購入日時として現在日時を取得する。また、システム制御部14は、ユーザの性別、年齢、都道府県を取得する。また、システム制御部14は、購入要求に付加されたクッキーから、検索キーワード情報及びジャンルIDを取得する。そして、システム制御部14は、取得したこれらの情報を含む購入履歴を購入履歴DB12hに登録する。
 システム制御部14は、例えば、図15に示す指定回数集計処理のステップS3においては、購入履歴DB12hに登録された購入履歴から、検索キーワード情報と検索ジャンルIDとの組を取得する。その後、システム制御部14は、ステップS4~S17を、上述した通りに実行する。このとき、システム制御部14は、指定回数の代わりに、購入条件付指定回数に基づいて処理を行えば良い。
 また、ユーザが検索結果ページのキーワード入力欄211に対してユーザが入力操作を行う都度、キーワード入力欄211に入力されている文字列に応じて、ジャンル指定領域220におけるジャンルリンク221の表示が動的に変化してもよい。具体的には、入力されている文字列を含む検索キーワードに関連するジャンルのジャンルリンク221が表示されるようにしてもよい。例えば、システム制御部14は、ユーザ端末2から検索キーワード候補要求を受信したとき、検索キーワード候補要求に設定されている文字列に前方一致する検索キーワード情報との関連性が高いジャンルを抽出する。システム制御部14は、抽出した各ジャンルについて、ジャンルリンク221用のデータを追加する。
 また、上記実施形態において、電子商店街サーバ1は、クエリログを記録しておき、クエリログに基づいて指定回数を計算していた。しかしながら、電子商店街サーバ1は、クエリログを記録せずに、別の方法で指定回数を計算してもよい。例えば、システム制御部14は、ユーザ端末2から検索キーワード情報及びジャンルIDを含む検索クエリを受信した場合、この検索キーワード情報及びジャンルIDが指定回数情報DB12gに登録されているか否かを判定する。このとき、システム制御部14は、登録されていないと判定した場合には、検索クエリに含まれる検索キーワード情報及びジャンルIDと、指定回数との組を、指定回数情報DB12gに登録する。このとき、システム制御部14は、指定回数を1とする。一方、システム制御部14は、登録されていると判定した場合には、指定回数情報DB12gにおいて、検索クエリに含まれる検索キーワード情報及びジャンルIDに対応する指定回数に1を加算する。
 また、上記実施形態においては、本発明の区分をジャンルに適用していた。しかしながら、本発明の区分を、例えば、カテゴリー、価格帯、地域等に適用してもよい。
 また、上記実施形態においては、検索対象として、商品を検索する場合に本発明を適用していた。しかしながら、本発明を、例えば、サービス、Webページ、画像、動画、音声、地図、ニュース、ブログ等の検索に適用してもよい。
1 電子商店街サーバ
2 ユーザ端末
11 通信部
12 記憶部
12a 会員情報DB
12b 商品情報DB
12c ジャンル情報DB
12d キーワードDB
12e 関連キーワードDB
12f クエリログDB
12g 指定回数情報DB
13 入出力インターフェース
14 システム制御部
14a CPU
14b ROM
14c RAM
15 システムバス
NW ネットワーク
S ショッピングシステム

Claims (10)

  1.  木構造で階層化された複数の区分の中から、第1のキーワードとともに検索条件として指定された回数が第1の閾値以上である前記区分を抽出する第1抽出手段と、
     前記第1抽出手段により抽出された前記区分の子孫に相当する前記区分の中から、第2のキーワードとともに検索条件として指定された回数が第2の閾値以上である前記区分を前記第1のキーワードと前記第2のキーワードとの組み合わせに関連する前記区分として抽出する第2抽出手段と、
     を備えることを特徴とする情報処理装置。
  2.  請求項1に記載の情報処理装置において、
     前記第1抽出手段と前記第2抽出手段との組は、前記組み合わせにおけるキーワードの指定順と同じ順番で前記区分を抽出することを特徴とする情報処理装置。
  3.  請求項2に記載の情報処理装置において、
     前記第1抽出手段及び前記第2抽出手段の少なくとも一方により前記組み合わせを抽出することができなかった場合、前記第1抽出手段と前記第2抽出手段との組は、前記区分を抽出するキーワードの順番を変更して前記区分を抽出することを特徴とする情報処理装置。
  4.  請求項1乃至3の何れか1項に記載の情報処理装置において、
     前記複数の区分のうち、前記第1のキーワード及び前記第2のキーワードとともに前記検索条件として指定された回数が第3の閾値以上である前記区分を抽出する第3抽出手段と、
     予め定められた基準に基づいて、前記第2抽出手段により抽出された前記区分と前記第3抽出手段により抽出された前記区分との何れか一方を、前記組み合わせに関連する前記区分として決定する決定手段と、
     を更に備えることを特徴とする情報処理装置。
  5.  請求項4に記載の情報処理装置において、
     前記決定手段は、前記第2抽出手段により抽出された前記区分と前記第3抽出手段により抽出された前記区分とのうち、前記木構造において位置が深い方の前記区分を前記組み合わせに関連する前記区分として決定することを特徴とする情報処理装置。
  6.  請求項1乃至5の何れか1項に記載の情報処理装置において、
     前記第1抽出手段及び前記第2抽出手段のそれぞれは、前記木構造において兄弟関係にある複数の前記区分間での前記キーワードとともに指定された回数のばらつきの大きさが、可変設定された大きさを超える場合に、前記兄弟関係にある複数の区分の中から前記回数が前記閾値以上である前記区分を抽出することを特徴とする情報処理装置。
  7.  請求項1乃至6の何れか1項に記載の情報処理装置において、
     前記第1抽出手段及び前記第2抽出手段のそれぞれは、前記木構造において兄弟関係にある複数の前記区分の中から、前記キーワードとともに指定された回数が前記兄弟関係にある前記区分の数に応じて決定された前記閾値以上である前記区分を抽出することを特徴とする情報処理装置。
  8.  コンピュータにより実行される情報処理方法であって、
     木構造で階層化された複数の区分の中から、第1のキーワードとともに検索条件として指定された回数が第1の閾値以上である前記区分を抽出する第1抽出ステップと、
     前記第1抽出ステップにより抽出された前記区分の子孫に相当する前記区分の中から、第2のキーワードとともに検索条件として指定された回数が第2の閾値以上である前記区分を前記第1のキーワードと前記第2のキーワードとの組み合わせに関連する前記区分として抽出する第2抽出ステップと、
     を含むことを特徴とする情報処理方法。
  9.  コンピュータを、
     木構造で階層化された複数の区分の中から、第1のキーワードとともに検索条件として指定された回数が第1の閾値以上である前記区分を抽出する第1抽出手段、及び、
     前記第1抽出手段により抽出された前記区分の子孫に相当する前記区分の中から、第2のキーワードとともに検索条件として指定された回数が第2の閾値以上である前記区分を前記第1のキーワードと前記第2のキーワードとの組み合わせに関連する前記区分として抽出する第2抽出手段、
     として機能させることを特徴とする情報処理プログラム。
  10.  コンピュータを、
     木構造で階層化された複数の区分の中から、第1のキーワードとともに検索条件として指定された回数が第1の閾値以上である前記区分を抽出する第1抽出手段、及び、
     前記第1抽出手段により抽出された前記区分の子孫に相当する前記区分の中から、第2のキーワードとともに検索条件として指定された回数が第2の閾値以上である前記区分を前記第1のキーワードと前記第2のキーワードとの組み合わせに関連する前記区分として抽出する第2抽出手段、
     として機能させる情報処理プログラムがコンピュータ読み取り可能に記録されていることを特徴とする記録媒体。
PCT/JP2013/064754 2012-05-30 2013-05-28 情報処理装置、情報処理方法、情報処理プログラム及び記録媒体 WO2013180121A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013537352A JP5386663B1 (ja) 2012-05-30 2013-05-28 情報処理装置、情報処理方法、情報処理プログラム及び記録媒体
US14/364,539 US9747342B2 (en) 2012-05-30 2013-05-28 Information processing apparatus, information processing method, information processing program, and recording medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2012122833 2012-05-30
JP2012-122833 2012-05-30

Publications (1)

Publication Number Publication Date
WO2013180121A1 true WO2013180121A1 (ja) 2013-12-05

Family

ID=49673313

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2013/064754 WO2013180121A1 (ja) 2012-05-30 2013-05-28 情報処理装置、情報処理方法、情報処理プログラム及び記録媒体

Country Status (3)

Country Link
US (1) US9747342B2 (ja)
JP (1) JP5386663B1 (ja)
WO (1) WO2013180121A1 (ja)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017182174A (ja) * 2016-03-28 2017-10-05 株式会社トヨタマップマスター 検索システム、検索方法、検索プログラム、記憶媒体
JP2018509714A (ja) * 2015-05-15 2018-04-05 ネイバー コーポレーションNAVER Corporation 検索語リスト提供装置、及びそれを利用した方法
WO2018070026A1 (ja) * 2016-10-13 2018-04-19 楽天株式会社 商品情報表示システム、商品情報表示方法、及びプログラム
JP2018200582A (ja) * 2017-05-26 2018-12-20 秀介 大友 検索システム
JP2020523714A (ja) * 2017-07-26 2020-08-06 北京三快在綫科技有限公司Beijing Sankuai Online Technology Co., Ltd 推奨情報の取得方法及び装置、電子機器
JP2020194368A (ja) * 2019-05-28 2020-12-03 ヤフー株式会社 抽出装置、抽出方法及び抽出プログラム
JP2021022199A (ja) * 2019-07-29 2021-02-18 LINE Pay株式会社 端末のデータの分類方法、端末、プログラム
JP2021068150A (ja) * 2019-10-23 2021-04-30 ヤフー株式会社 情報提供システム、情報提供方法、およびプログラム
CN115599890A (zh) * 2022-11-29 2023-01-13 深圳市人马互动科技有限公司(Cn) 产品推荐方法及相关装置
JP7358003B2 (ja) 2018-06-26 2023-10-10 インターナショナル・ビジネス・マシーンズ・コーポレーション 複数のクエリ解釈に基づくファセットベースのクエリ絞り込み

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9304657B2 (en) * 2013-12-31 2016-04-05 Abbyy Development Llc Audio tagging
WO2015190138A1 (ja) * 2014-06-11 2015-12-17 ソニー株式会社 表示制御装置、表示制御方法、およびプログラム
US20160048781A1 (en) * 2014-08-13 2016-02-18 Bank Of America Corporation Cross Dataset Keyword Rating System
WO2016082092A1 (en) * 2014-11-25 2016-06-02 Yahoo! Inc. Method and system for analyzing user agent string
US10025847B2 (en) 2014-11-25 2018-07-17 Oath Inc. Method and system for providing a user agent string database
US9824385B2 (en) * 2014-12-29 2017-11-21 Ebay Inc. Method for performing sequence labelling on queries
US20170169007A1 (en) * 2015-12-15 2017-06-15 Quixey, Inc. Graphical User Interface for Generating Structured Search Queries
US20170357698A1 (en) * 2016-06-13 2017-12-14 Amazon Technologies, Inc. Navigating an electronic item database via user intention
CN116542251B (zh) * 2023-07-06 2023-12-01 广州宏途数字科技有限公司 一种基于智慧校园的网络监管方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000194722A (ja) * 1998-12-24 2000-07-14 Nec Corp 情報検索装置及びその方法ならびに情報検索プログラムを格納した記憶媒体
JP2002251413A (ja) * 2001-02-22 2002-09-06 Kddi Corp ディレクトリ型検索エンジンのデータ構成方法
JP2006092214A (ja) * 2004-09-22 2006-04-06 Fuji Xerox Co Ltd 文書情報の分類構造の編集を支援するためのプログラム、情報分類構造編集支援方法及び情報分類構造編集支援装置
JP2011141865A (ja) * 2009-12-11 2011-07-21 Canon Software Inc 検索条件設定装置及びその制御方法、検索条件設定システム、プログラム、プログラムを記録した記録媒体

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050222987A1 (en) * 2004-04-02 2005-10-06 Vadon Eric R Automated detection of associations between search criteria and item categories based on collective analysis of user activity data
US20080243777A1 (en) * 2007-03-29 2008-10-02 Osamuyimen Thompson Stewart Systems and methods for results list navigation using semantic componential-gradient processing techniques
US8364664B2 (en) * 2008-05-12 2013-01-29 Enpulz, L.L.C. Web browser accessible search engine that identifies search result maxima through user search flow and result content comparison
US8577879B1 (en) * 2009-10-29 2013-11-05 Amazon Technologies, Inc. Navigational aids within item search results
US8515980B2 (en) * 2010-07-16 2013-08-20 Ebay Inc. Method and system for ranking search results based on categories
CN102411591A (zh) * 2010-09-21 2012-04-11 阿里巴巴集团控股有限公司 一种信息处理的方法及设备
US8996495B2 (en) * 2011-02-15 2015-03-31 Ebay Inc. Method and system for ranking search results based on category demand normalized using impressions

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000194722A (ja) * 1998-12-24 2000-07-14 Nec Corp 情報検索装置及びその方法ならびに情報検索プログラムを格納した記憶媒体
JP2002251413A (ja) * 2001-02-22 2002-09-06 Kddi Corp ディレクトリ型検索エンジンのデータ構成方法
JP2006092214A (ja) * 2004-09-22 2006-04-06 Fuji Xerox Co Ltd 文書情報の分類構造の編集を支援するためのプログラム、情報分類構造編集支援方法及び情報分類構造編集支援装置
JP2011141865A (ja) * 2009-12-11 2011-07-21 Canon Software Inc 検索条件設定装置及びその制御方法、検索条件設定システム、プログラム、プログラムを記録した記録媒体

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018509714A (ja) * 2015-05-15 2018-04-05 ネイバー コーポレーションNAVER Corporation 検索語リスト提供装置、及びそれを利用した方法
JP2017182174A (ja) * 2016-03-28 2017-10-05 株式会社トヨタマップマスター 検索システム、検索方法、検索プログラム、記憶媒体
WO2018070026A1 (ja) * 2016-10-13 2018-04-19 楽天株式会社 商品情報表示システム、商品情報表示方法、及びプログラム
JPWO2018070026A1 (ja) * 2016-10-13 2019-04-18 楽天株式会社 商品情報表示システム、商品情報表示方法、及びプログラム
JP2018200582A (ja) * 2017-05-26 2018-12-20 秀介 大友 検索システム
JP7065122B2 (ja) 2017-07-26 2022-05-11 北京三快在線科技有限公司 推奨情報の取得方法及び装置、電子機器
JP2020523714A (ja) * 2017-07-26 2020-08-06 北京三快在綫科技有限公司Beijing Sankuai Online Technology Co., Ltd 推奨情報の取得方法及び装置、電子機器
JP7358003B2 (ja) 2018-06-26 2023-10-10 インターナショナル・ビジネス・マシーンズ・コーポレーション 複数のクエリ解釈に基づくファセットベースのクエリ絞り込み
JP2020194368A (ja) * 2019-05-28 2020-12-03 ヤフー株式会社 抽出装置、抽出方法及び抽出プログラム
JP2021022199A (ja) * 2019-07-29 2021-02-18 LINE Pay株式会社 端末のデータの分類方法、端末、プログラム
JP2021068150A (ja) * 2019-10-23 2021-04-30 ヤフー株式会社 情報提供システム、情報提供方法、およびプログラム
CN115599890A (zh) * 2022-11-29 2023-01-13 深圳市人马互动科技有限公司(Cn) 产品推荐方法及相关装置
CN115599890B (zh) * 2022-11-29 2023-03-21 深圳市人马互动科技有限公司 产品推荐方法及相关装置

Also Published As

Publication number Publication date
JP5386663B1 (ja) 2014-01-15
US9747342B2 (en) 2017-08-29
US20140337351A1 (en) 2014-11-13
JPWO2013180121A1 (ja) 2016-01-21

Similar Documents

Publication Publication Date Title
JP5386663B1 (ja) 情報処理装置、情報処理方法、情報処理プログラム及び記録媒体
EP2767909A1 (en) Information processing device, information processing method, information processing program, and recording medium
EP2711887A1 (en) Information processing device, information processing method, information processing program, and recording medium
AU2012274726B2 (en) Information Processing Apparatus, Information Processing Method, Information Processing Program, Recording the Medium having Stored therein Information Processing Program
US9697282B2 (en) Search apparatus, search method, search program, and recording medium
JP5492160B2 (ja) 関連付け装置、関連付け方法及び関連付けプログラム
JP5711440B1 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
JP5668010B2 (ja) 情報推薦方法、装置及びプログラム
US20150160847A1 (en) System and method for searching through a graphic user interface
TWI503768B (zh) Information processing devices, information processing methods and information processing products
JP6018338B1 (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
JP2018037076A (ja) Snsポータルシステム
CN111310046A (zh) 对象推荐方法及装置
JP2013140444A (ja) 情報処理装置、情報処理方法、情報処理プログラム、及び記録媒体
CN102314422A (zh) 一种基于用户兴趣优选开放式互动版块的方法与设备
KR101990502B1 (ko) 범용화된 정보 추출 방법 및 이를 적용한 디바이스
JP5315485B1 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
KR101596370B1 (ko) 사용자 검색어 기반 광고 전송 방법 및 시스템
JP7090123B2 (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
JP7318071B1 (ja) 情報処理装置、情報処理方法、および情報処理プログラム
JP6896557B2 (ja) 情報処理装置、情報処理方法、及び情報処理プログラム

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2013537352

Country of ref document: JP

Kind code of ref document: A

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

Ref document number: 13798205

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 14364539

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13798205

Country of ref document: EP

Kind code of ref document: A1