Retrieval device, retrieval method, and retrieval program

By integrating multiple search engines and machine learning model analysis, the problem of inaccurate search results for users when using existing search engines is solved, and more accurate search results output is achieved.

JP2025014448APending Publication Date: 2025-01-30LY CORP
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2023117011
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-07-18
Publication Date
2025-01-30

AI Technical Summary

Technical Problem

When users use existing search engines, they lack awareness of the characteristics of different search engines, resulting in inaccurate search results.

Method used

Through a search device, multiple search engines (such as DNN search engines and directory search engines) are integrated, and user queries are analyzed using machine learning models to determine the most suitable search results for output.

Benefits of technology

Improve the accuracy of search results and ensure that users get more search results that meet their needs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025014448000001_ABST
    Figure 2025014448000001_ABST
Patent Text Reader

Abstract

To provide a retrieval device, retrieval method, and retrieval program, which enable more accurately retrieving a location from a retrieval query entered by a user.SOLUTION: In a retrieval device 100, a control unit 130 comprises: an acquisition unit 131 for acquiring a retrieval query entered by a user; a retrieval unit 132 configured to input the retrieval query into each of multiple retrieval engines to retrieve locations, a determination unit 133 configured to determine a first retrieval result to be employed form among retrieval results of the multiple retrieval engines according to location retrieval results of the multiple retrieval engines; and an output unit 134 for outputting the first retrieval result.SELECTED DRAWING: Figure 4
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to a search device, a search method, and a search program. [Background technology]

[0002] A user can access a search site or application using a smartphone or the like to search for information on various locations such as landmarks, convenience stores, hotels, etc. In such a location search, for example, a user inputs a search query such as the name of a location into an input form of a search site or the like via a smartphone or the like, and the search query is input into a search engine to search for the location.

[0003] There are various search engines that can be used to search for locations, such as search engines that use DNNs (Deep Neural Networks) that are resistant to fluctuations in search queries and are good at queries that search for a single location, and category search engines (also known as directory search engines) that are good at list-type queries, can analyze search queries to perform category searches, and are also capable of string matching. [Prior art documents] [Patent documents]

[0004] [Patent Document 1] JP 2007-233863 A Summary of the Invention [Problem to be solved by the invention]

[0005] However, users rarely know or are aware of the characteristics of each search engine, and they do not even consider search queries to match the search engine. As a result, when searching for locations, the search query entered by the user may not accurately search for the location that the user is looking for.

[0006] The present application has been made in consideration of the above, and has an object to more accurately search for locations from a search query input by a user. [Means for solving the problem]

[0007] The search device of the present application is characterized by having an acquisition unit that acquires a search query input by a user, a search unit that inputs the search query into each of a plurality of search engines to search for locations, a determination unit that determines a first search result to be adopted from among the search results of the plurality of search engines based on the search results for locations by the plurality of search engines, and an output unit that outputs the first search result. Effect of the Invention

[0008] According to one aspect of the present embodiment, it is possible to more accurately search for locations based on a search query input by a user. [Brief description of the drawings]

[0009] [Figure 1] FIG. 1 is a diagram showing an example of a search engine used to search for bases. [Diagram 2] FIG. 2 is a diagram showing an example of the configuration of the information processing system 1 according to the present embodiment. [Diagram 3] FIG. 3 is a diagram showing an example of a base search using a plurality of search engines according to this embodiment. [Figure 4] FIG. 4 is a diagram showing an example of the configuration of a search device 100 according to this embodiment. [Diagram 5] FIG. 5 is a diagram showing an example of distance learning according to the present embodiment. [Figure 6] FIG. 6 is a flowchart showing an example of a procedure of the base search process according to the present embodiment. [Figure 7] FIG. 7 is a flowchart showing an example of a procedure of the training process according to this embodiment. [Figure 8] FIG. 8 is a hardware configuration diagram showing an example of a computer that realizes the functions of the search device 100. As shown in FIG. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0010] Hereinafter, a detailed description will be given of a search device, a search method, and a search program according to the present application (hereinafter, referred to as an "embodiment") with reference to the drawings. Note that the search device, the search method, and the search program according to the present application are not limited to the embodiment. In addition, the same components in the following embodiments are given the same reference numerals, and duplicated descriptions are omitted.

