WO2013099002A1 - 検索装置、検索方法、検索プログラム及び記録媒体 - Google Patents

検索装置、検索方法、検索プログラム及び記録媒体 Download PDF

Info

Publication number
WO2013099002A1
WO2013099002A1 PCT/JP2011/080436 JP2011080436W WO2013099002A1 WO 2013099002 A1 WO2013099002 A1 WO 2013099002A1 JP 2011080436 W JP2011080436 W JP 2011080436W WO 2013099002 A1 WO2013099002 A1 WO 2013099002A1
Authority
WO
WIPO (PCT)
Prior art keywords
search
searched
child
keywords
conditions
Prior art date
Application number
PCT/JP2011/080436
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 CN201180075920.4A priority Critical patent/CN104011713A/zh
Priority to KR1020147017476A priority patent/KR101595200B1/ko
Priority to JP2013551136A priority patent/JP5681818B2/ja
Priority to US14/368,733 priority patent/US20150161208A1/en
Priority to PCT/JP2011/080436 priority patent/WO2013099002A1/ja
Priority to AU2011384439A priority patent/AU2011384439B2/en
Priority to EP11878466.9A priority patent/EP2784694A4/en
Publication of WO2013099002A1 publication Critical patent/WO2013099002A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/93Document management systems
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • 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

