Search system, search method, and program
The search system efficiently narrows down search results by excluding non-useful tags and prioritizing relevant ones, addressing the challenge of handling large datasets with associated tags.
Patent Information
- Application Number
- JP2021036147
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-03-08
- Publication Date
- 2025-04-16
- Estimated Expiration
- 2041-03-08
AI Technical Summary
Existing search systems face challenges in efficiently narrowing down search results when dealing with large datasets using tags associated with the data.
A search system that includes a search condition obtaining unit, a search unit, a tag exclusion unit, a similar index value calculation unit, a priority setting unit, and an option determining unit, which together enable efficient narrowing of search results by excluding non-useful tags, calculating similarity index values, setting priorities, and determining narrowing conditions.
The system achieves efficient narrowing of search results by prioritizing relevant tags and excluding non-useful ones, thereby improving the accuracy and efficiency of data searches using tags.
Smart Images

Figure 0007663001000005 
Figure 0007663001000006 
Figure 0007663001000007
Abstract
Description
[Technical field]
[0001] The present invention relates to a search system, a search method, and a program. [Background technology]
[0002] There is known a technique for assigning a tag to a content and searching for the content by matching an input tag with the tag assigned to the content (see, for example, Patent Document 1). [Prior art documents] [Patent documents]
[0003] [Patent Document 1] JP 2016-62338 A Summary of the Invention [Problem to be solved by the invention]
[0004] When a large amount of data is retrieved, it is effective to perform a refinement search to further narrow down the retrieved data to data that will become search candidates. Even when searching for data using tags associated with the data, it is preferable to perform the refinement search efficiently.
[0005] The present invention has been made in view of the above circumstances, and has an object to enable efficient narrowing down of searches when searching for data using tags associated with the data. [Means for solving the problem]
[0006] One aspect of the present invention that solves the above-mentioned problems is a search system that includes a search condition acquisition unit that acquires search conditions, a search unit that searches for search data that satisfies the search conditions from among the data to be searched that has tags associated with it, a tag removal unit that excludes non-useful tags that are not useful as search conditions to be used in a narrowed-down search from among the candidate tags that are tags that have been assigned to each of the search data, a similarity index value calculation unit that calculates a similarity index value indicating the degree of similarity between each of the remaining candidate tags that have not been excluded by the tag removal unit and other remaining candidate tags, a priority setting unit that sets a priority order for the remaining candidate tags based on at least the similarity index value for each of the remaining candidate tags, and an option determination unit that determines options for narrowed-down conditions from among the remaining candidate tags based on the priority order.
[0007] One aspect of the present invention is a search method in a search system, the search method including a search condition acquisition step of acquiring search conditions, a search step of searching for search data that satisfies the search conditions from among the data to be searched that has tags associated therewith, a tag exclusion step of excluding non-useful tags that are not useful as search conditions to be used in a refined search from among the candidate tags that are tags that have been assigned to each of the search data, a similarity index value calculation step of calculating a similarity index value indicating the degree of similarity between each of the remaining candidate tags that have not been excluded by the tag exclusion step and other remaining candidate tags, a priority setting step of setting a priority of the remaining candidate tags based on at least the similarity index value of each of the remaining candidate tags, and an option determination step of determining options for refinement conditions from among the remaining candidate tags based on the priority.
[0008] One aspect of the present invention is a program for causing a computer provided in a search system to function as a search condition acquisition unit that acquires search conditions, a search unit that searches for search data that satisfies the search conditions from among the data to be searched that has tags associated with it, a tag removal unit that excludes non-useful tags that are not useful as search conditions to be used in a narrowed-down search from among the candidate tags that are tags that have been assigned to each of the search data, a similarity index value calculation unit that calculates a similarity index value indicating the degree of similarity between each of the remaining candidate tags that have not been excluded by the tag removal unit and other remaining candidate tags, a priority setting unit that sets a priority order for the remaining candidate tags based on at least the similarity index value for each of the remaining candidate tags, and an option determination unit that determines options for narrowed-down conditions from among the remaining candidate tags based on the priority order. Effect of the Invention
[0009] According to the present invention, when searching for data using tags associated with the data, it is possible to obtain an effect that a refined search can be efficiently performed. [Brief description of the drawings]
[0010] [Figure 1] 1 is a diagram showing an example of the overall configuration of a search system according to a first embodiment; [Diagram 2] FIG. 2 is a diagram showing an example of an application screen of a chatbot application according to the first embodiment. [Diagram 3] FIG. 2 is a diagram showing an example of a management form of specifications according to the first embodiment; [Figure 4] FIG. 4 is a diagram showing an example of a search result according to the first embodiment. [Diagram 5] FIG. 11 is a diagram showing an example of a search result in which unuseful tags have been sorted out according to the first embodiment. [Figure 6] 10 is a diagram showing an example of a relationship between sets of remaining candidate tags each having an assignment destination as an element according to the first embodiment. FIG. [Figure 7] FIG. 11 is a diagram showing an example of an overall similarity for each remaining candidate tag according to the first embodiment. [Figure 8] 5A to 5C are diagrams illustrating an example of an overall similarity, a coverage, and a priority for each remaining candidate tag according to the first embodiment. [Figure 9] FIG. 11 is a diagram showing an example of a result of the option extraction process according to the first embodiment. [Figure 10] 2 is a diagram illustrating an example of a functional configuration of a specification server according to the first embodiment. FIG. [Figure 11] 10 is a flowchart showing an example of a processing procedure executed by a specification server according to the first embodiment in response to a search for a specification. [Figure 12] 10 is a flowchart showing an example of a processing procedure executed by a specification server according to the first embodiment in response to a search for a specification. [Figure 13] FIG. 11 is a diagram showing an example of a management form of specifications according to the second embodiment. [Figure 14] FIG. 13 is a diagram showing a result of classifying remaining candidate tags by product category according to the second embodiment. [Figure 15] 13A to 13C are diagrams showing an example of calculation results of the overall similarity, coverage, and priority for each remaining candidate tag in category units according to the second embodiment. [Figure 16] FIG. 13 is a diagram showing an example of an application screen of a chatbot application according to the second embodiment. [Figure 17] 13 is a flowchart showing an example of a procedure of option extraction processing executed by a specification server according to the second embodiment. [Figure 18] 13 is a diagram illustrating an example of a procedure for removing duplicated tags according to a modified example of an embodiment. FIG. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0011] First Embodiment [Example of search system configuration] Fig. 1 shows an example of the overall configuration of the search system of this embodiment. As an example of the search system of this embodiment, a configuration will be given in which a sales representative of a company that provides packages of various products as products uses a chatbot implemented in a mobile terminal such as a smartphone to search for specifications (an example of data to be searched) of the packages that the company sells as products.
[0012] As shown in the figure, the search system of this embodiment includes a user terminal 100, a chatbot server 200, and a specification server 300.
[0013] The user terminal 100 is a portable terminal used by a user such as a sales representative to search for specifications. The user terminal 100 may be, for example, a smartphone or a tablet terminal. The user terminal 100 may be a laptop or desktop personal computer, but hereinafter, a portable terminal will be described as an example.
[0014] A chatbot application (an example of a dialogue application) is installed in the user terminal 100. The user terminal 100 on which the chatbot application runs communicates with a chatbot server 200, thereby realizing a conversation (dialogue) between a user and a character on the chatbot application using voice or text.
[0015] The specification server 300 is a server operated by a company that provides packages as products, and stores specifications that describe the specifications for each package that the company provides as a product.
[0016] The chatbot server 200 is communicatively connected to the specification server 300. By connecting the chatbot server 200 and the specification server 300 in this manner, the user can use a chatbot application running on the user terminal 100 to search for specifications.
[0017] [Search procedure example] An example of a procedure for searching specifications performed in the search system of this embodiment will be described. When searching for specifications, a user starts a chatbot application on the user terminal 100 that the user owns. When the chatbot application is started and the application screen of the chatbot application is displayed, the user inputs a message that reflects a search key (search condition) for searching specifications. In this embodiment, the chatbot application may be capable of accepting message input by either a text input operation or a voice input. In the case of voice input, the user terminal 100 performs a voice recognition process on the input voice and converts it into a text message.
[0018] Fig. 2(A) shows an example of an application screen of a chatbot application. In the application screen of the figure, a message MS1 is displayed in which a chatbot character prompts the user to input a search key, and in response to the message MS1, the user inputs a message MS2 instructing the user to search for specifications of manufacturer A. In other words, in this case, the user specified "manufacturer A" as the search key for searching specifications.
[0019] The chatbot application of the user terminal 100 that has received the message MS2 sends a search request including the text of the message MS2 to the chatbot server 200. The chatbot server 200 transfers the search request to the specification server 300.
[0020] The specification server 300 receives the transferred search request. The specification server 300 obtains a search key from the text of the message MS2 included in the received search request. At this time, the specification server 300 may extract the search key based on the result of analyzing the text of the message MS2 by, for example, natural language processing. In the example shown in the figure, the specification server 300 acquires, as a search key, the character string of the word "Manufacturer A" as a noun from the text of the message MS2 "Show me the specifications of Manufacturer A."
[0021] The specification server 300 stores specifications. Fig. 3 shows an example of a management form of specifications stored in the specification server 300. In the figure, the specifications are shown in a format of a table in which a record is provided for each specification. Each record in the table in the figure corresponds to one specification. A record corresponding to one specification includes fields for a specification ID, specification data, and a tag. The specification ID field stores a specification ID that uniquely identifies the corresponding specification. The specification data area stores data (specification data) indicating the actual contents of the corresponding specification. The tag area stores tags associated with (assigned to) the corresponding specifications. The tags function as words, phrases, etc. that are compared with a search key when searching for specifications. In other words, the search for specifications in this embodiment searches for specifications that have tags that match the search key. In the figure, as a specific example, an example is shown in which the specification server 300 stores nine specifications corresponding to the specification IDs SF001 to SF009. In addition, specifically, an example is shown in which the specification ID SF001 is associated with four tags, "Manufacturer A," "Confectionery," "Pouch," and "Snack."
[0022] Returning to Fig. 2 for explanation, the specification server 300 searches for specifications to which a tag matching the acquired search key has been added. If the number of specifications found (number of searches) is equal to or less than a predetermined number as a result of the search, the specification server 300 transmits search result information including information on the found specifications to the chatbot server 200. The chatbot server 200 generates a search result message in a message format corresponding to the chatbot application based on the received search result information. The chatbot server 200 transmits the generated search result message to the user terminal 100 that is the sender of the search request. The chatbot application of the user terminal 100 that receives the search result message displays the received search result message.
[0023] FIG. 2(B) shows an example of the form of the search result message MS4 (MS4-1, MS4-2). The search result message MS4 in the figure first notifies the number of search results, for example, "There are 3 items" in the search result message MS4-1, and then displays a specification list showing a list of the searched specifications in the search result message MS4-2. For example, when the user performs a tap operation on a list item Itm in the specification list, the user terminal 100 accesses the URL of the corresponding specification and displays the specification. This allows the user to view the searched specifications.
[0024] On the other hand, if the search result message MS4-2 based on the specification list is displayed when the number of search results is greater than a predetermined number, the number of list items Itm in the specification list will also increase, making it more difficult to find the list item Itm of the desired specification. Therefore, when the number of search results is equal to or greater than a predetermined number, the specification server 300 performs a process (option extraction process) of extracting options for search conditions in the refined search from the tags attached to the searched specifications. The specification server 300 transmits refined search information reflecting the option extraction results from the option extraction process to the chatbot server 200.
[0025] The chatbot server 200 generates a refined search message in a message format corresponding to the chatbot application based on the received refined search information. The chatbot server 200 transmits the generated refined search message to the user terminal 100 that sent the search request. The chatbot application of the user terminal 100 that received the refined search message displays the received refined search message.
[0026] Fig. 2(C) shows an example of the refined search message MS5 (MS5-1, MS5-2). As the refined search message MS5 in the figure, the refined search message MS5-1 is displayed first. The refined search message MS5-1 has a message content instructing the user to select search conditions (refining conditions) for the refined search because seven search results were obtained.
[0027] Next, a refined search message MS5-2 is displayed as the refined search message MS5. In the refined search message MS5-2, a refined search screen is displayed on which operations for a refined search are performed. In the refined search screen in the same figure, an example is shown in which refined condition selection buttons BT11 (BT11-1, BT11-2, BT11-10) are arranged. In this case, the narrowing down condition selection buttons BT11-1 and BT11-2 respectively show "pouch" and "delicious salt" as the narrowing down conditions. The narrowing down conditions "pouch" and "delicious salt" corresponding to the narrowing down condition selection buttons BT11-1 and BT11-2 respectively are tags extracted from the tags assigned to the searched specifications by the option extraction process of the chatbot server 200. The "Other" narrowing condition corresponding to the narrowing condition selection button BT11-10 is added in response to specifications that are not assigned tags extracted by the option extraction process among the searched specifications.
[0028] The user taps on the narrowing condition selection button BT11 corresponding to the narrowing condition that the user judges appropriate from among the narrowing condition selection buttons BT11 as an operation on the narrowing search screen displayed in the narrowing search message MS5-2. The narrowing condition selection button BT11 on which the tap operation is performed changes to a highlighted display in a predetermined manner, thereby indicating that the corresponding narrowing condition is in a selected state. After selecting one refinement condition in this manner, the user taps the execute button BT21. That is, the user performs an operation to instruct execution of a refinement search.
[0029] The operation of selecting the refinement condition selection button BT11 and the operation of issuing an instruction to execute a refinement search may be performed by voice input by the user.
[0030] In response to the operation of instructing execution of a refined search as described above, the chatbot application of the user terminal 100 transmits a search request including the refinement condition corresponding to the refinement condition selection button BT11 that was in the selected state when the execute button BT21 was operated to the chatbot server 200. The chatbot server 200 transmits (transfers) the received search request to the specification server 300.
[0031] The specification server 300 searches for specifications that have been tagged with a search condition that matches the narrowing-down condition included in the received search request, from among the specifications included in the previous search results. As a result of the search, if the number of search results is equal to or less than a predetermined number, the specification server 300 transmits search result information to the chatbot server 200. The chatbot server 200 transmits a search result message generated according to the received search information to the user terminal 100 that is the sender of the search request. As a result, the search results are presented on the application screen of the chatbot application by displaying the search result message of the sender of the search request, as shown in the example of FIG. 2(B).
[0032] On the other hand, if the number of search results is equal to or greater than a predetermined number, the specification server 300 performs an option extraction process on the tags assigned to the currently searched specifications. The specification server 300 transmits refined search information reflecting the tag extraction results of the option extraction process to the chatbot server 200. The chatbot server 200 transmits a refined search message generated according to the received refined search information. The chatbot application of the user terminal 100 that receives the refined search message displays the refined search message as shown in FIG. 2(C).
[0033] [About the option extraction process] As described above, in this embodiment, a user can perform a search using a chatbot application installed in the user terminal 100. In addition, when the number of search results reaches a certain level, instead of presenting the search results (searched specifications), options of conditions for narrowing down the search (narrowing down condition options) are presented, as shown in FIG. 2(C). The narrowing down condition options are obtained by the specification server 300 performing option extraction processing as described above. A specific example of the option extraction process executed by the specification server 300 will now be described with reference to FIGS.
[0034] Fig. 4 shows a specific example of the results of searching specifications using "manufacturer A" as a search key. The figure shows the results of a search performed on nine specifications stored in the specification server 300 as shown in Fig. 3. Fig. 4 shows an example of the search results in which seven specifications corresponding to SF001 to SF007 are searched out of the nine specifications corresponding to SF001 to SF009 stored in the specification server 300. 4 also shows tags other than the search key "Manufacturer A" that are assigned to each searched specification. For example, it can be seen from the figure that the specification with specification ID SF001 has three tags assigned: "Confectionery," "Pouch," and "Snack." Also, from this diagram, it is possible to understand what kind of tags are commonly assigned to which specifications in the seven searched specifications. For example, it is possible to understand that the tag "confectionery" is assigned to all of the seven searched specifications. Also, it is possible to understand that the tag "tasty salt" is assigned to three specifications, SF004 to SF006, out of the seven searched specifications. The figure also shows what kind of tags (candidate tags) are assigned to the seven retrieved specifications. Hereinafter, the tags assigned to the retrieved specifications will be referred to as "candidate tags" because they are candidates for the narrowing down conditions. As a concrete example, the figure shows that the six candidate tags assigned to the seven searched specifications are "confectionery," "pouch," "snack," "tasty salt," "secondary container," and "yakisoba." In addition, in the following explanation, the seven searched specifications may be referred to as "specifications targeted for narrowed search."
[0035] Here, when seven specifications are searched as in Fig. 4, the number of search results is equal to or greater than a certain value. Therefore, in this case, the specification server 300 executes a selection option extraction process. As the option extraction process, the specification server 300 first removes non-useful tags from among the six candidate tags corresponding to the seven specifications retrieved as shown in FIG.
[0036] The non-useful tags are candidate tags that are not useful as narrowing conditions. One example of an unhelpful tag is a candidate tag (a tag that is given to many users) that is assigned to a certain degree or more in the total number of searched specifications. Even if you use such a candidate tag as a search key to search again for the target specification, the search results will return almost the same target specification, so you will not be able to narrow down the search results. Therefore, the tag is not useful as a narrowing condition.
[0037] Another type of non-useful tag is a candidate tag (a tag with overlapping destinations) whose specification to which it is assigned overlaps with the specification to which other candidate tags are assigned to a certain degree or more (including cases where they match). In the case of FIG. 4, for example, the candidate tag "snack" is assigned to five specifications with specification IDs SF001 to SF005. Similarly, the candidate tag "pouch" is assigned to five specifications with specification IDs SF001 to SF005. In other words, the candidate tag "snack" and the candidate tag "pouch" have the same specification to which they are assigned. When each of the multiple candidate tags whose specification to which they are assigned coincides is used as a narrowing condition, the results of a narrowing search using each narrowing condition will all search five specifications with specification IDs SF001 to SF005. In other words, the search results will overlap when a narrowing search is performed using the candidate tag "snack" and when a narrowing search is performed using the candidate tag "pouch". In this case, it is sufficient that either one of the candidate tags "pouch" and "snack" is used as a narrowing down condition, and the remaining one is not useful even if it is used as a narrowing down condition.
[0038] Therefore, the specification server 300 identifies non-useful tags (tags that are assigned to many people, tags that are assigned to multiple people) from among the candidate tags, and executes a process of excluding the identified non-useful tags from the candidate tags. In the explanation here, we will take as an example a case where the majority tag is a candidate tag (all-attached tag) that is assigned to all searched specifications. In this case, the specification server 300 will identify that "sweets" is the all-attached tag. Therefore, the specification server 300 will exclude "sweets" from the candidate tags. In addition, in the description here, a case will be taken as an example where a candidate tag (a matching destination tag) is a candidate tag whose specification details match those of other candidate tags, as an example of a destination overlapping tag. In addition, the specification server 300 in this case can recognize that the two candidate tags, "pouch" and "snack", have the same destination. Therefore, the specification server 300 in this case identifies one of "pouch" and "snack" as a destination-matching tag and excludes it from the candidate tags. In this case, the specification server 300 may randomly select one of "pouch" and "snack" as a destination-matching tag and exclude it from the candidate tags. Alternatively, the specification server 300 may leave one of "pouch" and "snack" that is determined to be more useful as a candidate tag based on, for example, the frequency of use as a search key in the past or the relevance to the search key of "manufacturer A", and exclude the other as a destination-matching tag from the candidate tags. Here, the specification server 300 excludes "snack" from the candidate tags as a destination-matching tag out of "pouch" and "snack".
[0039] Figure 5 shows the results of removing non-useful tags from the candidate tags for the search results in Figure 4 as described above. In Figure 5, "confectionery" and "snack" shown in Figure 4 are removed, and four candidate tags, "pouch," "umashio," "secondary container," and "yakisoba," remain. Hereinafter, candidate tags that remain without being removed as non-useful tags, such as these four candidate tags, are also referred to as "remaining candidate tags."
[0040] After eliminating non-useful tags as described above, the specification server 300 calculates the overall similarity (overall similarity: an example of a similarity index value) of one remaining candidate tag to all other remaining candidate tags for each remaining candidate tag. When calculating the integrated similarity, the specification server 300 first calculates the similarity (individual similarity) for each one-to-one combination of remaining candidate tags. When calculating the individual similarity, the specification server 300 forms a set for each remaining candidate tag, with the specification to which the tag is assigned as an element, and calculates the one-to-one similarity between the sets. The similarity between the sets thus calculated becomes the individual similarity for each combination of remaining candidate tags.
[0041] FIG. 6 is a diagram showing the relationship between sets of remaining candidate tags shown in FIG. 5, the sets being made up of destinations to which the tags are assigned as elements. The specification server 300 calculates the individual similarity between the sets shown in the figure. The individual similarity may be calculated as a Dice coefficient, for example, by the following (Equation 1). In Equation 1, the combination of remaining candidate tags is x ,tag y 6, for example, the remaining candidate tags "pouch," "delicious salt," "secondary container," and "fried noodles" correspond to 1 to 4, which are assigned to variables x and y, respectively. The individual similarity between sets thus obtained is the individual similarity for each one-to-one combination between the remaining candidate tags "pouch," "delicious salt," "secondary container," and "fried noodles."
[0042]
number
[0043] Next, the specification server 300 uses the individual similarities calculated as described above to calculate the overall similarity sim(tag x ) is calculated.
[0044]
number
[0045] FIG. 7 shows the individual similarities for each one-to-one combination of remaining candidate tags calculated in accordance with the set relationships shown in FIG. 6, and the overall similarity for each remaining candidate tag calculated from the individual similarities. For example, when focusing on the remaining candidate tag of "pouch", the individual similarity between "pouch" and "Tasty salt" is 0.50, the individual similarity between "pouch" and "Secondary container" is 0.57, and the individual similarity between "pouch" and "Yakisoba" is 0.33. The overall similarity of "pouch" calculated using these three individual similarities is 0.47.
[0046] For example, it is possible to select remaining candidate tags that have a high calculated overall similarity and use the selected remaining candidate tags as narrowing-down condition options, and the narrowing-down conditions extracted in this way also have a certain level of significance. However, even a remaining candidate tag with few specifications to which it is assigned may have a relatively high overall similarity. When a remaining candidate tag with few specifications to which it is assigned is subject to a refined search, the search results are very few, and the search results are often far from what the user desires. Therefore, in this embodiment, in order to obtain more accurate search results, the remaining candidate tags with few specifications to which it is assigned are excluded from the refinement condition options.
[0047] For this purpose, in addition to calculating the above-mentioned overall similarity, the specification server 300 calculates the coverage (an example of a coverage index value) for each remaining candidate tag. The coverage corresponding to one remaining candidate tag is the degree (coverage) of the number of specifications to be narrowed down searched to which the corresponding remaining candidate tag is assigned, relative to the total number of specifications to be narrowed down searched. For example, the specification server 300 calculates the coverage cv(tag x ) can be calculated by the following formula (3). x ) can be calculated by dividing the number of specifications to be narrowed down that have the corresponding remaining candidate tag assigned thereto by the total number of specifications to be narrowed down.
[0048]
number
[0049] Next, the specification server 300 calculates the priority of each remaining candidate tag based on the overall similarity and coverage calculated for each remaining candidate tag as described above. The specification server 300 calculates the priority pr(tag x ) may be calculated.
[0050]
number
[0051] In formula 4, the coefficient c has a function of adjusting the weight of the coverage in the calculation of the priority. The smaller the coefficient c, the less the influence of the coverage in the calculation of the priority.
[0052] FIG. 8 shows the overall similarity, coverage, and priority calculated for each remaining candidate tag as described above. The specification server 300 determines a predetermined number of remaining candidate tags at the top as the narrowing down condition options according to the priority order corresponding to the priority calculated for each remaining candidate tag. The example in FIG. 8 shows an example in which two remaining candidate tags are determined as the narrowing down condition options in descending order of priority. In this case, the remaining candidate tag with the highest priority is "pouch" and the remaining candidate tag with the second highest priority is "tasty salt". In this case, the specification server 300 determines the two remaining candidate tags, "pouch" and "tasty salt", as the narrowing down condition options. In the example shown in the figure, the two remaining candidate tags, "secondary container" and "fried noodles," are excluded from the narrowing-down condition options. The remaining candidate tags that are excluded without being selected as narrowing-down conditions may include tags that are assigned to a small proportion of specifications relative to the total number of searched specifications (few assigned tags). Even if a search is performed using a tag with few recipients as a narrowing condition, the number of specifications that meet the search condition is very small, so the possibility that the user can find the desired specification is also very low. In other words, tags with few recipients are also included in non-useful tags, just like tags with many recipients and tags with multiple recipients. By determining the narrowing condition options according to the priority order as described above, it is also possible to exclude tags with few recipients, which are non-useful tags.
[0053] In the example of FIG. 8, among the nine specifications targeted for the refined search, at least one of the two remaining candidate tags, "pouch" and "tasty salt", determined as the refined condition options, is assigned to six specifications with specification IDs SF001 to SF006. In contrast, neither of the two remaining candidate tags, "pouch" and "tasty salt", determined as the refined condition options, is assigned to the specification with specification ID SF007. For this reason, if the refined condition options are limited to only the two remaining candidate tags, "pouch" and "tasty salt", it will not be possible to search for the specification with specification ID SF007 by the refined search even if any of the options is used as a search key. Therefore, if there is a specification (untagged specification) to which the remaining candidate tag determined as a narrowing condition option is not assigned among the specifications to be narrowed down, the specification server 300 adds an option of "Other." The specification server 300 associates the untagged specification with the option of "Other" as shown in FIG.
[0054] Through the option extraction process thus far, the specification server 300 has acquired three options for the refinement conditions, namely, "pouch," "tasty salt," and "other," as shown in Fig. 9. The specification server 300 transmits refinement search information reflecting the three refinement condition options thus acquired to the chatbot server 200. As a result, the refinement search message MS5 (MS5-1, MS5-2) in the form of Fig. 2(C) is displayed on the user terminal 100. When the user selects the refinement condition selection button BT11-1 in the refinement search message MS5-2 and then operates the execute button BT21 to instruct a refinement search, the specification server 300 searches among the specifications targeted for the refinement search using the word “pouch” as a search key. Also, when the user selects the narrowing condition selection button BT11-2 in the narrowing search message MS5-2 and then instructs a narrowing search, the specification server 300 searches among the specifications targeted for the narrowing search using the word "umashio" as a search key. Also, when the user selects the narrowing condition selection button BT11-10 in the narrowing search message MS5-3 and then instructs a narrowing search, "Other" becomes the search key. In this case, the specification server 300 searches for non-tagged specifications associated with "Other" from among the specifications targeted for the narrowing search. In addition, in response to an instruction for a refined search, the specification server 300 may perform a search of all specifications using the logical product of “Manufacturer A” used in the previous specification search and the refined condition option selected this time as the search condition.
[0055] [Example of functional configuration of specification server] An example of the functional configuration of the specification server 300 of this embodiment will be described with reference to Fig. 10. The configuration in Fig. 10 is realized by a CPU (Central Processing Unit) included in the specification server 300 executing a program.
[0056] The specification server 300 in the figure includes a communication unit 301, a control unit 302, and a storage unit 303. The communication unit 301 communicates with the chatbot server 200 via a network.
[0057] The control unit 302 executes control in the specification server 300. The control unit 302 in the figure includes a search condition acquisition unit 321, a search unit 322, a tag removal unit 323, a similarity index calculation unit 324, a coverage index calculation unit 325, a priority setting unit 326, and an option determination unit 327.
[0058] In response to receiving a search request transmitted from the chatbot server 200, the search condition acquisition unit 321 acquires a search key (search condition) from the received search request.
[0059] The search unit 322 searches the specification storage unit 331 for a specification (an example of relevant data) that matches the search key (search condition) acquired by the search condition acquisition unit 321 .
[0060] The tag removal unit 323 removes non-useful tags from among the tags (candidate tags) associated with each of the specifications searched for by the search unit 322. The similarity index calculation section 324 calculates an overall similarity as a similarity index for each remaining candidate tag that has not been excluded by the tag exclusion section. The coverage index calculation section 325 calculates the coverage as a coverage index for each remaining candidate tag. The priority setting unit 326 sets the priority of the remaining candidate tags. In this embodiment, the priority setting unit 326 calculates the priority of each remaining candidate tag based on the overall similarity and the coverage, and sets the priority of the remaining candidate tags in accordance with the calculated priority.
[0061] The option determination unit 327 determines narrowing-down condition options from among the remaining candidate tags based on the priority order set by the priority setting unit 326. Furthermore, when there is a specification (untagged specification) to which the remaining candidate tag determined as a narrowing-down condition option is not assigned among the specifications to be narrowed-down searched, the option determination unit 327 generates an "other" narrowing-down condition option associated with the untagged specification.
[0062] The storage unit 303 stores information related to the specification server 300. The storage unit 303 includes a specification storage unit 331. The specification storage unit 331 stores a specification. The specification storage unit 331 may be configured to store the specification according to the structure illustrated in FIG.
[0063] [Example of processing procedure] An example of a processing procedure executed by the specification server 300 of this embodiment in response to a search for a specification will be described with reference to the flowcharts of FIGS. Step S101 : When a search request is sent from the user terminal 100 to the chatbot server 200 , the chatbot server 200 transfers the received search request to the specification server 300 . In the specification server 300 , the search condition acquisition unit 321 receives the transferred search request via the communication unit 301 .
[0064] Step S102: In the specification server 300, the search condition acquisition unit 321 acquires a search key from the search request received in step S101. When a search request is sent from the user terminal 100 in response to an input of a search instruction message (e.g., message MS2 in FIG. 2A) to a chatbot application, the search condition acquisition unit 321 analyzes the text of the message included in the search request by natural language processing to acquire a word or phrase character string as a search key. Also, when a search request is sent from the user terminal 100 in response to an operation on a refined search screen (refined search message MS5-2 in FIG. 2C), the search condition acquisition unit 321 acquires a word or phrase character string (e.g., character strings such as "pouch," "tasty salt," and "other") as a refined condition option included in the search request as a search key.
[0065] Step S103: The search unit 322 uses the search key acquired in step S102 to search for specifications from the specification storage unit 331. In this case, if the search key corresponds to the input of the search instruction message, the search unit 322 executes a search on all specifications stored in the specification storage unit 331. On the other hand, if the search key corresponds to an operation on the refined search screen, the search unit 322 executes a search on the specifications to be subjected to the refined search obtained as a search result by the previous search. Alternatively, in this case, the search unit 322 may execute a search on all specifications stored in the specification storage unit 331, using the logical product of the search key used in the previous search and the search key corresponding to the operation on the refined search screen as a search condition.
[0066] Step S104: The search unit 322 judges whether or not the number of specifications searched for in step S103 is equal to or greater than a predetermined number.
[0067] Step S105: If it is determined in step S104 that the number of searches is less than the predetermined number, the search unit 322 transmits search result information indicating the current search result to the chatbot server 200. As a result, a search result message is displayed on the application screen of the chatbot application of the user terminal 100 as shown in FIG. 2(B).
[0068] Step S106: If it is determined in step S104 that the number of search results is equal to or greater than the predetermined number, the control unit 302 executes an option extraction process.
[0069] Step S107: The control unit 202 (or the option determination unit 327) transmits refined search information reflecting the extraction result of the refined condition options by the option extraction process in step S106 to the chatbot server 200. In this case, a refined search message is displayed on the application screen of the chatbot application of the user terminal 100, as shown in FIG. 2(C).
[0070] The flowchart in FIG. 12 shows an example of the procedure of the option extraction process in step S106 in FIG. Step S201: In the specification server 300, the tag removal unit 323 acquires, as candidate tags, all tags that have been added to the specification searched for in step S103 of FIG. 11 (the specification subject to the refined search). Step S202: The tag removal unit 323, as a process of removing unuseful tags, identifies all-attached tags from the candidate tags acquired in step S201, and removes the identified all-attached tags from the candidate tags. Step S203: The tag removal unit, as a process of removing unuseful tags, identifies destination-matched tags from the candidate tags acquired in step S201, and removes the identified destination-matched tags from the candidate tags. Candidate tags that remain without being excluded in steps S202 and S203 are the remaining candidate tags. The processes of steps S202 and S203 may be executed in the order of steps S203 and S202, or may be executed simultaneously in parallel.
[0071] Step S204: The similarity index value calculation unit 324 calculates an overall similarity for each remaining candidate tag. At this time, the similarity index value calculation unit 324 may calculate an individual similarity between sets whose elements are the specifications to which the tags are assigned for each remaining candidate tag, as described in Fig. 6 and Fig. 7, and calculate an overall similarity based on the calculated individual similarities. Step S205: The coverage index calculation unit 325 calculates the coverage for each remaining candidate tag. The processes of steps S204 and S205 may be executed in the order of steps S205 and S204, or may be executed simultaneously in parallel.
[0072] Step S206: The priority setting unit 326 sets priorities among the remaining candidate tags. When setting the priorities, the priority setting unit 326 calculates the priority of each remaining candidate tag based on the overall similarity calculated in step S204 and the coverage calculated in step S205, as described in FIG.
[0073] Step S207: The option determining unit 327 determines, as narrowing-down condition options, the N remaining candidate tags that correspond to the top N priorities set in step S206.
[0074] Step S208: The option determination unit 327 determines whether or not there is an untagged specification. An untagged specification is a specification that is not assigned any of the remaining candidate tags determined as the narrowing condition options in step S207 among the specifications to be narrowed down. If it is determined that there is no tag-free specification, the process in the figure ends. In this case, the narrowing-down condition options do not include "Others" but include the remaining candidate tags determined in step S207.
[0075] Step S209: If it is determined in step S208 that there is a non-tagged specification, the option determining unit 327 adds "others" associated with the non-tagged specification as a narrowing-down condition option.
[0076] <Second embodiment> [overview] Next, a second embodiment will be described. In the second embodiment, tags assigned to a specification are classified by category. The specification server 300 of the second embodiment can extract narrowing condition options for each category, as described below. The configuration of the search system and the specification server 300 in this embodiment may be similar to those shown in FIG. 1 and FIG.
[0077] FIG. 13 shows an example of the management form of specifications stored in the specifications storage unit 331 of this embodiment. The specification table in the figure is based on the specification table in Fig. 3, and is managed by classifying tags assigned to specifications by category. Specifically, in the figure, three tag categories are provided: "manufacturer category", "product category", and "product type category". "Manufacturer Category" is a category corresponding to a manufacturer. Tags such as "Manufacturer A" and "Manufacturer B" belong to the "Manufacturer Category". The "product category" is a category corresponding to the type of product to be packaged. Tags such as "confectionery," "snack," "fried noodles," and "tasty salt" belong to the "product category." The "product category" is a category corresponding to the product type as a package. Tags such as "pouch" and "secondary container" belong to the "product category".
[0078] A specific example of the search procedure of this embodiment will be described below. In the following description, the specification storage unit 331 stores specifications as shown in FIG. In this embodiment, the user can also instruct a search by inputting a message to the chatbot application running on the user terminal 100. Here, the user inputs a message MS2 instructing a search using manufacturer A as a search key, as in FIG. 2(A).
[0079] When the specification server 300 receives a search request corresponding to the input of message MS2, it obtains a search key for "Manufacturer A" from the received search request and searches the specification memory unit 331 for specifications that have a tag that matches "Manufacturer A." In this case, the search results will be the same as in FIG. 4, with seven specifications having specification IDs SF001 to SF007 being searched for.
[0080] In this embodiment, the specification server 300 also performs a process of excluding non-useful tags (all-assigned tags, tags with matching assignment destinations) from the searched specifications. As a result of the process of excluding non-useful tags, the remaining candidate tags are the same as those in FIG. 5.
[0081] Then, the specification server 300 of this embodiment classifies the remaining candidate tags obtained as shown in FIG. 5 into categories. Figure 14 shows the result of classifying the remaining candidate tags in Figure 5 by product category. Specifically, the remaining candidate tags in Figure 5 are classified into a "product category" to which the remaining candidate tags "snacks," "tasty salt," and "fried noodles" belong as shown in Figure 14(A), and into a "product category" to which the remaining candidate tag "secondary container" belongs as shown in Figure 14(B).
[0082] Next, the specification server 300 calculates the overall classification degree and coverage degree of each remaining candidate tag for each category divided as shown in Fig. 14, and calculates the priority of each remaining candidate tag for each category based on the calculated overall similarity and coverage degree. As a result, in this embodiment, the priority order of the remaining candidate tags is set for each category. Fig. 15 shows the calculation results of the overall similarity, coverage, and priority for each remaining candidate tag in the category unit divided as in Fig. 14. Fig. 15(A) shows the overall similarity, coverage, and priority for each remaining candidate tag of "snacks," "tasty salt," and "fried noodles" belonging to the "product category." Fig. 15(B) shows the overall similarity, coverage, and priority for the remaining candidate tag of "secondary container" belonging to the "product category."
[0083] The specification server 300 determines the remaining candidate tags up to a predetermined priority as the narrowing-down condition options for each divided category. As an example, when determining the remaining candidate tags up to the second highest priority as the narrowing-down condition options, the narrowing-down condition options are determined as follows based on the priority setting result in FIG. The specification server 300 determines two remaining candidate tags, "snacks" and "delicious salt", from among the "product category" in FIG. 15(A), as the narrowing-down condition options. Also, there is only one remaining candidate tag, "secondary container", that belongs to the "variety category" in FIG. 15(B). Therefore, the specification server 300 determines only the remaining candidate tag, "secondary container", as the narrowing-down condition option corresponding to the "variety category". In other words, in this case, from among the remaining candidate tags, the three remaining candidate tags, "snacks" and "delicious salt" that belong to the "product category" and "secondary container" that belongs to the "variety category", are determined as the narrowing-down condition options.
[0084] Also in this embodiment, when there is an untagged specification among the specifications to be narrowed down, the specification server 300 provides "Other" corresponding to the untagged specification as a narrowing condition option. In this embodiment, the narrowing condition option "Other" may be provided according to the untagged specification identified based on the relationship between all the remaining candidate tags and the specifications to be narrowed down, as in the first embodiment, without being divided by category. 15, the specification with the specification ID SF007 is an unassigned specification. Therefore, in this case, the specification server 300 adds a narrowing condition option of "other" associated with the specification with the specification ID SF007.
[0085] In this case, the specification server 300 transmits refined search information indicating that the refined condition options are "Snacks" and "Tasty Salt" belonging to the "Product Category", and "Secondary Container" and "Others" belonging to the "Variety Category" to the chatbot server 200. As a result, in the user terminal 100, the chatbot refined search message MS-6 (MS6-1, MS6-2) is displayed on the application screen of the chatbot application as shown in FIG. 16. The refined search message MS6-1, like the refined search message MS5-1 in Figure 2 (C), has a message content instructing the user to select search conditions (refining conditions) for a refined search because seven search results were obtained. The next search message MS5-2 functions as a refined search screen. In the refined search screen as the search message MS5-2 in the figure, refinement condition options are presented for each category item of "product" (product category), "variety" (variety category), and "other". That is, in the search message MS5-2, two refinement condition selection buttons BT31-1 and BT31-2 corresponding to the tags "snack" and "tasty salt" are arranged in correspondence with the category item of "product". In addition, one refinement condition selection button BT31-11 corresponding to the tag "secondary container" is arranged in correspondence with the category item of "variety". In addition, a category item of "other" is provided, and a refinement condition selection button BT31-21 of "other" is arranged in correspondence with the category item of "other". In this case, too, the user can tap any of the refinement condition selection buttons BT31 (BT31-1, BT31-2, BT31-11, BT31-21) to select it, and then operate the execute button BT21 to specify the refinement conditions and instruct a refined search.
[0086] [Example of processing procedure] An example of a processing procedure executed by the specification server 300 of the present embodiment in response to a search for a specification will be described. In this embodiment, the specification server 300 executes the same processing procedure as that shown in the flowchart of Fig. 11. Then, in the option extraction process of step S106, the specification server 300 of this embodiment classifies the remaining candidate tags by category and extracts narrowing-down condition options for each of the classified remaining candidate tags.
[0087] The flowchart in FIG. 17 shows an example of a processing procedure executed by the specification server 300 of this embodiment as the option extraction processing in step S106. The processes in steps S301 to S303 may be similar to those in steps S201 to S203 in FIG.
[0088] Step S304: In the specification server 300, the tag removal unit 323 classifies the remaining candidate tags that have not been removed by the processes in steps S302 and S303 into categories as shown in FIG.
[0089] Step S305: The tag exclusion unit 323 selects one of the categories divided in step S304 as a target for extracting narrowing condition options. The processing in steps S306 to S309 is the same as that in steps S204 to S207 in Fig. 12. However, in steps S306 to S309, the calculation of the overall similarity, the calculation of the coverage, and the setting of the priority order are performed for the remaining candidate tags belonging to the category selected as the extraction target for the narrowing down condition options in step S305. As a result, for example, the result shown in Fig. 15 can be obtained.
[0090] Step S310: After the processes of steps S306 to S309, the option determining section 327 determines whether extraction of narrowing-down condition options from the remaining candidate tags for all of the classified categories is complete. If extraction of narrowing-down condition options from the remaining candidate tags for all of the classified categories is not complete, the process returns to step S305, whereby processing is performed to extract narrowing-down condition options for the next category for which narrowing-down condition options have not yet been extracted.
[0091] Step S311: When extraction of narrowing down condition options from the remaining candidate tags for all the classified categories is completed, the process proceeds to step S312. The processes of steps S312 and S313 may be similar to steps S208 and S209 in FIG.
[0092] 11, which is executed after the process in FIG. 11 is executed, the control unit 202 generates refined search information indicating the correspondence between the remaining candidate tags determined as the refinement condition options and the categories. In addition, when the "Other" refinement condition option is added, the control unit 202 causes the refined search information to include information indicating the "Other" refinement condition option as one category. This allows the user terminal 100 to display a refined search screen in which the refinement condition selection buttons BT31 are arranged in correspondence with each category item, as shown in FIG. 16.
[0093] In the above-described embodiments, package specifications are used as search targets. However, the search target data that can be searched for in the configurations of the above-described embodiments is not limited to package specifications, and can be applied to all search target data in a tagged format. In addition, the tags may be assigned to the search target data in advance, or, for example, when a search is performed, the specification server 300 may analyze the search target data and generate tags, and the generated tags may be used to perform a search according to each of the above embodiments.
[0094] In addition, by having the specification server 300 have functions equivalent to the chatbot server 200, the specification server 300 and the user terminal 100 may communicate with each other without the intervention of the chatbot server 200, thereby enabling searches to be performed in each of the above embodiments. The function of the specification server 300 in each of the above-mentioned embodiments may be distributed among a plurality of servers or devices, and the plurality of servers or devices may cooperate to realize the search in each of the above-mentioned embodiments. As an example, the search in each of the above-mentioned embodiments may be realized by cooperation between a server that stores specifications and a server having a search function.
[0095] The presentation of narrowing-down condition options as in this embodiment allows for efficient narrowing-down searches with simple operations when searching using a chatbot application on a terminal such as a smartphone as in the above embodiments. However, input of the search key is not limited to input of a message to the chatbot application. For example, the search key may be input to a search screen displayed on the terminal by accessing a web page of the search screen through the terminal.
[0096] <Modification> Modifications of the above embodiments will now be described. [First Modification] In the above embodiments, the case where the largely assigned tag is a universally assigned tag is taken as an example. A universally assigned tag is a candidate tag that is assigned to all of the searched specifications. The multiple-assigned tag may not be a candidate tag that is assigned to all the searched specifications, but may be a candidate tag that is assigned to a certain number of specifications or more among all the searched specifications. For example, even if a candidate tag that is assigned to about 990 of the 100 searched specifications is used as a search key to search again the specifications that are the subject of the narrowed search, the search results will be almost the same specifications that are the subject of the narrowed search. Therefore, in this modified example, candidate tags to which a certain number or more specifications are assigned among all the retrieved specifications are treated as majority assigned tags and are excluded from the candidate tags.
[0097] In identifying such a frequently-assigned tag, the tag removal unit 323 of the specification server 300 may calculate the coverage for each candidate tag. The tag removal unit 323 may remove a candidate tag whose calculated coverage is equal to or greater than a predetermined level as a frequently-assigned tag.
[0098] Alternatively, when identifying the frequently-assigned tags, the tag removal unit 323 forms a set to which all the searched specifications belong, and a set having the specification to which the tag is assigned as an element for each candidate tag. The tag removal unit 323 calculates the similarity (individual similarity) for each set having the specification to which the tag is assigned as an element for the set to which all the searched specifications belong. The tag removal unit 323 may remove candidate tags corresponding to sets having a similarity equal to or higher than a certain level as frequently-assigned tags.
[0099] [Second modified example] In the above embodiments, the case where the destination overlapping tag is a destination matching tag has been described as an example. A destination matching tag is a candidate tag whose specifications of the destination match those of other candidate tags. However, a candidate tag whose specification overlaps with other candidate tags at a certain rate or more may also be considered a duplicate tag. For example, when there are a considerable number of specifications to which multiple candidate tags are assigned, and the degree of overlap between the multiple candidate tags is high, if the target specification is searched again by narrowing down the search using each of the multiple candidate tags as a search key, the search results obtained will be almost the same. Therefore, in this modified example, in the specifications to which each of the multiple candidate tags is to be assigned, all candidate tags other than one selected from among the candidate tags for which the degree of overlapping specifications is higher than a certain level are treated as duplicate destination tags and excluded from the candidate tags.
[0100] With reference to FIG. 18, a procedure example for identifying duplicate destination tags and removing the identified duplicate destination tags in this modified example will be described. When a specification is searched for using a certain search key, four candidate tags A, B, C, and D are obtained corresponding to the searched specification. Then, the tag exclusion unit 323 of the specification server 300 calculates individual similarities for the tags A, B, C, and D that are the candidate tags. FIG. 18(A) shows the result of the tag removal unit 323 calculating the individual similarity of tag A to each of tags B, C, and D. When there is a combination of two tags whose individual similarity is equal to or greater than a predetermined threshold, the two tags of the combination may become destination overlapping tags. In the case of FIG. 18(A), the individual similarity of 0.95 among the calculated individual similarities is equal to or greater than the threshold. In this case, one of tags A and C whose individual similarity is 0.95 may become a destination overlapping tag. Therefore, in this case, the tag removal unit 323 determines tag C as a destination overlapping tag among tags A and C, and removes tag C from the candidate tags. FIG. 18(B) shows the result of removing tag C from the candidate tags. Next, the tag removal unit 323 calculates the individual similarity of tag B to tag D in the state of Fig. 18(B). The calculated individual similarity is 0.99, as shown in Fig. 18(C), which is greater than the threshold. In this case, one of tags B and D may be a destination duplicate tag. Therefore, the tag removal unit 323 in this case determines tag D to be a destination duplicate tag, and removes tag C from the candidate tags. Fig. 18(D) shows the result of removing tag C from the candidate tags. Through the processing up to this point, tags C and D have been removed from the candidate tags, leaving only two candidate tags: tags A and B. The individual similarity between tags A and B has already been calculated as 0.41. Because the individual similarity of 0.41 is less than the threshold, there are no more tags that could become destination duplicate tags. Therefore, the tag removal unit 323 may end the process of removing destination duplicate tags at this stage.
[0101] In addition, a program for realizing the functions of the above-mentioned user terminal 100, chatbot server 200, specification server 300, etc. may be recorded in a computer-readable recording medium, and the program recorded in the recording medium may be read into a computer system and executed to perform processing of the above-mentioned systems and devices. Here, "reading a program recorded in a recording medium into a computer system and executing it" includes installing the program into a computer system. The "computer system" here includes hardware such as an OS and peripheral devices. In addition, the "computer system" may include multiple computer devices connected via a network including the Internet, a WAN, a LAN, a dedicated line, and other communication lines. In addition, the "computer-readable recording medium" refers to a portable medium such as a flexible disk, an optical magnetic disk, a ROM, a CD-ROM, and a storage device such as a hard disk built into a computer system. In this way, the recording medium storing the program may be a non-transient recording medium such as a CD-ROM. In addition, the recording medium also includes a recording medium provided inside or outside the distribution server that can be accessed from the distribution server in order to distribute the program. The code of the program stored in the recording medium of the distribution server may be different from the code of the program in a format executable by the terminal device. That is, the format in which the program is stored in the distribution server does not matter as long as the program can be downloaded from the distribution server and installed in a form executable by the terminal device. The program may be divided into multiple parts, each of which may be downloaded at a different time and then combined on the terminal device, or each of the divided programs may be distributed by a different distribution server. Furthermore, the term "computer-readable recording medium" includes a storage medium that holds a program for a certain period of time, such as a volatile memory (RAM) inside a computer system that is a server or client when a program is transmitted over a network. The program may also be one that realizes part of the above-mentioned functions.Furthermore, the above-mentioned functions may be realized in combination with a program already recorded in the computer system, that is, a so-called differential file (differential program). [Explanation of symbols]
[0102] 100 User terminal, 200 Chatbot server, 202 Control unit, 300 Specification server, 301 Communication unit, 302 Control unit, 303 Storage unit, 321 Search condition acquisition unit, 322 Search unit, 323 Tag exclusion unit, 324 Similarity index value calculation unit, 325 Coverage index value calculation unit, 326 Priority setting unit, 327 Choice determination unit, 331 Specification storage unit
Claims
1. a search condition acquisition unit that acquires search conditions; a search unit that searches for search data that satisfies a search condition from among search target data associated with tags; a tag exclusion unit that excludes non-useful tags that are not useful as search conditions used in a refined search from among the candidate tags that are tags that have been assigned to each of the search data; a similarity index value calculation unit that calculates a similarity index value indicating a degree of similarity between each remaining candidate tag that has not been excluded by the tag exclusion unit and other remaining candidate tags; a priority setting unit that sets priorities of the remaining candidate tags based on at least a similarity index value for each of the remaining candidate tags; an option determination unit that determines options for the narrowing-down conditions from among the remaining candidate tags based on the priority order; A search system comprising:
2. The tag excluding unit excludes candidate tags whose assigned specifications occupy a certain degree or more in the entirety of the retrieved specifications. The search system according to claim 1.
3. The tag excluding unit excludes candidate tags whose specification to which the tag is assigned overlaps with the specification to which other candidate tags are assigned to a certain degree or more as non-useful tags.
3. The search system according to claim 1 or 2.
4. The similarity index calculation unit calculates a similarity between sets having the search data to which the tag is assigned as an element for each of the remaining candidate tags, and calculates a similarity index for each of the remaining candidate tags based on the calculated similarity between the sets. The search system according to any one of claims 1 to 3.
5. When there is untagged search data to which the remaining candidate tag determined as an option of the narrowing condition is not assigned, the option determination unit adds an option of the narrowing condition associated with the untagged search data. A search system according to any one of claims 1 to 4.
6. a coverage index calculation unit that calculates, for each remaining candidate tag, a coverage index indicating a degree of the search data to which the remaining candidate tag is assigned in the entirety of the search data; The priority setting unit sets a priority of the remaining candidate tags based on a priority of each of the remaining candidate tags calculated based on a similarity index value of each of the remaining candidate tags and a coverage index value of each of the remaining candidate tags. A search system according to any one of claims 1 to 5.
7. The tags are classified as belonging to any one of the categories, the similarity index calculation unit calculates a similarity index for each remaining candidate tag on a category basis; the priority setting unit sets priorities of the remaining candidate tags on a category-by-category basis; The option determination unit determines options of the narrowing-down conditions for each of the categories based on the priority order set for each of the categories. A search system according to any one of claims 1 to 5.
8. a coverage index calculation unit that calculates, for each of the remaining candidate tags, a coverage index indicating a degree of an area of the search data to which the remaining candidate tags are assigned in the entirety of the search data, for each of the categories; The priority setting unit sets a priority of the remaining candidate tags based on a priority of each of the remaining candidate tags calculated based on a similarity index value of each of the remaining candidate tags and a coverage index value of each of the remaining candidate tags for each of the categories. The search system according to claim 7.
9. A search method in a search system, comprising: a search condition acquisition step for acquiring search conditions; a search step of searching for search data that satisfies a search condition from among search target data associated with tags; a tag excluding step of excluding non-useful tags that are not useful as search conditions to be used in a refined search from among the candidate tags that are tags that have been assigned to each of the search data; a similarity index calculation step of calculating a similarity index value indicating a degree of similarity between each remaining candidate tag that is not excluded by the tag exclusion step and other remaining candidate tags; a priority setting step of setting priorities of the remaining candidate tags based on at least a similarity index value for each of the remaining candidate tags; an option determination step of determining options for the narrowing-down conditions from among the remaining candidate tags based on the priority order; Search methods including.
10. A computer provided in the search system, a search condition acquisition unit that acquires search conditions; a search unit that searches for search data that satisfies a search condition from among search target data associated with tags; a tag exclusion unit that excludes non-useful tags that are not useful as search conditions used in a refined search from among candidate tags that are tags that have been assigned to each of the search data; a similarity index value calculation unit that calculates a similarity index value indicating a degree of similarity between each remaining candidate tag that has not been excluded by the tag exclusion unit and other remaining candidate tags; a priority order setting unit that sets priorities of the remaining candidate tags based on at least a similarity index value for each of the remaining candidate tags; an option determining unit that determines options of the narrowing-down conditions from among the remaining candidate tags based on the priority order; A program to function as a
Citation Information
Patent Citations
Document search program, method and device
JP2004220082A
Server, terminal device, program, information storage medium and image retrieval method
JP2010218247A
Tag giving device, method and program
JP2016062338A
Device and method for providing data, and computer program for executing the method
KR1020170011360A
Reception device
WO2011013234A1