[0011] [0. Search Engines] First, an example of a search engine used to search for bases will be described with reference to FIG. 1. FIG. 1 is a diagram showing an example of a search engine used to search for bases. In the example of FIG. 1, the left side shows a DNN search engine, which is a search engine using DNN that is resistant to fluctuations in search query and is good at queries such as searching for one base, and the right side shows a category search engine that is good at list-type queries and can analyze search queries and perform category search. Note that FIG. 1 is just an example, and the search engine used to search for bases is not limited to the DNN search engine and the category search engine.

[0012] For example, when the search query is "Hotel where you can read books in Nagoya," the DNN search engine shown on the left side of Figure 1 searches for semantically similar locations using DNNs rather than searching on the surface of the search query, and returns one location, "XXXX Books Hotel Nagoya," as the search result.

[0013] On the other hand, the category search engine shown on the right side of Figure 1, for example, when the search query is "Kyoto ramen" (a list-type query with spaces between multiple search words), searches for stores in Kyoto Prefecture that have the ramen category, and returns multiple locations as search results, such as "Menya XX, △△ Main Store, □□ Main Store, ...".

[0014] As mentioned above, users rarely know or are aware of the characteristics of each search engine, and in the first place do not consider search queries to match the search engine. As a result, when searching for locations, the search query entered by the user may not accurately search for the location the user is looking for.

[0015] It is also possible to use a machine learning model generated by training the search query as input data and the search engine (or machine learning model) to be used for that search query as the correct answer label to select a search engine to use from the search query entered by the user, but it is not easy to train the model to correctly search for locations.

[0016] Therefore, in this embodiment, the search results to be adopted for presentation to the user are determined based on the search results from a plurality of search engines, thereby enabling a more accurate search for locations based on the search query entered by the user.

[0017] [1. Configuration of information processing system] With reference to FIG. 2, information processing realized by the search device 100 and the like of this embodiment will be described. FIG. 2 is a diagram showing a configuration example of an information processing system 1 according to this embodiment. In the example shown in FIG. 2, the information processing system 1 has a user terminal 10 and a search device 100. The user terminal 10 and the search device 100 are connected to each other so as to be able to communicate with each other by wire or wirelessly via a predetermined communication network not shown. The network N is a communication network such as a LAN (Local Area Network), a WAN (Wide Area Network), a telephone network (such as a mobile phone network or a landline telephone network), a regional IP (Internet Protocol) network, or the Internet. The network N may include a wired network or a wireless network. The information processing system 1 shown in FIG. 2 may include a plurality of user terminals 10 and a plurality of search devices 100.

[0018] The user terminal 10 shown in Fig. 2 is an information processing terminal used by a user who performs a base search. For example, the user terminal 10 is a desktop PC (Personal Computer), a notebook PC, a tablet terminal, a mobile phone, a PDA (Personal Digital Assistant), etc. In the example shown in Fig. 2, the user terminal 10 is a smart device such as a smartphone or tablet used by a user.

[0019] 2 displays, for example, a search site or application for searching locations provided by the search device 100 or the like, and transmits a search query that a user inputs into an input form of the search site or the like to search for locations to the search device 100. Note that input of the search query into the input form may be, for example, not only text input but also voice input.

[0020] 2 is an information processing device managed by a service provider that provides a base search service. For example, the search device 100 is a server computer. Alternatively, the search device 100 may be a cloud computer device managed by a service provider that provides a cloud computing service.