Definitions

  • the present invention relates to a technical field of a search device and a search method for performing a search based on a plurality of keywords specified as search conditions.
  • search device that performs a search based on a keyword specified by a user.
  • search targets include products, services, web pages, and other information.
  • the search device When the user specifies a plurality of keywords, the search device generally searches for a search target that matches all the specified keywords. Therefore, the number of search targets to be searched tends to decrease when a plurality of keywords are specified, compared to when only one keyword is specified. Therefore, when the user specifies a plurality of keywords, there may be a case where a sufficient number of search results desired by the user cannot be obtained.
  • Patent Literature 1 discloses a technique for extracting a keyword from a sentence input by a user, deleting a keyword that imposes an unnecessarily severe condition from the extracted keywords, and setting a conditional expression for search. It is disclosed. Patent Document 1 discloses a technique for setting a conditional expression by adding a new keyword that replaces a deleted keyword.
  • the search conditions used for the search are different from the original search conditions. Therefore, a search target that is not desired by the user may be searched. Further, even if a new keyword is added instead of the excluded keyword, the new keyword and the excluded keyword are not the same. Therefore, also in this case, a search target that is not desired by the user may be searched.
  • the present invention has been made in view of the above points, and even when a search target that matches all of a plurality of keywords specified as a search condition does not exist satisfactorily, without changing the search condition, It is an object of the present invention to provide a search device, a search method, a search program, and a recording medium that can obtain a search result desired by a user.
  • dividing means for dividing a plurality of keywords specified as search conditions into two child search conditions each including at least one keyword
  • the child search Search means for searching for a search object that matches all of the keywords included in the child search condition for each condition, a search object searched by one of the child search conditions, and a search object by the other of the child search conditions
  • Extraction means for extracting a combination of search objects having a predetermined relationship with each other from a combination with any one of the search objects.
  • the extracted combinations are combinations of search targets that are related to each other. Therefore, even if a search target that matches all of the plurality of keywords specified as the search condition does not exist satisfactorily, the search result desired by the user can be obtained without changing the search condition.
  • an aspect in which a plurality of keywords specified as search conditions are divided into three or more child search conditions also belongs to the technical scope of the present invention.
  • five keywords a, b, c, d, and e are designated.
  • the five keywords are divided into, for example, a child search condition including a and b, a child search condition including c and d, and a child search condition including e.
  • a, b, c, and d which are parts of five keywords, are also a plurality of keywords specified as search conditions.
  • a plurality of keywords a, b, c, and d are divided into two child search conditions. That is, the process of dividing a plurality of keywords into three or more child search conditions includes the process of dividing the plurality of keywords into two child search conditions.
  • the dividing unit searches the number of search targets that match all of the plurality of keywords.
  • the plurality of keywords are divided.
  • the dividing means is a second number in which the number of search targets searched according to one of the child search conditions is preset. If it is less than one, one of the child search conditions is divided into two grandchild search conditions, and the search means searches for a search object that matches all of the keywords included in the grandchild search condition for each grandchild search condition.
  • the extraction means includes any one of the search objects searched by one of the grandchild search conditions, any of the search objects searched by the other of the grandchild search conditions, and a search searched by the other of the child search conditions.
  • a combination of search targets having the relation to each other is extracted from a combination with any one of the targets.
  • one of the child search conditions is divided into two grandchild search conditions, and each grandchild Search is performed with the search condition. Since the grandchild search condition has fewer keywords than one of the child search conditions, the search target is searched by using the grandchild search condition rather than by using the child search condition. The probability is high. Therefore, the search result desired by the user can be more easily obtained.
  • the aspect of dividing the child search condition into three or more grandchild search conditions is also the same as the case of dividing a plurality of keywords specified as search conditions into three or more child search conditions. Belong to the scope.
  • the dividing means is a second number in which the number of search targets searched according to one of the child search conditions is preset.
  • the child search condition is divided into two grandchild search conditions, and the other grandchild search condition is integrated into the other child search condition.
  • a search target that matches all of the keywords included in one and a search target that matches all of the keywords included in the other of the child search conditions are searched, respectively, and the extraction means is configured to search according to one of the grandchild search conditions.
  • a combination of search targets having the relation to each other is extracted from a combination of any of the search targets searched and any of the search targets searched by the other of the child search conditions.
  • one of the child search conditions is divided into two grandchild search conditions, and the other of the grandchild search conditions Is integrated into the other child search condition. Since the grandchild search condition has fewer keywords than one of the child search conditions, the search target is searched by using the grandchild search condition rather than by using the child search condition. The probability is high. Therefore, the search result desired by the user can be more easily obtained without increasing the number of search targets included in the extracted combination.
  • the dividing means is a keyword having the smallest number of search targets to be searched among the plurality of keywords. Is included in the other of the child search conditions, and a keyword not included in the other of the child search conditions is included in one of the child search conditions.
  • the one obtained by removing one keyword from the designated search condition becomes one of the child search conditions.
  • keywords that are excluded from one of the child search conditions are keywords that have the smallest number of search targets to be searched. Therefore, one of the child search conditions can be brought as close as possible to the designated search condition, and the probability that the search target can be searched by one of the child search conditions can be increased.
  • the dividing means uses the plurality of keywords designated for searching for a facility to search for the facility.
  • the first child search condition used is divided into the second child search condition not used for facility search, and the search means matches all the keywords included in the first child search condition.
  • a facility and an area that matches all the keywords included in the second child search condition are searched for, respectively, and the extracting means includes any one of the facilities searched by the first child search condition, and the first A combination of the facility and the area having the relation with each other is extracted from a combination with any one of the areas searched by the second child search condition.
  • the dividing means is a keyword related to a provision target provided by a facility.
  • a keyword determined to be related to the provision target is included in the first child search condition, and a keyword not determined to be related to the provision target is included in the second child search condition. It is characterized by.
  • the extraction unit is configured such that the location of any facility searched according to the first child search condition is the second location.
  • the facility and the region are extracted as a combination of the facility and the region having the relation to each other when the region is within a predetermined range for any region searched by the child search condition
  • the user can obtain a combination that allows the user to easily go to both the facility and the area at the same time. Can do.
  • the invention according to claim 9 is the search device according to any one of claims 6 to 8, wherein the number of regions searched by the second child search condition is less than a preset third number.
  • the information processing apparatus further includes changing means for making the area of the area to be searched wider than when the area less than the third number is searched, and the searching means uses the changing means to increase the area.
  • search for an area that matches all of the keywords included in the second child search condition and the extraction unit is configured to search for any of the facilities searched according to the first child search condition.
  • the area to be searched becomes wider, so that all the keywords included in the second child search condition are included.
  • the probability that a matching area is searched increases. Therefore, the search result desired by the user can be more easily obtained.
  • the invention according to claim 10 is a search method executed by a search device, wherein a plurality of keywords specified as search conditions are divided into two child search conditions each including at least one keyword; A search step for searching for a search object that matches all of the keywords included in the child search condition for each of the child search conditions, one of the search objects searched by one of the child search conditions, and the child search condition An extraction step of extracting a combination of search targets having a predetermined relationship with each other from a combination with any of the search targets searched by the other.
  • a dividing unit for dividing a plurality of keywords specified as search conditions into two child search conditions each including at least one keyword, and the child search condition for a computer included in the search device
  • Search means for searching for a search object that matches all of the keywords included in the child search condition, and any one of the search objects searched by one of the child search conditions and the other of the child search conditions. It is characterized by functioning as an extraction means for extracting a combination of search targets having a predetermined relationship with each other from a combination with any one of the search targets.
  • the computer included in the search device divides a plurality of keywords specified as search conditions into two child search conditions each including at least one keyword, and the child search conditions
  • a search program is recorded so as to be readable by a computer, and functions as an extraction unit that extracts a combination of search targets having a predetermined relationship with each other from a combination with any of the search targets. It is characterized by that.
  • a search object that matches the specified keyword exists among the plurality of search objects that constitute the extracted combination.
  • the extracted combinations are combinations of search targets that are related to each other. Therefore, even if a search target that matches all of the plurality of keywords specified as the search condition does not exist satisfactorily, the search result desired by the user can be obtained without changing the search condition.
  • FIG. 1 It is a figure which shows an example of schematic structure of information provision system S1 which concerns on one Embodiment.
  • A is a figure which shows the example of a search of the combination of an accommodation establishment and an area
  • (b) is a figure which shows the example of a change with an accommodation establishment search condition and an area search condition. It is a figure which shows the example of a display of a search result page. It is a block diagram showing an example of the outline composition of accommodation facility reservation server 1 concerning one embodiment.
  • (A) is a figure which shows an example of the content registered into member information DB12a
  • (b) is a figure which shows an example of the content registered into accommodation facility information DB12b
  • (c) is area information It is a figure which shows an example of the content registered into DB12c
  • (d) is a figure which shows an example of the content registered into spot information DB12d
  • (e) is the content registered into accommodation facility keyword information DB12e. It is a figure which shows an example. It is a flowchart which shows the process example in the search process of the system control part 14 of the accommodation establishment reservation server 1 which concerns on one Embodiment.
  • FIG. 1 is a diagram illustrating an example of a schematic configuration of an information providing system S1 according to the present embodiment.
  • the information providing system S ⁇ b> 1 includes an accommodation facility reservation server 1, a plurality of accommodation facility terminals 2, and a plurality of user terminals 3.
  • the accommodation facility reservation server 1, each accommodation facility terminal 2, and each user terminal 3 can transmit and receive data to and from 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 accommodation facility reservation server 1 is a server device that executes various processes related to the accommodation facility reservation site.
  • the accommodation facility reservation server 1 is an example of a search device according to the present invention.
  • the accommodation facility reservation site is a Web site that accepts reservations for accommodation in accommodation facilities.
  • the accommodation facility reservation site is entrusted with accepting reservations from a plurality of accommodation facilities.
  • the accommodation facility reservation server 1 transmits, for example, a web page of an accommodation facility reservation site, or performs processing related to a search for an accommodation facility, a reservation for accommodation, and the like.
  • the accommodation facility is an example of a search target in the present invention.
  • the accommodation facility terminal 2 is a terminal device used by an employee of an accommodation facility entrusted to the accommodation facility reservation site.
  • the accommodation facility terminal 2 accesses a server device such as the accommodation facility reservation server 1 based on an operation from an employee or the like. Thereby, the accommodation facility terminal 2 receives and displays the Web page from the server device.
  • the accommodation facility terminal 2 incorporates software such as a browser and an e-mail client.
  • the employee registers, for example, information on the accommodation facility in the accommodation facility reservation site or confirms the reservation status of the accommodation facility.
  • the user terminal 3 is a terminal device of a user who uses the accommodation facility reservation site.
  • the user terminal 3 receives the Web page from the accommodation facility reservation server 1 and displays it by accessing the accommodation facility reservation server 1 based on an operation from the user.
  • Software such as a browser and an e-mail client is incorporated in the user terminal 3.
  • the user can specify a search condition in order to search for an accommodation facility used by the user on the accommodation facility reservation site.
  • a keyword can be specified as a search condition.
  • the user inputs, as a keyword, a word that briefly represents the accommodation facility condition desired by the user.
  • the accommodation facility reservation server 1 searches for an accommodation facility that satisfies the search condition. Specifically, the accommodation facility reservation server 1 searches for an accommodation facility that includes the specified keyword in the accommodation facility name or the detailed information of the accommodation facility. Then, the accommodation facility reservation server 1 transmits the search result page to the user terminal 3.
  • the search result page is a Web page that displays a list of searched accommodation facilities. For example, on the search result page, an accommodation facility name, an image of the accommodation facility, a brief description of the accommodation facility, information on an accommodation plan, and the like are displayed for each accommodation facility.
  • the accommodation plan is, for example, an accommodation service planned by an accommodation facility.
  • a plurality of accommodation plan information may be displayed for each accommodation facility.
  • a hyperlink hereinafter referred to as “link” to the accommodation facility page of the searched accommodation facility is embedded in the search result page.
  • the accommodation facility page is a Web page on which information related to one accommodation facility is displayed. There are multiple types of accommodation facility pages for each accommodation facility.
  • a top page of accommodation facilities a web page on which detailed information on accommodation facilities is displayed, a web page on which a list of accommodation plans is displayed, and the like.
  • the user can make a reservation for an accommodation facility by performing a reservation operation on the accommodation facility page.
  • a user may have a plurality of conditions required for an accommodation facility to be searched.
  • conditions include services that the user wants to receive from the accommodation facility, facilities that the user wants to use, and things that the user wants to do.
  • the service and the facility are examples of provision targets provided to the user.
  • services, facilities, places, etc. that realize what the user wants to do are examples of the objects to be provided in the present invention.
  • search conditions When the user inputs a keyword related to the condition for each requested condition, a plurality of keywords are designated as search conditions.
  • the accommodation facility reservation server 1 searches for accommodation facilities that match all of the specified keywords. Therefore, as the number of designated keywords increases, the number of accommodation facilities that match all keywords decreases, or the probability that there are accommodation facilities that match all keywords decreases. Then, the user cannot obtain a sufficient number of search results desired by the user.
  • the user can request the accommodation facility reservation server 1 to perform a search again by reducing the number of keywords to be specified. That is, the user respecifies the search condition by excluding some keywords from the plurality of keywords specified first. Alternatively, it may be considered that the accommodation facility reservation server 1 automatically reduces the keyword and performs a search again. However, in this case, the search condition specified first and the newly specified search condition are not the same. Therefore, the search result desired by the user may not be obtained. This is because there is a high probability that the accommodation facilities searched under the new search condition do not include an accommodation facility that satisfies all the conditions that the user first desires.
  • the accommodation facility reservation server 1 searches for a combination that matches all of the plurality of keywords specified by the user when combining the accommodation facility and the area. Then, the accommodation facility reservation server 1 causes the user terminal 3 to present the searched combination as a search result to the user.
  • the accommodation facility reservation server 1 divides a plurality of keywords specified as search conditions into two search conditions each including at least one keyword.
  • One of the two search conditions is an accommodation facility search condition.
  • the accommodation facility search condition is a search condition used for searching for an accommodation facility.
  • the accommodation facility search condition is an example of a first child search condition in the present invention.
  • the other of the two search conditions is a region search condition.
  • the area search condition is a search condition that is not used for searching for accommodation facilities. Instead, the region search condition is used for region search.
  • the region search condition is an example of a second child search condition in the present invention.
  • the accommodation facility reservation server 1 searches for an accommodation facility that satisfies the accommodation facility search condition and also searches for an area that satisfies the region search condition.
  • the accommodation facility reservation server 1 extracts a combination of a related accommodation facility and a region from a combination of any of the searched accommodation facilities and any of the searched regions.
  • the accommodation facility reservation server 1 determines that the facility and the region are related when the place where the facility is located is within a range predetermined for the region.
  • a region is an example of a search target in the present invention.
  • the accommodation facility may not be able to provide the object. This is because the user can satisfy the user's request by going to the spot when using the accommodation facility.
  • Each region has a spot that may meet the user's requirements. Therefore, a combination of an accommodation facility and a region where the accommodation facility satisfies the accommodation facility search condition including a part of the keywords specified by the user and the region satisfies the region search condition including the remaining keywords. As a whole, the user's requirements are satisfied.
  • the accommodation facility reservation server 1 first searches for accommodation facilities that match all of the plurality of keywords specified by the user. And the accommodation establishment reservation server 1 searches the combination of an accommodation establishment and an area, when the number of searched accommodation establishments is less than a threshold value. This is because there is no need to search for a combination of an accommodation facility and a region if there are a certain number of accommodation facilities that satisfy all user requirements. As a result, the accommodation facility reservation server 1 can avoid unnecessary search processing. Further, it is more convenient for the user to satisfy the user's request with one accommodation facility than to satisfy the user's request with a combination of the accommodation facility and the area. This is because the user does not have to go to various places to satisfy his / her request.
  • the threshold used at this time is T1. T1 is an example of the first number in the present invention.
  • FIG. 2 (a) is a diagram showing a search example of a combination of an accommodation facility and a region.
  • the accommodation facility reservation server 1 divides a plurality of keywords specified by the user into an accommodation facility search condition and a region search condition.
  • the criteria for division is, for example, whether or not the keyword is related to an object that can be provided by the accommodation facility. That is, the accommodation facility reservation server 1 classifies each of the plurality of keywords as either a keyword related to a target provided by the accommodation facility or a keyword related to a target not provided by the accommodation facility.
  • the user wants to use an open-air bath and a bedrock bath, and wants to enjoy mountain climbing, diving and fireworks. Further, it is assumed that the user wants to eat rice cake and wants to have a meal with all-you-can-drink drinks. Therefore, for example, as shown in FIG. 2A, the user designates “open-air bath, mountaineering, all-you-can-drink, diving, fireworks, bedrock bath” as a plurality of keywords. Each word separated by a space is a keyword.
  • the plurality of keywords are divided into accommodation facility search conditions including “open-air bath ⁇ all-you-can-drink bedrock bath” and accommodation facility search conditions including “mountain diving fireworks”.
  • the target indicated by each keyword in “Open-air bath, all-you-can-drink, bedrock bath” is a target that can be provided by the accommodation facility.
  • the target represented by each keyword in “climbing diving fireworks” is generally a target that is not provided at the accommodation facility.
  • the accommodation facility reservation server 1 searches for an accommodation facility that matches all the keywords included in the accommodation facility search condition, and searches for an area that matches all the keywords included in the region search condition.
  • a set having the searched accommodation facilities as elements is referred to as a “corresponding accommodation facility set”.
  • a set having the searched areas as elements is referred to as a “corresponding area set”.
  • the accommodation facility reservation server 1 extracts a combination of an accommodation facility and a region that are related to each other from the corresponding accommodation facility set and the corresponding region set.
  • the standard for determining whether or not a certain accommodation facility A and a certain region B are related to each other is whether or not the place where the accommodation facility A is located is within a predetermined range for the region B.
  • this range is a range in which the user can go from the accommodation facility A to the region B during the trip at the destination.
  • the accommodation facility reservation server 1 determines that an area where the accommodation facility is located is an area related to the accommodation facility.
  • the accommodation facility reservation server 1 may extend the object related to the accommodation facility to a region adjacent to the region where the accommodation facility is located.
  • the accommodation facility reservation server 1 may extend a target related to the accommodation facility to a region close to the region where the accommodation facility is located.
  • the accommodation facility reservation server 1 may set a region within a range from a place where the accommodation facility is located to a preset distance as a region related to the accommodation facility.
  • AAA inn an AAA inn, a BBB hotel, and a CCC inn are searched for as accommodations that match "open-air bath, all-you-can-drink, bedrock bath". Each of these accommodations is likely to be able to provide an open-air bath, coffee, all-you-can-drink, and bedrock bath.
  • AAA Ryokan is located in Okutama.
  • BBB Hotel is located in Hakone.
  • the CCC inn is located in Uchibo.
  • Tsukuba, Uchibo and Shonan are searched for as an area that matches "Climbing Diving Fireworks". Within these areas, there is a probability that there are respective spots where mountain climbing, diving and fireworks are provided.
  • Okutama, Hakone, Uchibo, Tsukuba and Shonan are not adjacent to each other. These areas are not adjacent to each other.
  • the CCC inn is in Uchibo, one of the searched areas. Therefore, a combination of a CCC inn and Uchibo is extracted as a search result.
  • FIG. 3 is a diagram showing a display example of the search result page.
  • a search result page is displayed as shown in FIG.
  • a combination display area 100 is displayed on the search result page.
  • the combination display area 100 is displayed for each searched combination.
  • FIG. 3 is a display example of the combination display area 100 corresponding to the combination of the CCC inn and Uchibo.
  • an accommodation facility information display area 110 and an area information display area 120 are displayed.
  • the accommodation facility information display area 110 information about accommodation facilities included in one combination is displayed. Specifically, in the accommodation facility information display area 110, for example, the name of the accommodation facility, the image of the accommodation facility, the introduction of the accommodation facility, the access method to the accommodation facility, the address of the accommodation facility, the information of the accommodation plan, and the like are displayed. . As the information of the accommodation plan, for example, the name of the accommodation plan, a part of the explanation of the accommodation plan, the accommodation fee, and the like are displayed. The accommodation plan in which information is displayed is, for example, an accommodation plan corresponding to a keyword designated by the user. In the accommodation facility information display area 110 shown in FIG. 3, it is displayed that the CCC inn has facilities for an open-air bath and a bedrock bath.
  • accommodation facility information display area 110 shown in FIG. 3 information on an accommodation plan in which rice cake is included in the food served in the meal and drinks are all-you-can-drink is displayed.
  • the user selects an accommodation facility name
  • the top page of the accommodation facility is displayed on the screen.
  • a web page of a list of accommodation plans is displayed on the screen.
  • the area information display area 120 displays information about areas included in one combination. Specifically, in the area information display area 120, for example, an area name, an image of the area, an introduction of the area, information on spots in the area, and the like are displayed. As the spot information, for example, a spot name, a description of the spot, and the like are displayed. As the spot, for example, there are a famous spot, a sightseeing spot, a facility, and the like. The spot where the information is displayed is, for example, a spot corresponding to a keyword specified by the user. In the area information display area 120 shown in FIG. 3, information on a beach where diving is possible and a fireworks display is held, and information on mountains where climbing is possible are displayed as spot information.
  • the area information page is a Web page on which information related to one area is displayed.
  • a spot information page is displayed on the screen.
  • the spot information page is a web page on which information about one spot is displayed.
  • the search result page may display information indicating what keywords are used for searching for accommodation facilities and what keywords are used for searching for areas.
  • T2 is an example of the second number in the present invention.
  • FIG. 2B is a diagram showing an example of a change between the accommodation facility search condition and the region search condition.
  • the accommodation facility reservation server 1 divides the accommodation facility search condition into the search condition 1 and the search condition 2 according to the type of the object related to the keyword.
  • Search condition 1 includes, for example, a keyword related to a bath.
  • the search condition 2 includes, for example, keywords related to meals.
  • the reason why keywords are classified according to the type of target provided to the user is because, for example, it is considered that there is a suitable place for each type of target. Alternatively, for example, it may be more convenient for the user to provide a plurality of objects belonging to the same type at the same place.
  • search condition 1 is a new accommodation facility search condition.
  • the accommodation facility reservation server 1 searches for accommodation facilities corresponding to all keywords included in the new accommodation facility search condition.
  • the search condition 2 is integrated into the area search condition.
  • the area search condition is “mountain diving, fireworks, all-you-can-drink”.
  • the accommodation facility reservation server 1 searches for a region that matches all the keywords included in the new region search condition. Then, the accommodation facility reservation server 1 extracts a combination of the accommodation facility and the region that are related to each other from the newly searched accommodation facility and the region.
  • the accommodation facility reservation server 1 determines whether or not the number of accommodation facilities searched using the new accommodation facility search condition is equal to or greater than the threshold value, and sets the search condition 2 to the region only when it is equal to or greater than the threshold value. Include in search criteria. The reason for making this determination is the same as the reason for making the determination using T2.
  • the threshold value at this time is T3.
  • the accommodation facility reservation server 1 sets the search condition 2 as a new accommodation facility search condition.
  • the accommodation facility reservation server 1 integrates the search condition 1 into the region search condition when the number of accommodation facilities searched using the new accommodation facility search condition is T3 or more.
  • the processing content when the number of found accommodation facilities is less than T3 is arbitrary.
  • the accommodation facility reservation server 1 may transmit a search result page indicating that there is no corresponding accommodation facility to the user terminal 3.
  • the accommodation facility reservation server 1 determines the area to be searched when the number of areas searched using the area search condition is less than the threshold value. Change to a larger area than the area that was previously searched. Then, the accommodation facility reservation server 1 searches for a region that matches all the keywords included in the region search condition from a plurality of regions that are newly searched. The reason for changing the region is that the wider the region, the more spots. Therefore, the wider the region, the higher the probability that it matches all the keywords included in the region search condition. In addition, the reason for performing the determination using the threshold is that when the number of searched areas decreases, the probability that a combination of accommodation facilities and areas that are related to each other is extracted from the searched accommodation facilities and areas is low. Because it becomes.
  • the threshold used at this time is T4. T4 is an example of the third number in the present invention.
  • a set of areas to be searched is defined by hierarchy.
  • the set of areas in the first hierarchy is a set of municipalities.
  • the set of regions in the second hierarchy is a set of regions formed by integrating a plurality of municipalities. Each region in this case is narrower than the prefecture.
  • a set of regions in the third hierarchy is a set of prefectures. The lower the hierarchy number, the lower the hierarchy. In addition, the smaller the hierarchy number, the smaller the area of one region. Note that the number of hierarchies is arbitrary. In addition, it is also arbitrary how to define a set of regions based on what criteria in each layer.
  • the accommodation facility reservation server 1 extracts the combination of an accommodation facility and an area using the search result at the time, when the number of areas more than T4 are searched. Note that the processing content in the case where only a region less than T4 is searched even if a search is performed on the uppermost region set is arbitrary. For example, the accommodation facility reservation server 1 may transmit a search result page indicating that there is no corresponding accommodation facility to the user terminal 3.
  • the thresholds T1 to T4 used for the determination are set in advance by, for example, the administrator of the accommodation facility reservation site. It is up to the administrator to set what value to each threshold. For example, 1 may be set for each threshold.
  • T2 and T3 are threshold values for the number of searched accommodation facilities. Therefore, T2 and T3 may be the same.
  • the accommodation facility reservation server 1 may divide a plurality of keywords initially specified by the user as search conditions into three or more search conditions. In this case, the number of accommodation facility search conditions and the number of area search conditions are arbitrary.
  • the accommodation facility reservation server 1 searches for accommodation facilities for each accommodation facility search condition.
  • the accommodation facility reservation server 1 searches for a region for each region search condition when there are a plurality of region search conditions. Then, the accommodation facility reservation server 1 extracts a combination of one or more accommodation facilities and one or more regions that are related to each other.
  • the accommodation facility reservation server 1 sets one of the accommodation facilities searched according to one of the accommodation facility search conditions and the accommodation facility search condition.
  • a combination of two accommodation facilities and one region related to each other is extracted from a combination of any of the accommodation facilities searched by the other and any of the regions searched by the region search condition.
  • the reason why a plurality of accommodation facilities may be included in the combination is that, while the user is traveling or traveling on a business trip, for example, one accommodation facility on the first day and another accommodation facility on the second day. Thus, it is because it is only necessary to use a plurality of accommodation facilities included in the combination and go to a spot that satisfies the user's request in each of the regions included in the combination.
  • a plurality of regions may be included in the combination. This is because it is only necessary to be able to go to a spot that satisfies the user's request in each of the above.
  • FIG. 4 is a block diagram showing an example of a schematic configuration of the accommodation facility reservation server 1 according to the present embodiment.
  • the accommodation facility reservation 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 storage unit 12 is composed of, for example, a hard disk drive.
  • Databases such as a member information DB 12a, an accommodation facility information DB 12b, an area information DB 12c, a spot information DB 12d, and an accommodation facility keyword information DB 12e are constructed in the storage unit 12.
  • DB is an abbreviation for database.
  • FIG. 5A is a diagram showing an example of contents registered in the member information DB 12a.
  • member information related to users registered as members in the information providing system S1 is registered.
  • user attributes such as user ID, password, nickname, name, date of birth, sex, postal code, address, telephone number, and e-mail address are registered in association with each user. Is done.
  • the user ID is user identification information.
  • FIG.5 (b) is a figure which shows an example of the content registered into accommodation facility information DB12b.
  • accommodation facility information DB 12b accommodation facility information relating to the accommodation facility is registered.
  • the accommodation facility information DB 12b includes facility IDs, accommodation facility names, area IDs, postal codes, addresses, telephone numbers, FAX numbers, e-mail addresses, accommodation facility images, accommodation facility details, and the like. Attributes are registered in association with each accommodation facility.
  • the facility ID is identification information of an accommodation facility.
  • the area ID is identification information of the area where the accommodation facility is located.
  • the area ID set in the accommodation facility information is, for example, the area ID of the lowermost area.
  • the accommodation facility detailed information is character information indicating detailed information regarding the accommodation facility.
  • the accommodation facility detailed information includes the introduction of the accommodation facility, the facilities of the accommodation facility, the services provided by the accommodation facility, the equipment and fixtures in the guest room, the access method to the accommodation facility, the information about the hot spring, the information about the guest room, etc. Including.
  • the accommodation facility detailed information includes information on the accommodation plan.
  • the information of the accommodation plan includes the name of the accommodation plan, a detailed description of the accommodation plan, and the like.
  • FIG. 5C is a diagram showing an example of contents registered in the regional information DB 12c.
  • regional information regarding the region is registered. Specifically, in the region information DB 12c, a region ID, a hierarchy number, a region name, a region description, location information, and a region image, and either a spot list or a region list are registered in association with each region. Is done.
  • the region ID is region identification information.
  • the hierarchy number is the number of the hierarchy where the region is located.
  • the position information is, for example, the longitude and latitude of the center of the area.
  • the spot list is registered when the hierarchy number is 1.
  • the spot list is a list of spots in the area. Specifically, spot IDs of spots in the area are registered in the spot list.
  • the spot ID is spot identification information.
  • the region list is registered when the hierarchy number is 2 or more.
  • the region list is a list of regions in the region defined by the region information among regions located one level lower than the layer indicated by the layer number. Specifically, in the region list, the region ID of each region in the region defined by the region information is registered.
  • a list of spots in the area is not defined in the area information of the area above the first layer. However, a list of subregions is defined. Therefore, it is possible to identify a spot in the area for an area higher than the first layer based on the area information of the area in the lower layer.
  • FIG. 5D is a diagram showing an example of contents registered in the spot information DB 12d.
  • Spot information regarding spots is registered in the spot information DB 12d.
  • spot attributes such as a spot ID, a spot name, an address, a telephone number, a spot image, and spot detailed information are registered in the spot information DB 12d in association with each spot.
  • the spot ID is spot identification information.
  • the spot detailed information is character information indicating detailed information regarding the spot.
  • the detailed spot information includes a description of the spot, a service provided at the spot, a product that can be purchased at the spot, a facility at the spot, what the user can do at the spot, and the like.
  • FIG.5 (e) is a figure which shows an example of the content registered into accommodation facility keyword information DB12e.
  • accommodation facility keyword information DB 12e accommodation facility keyword information related to keywords related to objects provided at the accommodation facility is registered.
  • keywords, provision target types, and the like are registered in association with each keyword. Keywords are related to objects provided at the accommodation.
  • the provision target type indicates the type of target related to the keyword. Examples of provision target types include meals, baths, and guest rooms.
  • 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. Examples of the set value include threshold values such as T1 to T4.
  • the storage unit 12 stores various programs such as an operating system, a WWW (World Wide Web) server program, a DBMS (Database Management System), and an accommodation facility reservation processing program.
  • the accommodation facility reservation processing program is a program for executing processing such as search for accommodation facilities and areas, reservation of accommodation facilities, and the like.
  • the accommodation facility reservation processing program is an example of a search program in the present invention.
  • 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 dividing unit, a searching unit, an extracting unit, and a changing unit in the present invention by the CPU 14a reading and executing various programs.
  • the accommodation facility reservation server 1 may be composed of a plurality of server devices.
  • a server device that searches for accommodation facilities and areas a server device that processes reservations for accommodation facilities, a server device that transmits a Web page in response to a request from the user terminal 3, a server device that manages a database, and the like They may be connected to each other via a LAN or the like.
  • FIG. 6 is a flowchart showing a processing example in the search processing of the system control unit 14 of the accommodation facility reservation server 1 according to the present embodiment.
  • the user operates the user terminal 3 to designate one or more keywords for searching for accommodation facilities. Then, the user terminal 3 transmits a search request to the accommodation facility reservation server 1.
  • the search request includes the specified keyword.
  • the search process is started when the accommodation facility reservation server 1 receives a search request.
  • the system control unit 14 acquires all the specified keywords from the received search request (step S11). Next, the system control unit 14 searches for accommodations that match all the specified keywords (step S12). Specifically, the system control unit 14 sets the accommodation facility information including the designated keyword in at least one of the accommodation facility name and the accommodation facility detailed information among the accommodation facility information registered in the accommodation facility information DB 12b. Search for. When a plurality of keywords are specified, the system control unit 14 searches for accommodation facility information that includes all the keywords in at least one of the accommodation facility name and the accommodation facility detailed information.
  • the system control part 14 will determine whether the number of the searched accommodation facilities is more than T1 after finishing the process of step S12 (step S13). At this time, if the system control unit 14 determines that the number of found accommodation facilities is equal to or greater than T1 (step S13: YES), the system control unit 14 retrieves a search result page that displays a list of found accommodation facilities. The request is transmitted to the user terminal 3 that has transmitted the request (step S14). When completing this process, the system control unit 14 ends the search process.
  • step S13 determines whether there are a plurality of designated keywords. . At this time, if the system control unit 14 determines that there is only one designated keyword (step S15: NO), the search result page displaying that there is no corresponding accommodation facility is transmitted to the search request. It transmits to the original user terminal 3 (step S30). When completing this process, the system control unit 14 ends the search process.
  • system control unit 14 is a case where a value of 2 or more is set in T1, and when one or more accommodation facilities that match all of the plurality of keywords specified by the user are searched, A search result page displaying a list of searched accommodation facilities may be transmitted to the user terminal 3.
  • step S15 when the system control unit 14 determines that there are a plurality of designated keywords (step S15: YES), the system control unit 14 selects one of the designated keywords (step S16).
  • step S17 the system control unit 14 determines whether or not the selected keyword is a keyword related to an object provided at the accommodation facility (step S17). Specifically, the system control unit 14 searches the accommodation facility keyword information DB 12e for a keyword that matches the selected keyword. At this time, when a keyword that matches the selected keyword is registered in the accommodation facility keyword information DB 12e, the system control unit 14 determines that the selected keyword is a keyword related to an object provided at the accommodation facility. Determination is made (step S17: YES).
  • the system control unit 14 includes the selected keyword in the accommodation facility search condition (step S18).
  • the system control unit 14 determines that the selected keyword is not a keyword related to an object provided at the accommodation facility. (Step S17: NO). In this case, the system control unit 14 includes the selected keyword in the area search condition (step S19).
  • step S20 determines whether there is a keyword that has not yet been selected among the plurality of designated keywords. At this time, if it is determined that there is a keyword that has not been selected (step S20: YES), the system control unit 14 selects one of the keywords that have not yet been selected (step S21). Next, the system control unit 14 proceeds to step S17.
  • the system control unit 14 divides the plurality of keywords into the accommodation facility search condition and the area search condition as a dividing unit by repeating the processes of steps S17 to S21.
  • step S20 determines that all the keywords have been selected (step S20: NO)
  • step S22 determines that the number of keywords of at least one of the search conditions of the accommodation facility search condition and the area search condition is 0. It is determined whether or not (step S22). At this time, if the system control unit 14 determines that the number of keywords of at least one of the search conditions is 0 (step S22: YES), the system control unit 14 proceeds to step S30. In this case, the system control unit 14 may newly divide a plurality of keywords designated by the user and proceed to step S23. At this time, for example, the system control unit 14 performs division by a division method different from the division method in the processes of steps S16 to S21.
  • step S23 the system control unit 14 executes an accommodation facility search process.
  • FIG. 7 is a flowchart showing a processing example in the accommodation facility search process of the system control unit 14 of the accommodation facility reservation server 1 according to the present embodiment.
  • the system control unit 14 searches for accommodation facilities that match all the keywords included in the accommodation facility search condition as search means (step S41).
  • the search method at this time is basically the same as the search method in step S12 of the search process.
  • the system control unit 14 determines whether or not the number of searched accommodation facilities is equal to or greater than T2 (step S42). At this time, if the system control unit 14 determines that the number of searched accommodation facilities is equal to or greater than T2 (step S42: YES), it sets “applicable” as a return value for the search process (step S42). S51). After completing this process, the system control unit 14 ends the accommodation facility search process.
  • the accommodation facility search condition is set as the search condition 1 and the search condition 2 as a dividing unit. (Step S43). Specifically, the system control unit 14 acquires the provision target type corresponding to each keyword included in the accommodation facility search condition from the accommodation facility keyword information DB 12e. Next, the system control unit 14 classifies each keyword by the provision target type. In this way, the system control unit 14 forms a keyword group with keywords having the same provision target type. Then, for example, the system control unit 14 sets one of the keyword groups as the search condition 1 and sets the remaining keyword groups as the search condition 2.
  • the system control unit 14 integrates any of a plurality of groups to make two keyword groups.
  • the system control unit 14 may determine at random which search condition each keyword is included in.
  • step S44 When the system control unit 14 finishes dividing the accommodation facility search condition, the system control unit 14 searches for accommodation facilities that match all the keywords included in the search condition 1 as search means (step S44).
  • the search method at this time is basically the same as the search method in step S12 of the search process.
  • the system control unit 14 determines whether or not the number of found accommodation facilities is equal to or greater than T3 (step S45). At this time, if the system control unit 14 determines that the number of searched accommodation facilities is T3 or more (step S45: YES), the system control unit 14 integrates the search condition 2 into the area search condition (step S46). Next, the system control unit 14 proceeds to step S51.
  • step S45 determines that the number of searched accommodation facilities is less than T3 (step S45: NO)
  • a facility is searched (step S47).
  • the search method at this time is basically the same as the search method in step S12 of the search process.
  • step S48 determines whether or not the number of found accommodation facilities is equal to or greater than T3.
  • step S50 the system control unit 14 integrates the search condition 1 into the area search condition.
  • step S51 proceeds to step S51.
  • step S48 determines that the number of searched accommodation facilities is less than T3 (step S48: NO), it sets “not applicable” as a return value for the search process (step S49). ). After completing this process, the system control unit 14 ends the accommodation facility search process.
  • the system control unit 14 When the number of accommodation facilities searched using the search condition 1 is less than T3 in step S45, the system control unit 14 further divides the search condition 1 into the search condition 1a and the search condition 1b. May be. Then, the system control unit 14 may search for accommodation facilities that match all the keywords included in the search condition 1a, and may search for accommodation facilities that match all the keywords included in the search condition 1b.
  • the criteria for dividing the search condition 1 are arbitrary. For example, the system control unit 14 may divide according to the provision target type or may divide it randomly. When the system control unit 14 divides the search condition 1 and performs a search, a plurality of corresponding accommodation facility sets are generated.
  • any of the accommodation facilities included in the corresponding accommodation facility set searched by the search condition 1a and any of the accommodation facilities set searched by the search condition 1b A combination of two accommodation facilities and one region that are related to each other is extracted from a combination of the accommodation facility and any region included in the corresponding region set searched by the region search condition.
  • system control unit 14 may search for accommodations that match all the keywords included in the search condition 1a, and may integrate the search condition 1b into the search condition 2. Then, when the number of accommodation facilities searched using the search condition 1a is equal to or greater than T3, the system control unit 14 may integrate the search condition 2 including the search condition 1b into the region search condition.
  • system control unit 14 may further divide the search condition 2 when the number of accommodation facilities searched using the search condition 2 is less than T3 in step S48.
  • the processing content after the division is basically the same as the processing content when the search condition 1 is divided.
  • step S24 determines whether or not the return value is set to “not applicable” in the accommodation facility search process. At this time, if the system control unit 14 determines that the return value is set to “not applicable” (step S24: YES), the system control unit 14 proceeds to step S30. On the other hand, if the system control unit 14 determines that the return value is not set to “not applicable” (step S24: NO), the system control unit 14 executes a region search process (step S25).
  • FIG. 8 is a flowchart showing a processing example in the area search process of the system control unit 14 of the accommodation facility reservation server 1 according to the present embodiment.
  • the system control unit 14 searches each keyword included in the region search condition from the region name and region description included in the selected region information and the spot name and spot detailed information included in each acquired spot information. .
  • the system control unit 14 matches the region ID included in the selected region information with all the keywords included in the region search condition. Acquired as the region ID of the region.
  • the system control unit 14 executes such processing for all the area information whose layer number is N.
  • step S63 the system control unit 14 determines whether the number of searched areas is equal to or greater than T4 (step S63). At this time, if the system control unit 14 determines that the number of searched regions is equal to or greater than T4 (step S63: YES), it sets “applicable” as a return value for the search process (step S64). ). When completing this process, the system control unit 14 ends the area search process.
  • step S63 determines whether the system control unit 14 determines whether the hierarchy number N matches the number of the highest hierarchy.
  • step S65 determines whether the hierarchy number N matches the number of the highest hierarchy.
  • step S66 adds 1 to the layer number N.
  • the system control unit 14 makes the area of the search target area wider than that when the search was performed immediately before in step S62 as the changing means.
  • the system control unit 14 proceeds to step S62.
  • the system control unit 14 repeats the processes of steps S62 to S66, and searches the area while gradually changing the area to be searched until the number of searched areas reaches T4 or more. repeat.
  • step S62 when the hierarchy number N is 2 or more, the spot list is not included in the area information to be searched.
  • the system control unit 14 acquires area information corresponding to each area ID registered in the area list included in the area information from the area information DB 12c.
  • the system control unit 14 determines whether a spot list is included in the acquired area information.
  • the system control unit 14 further acquires area information corresponding to each area ID registered in the area list included in the acquired area information. To do.
  • the system control unit 14 repeats the acquisition of the area information until the area information including the spot list is acquired.
  • the system control unit 14 acquires spot information based on the spot list included in the acquired area information.
  • the system control unit 14 searches for keywords using the acquired spot information.
  • step S65 when the system control unit 14 determines that the layer number N matches the number of the highest layer (step S65: YES), “not applicable” is set as a return value (step S67). . This is because there are no more regions to be searched. When completing this process, the system control unit 14 ends the area search process.
  • step S26 determines whether or not the return value is set to “not applicable” in the region search process as shown in FIG. 6 (step S26). At this time, if the system control unit 14 determines that the return value is set to “not applicable” (step S26: YES), the system control unit 14 proceeds to step S30.
  • the system control unit 14 uses the set of accommodation facilities searched in the accommodation facility search process as an extraction unit.
  • a combination of an accommodation facility and a region that are related to each other is extracted from a certain corresponding accommodation facility set and a corresponding region set that is a set of regions searched in the region search process (step S27).
  • the system control unit 14 extracts a combination based on the positional relationship between the area where the searched accommodation facility is located and the searched area.
  • the area where the accommodation facility is located is indicated by the area ID included in the accommodation facility information.
  • the system control unit 14 determines whether or not the accommodation facility is in any area. Then, if the accommodation facility is in any of the searched regions, the system control unit 14 selects the accommodation facility and the region as a combination. Further, when an area adjacent to or close to the area where the accommodation facility is located is also included in the area related to the accommodation facility, for example, information indicating what area and what area are adjacent to the storage unit 12, or what area A database for registering information indicating what areas are close to each other may be constructed.
  • the system control unit 14 selects the accommodation facility and the region as a combination when the accommodation facility is in a region adjacent to or close to any of the searched regions. Moreover, when extracting the combination based on the distance, the system control unit 14 acquires the longitude and latitude of the place where the accommodation facility is located based on the address of the accommodation facility. Then, the system control unit 14 calculates the distance from the place where the accommodation facility is located to the center of the area. And the system control part 14 extracts the combination of the accommodation facility and area where the calculated distance is below the preset distance.
  • step S28 the system control unit 14 determines whether or not the extracted combination is T5 or more (step S28).
  • T5 is, for example, a threshold set by the administrator of the accommodation facility reservation site. It is up to the administrator to set what value to T5. For example, 1 may be set. If the system control unit 14 determines that the extracted combination is less than T5 (step S28: NO), the system control unit 14 proceeds to step S30.
  • the system control unit 14 may newly divide a plurality of keywords specified by the user and proceed to Step S23.
  • the system control unit 14 determines that the combination of keywords included in each of the accommodation facility search condition and the region search condition is a combination of keywords included in each of the accommodation facility search condition and the region search condition that are formed by the first division. Divide it differently.
  • the system control unit 14 may proceed to step S29 when one or more combinations are extracted.
  • step S28 if the system control unit 14 determines that the extracted combination is equal to or greater than T5 (step S28: YES), the search request page displays an HTML document of the search result page displaying the extracted combinations as a search request. Is transmitted to the user terminal 3 of the transmission source (step S29). Specifically, the system control unit 14 generates display data for the accommodation facility information display area 110 based on the accommodation facility name, the accommodation facility detailed information, and the like included in the accommodation facility information of the accommodation facility included in the combination. . At this time, when the keyword included in the accommodation facility search condition matches the accommodation plan, the system control unit 14 generates display data so that information on the accommodation plan is displayed.
  • the system control unit 14 generates display data for the area information display area 120 based on the area name and area description included in the area information of the area included in the combination. At this time, the system control unit 14 generates display data so that spot information is displayed when a keyword included in the region search condition matches a spot in the region.
  • the system control unit 14 generates an HTML document including data for displaying the accommodation facility information display area 110 and data for displaying the area information display area 120. Then, the system control unit 14 transmits the generated HTML document.
  • the system control unit 14 ends the search process.
  • the user terminal 3 displays a search result page based on the HTML document received from the accommodation facility reservation server 1 as shown in FIG. 3, for example.
  • the system control unit 14 of the accommodation facility reservation server 1 uses the plurality of keywords specified as the search conditions, and the accommodation facility search condition and the area search each including at least one keyword. It is divided into conditions, and each of the accommodations that match all of the keywords included in the accommodation search condition and the areas that match all of the keywords included in the area search condition are searched. A combination of an accommodation facility and a region that have a predetermined relationship with each other is extracted from a combination of any of the accommodation facilities and any of the regions searched according to the region search condition. Therefore, even if there are no accommodations that satisfy all of the keywords specified as the search criteria, the search results desired by the user can be combined with the accommodations and areas without changing the search criteria. Obtainable.
  • system control unit 14 searches for an accommodation facility that matches all of the plurality of keywords specified as the search condition, if the number of searched accommodation facilities is less than T1, the plurality of keywords are selected. To divide. Therefore, it is possible to obtain a sufficient number of search results that are more desirable for the user and prevent unnecessary search processing from being executed.
  • the system control unit 14 divides the accommodation facility search condition into the search condition 1 and the search condition 2, and the search condition 2 Searched for accommodation facilities that match all of the keywords included in the search conditions 1 and areas that match all of the keywords included in the search conditions 1.
  • a combination of an accommodation facility and a region that are related to each other is extracted from a combination of any of the accommodation facilities and any of the regions searched by the region search condition. Therefore, a sufficient number of search results desired by the user can be obtained more easily without increasing the number of accommodation facilities or areas included in the extracted combination.
  • system control unit 14 determines, for each of the plurality of keywords, whether or not the keyword is a keyword related to the provision target provided by the accommodation facility, and the keyword determined to be related to the provision target is stored.
  • a keyword that is not determined to be related to the provision target is included in the area search condition. Therefore, it is possible to obtain a sufficient number of combinations including an accommodation facility that provides a provision object desired by the user.
  • the system control unit 14 When the location of any accommodation facility searched by the accommodation facility search condition is within a predetermined range for any region searched by the region search condition, the system control unit 14 The accommodation facility and the region are extracted as a combination of the facility and the region that are related to each other. Therefore, a combination that allows the user to easily go to both the accommodation facility and the area at the same time can be obtained.
  • the system control unit 14 makes the area to be searched wider than when the number of regions less than T4 is searched.
  • the area that has changed in size is searched, the area that matches all of the keywords included in the area search condition is searched, and the area is changed with any of the accommodation facilities searched by the accommodation facility search condition
  • a combination of an accommodation facility and a region that are related to each other is extracted from a combination with any of the regions searched by the region search condition using the region as a search target. Therefore, when the number of searched areas is smaller than T4, the area to be searched becomes wider, so that there is a probability that areas that match all of the keywords included in the area search condition will be searched. Get higher. Therefore, a sufficient number of search results desired by the user can be obtained more easily.
  • FIG. 9 is a diagram illustrating an example of a schematic configuration of the information providing system S2 according to the present embodiment.
  • elements similar to those in FIG. 9 are similar to those in FIG.
  • the information providing system S2 includes an online shopping mall server 4, a plurality of store terminals 5, and a plurality of user terminals 6.
  • the online shopping mall server 4, each store terminal 5, and each user terminal 6 can exchange data with each other via the network NW.
  • the online shopping mall server 4 is a server device that executes various processes related to an online shopping mall where products can be purchased.
  • the online shopping mall server 4 is an example of a search device according to the present invention.
  • a user can purchase a desired product from a desired store by using the online shopping mall.
  • the online shopping mall server 4 transmits, for example, a web page of the online shopping mall, or performs processing related to product search or purchase.
  • the product is an example of a search target in the present invention.
  • the user terminal 6 is a terminal device of a user who uses the online shopping mall.
  • the configuration and function of the user terminal 6 are basically the same as the configuration and function of the user terminal 3 in the first embodiment.
  • the user can specify search conditions in order to search for products that are candidates for purchase in the online shopping mall.
  • a keyword can be specified as a search condition.
  • the user can specify, for example, a word that briefly represents the condition of the product desired by the user as a keyword.
  • the online shopping mall server 4 searches for products that satisfy the search condition. Specifically, the online shopping mall server 4 searches for a product including the designated keyword in the product name or product description. Then, the online shopping mall server 4 transmits a product search result page to the user terminal 6.
  • the product search result page is a Web page on which a list of searched products is displayed. For example, on the product search result page, a product name, a product image, a product price, a store name of a seller, and the like are displayed for each product. In addition, a link to the product page of the searched product is embedded in the product search result page. When the user selects an arbitrary product link on the product search result page, the corresponding product page is displayed on the screen of the user terminal 6.
  • the product page is a Web page on which detailed information regarding one product is displayed. The user can purchase a product whose information is displayed on the product page by performing an operation for ordering the product on the product page.
  • the online shopping mall server 4 divides a plurality of keywords specified as search conditions into a partial search condition 1 and a partial search condition 2 each including at least one keyword. Partial search condition 1 and partial search condition 2 are examples of child search conditions in the present invention.
  • the online shopping mall server 4 searches for products that match all the keywords included in the partial search condition for each partial search condition. A set of products searched for each partial search condition is referred to as a “corresponding product set”.
  • the online shopping mall server 4 selects any of the products included in the corresponding product set searched using the partial search condition 1 and any of the products included in the corresponding product set searched using the partial search condition 2. A combination of products that are related to each other is extracted from the combinations. Then, the online shopping mall server 4 causes the user terminal 6 to present the extracted combination as a search result to the user.
  • FIG. 10A is a diagram illustrating an example of searching for a product. For example, assume that a user wishes to purchase a personal computer. Then, it is assumed that the user desires the personal computer that it is manufactured by Company X, the office software is preinstalled, and the memory capacity is 4 GB. Accordingly, for example, as shown in FIG. 10A, the user designates “Company X personal computer office memory 4 GB” as a plurality of keywords.
  • the online shopping mall server 4 searches for products corresponding to all of the plurality of specified keywords, and if the number of searched products is less than the threshold, the keywords are searched for the partial search condition 1 and the partial search. Split into condition 2.
  • the threshold used at this time is T6.
  • T6 is an example of the first number in the present invention.
  • the criteria for dividing the plurality of keywords are arbitrary. For example, when M keywords are designated, the online shopping mall server 4 determines that the M keywords are partial search condition 1 including M ⁇ 1 keywords, partial search condition 2 including one keyword, You may divide into. The reason for dividing in this way is to make at least one product out of the products included in the combination to be extracted into a product that largely satisfies the user's request.
  • the product searched using the partial search condition 1 is a product that largely satisfies the user's request.
  • the online shopping mall server 4 obtains the number of products searched for by each of the M keywords, and puts the keyword having the smallest number of products searched into the partial search condition 2. Also good. This is because there is a probability that the keyword with the smallest number of products to be searched is the greatest factor that the user cannot obtain a sufficient number of search results desired by the user. By removing from the partial search condition 1 keywords that are a factor that the user cannot obtain a sufficient number of search results, the probability that a product that satisfies the partial search condition 1 can be searched can be increased. Note that the online shopping mall server 4 may divide a plurality of keywords by another method.
  • products A-1, A-2, and A-3 are searched for as products that match "Company X Personal Computer Office".
  • Product A-1 is a stationary personal computer.
  • A-2 and A-3 are notebook personal computers.
  • the products A-1, A-2, and A-3 are personal computers manufactured by Company X, and there is a possibility that office software is preinstalled.
  • products B-1, B-2, and B-3 are retrieved as products that match the “memory 4 GB”.
  • Product B-1 is a stationary personal computer.
  • Product B-2 is an additional memory for a stationary personal computer.
  • Product B-3 is a portable memory card.
  • the products B-1, B-2, and B-3 are likely to have a memory capacity of 4 GB.
  • the product A-1 and the product B-2 are in a relationship between the main product and the optional product. Therefore, a combination of the product A-1 and the product B-2 is extracted as a search result. This is because by incorporating the product B-2 into the product A-1, a personal computer that satisfies the user's request is completed. On the other hand, the product A-1 and the product B-1 have the same genre. However, the product A-1 and the product B-1 cannot be combined. Even if the product A-1 and the product B-1 can be used simultaneously, the product does not satisfy the user's request. Therefore, the combination of the product A-1 and the product B-1 is not extracted.
  • the product B-2 cannot be incorporated into the product A-2 or the product A-3. Therefore, the combination of the product A-2 and the product B-2 and the combination of the product A-3 and the product B-2 are not extracted. Further, although the product B-3 may be connected to the products A-1 to A-3, the product B-3 is not an optional product for a personal computer. Therefore, the combination including the product B-3 is not extracted.
  • Which combination of products is a combination of products related to each other may be changed according to the genre of the product, for example.
  • a plurality of products having the same genre are not combinations of products related to each other.
  • a plurality of products having the same genre may be a combination of products related to each other. For example, suppose a user wants to purchase a set of pots containing oysters, salmon and shrimp. Therefore, it is assumed that the user designates “nabe set oyster ⁇ shrimp” as a plurality of keywords.
  • “Nabe Set Oyster Shrimp” is divided into, for example, “Nabe Set Oyster Shrimp” and “Shrimp”. Assume that a set of pots containing oysters and oysters is searched for as a product corresponding to “nabe set oyster bowl”, and an edible shrimp is searched as a product corresponding to “shrimp”. By putting shrimp in a pot containing oysters and crabs, the user can make a pot that he wants to eat. Both the pan set and shrimp are food.
  • the online shopping mall server 4 can extract a combination of products that satisfy the user's request by extracting a plurality of products whose genre is food as a combination.
  • the online shopping mall server 4 may further divide the partial search condition 1 into the partial search condition 1a and the partial search condition 1b when the number of products searched using the partial search condition 1 is less than the threshold value.
  • the partial search condition 1a and the partial search condition 1b are examples of grandchild search conditions in the present invention.
  • the online shopping mall server 4 stores products that match all the keywords included in the partial search condition 1a, products that match all the keywords included in the partial search condition 1b, and all keywords included in the search condition 2. Search for products that match.
  • the online shopping mall server 4 uses any of the products searched using the partial search condition 1a, any of the products searched using the partial search condition 1b, and the product searched using the partial search condition 2.
  • a combination of products related to each other may be extracted from the combination of any of the above.
  • the threshold used at this time is T7. T7 is an example of the second number in the present invention.
  • FIG. 10B is a diagram illustrating a division example of the partial search condition 1.
  • “Company X personal computer office” is divided into partial search condition 1 including “X company personal computer” and partial search condition 2 including “office”.
  • a personal computer manufactured by X company is searched for as a product matching “Company X personal computer”
  • office software is searched as a product matching “Office”
  • a personal computer is selected as a product matching “Memory 4 GB”.
  • an additional memory for a computer is searched.
  • the office software can be installed in the personal computer, the office software can be considered as an optional product of the personal computer.
  • the additional memory is an optional product for personal computers. Therefore, a combination of personal computer, office software, and additional memory is extracted.
  • the online shopping mall server 4 may divide a plurality of keywords initially specified by the user as search conditions into three or more partial search conditions. Also in this case, the online shopping mall server 4 searches for products for each partial search condition. The number of products included in the extracted combination is the same as the number of partial search conditions. The online shopping mall server 4 may also divide the partial search condition into three or more partial search conditions when further dividing the partial search condition.
  • FIG. 11 is a diagram showing a display example of a product search result page.
  • a product search result page is displayed as shown in FIG.
  • a combination display area 200 is displayed on the product search result page.
  • the combination display area 200 is displayed for each searched combination.
  • FIG. 11 is a display example of the combination display area 200 corresponding to the combination of the products A-1 and B-2.
  • the combination display area 200 a plurality of product display areas 210 are displayed.
  • the product display area 210 information related to products included in the combination is displayed.
  • the product display area 210 is displayed for each product. Specifically, in the product information display area 210, for example, a product name, a product image, a product price, a store name of a seller, and the like are displayed.
  • FIG. 12 is a block diagram illustrating an example of a schematic configuration of the online shopping mall server 4 according to the present embodiment.
  • the online shopping mall server 4 includes a communication unit 41, a storage unit 42, an input / output interface 43, and a system control unit 44.
  • the system control unit 44 and the input / output interface 43 are connected via a system bus 45.
  • the storage unit 42 is constituted by, for example, a hard disk drive.
  • databases such as a member information DB 42a, a genre information DB 42b, a store information DB 42c, a product information DB 42d, and a related product information DB 42e are constructed.
  • FIG. 13A shows an example of contents registered in the member information DB 42a.
  • member information related to users who are registered as members in the information providing system S2 is registered.
  • the contents registered in the member information DB 42a are basically the same as the contents registered in the member information DB 12a in the first embodiment.
  • FIG. 13B is a diagram illustrating an example of contents registered in the genre information DB 42b.
  • Genre information relating to the genre of the product is registered in the genre information DB 42b.
  • 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 42b in association with each genre.
  • Genre information is set, for example, by an administrator of an online shopping mall.
  • the product genre is hierarchically defined with a tree structure. Specifically, each node of the tree structure corresponds to a genre.
  • the depth of the node corresponds to the level (hierarchy) of the genre corresponding to the node.
  • the depth of the node is a distance from a node located at the root (hereinafter referred to as “root node”). The larger the level value, the deeper the depth as the level, and the smaller the level value, the shallower the depth as the level.
  • the genre corresponding to the child node of the root node is the level 1 genre.
  • the genre of level 1 is the highest genre. For each level 1 genre, 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.
  • the genre C1 at this time is referred to as a “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.
  • Genre ID is genre identification information defined by genre information.
  • 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.
  • FIG.13 (c) is a figure which shows an example of the content registered into store information DB42c.
  • Store information relating to stores that are open in the online shopping mall is registered in the store information DB 42c.
  • store attributes such as store ID, store name, postal code, address, telephone number, and e-mail address are registered in the store information DB 42c in association with each store.
  • the store ID is store identification information.
  • FIG. 13D is a diagram showing an example of contents registered in the product information DB 42d.
  • product information related to products sold in the online shopping mall is registered.
  • the store sells product attributes such as product ID, store ID, product code, genre ID, product name, product image URL (Uniform Resource Locator), product description, product price, etc.
  • product attributes such as product ID, store ID, product code, genre ID, product name, product image URL (Uniform Resource Locator), product description, product price, etc.
  • Each product to be registered is registered in association with each other.
  • the product ID is product identification information for the store 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.
  • the same product code is assigned to the same product.
  • As the product code for example, there is a JAN (Japanese Article Number Code) code.
  • the product ID basically corresponds to the product page on a one-to-one basis. Therefore, even if the product code is the same, different product IDs are assigned to a plurality of products having different product information.
  • the genre ID is the genre ID of the genre to which the product belongs. Basically, a genre ID of a genre (genre corresponding to a leaf node in the tree structure) defined at the lowest level is set. That is, each product is divided into genres by the most detailed genre.
  • the product name is the name of the product given by the store. Therefore, the product name may be different from the official name of the product.
  • FIG. 13E is a diagram showing an example of contents registered in the related product information DB 42e.
  • the related product information DB 42e related product information related to a plurality of products having a relationship between the main product and the optional product is registered.
  • the product code of the main product and the product code of the optional product are registered in association with each combination of the main product and the optional product.
  • the storage unit 42 stores various data such as an HTML document, an XML document, image data, text data, and an electronic document, and various setting values set by an administrator or the like.
  • the storage unit 42 stores various programs such as an operating system, a WWW server program, a DBMS, and an electronic commerce management program.
  • the electronic commerce management program is a program for executing processing such as product search and product order.
  • the electronic commerce management program is an example of a search program in the present invention.
  • the various programs may be acquired from, for example, another server device via the network NW, or may be recorded on a recording medium such as a DVD and read via the drive device. .
  • the input / output interface 43 performs interface processing between the communication unit 41 and the storage unit 42 and the system control unit 44.
  • the system control unit 44 includes a CPU 14a, a ROM (Read Only Memory) 44b, a RAM (Random Access Memory) 44c, and the like.
  • the system control unit 44 functions as a dividing unit, a searching unit, and an extracting unit in the present invention by the CPU 44a reading and executing various programs.
  • the online shopping mall server 4 may be composed of a plurality of server devices.
  • FIG. 14 is a flowchart showing a processing example in the search processing of the system control unit 44 of the online shopping mall server 4 according to the present embodiment.
  • the user operates the user terminal 6 to specify one or more keywords. Then, the user terminal 6 transmits a search request to the online shopping mall server 4.
  • the search request includes the specified keyword.
  • the search process is started when the online shopping mall server 4 receives a search request.
  • the system control unit 44 acquires all the specified keywords from the received search request (step S81). Next, the system control unit 44 searches for products corresponding to all the specified keywords (step S82). Specifically, the system control unit 44 searches for product information including the specified keyword in at least one of the product name and the product description from the product information registered in the product information DB 42d. When a plurality of keywords are specified, the system control unit 44 searches for product information including all the keywords in at least one of the product name and the product description.
  • step S83 the system control unit 44 determines whether or not the number of searched products is T6 or more (step S83). At this time, if the system control unit 44 determines that the number of searched products is equal to or greater than T6 (step S83: YES), the system search unit 44 displays a product search result page displaying a list of searched products as a search request. Is transmitted to the user terminal 6 that is the transmission source (step S84). After completing this process, the system control unit 44 ends the search process.
  • system control unit 44 searches when one or more products that match all of the plurality of keywords specified by the user are searched when T6 is set to a value of 2 or more.
  • a product search result page that displays a list of products that have been displayed may be transmitted to the user terminal 6.
  • step S83 determines whether there are a plurality of designated keywords. At this time, if the system control unit 44 determines that there is only one designated keyword (step S85: NO), the product search result page displaying that there is no corresponding product is transmitted to the search request. It transmits to the original user terminal 6 (step S97). After completing this process, the system control unit 44 ends the search process.
  • the system control unit 44 uses the specified keywords as the partial search condition 1 and the partial search condition 2 as a dividing unit. (Step S86). Specifically, the system control unit 44 acquires the number of products searched for with each of a plurality of designated keywords. At this time, the system control unit 44 may actually search for a product. The system control unit 44 may periodically search for products using various keywords, and store the number of searched products in the storage unit 42 in association with the keywords. Then, the system control unit 44 may acquire the number of products searched from the storage unit 42. The system control unit 44 includes one of the keywords having the smallest number of searched products in the partial search condition 2 and includes the remaining keywords in the partial search condition 1.
  • step S87 the system control unit 44 searches for a product that matches all the keywords included in the partial search condition 1 as a search means (step S87).
  • the search method in this case is basically the same as the search method in step S82.
  • step S88 the system control unit 44 determines whether or not the number of searched products is T7 or more.
  • step S88: NO the system control unit 44 determines whether the partial search condition 1 can be further divided (step S88: NO). Step S89). For example, it may be determined that division is possible until the number of keywords included in the partial search condition 1 reaches a preset number.
  • the maximum number of divisions may be set in advance, and it may be determined that division is possible until the number of divisions is reached.
  • the system control unit 44 determines that further division is possible (step S89: YES)
  • the partial search condition 1 is divided into the partial search condition 1a and the partial search condition 1b as a dividing unit (step S90).
  • the system control unit 44 includes, in the partial search condition 1b, one keyword that has the smallest number of products to be searched among the keywords included in the partial search condition 1 and includes the remaining keywords in the partial search condition 1a.
  • the system control unit 44 sets the partial search condition 1a as the latest partial search condition 1 (step S91).
  • the system control unit 44 proceeds to step S87 and searches for products corresponding to all the keywords included in the latest partial search condition 1.
  • the system control unit 44 repeats the processes in steps S87 to S91 to search for and search using the partial search condition 1 until the number of products equal to or greater than T7 is searched or cannot be divided. Repeat the division of condition 1.
  • step S89 when the system control unit 44 determines that the partial search condition 1 cannot be further divided (step S89: NO), the system control unit 44 proceeds to step S97.
  • the system control unit 44 may search again for a plurality of keywords and proceed to step S87.
  • the system control unit 44 divides the plurality of keywords by a method different from the division method in step S86. For example, the system control unit 44 may divide a plurality of keywords into a partial search condition 2 including two keywords and a partial search condition 1 including the remaining keywords.
  • step S88 if the system control unit 44 determines that the number of searched products is equal to or greater than T7 (step S88: YES), it matches all keywords included in the partial search condition 2 as a search means.
  • the product to be searched is searched (step S92).
  • the search method in this case is basically the same as the search method in step S82.
  • the system control unit 44 determines whether or not there is a partial search condition 1b (step S93). At this time, if the system control unit 44 determines that there is the partial search condition 1b (step S93: YES), as a search means, for each partial search condition 1b, all keywords included in the partial search condition 1b are included.
  • the corresponding product is searched (step S94).
  • the search method in this case is basically the same as the search method in step S82.
  • step S93 When it is determined that there is no partial search condition 1b (step S93: NO), or when the process of step S94 is completed, the system control unit 44 uses the partial search condition 1 as an extraction unit. A combination of mutually related products is extracted from a combination of any product included in the corresponding product set and any product included in the corresponding product set searched using the partial search condition 2 ( Step S95).
  • the system control unit 44 performs a search using the partial search condition 1b
  • the system control unit 44 selects any product included in the corresponding product set searched using the partial search condition 1 and the partial search condition 2 Products related to each other from a combination of any product included in the corresponding product set searched using and one of the products included in the corresponding product set searched using the partial search condition 1b Extract combinations.
  • the system control unit 44 when extracting a plurality of products having the same genre, acquires the genre ID from the product information of each product. Then, the system control unit 44 may specify a plurality of products whose genre IDs match each other among the corresponding product sets. In this case, it is determined whether or not the genre is the same at the lowest level. The system control unit 44 may extract a plurality of products having the same genre at the higher level than the lowest level. This is because if it is determined whether or not the genres are the same at the lower level, the range of products belonging to the same genre may be narrowed.
  • the system control unit 44 can acquire the genre ID of the genre at a higher level than the lowest level for each product. Further, for example, when a plurality of products whose sales outlet stores are identical to each other, the system control unit 44 acquires a store ID from the product information of each product. Then, the system control unit 44 identifies a plurality of products whose store IDs match each other among the corresponding product sets. Further, for example, when extracting a plurality of products having a relationship between the main product and the optional product, the system control unit 44 acquires a product code from the product information of each product. Then, the system control unit 44 identifies a plurality of products registered in association with each other's product code between the corresponding product sets in the related product information DB 42e.
  • the system control unit 44 transmits the HTML document of the product search result page displaying a list of the extracted combinations to the user terminal 6 that is the source of the search request (step S96). Specifically, the system control unit 44 displays information for display in the product information display area 210 based on the product name, product image URL, product price, product ID, etc. included in the product information of each product included in the combination. Is generated. Next, the system control unit 44 generates an HTML document including data for display in the product information display area 210. Then, the system control unit 44 transmits the generated HTML document. After completing this process, the system control unit 44 ends the search process. The user terminal 6 displays a product search result page based on the HTML document received from the online shopping mall server 4 as shown in FIG. 11, for example.
  • the system control unit 44 may generate the HTML document of the product search result page so that both the searched product information and the searched combination information are displayed.
  • step S91 the system control unit 44 sets the partial search condition 1a as the latest partial search condition 1 and also integrates the partial search condition 1b into the partial search condition 2 generated by the division in step S86. Good.
  • the system control unit 44 of the online shopping mall server 4 converts a plurality of keywords specified as search conditions into partial search conditions 1 and 2 each including at least one keyword. Divided and searched for a product that matches all of the keywords included in the partial search condition and a product that matches all of the keywords included in the partial search condition for each partial search condition. A combination of products having a predetermined relationship with each other is extracted from a combination of any of the products and any of the products searched by the partial search condition 2. Therefore, even if there is no satisfactory product that matches all of the plurality of keywords specified as the search conditions, a sufficient number of search results desired by the user can be obtained without changing the search conditions.
  • the system control unit 44 searches for a product that matches all of the plurality of keywords specified as the search conditions, the plurality of keywords are divided when the number of searched products is less than T6. . Therefore, it is possible to obtain a search result that is more desirable for the user and to prevent unnecessary search processing from being executed.
  • system control unit 44 includes, in the partial search condition 2, one keyword that has the smallest number of products to be searched from among a plurality of keywords specified as the search conditions, and includes keywords that are not included in the partial search condition 2. Include in search condition 1. Therefore, the partial search condition 1 can be made as close as possible to the designated search condition, and the probability that a product can be searched by the partial search condition 1 can be increased.
  • the present invention is applied when searching for an accommodation facility or a product as a search target.
  • the present invention may be applied to, for example, searching for facilities other than accommodation facilities, places, services, web pages, images, videos, sounds, maps, news, blogs, and the like.
  • the search device according to the present invention is applied to a server device in a client server system. That is, the terminal device transmits a keyword specified by the user to the server device, and the server device performs a search using the received keyword.
  • the present invention may be applied to a stand-alone. In other words, the search device according to the present invention may directly accept specification of a keyword by the user, perform a search using the received keyword, display the search result, and provide the combination information directly to the user.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

 検索条件として指定された複数のキーワードの全てに合致する検索対象が満足に存在しない場合であっても、検索条件を変えることなく、ユーザが望む検索結果を得ることを可能とする。検索装置は、検索条件として指定された複数のキーワードを、それぞれキーワードを含む2つの子検索条件に分割する。検索装置は、検索条件としての複数のキーワードの全てに合致する検索対象を検索する。また、検索装置は、子検索条件の一方に含まれるキーワードの全てに合致する検索対象と、子検索条件の他方に含まれるキーワードの全てに合致する検索対象と、を検索する。検索装置は、子検索条件の一方で検索された検索対象の何れかと、子検索条件の他方で検索された検索対象の何れかと、の組み合わせの中から、関連を有する検索対象の組み合わせを抽出する。

Description

検索装置、検索方法、検索プログラム及び記録媒体
 本発明は、検索条件として指定された複数のキーワードに基づいて検索を行う検索装置及び検索方法の技術分野に関する。
 従来、ユーザにより指定されたキーワードに基づいて検索を行う検索装置が知られている。検索対象となるものは、例えば、商品、サービス、Webページ、その他の情報等がある。ユーザが複数のキーワードを指定した場合、検索装置は、一般的には、指定された全てのキーワードに合致する検索対象を検索する。従って、キーワードが1つのみ指定された場合よりも、キーワードが複数指定された場合の方が、検索される検索対象の数が減る傾向にある。そのため、ユーザが複数のキーワードを指定した場合には、ユーザが望む十分な数の検索結果を得ることができない場合がある。
 この点に関連して、複数のキーワードから一部のキーワードを除外して検索を行う技術が知られている。例えば、特許文献1には、ユーザが入力した文からキーワードを抽出し、抽出されたキーワードのうち不必要に厳しい条件を課するキーワードを削除して、検索のための条件式を設定する技術が開示されている。また、特許文献1には、削除されたキーワードを代替するような新たなキーワードを付加して、条件式を設定する技術が開示されている。
特開2002-92033号公報
 しかしながら、一部のキーワードが除外された場合、検索に用いられる検索条件が、当初の検索条件と異なることになる。従って、ユーザが望まない検索対象が検索されてしまうことがある。また、除外されたキーワードに代わって、新たなキーワードが付加されたとしても、新たなキーワードと除外されたキーワードとは同一ではない。そのため、この場合も、ユーザが望まない検索対象が検索されてしまうことがある。
 本発明は、以上の点に鑑みてなされたものであり、検索条件として指定された複数のキーワードの全てに合致する検索対象が満足に存在しない場合であっても、検索条件を変えることなく、ユーザが望む検索結果を得ることを可能とする検索装置、検索方法、検索プログラム及び記録媒体を提供することを目的とする。
 上記課題を解決するために、請求項1に記載の発明は、検索条件として指定された複数のキーワードを、それぞれ少なくとも1つのキーワードを含む2つの子検索条件に分割する分割手段と、前記子検索条件ごとに該子検索条件に含まれるキーワードの全てに合致する検索対象を検索する検索手段と、前記子検索条件の一方により検索された検索対象の何れかと、前記子検索条件の他方により検索された検索対象の何れかと、の組み合わせの中から、互いに予め定められた関連を有する検索対象の組み合わせを抽出する抽出手段と、を備えることを特徴とする。
 この発明によれば、複数のキーワードの何れのキーワードについても、指定されたキーワードに合致する検索対象が、抽出される組み合わせを構成する複数の検索対象の中に存在する。また、抽出される組み合わせは、互いに関連を有する検索対象の組み合わせである。そのため、検索条件として指定された複数のキーワードの全てに合致する検索対象が満足に存在しない場合であっても、検索条件を変えることなく、ユーザが望む検索結果を得ることができる。
 なお、検索条件として指定された複数のキーワードを3つ以上の子検索条件に分割する態様も、本発明の技術的範囲に属する。例えば、a、b、c、d及びeの5つのキーワードが指定されていたとする。ここで、5つのキーワードが、例えば、a及びbを含む子検索条件と、c及びdを含む子検索条件と、eを含む子検索条件と、に分割されたとする。この場合、例えば、5つのキーワードの一部分であるa、b、c及びdも、検索条件として指定された複数のキーワードである。そして、a、b、c及びdという複数のキーワードが、2つの子検索条件に分割されている。つまり、複数のキーワードを3つ以上の子検索条件に分割する処理は、複数のキーワードを2つの子検索条件に分割する処理を含むのである。
 請求項2に記載の発明は、請求項1に記載の検索装置において、前記分割手段は、前記複数のキーワードの全てに合致する検索対象の検索が行われた結果、検索された検索対象の数が予め設定された第1数未満である場合に、前記複数のキーワードを分割することを特徴とする。
 この発明によれば、ユーザにとってより望ましい検索結果を得ることができるとともに、不要な検索処理が実行されないようにすることができる。
 請求項3に記載の発明は、請求項1または請求項2に記載の検索装置において、前記分割手段は、前記子検索条件の一方により検索された検索対象の数が予め設定された第2数未満である場合に、該子検索条件の一方を2つの孫検索条件に分割し、前記検索手段は、前記孫検索条件ごとに該孫検索条件に含まれるキーワードの全てに合致する検索対象を検索し、前記抽出手段は、前記孫検索条件の一方により検索された検索対象の何れかと、前記孫検索条件の他方により検索された検索対象の何れかと、前記子検索条件の他方により検索された検索対象の何れかと、の組み合わせの中から、互いに前記関連を有する検索対象の組み合わせを抽出することを特徴とする。
 この発明によれば、子検索条件の一方により検索される検索対象の数が第2数よりも少ない場合であっても、子検索条件の一方が2つの孫検索条件が分割され、それぞれの孫検索条件で検索が行われる。孫検索条件は、子検索条件の一方よりもキーワードの数が少ないので、孫検索条件を用いて検索を行った方が、子検索条件を用いて検索を行うよりも、検索対象が検索される蓋然性が高い。そのため、ユーザが望む検索結果を、より得やすくすることができる。
 なお、子検索条件を3つ以上の孫検索条件に分割する態様も、検索条件として指定された複数のキーワードを3つ以上の子検索条件に分割する場合と同様の理由で、この発明の技術的範囲に属する。
 請求項4に記載の発明は、請求項1または請求項2に記載の検索装置において、前記分割手段は、前記子検索条件の一方により検索された検索対象の数が予め設定された第2数未満である場合に、該子検索条件の一方を2つの孫検索条件に分割するとともに、該孫検索条件の他方を前記子検索条件の他方に統合し、前記検索手段は、前記孫検索条件の一方に含まれるキーワードの全てに合致する検索対象と、前記子検索条件の他方に含まれるキーワードの全てに合致する検索対象と、をそれぞれ検索し、前記抽出手段は、前記孫検索条件の一方により検索された検索対象の何れかと、前記子検索条件の他方により検索された検索対象の何れかと、の組み合わせの中から、互いに前記関連を有する検索対象の組み合わせを抽出することを特徴とする。
 この発明によれば、子検索条件の一方により検索される検索対象の数が第2数よりも少ない場合には、子検索条件の一方が2つの孫検索条件に分割され、孫検索条件の他方が子検索条件の他方に統合される。孫検索条件は、子検索条件の一方よりもキーワードの数が少ないので、孫検索条件を用いて検索を行った方が、子検索条件を用いて検索を行うよりも、検索対象が検索される蓋然性が高い。そのため、抽出される組み合わせに含まれる検索対象の数を増やすことなく、ユーザが望む検索結果を、より得やすくすることができる。
 請求項5に記載の発明は、請求項1乃至4の何れか1項に記載の検索装置において、前記分割手段は、前記複数のキーワードのうち検索される検索対象の数が最も少ない1つのキーワードを前記子検索条件の他方に含め、前記子検索条件の他方に含まれないキーワードを前記子検索条件の一方に含めることを特徴とする。
 この発明によれば、指定された検索条件から1つのキーワードを除いたものが、子検索条件の一方となる。また、子検索条件の一方から除かれるキーワードは、検索される検索対象の数が最も少ないキーワードである。そのため、子検索条件の一方を、指定された検索条件にできるかぎり近づけることができるとともに、子検索条件の一方により検索対象を検索することができる蓋然性を高めることができる。
 請求項6に記載の発明は、請求項1乃至5の何れか1項に記載の検索装置において、前記分割手段は、施設を検索するために指定された前記複数のキーワードを、施設の検索に用いる第1の前記子検索条件と、施設の検索に用いない第2の前記子検索条件と、に分割し、前記検索手段は、前記第1の子検索条件に含まれる全てのキーワードに合致する施設と、前記第2の子検索条件に含まれる全てのキーワードに合致する地域と、をそれぞれ検索し、前記抽出手段は、前記第1の子検索条件により検索された施設の何れかと、前記第2の子検索条件により検索された地域の何れかと、の組み合わせの中から、互いに前記関連を有する施設と地域との組み合わせを抽出することを特徴とする。
 この発明によれば、複数のキーワードの全てに合致する施設が満足に存在しない場合であっても、ユーザが望むものを、施設と地域との組み合わせとして得ることができる。
 請求項7に記載の発明は、請求項6に記載の検索装置において、前記分割手段は、前記複数のキーワードのそれぞれごとに、該キーワードが、施設により提供される提供対象に関連するキーワードであるか否かを判定し、前記提供対象に関連すると判定されたキーワードを前記第1の子検索条件に含め、前記提供対象に関連すると判定されなかったキーワードを前記第2の子検索条件に含めることを特徴とする。
 この発明によれば、ユーザが望む提供対象を提供する施設を含む組み合わせを得ることができる。
 請求項8に記載の発明は、請求項6または請求項7に記載の検索装置において、前記抽出手段は、前記第1の子検索条件により検索された何れかの施設の場所が、前記第2の子検索条件により検索された何れかの地域に対して予め定められた範囲内にある場合に、該施設と該地域とを、互いに前記関連を有する施設と地域の組み合わせとして抽出することを特徴とする。
 この発明によれば、抽出される組み合わせに含まれる施設は、組み合わせに含まれる地域から予め定められた範囲内にあるので、ユーザが同時期に施設と地域との両方に行きやすい組み合わせを得ることができる。
 請求項9に記載の発明は、請求項6乃至8の何れか1項に記載の検索装置において、前記第2の子検索条件により検索された地域の数が、予め設定された第3数未満である場合、検索対象とする地域の広さを、前記第3数未満の数の地域が検索されたときよりも広くする変更手段を更に備え、前記検索手段は、前記変更手段により広さが変更された地域を検索対象として、前記第2の子検索条件に含まれるキーワードの全てに合致する地域を検索し、前記抽出手段は、前記第1の子検索条件により検索された施設の何れかと、前記変更手段により広さが変更された地域を検索対象として前記第2の子検索条件により検索された地域の何れかと、の組み合わせの中から、互いに前記関連を有する施設と地域との組み合わせを抽出することを特徴とする。
 この発明によれば、検索された地域の数が第3数よりも少ない場合には、検索対象とされる地域の広さが広くなるので、第2の子検索条件に含まれるキーワードの全てに合致する地域が検索される蓋然性が高くなる。そのため、ユーザが望む検索結果を、より得やすくすることができる。
 請求項10に記載の発明は、検索装置により実行される検索方法であって、検索条件として指定された複数のキーワードを、それぞれ少なくとも1つのキーワードを含む2つの子検索条件に分割する分割ステップと、前記子検索条件ごとに該子検索条件に含まれるキーワードの全てに合致する検索対象を検索する検索ステップと、前記子検索条件の一方により検索された検索対象の何れかと、前記子検索条件の他方により検索された検索対象の何れかと、の組み合わせの中から、互いに予め定められた関連を有する検索対象の組み合わせを抽出する抽出ステップと、を含むことを特徴とする。
 請求項11に記載の発明は、検索装置に含まれるコンピュータを、検索条件として指定された複数のキーワードを、それぞれ少なくとも1つのキーワードを含む2つの子検索条件に分割する分割手段、前記子検索条件ごとに該子検索条件に含まれるキーワードの全てに合致する検索対象を検索する検索手段、及び、前記子検索条件の一方により検索された検索対象の何れかと、前記子検索条件の他方により検索された検索対象の何れかと、の組み合わせの中から、互いに予め定められた関連を有する検索対象の組み合わせを抽出する抽出手段、として機能させることを特徴とする。
 請求項12に記載の発明は、検索装置に含まれるコンピュータを、検索条件として指定された複数のキーワードを、それぞれ少なくとも1つのキーワードを含む2つの子検索条件に分割する分割手段、前記子検索条件ごとに該子検索条件に含まれるキーワードの全てに合致する検索対象を検索する検索手段、及び、前記子検索条件の一方により検索された検索対象の何れかと、前記子検索条件の他方により検索された検索対象の何れかと、の組み合わせの中から、互いに予め定められた関連を有する検索対象の組み合わせを抽出する抽出手段、として機能させることを特徴とする検索プログラムがコンピュータ読み取り可能に記録されていることを特徴とする。
 本発明によれば、複数のキーワードの何れのキーワードについても、指定されたキーワードに合致する検索対象が、抽出される組み合わせを構成する複数の検索対象の中に存在する。また、抽出される組み合わせは、互いに関連を有する検索対象の組み合わせである。そのため、検索条件として指定された複数のキーワードの全てに合致する検索対象が満足に存在しない場合であっても、検索条件を変えることなく、ユーザが望む検索結果を得ることができる。