[0021] The search device 100 shown in Fig. 2 receives and acquires a search query input by a user from, for example, the user terminal 10. The search device 100 also inputs the acquired search query into, for example, each of a plurality of search engines to search for locations. The search device 100 also determines and outputs search results to be adopted from among the search results of the plurality of search engines, based on search results for locations by the plurality of search engines, for example. The location search of this embodiment will be described in more detail with reference to Fig. 3.

[0022] Fig. 3 is a diagram showing an example of a location search using multiple search engines according to this embodiment. In the example of Fig. 3, a location search is performed using the DNN search engine and the category search engine shown in Fig. 1. As shown in Fig. 3, the processes related to the location search using each of the DNN search engine and the category search engine (steps S1-1 to S2-1 and steps S1-2 to S2-2) are performed, for example, in parallel.

[0023] First, the location search by the DNN search engine will be described. For example, when a user inputs a search query "Iroha Shibuya" via the user terminal 10, the search device 100 inputs the search query to the DNN search engine, and the DNN search engine returns information on one location as a search result, as shown in FIG. 3 (step S1-1). Next, the search device 100 determines whether the location "Japanese Restaurant "Iroha"" is a correct search result based on, for example, the CTR (Click Through Rate) of the URL (Uniform Resource Locator) of the website of "Japanese Restaurant "Iroha"", and if it is determined to be an incorrect result, it deletes the location "Japanese Restaurant "Iroha"" from the search result (step S2-1). Note that if the search result is determined to be an incorrect result, the search result by the DNN search engine may be zero hits.

[0024] On the other hand, in the case of a location search using a category search engine, for example, when a search query "Iroha Shibuya" is input, the search device 100 inputs the search query to the category search engine, and the category search engine returns information on a plurality of locations as search results, as shown in FIG. 3 (step S1-2). Next, in the case of a category search engine, the search device 100 also judges each location based on, for example, the CTR of the URL of the website of each location in the search results, and controls so that locations judged to be incorrect are not displayed in the search results (step S2-2). Alternatively, for example, the display priority may be changed based on the CTR, and the location with the higher CTR may be displayed at the top of the search results.

[0025] Next, the search device 100, for example, as an exclusive process, determines which search engine's search results should be adopted to present to the user based on the search results of the locations by the DNN search engine and the category search engine (step S3). The search results to be adopted are determined based on, for example, the confidence level of each location in the search results calculated using existing business logic or machine learning models, the click tendency of the URL of the website of each location, the contents of the search results of each location, etc.

[0026] Regarding the content of the search results from each location, for example, if the search query is "Tachibana High School," the search result from the DNN search engine is "Tachibana High School," and the search result from the category search engine is "List of high schools in Tachibana (place name)," the answer may appear correct if judged based solely on the search results from the DNN search engine, but it can be determined that the search results from the category search engine are closer to the search results the user is looking for, and so the search results from the category search engine are adopted.

[0027] Also, for example, if the search query is "Saitama Hospital", the search result of the DNN search engine is "Saitama Hospital", and the search result of the category search engine is "List of hospitals in Saitama Prefecture", the search result of the DNN search engine is a hit for "Saitama Hospital" without a space, so the search result of the DNN search engine is adopted.

[0028] Next, the search device 100 displays the search result determined in step S3 to the user via the user terminal 10 by a DD (Direct Display) of the location (step S4). After step S4, the location search process shown in FIG.

[0029] In the example of Fig. 3, a DNN search engine and a category search engine are shown as multiple search engines, but the search engines used in the base search are not limited to the DNN search engine and the category search engine. For example, if a search query is "Hakata ramen", and the search result of one search engine is "Hakata ramen shop", and the search result of another search engine is "Hakata ramen shop", the search device 100 may determine which search engine's search result should be adopted to present to the user by the base search process shown in Fig. 3, and present it to the user.

[0030] 2. Configuration of the Search Device Next, the configuration of the search device 100 will be described with reference to Fig. 4. Fig. 4 is a diagram showing an example of the configuration of the search device 100 according to this embodiment. As shown in Fig. 4, the search device 100 has a communication unit 110, a storage unit 120, and a control unit 130.

[0031] (Regarding communication unit 110) The communication unit 110 is realized by, for example, a network interface card (NIC) etc. The communication unit 110 is connected to a network N by wire or wirelessly, and transmits and receives information to and from other devices such as the user terminal 10.

[0032] (Regarding the storage unit 120) The storage unit 120 is realized by, for example, a semiconductor memory element such as a random access memory (RAM) or a flash memory, or a storage device such as a hard disk or an optical disk. As shown in FIG. 4, the storage unit 120 has an input data storage unit 121, a base data storage unit 122, and a model data storage unit 123.

[0033] (Regarding the input data storage unit 121) The input data storage unit 121 stores, for example, data to be input to a machine learning model for searching locations. The information stored in the input data storage unit 121 is, for example, a search query input by a user via the user terminal 10. The search query may be, for example, a single search word such as "XXX Books Hotel Nagoya" or a list-type query with spaces between multiple search words such as "Kyoto Ramen."

[0034] (Regarding the base data storage unit 122) The base data storage unit 122 stores, for example, data on bases for determining search results to be adopted for presentation to a user. The information stored in the base data storage unit 122 may be data on bases that can be collected in advance, such as the CTR or click tendency of the URL of the website of each base, but may also include, for example, the confidence level of each base in the search result calculated at the time of the base search, the contents of the search result of each base, and the like.

[0035] (Regarding the model data storage unit 123) The model data storage unit 123 stores, for example, information about a machine learning model for outputting information about a location from a search query, and model parameters for constructing the machine learning model. The machine learning model is generated by training, for example, using a search query as input data and information about the location as a correct answer label. Note that the machine learning model is, for example, a DNN search engine and a category search engine (directory search engine) shown in FIG. 1 and FIG. 3, and corresponds to the first machine learning model and the second machine learning model, respectively.

[0036] Furthermore, when training the machine learning model in the search device 100, the model data storage unit 123 may store, for example, training data for the machine learning model. The training data includes, for example, a search query as input data and information on bases as correct answer labels.

[0037] (Regarding the control unit 130) The control unit 130 is a controller, and is realized, for example, by a CPU (Central Processing Unit) or an MPU (Micro Processing Unit) executing various programs stored in a storage device inside the search device 100 using a RAM as a working area. The control unit 130 is also a controller, and is realized, for example, by an integrated circuit such as an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array), or a GPGPU (General Purpose Graphic Processing Unit). As shown in FIG. 4, the control unit 130 according to this embodiment has an acquisition unit 131, a search unit 132, a determination unit 133, an output unit 134, and a training unit 135, and realizes or executes the functions and actions of information processing described below.

[0038] (Regarding the acquisition unit 131) The acquiring unit 131, for example, receives and acquires a search query input by a user via the user terminal 10 from the user terminal 10. The search query acquired from the user terminal 10 may be stored in the input data storage unit 121.

[0039] (Regarding the search unit 132) The search unit 132 searches for locations by, for example, inputting the search query acquired by the acquisition unit 131 into each of a plurality of search engines. The plurality of search engines may be, for example, a first search engine that is a DNN search engine using a DNN, and a second search engine that is a directory search engine (category search engine) as shown in Fig. 1 and Fig. 3.

[0040] (Regarding the determination unit 133) The determination unit 133 determines a first search result to be adopted from among the search results of the multiple search engines, for example, based on the search results of the bases by the multiple search engines. The process of determining the first search result may include a process of determining the first search result based on at least one of the confidence level of the search result, the click-through rate (CTR) or click tendency of the URL displayed in the search result, and the content of the search result. The confidence level may be calculated using existing business logic, machine learning models, and the like. In addition, being based on the content of the search result is, for example, as explained above in the example of the search queries "Tachibana High School" and "Saitama Hospital."