一実施形態に係る情報提供システムS1の概要構成の一例を示す図である。 (a)は、宿泊施設と地域との組み合わせの検索例を示す図であり、(b)は、宿泊施設検索条件と地域検索条件との変更例を示す図である。 検索結果ページの表示例を示す図である。 一実施形態に係る宿泊施設予約サーバ1の概要構成の一例を示すブロック図である。 (a)は、会員情報DB12aに登録される内容の一例を示す図であり、(b)は、宿泊施設情報DB12bに登録される内容の一例を示す図であり、(c)は、地域情報DB12cに登録される内容の一例を示す図であり、(d)は、スポット情報DB12dに登録される内容の一例を示す図であり、(e)は、宿泊施設キーワード情報DB12eに登録される内容の一例を示す図である。 一実施形態に係る宿泊施設予約サーバ1のシステム制御部14の検索処理における処理例を示すフローチャートである。 一実施形態に係る宿泊施設予約サーバ1のシステム制御部14の宿泊施設検索処理における処理例を示すフローチャートである。 一実施形態に係る宿泊施設予約サーバ1のシステム制御部14の地域検索処理における処理例を示すフローチャートである。 一実施形態に係る情報提供システムS2の概要構成の一例を示す図である。 (a)は、商品の検索例を示す図であり、(b)は、部分検索条件1の分割例を示す図である。 商品検索結果ページの表示例を示す図である。 一実施形態に係る電子商店街サーバ4の概要構成の一例を示すブロック図である。 (a)は、会員情報DB42aに登録される内容の一例を示す図であり、(b)は、ジャンル情報DB42bに登録される内容の一例を示す図であり、(c)は、店舗情報DB42cに登録される内容の一例を示す図であり、(d)は、商品情報DB42dに登録される内容の一例を示す図であり、(e)は、関連商品情報DB42eに登録される内容の一例を示す図である。 一実施形態に係る電子商店街サーバ4のシステム制御部44の検索処理における処理例を示すフローチャートである。
 以下、図面を参照して本発明の実施形態について詳細に説明する。
[1.第1実施形態]
 以下に説明する第1実施形態は、宿泊施設の予約を行うための情報提供システムに対して本発明を適用した場合の実施形態である。
[1-1.情報提供システムの構成及び機能概要]
 先ず、本実施形態に係る情報提供システムS1の構成について、図1を用いて説明する。図1は、本実施形態に係る情報提供システムS1の概要構成の一例を示す図である。
 図1に示すように、情報提供システムS1は、宿泊施設予約サーバ1と、複数の宿泊施設端末2と、複数のユーザ端末3と、を含んで構成されている。そして、宿泊施設予約サーバ1と各宿泊施設端末2及び各ユーザ端末3とは、ネットワークNWを介して、例えば、通信プロトコルにTCP/IP等を用いて相互にデータの送受信が可能になっている。なお、ネットワークNWは、例えば、インターネット、専用通信回線(例えば、CATV(Community Antenna Television)回線)、移動体通信網(基地局等を含む)、及びゲートウェイ等により構築されている。
 宿泊施設予約サーバ1は、宿泊施設予約サイトに関する各種処理を実行するサーバ装置である。宿泊施設予約サーバ1は、本発明における検索装置の一例である。宿泊施設予約サイトは、宿泊施設の宿泊の予約の受け付けを行うWebサイトである。宿泊施設予約サイトは、複数の宿泊施設から予約の受け付けを委託されている。宿泊施設予約サーバ1は、ユーザ端末3からのリクエストに応じて、例えば、宿泊施設予約サイトのWebページを送信したり、宿泊施設の検索や、宿泊の予約等に関する処理を行ったりする。なお、宿泊施設は、本発明における検索対象の一例である。
 宿泊施設端末2は、宿泊施設予約サイトに予約の委託をしている宿泊施設の従業員等により利用される端末装置である。宿泊施設端末2は、従業員等からの操作に基づいて宿泊施設予約サーバ1等のサーバ装置にアクセスする。これにより、宿泊施設端末2は、サーバ装置からWebページを受信して表示する。宿泊施設端末2には、ブラウザや電子メールクライアント等のソフトウェアが組み込まれている。従業員は、宿泊施設端末2を利用することにより、例えば、宿泊施設の情報を宿泊施設予約サイトに登録したり、宿泊施設の予約状況を確認したりする。
 ユーザ端末3は、宿泊施設予約サイトを利用するユーザの端末装置である。ユーザ端末3は、ユーザからの操作に基づいて宿泊施設予約サーバ1にアクセスすることにより、宿泊施設予約サーバ1からWebページを受信して表示する。ユーザ端末3には、ブラウザや電子メールクライアント等のソフトウェアが組み込まれている。ユーザ端末3としては、例えば、パーソナルコンピュータ、PDA(Personal Digital Assistant)、スマートフォン等の携帯情報端末、携帯電話機等が用いられる。
 ユーザは、ユーザが利用する宿泊施設を宿泊施設予約サイトで探すために、検索条件を指定することができる。例えば、検索条件として、キーワードの指定が可能である。ユーザは、例えば、ユーザが所望する宿泊施設の条件を簡潔に表す語を、キーワードとして入力する。検索条件が指定されると、宿泊施設予約サーバ1は、検索条件を満たす宿泊施設を検索する。具体的に、宿泊施設予約サーバ1は、指定されたキーワードを宿泊施設名や宿泊施設の詳細情報に含む宿泊施設を検索する。そして、宿泊施設予約サーバ1は、検索結果ページをユーザ端末3へ送信する。
 検索結果ページは、検索された宿泊施設の一覧が表示されるWebページである。例えば、検索結果ページは、宿泊施設名、宿泊施設の画像、宿泊施設の簡単な説明、宿泊プランの情報等が、宿泊施設ごとに表示される。宿泊プランは、例えば、宿泊施設により企画された宿泊サービスである。宿泊プランの情報は、1つの宿泊施設につき複数表示される場合がある。また、検索結果ページには、検索された宿泊施設の宿泊施設ページへのハイパーリンク(以下、「リンク」という)が埋め込まれている。宿泊施設ページは、1つの宿泊施設に関する情報が表示されるWebページである。宿泊施設ページは、宿泊施設ごとに複数種類存在する。例えば、宿泊施設のトップページ、宿泊施設の詳細情報が表示されるWebページ、宿泊プランの一覧が表示されるWebページ等がある。ユーザは、宿泊施設ページにおいて、予約の操作を行うことにより、宿泊施設の予約を行うことができる。
[1-2.指定された複数のキーワードの分割]
 ユーザは、検索したい宿泊施設に対して要求する条件を複数持っている場合がある。例えば、条件としては、宿泊施設から提供を受けたいサービス、利用したい設備、ユーザがやりたいこと等がある。サービス及び施設は、本発明において、ユーザに提供される提供対象の一例である。また、ユーザがやりたいことを実現するサービス、設備、場所等も、本発明における提供対象の一例である。ユーザが、要求する条件ごとにその条件に関連するキーワードを入力すると、検索条件として複数のキーワードが指定されることになる。複数のキーワードが指定された場合、宿泊施設予約サーバ1は、指定された複数のキーワードの全てに合致する宿泊施設を検索する。そのため、指定されたキーワードの数が多くなるほど、全てのキーワードに合致する宿泊施設の数が少なくなったり、全てのキーワードに合致する宿泊施設が存在する蓋然性が低くなったりする。そうすると、ユーザが望む十分な数の検索結果をユーザが得ることができなくなる。
 望むような十分な数の検索結果を得ることができなかった場合、ユーザは、指定するキーワードの数を減らして宿泊施設予約サーバ1に再検索を要求することはできる。つまり、ユーザは、最初に指定した複数のキーワードの中から一部のキーワードを除外することによって、検索条件を再指定する。あるいは、宿泊施設予約サーバ1が、自動的にキーワードを減らして、再検索を行うことも考えられる。ところが、この場合、最初に指定された検索条件と、新しく指定された検索条件とは同一ではなくなる。そのため、ユーザが望む検索結果が得られない場合がある。新しい検索条件で検索された宿泊施設の中には、ユーザが最初に望んだ全ての条件を満たす宿泊施設が含まれていない蓋然性が高いからである。
 そこで、宿泊施設予約サーバ1は、宿泊施設と地域とを組み合わせた場合に、ユーザが指定した複数のキーワードの全てに合致する組み合わせを検索する。そして、宿泊施設予約サーバ1は、検索した組み合わせを、検索結果としてユーザ端末3によりユーザへ提示させる。
 具体的に、宿泊施設予約サーバ1は、検索条件として指定された複数のキーワードを、それぞれ少なくとも1つ以上のキーワードを含む2つの検索条件に分割する。2つの検索条件のうちの一方は、宿泊施設検索条件である。宿泊施設検索条件は、宿泊施設の検索に用いられる検索条件である。宿泊施設検索条件は、本発明における第1の子検索条件の一例である。2つの検索条件のうちの他方は、地域検索条件である。地域検索条件は、宿泊施設の検索に用いられない検索条件である。代わりに、地域検索条件は、地域の検索に用いられる。地域検索条件は、本発明における第2の子検索条件の一例である。宿泊施設予約サーバ1は、宿泊施設検索条件を満たす宿泊施設を検索するとともに、地域検索条件を満たす地域を検索する。そして、宿泊施設予約サーバ1は、検索された宿泊施設の何れかと、検索された地域の何れかと、の組み合わせの中から、関連を有する宿泊施設と地域との組み合わせを抽出する。ここで、宿泊施設予約サーバ1は、施設がある場所が、地域に対して予め定められた範囲内にある場合、その施設とその地域とは、関連を有するもの判定する。なお、地域は、本発明における検索対象の一例である。
 あるキーワードによって表された対象またはそのキーワードに関連する対象を提供するスポットが宿泊施設の近くにあるのであれば、その対象を宿泊施設が提供することができなくてもよいと考えられる。ユーザは、その宿泊施設を利用するときに、そのスポットに行くことによって、ユーザの要求を満足させることができるからである。各地域には、それぞれユーザの要求を満たすかもしれないスポットがある。従って、ユーザが指定した複数のキーワードのうち一部のキーワードを含む宿泊施設検索条件を宿泊施設が満たし、残りのキーワードを含む地域検索条件を地域が満たすような、宿泊施設と地域の組み合わせであれば、全体としてユーザの要求は満たされる。
 なお、宿泊施設予約サーバ1は、最初に、ユーザにより指定された複数のキーワードの全てに合致する宿泊施設を検索する。そして、宿泊施設予約サーバ1は、検索された宿泊施設の数が閾値未満である場合に、宿泊施設と地域との組み合わせを検索する。ユーザの要求を全て満たす宿泊施設が、ある程度の数存在するのであれば、宿泊施設と地域との組み合わせを検索する必要がないからである。これにより、宿泊施設予約サーバ1が不要な検索処理を実行しないで済ますことができる。また、宿泊施設と地域との組み合わせでユーザの要求を満たすよりも、1つの宿泊施設でユーザの要求を満たす方が、ユーザにとって便利である。ユーザは、自分の要求を満たすために、いろいろな場所へ行かなくてもよいからである。このときに用いられる閾値を、T1とする。T1は、本発明における第1数の一例である。
 図2(a)は、宿泊施設と地域との組み合わせの検索例を示す図である。宿泊施設予約サーバ1は、ユーザにより指定された複数のキーワードを、宿泊施設検索条件と地域検索条件とに分割する。分割の基準は、例えば、キーワードが、宿泊施設によって提供可能な対象に関連するか否かである。つまり、宿泊施設予約サーバ1は、複数のキーワードのそれぞれを、宿泊施設によって提供される対象に関連するキーワードと、宿泊施設によって提供されない対象に関連するキーワードと、の何れかに分類する。
 例えば、ユーザは、露天風呂及び岩盤浴を利用したいと思い、且つ、登山、ダイビング及び花火を楽しみたいと思ったとする。更に、ユーザは、蟹を食べたいと思い、且つ、飲み物が飲み放題である食事をとりたいと思ったとする。そこで、ユーザは、例えば、図2(a)に示すように、複数のキーワードとして、「露天風呂 登山 蟹 飲み放題 ダイビング 花火 岩盤浴」を指定したとする。空白で分けられたそれぞれの語が、キーワードである。そして、この複数のキーワードが、「露天風呂 蟹 飲み放題 岩盤浴」を含む宿泊施設検索条件と、「登山 ダイビング 花火」を含む宿泊施設検索条件と、に分割される。「露天風呂 蟹 飲み放題 岩盤浴」の中のそれぞれのキーワードが表す対象は、宿泊施設による提供が可能な対象である。一方、「登山 ダイビング 花火」の中のそれぞれのキーワードが表す対象は、一般的には宿泊施設で提供されない対象である。
 次いで、宿泊施設予約サーバ1は、宿泊施設検索条件に含まれる全てのキーワードに合致する宿泊施設を検索するとともに、地域検索条件に含まれる全てのキーワードに合致する地域を検索する。検索された宿泊施設を要素とする集合を、「該当宿泊施設集合」という。また、検索された地域を要素とする集合を、「該当地域集合」という。そして、宿泊施設予約サーバ1は、該当宿泊施設集合と該当地域集合とから、互いに関連を有する宿泊施設と地域との組み合わせを抽出する。
 ある宿泊施設Aとある地域Bとが互いに関連するか否かの基準は、宿泊施設Aがある場所が、地域Bに対して予め定められた範囲内にあるか否かである。例えば、この範囲は、ユーザが旅先での旅行中に、宿泊施設Aから地域Bにユーザが行くことができる範囲とされる。例えば、宿泊施設予約サーバ1は、宿泊施設がある地域を、宿泊施設と関連する地域であると判定する。また、宿泊施設予約サーバ1は、宿泊施設がある地域に隣接する地域にまで、宿泊施設と関連する対象を広げてもよい。また、宿泊施設予約サーバ1は、宿泊施設がある地域に近接する地域にまで、宿泊施設と関連する対象を広げてもよい。また、宿泊施設予約サーバ1は、宿泊施設がある場所から予め設定された距離までの範囲内にある地域を、宿泊施設と関連する地域としてもよい。
 例えば、図2(a)に示すように、「露天風呂 蟹 飲み放題 岩盤浴」に合致する宿泊施設として、AAA旅館、BBBホテル及びCCC旅館が検索されたとする。これらの宿泊施設は、それぞれ、露天風呂、蟹、飲み放題及び岩盤浴を提供可能である蓋然性がある。また、AAA旅館は、奥多摩にある。また、BBBホテルは、箱根にある。また、CCC旅館は、内房にある。一方、「登山 ダイビング 花火」に合致する地域として、つくば、内房及び湘南が検索されたとする。これらの地域内には、登山、ダイビング及び花火が提供されるそれぞれのスポットがある蓋然性がある。なお、奥多摩、箱根、内房、つくば及び湘南は、互いに隣接する地域ではない。また、これらの地域は、互いに近接する地域ではないものとする。
 この場合、CCC旅館は、検索された地域の1つである内房にある。そのため、検索結果として、CCC旅館と内房との組み合わせが抽出される。
 図3は、検索結果ページの表示例を示す図である。宿泊施設と地域との組み合わせが検索された場合、例えば、図3に示すように、検索結果ページが表示される。検索結果ページには、組み合わせ表示領域100が表示される。組み合わせ表示領域100は、検索された組み合わせごとに表示される。図3は、CCC旅館と内房との組み合わせに対応する組み合わせ表示領域100の表示例である。組み合わせ表示領域100には、宿泊施設情報表示領域110と、地域情報表示領域120とが、表示される。
 宿泊施設情報表示領域110には、1つの組み合わせに含まれる宿泊施設に関する情報が表示される。具体的に、宿泊施設情報表示領域110には、例えば、宿泊施設名、宿泊施設の画像、宿泊施設の紹介、宿泊施設へのアクセス方法、宿泊施設の住所、宿泊プランの情報等が表示される。宿泊プランの情報としては、例えば、宿泊プランの名称、宿泊プランの説明の一部、宿泊料金等が表示される。情報が表示される宿泊プランは、例えば、ユーザにより指定されたキーワードに対応する宿泊プランである。図3が示す宿泊施設情報表示領域110には、CCC旅館が、露天風呂及び岩盤浴の設備を有することが表示されている。また、図3が示す宿泊施設情報表示領域110には、食事で出される料理に蟹が含まれており且つ飲み物が飲み放題である宿泊プランの情報が表示されている。ユーザが宿泊施設名を選択すると、宿泊施設のトップページが画面に表示される。また、ユーザが宿泊プランの名称を選択すると、宿泊プランの一覧のWebページが画面に表示される。
 地域情報表示領域120は、1つの組み合わせに含まれる地域に関する情報が表示される。具体的に、地域情報表示領域120には、例えば、地域名、地域の画像、地域の紹介、地域内にあるスポットの情報等が表示される。スポットの情報としては、例えば、スポット名、スポットの説明等が表示される。スポットとしては、例えば、名所、観光スポット、施設等がある。情報が表示されるスポットは、例えば、ユーザにより指定されたキーワードに対応するスポットである。図3が示す地域情報表示領域120には、スポットの情報として、ダイビングが可能であり且つ花火大会が開催される海水浴場の情報と、登山が可能な山の情報とが表示されている。ユーザが地域名を選択すると、地域情報ページが画面に表示される。地域情報ページは、1つの地域に関する情報が表示されるWebページである。また、ユーザがスポットの名称を選択すると、スポット情報ページが画面に表示される。スポット情報ページは、1つのスポットに関する情報が表示されるWebページである。
 このように、検索結果ページには、ユーザにより指定されたキーワードの全てに合致する組み合わせが、検索結果として表示される。なお、検索結果ページには、如何なるキーワードが宿泊施設の検索に用いられ、如何なるキーワードが地域の検索に用いられたかを示す情報が表示されてもよい。
 ところで、複数のキーワードを、宿泊施設検索条件と地域検索条件とに分割して検索を行っても、ユーザの望む検索結果が得られないこともある。そこで、宿泊施設予約サーバ1は、ユーザの望む検索結果が得られるように、検索処理を行う。
 ユーザの望む検索結果を得るための第1の処理として、宿泊施設予約サーバ1は、宿泊施設検索条件を用いて検索された宿泊施設の数が閾値未満であるか否かを判定する。そして、宿泊施設予約サーバ1は、検索された宿泊施設の数が閾値未満である場合、宿泊施設検索条件を検索条件1と検索条件2とに分割する。検索条件1及び2は、それぞれ少なくとも1つ以上のキーワードを含む。検索条件1及び検索条件2は、本発明における孫検索条件の一例である。そして、宿泊施設予約サーバ1は、検索条件1を宿泊施設検索条件とし、検索条件2を地域検索条件に統合する。宿泊施設に対するキーワードの数を減らして、地域に対するキーワードの数を増やす理由は、ユーザの望む検索結果が得られる蓋然性が高くなる場合があるからである。一般的に、1つ地域内には、スポットが複数ある。そのため、検索条件を満たす可能性があるスポットを複数有する地域の方が、1つの宿泊施設よりも、検索条件を満たす蓋然性が高い場合がある。また、検索条件を統合する理由として、検索条件が増加しないことが挙げられる。検索条件が増加すると、検索される組み合わせに含まれる宿泊施設または地域の数が増加する。組み合わせに含まれる宿泊施設と地域との数が少ない方が、ユーザにとって便利である。また、閾値を用いて判定を行う理由は、検索された宿泊施設の数が少なくなると、検索された宿泊施設と地域との中から互いに関連する宿泊施設と地域との組み合わせが抽出される蓋然性が低くなるからである。このときに用いられる閾値を、T2とする。T2は、本発明における第2数の一例である。
 図2(b)は、宿泊施設検索条件と地域検索条件との変更例を示す図である。宿泊施設予約サーバ1は、宿泊施設検索条件を、キーワードに関連する対象の種類に応じて、検索条件1と検索条件2とに分割する。検索条件1は、例えば、風呂に関連するキーワードを含む。また、検索条件2は、例えば、食事に関連するキーワードを含む。ユーザに提供される対象の種類でキーワードが分類される理由は、例えば、対象の種類ごとに、適した場所があると考えられるからである。あるいは、例えば、同一の種類に属する複数の対象は同一の場所で提供される方が、ユーザにとって便利であると考えられる。
 例えば、図2(b)に示すように、「露天風呂 蟹 飲み放題 岩盤浴」は、「露天風呂 岩盤浴」という検索条件1と、「蟹 飲み放題」という検索条件2と、に分割される。検索条件1は、新たな宿泊施設検索条件となる。宿泊施設予約サーバ1は、新たな宿泊施設検索条件に含まれる全てのキーワードに対応する宿泊施設を検索する。一方、検索条件2が地域検索条件に統合される。そして、地域検索条件は、「登山 ダイビング 花火 蟹 飲み放題」となる。宿泊施設予約サーバ1は、新たな地域検索条件に含まれる全てのキーワードに合致する地域を検索する。そして、宿泊施設予約サーバ1は、新たに検索された宿泊施設と地域との中から、互いに関連する宿泊施設と地域との組み合わせを抽出する。
 ただし、宿泊施設予約サーバ1は、新たな宿泊施設検索条件を用いて検索された宿泊施設の数が閾値以上であるか否かを判定し、閾値以上である場合にのみ、検索条件2を地域検索条件に含める。この判定を行う理由は、T2を用いて判定を行う理由と同様である。このときの閾値を、T3とする。この場合、宿泊施設予約サーバ1は、検索条件2の方を、新たな宿泊施設検索条件とする。そして、宿泊施設予約サーバ1は、この新たな宿泊施設検索条件を用いて検索された宿泊施設の数がT3以上である場合、検索条件1の方を、地域検索条件に統合する。このとき、検索された宿泊施設の数がT3未満である場合の処理内容は任意である。例えば、宿泊施設予約サーバ1は、該当する宿泊施設がない旨を表示する検索結果ページをユーザ端末3へ送信してもよい。
 ユーザの望む検索結果を得るための第2の処理として、宿泊施設予約サーバ1は、地域検索条件を用いて検索された地域の数が閾値未満である場合には、検索対象とする地域を、これまで検索対象としていた地域の面積よりも広い地域に変更する。そして、宿泊施設予約サーバ1は、新たに検索対象となった複数の地域の中から地域検索条件に含まれる全てのキーワードに合致する地域を検索する。地域を変更する理由は、広い地域ほど、スポットを多く含むからである。従って、広い地域ほど、地域検索条件に含まれる全てのキーワードに合致する蓋然性が高くなる。また、閾値を用いて判定を行う理由は、検索された地域の数が少なくなると、検索された宿泊施設と地域との中から互いに関連する宿泊施設と地域との組み合わせが抽出される蓋然性が低くなるからである。このときに用いられる閾値を、T4とする。T4は、本発明における第3数の一例である。
 宿泊施設予約サーバ1においては、検索対象とされる地域の集合が、階層別に定義されている。例えば、第1階層の地域の集合は、市区町村からなる集合である。また、第2階層の地域の集合は、複数の市区町村を統合してできる地域の集合である。この場合の各地域は、都道府県よりも狭い。そして、第3階層の地域の集合は、都道府県からなる集合である。階層の番号が小さいほど、下層にある階層である。また、階層の番号が小さいほど、1つの地域の面積が小さくなる傾向にある。なお、階層の数を何個にするかは任意である。また、各階層において如何なる基準で地域の集合を定義するかも任意である。
 宿泊施設予約サーバ1は、最初に、第1階層の地域の集合に対して検索を行う。最初に最も狭い地域を検索対象とする理由は、狭い地域ほど、宿泊施設から、その宿泊施設と組み合わせられた地域にあるスポットに行くまでに要する時間が短くなる蓋然性が高くなるからである。このときに検索された地域の数がT4未満である場合、宿泊施設予約サーバ1は、第2階層の地域の集合に対して検索を行う。この検索の結果、検索された地域の数がT4未満である場合、宿泊施設予約サーバ1は、第3階層の地域の集合に対して検索を行う。こうして、宿泊施設予約サーバ1は、T4以上の数の地域が検索されるまで、検索対象とする地域を変更しながら検索を繰り返す。そして、宿泊施設予約サーバ1は、T4以上の数の地域が検索された場合、そのときの検索結果を用いて、宿泊施設と地域との組み合わせを抽出する。なお、最上層の地域の集合に対して検索を行ってもT4未満の数の地域しか検索されなかった場合の処理内容は任意である。例えば、宿泊施設予約サーバ1は、該当する宿泊施設がない旨を表示する検索結果ページをユーザ端末3へ送信してもよい。
 これまでの説明において、判定に用いられる閾値であるT1~T4は、例えば、宿泊施設予約サイトの管理者により予め設定される。各閾値に如何なる値を設定するかは管理者の任意である。例えば、各閾値に1が設定されてもよい。また、T2及びT3は、検索された宿泊施設の数の閾値である。そのため、T2とT3とが同一であってもよい。
 なお、宿泊施設予約サーバ1は、検索条件としてユーザにより当初指定された複数のキーワードを、3つ以上の検索条件に分割してもよい。この場合、宿泊施設検索条件の数と地域検索条件の数とをそれぞれ何個にするかは任意である。宿泊施設予約サーバ1は、宿泊施設検索条件が複数ある場合、宿泊施設検索条件ごとに宿泊施設を検索する。また、宿泊施設予約サーバ1は、地域検索条件が複数ある場合、地域検索条件ごとに地域を検索する。そして、宿泊施設予約サーバ1は、互いに関連する1つ以上の宿泊施設と1つ以上の地域との組み合わせを抽出する。例えば、宿泊施設検索条件が2つであり、地域検索条件が1つである場合、宿泊施設予約サーバ1は、宿泊施設検索条件の一方により検索された宿泊施設の何れかと、宿泊施設検索条件の他方により検索された宿泊施設の何れかと、地域検索条件により検索された地域の何れかと、の組み合わせの中から、互いに関連する2つの宿泊施設と1つの地域との組み合わせを抽出する。組み合わせの中に複数の宿泊施設が含まれていてもよい理由は、ユーザは、旅行や出張している間に、例えば、1日目はある宿泊施設、2日目は別の宿泊施設、というように、組み合わせに含まれる複数の宿泊施設を利用するとともに、その組み合わせに含まれる地域のそれぞれにあるユーザの要求を満たすスポットへ行くことができればよいからである。また、組み合わせの中に複数の地域が含まれていてもよい理由は、ユーザは、旅行や出張している間に、組み合わせに含まれる宿泊施設を利用するとともに、その組み合わせに含まれる複数の地域のそれぞれにあるユーザの要求を満たすスポットへ行くことができればよいからである。
[1-3.宿泊施設予約サーバの構成]
 次に、宿泊施設予約サーバ1の構成について、図4及び図5を用いて説明する。
 図4は、本実施形態に係る宿泊施設予約サーバ1の概要構成の一例を示すブロック図である。図4に示すように、宿泊施設予約サーバ1は、通信部11と、記憶部12と、入出力インターフェース13と、システム制御部14と、を備えている。そして、システム制御部14と入出力インターフェース13とは、システムバス15を介して接続されている。
 通信部11は、ネットワークNWに接続して、宿泊施設端末2やユーザ端末3等との通信状態を制御するようになっている。
 記憶部12は、例えば、ハードディスクドライブ等により構成されている。この記憶部12には、会員情報DB12a、宿泊施設情報DB12b、地域情報DB12c、スポット情報DB12d、宿泊施設キーワード情報DB12e等のデータベースが構築されている。「DB」は、データベースの略語である。
 図5(a)は、会員情報DB12aに登録される内容の一例を示す図である。会員情報DB12aには、情報提供システムS1に会員登録しているユーザに関する会員情報が登録される。具体的に、会員情報DB12aには、ユーザID、パスワード、ニックネーム、氏名、生年月日、性別、郵便番号、住所、電話番号、電子メールアドレス等のユーザの属性が、ユーザごとに対応付けて登録される。ユーザIDは、ユーザの識別情報である。
 図5(b)は、宿泊施設情報DB12bに登録される内容の一例を示す図である。宿泊施設情報DB12bには、宿泊施設に関する宿泊施設情報が登録される。具体的に、宿泊施設情報DB12bには、施設ID、宿泊施設名、地域ID、郵便番号、住所、電話番号、FAX番号、電子メールアドレス、宿泊施設の画像、宿泊施設詳細情報等の宿泊施設の属性が、宿泊施設ごとに対応付けて登録される。施設IDは、宿泊施設の識別情報である。地域IDは、宿泊施設がある地域の識別情報である。宿泊施設情報に設定される地域IDは、例えば、最下層の地域の地域IDである。宿泊施設詳細情報は、宿泊施設に関する詳細な情報を示す文字情報である。例えば、宿泊施設詳細情報は、宿泊施設の紹介、宿泊施設が有する設備、宿泊施設で提供されるサービス、客室にある設備や備品、宿泊施設へのアクセス方法、温泉に関する情報、客室に関する情報等を含む。また、宿泊施設詳細情報は、宿泊プランの情報を含む。宿泊プランの情報は、宿泊プランの名称、宿泊プランの詳細な説明等を含む。
 図5(c)は、地域情報DB12cに登録される内容の一例を示す図である。地域情報DB12cには、地域に関する地域情報が登録される。具体的に、地域情報DB12cには、地域ID、階層番号、地域名、地域の説明、位置情報及び地域の画像と、スポットリストまたは地域リストの何れか一方とが、地域ごとに対応付けて登録される。地域IDは、地域の識別情報である。階層番号は、地域が位置する階層の番号である。位置情報は、例えば、地域の中心地の経緯度である。スポットリストは、階層番号が1である場合に登録される。スポットリストは、地域内にあるスポットの一覧である。具体的に、スポットリストには、地域内にある各スポットのスポットIDが登録されている。スポットIDは、スポットの識別情報である。地域リストは、階層番号が2以上である場合に登録される。地域リストは、階層番号が示す階層よりも1つ下の階層にある地域のうち、地域情報により定義される地域内にある地域のリストである。具体的に、地域リストには、地域情報により定義される地域内にある各地域の地域IDが登録されている。第1階層よりも上層にある地域の地域情報には、地域内にあるスポットの一覧が定義されていない。しかしながら、下層にある地域の一覧が定義されている。そのため、下層にある地域の地域情報に基づいて、第1階層よりも上層にある地域についても、地域内にあるスポットを特定することができる。
 図5(d)は、スポット情報DB12dに登録される内容の一例を示す図である。スポット情報DB12dには、スポットに関するスポット情報が登録される。具体的に、スポット情報DB12dには、スポットID、スポット名、住所、電話番号、スポットの画像、スポット詳細情報等のスポットの属性が、スポットごとに対応付けて登録される。スポットIDは、スポットの識別情報である。スポット詳細情報は、スポットに関する詳細な情報を示す文字情報である。例えば、スポット詳細情報は、スポットの説明、スポットで提供されるサービス、スポットで購入可能な商品、スポットにある設備、スポットでユーザができること等を含む。
 図5(e)は、宿泊施設キーワード情報DB12eに登録される内容の一例を示す図である。宿泊施設キーワード情報DB12eには、宿泊施設で提供される対象に関連するキーワードに関する宿泊施設キーワード情報が登録される。具体的に、宿泊施設キーワード情報DB12eには、キーワード及び提供対象種別等がキーワードごとに対応付けて登録される。キーワードは、宿泊施設で提供される対象に関連するものである。提供対象種別は、キーワードに関連する対象の種類を示す。提供対象種別としては、例えば、食事、風呂、客室等がある。
 次に、記憶部12に記憶されるその他の情報について説明する。記憶部12には、Webページを表示するためのHTML(HyperText Markup Language)文書、XML(Extensible Markup Language)文書、画像データ、テキストデータ、電子文書等の各種データが記憶されている。また、記憶部12には、管理者等により設定された各種の設定値が記憶されている。設定値としては、例えば、T1~T4等の閾値がある。
 また、記憶部12には、オペレーティングシステム、WWW(World Wide Web)サーバプログラム、DBMS(Database Management System)、宿泊施設予約処理プログラム等の各種プログラムが記憶されている。宿泊施設予約処理プログラムは、宿泊施設や地域の検索、宿泊施設の予約等の処理を実行するためのプログラムである。宿泊施設予約処理プログラムは、本発明における検索プログラムの一例である。なお、各種プログラムは、例えば、他のサーバ装置等からネットワークNWを介して取得されるようにしてもよいし、DVD(Digital Versatile Disc)等の記録媒体に記録されてドライブ装置を介して読み込まれるようにしてもよい。
 入出力インターフェース13は、通信部11及び記憶部12とシステム制御部14との間のインターフェース処理を行うようになっている。
 システム制御部14は、CPU14a、ROM(Read Only Memory)14b、RAM(Random Access Memory)14c等により構成されている。そして、システム制御部14は、CPU14aが、各種プログラムを読み出し実行することにより、本発明における分割手段、検索手段、抽出手段及び変更手段として機能するようになっている。
 なお、宿泊施設予約サーバ1が、複数のサーバ装置で構成されてもよい。例えば、宿泊施設や地域の検索を行うサーバ装置、宿泊施設の予約の処理を行うサーバ装置、ユーザ端末3からのリクエストに応じてWebページを送信するサーバ装置、及びデータベースを管理するサーバ装置等が、互いにLAN等で接続されてもよい。