[0041] The process of determining the first search results may include, for example, a process of determining whether or not to output the search results by the second search engine based on the click rate of the URL displayed in the search results by the second search engine, and determining the search results by the second search engine as the first search results when it is determined that the search results by the second search engine are to be output, and determining the search results by the first search engine as the first search results when it is determined that the search results by the first search engine are not to be output. This is a pattern in which, for example, when the CTR of the URL of each location in the location list of the search results by the category search engine is less than a predetermined threshold and is not very high, the search results of the DNN search engine are adopted.

[0042] The process of determining the first search result includes a process of determining whether the search result by the first search engine is correct or not based on the click rate of the URL displayed in the search result by the first search engine, and determining the search result by the first search engine as the first search result when it is determined that the search result by the first search engine is correct, and determining the search result by the second search engine as the first search result when it is determined that the search result by the first search engine is incorrect. This is a pattern in which, for example, when the CTR of the URL of the base of the search result by the DNN search engine is less than a predetermined threshold and is not very high, the search result of the category search engine is adopted. More specifically, for example, when the search query is "Tokyo Tower" and the base of the search result by the DNN search engine is "Tokyo Tower", it is difficult to think of the base that Tokyo Tower refers to other than Tokyo Tower, so the search result by the DNN search engine is likely to be correct, and the CTR of the URL of the base "Tokyo Tower" of the search result of the DNN search engine should be high. On the other hand, for example, if the search query is "Tokyo Tower" and the locations shown in the search results by the DNN search engine are "Tokyo Skytree" or "Tohoku Tower," the locations shown in the search results by the DNN search engine are likely to be similar to "Tokyo Tower" but incorrect, and the CTR of the URLs for the locations shown in the DNN search engine search results, "Tokyo Skytree" or "Tohoku Tower," should be low.

[0043] (Regarding the output unit 134) The output unit 134 outputs, for example, the first search result determined by the determination unit 133. Note that the output of the search result may be, for example, transmitting the search result to the user terminal 10 and displaying it via a display device.

[0044] (Regarding Training Division 135) The training unit 135 trains and generates a machine learning model of a DNN used in the first search engine, for example, using the first search query as input data and the information of the first base as a correct answer label. The first search engine is, for example, a DNN search engine using a DNN as shown in FIG. 1 or FIG. 3. The input data and correct answer label used to train the first search engine are generated based on, for example, a click log of a URL displayed in the search result of the base. For example, since a URL clicked from the search result of the base by the search unit 132 is considered to be a URL related to the base that is a correct answer for the base search, the training unit 135 can use the information of the base corresponding to the URL as a correct answer label of the training data, and the search query input to the machine learning model at that time as input data of the training data.

[0045] The training unit 135 can also perform distance learning on the machine learning model of the DNN search engine, which is the first search engine. FIG. 5 is a diagram showing an example of distance learning according to this embodiment. FIG. 5 shows, for example, a vector space of the machine learning model of the DNN search engine before and after training, where a circle indicates a search query and a triangle indicates a document (location information). In general distance learning, for example, for each pair of a search query and a document, training of the machine learning model is performed so that the distance between the vectors of the correct (related) pair is closer, and the distance between the vectors of the incorrect (low related) pair is farther. In this embodiment, in addition to such general distance learning, as shown in FIG. 5, training of the machine learning model is performed so that the distance between the vectors of the search query and the other search queries and the document and the other documents is farther. This is because, for example, in a machine learning model that performs a correct answer search used in a DNN search engine to find one correct answer, all search queries and documents (location information) in the training data are incorrect except for the search query and the document itself, so that training is performed so that the distance between the vectors is farther, thereby generating a machine learning model that can more accurately search for the correct location.

[0046] In this embodiment, to perform such distance learning, for example, the process of training and generating a machine learning model by the training unit 135 includes processes of training the machine learning model so that the vector distance of a first pair of a first search query, which is the correct answer, and information about the first location becomes closer, training the machine learning model so that the vector distance of a second pair of a second search query, which is an incorrect answer, and information about the second location becomes longer, training the machine learning model so that the vector distance between the first search query and a third search query other than the first search query becomes longer, and training the machine learning model so that the vector distance between the information about the first location and information about a third location other than the information about the first location becomes longer.