[1-4.情報提供システムの動作]
 次に、情報提供システムS1の動作について、図6乃至図8を用いて説明する。
 図6は、本実施形態に係る宿泊施設予約サーバ1のシステム制御部14の検索処理における処理例を示すフローチャートである。宿泊施設予約サイトにおいて、ユーザは、ユーザ端末3を操作して、宿泊施設を検索するためのキーワードを1つ以上指定する。すると、ユーザ端末3は、検索リクエストを宿泊施設予約サーバ1へ送信する。検索リクエストは、指定されたキーワードを含む。検索処理は、宿泊施設予約サーバ1が、検索リクエストを受信したときに開始される。
 図6に示すように、システム制御部14は、受信した検索リクエストから、指定されたキーワードを全て取得する(ステップS11)。次いで、システム制御部14は、指定された全てのキーワードに合致する宿泊施設を検索する(ステップS12)。具体的に、システム制御部14は、宿泊施設情報DB12bに登録されている宿泊施設情報のうち、宿泊施設名及び宿泊施設詳細情報の少なくとも何れか一方に、指定されたキーワードを含む宿泊施設情報を検索する。キーワードが複数指定されている場合、システム制御部14は、全てのキーワードのそれぞれを、宿泊施設名及び宿泊施設詳細情報の少なくとも何れか一方に含む宿泊施設情報を検索する。
 システム制御部14は、ステップS12の処理を終えると、検索された宿泊施設の数がT1以上であるか否かを判定する(ステップS13)。このとき、システム制御部14は、検索された宿泊施設の数がT1以上であると判定した場合には(ステップS13:YES)、検索された宿泊施設の一覧を表示する検索結果ページを、検索リクエストの送信元のユーザ端末3へ送信する(ステップS14)。システム制御部14は、この処理を終えると、検索処理を終了させる。
 一方、システム制御部14は、検索された宿泊施設の数がT1未満であると判定した場合には(ステップS13:NO)、指定されたキーワードが複数あるか否かを判定する(ステップS15)。このとき、システム制御部14は、指定されたキーワードが1つであると判定した場合には(ステップS15:NO)、該当する宿泊施設がない旨を表示する検索結果ページを、検索リクエストの送信元のユーザ端末3へ送信する(ステップS30)。システム制御部14は、この処理を終えると、検索処理を終了させる。
 なお、システム制御部14は、T1に2以上の値が設定されている場合であって、ユーザにより指定された複数のキーワードの全てに合致する宿泊施設が1つ以上検索された場合には、検索された宿泊施設の一覧を表示する検索結果ページをユーザ端末3へ送信してもよい。
 一方、システム制御部14は、指定されたキーワードが複数あると判定した場合には(ステップS15:YES)、指定された複数のキーワードのうち1つを選択する(ステップS16)。次いで、システム制御部14は、選択したキーワードが、宿泊施設で提供される対象に関連するキーワードであるか否かを判定する(ステップS17)。具体的に、システム制御部14は、宿泊施設キーワード情報DB12eから、選択したキーワードと一致するキーワードを検索する。このとき、システム制御部14は、選択したキーワードと一致するキーワードが宿泊施設キーワード情報DB12eに登録されている場合には、選択したキーワードは、宿泊施設で提供される対象に関連するキーワードであると判定する(ステップS17:YES)。この場合、システム制御部14は、選択されたキーワードを、宿泊施設検索条件に含める(ステップS18)。一方、システム制御部14は、選択したキーワードと一致するキーワードが宿泊施設キーワード情報DB12eに登録されていない場合には、選択したキーワードは、宿泊施設で提供される対象に関連するキーワードではないと判定する(ステップS17:NO)。この場合、システム制御部14は、選択されたキーワードを、地域検索条件に含める(ステップS19)。
 システム制御部14は、ステップS18またはS19の処理を終えると、指定された複数のキーワードの中に、まだ選択していないキーワードがあるか否かを判定する(ステップS20)。このとき、システム制御部14は、まだ選択していないキーワードがあると判定した場合には(ステップS20:YES)、まだ選択していないキーワードのうち1つを選択する(ステップS21)。次いで、システム制御部14は、ステップS17に移行する。システム制御部14は、ステップS17~S21の処理を繰り返すことにより、分割手段として、複数のキーワードを、宿泊施設検索条件と地域検索条件とに分割する。そして、システム制御部14は、全てのキーワードを選択したと判定した場合には(ステップS20:NO)、宿泊施設検索条件と地域検索条件のうち、少なくとも何れかの検索条件のキーワードの数が0であるか否かを判定する(ステップS22)。このとき、システム制御部14は、少なくとも何れかの検索条件のキーワードの数が0であると判定した場合には(ステップS22:YES)、ステップS30に移行する。なお、この場合、システム制御部14は、ユーザにより指定された複数のキーワードを、改めて分割し直して、ステップS23に移行してもよい。このとき、システム制御部14は、例えば、ステップS16~S21の処理における分割方法とは異なる分割方法で、分割を行う。
 一方、システム制御部14は、何れの検索条件も、キーワードの数が1以上であると判定した場合には(ステップS22:NO)、宿泊施設検索処理を実行する(ステップS23)。
 図7は、本実施形態に係る宿泊施設予約サーバ1のシステム制御部14の宿泊施設検索処理における処理例を示すフローチャートである。
 図7に示すように、システム制御部14は、検索手段として、宿泊施設検索条件に含まれる全てのキーワードに合致する宿泊施設を検索する(ステップS41)。このときの検索方法は、検索処理のステップS12における検索方法と基本的に同様である。次いで、システム制御部14は、検索された宿泊施設の数がT2以上であるか否かを判定する(ステップS42)。このとき、システム制御部14は、検索された宿泊施設の数がT2以上であると判定した場合には(ステップS42:YES)、検索処理に対する戻り値として、「該当あり」を設定する(ステップS51)。システム制御部14は、この処理を終えると、宿泊施設検索処理を終了させる。
 一方、システム制御部14は、検索された宿泊施設の数がT2未満であると判定した場合には(ステップS42:NO)、分割手段として、宿泊施設検索条件を、検索条件1と検索条件2とに分割する(ステップS43)。具体的に、システム制御部14は、宿泊施設検索条件に含まれる各キーワードに対応する提供対象種別を、宿泊施設キーワード情報DB12eからそれぞれ取得する。次いで、システム制御部14は、提供対象種別で、各キーワードを分類する。こうして、システム制御部14は、提供対象種別が互いに同一であるキーワードで、キーワードのグループを構成する。そして、システム制御部14は、例えば、何れかのキーワードのグループを、検索条件1とし、残りのキーワードのグループを、検索条件2とする。如何なる提供対象種別のキーワードのグループを検索条件1とし、如何なる提供対象種別のキーワードのグループを検索条件2とするかは、任意である。また、キーワードのグループが3つ以上となった場合、システム制御部14は、何れか複数のグループを統合して、キーワードのグループを2つにする。また、キーワードのグループが1つのみであった場合、システム制御部14は、例えば、各キーワードを何れの検索条件に入れるかを、それぞれランダムに決定してもよい。
 システム制御部14は、宿泊施設検索条件の分割を終えると、検索手段として、検索条件1に含まれる全てのキーワードに合致する宿泊施設を検索する(ステップS44)。このときの検索方法は、検索処理のステップS12における検索方法と基本的に同様である。次いで、システム制御部14は、検索された宿泊施設の数がT3以上であるか否かを判定する(ステップS45)。このとき、システム制御部14は、検索された宿泊施設の数がT3以上であると判定した場合には(ステップS45:YES)、検索条件2を、地域検索条件に統合する(ステップS46)。次いで、システム制御部14は、ステップS51に移行する。
 一方、システム制御部14は、検索された宿泊施設の数がT3未満であると判定した場合には(ステップS45:NO)、検索手段として、検索条件2に含まれる全てのキーワードに合致する宿泊施設を検索する(ステップS47)。このときの検索方法は、検索処理のステップS12における検索方法と基本的に同様である。次いで、システム制御部14は、検索された宿泊施設の数がT3以上であるか否かを判定する(ステップS48)。このとき、システム制御部14は、検索された宿泊施設の数がT3以上であると判定した場合には(ステップS48:YES)、検索条件1を、地域検索条件に統合する(ステップS50)。次いで、システム制御部14は、ステップS51に移行する。
 一方、システム制御部14は、検索された宿泊施設の数がT3未満であると判定した場合には(ステップS48:NO)、検索処理に対する戻り値として、「該当なし」を設定する(ステップS49)。システム制御部14は、この処理を終えると、宿泊施設検索処理を終了させる。
 なお、システム制御部14は、ステップS45において、検索条件1を用いて検索された宿泊施設の数がT3未満である場合には、検索条件1を検索条件1aと検索条件1bとに更に分割してもよい。そして、システム制御部14は、検索条件1aに含まれる全てのキーワードに合致する宿泊施設を検索するとともに、検索条件1bに含まれる全てのキーワードに合致する宿泊施設を検索してもよい。如何なる基準で検索条件1を分割するかは任意である。例えば、システム制御部14は、提供対象種別に応じて分割してもよいし、ランダムに分割してもよい。システム制御部14が、検索条件1を分割して検索を行った場合、該当宿泊施設集合が複数発生することになる。そこで、システム制御部14は、組み合わせを抽出するとき、検索条件1aで検索された該当宿泊施設集合に含まれる何れかの宿泊施設と、検索条件1bで検索された該当宿泊施設集合に含まれる何れかの宿泊施設と、地域検索条件で検索された該当地域集合に含まれる何れかの地域と、の組み合わせの中から、互いに関連を有する2つの宿泊施設及び1つの地域の組み合わせを抽出する。
 また、システム制御部14は、検索条件1aに含まれる全てのキーワードに合致する宿泊施設を検索するとともに、検索条件1bを検索条件2に統合してもよい。そして、システム制御部14は、検索条件1aを用いて検索された宿泊施設の数がT3以上である場合には、検索条件1bを含む検索条件2を地域検索条件に統合してもよい。
 また、システム制御部14は、ステップS48において、検索条件2を用いて検索された宿泊施設の数がT3未満である場合にも、検索条件2を更に分割してもよい。分割後の処理内容は、検索条件1を分割した場合の処理内容と基本的に同様である。
 システム制御部14は、宿泊施設検索処理を終えると、図6に示すように、宿泊施設検索処理において、戻り値が「該当なし」に設定されているか否かを判定する(ステップS24)。このとき、システム制御部14は、戻り値が「該当なし」に設定されていると判定した場合には(ステップS24:YES)、ステップS30に移行する。一方、システム制御部14は、戻り値が「該当なし」に設定されていないと判定した場合には(ステップS24:NO)、地域検索処理を実行する(ステップS25)。
 図8は、本実施形態に係る宿泊施設予約サーバ1のシステム制御部14の地域検索処理における処理例を示すフローチャートである。
 図8に示すように、システム制御部14は、階層番号Nに1を設定する(ステップS61)。次いで、システム制御部14は、検索手段として、第N階層の地域の集合から、地域検索条件に含まれる全てのキーワードに合致する地域を検索する(ステップS62)。具体的に、システム制御部14は、地域情報DB12cに登録されている地域情報の中から、階層番号がNである地域情報を1つ選択する。次いで、システム制御部14は、選択した地域情報がスポットリストを含む場合には、スポットリストに登録されている各スポットIDに対応するスポット情報を、スポット情報DB12dから取得する。このときの階層番号Nは1であるので、地域情報はスポットリストを含む。次いで、システム制御部14は、選択した地域情報に含まれる地域名及び地域説明と、取得した各スポット情報に含まれるスポット名及びスポット詳細情報とから、地域検索条件に含まれる各キーワードを検索する。ここで、システム制御部14は、地域検索条件に含まれる全てのキーワードが検索された場合には、選択された地域情報に含まれる地域IDを、地域検索条件に含まれる全てのキーワードに合致する地域の地域IDとして取得する。システム制御部14は、このような処理を、階層番号がNである全ての地域情報について実行する。
 システム制御部14は、ステップS62の処理を終えると、検索された地域の数がT4以上であるか否かを判定する(ステップS63)。このとき、システム制御部14は、検索された地域の数がT4以上であると判定した場合には(ステップS63:YES)、検索処理に対する戻り値として、「該当あり」を設定する(ステップS64)。システム制御部14は、この処理を終えると、地域検索処理を終了させる。
 一方、システム制御部14は、検索された地域の数がT4未満であると判定した場合には(ステップS63:NO)、階層番号Nが最上位の階層の番号と一致するか否かを判定する(ステップS65)。このとき、システム制御部14は、階層番号Nが最上位の階層の番号と一致しないと判定した場合には(ステップS65:NO)、階層番号Nに1を加算する(ステップS66)。これにより、システム制御部14は、変更手段として、検索対象とする地域の広さを、ステップS62において直前に検索が行われたときよりも広くする。次いで、システム制御部14は、ステップS62に移行する。
 システム制御部14は、ステップS62~S66の処理を繰り返すことにより、検索された地域の数がT4以上となるまで、検索対象とする地域を、徐々に広い地域に変更しながら、地域の検索を繰り返す。ここで、ステップS62においては、階層番号Nが2以上である場合、検索の処理対象とする地域情報に、スポットリストが含まれていない。この場合、システム制御部14は、地域情報に含まれている地域リストに登録されている各地域IDに対応する地域情報を、地域情報DB12cから取得する。次いで、システム制御部14は、取得した地域情報にスポットリストが含まれているか否かを判定する。このとき、システム制御部14は、取得した地域情報にスポットリストが含まれていない場合には、取得した地域情報に含まれる地域リストに登録されている各地域IDに対応する地域情報を更に取得する。システム制御部14は、スポットリストを含む地域情報を取得するまで、地域情報の取得を繰り返す。そして、システム制御部14は、取得した地域情報に含まれるスポットリストに基づいて、スポット情報を取得する。システム制御部14は、取得したスポット情報を用いてキーワードの検索を行う。
 ステップS65において、システム制御部14は、階層番号Nが最上位の階層の番号と一致すると判定した場合には(ステップS65:YES)、戻り値として、「該当なし」を設定する(ステップS67)。これ以上、検索対象とする地域が存在しないからである。システム制御部14は、この処理を終えると、地域検索処理を終了させる。
 なお、システム制御部14は、階層番号Nが最上位の階層の番号と一致すると判定した場合には、地域検索条件を、地域検索条件1と地域検索条件2とに更に分割してもよい。そして、システム制御部14は、地域検索条件1に含まれる全てのキーワードに合致する地域を検索するとともに、地域検索条件2に含まれる全てのキーワードに合致する地域を検索してもよい。如何なる基準で地域検索条件を分割するかは任意である。例えば、システム制御部14は、キーワードに関連する対象の種類に応じて分割してもよい。システム制御部14が、地域検索条件を分割して検索を行った場合、該当地域集合が複数発生することになる。そこで、システム制御部14は、組み合わせを抽出するとき、宿泊施設検索条件で検索された該当宿泊施設集合に含まれる何れかの宿泊施設と、地域条件1で検索された該当地域集合に含まれる何れかの地域と、地域施設条件2で検索された該当地域集合に含まれる何れかの地域と、の組み合わせの中から、互いに関連を有する1つの宿泊施設及び2つの地域の組み合わせを抽出する。
 システム制御部14は、地域検索処理を終えると、図6に示すように、地域検索処理において、戻り値が「該当なし」に設定されているか否かを判定する(ステップS26)。このとき、システム制御部14は、戻り値が「該当なし」に設定されていると判定した場合には(ステップS26:YES)、ステップS30に移行する。
 一方、システム制御部14は、戻り値が「該当なし」に設定されていないと判定した場合には(ステップS26:NO)、抽出手段として、宿泊施設検索処理において検索された宿泊施設の集合である該当宿泊施設集合と、地域検索処理において検索された地域の集合である該当地域集合から、互いに関連する宿泊施設と地域との組み合わせを抽出する(ステップS27)。例えば、システム制御部14は、検索された宿泊施設がある地域と、検索された地域との位置関係に基づいて、組み合わせを抽出する。宿泊施設がある地域は、宿泊施設情報に含まれる地域IDにより示される。例えば、検索された各宿泊施設について、宿泊施設がある地域が、検索された何れかの地域と同一であるか、または、検索された何れかの地域に含まれるか否かを判定する。つまり、システム制御部14は、宿泊施設が、何れかの地域内にあるか否かを判定する。そして、システム制御部14は、宿泊施設が、検索された何れかの地域内にある場合、この宿泊施設と地域とを組み合わせとして選択する。また、宿泊施設がある地域と隣接または近接する地域も、宿泊施設と関連する地域に含める場合、例えば、記憶部12に、如何なる地域と如何なる地域とが隣接するかを示す情報、または、如何なる地域と如何なる地域とが近接するかを示す情報を登録するデータベースが構築されてもよい。そして、システム制御部14は、このデータベースに基づいて、宿泊施設が、検索された何れかの地域と隣接しまたは近接する地域にある場合、この宿泊施設と地域とを組み合わせとして選択する。また、システム制御部14は、距離に基づいて組み合わせを抽出する場合、宿泊施設の住所に基づいて、宿泊施設がある場所の経緯度を取得する。そして、システム制御部14は、宿泊施設がある場所から地域の中心地までの距離を計算する。そして、システム制御部14は、計算された距離が、予め設定された距離以下である宿泊施設と地域との組み合わせを抽出する。
 システム制御部14は、ステップS27の処理を終えると、抽出された組み合わせがT5以上であるか否かを判定する(ステップS28)。T5は、例えば、宿泊施設予約サイトの管理者により設定された閾値である。T5に如何なる値を設定するかは管理者の任意である。例えば、1が設定されてもよい。システム制御部14は、抽出された組み合わせがT5未満であると判定した場合には(ステップS28:NO)、ステップS30に移行する。
 なお、システム制御部14は、抽出された組み合わせがT5未満であると判定した場合には、ユーザにより指定された複数のキーワードを、改めて分割し直して、ステップS23に移行してもよい。この場合、システム制御部14は、宿泊施設検索条件及び地域検索条件のそれぞれに含まれるキーワードの組み合わせが、最初の分割によってできた宿泊施設検索条件及び地域検索条件のそれぞれに含まれるキーワードの組み合わせと異なるように、分割を行う。
 また、T4に2以上の値が設定されている場合、組み合わせが1つ以上抽出されたのにもかかわらず、ステップS30への移行によって、抽出された組み合わせに対応する組み合わせ表示領域120が検索結果ページに表示されない場合がある。そこで、システム制御部14は、一組以上の組み合わせが抽出された場合には、ステップS29に移行してもよい。
 ステップS28において、システム制御部14は、抽出された組み合わせがT5以上であると判定した場合には(ステップS28:YES)、抽出された組み合わせを一覧表示する検索結果ページのHTML文書を、検索リクエストの送信元のユーザ端末3へ送信する(ステップS29)。具体的に、システム制御部14は、組み合わせに含まれる宿泊施設の宿泊施設情報に含まれる宿泊施設名、宿泊施設詳細情報等に基づいて、宿泊施設情報表示領域110の表示用のデータを生成する。このとき、システム制御部14は、宿泊施設検索条件に含まれるキーワードが宿泊プランに合致した場合には、その宿泊プランの情報が表示されるように、表示用のデータを生成する。また、システム制御部14は、組み合わせに含まれる地域の地域情報に含まれる地域名、地域説明に基づいて、地域情報表示領域120の表示用のデータを生成する。このとき、システム制御部14は、地域検索条件に含まれるキーワードが地域内のスポットに合致した場合には、スポットの情報が表示されるように、表示用のデータを生成する。次いで、システム制御部14は、宿泊施設情報表示領域110の表示用のデータと、地域情報表示領域120の表示用のデータとを含むHTML文書を生成する。そして、システム制御部14は、生成したHTML文書を送信する。システム制御部14は、ステップS29の処理を終えると、検索処理を終了させる。ユーザ端末3は、宿泊施設予約サーバ1から受信したHTML文書に基づいて、検索結果ページを、例えば図3に示すように表示する。
 なお、T1に2以上の値が設定されている場合、ユーザにより指定された複数のキーワードの全てに合致する宿泊施設が1つ以上検索されたのにもかかわらず、宿泊施設と地域との組み合わせが検索される場合がある。この場合、システム制御部14は、検索された宿泊施設の情報と、検索された宿泊施設と地域との組み合わせの情報との両方が表示されるように、検索結果ページのHTML文書を生成してもよい。
 以上説明したように、本実施形態によれば、宿泊施設予約サーバ1のシステム制御部14が、検索条件として指定された複数のキーワードを、それぞれ少なくとも1つのキーワードを含む宿泊施設検索条件と地域検索条件とに分割し、宿泊施設検索条件に含まれるキーワードの全てに合致する宿泊施設と、地域検索条件に含まれるキーワードの全てに合致する地域と、をそれぞれ検索し、宿泊施設検索条件により検索された宿泊施設の何れかと、地域検索条件により検索された地域の何れかと、の組み合わせの中から、互いに予め定められた関連を有する宿泊施設と地域との組み合わせを抽出する。従って、検索条件として指定された複数のキーワードの全てに合致する宿泊施設が満足に存在しない場合であっても、検索条件を変えることなく、ユーザが望む検索結果を、宿泊施設と地域乃組み合わせとして得ることができる。
 また、システム制御部14が、検索条件として指定された複数のキーワードの全てに合致する宿泊施設の検索を行った結果、検索された宿泊施設の数がT1未満である場合に、複数のキーワードを分割する。従って、ユーザにとってより望ましい十分な数の検索結果を得ることができるとともに、不要な検索処理が実行されないようにすることができる。
 また、システム制御部14が、宿泊施設検索条件により検索された宿泊施設の数がT2未満である場合に、宿泊施設検索条件を検索条件1と検索条件2とに分割するとともに、検索条件2を地域検索条件に統合し、検索条件1に含まれるキーワードの全てに合致する宿泊施設と、地域検索条件に含まれるキーワードの全てに合致する地域と、をそれぞれ検索し、検索条件1により検索された宿泊施設の何れかと、地域検索条件により検索された地域の何れかと、の組み合わせの中から、互いに関連を有する宿泊施設と地域との組み合わせを抽出する。従って、抽出される組み合わせに含まれる宿泊施設または地域の数を増やすことなく、ユーザが望む十分な数の検索結果を、より得やすくすることができる。
 また、システム制御部14が、複数のキーワードのそれぞれごとに、キーワードが宿泊施設により提供される提供対象に関連するキーワードであるか否かを判定し、提供対象に関連すると判定されたキーワードを宿泊施設検索条件に含め、提供対象に関連すると判定されなかったキーワードを地域検索条件に含める。従って、ユーザが望む提供対象を提供する宿泊施設を含む組み合わせを十分な数得ることができる。
 また、システム制御部14が、宿泊施設検索条件により検索された何れかの宿泊施設の場所が、地域検索条件により検索された何れかの地域に対して予め定められた範囲内にある場合に、その宿泊施設とその地域とを、互いに関連を有する施設と地域の組み合わせとして抽出する。従って、ユーザが同時期に宿泊施設と地域との両方に行きやすい組み合わせを得ることができる。
 また、システム制御部14が、地域検索条件により検索された地域の数がT4未満である場合、検索対象とする地域の広さを、T4未満の数の地域が検索されたときよりも広くし、広さが変更された地域を検索対象として、地域検索条件に含まれるキーワードの全てに合致する地域を検索し、宿泊施設検索条件により検索された宿泊施設の何れかと、広さが変更された地域を検索対象として地域検索条件により検索された地域の何れかと、の組み合わせの中から、互いに関連を有する宿泊施設と地域との組み合わせを抽出する。従って、検索された地域の数がT4よりも少ない場合には、検索対象とされる地域の広さが広くなるので、地域検索条件に含まれるキーワードの全てに合致する地域が検索される蓋然性が高くなる。そのため、ユーザが望む十分な数の検索結果を、より得やすくすることができる。
[2.第2実施形態]
 以下に説明する第2実施形態は、商品を購入するための情報提供システムに対して本発明を適用した場合の実施形態である。