[0047] Note that, when training of the machine learning model is performed, for example, in an information processing device other than the search device 100, the search device 100 does not need to include the training unit 135.

[0048] [3. Location search processing flow] The procedure of the base search process of the information processing system 1 according to this embodiment will be described with reference to Fig. 6. Fig. 6 is a flowchart showing an example of the procedure of the base search process according to this embodiment.

[0049] As shown in FIG. 6, the search device 100 acquires, for example, a search query input by a user via the user terminal 10 from the user terminal 10 (step S101).

[0050] Next, the search device 100 inputs the search query acquired in step S101 into each of a plurality of search engines to search for locations (step S102).

[0051] Next, the search device 100 determines a first search result to be adopted and presented to the user from among the search results of the multiple search engines, based on, for example, search results for locations by the multiple search engines (step S103).

[0052] Next, the search device 100 outputs, for example, the first search result determined in step S103 (step S104). Note that the output of the search result may be, for example, by transmitting the search result to the user terminal 10 and displaying it via a display device. After execution of step S104, the base search process shown in FIG. 6 ends.

[0053] [4. Training process flow] The procedure of the training process by the search device 100 according to this embodiment will be described with reference to Fig. 7. Fig. 7 is a flowchart showing an example of the procedure of the training process according to this embodiment.

[0054] 7, the search device 100 acquires from the user terminal 10 a click log of a URL displayed in a search result of a location output to the user terminal 10 by, for example, the location search process shown in FIG. 6 (step S201). The click log may be collected from each of the user terminals 10 by the search device 100 and stored in the storage unit 120, for example.

[0055] Next, the search device 100 generates input data and a correct answer label for training a machine learning model that outputs information about a location from a search query, for example, based on the click log acquired in step S201 (step S202). For example, based on the click log, information about the location corresponding to the clicked URL from the search results for the location is used as a correct answer label, and the search query input to the machine learning model at that time is used as input data.

[0056] Next, the search device 100 trains and generates a machine learning model that outputs information about locations from a search query using, for example, the input data and the correct answer label generated in step S202 (step S203). After step S203 is executed, the training process shown in FIG. 7 ends.

[0057] 5. Effects As described above, the search device 100 of this embodiment has an acquisition unit 131 that acquires a search query input by a user, a search unit 132 that inputs the search query to each of a plurality of search engines to search for locations, a determination unit 133 that determines a first search result to be adopted from the search results of the plurality of search engines based on the search results for locations by the plurality of search engines, and an output unit 134 that outputs the first search result.

[0058] This allows the search device 100 according to this embodiment to more accurately search for locations based on a search query input by a user.

[0059] Moreover, the multiple search engines used by the search device 100 according to this embodiment are a first search engine that uses a DNN, and a second search engine that is a directory-type search engine.

[0060] This allows the search device 100 according to this embodiment to more accurately search for locations based on a search query input by a user.

[0061] In addition, the process of determining the first search result executed by the search device 100 according to this embodiment includes a process of determining the first search result based on at least one of the confidence level of the search result, the click-through rate of the URL displayed in the search result, and the content of the search result.

[0062] This allows the search device 100 according to this embodiment to more accurately search for locations based on a search query input by a user.

[0063] In addition, the process of determining the first search results executed by the search device 100 according to this embodiment includes a process of determining whether or not to output the search results from the second search engine based on the click-through rate of URLs displayed in the search results from the second search engine, and if it is determined that the search results from the second search engine should be output, determining the search results from the second search engine as the first search results, and if it is determined that the search results from the first search engine should not be output, determining the search results from the first search engine as the first search results.

[0064] This allows the search device 100 according to this embodiment to more accurately search for locations based on a search query input by a user.

[0065] In addition, the process of determining the first search result executed by the search device 100 according to this embodiment includes a process of determining whether the search result by the first search engine is correct or not based on the click-through rate of the URLs displayed in the search result by the first search engine, and if it is determined that the search result by the first search engine is correct, determining the search result by the first search engine as the first search result, and if it is determined that the search result by the first search engine is incorrect, determining the search result by the second search engine as the first search result.

[0066] This allows the search device 100 according to this embodiment to more accurately search for locations based on a search query input by a user.

[0067] In addition, the search device 100 according to this embodiment has a training unit 135 that trains and generates a DNN machine learning model to be used in the first search engine using the first search query as input data and information on the first location as a correct answer label.

[0068] This allows the search device 100 according to this embodiment to more accurately search for locations based on a search query input by a user.

[0069] Moreover, the input data and the correct answer labels used by the search device 100 according to this embodiment are generated based on the click logs of the URLs displayed in the search results.

[0070] This allows the search device 100 according to this embodiment to more accurately search for locations based on a search query input by a user.

[0071] In addition, the process of training and generating a machine learning model executed by the search device 100 according to this embodiment includes processes of training the machine learning model so that the vector distance of a first pair between a first search query, which is the correct answer, and information about the first location becomes closer, training the machine learning model so that the vector distance of a second pair between a second search query, which is the incorrect answer, and information about the second location becomes larger, training the machine learning model so that the vector distance between the first search query and a third search query other than the first search query becomes larger, and training the machine learning model so that the vector distance between the information about the first location and information about a third location other than the information about the first location becomes larger.

[0072] This allows the search device 100 according to this embodiment to more accurately search for locations based on a search query input by a user.

[0073] [6. Hardware Configuration] Moreover, the information processing devices according to the above-described embodiments are realized, for example, by a computer 1000 configured as shown in Fig. 8. The following description will be given taking the search device 100 as an example. Fig. 8 is a hardware configuration diagram showing an example of a computer that realizes the functions of the search device 100. The computer 1000 has a CPU 1100, a ROM 1200, a RAM 1300, a HDD 1400, a communication interface (I / F) 1500, an input / output interface (I / F) 1600, and a media interface (I / F) 1700.

[0074] The CPU 1100 operates and controls each unit based on a program stored in the ROM 1200 or the HDD 1400. The ROM 1200 stores a boot program executed by the CPU 1100 when the computer 1000 is started up, programs that depend on the hardware of the computer 1000, and the like.

[0075] The HDD 1400 stores programs executed by the CPU 1100, data used by such programs, etc. The communication interface 1500 receives data from other devices via a communication network 500 (corresponding to the network N in this embodiment) and sends the data to the CPU 1100, and also transmits data generated by the CPU 1100 to other devices via the communication network 500.

[0076] The CPU 1100 controls output devices such as a display and a printer, and input devices such as a keyboard and a mouse, via the input / output interface 1600. The CPU 1100 acquires data from the input devices via the input / output interface 1600. The CPU 1100 also outputs data generated via the input / output interface 1600 to the output devices.

[0077] Media interface 1700 reads a program or data stored in recording medium 1800 and provides it to CPU 1100 via RAM 1300. CPU 1100 loads the program from recording medium 1800 onto RAM 1300 via media interface 1700 and executes the loaded program. Recording medium 1800 is, for example, an optical recording medium such as a DVD (Digital Versatile Disc) or a PD (Phase change rewritable Disc), a magneto-optical recording medium such as an MO (Magneto-Optical disk), a tape medium, a magnetic recording medium, or a semiconductor memory.

[0078] For example, when the computer 1000 functions as the search device 100, the CPU 1100 of the computer 1000 executes a program loaded onto the RAM 1300 to realize the function of the control unit 130. In addition, the HDD 1400 stores each piece of data in the storage device of the search device 100. The CPU 1100 of the computer 1000 reads and executes these programs from the recording medium 1800, but as another example, these programs may be obtained from another device via a predetermined communication network.