[2-1.情報提供システムの構成及び機能概要]
 先ず、本実施形態に係る情報提供システムS2の構成について、図9を用いて説明する。図9は、本実施形態に係る情報提供システムS2の概要構成の一例を示す図である。図9において、図1と同様の要素については、同様の符号を付してある。
 図9に示すように、情報提供システムS2は、電子商店街サーバ4と、複数の店舗端末5と、複数のユーザ端末6と、を含んで構成されている。そして、電子商店街サーバ4と各店舗端末5及び各ユーザ端末6とは、ネットワークNWを介して相互にデータの送受信が可能になっている。
 電子商店街サーバ4は、商品の購入が可能な電子商店街に関する各種処理を実行するサーバ装置である。電子商店街サーバ4は、本発明における検索装置の一例である。ユーザは、電子商店街を利用することにより、所望の店舗から所望の商品を購入することができる。電子商店街サーバ4は、ユーザ端末6からのリクエストに応じて、例えば、電子商店街のWebページを送信したり、商品の検索や購入等に関する処理を行ったりする。なお、商品は、本発明における検索対象の一例である。
 店舗端末5は、電子商店街に出店している店舗の従業員等により利用される端末装置である。店舗端末5は、従業員等からの操作に基づいて電子商店街サーバ4等のサーバ装置にアクセスする。これにより、店舗端末5は、サーバ装置からWebページを受信して表示する。店舗端末5には、ブラウザや電子メールクライアント等のソフトウェアが組み込まれている。従業員は、店舗端末5を利用することにより、例えば、販売する商品の情報を電子商店街に登録したり、商品の注文内容を確認したりする。
 ユーザ端末6は、電子商店街を利用するユーザの端末装置である。なお、ユーザ端末6の構成及び機能は、第1実施形態におけるユーザ端末3の構成及び機能と基本的に同一である。
 ユーザは、電子商店街において購入候補となる商品を探すために、検索条件を指定することができる。例えば、検索条件として、キーワードの指定が可能である。ユーザは、例えば、ユーザが所望する商品の条件を簡潔に表す語を、キーワードとして指定することができる。検索条件が指定されると、電子商店街サーバ4は、検索条件を満たす商品を検索する。具体的に、電子商店街サーバ4は、指定されたキーワードを商品名や商品説明に含む商品を検索する。そして、電子商店街サーバ4は、商品検索結果ページをユーザ端末6へ送信する。
 商品検索結果ページは、検索された商品の一覧が表示されるWebページである。例えば、商品検索結果ページは、商品名、商品の画像、商品価格、販売元の店舗名等が、商品ごとに表示される。また、商品検索結果ページには、検索された商品の商品ページへのリンクが埋め込まれている。商品検索結果ページにおいて、ユーザは、任意の商品のリンクを選択すると、対応する商品ページがユーザ端末6の画面に表示される。商品ページは、1つの商品に関する詳細な情報が表示されるWebページである。ユーザは、商品ページにおいて、商品を注文するための操作を行うことにより、商品ページに情報が表示されている商品を購入することができる。
[2-2.指定された複数のキーワードの分割]
 ユーザは、商品を検索する場合にも、商品に対して要求する条件を複数持っている場合がある。複数の検索条件が指定されると、第1実施形態の場合と同様の理由で、ユーザが望む十分な数の検索結果をユーザが得ることができない場合がある。
 そこで、電子商店街サーバ4は、検索条件として指定された複数のキーワードを、それぞれ少なくとも1つのキーワードを含む部分検索条件1と部分検索条件2とに分割する。部分検索条件1及び部分検索条件2は、本発明における子検索条件の一例である。次いで、電子商店街サーバ4は、部分検索条件ごとに、部分検索条件に含まれる全てのキーワードに合致する商品を検索する。部分検索条件ごとに検索された商品の集合を、「該当商品集合」という。次いで、電子商店街サーバ4は、部分検索条件1を用いて検索された該当商品集合に含まれる商品の何れかと、部分検索条件2を用いて検索された該当商品集合に含まれる商品の何れかと、の組み合わせの中から、互いに関連を有する商品の組み合わせを抽出する。そして、電子商店街サーバ4は、抽出した組み合わせを、検索結果としてユーザ端末6によりユーザへ提示させる。
 如何なる商品の組み合わせを互いに関連する商品の組み合わせとするかの判断基準の一例を説明する。ユーザの要求を全て満たす理想的な商品が存在すると仮定する。そして、複数の商品を同時にまたは組み合わせて利用することで、複数の商品が、理想的な商品の代用品になるか否かで判断される。ユーザは、このような条件を満たす商品の組み合わせを購入することで、自分の要求を満たすことができる。互いに関連する商品の組み合わせとしては、例えば、メーカーが同一である複数の商品、ジャンルが同一である複数の商品、販売元の店舗が同一である複数の商品、主商品と主商品に対するオプション品との関係にある複数の商品等がある。オプション品としては、例えば、主商品である電動歯ブラシに対して替えブラシ等の消耗品、主商品であるモバイルパソコンに対してモバイルパソコンを収納するケース等のアクセサリー等がある。
 図10(a)は、商品の検索例を示す図である。例えば、ユーザは、パーソナルコンピュータを購入したいと思ったとする。そして、ユーザは、X社製であり、オフィスソフトウェアがプリインストールされており、且つ、メモリの容量が4Gバイトであることを、パーソナルコンピュータに対して望んでいると思っているとする。そこで、ユーザは、例えば、図10(a)に示すように、複数のキーワードとして、「X社 パーソナルコンピュータ オフィス メモリ4Gバイト」を指定したとする。
 電子商店街サーバ4は、指定された複数のキーワードの全てに対応する商品を検索し、検索された商品の数が閾値未満である場合には、複数のキーワードを、部分検索条件1と部分検索条件2とに分割する。このときに用いられる閾値を、T6とする。T6は、本発明における第1数の一例である。このとき、如何なる基準で複数のキーワードを分割するかは任意である。例えば、M個のキーワードが指定された場合、電子商店街サーバ4は、M個のキーワードを、M-1個のキーワードを含む部分検索条件1と、1個のキーワードを含む部分検索条件2とに分割してもよい。このように分割する理由は、抽出する組み合わせに含まれる商品のうち、少なくとも1つの商品を、ユーザの要求を大部分満たす商品とするためである。この場合、部分検索条件1を用いて検索される商品が、ユーザの要求を大部分満たす商品となる。また、この場合、電子商店街サーバ4は、M個のキーワードのそれぞれで検索される商品の数を取得し、検索される商品の数が最も少ないキーワードを、部分検索条件2に入れるようにしてもよい。検索される商品の数が最も少ないキーワードが、ユーザが望む十分な数の検索結果を得ることができない最大の要因となっている蓋然性があるからである。ユーザが望む十分な数の検索結果を得ることができない要因となっているキーワードを部分検索条件1から外すことによって、部分検索条件1を満たす商品を検索することができる蓋然性を高めることができる。なお、電子商店街サーバ4は、別の方法で複数のキーワードを分割してもよい。
 例えば、検索される商品の数が最も少ないキーワードが「メモリ4Gバイト」であるとする。この場合、「X社 パーソナルコンピュータ オフィス メモリ4Gバイト」が、「X社 パーソナルコンピュータ オフィス」という部分検索条件1と、「メモリ4Gバイト」という部分検索条件2と、に分割される。
 そして、「X社 パーソナルコンピュータ オフィス」に合致する商品として、商品A-1、A-2及びA-3が検索されたとする。商品A-1は、据え置き型のパーソナルコンピュータである。A-2及びA-3は、ノートパソコンである。また、商品A-1、A-2及びA-3は、X社製のパーソナルコンピュータであり、オフィスソフトウェアがプリインストールされている蓋然性がある。一方、「メモリ4Gバイト」に合致する商品として、商品B-1、B-2及びB-3が検索されたとする。商品B-1は、据え置き型のパーソナルコンピュータである。商品B-2は、据え置き型のパーソナルコンピュータ用の増設メモリである。商品B-3は、携帯用のメモリカードである。商品B-1、B-2及びB-3は、メモリの容量が4Gバイトである蓋然性がある。
 ここで、商品A-1と商品B-2とは、主商品とオプション品との関係にある。そこで、商品A-1と商品B-2との組み合わせが、検索結果として抽出される。商品A-1に対して、商品B-2を組み込むことによって、ユーザの要求を満たすパーソナルコンピュータができあがるからである。一方、商品A-1と商品B-1とは、ジャンルが互いに同一である。しかしながら、商品A-1と商品B-1とを組み合わせることはできない。また、商品A-1と商品B-1とを同時に利用することができたとしても、ユーザの要求を満たす商品とはならない。そのため、商品A-1と商品B-1との組み合わせは抽出されない。
 また、商品A-2や商品A-3に対して、商品B-2を組み込むことはできない。そのため、商品A-2と商品B-2との組み合わせ、及び商品A-3と商品B-2と組み合わせは抽出されない。また、商品B-3を、商品A-1ないしA-3に接続することができるかもしれないが、商品B-3は、パーソナルコンピュータのオプション品ではない。そのため、商品B-3を含む組み合わせは抽出されない。
 如何なる商品の組み合わせを、互いに関連する商品の組み合わせとするかは、例えば、商品のジャンルに応じて変えてもよい。上述したパーソナルコンピュータの例では、ジャンルが互いに同一である複数の商品は、互いに関連する商品の組み合わせにはならなかった。しかしながら、商品のジャンルによっては、ジャンルが互いに同一である複数の商品は、互いに関連する商品の組み合わせになる場合がある。例えば、ユーザは、牡蠣、蟹及び海老が入った鍋のセットを購入したいとする。そこで、ユーザは、複数のキーワードとして、「鍋セット 牡蠣 蟹 海老」を指定したとする。「鍋セット 牡蠣 蟹 海老」に対応する商品がなかった場合、「鍋セット 牡蠣 蟹 海老」が、例えば、「鍋セット 牡蠣 蟹」と「海老」とに分割される。そして、「鍋セット 牡蠣 蟹」に対応する商品として、牡蠣及び蟹が入った鍋のセットが検索され、「海老」に対応する商品として、食用の海老が検索されたとする。牡蠣及び蟹が入った鍋に海老を入れることで、ユーザが食べたい鍋を作ることができる。鍋セット及び海老の何れも食品である。電子商店街サーバ4が、ジャンルが食品である複数の商品を組み合わせとして抽出することで、ユーザの要求を満たす商品の組み合わせを抽出することができる。
 電子商店街サーバ4は、部分検索条件1を用いて検索された商品の数が閾値未満である場合、部分検索条件1を部分検索条件1aと部分検索条件1bとに更に分割してもよい。部分検索条件1a及び部分検索条件1bは、本発明における孫検索条件の一例である。次いで、電子商店街サーバ4は、部分検索条件1aに含まれる全てのキーワードに合致する商品と、部分検索条件1bに含まれる全てのキーワードに合致する商品と、検索条件2に含まれる全てのキーワードに合致する商品と、をそれぞれ検索する。そして、電子商店街サーバ4は、部分検索条件1aを用いて検索された商品の何れかと、部分検索条件1bを用いて検索された商品の何れかと、部分検索条件2を用いて検索された商品の何れかと、の組み合わせのうち、互いに関連する商品の組み合わせを抽出してもよい。このときに用いられる閾値を、T7とする。T7は、本発明における第2数の一例である。
 図10(b)は、部分検索条件1の分割例を示す図である。
 例えば、部分検索条件1に含まれる「X社」、「パーソナルコンピュータ」及び「オフィス」のうち、「オフィス」で検索される商品の数が最も少ないとする。この場合、「X社 パーソナルコンピュータ オフィス」が、「X社 パーソナルコンピュータ」を含む部分検索条件1と、「オフィス」を含む部分検索条件2と、に分割される。例えば、「X社 パーソナルコンピュータ」に合致する商品として、X社製のパーソナルコンピュータが検索され、「オフィス」に合致する商品としてオフィスソフトウェアが検索され、「メモリ4Gバイト」に合致する商品として、パーソナルコンピュータ用の増設メモリが検索されたとする。ここで、オフィスソフトウェアは、パーソナルコンピュータにインストールすることができるので、オフィスソフトウェアをパーソナルコンピュータのオプション品と考えることができる。また、増設メモリは、パーソナルコンピュータのオプション品である。従って、パーソナルコンピュータ、オフィスソフトウェア及び増設メモリの組み合わせが抽出される。
 なお、電子商店街サーバ4は、検索条件としてユーザにより当初指定された複数のキーワードを、3つ以上の部分検索条件に分割してもよい。この場合も、電子商店街サーバ4は、部分検索条件ごとに、商品を検索する。抽出される組み合わせに含まれる商品の数は、部分検索条件の数と同数になる。また、電子商店街サーバ4は、部分検索条件を更に分割するときにも、3つ以上の部分検索条件に分割してもよい。
 図11は、商品検索結果ページの表示例を示す図である。商品の組み合わせが検索された場合、例えば、図11に示すように、商品検索結果ページが表示される。商品検索結果ページには、組み合わせ表示領域200が表示される。組み合わせ表示領域200は、検索された組み合わせごとに表示される。図11は、商品A-1とB-2との組み合わせに対応する組み合わせ表示領域200の表示例である。
 組み合わせ表示領域200には、複数の商品表示領域210が表示される。商品表示領域210には、組み合わせに含まれる商品に関する情報が表示される。商品表示領域210は、商品ごとに表示される。具体的に、商品情報表示領域210には、例えば、商品名、商品の画像、商品価格、販売元の店舗名等が表示される。
[2-3.電子商店街サーバの構成]
 次に、電子商店街サーバ4の構成について、図12及び図13を用いて説明する。
 図12は、本実施形態に係る電子商店街サーバ4の概要構成の一例を示すブロック図である。図12に示すように、電子商店街サーバ4は、通信部41と、記憶部42と、入出力インターフェース43と、システム制御部44と、を備えている。そして、システム制御部44と入出力インターフェース43とは、システムバス45を介して接続されている。
 通信部41は、ネットワークNWに接続して、店舗端末5やユーザ端末6等との通信状態を制御するようになっている。
 記憶部42は、例えば、ハードディスクドライブ等により構成されている。この記憶部42には、会員情報DB42a、ジャンル情報DB42b、店舗情報DB42c、商品情報DB42d、関連商品情報DB42e等のデータベースが構築されている。
 図13(a)は、会員情報DB42aに登録される内容の一例を示す図である。会員情報DB42aには、情報提供システムS2に会員登録しているユーザに関する会員情報が登録される。会員情報DB42aに登録される内容は、第1実施形態における会員情報DB12aに登録される内容と基本的に同一である。
 図13(b)は、ジャンル情報DB42bに登録される内容の一例を示す図である。ジャンル情報DB42bには、商品のジャンルに関するジャンル情報が登録されている。具体的に、ジャンル情報DB42bには、ジャンルID、ジャンル名、ジャンルのレベル、親ジャンルID、子ジャンルIDリスト等のジャンルの属性が、ジャンルごとに対応付けて登録される。ジャンル情報は、例えば、電子商店街の管理者等により設定される。
 商品のジャンルは、木構造で階層的に定義されている。具体的に、木構造の各ノードが、ジャンルに相当する。ノードの深さが、そのノードに相当するジャンルのレベル(階層)に相当する。ノードの深さは、根に位置するノード(以下、「根ノード」という)からの距離である。レベルの値が大きいほど、レベルとしての深さが深く、レベルの値が小さいほど、レベルとしての深さが浅い。根ノードが有する子ノードに相当するジャンルがレベル1のジャンルである。レベル1のジャンルが最上位のジャンルである。レベル1の各ジャンルに対しては、子ノードに相当するジャンルが、レベル2のジャンルとして定義されている。ここで、あるジャンルC1の子ノードに相当するジャンルC2を、ジャンルC1の「子ジャンル」という。また、このときのジャンルC1を、ジャンルC2の「親ジャンル」という。子ジャンルは、親ジャンルを更に複数に区分したときに、同じような商品が属する範囲である。従って、子ジャンルは親ジャンルに属する。
 ジャンルIDは、ジャンル情報によって定義されるジャンルの識別情報である。親ジャンルIDは、ジャンル情報によって定義されるジャンルの親ジャンルのジャンルIDである。子ジャンルIDリストは、ジャンル情報によって定義されるジャンルの子ジャンルのジャンルIDのリストである。子ジャンルIDリストは、ジャンル情報によって定義されるジャンルが子ジャンルを有する場合に設定される。
 図13(c)は、店舗情報DB42cに登録される内容の一例を示す図である。店舗情報DB42cには、電子商店街に出店している店舗に関する店舗情報が登録される。具体的に、店舗情報DB42cには、店舗ID、店舗名、郵便番号、住所、電話番号、電子メールアドレス等の店舗の属性が、店舗ごとに対応付けて登録される。店舗IDは、店舗の識別情報である。
 図13(d)は、商品情報DB42dに登録される内容の一例を示す図である。商品情報DB42dには、電子商店街で販売されている商品に関する商品情報が登録される。具体的に、商品情報DB42dには、商品ID、店舗ID、商品コード、ジャンルID、商品名、商品画像のURL(Uniform Resource Locator)、商品説明、商品価格等の商品の属性が、店舗が販売する商品ごとに対応付けて登録される。
 商品IDは、店舗が、販売する商品を管理するための商品の識別情報である。店舗IDは、商品の販売元の店舗を示す。商品コードは、商品を識別するコード番号である。同一の商品に対しては同一の商品コードが付与される。商品コードとしては、例えば、JAN(Japanese Article Number Code)コードがある。商品IDは、基本的に商品ページと一対一で対応する。従って、商品コードが同一の商品であっても、商品情報が異なる複数の商品に対しては、互いに異なる商品IDが付与される。ジャンルIDは、商品が属するジャンルのジャンルIDである。基本的には、最下位のレベルに定義されているジャンル(木構造における葉ノードに相当するジャンル)のジャンルIDが設定されている。つまり、各商品は、最も細分化されたジャンルでジャンル分けされている。商品名は、店舗が付けた商品の名称である。そのため、この商品名は、商品の正式な名称とは異なる場合がある。
 図13(e)は、関連商品情報DB42eに登録される内容の一例を示す図である。関連商品情報DB42eには、主商品とオプション品との関係にある複数の商品に関する関連商品情報が登録される。具体的に、関連商品情報DB42eには、主商品の商品コード及びオプション品の商品コードが、主商品とオプション品との組み合わせごとに対応付けて登録される。
 また、記憶部42には、HTML文書、XML文書、画像データ、テキストデータ、電子文書等の各種データ、及び、管理者等により設定された各種の設定値が記憶されている。
 また、記憶部42には、オペレーティングシステム、WWWサーバプログラム、DBMS、電子商取引管理プログラム等の各種プログラムが記憶されている。電子商取引管理プログラムは、商品の検索、商品の注文等の処理を実行するためのプログラムである。電子商取引管理プログラムは、本発明における検索プログラムの一例である。なお、各種プログラムは、例えば、他のサーバ装置等からネットワークNWを介して取得されるようにしてもよいし、DVD等の記録媒体に記録されてドライブ装置を介して読み込まれるようにしてもよい。
 入出力インターフェース43は、通信部41及び記憶部42とシステム制御部44との間のインターフェース処理を行うようになっている。
 システム制御部44は、CPU14a、ROM(Read Only Memory)44b、RAM(Random Access Memory)44c等により構成されている。そして、システム制御部44は、CPU44aが、各種プログラムを読み出し実行することにより、本発明における分割手段、検索手段及び抽出手段として機能するようになっている。なお、電子商店街サーバ4が、複数のサーバ装置で構成されてもよい。
[2-4.情報提供システムの動作]
 次に、情報提供システムS2の動作について、図14を用いて説明する。
 図14は、本実施形態に係る電子商店街サーバ4のシステム制御部44の検索処理における処理例を示すフローチャートである。電子商店街において、ユーザは、ユーザ端末6を操作してキーワードを1つ以上指定する。すると、ユーザ端末6は、検索リクエストを電子商店街サーバ4へ送信する。検索リクエストは、指定されたキーワードを含む。検索処理は、電子商店街サーバ4が、検索リクエストを受信したときに開始される。
 図14に示すように、システム制御部44は、受信した検索リクエストから、指定されたキーワードを全て取得する(ステップS81)。次いで、システム制御部44は、指定された全てのキーワードに対応する商品を検索する(ステップS82)。具体的に、システム制御部44は、商品情報DB42dに登録されている商品情報のうち、商品名及び商品説明の少なくとも何れか一方に、指定されたキーワードを含む商品情報を検索する。キーワードが複数指定されている場合、システム制御部44は、全てのキーワードのそれぞれを、商品名及び商品説明の少なくとも何れか一方に含む商品情報を検索する。
 システム制御部44は、ステップS82の処理を終えると、検索された商品の数がT6以上であるか否かを判定する(ステップS83)。このとき、システム制御部44は、検索された商品の数がT6以上であると判定した場合には(ステップS83:YES)、検索された商品の一覧を表示する商品検索結果ページを、検索リクエストの送信元のユーザ端末6へ送信する(ステップS84)。システム制御部44は、この処理を終えると、検索処理を終了させる。
 なお、システム制御部44は、T6に2以上の値が設定されている場合であって、ユーザにより指定された複数のキーワードの全てに合致する商品が1つ以上検索された場合には、検索された商品の一覧を表示する商品検索結果ページをユーザ端末6へ送信してもよい。
 一方、システム制御部44は、検索された商品の数がT6未満であると判定した場合には(ステップS83:NO)、指定されたキーワードが複数あるか否かを判定する(ステップS85)。このとき、システム制御部44は、指定されたキーワードが1つであると判定した場合には(ステップS85:NO)、該当する商品がない旨を表示する商品検索結果ページを、検索リクエストの送信元のユーザ端末6へ送信する(ステップS97)。システム制御部44は、この処理を終えると、検索処理を終了させる。
 一方、システム制御部44は、指定されたキーワードが複数あると判定した場合には(ステップS85:YES)、分割手段として、指定された複数のキーワードを、部分検索条件1と部分検索条件2とに分割する(ステップS86)。具体的に、システム制御部44は、指定された複数のキーワードのそれぞれで検索される商品の数を取得する。このとき、システム制御部44は、実際に商品の検索を行ってもよい。また、システム制御部44は、定期的に様々なキーワードで商品の検索を行い、検索された商品の数をキーワードに対応付けて記憶部42に記憶させておいてもよい。そして、システム制御部44は、記憶部42から検索される商品の数を取得してもよい。システム制御部44は、検索された商品の数が最も少ないキーワードの1つを部分検索条件2に含め、残りのキーワードを部分検索条件1に含める。
 システム制御部44は、ステップS86の処理を終えると、検索手段として、部分検索条件1に含まれる全てのキーワードに合致する商品を検索する(ステップS87)。この場合の検索方法は、ステップS82における検索方法と基本的に同様である。次いで、システム制御部44は、検索された商品の数がT7以上であるか否かを判定する(ステップS88)。このとき、システム制御部44は、検索された商品の数がT7未満であると判定した場合には(ステップS88:NO)、部分検索条件1を更に分割可能であるか否かを判定する(ステップS89)。例えば、部分検索条件1に含まれるキーワードの数が予め設定された数になるまで、分割可能であると定められていてもよい。また例えば、分割可能な最大の回数が予め設定されており、その回数になるまで分割可能であると定められていてもよい。システム制御部44は、更に分割可能であると判定した場合には(ステップS89:YES)、分割手段として、部分検索条件1を部分検索条件1aと部分検索条件1bとに分割する(ステップS90)。このとき、システム制御部44は、部分検索条件1に含まれるキーワードのうち、検索される商品の数が最も少ないキーワードを1つ部分検索条件1bに含め、残りのキーワードを部分検索条件1aに含める。システム制御部44は、部分検索条件1を分割すると、部分検索条件1aを最新の部分検索条件1とする(ステップS91)。次いで、システム制御部44は、ステップS87に移行して、最新の部分検索条件1に含まれる全てのキーワードに対応する商品を検索する。
 システム制御部44は、ステップS87~S91の処理を繰り返すことにより、T7以上の数の商品が検索されるか、または、分割が不可能になるまで、部分検索条件1を用いた検索及び部分検索条件1の分割を繰り返す。ステップS89において、システム制御部44は、部分検索条件1を更に分割可能ではないと判定した場合には(ステップS89:NO)、ステップS97に移行する。なお、この場合、システム制御部44は、複数のキーワードを改めて検索し直して、ステップS87に移行してもよい。この場合、システム制御部44は、ステップS86における分割方法とは異なる方法で複数のキーワードを分割する。例えば、システム制御部44は、複数のキーワードを、2つのキーワードを含む部分検索条件2と、残りのキーワードを含む部分検索条件1とに分割してもよい。
 ステップS88において、システム制御部44は、検索された商品の数がT7以上であると判定した場合には(ステップS88:YES)、検索手段として、部分検索条件2に含まれる全てのキーワードに合致する商品を検索する(ステップS92)。この場合の検索方法は、ステップS82における検索方法と基本的に同様である。次いで、システム制御部44は、部分検索条件1bがあるか否かを判定する(ステップS93)。このとき、システム制御部44は、部分検索条件1bがあると判定した場合には(ステップS93:YES)、検索手段として、部分検索条件1bごとに、部分検索条件1bに含まれる全てのキーワードに対応する商品を検索する(ステップS94)。この場合の検索方法は、ステップS82における検索方法と基本的に同様である。
 システム制御部44は、部分検索条件1bがないと判定した場合(ステップS93:NO)、または、ステップS94の処理を終えた場合には、抽出手段として、部分検索条件1を用いて検索された該当商品集合に含まれる何れかの商品と、部分検索条件2を用いて検索された該当商品集合に含まれる何れかの商品と、の組み合わせの中から、互いに関連する商品の組み合わせを抽出する(ステップS95)。ここで、システム制御部44は、部分検索条件1bを用いて検索を行った場合には、部分検索条件1を用いて検索された該当商品集合に含まれる何れかの商品と、部分検索条件2を用いて検索された該当商品集合に含まれる何れかの商品と、部分検索条件1bを用いて検索された該当商品集合に含まれる何れかの商品と、の組み合わせの中から、互いに関連する商品の組み合わせを抽出する。具体的に、システム制御部44は、例えば、ジャンルが互いに同一である複数の商品を抽出する場合、各商品の商品情報から、ジャンルIDを取得する。そして、システム制御部44は、該当商品集合間で、ジャンルIDが互いに一致する複数の商品を特定してもよい。この場合、最下位のレベルにおいて、ジャンルが同一であるか否かが判定される。システム制御部44は、最下位のレベルよりも上位のレベルにおけるジャンルが互いに同一である複数の商品を抽出してもよい。下位のレベルでジャンル同士が同一であるか否かが判定されると、同一のジャンルに属する商品の範囲が狭くなる場合があるからである。システム制御部44は、ジャンル情報DB42bに登録されているジャンル情報に基づいて、各商品について、最下位のレベルよりも上位のレベルにおけるジャンルのジャンルIDを取得することができる。また、例えば、販売元の店舗が互いに同一である複数の商品を抽出する場合、システム制御部44は、各商品の商品情報から、店舗IDを取得する。そして、システム制御部44は、該当商品集合間で、店舗IDが互いに一致する複数の商品を特定する。また、例えば、主商品とオプション品との関係にある複数の商品を抽出する場合、システム制御部44は、各商品の商品情報から、商品コードを取得する。そして、システム制御部44は、関連商品情報DB42eにおいて、該当商品集合間で、互いの商品コードが対応付けて登録されている複数の商品を特定する。
 システム制御部44は、ステップS95の処理を終えると、抽出された組み合わせを一覧表示する商品検索結果ページのHTML文書を、検索リクエストの送信元のユーザ端末6へ送信する(ステップS96)。具体的に、システム制御部44は、組み合わせに含まれる各商品の商品情報に含まれる商品名、商品画像のURL、商品価格、商品ID等に基づいて、商品情報表示領域210の表示用の情報を生成する。次いで、システム制御部44は、商品情報表示領域210の表示用のデータを含むHTML文書を生成する。そして、システム制御部44、生成したHTML文書を送信する。システム制御部44は、この処理を終えると、検索処理を終了させる。ユーザ端末6は、電子商店街サーバ4から受信したHTML文書に基づいて、商品検索結果ページを、例えば図11に示すように表示する。
 なお、T6に2以上の値が設定されている場合、ユーザにより指定された複数のキーワードの全てに合致する商品が1つ以上検索されたのにもかかわらず、複数の商品の組み合わせが検索される場合がある。この場合、システム制御部44は、検索された商品の情報と、検索された組み合わせの情報との両方が表示されるように、商品検索結果ページのHTML文書を生成してもよい。
 また、システム制御部44は、ステップS91において、部分検索条件1aを最新の部分検索条件1とするとともに、部分検索条件1bを、ステップS86の分割により生成された部分検索条件2に統合してもよい。
 以上説明したように、本実施形態によれば、電子商店街サーバ4のシステム制御部44が、検索条件として指定された複数のキーワードを、それぞれ少なくとも1つのキーワードを含む部分検索条件1及び2に分割し、部分検索条件ごとに部分検索条件に含まれるキーワードの全てに合致する商品と、部分検索条件に含まれるキーワードの全てに合致する商品と、をそれぞれ検索し、部分検索条件1により検索された商品の何れかと、部分検索条件2により検索された商品の何れかと、の組み合わせの中から、互いに予め定められた関連を有する商品の組み合わせを抽出する抽出する。従って、検索条件として指定された複数のキーワードの全てに合致する商品が満足に存在しない場合であっても、検索条件を変えることなく、ユーザが望む十分な数の検索結果を得ることができる。
 また、システム制御部44が、検索条件として指定された複数のキーワードの全てに合致する商品の検索を行った結果、検索された商品の数がT6未満である場合に、複数のキーワードを分割する。従って、ユーザにとってより望ましい検索結果を得ることができるとともに、不要な検索処理が実行されないようにすることができる。
 また、システム制御部44が、部分検索条件1により検索された商品の数がT7未満である場合に、部分検索条件1を部分検索条件1a及び1bに分割し、部分検索条件1aと部分検索条件1bとのそれぞれごとに、部分検索条件に含まれるキーワードの全てに合致する商品を検索し、部分検索条件1aにより検索された商品の何れかと、部分検索条件1bにより検索された商品の何れかと、部分検索条件2により検索された商品の何れかと、の組み合わせの中から、互いに関連を有する商品の組み合わせを抽出する。従って、部分検索条件1a及び1bのそれぞれは、部分検索条件1よりもキーワードの数が少ないので、部分検索条件1a及び1bを用いて検索を行った方が、部分検索条件1を用いて検索を行うよりも、商品が検索される蓋然性が高い。そのため、ユーザが望む十分な数の検索結果を、より得やすくすることができる。
 また、システム制御部44が、検索条件として指定された複数のキーワードのうち検索される商品の数が最も少ない1つのキーワードを部分検索条件2に含め、部分検索条件2に含まれないキーワードを部分検索条件1に含める。従って、部分検索条件1を、指定された検索条件にできるかぎり近づけることができるとともに、部分検索条件1により商品を検索することができる蓋然性を高めることができる。
 なお、上記各実施形態においては、検索対象として、宿泊施設または商品を検索する場合に本発明を適用していた。しかしながら、本発明を、例えば、宿泊施設以外の施設、場所、サービス、Webページ、画像、動画、音声、地図、ニュース、ブログ等の検索に適用してもよい。
 また、上記各実施形態においては、本発明における検索装置が、クライアントサーバシステムにおけるサーバ装置に適用されていた。つまり、端末装置が、ユーザにより指定されたキーワードをサーバ装置に送信し、サーバ装置が、受信したキーワードを用いて検索を行っていた。しかしながら、本発明が、スタンドアローンに適用されてもよい。つまり、本発明における検索装置が、ユーザによるキーワードの指定を直接受け付け、受け付けたキーワードを用いて検索を行い、検索結果を表示するなどして組み合わせの情報をユーザに直接提供してもよい。
1 宿泊施設予約サーバ
2 宿泊施設端末
3 ユーザ端末
11 通信部
12 記憶部
12a 会員情報DB
12b 宿泊施設情報DB
12c 地域情報DB
12d スポット情報DB
12e 宿泊施設キーワード情報DB
13 入出力インターフェース
14 システム制御部
14a CPU
14b ROM
14c RAM
15 システムバス
NW ネットワーク
S1 情報提供システム
4 電子商店街サーバ
5 店舗端末
6 ユーザ端末
41 通信部
42 記憶部
42a 会員情報DB
42b ジャンル情報DB
42c 店舗情報DB
42d 商品情報DB
42e 関連商品情報DB
43 入出力インターフェース
44 システム制御部
44a CPU
44b ROM
44c RAM
45 システムバス
S2 情報提供システム

Claims (12)

  1.  検索条件として指定された複数のキーワードを、それぞれ少なくとも1つのキーワードを含む2つの子検索条件に分割する分割手段と、
     前記子検索条件ごとに該子検索条件に含まれるキーワードの全てに合致する検索対象を検索する検索手段と、
     前記子検索条件の一方により検索された検索対象の何れかと、前記子検索条件の他方により検索された検索対象の何れかと、の組み合わせの中から、互いに予め定められた関連を有する検索対象の組み合わせを抽出する抽出手段と、
     を備えることを特徴とする検索装置。
  2.  請求項1に記載の検索装置において、
     前記分割手段は、前記複数のキーワードの全てに合致する検索対象の検索が行われた結果、検索された検索対象の数が予め設定された第1数未満である場合に、前記複数のキーワードを分割することを特徴とする検索装置。
  3.  請求項1または請求項2に記載の検索装置において、
     前記分割手段は、前記子検索条件の一方により検索された検索対象の数が予め設定された第2数未満である場合に、該子検索条件の一方を2つの孫検索条件に分割し、
     前記検索手段は、前記孫検索条件ごとに該孫検索条件に含まれるキーワードの全てに合致する検索対象を検索し、
     前記抽出手段は、前記孫検索条件の一方により検索された検索対象の何れかと、前記孫検索条件の他方により検索された検索対象の何れかと、前記子検索条件の他方により検索された検索対象の何れかと、の組み合わせの中から、互いに前記関連を有する検索対象の組み合わせを抽出することを特徴とする検索装置。
  4.  請求項1または請求項2に記載の検索装置において、
     前記分割手段は、前記子検索条件の一方により検索された検索対象の数が予め設定された第2数未満である場合に、該子検索条件の一方を2つの孫検索条件に分割するとともに、該孫検索条件の他方を前記子検索条件の他方に統合し、
     前記検索手段は、前記孫検索条件の一方に含まれるキーワードの全てに合致する検索対象と、前記子検索条件の他方に含まれるキーワードの全てに合致する検索対象と、をそれぞれ検索し、
     前記抽出手段は、前記孫検索条件の一方により検索された検索対象の何れかと、前記子検索条件の他方により検索された検索対象の何れかと、の組み合わせの中から、互いに前記関連を有する検索対象の組み合わせを抽出することを特徴とする検索装置。
  5.  請求項1乃至4の何れか1項に記載の検索装置において、
     前記分割手段は、前記複数のキーワードのうち検索される検索対象の数が最も少ない1つのキーワードを前記子検索条件の他方に含め、前記子検索条件の他方に含まれないキーワードを前記子検索条件の一方に含めることを特徴とする検索装置。
  6.  請求項1乃至5の何れか1項に記載の検索装置において、
     前記分割手段は、施設を検索するために指定された前記複数のキーワードを、施設の検索に用いる第1の前記子検索条件と、施設の検索に用いない第2の前記子検索条件と、に分割し、
     前記検索手段は、前記第1の子検索条件に含まれる全てのキーワードに合致する施設と、前記第2の子検索条件に含まれる全てのキーワードに合致する地域と、をそれぞれ検索し、
     前記抽出手段は、前記第1の子検索条件により検索された施設の何れかと、前記第2の子検索条件により検索された地域の何れかと、の組み合わせの中から、互いに前記関連を有する施設と地域との組み合わせを抽出することを特徴とする検索装置。
  7.  請求項6に記載の検索装置において、
     前記分割手段は、前記複数のキーワードのそれぞれごとに、該キーワードが、施設により提供される提供対象に関連するキーワードであるか否かを判定し、前記提供対象に関連すると判定されたキーワードを前記第1の子検索条件に含め、前記提供対象に関連すると判定されなかったキーワードを前記第2の子検索条件に含めることを特徴とする検索装置。
  8.  請求項6または請求項7に記載の検索装置において、
     前記抽出手段は、前記第1の子検索条件により検索された何れかの施設の場所が、前記第2の子検索条件により検索された何れかの地域に対して予め定められた範囲内にある場合に、該施設と該地域とを、互いに前記関連を有する施設と地域の組み合わせとして抽出することを特徴とする検索装置。
  9.  請求項6乃至8の何れか1項に記載の検索装置において、
     前記第2の子検索条件により検索された地域の数が、予め設定された第3数未満である場合、検索対象とする地域の広さを、前記第3数未満の数の地域が検索されたときよりも広くする変更手段を更に備え、
     前記検索手段は、前記変更手段により広さが変更された地域を検索対象として、前記第2の子検索条件に含まれるキーワードの全てに合致する地域を検索し、
     前記抽出手段は、前記第1の子検索条件により検索された施設の何れかと、前記変更手段により広さが変更された地域を検索対象として前記第2の子検索条件により検索された地域の何れかと、の組み合わせの中から、互いに前記関連を有する施設と地域との組み合わせを抽出することを特徴とする検索装置。
  10.  検索装置により実行される検索方法であって、
     検索条件として指定された複数のキーワードを、それぞれ少なくとも1つのキーワードを含む2つの子検索条件に分割する分割ステップと、
     前記子検索条件ごとに該子検索条件に含まれるキーワードの全てに合致する検索対象を検索する検索ステップと、
     前記子検索条件の一方により検索された検索対象の何れかと、前記子検索条件の他方により検索された検索対象の何れかと、の組み合わせの中から、互いに予め定められた関連を有する検索対象の組み合わせを抽出する抽出ステップと、
     を含むことを特徴とする検索方法。
  11.  検索装置に含まれるコンピュータを、
     検索条件として指定された複数のキーワードを、それぞれ少なくとも1つのキーワードを含む2つの子検索条件に分割する分割手段、
     前記子検索条件ごとに該子検索条件に含まれるキーワードの全てに合致する検索対象を検索する検索手段、及び、
     前記子検索条件の一方により検索された検索対象の何れかと、前記子検索条件の他方により検索された検索対象の何れかと、の組み合わせの中から、互いに予め定められた関連を有する検索対象の組み合わせを抽出する抽出手段、
     として機能させることを特徴とする検索プログラム。
  12.  検索装置に含まれるコンピュータを、
     検索条件として指定された複数のキーワードを、それぞれ少なくとも1つのキーワードを含む2つの子検索条件に分割する分割手段、
     前記子検索条件ごとに該子検索条件に含まれるキーワードの全てに合致する検索対象を検索する検索手段、及び、
     前記子検索条件の一方により検索された検索対象の何れかと、前記子検索条件の他方により検索された検索対象の何れかと、の組み合わせの中から、互いに予め定められた関連を有する検索対象の組み合わせを抽出する抽出手段、
     として機能させることを特徴とする検索プログラムがコンピュータ読み取り可能に記録されていることを特徴とする記録媒体。
PCT/JP2011/080436 2011-12-28 2011-12-28 検索装置、検索方法、検索プログラム及び記録媒体 WO2013099002A1 (ja)

Priority Applications (7)

Application Number Priority Date Filing Date Title
CN201180075920.4A CN104011713A (zh) 2011-12-28 2011-12-28 检索装置、检索方法、检索程序以及记录介质
KR1020147017476A KR101595200B1 (ko) 2011-12-28 2011-12-28 검색 장치 및 검색 방법
JP2013551136A JP5681818B2 (ja) 2011-12-28 2011-12-28 検索装置、検索方法及び検索プログラム
US14/368,733 US20150161208A1 (en) 2011-12-28 2011-12-28 Search apparatus, search method, search program, and recording medium
PCT/JP2011/080436 WO2013099002A1 (ja) 2011-12-28 2011-12-28 検索装置、検索方法、検索プログラム及び記録媒体
AU2011384439A AU2011384439B2 (en) 2011-12-28 2011-12-28 Search Apparatus, Search Method, Search Program, and Recording Medium
EP11878466.9A EP2784694A4 (en) 2011-12-28 2011-12-28 SEARCHING DEVICE, SEARCHING METHOD, SEARCHING PROGRAM, AND RECORDING MEDIUM

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2011/080436 WO2013099002A1 (ja) 2011-12-28 2011-12-28 検索装置、検索方法、検索プログラム及び記録媒体

Publications (1)

Publication Number Publication Date
WO2013099002A1 true WO2013099002A1 (ja) 2013-07-04

Family

ID=48696563

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/080436 WO2013099002A1 (ja) 2011-12-28 2011-12-28 検索装置、検索方法、検索プログラム及び記録媒体

Country Status (7)

Country Link
US (1) US20150161208A1 (ja)
EP (1) EP2784694A4 (ja)
JP (1) JP5681818B2 (ja)
KR (1) KR101595200B1 (ja)
CN (1) CN104011713A (ja)
AU (1) AU2011384439B2 (ja)
WO (1) WO2013099002A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104102744A (zh) * 2014-07-31 2014-10-15 宇龙计算机通信科技(深圳)有限公司 数据检索方法和数据检索装置
WO2017208371A1 (ja) * 2016-05-31 2017-12-07 富士通株式会社 画像検索プログラム、画像検索方法および画像検索装置

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103425704B (zh) * 2012-05-24 2017-07-21 阿里巴巴集团控股有限公司 应用界面提供方法及装置
JP5925919B1 (ja) * 2015-01-07 2016-05-25 株式会社ぐるなび 情報提供サーバ
CN104978878A (zh) * 2015-06-26 2015-10-14 苏州点通教育科技有限公司 微课教学系统及方法
JP6052362B1 (ja) * 2015-09-18 2016-12-27 富士ゼロックス株式会社 表示装置、管理装置、管理システム及びプログラム
TWI607331B (zh) * 2015-09-23 2017-12-01 財團法人工業技術研究院 資料分析方法與裝置
CN107330360A (zh) * 2017-05-23 2017-11-07 深圳市深网视界科技有限公司 一种行人衣着颜色识别、行人检索方法和装置
CN110019295B (zh) * 2017-09-25 2021-07-27 北京国双科技有限公司 数据库检索方法、装置、系统以及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002092033A (ja) 2000-09-12 2002-03-29 Sanyo Electric Co Ltd 情報検索装置
JP2006209757A (ja) * 2005-01-25 2006-08-10 Microsoft Corp クエリ詳細化のためのシステムおよび方法
WO2011004622A1 (ja) * 2009-07-10 2011-01-13 コニカミノルタエムジー株式会社 医療情報システムおよびそのためのプログラム
JP2011081802A (ja) * 2009-10-07 2011-04-21 Internatl Business Mach Corp <Ibm> 検索結果を統合するための方法、コンピュータ・プログラムおよびシステム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6804677B2 (en) * 2001-02-26 2004-10-12 Ori Software Development Ltd. Encoding semi-structured data for efficient search and browsing
WO2004111876A1 (ja) * 2003-06-11 2004-12-23 Fujitsu Limited 検索条件を再利用する検索システムおよび方法
JP4402099B2 (ja) * 2005-12-05 2010-01-20 パナソニック株式会社 地点情報検索装置、地点情報検索方法、及びプログラム
US7792858B2 (en) * 2005-12-21 2010-09-07 Ebay Inc. Computer-implemented method and system for combining keywords into logical clusters that share similar behavior with respect to a considered dimension
US7483894B2 (en) * 2006-06-07 2009-01-27 Platformation Technologies, Inc Methods and apparatus for entity search
US8256006B2 (en) * 2006-11-09 2012-08-28 Touchnet Information Systems, Inc. System and method for providing identity theft security
KR20080058634A (ko) * 2006-12-22 2008-06-26 엔에이치엔(주) 검색 시스템 및 방법
US7917490B2 (en) * 2007-07-09 2011-03-29 Google Inc. Interpreting local search queries
JP5702551B2 (ja) * 2009-07-02 2015-04-15 株式会社東芝 読影レポート検索支援装置及び読影レポート検索装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002092033A (ja) 2000-09-12 2002-03-29 Sanyo Electric Co Ltd 情報検索装置
JP2006209757A (ja) * 2005-01-25 2006-08-10 Microsoft Corp クエリ詳細化のためのシステムおよび方法
WO2011004622A1 (ja) * 2009-07-10 2011-01-13 コニカミノルタエムジー株式会社 医療情報システムおよびそのためのプログラム
JP2011081802A (ja) * 2009-10-07 2011-04-21 Internatl Business Mach Corp <Ibm> 検索結果を統合するための方法、コンピュータ・プログラムおよびシステム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP2784694A4

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104102744A (zh) * 2014-07-31 2014-10-15 宇龙计算机通信科技(深圳)有限公司 数据检索方法和数据检索装置
CN104102744B (zh) * 2014-07-31 2018-10-26 宇龙计算机通信科技(深圳)有限公司 数据检索方法和数据检索装置
WO2017208371A1 (ja) * 2016-05-31 2017-12-07 富士通株式会社 画像検索プログラム、画像検索方法および画像検索装置
JPWO2017208371A1 (ja) * 2016-05-31 2019-01-31 富士通株式会社 画像検索プログラム、画像検索方法および画像検索装置

Also Published As

Publication number Publication date
JP5681818B2 (ja) 2015-03-11
KR101595200B1 (ko) 2016-02-18
AU2011384439B2 (en) 2015-11-19
JPWO2013099002A1 (ja) 2015-04-30
CN104011713A (zh) 2014-08-27
US20150161208A1 (en) 2015-06-11
KR20140102717A (ko) 2014-08-22
EP2784694A4 (en) 2015-05-27
AU2011384439A1 (en) 2014-07-17
EP2784694A1 (en) 2014-10-01

Similar Documents

Publication Publication Date Title
JP5681818B2 (ja) 検索装置、検索方法及び検索プログラム
JP5340376B2 (ja) 検索装置、検索方法、検索プログラム及び記録媒体
JP5124680B1 (ja) 情報処理装置、情報処理方法、情報処理プログラム及び記録媒体
TWI507900B (zh) A retrieval device, a retrieval method, a retrieval program product, and a recording medium
JP5341276B1 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
US20110314052A1 (en) Enhanced search system and method
JP5601725B2 (ja) 情報処理装置、情報処理方法、情報処理プログラム及び記録媒体
TWI503768B (zh) Information processing devices, information processing methods and information processing products
US20170053337A1 (en) Information processing device, information processing method, program, and storage medium
TWI512509B (zh) Association authoring device, association grant method, and association grant program product
JP5315485B1 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
JP4464713B2 (ja) 支援サーバ、支援システム及び支援方法
JP5061040B2 (ja) 放送された番組に関連する情報を表示し、番組全体ページに遷移するためのリンクが張られている検索サーバ、検索方法及びプログラム
JPH11328223A (ja) 情報収集検索装置
US10430809B2 (en) Information processing apparatus and information processing method for modifying a list associated with a user

Legal Events

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

Ref document number: 11878466

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2013551136

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 2011878466

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 20147017476

Country of ref document: KR

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2011384439

Country of ref document: AU

Date of ref document: 20111228

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 14368733

Country of ref document: US