[0079] [7. Other] Although some of the present embodiments have been described in detail above with reference to the drawings, these are merely examples, and the present invention can be embodied in other forms that incorporate various modifications and improvements based on the knowledge of those skilled in the art, including the forms described in the Disclosure of the Invention section.

[0080] Furthermore, the above-described search device 100 can be flexibly modified in configuration, for example, by calling an external platform or the like using an API (Application Programming Interface) or network computing to implement some functions.

[0081] Furthermore, the term "unit" in the claims may be read as "means" or "circuit," etc. For example, an acquisition unit may be read as an acquisition means or an acquisition circuit. [Explanation of symbols]

[0082] 10 User terminal 100 Search device 110 Communications Department 120 Storage section 121 Input data storage unit 122 Base Data Storage Unit 123 Model Data Storage Unit 130 Control section 131 Acquisition Department 132 Search Department 133 Decision Section 134 Output section 135 Training Department

Claims

1. An acquisition unit that acquires a search query input by a user; a search unit that inputs the search query into each of a plurality of search engines to search for locations; a determination unit that determines a first search result to be adopted from among the search results of the plurality of search engines based on the search results of the base by the plurality of search engines; an output unit for outputting the first search result; A search device comprising:

2. 2. The search device according to claim 1, wherein the plurality of search engines are a first search engine that uses a DNN (Deep Neural Network) and a second search engine that is a directory-type search engine.

3. The process of determining the first search result includes: determining the first search result based on at least one of a confidence level of the search result, a click-through rate of a uniform resource locator (URL) displayed in the search result, and a content of the search result; 3. The search device according to claim 1, further comprising a process for:

4. The process of determining the first search result includes: determining whether or not to output the search results by the second search engine based on a click rate of a URL displayed in the search results by the second search engine; When it is determined that the search results by the second search engine are to be output, the search results by the second search engine are determined to be the first search results; When it is determined that the search result by the first search engine is not to be output, the search result by the first search engine is determined to be the first search result.

3. The search device according to claim 2, further comprising a process for:

5. The process of determining the first search result includes: determining whether the search results by the first search engine are correct based on a click rate of a URL displayed in the search results by the first search engine; If it is determined that the search result by the first search engine is correct, the search result by the first search engine is determined to be the first search result; If it is determined that the search result by the first search engine is incorrect, the search result by the second search engine is determined to be the first search result.

3. The search device according to claim 2, further comprising a process for:

6. The search device according to claim 2, further comprising a training unit that trains and generates a machine learning model of the DNN used in the first search engine using a first search query as input data and information on the first location as a correct answer label.

7. 7. The search device according to claim 6, wherein the input data and the correct answer label are generated based on a click log of a URL displayed in the search result.

8. The process of training and generating the machine learning model includes: training the machine learning model so that a distance between vectors of a first pair between the first search query, which is a correct answer, and information about the first location becomes closer; training the machine learning model so that a distance between vectors of a second pair of a second search query that is an incorrect answer and information about a second location increases; training the machine learning model so that a vector distance between the first search query and a third search query other than the first search query increases; The machine learning model is trained so that a vector distance between the information of the first location and information of a third location other than the information of the first location becomes large.

8. The search device according to claim 6, further comprising a process for:

9. A search method executed by a search device, comprising: An acquisition step of acquiring a search query input by a user; a searching step of inputting the search query into each of a plurality of search engines to search for locations; a determining step of determining a first search result to be adopted from among the search results of the plurality of search engines based on the search results of the base by the plurality of search engines; an output step of outputting the first search result; A search method comprising:

10. A obtaining step of obtaining a search query entered by a user; a search step of inputting the search query into each of a plurality of search engines to search for locations; a determination step of determining a first search result to be adopted from among the search results of the plurality of search engines based on the search results of the base by the plurality of search engines; an output step of outputting the first search result; A search program that causes a computer to execute the following.

Citation Information

Patent Citations

  • Retrieval device and retrieval program

    JP2007233863A