WO2019176102A1 - 検索システム、検索方法、及びプログラム - Google Patents

検索システム、検索方法、及びプログラム Download PDF

Info

Publication number
WO2019176102A1
WO2019176102A1 PCT/JP2018/010554 JP2018010554W WO2019176102A1 WO 2019176102 A1 WO2019176102 A1 WO 2019176102A1 JP 2018010554 W JP2018010554 W JP 2018010554W WO 2019176102 A1 WO2019176102 A1 WO 2019176102A1
Authority
WO
WIPO (PCT)
Prior art keywords
information
user
data item
search
product
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/JP2018/010554
Other languages
English (en)
French (fr)
Inventor
ヴィジャイ ドルタニ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Rakuten Group Inc
Original Assignee
Rakuten Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Rakuten Inc filed Critical Rakuten Inc
Priority to EP18909311.5A priority Critical patent/EP3731108A4/en
Priority to JP2019515557A priority patent/JP6560843B1/ja
Priority to US16/963,841 priority patent/US20210056149A1/en
Priority to PCT/JP2018/010554 priority patent/WO2019176102A1/ja
Publication of WO2019176102A1 publication Critical patent/WO2019176102A1/ja
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9035Filtering based on additional data, e.g. user or group profiles
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/906Clustering; Classification
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9532Query formulation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9538Presentation of query results
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/049Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs

Definitions

  • the present invention relates to a search system, a search method, and a program.
  • Patent Document 1 a technique for searching a database storing a plurality of data items by using character information inputted by a user as a query is known.
  • a keyword group is extracted from content, which is an example of a data item, and indexed, and content search is performed based on a keyword input by a user as a query and an indexed keyword group. And assigning metadata corresponding to the keyword group to each content.
  • the learning machine learns the relationship between the query used during the search and the content selected from the search results, and the query input by the user is input to the learning machine and selected. It is also possible to acquire highly probable content from a learning machine and include it in search results (assumed technology). However, in this case, since only the content selected in the past is learned by the learning machine, content that has not yet been selected by the user (for example, newly added content) cannot be included in the search result. Searching for unselected content cannot be assisted using a learning machine.
  • the present invention has been made in view of the above problems, and its purpose is to search even if a data item is not selected by the user by using a learning machine to assist the search and to improve the search accuracy.
  • a system, a search method, and a program are provided.
  • a search system uses a character information input by a user as a query, a search means for searching a database in which a plurality of data items are stored, and the search means Among the search results, the learning unit learns the relationship between the providing means for providing the user with the data item selected by the user, the item information of the data item selected by the user, and the character information used as the query.
  • Learning means for learning, item information of a data item to be processed is input to the learning machine, acquisition means for acquiring characteristic information of the data item to be processed from the learning machine, and the feature information Registration means for registering in the database in association with a target data item.
  • the search method includes a search step for searching a database in which a plurality of data items are stored using character information input by a user as a query, and a search result obtained by the search step by the user.
  • a program according to the present invention is a search unit that searches a database in which a plurality of data items are stored using character information input by a user as a query, and is selected by the user from among the search results acquired by the search unit.
  • Providing means for providing the user with the data item, learning means for causing the learning machine to learn the relationship between the item information of the data item selected by the user and the character information used as the query, and the data item to be processed Input to the learning machine, acquisition means for acquiring the feature information of the data item to be processed from the learning machine, registration for registering the feature information in the database in association with the data item to be processed
  • the computer functions as a means.
  • the information storage medium according to the present invention is a computer-readable information storage medium storing the above program.
  • the acquisition unit acquires character information as the feature information
  • the registration unit uses the character information acquired from the learning machine as the index of the data item to be processed. It is registered in the database.
  • the item information is character information defined as a first index
  • the learning unit uses the first index of the data item selected by the user as a query.
  • the learning device learns the relationship between the character information and the acquired character information, and the acquisition means inputs a first index of the data item to be processed to the learning device, and the character information as the feature information is learned.
  • the registration means registers the character information acquired from the learning machine in the database as a second index of the data item to be processed.
  • the search system further includes a recording unit that records a combination of item information of the data item selected by the user and character information used as a query, and the learning unit Is characterized in that when a predetermined timing arrives, the learning machine learns the relationship based on the combination recorded by the recording means.
  • the learning unit causes the learning machine to learn the relationship each time a data item is selected by the user.
  • the learning unit generates the learning machine based on a recurrent neural network model, a long / short-term memory model, or a sequence conversion model.
  • the search system further includes an adding unit that adds a new data item to the database, and the acquiring unit inputs item information of the new data item to the learning machine.
  • the feature information of the new data item is acquired from the learning machine, and the registration unit registers the feature information in the database in association with the new data item.
  • the database may include a first index and a second index registered by the registration unit registered for each data item, and the search unit may include the search unit.
  • a first search result is provided to the user based on a first index
  • a second search result is provided to the user based on the second index.
  • the data item is a data item related to a product or a service
  • the search unit is configured to display a first page for displaying a product or service page based on the first index.
  • a search result is provided to the user, and a second search result for providing a coupon for goods or services is provided to the user based on the second index.
  • FIG. 1 is a diagram showing the overall configuration of the search system.
  • the search system 1 includes a server 10, a user terminal 20, and a store terminal 30, which are connected via a network N so that data can be transmitted and received.
  • each of the server 10, the user terminal 20, and the store terminal 30 is shown one by one, but there may be a plurality of these.
  • FIG. 2 is a diagram illustrating a physical configuration of the server 10.
  • the server 10 is a server computer and includes, for example, a CPU 11, a memory 12, and a communication interface 13, which are connected by a bus 14.
  • the CPU 11 executes processing according to programs and data stored in the memory 12.
  • the number of CPUs 11 is one, but the server 10 may include at least one processor and may include two or more CPUs 11.
  • the memory 12 includes a main storage unit and an auxiliary storage unit.
  • the main storage unit is a volatile memory such as a RAM
  • the auxiliary storage unit is a non-volatile memory such as a hard disk or a flash memory.
  • the communication interface 13 is a communication interface for wired communication or wireless communication, and performs data communication via a network, for example.
  • the user terminal 20 is a computer operated by the user, and is, for example, a personal computer, a portable information terminal (including a tablet computer), a mobile phone (including a smartphone), or the like.
  • the store terminal 30 is a computer operated by a person in charge of the store, and is, for example, a personal computer, a portable information terminal (including a tablet computer), a mobile phone (including a smartphone), or the like.
  • the program and data described as being stored in the memory 12 may be supplied to the server 10 via a network.
  • the hardware configuration of the server 10 is not limited to the above example, and various hardware can be applied.
  • the server 10 may include a reading device (for example, an optical disk drive or a memory card slot) that reads a computer-readable information storage medium or an input / output interface (for example, a USB terminal) for directly connecting to an external device.
  • an audio output device such as a speaker may be included.
  • the program and data stored in the information storage medium may be supplied to the server 10 via a reader or an input / output interface.
  • the search system 1 searches a database in which a plurality of data items are stored by using character information input from the user terminal 20 by the user as a query.
  • Character information input from the user terminal 20 is information including at least one character. Since this character information is used as a query, it may be called a keyword or a search character string.
  • the character information may include only one word (search word) or may include a plurality of words.
  • search word search word
  • the plurality of words may be separated by spaces. In this case, a plurality of words may be used in an AND condition or an OR condition.
  • the character information is not limited to a word, and may be a sentence or a part of a sentence.
  • the data item is a unit of data to be searched, and is, for example, an individual record in the database.
  • the data item may be any kind of data, and may be content such as a web page, an electronic book, a moving image, a song, or an application, or a document file, a text file, an image file, or an audio file. It may be a file.
  • the search system 1 searches a database in which various product pages are stored using text information input from the user terminal 20 by the user as a query.
  • FIG. 3 is a diagram showing an example of the top page of the online shopping mall.
  • the top page P ⁇ b> 1 of the online shopping mall is displayed on the user terminal 20.
  • a query such as character information, genre (category), or product attribute (for example, color, size).
  • the user inputs character information from the input form F10 on the top page P1, and searches for a desired product page. For example, when the user inputs character information such as “watch ABC-Watch” and performs a search, a search result page indicating the search result is displayed on the user terminal 20.
  • FIG. 4 is a diagram showing an example of the search result page.
  • character information used as a query is displayed on the input form F20 of the search result page P2.
  • two types of searches are executed: a search for displaying a list L21 of product pages and a search for displaying coupon information I22 of products.
  • link information to product pages hit by the search is displayed in a predetermined order.
  • the link information includes product page identification information (for example, URL), and information such as product images, store names, product titles, and prices is displayed in the list L21.
  • the product title is the product name given by the store in the internet shopping mall.
  • the product title may be a product name or model number assigned by the product manufacturer, but in this embodiment, the store can freely input the product title. For this reason, even if it is the same product, how to give a product title changes with stores which handle the product as a product.
  • the product title includes at least one word.
  • a plurality of words may be separated by a space or may be described in a sentence format.
  • the product title may be a combination of words, sentences, and symbols such as parentheses.
  • the product title may include information about the product such as product name, model number, genre (category), and attribute (eg, color, size, production area, material), and stores such as “free shipping” and “point up”. It may also contain information about other services.
  • the coupon information I22 is information on a coupon hit in the search, and for example, information such as a product image, a store name, a product title, and the content of the coupon is displayed.
  • the coupon may be information for giving a predetermined privilege.
  • the coupon may be information for purchasing a product at a discount price, or may be information for acquiring a bonus.
  • a coupon can be obtained.
  • any link information in the list L21 a linked product page is displayed.
  • FIG. 5 is a diagram illustrating an example of a product page.
  • the product page P3 is a page for purchasing a product, and displays, for example, a store name, a product image, a product title, a price, and a product description.
  • the user can purchase a product from the product page P3 in a shopping basket.
  • the user can return to the search result page P2 again to select another link information, or search again by changing the search condition.
  • the search system 1 of the present embodiment causes the learning machine to learn the behavior of each of a plurality of users, and improves the accuracy of the list L21 and the coupon information I22 that are examples of search results.
  • the assumed technology described above is a learning machine that inputs character information used as a query at the time of search and outputs a product page selected from the search result, the data item that has not yet been selected by the user
  • the problem of not being able to assist in searching for was inherently occurring.
  • the present embodiment by reversing the input-output relationship, the problem in the assumed technology is solved, and it is not necessary to use a learning machine when searching by the user.
  • the search is fast, the information processing load is extremely small, and the performance cost and power consumption for realizing the learning machine are low.
  • the user does not always input the word included in the product title of the desired product page as a query. For this reason, the query input by the user can be said to be an inaccurate query.
  • the learning machine searches for an inaccurate query based on a result of an actually used query in order to accurately search a desired product page. Predict and output accurately.
  • the search system 1 provides information desired by the user (for example, coupon information I22) by using not only the product title of the product page but also the output result of the learning machine as an index.
  • information desired by the user for example, coupon information I22
  • FIG. 6 is a functional block diagram illustrating an example of functions implemented by the search system 1.
  • the search system 1 includes a data storage unit 100, a search unit 101, a providing unit 102, a recording unit 103, a learning unit 104, a learning machine 105, an adding unit 106, an acquiring unit 107, and a registration unit 108. Realized. In this embodiment, a case where these functions are realized by the server 10 will be described.
  • the data storage unit 100 is realized mainly by the memory 12.
  • the data storage unit 100 stores data necessary for searching for a product page.
  • a product database DB and teacher data DT will be described as examples of data stored in the data storage unit 100.
  • FIG. 7 is a diagram showing an example of the product database DB.
  • the product database DB stores various types of information related to product pages to be searched.
  • the product database DB is an example of a database according to the present invention.
  • a database corresponding to the type of the data item may be prepared. For example, if the data item is an electronic book, an electronic book database may be prepared, and if the data item is a moving image, a moving image database is prepared. Just prepare.
  • the product database DB stores a store ID that uniquely identifies a store, a product ID that uniquely identifies a product, a URL of a product page, and product information.
  • the product information is information related to the content of the product, and may be information displayed on the product page, for example, or may be information used as an index when searching for the product page.
  • the product information includes a product title, feature information, price, product description, product image, and coupon information.
  • the product title has a format in which a plurality of words are separated by spaces.
  • the product title is used as an index.
  • the feature information is information registered by the registration unit 108 and will be described in detail later.
  • feature information is also used as an index. Therefore, in the product database DB, the first index (product title) and the second index (feature information) registered by the registration unit 108 are registered for each product page.
  • the product description is a description of the product and has, for example, more information (number of characters) than the product title.
  • the description format of the product title and the product description may be determined in advance, such that the product title is described in a list of words and the product description is written in text.
  • the product description is not limited to text, and may include information such as a table, a moving image, and sound.
  • the product description may be used as an index.
  • the product image may be a photographed image of the product or an image obtained by processing the photographed image.
  • the information included in the product information is not limited to the above example, and may include information such as a product management number, a catch phrase, a shipping fee, a genre, and an attribute.
  • FIG. 8 is a diagram illustrating an example of the teacher data DT.
  • the teacher data DT is data for training the learning machine 105 so that an appropriate answer can be output for the input information. Since the learning machine 105 of the present embodiment receives the product title and outputs the feature information, the teacher data DT shows the relationship between these inputs and outputs.
  • the learning machine 105 predicts and outputs an inaccurate query input by the user.
  • the feature information output from the learning machine 105 serves as a second index, and can be referred to as a prediction query or an assumed query used in a search for the query.
  • a combination of a product title and character information that is a query actually used is recorded in the teacher data DT by the recording unit 103 described later, and a learning machine using the teacher data DT is recorded by the learning unit 104 described later. 105 learning is performed.
  • the teacher data DT may be asymmetric data in which questions and answers are not one-to-one.
  • the data stored in the data storage unit 100 is not limited to the above example.
  • the data storage unit 100 may store data necessary for the search, and may store, for example, a store database in which store IDs, store names, and the like are stored. Further, for example, the data storage unit 100 may store a user database in which basic user information and acquired coupons are stored.
  • the data storage unit 100 may store a dictionary database that stores words used in queries, indexes, and the like. In the dictionary database, an index number and a word are stored in association with each other.
  • the search unit 101 is realized mainly by the CPU 11.
  • the search unit 101 searches a product database DB in which a plurality of product pages are stored using text information input by the user as a query.
  • Query is a condition for retrieving information from the database.
  • a query is sometimes called a search condition.
  • character information is described as an example of a query.
  • the query is not limited to character information.
  • information such as genre and attribute may be a query, or a combination of these may be a query. Good.
  • the search unit 101 searches the product database DB based on the character information input by the user as a query and the index stored in the product database DB.
  • Various known methods can be applied to the search method itself using a query and an index. For example, an index that completely or partially matches a query may be searched, or a fuzzy search may be used.
  • Various known algorithms can be applied to the fuzzy search itself, and for example, the Bitap algorithm may be used.
  • the search unit 101 inputs the character information input as a query by the user and the index of each product page into a predetermined calculation formula, and calculates the score of the product page.
  • the score is a value indicating the probability of search, and is a value indicating the degree of matching between the query and the index.
  • the score calculation formula may be arbitrarily determined.
  • the distance between the query feature vector and the index feature vector may be used.
  • the feature vector is a feature amount as a character, and is obtained using, for example, Word2vec.
  • the search unit 101 may calculate the score higher as the distance is shorter, and may decrease the score as the distance is longer.
  • the search unit 101 acquires a search result based on the score of each product page.
  • the search unit 101 may cause a search result to hit a predetermined number of product pages in descending order of the score, or may cause all product pages having a score equal to or higher than a threshold value to hit the search result.
  • the product title that is the first index and the feature information that is the second index are prepared, so that the search unit 101 uses the first index and the second index. Perform a search based on That is, the search unit 101 acquires a search result using both the first index and the second index.
  • the search unit 101 may provide the user with the first search result based on the first index and provide the user with the second search result based on the second index.
  • the search unit 101 searches the product page based on the product title that is the first index, and provides the user with the list L21 that is the first search result. That is, the search unit 101 provides the user with a first search result for displaying a product page based on the first index.
  • the search unit 101 searches for a product coupon based on the feature information that is the second index, and provides the user with coupon information I22 that is the second search result. That is, the search unit 101 provides the user with a second search result for granting a coupon for goods or services based on the second index.
  • the search unit 101 may execute a search for displaying the list L21 based on both the first index and the second index. Similarly, the search unit 101 may execute a search for displaying the coupon information I22 based on both the first index and the second index. That is, the search unit 101 does not execute different searches for the first index and the second index, but can execute one search based on both the first index and the second index. Good.
  • the providing unit 102 is realized mainly by the CPU 11.
  • the providing unit 102 provides the user with the product page selected by the user among the search results acquired by the search unit 101.
  • the provision here is, for example, display of an image on the user terminal 20, output of sound from the user terminal 20, or transmission of data to the user terminal 20.
  • the providing unit 102 provides the product page by transmitting data for displaying the product page to the user terminal 20.
  • This data may be HTML data of a product page, or an image or text that fits into a frame of the product page. Further, for example, if the product page includes a moving image or sound, the data may be a moving image or sound in the product page.
  • the providing unit 102 receives the identification information (for example, URL) of the product page selected by the user from the user terminal 20, and specifies the product page selected by the user.
  • the providing unit 102 refers to the product database DB and transmits data for displaying the specified product page to the user terminal 20.
  • the recording unit 103 is realized mainly by the CPU 11.
  • the recording unit 103 records a combination of product information on the product page selected by the user and character information used as a query.
  • the combination may be stored in the data storage unit 100 or may be stored in a computer (external storage) other than the server 10.
  • the product information recorded by the recording unit 103 is an example of item information according to the present invention.
  • Item information is information indicating the contents or characteristics of the data item.
  • the product information since the product page is an example of the data item, the product information will be described as an example of the item information.
  • the item information may be information according to the type of the data item. For example, if the data item is an electronic book, it may be information such as the title, author, genre, or summary of the book. Further, for example, if the data item is a moving image, information such as a moving image title, a producer, a genre, or an outline may be used.
  • the item information may be information used as an index, or information that is not particularly used as an index.
  • the product title is described as an example of item information. For this reason, the location described as the product title in this embodiment can be read as item information.
  • the recording unit 103 records the combination of the product title of the product page selected by the user and the character information used as the query in the teacher data DT. Note that the recording unit 103 may record these combinations in arbitrary data, and may record in data other than the teacher data DT. In this case, teacher data DT is generated based on the data.
  • recording a combination means storing a plurality of pieces of information in association with each other, and storing a plurality of pieces of information in the same record.
  • the recording unit 103 may record information other than the product title as item information. For example, information such as a product description and a catch phrase may be recorded as item information. Information recorded by the recording unit 103 may be determined based on a combination of information to be input to the learning machine 105 and information output from the learning machine 105.
  • the learning unit 104 is realized mainly by the CPU 11.
  • the learning unit 104 causes the learning machine 105 to learn the relationship between the product title of the product page selected by the user and the character information used as the query.
  • the learning unit 104 since the teacher data DT as shown in FIG. 8 is prepared, the learning unit 104 causes the learning machine 105 to learn based on the teacher data DT.
  • the learning machine 105 of the present embodiment uses a recursive neural network as a machine learning algorithm in order to output feature information that is an indefinite length output for a product title that is an indefinite length input.
  • a sequence conversion model using long / short-term memory cells is adopted among recursive neural networks.
  • the learning unit 104 generates the learning machine 105 based on a recursive neural network model, a long / short-term memory model, or a sequence conversion model.
  • the machine learning algorithm may be another model as long as an equivalent function can be realized, for example, a GRU (Gated Recurrent Unit) model or the like.
  • the product title is described as an example of item information. Since the product title is character information defined as a first index for searching for a product page, the learning unit 104 selects the product selected by the user. The learning machine 105 learns the relationship between the first index of the page and the character information used as the query. Various known methods can be applied to the learning method of the learning machine 105. For example, the BPTT (Back-Propagation Through Time) method may be used, or the RTRL (Real-Time Recurring Learning) method may be used. May be.
  • BPTT Back-Propagation Through Time
  • RTRL Real-Time Recurring Learning
  • the learning machine 105 may learn at any timing, and the learning unit 104 learns the relationship from the learning machine 105 based on the combination recorded by the recording unit 103 when a predetermined timing comes.
  • the predetermined timing may be a timing at which the administrator of the search system 1 transmits a predetermined request to the server 10 or may be a predetermined date and time set in a batch file or the like.
  • the learning unit 104 determines whether or not a predetermined timing has arrived by determining whether or not a predetermined request from the administrator has been received, or determining whether or not a predetermined date and time has arrived. That's fine.
  • the adding unit 106 is realized mainly by the CPU 11.
  • the adding unit 106 adds a new product page to the product database DB.
  • the adding unit 106 adds a new product page to the product database DB.
  • the registration operation is performed from a product registration page displayed on the store terminal 30.
  • FIG. 9 is a diagram showing an example of the product registration page.
  • the product registration page P4 includes an input form F40 for inputting a product title, an input form F41 for inputting a price, an input form F42 for inputting a description of the product, and a product.
  • An input form F43 for inputting an image is displayed.
  • the information input from the product registration page P4 is not limited to these, and information such as the product page URL, coupon information, product management number, catch phrase, shipping cost, genre, and attributes may be input. .
  • the store terminal 30 transmits the information to the server 10.
  • the adding unit 106 adds a new product page by storing the received information in the product database DB.
  • the acquisition unit 107 is realized mainly by the CPU 11.
  • the acquisition unit 107 inputs item information (a product title in the present embodiment) of the product page to be processed to the learning machine 105 and acquires feature information of the product page to be processed from the learning machine 105.
  • the product page to be processed is a product page from which feature information is acquired, and is a product page in which item information is input to the learning machine 105.
  • the product page to be processed may be automatically determined or may be determined based on the operation of the administrator. For example, among product pages registered in the product database DB, product pages for which feature information is not yet registered may be product pages to be processed. In this embodiment, a new page added by the adding unit 106 is used. A case where a simple product page corresponds to a product page to be processed will be described.
  • Feature information is information indicating the characteristics of the data item.
  • the feature information may be information used as an index, or information that is not particularly used as an index.
  • character information output from the learning machine 105 may be used as feature information, and information obtained by internal calculation of the learning machine 105 may be used as feature information.
  • the character information output from the learning machine 105 may be a word (one or a plurality of characters) itself, or may be information related to the word.
  • the word-related information is information that can identify a word and is information that is associated with the word on a one-to-one basis.
  • the information related to the word may be an index number assigned to the word, or may be a feature amount indicating the feature of the word.
  • the index number is a number that uniquely identifies a word in a dictionary database that stores various words.
  • the feature amount is a numerical value indicating the feature of the word, and is, for example, vector information in Word2vec. Since the character information output from the learning machine 105 is information predicted from a query actually used, the character information can also be referred to as a prediction query list or an assumed query list output from the learning machine 105.
  • FIG. 10 is a diagram illustrating a state in which feature information is acquired from the learning machine 105.
  • a recursive neural network will be described as an example.
  • the learning machine 105 of this embodiment is a sequence conversion model using a recursive neural network with long / short-term memory cells, and an encoder E and a decoder D are prepared for the long / short-term memory cells.
  • the long / short-term memory cells are described as a single block, but the long / short-term memory cells may have a multilayer structure. As the number of layers increases, the output accuracy improves, but the amount of calculation increases. Therefore, for example, the number of layers may be about 2 to 8 in order to obtain a total number that can provide a practically sufficient accuracy.
  • the learning machine 105 is constructed as a unidirectional network, but it may be a bidirectional network.
  • the learning machine 105 may be constructed using a known computer programming library, for example, “Tensor Flow” provided by Google, or “Chainer” provided by Preferred Networks.
  • the horizontal direction in FIG. 10 means a time step, and means that the procedure is progressing from the left to the right.
  • the acquisition unit 107 divides the product title into individual words and inputs each word to the encoder E one by one.
  • the product title may be divided into individual words at the position of the space.
  • the acquisition unit 107 reads “Watch”, “ABC-Watch”, “ABC”, “Men”, “ The word is divided into six words “black” and “a1234567”, and these six words are input in order.
  • the acquisition unit 107 inputs the feature amount of each word (for example, the above-described feature vector) to the encoder E.
  • the learning machine 105 based on the words entered to the encoder E, is recorded in order to calculate the internal vector c t.
  • Internal vector c t shows an internal state in the hidden layer of the encoder E. Order of the internal vector c t is arbitrary, although depending on the number of layers of the long-term memory cells may as about 100 to 1000 dimensions.
  • Learner 105 passes the internal vector c t to the next step for each word of the input, at the end of the input of all the words contained in the item title, an internal vector c n is obtained.
  • Learner 105 pass the internal vector c n to the decoder D, to a decoder D, and enter a special reserved word input ⁇ go>. This reserved word instructs the start of output by the decoder D, and is assigned a fixed value.
  • the decoder D outputs a word, and the internal vector changes to cn + 1 .
  • the output word is used as an input to the decoder D in the next step, and the internal vector cn + 1 is used as the internal state of the decoder D in the next step.
  • the decoder D to which the input ⁇ go> is input outputs the word “watch”, and the internal vector changes to cn + 1 .
  • the output word “watch” is used for input to the decoder D in the next step.
  • the decoder D in the next step outputs the word “watch men” and the internal vector changes to cn + 2 .
  • the learner 105, while the output and the internal vector c t word will pass sequentially received in the next step, repeated until outputs an output ⁇ eos> decoder D is a special reserved word. This reserved word means the end of output by the decoder D, and is assigned a fixed value.
  • At least one word obtained as described above is the final output result of the learning machine 105.
  • the acquisition unit 107 acquires the at least one word output from the learning machine 105 as feature information.
  • the acquisition unit 107 may use a plurality of words output from the decoder D by connecting them with a space as feature information, or may use a list of a plurality of words as feature information.
  • the operation of the learning machine 105 is as described above, and when the learning unit 104 causes the learning machine 105 to perform machine learning, the internal parameters of the encoder E and the decoder D are changed using the teacher data DT.
  • the learning unit 104 inputs a product title, outputs character information used as a query, adds a reserved word ⁇ go> before output, adds a reserved word ⁇ eos> after the output, and performs the BPTT method or the like
  • the internal parameters of the encoder E and decoder D are changed. Since the details of this machine learning method are known, the details are omitted in this specification.
  • the learning machine 105 uses a model using long / short-term memory cells, but other cells such as a GRU cell may be used.
  • feature information may be acquired using a search algorithm such as BeamSearch.
  • the structure of the long / short-term memory cell may be any known one, and the presence or absence of the peephole mechanism or the attention vector is arbitrary.
  • the forget gate is not essential, but the model with the forget gate seems to give more accurate results.
  • the learning machine 105 may output a score indicating the probability together with the word.
  • the acquisition unit 107 may acquire only words having a score equal to or higher than a threshold value as feature information.
  • the acquisition unit 107 inputs the first index of the product page to be processed to the learning device 105 as feature information. Is acquired from the learning machine 105.
  • the acquisition unit 107 inputs the item information of the new product page to the learning machine 105, and the new product page Is acquired from the learning machine 105.
  • the feature information may be updated periodically in order to cope with a trend change, not when a product page is newly added. For example, what kind of query the user inputs may change depending on the time, and if the feature information associated with the product page becomes old, it may not be compatible with the latest trend. For this reason, even if the acquisition unit 107 is a product page already associated with feature information, the acquisition unit 107 may periodically update the feature information.
  • the date and time when the feature information is associated is stored in the product database DB, and the acquisition unit 107 re-acquires the feature information from the latest learning device 105 for a product page that has passed a certain period from the date and time.
  • the feature information may be updated.
  • the acquisition unit 107 instead of storing the date and time associated with the feature information, the acquisition unit 107 re-acquires feature information from the latest learning device 105 for all product pages every time a certain period of time elapses.
  • the feature information may be updated.
  • the feature information may be updated irregularly. For example, when an instruction from a system administrator is received, the acquisition unit 107 acquires the feature information from the latest learning machine 105 again to obtain the feature information. Information may be updated.
  • the acquisition unit 107 acquires feature information from the latest learning device 105 when the product title is corrected, The feature information may be updated.
  • the registration unit 108 is realized mainly by the CPU 11.
  • the registration unit 108 registers the feature information in the product database DB in association with the product page to be processed.
  • the registration unit 108 stores the feature information acquired by the acquisition unit 107 in the record of the product page to be processed in the product database DB.
  • the registration unit 108 since the feature information is used as an index, the registration unit 108 registers the character information acquired from the learning device 105 in the database as an index (for example, the second index) of the product page to be processed. It will be. In addition, for example, in the present embodiment, a case where a new product page is an example of a product page to be processed will be described. Therefore, the registration unit 108 registers feature information in the database in association with the new product page. Become.
  • FIGS. 11 to 12 are flowcharts showing an example of the teacher data generation process.
  • the processing shown in FIGS. 11 to 12 is executed by the CPU 11 operating according to the program stored in the memory 12 and the user terminal 20 operating according to the program stored in itself.
  • the process described below is an example of a process executed by the functional block shown in FIG.
  • the user terminal 20 transmits a display request for the top page P1 to the server 10 (S101).
  • the display request for the top page P1 is transmitted when the URL of the top page P1 is selected or a predetermined application is activated.
  • the CPU 11 transmits the display data of the top page P1 to the user terminal 20 (S102).
  • the display data of the top page P1 is stored in the memory 12 in advance.
  • the display data may be HTML data, or an image or text that fits into a frame. This also applies to the portion described as display data in the following description.
  • the user terminal 20 When receiving the display data, the user terminal 20 displays the top page P1 (S103). Thereafter, the user can input a favorite search condition from the user terminal 20.
  • the user can input a favorite search condition from the user terminal 20.
  • the user inputs character information used as a query in the input form F10 will be described.
  • the user terminal 20 transmits a search request using the character information input in the input form F10 as a query (S104).
  • the user terminal 20 reflects the character information input by the user in the input form F10, and transmits a search request when a predetermined operation for instructing execution of the search is performed. It is assumed that the search request includes character information input by the user in the input form F10.
  • the CPU 11 upon receiving the search request, searches the product database DB using the character information input by the user as a query and the product title as an index (S105). In S105, the CPU 11 executes the fuzzy search as described above and acquires the search result.
  • CPU11 acquires the link information of the product page hit by the search of S105 based on product database DB (S106).
  • the CPU 11 acquires link information embedded in the list L ⁇ b> 21 based on information such as the store name, product title, price, product image, and URL of the product page that hits the search result.
  • the CPU 11 searches the product database DB using the character information input by the user as a query and the feature information as an index (S107).
  • the search method itself in S107 may be the same as that in S105, but is different from S105 in that feature information is used as an index.
  • CPU11 acquires coupon information I22 of the goods hit by the search of S107 based on goods database DB (S108).
  • the CPU 11 acquires the coupon information I22 based on the store ID, the product ID, the store name, the product title, the product image, and the content of the coupon that has hit the search result.
  • CPU11 transmits the display data of search result page P2 to user terminal 20 based on link information acquired at S106, and coupon information I22 acquired at S108 (S109).
  • the user terminal 20 displays the search result page P2 (S110).
  • the search result page P2 When the search result page P2 is displayed, the user can perform an operation of selecting link information in the list L21 or an operation of selecting coupon information I22.
  • the user terminal 20 specifies the user operation (S111).
  • the CPU 11 transmits a display request for a product page indicated by the link information selected by the user to the server 10 (S112).
  • the display request includes identification information (for example, URL) of a product page to be displayed.
  • the CPU 11 when the display request is received, the CPU 11 transmits display data of the product page P3 to the user terminal 20 based on the product database DB (S113). In S113, the CPU 11 transmits HTML data or the like of the product page P3 indicated by the identification information included in the display request.
  • the CPU 11 records the combination of the product title of the product page selected by the user and the query input by the user in the teacher data DT (S114).
  • the CPU 11 refers to the product database DB and specifies the product title of the product page selected by the user. Then, the CPU 11 records the combination of the specified product title and the character information of the query received in S105 in the teacher data DT.
  • the user terminal 20 Upon receiving the display data, the user terminal 20 displays the product page P3 (S115), and this process ends. If the user performs an operation to return to the top page P1, the process returns to S101. If the user performs an operation to return to the search result page P2, the process returns to S111.
  • the CPU 11 transmits an acquisition request for the coupon information I22 selected by the user to the server 10 (S116).
  • the acquisition request includes identification information (for example, product ID) of the coupon to be acquired.
  • the CPU 11 executes a process in which the user acquires a coupon (S117).
  • S117 the user is allowed to acquire a coupon by associating the identification information of the coupon information I22 selected by the user with the user ID.
  • the CPU 11 determines whether or not a predetermined timing for learning the learning machine 105 has come (S118). In S118, for example, the CPU 11 determines whether or not a predetermined request from the administrator of the search system 1 has been received, or determines whether or not a predetermined date and time has arrived.
  • the CPU 11 When it is determined that the predetermined timing has come (S118; Y), the CPU 11 causes the learning machine 105 to learn based on the teacher data DT (S119). In S119, the CPU 11 changes the internal parameters of the encoder E and the decoder D of the learning machine 105 using the BPTT method or the like. On the other hand, when it is not determined that the predetermined timing has come (S118; N), this process ends.
  • FIG. 13 is a flowchart illustrating an example of the index registration process.
  • the process shown in FIG. 13 is executed by the CPU 11 operating in accordance with a program stored in the memory 12 and the store terminal 30 operating in accordance with a program stored in itself.
  • the process described below is an example of a process executed by the functional block shown in FIG.
  • the store terminal 30 transmits a display request for the product registration page P4 to the server 10 (S201).
  • the display request for the product registration page P4 is transmitted when the person in charge of the store performs an operation of selecting a link of the product registration page P4 after a predetermined login process is executed.
  • the CPU 11 when receiving the display request, transmits the display data of the product registration page P4 to the user terminal 20 (S202). It is assumed that HTML data and the like of the product registration page P4 is stored in the memory 12 in advance.
  • the store terminal 30 When the store terminal 30 receives the display data, the store terminal 30 displays the product registration page P4 (S203).
  • the user can input information such as product information and URL from the input forms F40 to F44 and the like, and can select the button B45.
  • the shop terminal 30 transmits a registration request such as product information input in the input forms F40 to F44 (S204).
  • the registration request includes information input on the product registration page P4.
  • the CPU 11 when receiving the registration request, the CPU 11 adds a product page to the product database DB based on the received information (S205). In S205, the CPU 11 generates a new record in the product database DB, and stores product information, a URL, and the like in the record.
  • the CPU 11 inputs the product title input in the input form F40 into the learning machine 105 (S206).
  • the CPU 11 divides the product title into a plurality of words, and inputs each word to learning in order. This flow is as described with reference to FIG.
  • the CPU 11 acquires the feature information output from the learning machine 105 and registers it in the product database DB (S207), and this process ends.
  • the CPU 11 registers a plurality of words output from the learning machine 105 in the product database DB as feature information. Thereafter, the registered feature information is used as an index at the time of search.
  • the search system 1 when the product title of the product page is input to the learning machine 105, character information used as a query in the past is output, and the character information is registered in association with the product page. Even for a product page that has not yet been selected, the search can be assisted by the learning machine 105 to improve the search accuracy.
  • the learning machine 105 that returns the product page in response to the query described as the prior art needs to execute the processing of the learning machine 105 for each search, and thus it is difficult for the server 10 to respond quickly.
  • feature information is registered in advance, and it is not necessary to execute the process of the learning machine 105 each time a search is performed, and the process of returning a search result can be speeded up.
  • the search accuracy can be improved. For example, when a store freely inputs a product title as in the embodiment, an appropriate index may not be registered on the product page.
  • the search system 1 can register an appropriate index because character information (query list) actually input by the user in the past is registered as an index.
  • a combination of the product title of the product page selected by the user and the character information used as the query is recorded in the teacher data DT, and a learning device based on the teacher data DT when a predetermined timing comes. By performing the learning 105, the processing load on the server 10 can be reduced.
  • a learning machine 105 based on a recursive neural network model, a long / short-term memory model, or a sequence conversion model, even if an indefinite length product title is input, output indefinite length feature information. Can do. Also, feature information corresponding to the word order can be output.
  • the new product page is input to the learning device 105, so that the character information output from the learning device 105 is registered in association with the new product page. be able to.
  • the first search result is provided based on the product title that is the first index of the product page
  • the second search result is provided based on the feature information that is the second index. Information can be provided.
  • the learning unit 104 is described in the embodiment every time a product page is selected by the user.
  • the learning machine 105 may learn the relationship.
  • the learning unit 104 selects the product page by the user. In such a case, the learning of the learning machine 105 may be executed each time.
  • the learning machine 105 can be improved in accuracy by allowing the learning machine 105 to learn whenever the product page is selected by the user.
  • the search unit 101 may provide the user with a search result for displaying a page related to the service, or may provide the user with a search result for providing a coupon for the service.
  • the service may be any content. For example, when displaying a page related to an arbitrary service such as a travel reservation service, an insurance application service, or a financial service, the processing described in the embodiment is performed. Also good.
  • the feature information registered by the registration unit 108 is used as an index.
  • the feature information may not be particularly used as an index.
  • feature information may be used to associate similar product pages.
  • a link to a similar product page may be displayed as a recommendation.
  • the probability output from the learning machine 105 may be used as feature information, and product pages having similar probability values may be associated with each other.
  • the search system 1 functions other than the search unit 101, the providing unit 102, the learning unit 104, the acquisition unit 107, and the registration unit 108 may be omitted.
  • the data 100 does not need to be included in the search system 1 and may be realized by a database server.
  • the functions described as being realized by the server 10 may be shared between the user terminal 20 and the store terminal 30.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Biophysics (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Evolutionary Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

検索システム(1)の検索手段(101)は、ユーザにより入力された文字情報をクエリとして、複数のデータ項目が格納されたデータベースを検索する。提供手段(102)は、検索手段(101)により取得された検索結果のうち、ユーザにより選択されたデータ項目をユーザに提供する。学習手段(104)は、ユーザにより選択されたデータ項目の項目情報と、クエリとして用いられた文字情報と、の関係を学習機に学習させる。取得手段(106)は、処理対象のデータ項目の項目情報を学習機に入力し、処理対象のデータ項目の特徴情報を学習機から取得する。登録手段(107)は、特徴情報を、処理対象のデータ項目に関連付けてデータベースに登録する。

Description

検索システム、検索方法、及びプログラム
 本発明は、検索システム、検索方法、及びプログラムに関する。
 従来、ユーザが入力した文字情報をクエリとして、複数のデータ項目が格納されたデータベースを検索する技術が知られている。例えば、特許文献1には、データ項目の一例であるコンテンツからキーワード群を抽出してインデックス化しておき、ユーザがクエリとして入力したキーワードと、インデックス化されたキーワード群と、に基づいてコンテンツの検索を実行し、各コンテンツに対し、キーワード群に対応するメタデータを付与することが記載されている。
特開2003-228569号公報
 上記に類する技術としては、検索時に使用されたクエリと、検索結果の中から選択されたコンテンツと、の関係を学習機に学習させ、ユーザが入力したクエリを学習機に入力し、選択される蓋然性の高いコンテンツを学習機から取得して検索結果に含めることも考えられる(想定技術)。しかしながら、この場合、過去に選択されたコンテンツしか学習機に学習されないので、まだユーザによって選択されていないコンテンツ(例えば、新たに追加されたコンテンツ)を検索結果に含ませることができないから、ユーザによって選択されていないコンテンツの検索を、学習機を用いて補助することはできない。
 本発明は上記課題に鑑みてなされたものであって、その目的は、ユーザによって選択されていないデータ項目であっても、その検索を学習機により補助し、検索精度を高めることが可能な検索システム、検索方法、及びプログラムを提供することである。
 上記課題を解決するために、本発明に係る検索システムは、ユーザにより入力された文字情報をクエリとして、複数のデータ項目が格納されたデータベースを検索する検索手段と、前記検索手段により取得された検索結果のうち、前記ユーザにより選択されたデータ項目を前記ユーザに提供する提供手段と、前記ユーザにより選択されたデータ項目の項目情報と、クエリとして用いられた文字情報と、の関係を学習機に学習させる学習手段と、処理対象のデータ項目の項目情報を前記学習機に入力し、前記処理対象のデータ項目の特徴情報を前記学習機から取得する取得手段と、前記特徴情報を、前記処理対象のデータ項目に関連付けて前記データベースに登録する登録手段と、を含むことを特徴とする。
 本発明に係る検索方法は、ユーザにより入力された文字情報をクエリとして、複数のデータ項目が格納されたデータベースを検索する検索ステップと、前記検索ステップにより取得された検索結果のうち、前記ユーザにより選択されたデータ項目を前記ユーザに提供する提供ステップと、前記ユーザにより選択されたデータ項目の項目情報と、クエリとして用いられた文字情報と、の関係を学習機に学習させる学習ステップと、処理対象のデータ項目の項目情報を前記学習機に入力し、前記処理対象のデータ項目の特徴情報を前記学習機から取得する取得ステップと、前記特徴情報を、前記処理対象のデータ項目に関連付けて前記データベースに登録する登録ステップと、を含むことを特徴とする。
 本発明に係るプログラムは、ユーザにより入力された文字情報をクエリとして、複数のデータ項目が格納されたデータベースを検索する検索手段、前記検索手段により取得された検索結果のうち、前記ユーザにより選択されたデータ項目を前記ユーザに提供する提供手段、前記ユーザにより選択されたデータ項目の項目情報と、クエリとして用いられた文字情報と、の関係を学習機に学習させる学習手段、処理対象のデータ項目の項目情報を前記学習機に入力し、前記処理対象のデータ項目の特徴情報を前記学習機から取得する取得手段、前記特徴情報を、前記処理対象のデータ項目に関連付けて前記データベースに登録する登録手段、としてコンピュータを機能させる。
 また、本発明に係る情報記憶媒体は、上記のプログラムが記憶されたコンピュータ読み取り可能な情報記憶媒体である。
 また、本発明の一態様では、前記取得手段は、前記特徴情報として文字情報を取得し、前記登録手段は、前記学習機から取得された文字情報を、前記処理対象のデータ項目のインデックスとして前記データベースに登録する、ことを特徴とする。
 また、本発明の一態様では、前記項目情報は、第1のインデックスとして定められた文字情報であり、前記学習手段は、前記ユーザにより選択されたデータ項目の第1のインデックスと、クエリとして用いられた文字情報と、の関係を前記学習機に学習させ、前記取得手段は、前記処理対象のデータ項目の第1のインデックスを前記学習機に入力し、前記特徴情報としての文字情報を前記学習機から取得し、前記登録手段は、前記学習機から取得された文字情報を、前記処理対象のデータ項目の第2のインデックスとして前記データベースに登録する、ことを特徴とする。
 また、本発明の一態様では、前記検索システムは、前記ユーザにより選択されたデータ項目の項目情報と、クエリとして用いられた文字情報と、の組み合わせを記録する記録手段を更に含み、前記学習手段は、所定のタイミングが訪れた場合に、前記記録手段により記録された組み合わせに基づいて、前記関係を学習機に学習させる、ことを特徴とする。
 また、本発明の一態様では、前記学習手段は、前記ユーザによりデータ項目が選択されるたびに、前記関係を前記学習機に学習させる、ことを特徴とする。
 また、本発明の一態様では、前記学習手段は、再帰型ニューラルネットワークモデル、長・短期記憶モデル、又はシーケンス変換モデルに基づく前記学習機を生成する、ことを特徴とする。
 また、本発明の一態様では、前記検索システムは、前記データベースに新たなデータ項目を追加する追加手段を更に含み、前記取得手段は、前記新たなデータ項目の項目情報を前記学習機に入力し、前記新たなデータ項目の特徴情報を前記学習機から取得し、前記登録手段は、前記特徴情報を、前記新たなデータ項目に関連付けて前記データベースに登録する、ことを特徴とする。
 また、本発明の一態様では、前記データベースには、データ項目ごとに、第1のインデックスと、前記登録手段により登録された第2のインデックスと、が登録されており、前記検索手段は、前記第1のインデックスに基づいて第1の検索結果を前記ユーザに提供し、前記第2のインデックスに基づいて第2の検索結果を前記ユーザに提供する、ことを特徴とする。
 また、本発明の一態様では、前記データ項目は、商品又はサービスに関するデータ項目であり、前記検索手段は、前記第1のインデックスに基づいて、商品又はサービスのページを表示させるための第1の検索結果を前記ユーザに提供し、前記第2のインデックスに基づいて、商品又はサービスのクーポンを付与するための第2の検索結果を前記ユーザに提供する、ことを特徴とする。
 本発明によれば、ユーザによって選択されていないデータ項目であっても、その検索を学習機により補助し、検索精度を高めることが可能になる。
検索システムの全体構成を示す図である。 サーバの物理的構成を示す図である。 オンラインショッピングモールのトップページの一例を示す図である。 検索結果ページの一例を示す図である。 商品ページの一例を示す図である。 検索システムで実現される機能の一例を示す機能ブロック図である。 商品データベースの一例を示す図である。 教師データの一例を示す図である。 商品登録ページの一例を示す図である。 学習機から特徴情報が取得される様子を示す図である。 教師データ生成処理の一例を示すフロー図である。 教師データ生成処理の一例を示すフロー図である。 インデックス登録処理の一例を示すフロー図である。
[1.検索システムの全体構成]
 以下、本発明に関わる検索システムの実施形態の例を説明する。図1は、検索システムの全体構成を示す図である。図1に示すように、検索システム1は、サーバ10、ユーザ端末20、及び店舗端末30を含み、これらはネットワークNを介してデータ送受信可能に接続される。なお、図1では、サーバ10、ユーザ端末20、及び店舗端末30の各々を1台ずつ示しているが、これらは複数台あってもよい。
 図2は、サーバ10の物理的構成を示す図である。図2に示すように、サーバ10は、サーバコンピュータであり、例えば、CPU11、メモリ12、及び通信インタフェース13を含み、これらはバス14で接続されている。CPU11は、メモリ12に記憶されたプログラムやデータに従って処理を実行する。なお、図2では、CPU11を1つとしているが、サーバ10は、少なくとも1つのプロセッサを含めばよく、2つ以上のCPU11を含んでもよい。メモリ12は、主記憶部及び補助記憶部を含む。例えば、主記憶部はRAMなどの揮発性メモリであり、補助記憶部は、ハードディスクやフラッシュメモリなどの不揮発性メモリである。通信インタフェース13は、有線通信又は無線通信用の通信インタフェースであり、例えば、ネットワークを介してデータ通信を行う。
 ユーザ端末20は、ユーザが操作するコンピュータであり、例えば、パーソナルコンピュータ、携帯情報端末(タブレット型コンピュータを含む)、又は携帯電話機(スマートフォンを含む)等である。
 店舗端末30は、店舗の担当者が操作するコンピュータであり、例えば、パーソナルコンピュータ、携帯情報端末(タブレット型コンピュータを含む)、又は携帯電話機(スマートフォンを含む)等である。
 なお、メモリ12に記憶されるものとして説明するプログラム及びデータは、ネットワークを介してサーバ10に供給されるようにしてもよい。また、サーバ10のハードウェア構成は、上記の例に限られず、種々のハードウェアを適用可能である。例えば、サーバ10は、コンピュータ読み取り可能な情報記憶媒体を読み取る読取装置(例えば、光ディスクドライブやメモリカードスロット)や外部機器と直接的に接続するための入出力インタフェース(例えば、USB端子)を含んでもよいし、スピーカなどの音声出力装置を含んでもよい。情報記憶媒体に記憶されたプログラムやデータが読取装置又は入出力インタフェースを介して、サーバ10に供給されるようにしてもよい。
[2.検索システムの概要]
 検索システム1は、ユーザがユーザ端末20から入力した文字情報をクエリとして、複数のデータ項目が格納されたデータベースを検索する。
 ユーザ端末20から入力される文字情報は、少なくとも1つの文字を含む情報である。この文字情報は、クエリとして用いられるので、キーワード又は検索文字列と呼ばれることもある。例えば、文字情報は、1つの単語(検索語)だけを含んでもよいし、複数の単語を含んでもよい。文字情報が複数の単語を含む場合には、複数の単語がスペースで区切られてもよい。この場合、複数の単語は、AND条件で用いられてもよいし、OR条件で用いられてもよい。また例えば、文字情報は、単語に限られず、文章であってもよいし、文章の一部であってもよい。
 データ項目は、検索の対象となるデータの単位であり、例えば、データベースの個々のレコードである。データ項目は、任意の種類のデータであってよく、例えば、ウェブページ、電子書籍、動画、楽曲、又はアプリケーションといったコンテンツであってもよいし、文書ファイル、テキストファイル、画像ファイル、又は音声ファイルといったファイルであってもよい。
 本実施形態では、検索システム1をオンラインショッピングモールに適用する場合を説明し、データ項目の一例として、店舗が取り扱う商品の商品ページを説明する。このため、本実施形態で商品ページと記載した箇所は、データ項目と読み替えることができる。例えば、検索システム1は、ユーザがユーザ端末20から入力した文字情報をクエリとして、種々の商品ページが格納されたデータベースを検索する。
 図3は、オンラインショッピングモールのトップページの一例を示す図である。図3に示すように、例えば、ユーザ端末20がサーバ10にアクセスすると、オンラインショッピングモールのトップページP1がユーザ端末20に表示される。トップページP1では、文字情報、ジャンル(カテゴリ)、又は商品の属性(例えば、色、サイズ)といったクエリを指定可能である。
 例えば、ユーザは、トップページP1の入力フォームF10から文字情報を入力し、所望の商品ページを検索する。例えば、ユーザが「腕時計 ABC-Watch」といった文字情報を入力して検索すると、検索結果を示す検索結果ページがユーザ端末20に表示される。
 図4は、検索結果ページの一例を示す図である。図4に示すように、検索結果ページP2の入力フォームF20には、クエリとして用いられた文字情報が表示される。本実施形態では、当該文字情報に基づいて、商品ページのリストL21を表示させるための検索と、商品のクーポン情報I22を表示させるための検索と、の2種類の検索が実行される
 例えば、リストL21には、検索でヒットした商品ページへのリンク情報が所定順に並んで表示される。リンク情報は、商品ページの識別情報(例えば、URL)を含み、例えば、商品画像、店舗名、商品タイトル、及び価格といった情報がリストL21に表示される。
 商品タイトルは、インターネットショッピングモールにおける店舗が付けた商品名である。商品タイトルは、製品メーカが付けた製品名や型番などであってもよいが、本実施形態では、店舗が自由に商品タイトルを入力できるものとする。このため、同じ製品であったとしても、当該製品を商品として取り扱う店舗によって、商品タイトルの付け方が異なる。
 商品タイトルは、少なくとも1つの単語を含み、例えば、複数の単語がスペースで区切られていてもよいし、文章形式で記述されていてもよい。例えば、商品タイトルは、単語、文章、及びカッコなどの記号の組み合わせであってもよい。例えば、商品タイトルは、製品名、型番、ジャンル(カテゴリ)、及び属性(例えば、色、サイズ、産地、素材)といった商品に関する情報を含んでもよいし、「送料無料」、「ポイントアップ」といった店舗のサービスに関する情報を含んでもよい。
 クーポン情報I22は、検索でヒットしたクーポンの情報であり、例えば、商品画像、店舗名、商品タイトル、及びクーポンの内容と言った情報が表示される。クーポンは、所定の特典を付与するための情報であればよく、例えば、商品を割引価格で購入するための情報であってもよいし、おまけを獲得するための情報であってもよい。ユーザがクーポン情報I22を選択すると、クーポンを獲得することができる。一方、ユーザがリストL21内の何れかのリンク情報を選択すると、リンク先の商品ページが表示される。
 図5は、商品ページの一例を示す図である。図5に示すように、商品ページP3は、商品を購入するためのページであり、例えば、店舗名、商品画像、商品タイトル、価格、及び商品説明が表示される。例えば、ユーザは、商品ページP3から商品を買い物かごに入れて購入することもできる。また例えば、ユーザは、再び検索結果ページP2に戻って別のリンク情報を選択したり、検索条件を変えて再度検索したりすることもできる。
 本実施形態の検索システム1は、複数のユーザの各々の行動を学習機に学習させ、検索結果の一例であるリストL21やクーポン情報I22の精度を向上させるようにしている。この点に関し、上述の想定技術は、検索時にクエリとして用いられた文字情報を入力とし、検索結果から選択された商品ページを出力とする学習機であったため、ユーザがまだ選択していないデータ項目の検索を補助することができないという問題が本来的に発生した。これに対し、本実施形態では、この入力-出力の関係を反対にすることで、この想定技術における問題点を解決しているとともに、ユーザによる検索の際に学習機を用いる必要がないため、検索が高速であり、情報処理負荷が極めて小さく、学習機を実現するための性能コストや電力消費が低い有利な特徴を有する。
 例えば、ユーザは、所望する商品ページの商品タイトルに含まれている単語を、そのままクエリとして入力するとは限らない。このため、ユーザが入力するクエリは、不正確なクエリといえる。本実施形態の学習機は、ユーザが不正確なクエリを入力しても、所望の商品ページを精度よく検索するために、その不正確なクエリを、現実に使用されたクエリによる結果に基づいて、精度よく予測して出力する。例えば、検索システム1は、商品ページの商品タイトルだけではなく、学習機の出力結果もインデックスとして用いるようにして、ユーザが所望する情報(例えば、クーポン情報I22)を提供するようにしている。以降、検索システム1の詳細を説明する。
[3.検索システムで実現される機能]
 図6は、検索システム1で実現される機能の一例を示す機能ブロック図である。図6に示すように、検索システム1では、データ記憶部100、検索部101、提供部102、記録部103、学習部104、学習機105、追加部106、取得部107、及び登録部108が実現される。本実施形態では、これら各機能がサーバ10により実現される場合を説明する。
[3-1.データ記憶部]
 データ記憶部100は、メモリ12を主として実現される。データ記憶部100は、商品ページの検索に必要なデータを記憶する。ここでは、データ記憶部100が記憶するデータの一例として、商品データベースDBと、教師データDTと、について説明する。
 図7は、商品データベースDBの一例を示す図である。図7に示すように、商品データベースDBには、検索対象となる商品ページに関する種々の情報が格納される。商品データベースDBは、本発明に係るデータベースの一例である。データベースとしては、データ項目の種類に応じたデータベースを用意すればよく、例えば、データ項目が電子書籍であれば電子書籍のデータベースを用意すればよいし、データ項目が動画であれば動画のデータベースを用意すればよい。
 例えば、商品データベースDBには、店舗を一意に識別する店舗ID、商品を一意に識別する商品ID、商品ページのURL、及び商品情報が格納される。商品情報は、商品の内容に関する情報であり、例えば、商品ページに表示させる情報であってもよいし、商品ページの検索時のインデックスとして用いられる情報であってもよい。例えば、商品情報は、商品タイトル、特徴情報、価格、商品説明、商品画像、及びクーポン情報を含む。
 図7のデータ格納例では、商品タイトルは、複数の単語がスペースで区切られた形式となっている。例えば、商品タイトルは、インデックスとして用いられる。特徴情報は、登録部108により登録された情報であり、詳細は後述する。本実施形態では、特徴情報もインデックスとして用いられる。このため、商品データベースDBには、商品ページごとに、第1のインデックス(商品タイトル)と、登録部108により登録された第2のインデックス(特徴情報)と、が登録されていることになる。
 商品説明は、商品の説明文であり、例えば、商品タイトルよりも情報量(文字数)が多い。例えば、商品タイトルは単語の羅列で記載し、商品説明は文章で記載するといったように、商品タイトルと商品説明の記載形式が予め定められているようにしてもよい。商品説明は、テキストに限られず、例えば、表、動画、音声といった情報を含んでもよい。商品説明は、インデックスとして用いられてもよい。商品画像は、商品の撮影画像であってもよいし、撮影画像を加工した画像であってもよい。なお、商品情報に含まれる情報は、上記の例に限られず、例えば、商品の管理用番号、キャッチコピー、送料、ジャンル、及び属性といった情報が含まれていてもよい。
 図8は、教師データDTの一例を示す図である。図8に示すように、教師データDTは、入力された情報に対して適切な回答を出力できるように学習機105を訓練するためのデータである。本実施形態の学習機105は、商品タイトルを入力とし、特徴情報を出力とするので、教師データDTには、これら入力と出力の関係が示されている。
 先述したように、学習機105は、ユーザが入力する不正確なクエリを予測して出力する。学習機105が出力する特徴情報は、第2のインデックスとなり、クエリに対する検索で用いられる予測クエリ又は想定クエリということができる。例えば、後述する記録部103によって、商品タイトルと、現実に使用されたクエリである文字情報と、の組み合わせが教師データDTに記録され、後述する学習部104によって、教師データDTを用いた学習機105の学習が行われる。教師データDTは、設問と回答が1対1ではない非対称なデータであってよい。
 なお、データ記憶部100に記憶されるデータは、上記の例に限られない。データ記憶部100は、検索に必要なデータを記憶すればよく、例えば、店舗IDや店舗名などが格納される店舗データベースを記憶してもよい。また例えば、データ記憶部100は、ユーザの基本情報や獲得したクーポンが格納されるユーザデータベースを記憶してもよい。また例えば、データ記憶部100は、クエリやインデックス等で用いられる単語を格納した辞書データベースを記憶してもよい。辞書データベースには、インデックス番号と、単語と、が対応付けられて格納される。
[3-2.検索部]
 検索部101は、CPU11を主として実現される。検索部101は、ユーザにより入力された文字情報をクエリとして、複数の商品ページが格納された商品データベースDBを検索する。
 クエリは、データベースから情報を取り出すための条件である。クエリは、検索条件と呼ばれることもある。本実施形態では、クエリの一例として文字情報を説明するが、クエリは、文字情報に限られず、例えば、ジャンルや属性といった情報がクエリになってもよいし、これらの組み合わせがクエリになってもよい。
 例えば、検索部101は、ユーザがクエリとして入力した文字情報と、商品データベースDBに格納されたインデックスと、に基づいて、商品データベースDBを検索する。クエリとインデックスを用いた検索方法自体は、公知の種々の手法を適用可能であり、例えば、クエリと完全一致又は部分一致するインデックスを検索してもよいし、あいまい検索を利用してもよい。あいまい検索自体は、公知の種々のアルゴリズムを適用可能であり、例えば、Bitapアルゴリズムを利用してもよい。
 例えば、検索部101は、ユーザがクエリとして入力した文字情報と、各商品ページのインデックスと、を所定の計算式に入力して、当該商品ページのスコアを計算する。スコアは、検索の蓋然性を示す値であり、クエリとインデックスの一致度を示す値である。スコアの計算式は、任意に定めてよく、例えば、クエリの特徴ベクトルとインデックスの特徴ベクトルとの距離を利用してもよい。なお、特徴ベクトルは、文字としての特徴量であり、例えば、Word2vecを利用して取得される。検索部101は、上記距離が短いほどスコアを高く計算し、上記距離が長いほどスコアを小さく計算してもよい。
 例えば、検索部101は、各商品ページのスコアに基づいて、検索結果を取得する。検索部101は、スコアが高い順に所定数の商品ページを検索結果にヒットさせてもよいし、スコアが閾値以上の商品ページの全てを検索結果にヒットさせてもよい。
 本実施形態の商品ページには、第1のインデックスである商品タイトルと、第2のインデックスである特徴情報と、が用意されているので、検索部101は、第1のインデックスと第2のインデックスに基づいて、検索を実行する。即ち、検索部101は、第1のインデックスと第2のインデックスとの両方を用いて検索結果を取得する。例えば、検索部101は、第1のインデックスに基づいて第1の検索結果をユーザに提供し、第2のインデックスに基づいて第2の検索結果をユーザに提供してもよい。
 例えば、検索部101は、第1のインデックスである商品タイトルに基づいて、商品ページを検索し、第1の検索結果であるリストL21をユーザに提供する。即ち、検索部101は、第1のインデックスに基づいて、商品ページを表示させるための第1の検索結果をユーザに提供する。
 また例えば、検索部101は、第2のインデックスである特徴情報に基づいて、商品のクーポンを検索し、第2の検索結果であるクーポン情報I22をユーザに提供する。即ち、検索部101は、第2のインデックスに基づいて、商品又はサービスのクーポンを付与するための第2の検索結果をユーザに提供する。
 なお、検索部101は、第1のインデックスと第2のインデックスの両方に基づいて、リストL21を表示させるための検索を実行してもよい。同様に、検索部101は、第1のインデックスと第2のインデックスの両方に基づいて、クーポン情報I22を表示させるための検索を実行してもよい。即ち、検索部101は、第1のインデックスと第2のインデックスとで異なる検索を実行するのではなく、第1のインデックスと第2のインデックスの両方に基づいて、1つの検索を実行してもよい。
[3-3.提供部]
 提供部102は、CPU11を主として実現される。提供部102は、検索部101により取得された検索結果のうち、ユーザにより選択された商品ページをユーザに提供する。ここでの提供とは、例えば、ユーザ端末20における画像の表示、ユーザ端末20からの音声の出力、又はユーザ端末20に対するデータの送信などである。
 本実施形態では、データ項目の一例として商品ページを説明するので、提供部102は、当該商品ページを表示させるためのデータをユーザ端末20に送信することによって、商品ページを提供する。このデータとしては、商品ページのHTMLデータであってもよいし、商品ページのフレームにはめ込む画像やテキストであってもよい。また例えば、商品ページが動画や音声を含むものであれば、当該データは、商品ページ内の動画や音声であってもよい。
 例えば、提供部102は、ユーザにより選択された商品ページの識別情報(例えば、URL)をユーザ端末20から受信し、ユーザにより選択された商品ページを特定する。提供部102は、商品データベースDBを参照し、当該特定した商品ページを表示させるためのデータをユーザ端末20に送信することになる。
[3-4.記録部]
 記録部103は、CPU11を主として実現される。記録部103は、ユーザにより選択された商品ページの商品情報と、クエリとして用いられた文字情報と、の組み合わせを記録する。当該組み合わせは、データ記憶部100に記憶されてもよいし、サーバ10以外のコンピュータ(外部ストレージ)に記憶されてもよい。記録部103により記録される商品情報は、本発明に係る項目情報の一例である。
 項目情報は、データ項目の内容又は特徴を示す情報である。本実施形態では、商品ページがデータ項目の一例なので、項目情報の一例として商品情報を説明するが、項目情報は、データ項目の種類に応じた情報であればよい。例えば、データ項目が電子書籍であれば、書籍のタイトル、作者、ジャンル、又は要約といった情報であってもよい。また例えば、データ項目が動画であれば、動画のタイトル、制作者、ジャンル、又は概略といった情報であってもよい。なお、項目情報は、インデックスとして用いられる情報であってもよいし、特にインデックスとして用いられない情報であってもよい。
 本実施形態では、商品情報に含まれる情報のうち、商品タイトルを項目情報の一例として説明する。このため、本実施形態で商品タイトルと記載した箇所は、項目情報と読み替えることができる。
 例えば、記録部103は、ユーザにより選択された商品ページの商品タイトルと、クエリとして用いられた文字情報と、の組み合わせを教師データDTに記録する。なお、記録部103は、これらの組み合わせを任意のデータに記録すればよく、教師データDT以外のデータに記録してもよい。この場合、当該データに基づいて教師データDTが生成されることになる。
 なお、組み合わせを記録するとは、複数の情報を関連付けて格納することであり、同じレコードに複数の情報を格納することである。また、記録部103は、商品タイトル以外の情報を項目情報として記録してもよく、例えば、商品説明やキャッチコピーなどの情報を項目情報として記録してもよい。記録部103が記録する情報は、学習機105に入力させる情報と、学習機105から出力される情報と、の組み合わせに基づいて定めればよい。
[3-5.学習部,学習機]
 学習部104は、CPU11を主として実現される。学習部104は、ユーザにより選択された商品ページの商品タイトルと、クエリとして用いられた文字情報と、の関係を学習機105に学習させる。本実施形態では、図8のような教師データDTが用意されているので、学習部104は、教師データDTに基づいて学習機105を学習させる。
 本実施形態の学習機105は、不定長の入力となる商品タイトルに対して、不定長の出力となる特徴情報を出力するため、機械学習アルゴリズムとして、再帰型ニューラルネットワークを利用している。本実施形態では、再帰型ニューラルネットワークの中でも、長・短期記憶セルを用いたシーケンス変換モデルを採用している。このため、学習部104は、再帰型ニューラルネットワークモデル、長・短期記憶モデル、又はシーケンス変換モデルに基づく学習機105を生成することになる。なお、機械学習アルゴリズムは、同等の機能が実現できるモデルであれば他のモデルであってもよく、例えば、GRU(Gated Recurrent Unit)モデル等であってもよい。
 本実施形態では、商品タイトルを項目情報の一例として説明し、商品タイトルは、商品ページを検索するための第1のインデックスとして定められた文字情報なので、学習部104は、ユーザにより選択された商品ページの第1のインデックスと、クエリとして用いられた文字情報と、の関係を学習機105に学習させることになる。学習機105の学習方法自体は、公知の種々の手法を適用可能であり、例えば、BPTT(Back-Propagation Through Time)法を利用してもよいし、RTRL(Real-Time Recurrent Learning)法を利用してもよい。
 なお、学習機105を学習させるタイミングは任意であってよく、学習部104は、所定のタイミングが訪れた場合に、記録部103により記録された組み合わせに基づいて、上記関係を学習機105に学習させる。所定のタイミングは、検索システム1の管理者がサーバ10に対し所定の要求を送信したタイミングであってもよいし、バッチファイル等に定められた所定日時が到来することであってもよい。学習部104は、管理者からの所定の要求を受信したか否かを判定したり、所定日時が到来したか否かを判定したりすることによって、所定のタイミングが訪れたか否かを判定すればよい。
[3-6.追加部]
 追加部106は、CPU11を主として実現される。追加部106は、商品データベースDBに新たな商品ページを追加する。本実施形態では、店舗端末30において所定の登録操作が行われた場合に、追加部106は、商品データベースDBに新たな商品ページを追加する。例えば、登録操作は、店舗端末30に表示される商品登録ページから行われる。
 図9は、商品登録ページの一例を示す図である。図9に示すように、商品登録ページP4には、商品タイトルを入力するための入力フォームF40、価格を入力するための入力フォームF41、商品の説明文を入力するための入力フォームF42、及び商品画像を入力するための入力フォームF43が表示される。
 なお、商品登録ページP4から入力される情報は、これらに限られず、商品ページのURL、クーポン情報、商品の管理用番号、キャッチコピー、送料、ジャンル、及び属性といった情報を入力可能であってよい。
 例えば、店舗の担当者が、店舗端末30を操作して商品ページに関する種々の情報を入力してボタンB44を選択すると、店舗端末30からサーバ10に対し、当該情報が送信される。追加部106は、受信した当該情報を商品データベースDBに格納することによって、新たな商品ページを追加する。
[3-7.取得部]
 取得部107は、CPU11を主として実現される。取得部107は、処理対象の商品ページの項目情報(本実施形態では、商品タイトル)を学習機105に入力し、処理対象の商品ページの特徴情報を学習機105から取得する。
 処理対象の商品ページとは、特徴情報の取得対象となる商品ページであり、学習機105に項目情報が入力される商品ページである。処理対象の商品ページは、自動的に決定されてもよいし、管理者の操作に基づいて決定されてもよい。例えば、商品データベースDBに登録された商品ページのうち、まだ特徴情報が登録されていない商品ページが処理対象の商品ページとなってもよいが、本実施形態では、追加部106により追加される新たな商品ページが処理対象の商品ページに相当する場合を説明する。
 特徴情報は、データ項目の特徴を示す情報である。例えば、特徴情報は、インデックスとして用いられる情報であってもよいし、特にインデックスとして用いられない情報であってもよい。また例えば、学習機105から出力される文字情報を特徴情報としてもよいし、学習機105の内部計算で得られる情報を特徴情報としてもよい。
 本実施形態では、取得部107は、特徴情報として、学習機105から出力される文字情報を取得する場合を説明する。学習機105から出力される文字情報は、単語(1又は複数の文字)そのものであってもよいし、単語に関する情報であってもよい。単語に関する情報とは、単語を特定可能な情報であり、単語と1対1で対応付けられた情報である。例えば、単語に関する情報は、単語に割り当てられたインデックス番号であってもよいし、単語の特徴を示す特徴量であってもよい。インデックス番号は、種々の単語を格納した辞書データベースにおいて単語を一意に識別する番号である。特徴量は、単語の特徴を示す数値であり、例えば、Word2vecにおけるベクトル情報である。学習機105から出力される文字情報は、現実に用いられたクエリから予測した情報なので、文字情報は、学習機105から出力される予測クエリリスト又は想定クエリリストということもできる。
 図10は、学習機105から特徴情報が取得される様子を示す図である。図10に示すように、ここでは、再帰型ニューラルネットワークを例に挙げて説明する。本実施形態の学習機105は、長・短期記憶セルによる再帰型ニューラルネットワークを用いたシーケンス変換モデルであり、長・短期記憶セルは、エンコーダEとデコーダDが用意されている。
 なお、長・短期記憶セル自体の構成は公知のため、その詳細の説明は省略する。また、図10では、長・短期記憶セルを単ブロックとして記載しているが、長・短期記憶セルは多層の構成としてもよい。層数は多いほど出力精度は向上するが計算量が増大するので、実用上十分な精度が得られる程度の総数とするために、例えば、2~8層程度であってもよい。
 図10では、学習機105を単方向ネットワークとして構築しているが、これを双方向ネットワークとしてもよい。学習機105は、公知の計算機プログラミングライブラリ、例えばGoogle社から提供される「TensorFlow」や、Preferred Networks社から提供される「Chainer」を利用して構築してよい。
 図10における水平方向は、時間ステップを意味しており、左方向から右方向へと手順が進行していることを意味している。本実施形態では、商品タイトルは複数の単語を含むので、取得部107は、商品タイトルを個々の単語に分割し、エンコーダEに対して、各単語を1つずつ入力する。なお、商品タイトルは、スペースの位置で個々の単語に分割されるようにすればよい。
 例えば、学習機105に対し、商品タイトル「腕時計 ABC-Watch ABC メンズ ブラック a1234567」が入力されたとすると、取得部107は、「腕時計」、「ABC-Watch」、「ABC」、「メンズ」、「ブラック」、「a1234567」の6つの単語に分割し、これら6つの単語を順番に入力する。例えば、取得部107は、エンコーダEに対し、各単語の特徴量(例えば、先述した特徴ベクトル)を入力する。
 例えば、学習機105は、エンコーダEに入力された単語に基づいて、内部ベクトルcを計算して順番に記録する。内部ベクトルcは、エンコーダEの隠れ層における内部状態を示す。内部ベクトルcの次数は、任意であり、長・短期記憶セルの層数にも依存するが、100~1000次元程度としてよい。学習機105は、単語の入力ごとに次のステップへと内部ベクトルcを受け渡し、商品タイトルに含まれる全ての単語の入力が終わった時点で、内部ベクトルcが得られる。
 学習機105は、内部ベクトルcをデコーダDへと受け渡し、デコーダDに対し、特別な予約語である入力<go>を入力する。この予約語は、デコーダDによる出力の開始を指示するものであり、固定値が割り当てられている。入力<go>が入力されると、デコーダDは単語を出力し、内部ベクトルは、cn+1へと変化する。出力された単語は、次のステップにおけるデコーダDへの入力に用いられ、内部ベクトルcn+1は次のステップにおけるデコーダDの内部状態として使用される。
 図10の例では、入力<go>が入力されたデコーダDは、「腕時計」という単語を出力し、内部ベクトルは、cn+1へと変化する。出力された「腕時計」という単語は、次のステップにおけるデコーダDへの入力に用いられる。当該次のステップにおけるデコーダDは、「腕時計メンズ」という単語を出力し、内部ベクトルは、cn+2へと変化する。このようにして、学習機105は、単語の出力及び内部ベクトルcを順次次のステップに受け渡していきながら、デコーダDが特別な予約語である出力<eos>を出力するまで繰り返し実行する。この予約語は、デコーダDによる出力の終了を意味するものであり、固定値が割り当てられている。
 以上のようにして得られる少なくとも1つの単語が最終的な学習機105の出力結果となる。取得部107は、学習機105から出力された当該少なくとも1つの単語を特徴情報として取得する。例えば、取得部107は、デコーダDが出力した複数の単語をスペースでつないで特徴情報としてもよいし、複数の単語をリスト状にしたものを特徴情報としてもよい。
 学習機105の動作は以上の通りであり、学習部104が学習機105に機械学習をさせる際には、教師データDTを用いて、エンコーダE及びデコーダDの内部パラメータを変更する。例えば、学習部104は、商品タイトルを入力とし、クエリとして用いられた文字情報を出力として、出力の前に予約語<go>を、後に予約語<eos>を付加して、BPTT法等によりエンコーダE及びデコーダDの内部パラメータを変更する。この機械学習法の詳細については公知であるため、その詳細は本明細書では割愛する。
 なお、以上の説明では、学習機105は、長・短期記憶セルを用いたモデルを用いているが、これ以外のセル、例えば、GRUセル等を用いるものであってもよい。また例えば、BeamSearchのような探索アルゴリズムを利用して特徴情報が取得されてもよい。また例えば、長・短期記憶セルの構造は公知の任意のものでよく、ピープホールメカニズムやアテンションベクトルの有無は任意である。また、フォーゲットゲートも必須の構成ではないが、フォーゲットゲートを備えたモデルの方が精度の高い結果が得られるようである。また、上記の説明では省略したが、学習機105は、単語とともに、蓋然性を示すスコアを出力してもよい。更に、取得部107は、スコアが閾値以上の単語のみを特徴情報として取得してもよい。
 本実施形態では、学習機105に入力される商品タイトルは第1のインデックスとして用いられるので、取得部107は、処理対象の商品ページの第1のインデックスを学習機105に入力し、特徴情報としての文字情報を学習機105から取得することになる。
 また例えば、本実施形態では、商品ページが新たに追加される場合に特徴情報が取得されるので、取得部107は、新たな商品ページの項目情報を学習機105に入力し、新たな商品ページの特徴情報を学習機105から取得することになる。
 なお、特徴情報は、商品ページが新たに追加される場合ではなく、トレンド変化に対応するために、定期的に更新されるようにしてもよい。例えば、ユーザがどのようなクエリを入力するかは、時期によって変わることがあり、商品ページに関連付けられた特徴情報が古くなると、最新のトレンドに適合しないものとなる可能性がある。このため、取得部107は、既に特徴情報が関連付けられた商品ページであったとしても、定期的に、当該特徴情報を更新してもよい。
 例えば、商品データベースDBに、特徴情報が関連付けられた日時を格納しておき、取得部107は、当該日時から一定期間が経過した商品ページについては、最新の学習機105から特徴情報を取得しなおして、特徴情報が更新されてもよい。また例えば、特徴情報が関連付けられた日時を格納しておくのではなく、取得部107は、一定期間が経過するたびに、全商品ページについて、最新の学習機105から特徴情報を取得しなおして、特徴情報が更新されてもよい。また例えば、特徴情報は、不定期的に更新されてもよく、例えば、システム管理者の指示を受け付けた場合に、取得部107は、最新の学習機105から特徴情報を取得しなおして、特徴情報が更新されてもよい。また例えば、店舗の担当者が商品ページの商品タイトルを修正することも考えられるので、取得部107は、商品タイトルが修正された場合に、最新の学習機105から特徴情報を取得しなおして、特徴情報が更新されてもよい。
[3-8.登録部]
 登録部108は、CPU11を主として実現される。登録部108は、特徴情報を、処理対象の商品ページに関連付けて商品データベースDBに登録する。登録部108は、商品データベースDBのうち、処理対象の商品ページのレコードに、取得部107により取得された特徴情報を格納する。
 本実施形態では、特徴情報はインデックスとして用いられるので、登録部108は、学習機105から取得された文字情報を、処理対象の商品ページのインデックス(例えば、第2のインデックス)としてデータベースに登録することになる。また例えば、本実施形態では、新たな商品ページが処理対象の商品ページの一例である場合を説明するので、登録部108は、特徴情報を、新たな商品ページに関連付けてデータベースに登録することになる。
[4.検索システムで実行される処理]
 次に、検索システム1で実行される処理について説明する。ここでは、処理の一例として、ユーザの行動をもとに教師データDTを生成する教師データ生成処理と、学習機105を利用して商品ページのインデックスを登録するインデックス登録処理と、を説明する。
[4-1.教師データ生成処理]
 図11-図12は、教師データ生成処理の一例を示すフロー図である。図11-図12に示す処理は、CPU11がメモリ12に記憶されたプログラムに従って動作し、ユーザ端末20が自身に記憶されたプログラムに従って動作することによって実行される。下記に説明する処理は、図6に示す機能ブロックにより実行される処理の一例である。
 図11に示すように、まず、ユーザ端末20は、サーバ10に対し、トップページP1の表示要求を送信する(S101)。例えば、トップページP1の表示要求は、トップページP1のURLが選択されたり、所定のアプリケーションが起動したりした場合に送信される。
 サーバ10においては、表示要求を受信すると、CPU11は、トップページP1の表示データをユーザ端末20に送信する(S102)。なお、トップページP1の表示データは、メモリ12に予め記憶されているものとする。表示データとしては、HTMLデータであってもよいし、フレームにはめ込む画像やテキストであってもよい。この点は、以降の説明で表示データと記載した箇所についても同様である。
 ユーザ端末20は、表示データを受信すると、トップページP1を表示させる(S103)。以降、ユーザは、ユーザ端末20から、好きな検索条件を入力することができる。ここでは、ユーザが、入力フォームF10にクエリとして用いられる文字情報を入力する場合を説明する。
 ユーザ端末20は、入力フォームF10に入力された文字情報をクエリとする検索要求を送信する(S104)。S104においては、ユーザ端末20は、ユーザが入力した文字情報を入力フォームF10に反映し、検索の実行を指示するための所定の操作が行われた場合に検索要求を送信する。検索要求には、入力フォームF10にユーザが入力した文字情報が含まれるものとする。
 サーバ10においては、検索要求を受信すると、CPU11は、ユーザが入力した文字情報をクエリとし、商品タイトルをインデックスとして、商品データベースDBを検索する(S105)。S105においては、CPU11は、先述したようなあいまい検索を実行し、検索結果を取得する。
 CPU11は、商品データベースDBに基づいて、S105の検索でヒットした商品ページのリンク情報を取得する(S106)。S106においては、CPU11は、検索結果にヒットした商品ページの店舗名、商品タイトル、価格、商品画像、及びURLといった情報に基づいて、リストL21に埋め込むリンク情報を取得する。
 CPU11は、ユーザが入力した文字情報をクエリとし、特徴情報をインデックスとして、商品データベースDBを検索する(S107)。S107における検索方法自体は、S105と同じであってよいが、インデックスとして特徴情報が用いられる点でS105とは異なる。
 CPU11は、商品データベースDBに基づいて、S107の検索でヒットした商品のクーポン情報I22を取得する(S108)。S108においては、CPU11は、検索結果にヒットした商品の店舗ID、商品ID、店舗名、商品タイトル、商品画像、及びクーポンの内容に基づいて、クーポン情報I22を取得する。
 CPU11は、S106で取得したリンク情報と、S108で取得したクーポン情報I22と、に基づいて、検索結果ページP2の表示データをユーザ端末20に送信する(S109)。
 ユーザ端末20は、表示データを受信すると、検索結果ページP2を表示させる(S110)。検索結果ページP2が表示されると、ユーザは、リストL21内のリンク情報を選択する操作、又は、クーポン情報I22を選択する操作をすることができる。
 図12に移り、ユーザ端末20は、ユーザの操作を特定する(S111)。ユーザがリストL21内のリンク情報を選択した場合(S111;リンク情報)、CPU11は、サーバ10に対し、ユーザにより選択されたリンク情報が示す商品ページの表示要求を送信する(S112)。表示要求には、表示させる商品ページの識別情報(例えば、URL)が含まれるものとする。
 サーバ10においては、表示要求を受信すると、CPU11は、商品データベースDBに基づいて、商品ページP3の表示データをユーザ端末20に送信する(S113)。S113においては、CPU11は、表示要求に含まれる識別情報が示す商品ページP3のHTMLデータ等を送信する。
 CPU11は、ユーザにより選択された商品ページの商品タイトルと、ユーザにより入力されたクエリと、の組み合わせを教師データDTに記録する(S114)。S114においては、CPU11は、商品データベースDBを参照し、ユーザにより選択された商品ページの商品タイトルを特定する。そして、CPU11は、当該特定した商品タイトルと、S105において受信したクエリの文字情報と、の組み合わせを教師データDTに記録する。
 ユーザ端末20は、表示データを受信すると、商品ページP3を表示させ(S115)、本処理は終了する。なお、ユーザがトップページP1に戻る操作をした場合には、S101に戻り、ユーザが検索結果ページP2に戻る操作をした場合には、S111の処理に戻る。
 一方、S111において、ユーザがクーポン情報I22を選択した場合(S111;クーポン情報)、CPU11は、サーバ10に対し、ユーザにより選択されたクーポン情報I22の獲得要求を送信する(S116)。獲得要求には、獲得対象のクーポンの識別情報(例えば、商品ID)が含まれるものとする。
 サーバ10においては、取得要求を受信すると、CPU11は、ユーザがクーポンを獲得する処理を実行する(S117)。S117においては、ユーザが選択したクーポン情報I22の識別情報を、ユーザIDに関連付けることによって、ユーザにクーポンを獲得させる。
 CPU11は、学習機105を学習させる所定のタイミングが訪れたか否かを判定する(S118)。S118においては、例えば、CPU11は、検索システム1の管理者からの所定の要求を受信したか否かを判定したり、所定の日時が訪れたか否かを判定したりする。
 所定のタイミングが訪れたと判定された場合(S118;Y)、CPU11は、教師データDTに基づいて学習機105を学習させる(S119)。S119においては、CPU11は、BPTT法等を利用して、学習機105のエンコーダE及びデコーダDの内部パラメータを変更する。一方、所定のタイミングが訪れたと判定されない場合(S118;N)、本処理は終了する。
[4-2.インデックス登録処理]
 図13は、インデックス登録処理の一例を示すフロー図である。図13に示す処理は、CPU11がメモリ12に記憶されたプログラムに従って動作し、店舗端末30が自身に記憶されたプログラムに従って動作することによって実行される。下記に説明する処理は、図6に示す機能ブロックにより実行される処理の一例である。
 図13に示すように、まず、店舗端末30は、サーバ10に対し、商品登録ページP4の表示要求を送信する(S201)。例えば、商品登録ページP4の表示要求は、所定のログイン処理が実行された後に、店舗の担当者が商品登録ページP4のリンクを選択する操作をした場合に送信される。
 サーバ10においては、表示要求を受信すると、CPU11は、商品登録ページP4の表示データをユーザ端末20に送信する(S202)。商品登録ページP4のHTMLデータ等は、予めメモリ12に記憶されているものとする。
 店舗端末30は、表示データを受信すると、商品登録ページP4を表示させる(S203)。商品登録ページP4が表示されると、ユーザは、入力フォームF40~F44等から商品情報やURLなどの情報を入力したり、ボタンB45の選択をしたりすることができる。
 店舗端末30は、入力フォームF40~F44等に入力された商品情報等の登録要求を送信する(S204)。登録要求には、商品登録ページP4に入力された情報が含まれるものとする。
 サーバ10においては、登録要求を受信すると、CPU11は、受信した情報に基づいて、商品ページを商品データベースDBに追加する(S205)。S205においては、CPU11は、商品データベースDBに新たなレコードを生成し、当該レコードに商品情報やURLなどを格納する。
 CPU11は、入力フォームF40に入力された商品タイトルを学習機105に入力する(S206)。S206においては、CPU11は、商品タイトルを複数の単語に分割し、各単語を順番に学習に入力する。この流れは、図10を参照して説明した通りである。
 CPU11は、学習機105から出力された特徴情報を取得して商品データベースDBに登録し(S207)、本処理は終了する。S207においては、CPU11は、学習機105から出力された複数の単語を特徴情報として商品データベースDBに登録する。以降、当該登録された特徴情報は、検索時にインデックスとして用いられることになる。
 以上説明した検索システム1によれば、商品ページの商品タイトルを学習機105に入力すると、過去にクエリとして使用された文字情報が出力され、当該文字情報が商品ページに関連付けられて登録されるので、まだ選択されていない商品ページであっても、その検索を学習機105により補助し、検索精度を高めることができる。また例えば、従来技術として説明したクエリに対して商品ページを返す学習機105は、検索のたびに学習機105の処理を実行する必要があるので、サーバ10による高速な応答が困難であるが、検索システム1は、事前に特徴情報が登録されており、検索のたびに学習機105の処理を実行する必要がなく、検索結果を返す処理を高速化することができる。
 また、学習機105から出力された文字情報をインデックスとして利用することで、検索の精度を高めることができる。例えば、実施形態のように、店舗が商品タイトルを自由に入力する場合には、適切なインデックスが商品ページに登録されない可能性がある。この点、検索システム1は、過去にユーザが実際に入力した文字情報(クエリリスト)がインデックスとして登録されるので、適切なインデックスを登録することができる。
 また、第1のインデックスとして利用される商品タイトルを学習機105に入力し、学習機105から取得された文字情報を第2のインデックスとすることで、商品ページのインデックスのバリエーションを増やすことができ、検索の精度を効果的に高めることができる。
 また、ユーザにより選択された商品ページの商品タイトルと、クエリとして用いられた文字情報と、の組み合わせを教師データDTに記録しておき、所定のタイミングが訪れた場合に教師データDTに基づく学習機105の学習が行われることで、サーバ10の処理負荷を軽減することができる。
 また、再帰型ニューラルネットワークモデル、長・短期記憶モデル、又はシーケンス変換モデルに基づく学習機105を利用することで、不定長の商品タイトルが入力されたとしても、不定長の特徴情報を出力することができる。また、語順に応じた特徴情報を出力することができる。
 また、新たな商品ページが追加される場合に、当該新たな商品ページが学習機105に入力されるので、新たな商品ページに対して、学習機105から出力された文字情報を関連付けて登録することができる。
 また、商品ページの第1のインデックスである商品タイトルに基づいて第1の検索結果を提供し、第2のインデックスである特徴情報に基づいて第2の検索結果を提供することで、ユーザに多様な情報を提供することができる。
 また、商品ページの第1のインデックスである商品タイトルに基づいて、商品ページを表示させるためのリストL21を提供し、第2のインデックスである特徴情報に基づいてクーポン情報I22を提供することで、ユーザに多様な情報を提供することができる。
[5.変形例]
 なお、本発明は、以上に説明した実施形態に限定されるものではない。本発明の趣旨を逸脱しない範囲で、適宜変更可能である。
 例えば、実施形態では、所定のタイミングが訪れた場合に学習機105の学習が実行される場合を説明したが、学習部104は、ユーザにより商品ページが選択されるたびに、実施形態で説明した関係を学習機105に学習させてもよい。この場合、ユーザが選択した商品ページの商品タイトルと、クエリとして用いられた文字情報と、の組み合わせを蓄積しておいて一度に学習させるのではなく、学習部104は、ユーザにより商品ページが選択された場合に、その都度、学習機105の学習を実行してもよい。
 上記変形例によれば、ユーザにより商品ページが選択されるたびに、随時学習機105に学習させることで、学習機105の精度を高めることができる。
 また例えば、実施形態では、データ項目が商品に関する商品ページである場合を説明したが、データ項目はサービスに関するページであってもよい。この場合、検索部101は、サービスに関するページを表示させるための検索結果をユーザに提供してもよいし、サービスのクーポンを付与するための検索結果をユーザに提供してもよい。サービスは、任意の内容であってよく、例えば、旅行予約サービス、保険申し込みサービス、又は金融サービスと言った任意のサービスに関するページを表示させる場合に、実施形態で説明したような処理が行われてもよい。
 また例えば、実施形態では、登録部108により登録された特徴情報がインデックスとして利用される場合を説明したが、特徴情報は、特にインデックスとして利用されなくてもよい。例えば、類似する商品ページ同士を関連付けるために特徴情報が利用されてもよい。この場合、例えば、特徴情報が示す文字情報が似ている商品ページ同士を関連付けておき、ユーザが選択した商品ページを表示させる場合に、似た商品ページへのリンクをリコメンドとして表示させてもよい。また例えば、学習機105から出力される蓋然性を特徴情報として利用し、蓋然性の値が近い商品ページ同士を関連付けておいてもよい。
 また例えば、検索システム1の各機能のうち、検索部101、提供部102、学習部104、取得部107、及び登録部108以外の機能は省略してもよい。例えば、データ100は、検索システム1に含まれている必要はなく、データベースサーバによって実現されてもよい。また例えば、サーバ10で実現されるものとして説明した機能は、ユーザ端末20と店舗端末30との間で分担されるようにしてもよい。

Claims (11)

  1.  ユーザにより入力された文字情報をクエリとして、複数のデータ項目が格納されたデータベースを検索する検索手段と、
     前記検索手段により取得された検索結果のうち、前記ユーザにより選択されたデータ項目を前記ユーザに提供する提供手段と、
     前記ユーザにより選択されたデータ項目の項目情報と、クエリとして用いられた文字情報と、の関係を学習機に学習させる学習手段と、
     処理対象のデータ項目の項目情報を前記学習機に入力し、前記処理対象のデータ項目の特徴情報を前記学習機から取得する取得手段と、
     前記特徴情報を、前記処理対象のデータ項目に関連付けて前記データベースに登録する登録手段と、
     を含むことを特徴とする検索システム。
  2.  前記取得手段は、前記特徴情報として文字情報を取得し、
     前記登録手段は、前記学習機から取得された文字情報を、前記処理対象のデータ項目のインデックスとして前記データベースに登録する、
     ことを特徴とする請求項1に記載の検索システム。
  3.  前記項目情報は、第1のインデックスとして定められた文字情報であり、
     前記学習手段は、前記ユーザにより選択されたデータ項目の第1のインデックスと、クエリとして用いられた文字情報と、の関係を前記学習機に学習させ、
     前記取得手段は、前記処理対象のデータ項目の第1のインデックスを前記学習機に入力し、前記特徴情報としての文字情報を前記学習機から取得し、
     前記登録手段は、前記学習機から取得された文字情報を、前記処理対象のデータ項目の第2のインデックスとして前記データベースに登録する、
     ことを特徴とする請求項2に記載の検索システム。
  4.  前記検索システムは、前記ユーザにより選択されたデータ項目の項目情報と、クエリとして用いられた文字情報と、の組み合わせを記録する記録手段を更に含み、
     前記学習手段は、所定のタイミングが訪れた場合に、前記記録手段により記録された組み合わせに基づいて、前記関係を学習機に学習させる、
     ことを特徴とする請求項1~3の何れかに記載の検索システム。
  5.  前記学習手段は、前記ユーザによりデータ項目が選択されるたびに、前記関係を前記学習機に学習させる、
     ことを特徴とする請求項1~3の何れかに記載の検索システム。
  6.  前記学習手段は、再帰型ニューラルネットワークモデル、長・短期記憶モデル、又はシーケンス変換モデルに基づく前記学習機を生成する、
     ことを特徴とする請求項1~5の何れか1項に記載の検索システム。
  7.  前記検索システムは、前記データベースに新たなデータ項目を追加する追加手段を更に含み、
     前記取得手段は、前記新たなデータ項目の項目情報を前記学習機に入力し、前記新たなデータ項目の特徴情報を前記学習機から取得し、
     前記登録手段は、前記特徴情報を、前記新たなデータ項目に関連付けて前記データベースに登録する、
     ことを特徴とする請求項1~6の何れか1項に記載の検索システム。
  8.  前記データベースには、データ項目ごとに、第1のインデックスと、前記登録手段により登録された第2のインデックスと、が登録されており、
     前記検索手段は、前記第1のインデックスに基づいて第1の検索結果を前記ユーザに提供し、前記第2のインデックスに基づいて第2の検索結果を前記ユーザに提供する、
     ことを特徴とする請求項2又は3に記載の検索システム。
  9.  前記データ項目は、商品又はサービスに関するデータ項目であり、
     前記検索手段は、前記第1のインデックスに基づいて、商品又はサービスのページを表示させるための第1の検索結果を前記ユーザに提供し、前記第2のインデックスに基づいて、商品又はサービスのクーポンを付与するための第2の検索結果を前記ユーザに提供する、
     ことを特徴とする請求項8に記載の検索システム。
  10.  ユーザにより入力された文字情報をクエリとして、複数のデータ項目が格納されたデータベースを検索する検索ステップと、
     前記検索ステップにより取得された検索結果のうち、前記ユーザにより選択されたデータ項目を前記ユーザに提供する提供ステップと、
     前記ユーザにより選択されたデータ項目の項目情報と、クエリとして用いられた文字情報と、の関係を学習機に学習させる学習ステップと、
     処理対象のデータ項目の項目情報を前記学習機に入力し、前記処理対象のデータ項目の特徴情報を前記学習機から取得する取得ステップと、
     前記特徴情報を、前記処理対象のデータ項目に関連付けて前記データベースに登録する登録ステップと、
     を含むことを特徴とする検索方法。
  11.  ユーザにより入力された文字情報をクエリとして、複数のデータ項目が格納されたデータベースを検索する検索手段、
     前記検索手段により取得された検索結果のうち、前記ユーザにより選択されたデータ項目を前記ユーザに提供する提供手段、
     前記ユーザにより選択されたデータ項目の項目情報と、クエリとして用いられた文字情報と、の関係を学習機に学習させる学習手段、
     処理対象のデータ項目の項目情報を前記学習機に入力し、前記処理対象のデータ項目の特徴情報を前記学習機から取得する取得手段、
     前記特徴情報を、前記処理対象のデータ項目に関連付けて前記データベースに登録する登録手段、
     としてコンピュータを機能させるためのプログラム。
PCT/JP2018/010554 2018-03-16 2018-03-16 検索システム、検索方法、及びプログラム Ceased WO2019176102A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP18909311.5A EP3731108A4 (en) 2018-03-16 2018-03-16 RESEARCH SYSTEM, RESEARCH PROCESS AND PROGRAM
JP2019515557A JP6560843B1 (ja) 2018-03-16 2018-03-16 検索システム、検索方法、及びプログラム
US16/963,841 US20210056149A1 (en) 2018-03-16 2018-03-16 Search system, search method, and program
PCT/JP2018/010554 WO2019176102A1 (ja) 2018-03-16 2018-03-16 検索システム、検索方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2018/010554 WO2019176102A1 (ja) 2018-03-16 2018-03-16 検索システム、検索方法、及びプログラム

Publications (1)

Publication Number Publication Date
WO2019176102A1 true WO2019176102A1 (ja) 2019-09-19

Family

ID=67614875

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/010554 Ceased WO2019176102A1 (ja) 2018-03-16 2018-03-16 検索システム、検索方法、及びプログラム

Country Status (4)

Country Link
US (1) US20210056149A1 (ja)
EP (1) EP3731108A4 (ja)
JP (1) JP6560843B1 (ja)
WO (1) WO2019176102A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7460366B2 (ja) * 2019-12-27 2024-04-02 川崎重工業株式会社 訓練データ選別装置、ロボットシステム及び訓練データ選別方法
JP2024091181A (ja) * 2022-12-23 2024-07-04 富士通株式会社 情報処理プログラム、情報処理方法および情報処理装置
CN115952175B (zh) * 2023-03-14 2023-05-30 乐山师范学院 一种数据库索引构建方法、装置、计算机设备及存储介质
US20250077315A1 (en) * 2023-08-28 2025-03-06 Capital One Services, Llc User segmentation for dynamic personalized application flows
KR102638265B1 (ko) * 2023-09-25 2024-02-20 주식회사 로이드케이 인공신경망을 이용한 컴퓨팅 환경 기반의 검색 엔진 구축 방법 및 장치

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003228569A (ja) 2002-02-04 2003-08-15 Nippon Telegraph & Telephone East Corp メタデータ付与方法およびメタデータ付与装置
JP2009157442A (ja) * 2007-12-25 2009-07-16 Toshiba Corp データ検索装置および方法
JP2010271903A (ja) * 2009-05-21 2010-12-02 Seiko Epson Corp 画像処理方法及び装置、並びに、そのためのコンピュータープログラム
WO2015140922A1 (ja) * 2014-03-18 2015-09-24 楽天株式会社 情報処理システム、情報処理方法、および情報処理プログラム
JP2018032304A (ja) * 2016-08-26 2018-03-01 ヤフー株式会社 情報解析装置、情報解析方法、および情報解析プログラム

Family Cites Families (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7680324B2 (en) * 2000-11-06 2010-03-16 Evryx Technologies, Inc. Use of image-derived information as search criteria for internet and other search engines
US6643639B2 (en) * 2001-02-07 2003-11-04 International Business Machines Corporation Customer self service subsystem for adaptive indexing of resource solutions and resource lookup
US6728706B2 (en) * 2001-03-23 2004-04-27 International Business Machines Corporation Searching products catalogs
US6871198B2 (en) * 2001-12-21 2005-03-22 Requisite Technology, Inc. Composing and cataloging item configuration data
US7237187B2 (en) * 2002-01-31 2007-06-26 Requisite Technology, Inc. Interactively comparing records in a database
US7555490B1 (en) * 2002-06-17 2009-06-30 Click Commerce, Inc. Text-based searches of numeric data
US7243099B2 (en) * 2003-12-23 2007-07-10 Proclarity Corporation Computer-implemented method, system, apparatus for generating user's insight selection by showing an indication of popularity, displaying one or more materialized insight associated with specified item class within the database that potentially match the search
US7685510B2 (en) * 2004-12-23 2010-03-23 Sap Ag System and method for grouping data
US8260771B1 (en) * 2005-07-22 2012-09-04 A9.Com, Inc. Predictive selection of item attributes likely to be useful in refining a search
US7779011B2 (en) * 2005-08-26 2010-08-17 Veveo, Inc. Method and system for dynamically processing ambiguous, reduced text search queries and highlighting results thereof
US7933900B2 (en) * 2005-10-23 2011-04-26 Google Inc. Search over structured data
US20070208730A1 (en) * 2006-03-02 2007-09-06 Microsoft Corporation Mining web search user behavior to enhance web search relevance
US8156073B1 (en) * 2006-03-29 2012-04-10 Amazon Technologies, Inc. Item attribute generation using query and item data
US7630978B2 (en) * 2006-12-14 2009-12-08 Yahoo! Inc. Query rewriting with spell correction suggestions using a generated set of query features
JP2009026195A (ja) * 2007-07-23 2009-02-05 Yokohama National Univ 商品分類装置、商品分類方法及びプログラム
US20090248633A1 (en) * 2008-03-31 2009-10-01 Erik Ojakaar System and method for direct display of coupons within search result sets
US7725363B2 (en) * 2008-09-26 2010-05-25 The Go Daddy Group, Inc. Method of generating product categories from a metadata tag
US8782069B2 (en) * 2009-06-11 2014-07-15 Chacha Search, Inc Method and system of providing a search tool
US8612306B1 (en) * 2009-07-29 2013-12-17 Google Inc. Method, system, and storage device for recommending products utilizing category attributes
US20110082734A1 (en) * 2009-10-02 2011-04-07 Haining Zhang Locating bundled items
US20110106600A1 (en) * 2009-10-30 2011-05-05 Raza Ali Malik Methods and systems for contextual coupon display and selection
US8494901B2 (en) * 2010-02-17 2013-07-23 Ebay Inc. Methods and systems for multi-merchant couponing
US8352468B2 (en) * 2010-04-07 2013-01-08 Apple Inc. Top search hits based on learned user preferences
US10204163B2 (en) * 2010-04-19 2019-02-12 Microsoft Technology Licensing, Llc Active prediction of diverse search intent based upon user browsing behavior
US20120010996A1 (en) * 2010-07-07 2012-01-12 Microsoft Corporation Recommendations and targeted advertising based upon directions requests activity and data
US20120084248A1 (en) * 2010-09-30 2012-04-05 Microsoft Corporation Providing suggestions based on user intent
US20120269116A1 (en) * 2011-04-25 2012-10-25 Bo Xing Context-aware mobile search based on user activities
US20120284107A1 (en) * 2011-05-03 2012-11-08 Russell Gernaat Digital coupon clearinghouse
US9087048B2 (en) * 2011-06-10 2015-07-21 Linkedin Corporation Method of and system for validating a fact checking system
US11151617B2 (en) * 2012-03-09 2021-10-19 Nara Logics, Inc. Systems and methods for providing recommendations based on collaborative and/or content-based nodal interrelationships
US20140279196A1 (en) * 2013-03-15 2014-09-18 Nara Logics, Inc. System and methods for providing spatially segmented recommendations
US20130254176A1 (en) * 2012-03-21 2013-09-26 Apple Inc. Systems and Methods for Generating Search Queries
CN103914492B (zh) * 2013-01-09 2018-02-27 阿里巴巴集团控股有限公司 查询词融合方法、商品信息发布方法和搜索方法及系统
US20140280339A1 (en) * 2013-03-13 2014-09-18 Microsoft Corporation Integrating offers
US20140324578A1 (en) * 2013-04-29 2014-10-30 Yahoo! Inc. Systems and methods for instant e-coupon distribution
US9959563B1 (en) * 2013-12-19 2018-05-01 Amazon Technologies, Inc. Recommendation generation for infrequently accessed items
US9595048B2 (en) * 2014-05-30 2017-03-14 Excalibur Ip, Llc Systems and methods for advertising using sponsored verbs and contexts
US20160048875A1 (en) * 2014-08-12 2016-02-18 Yahoo! Inc. Entity based search advertising within a modular search object framework
US10289961B2 (en) * 2014-11-24 2019-05-14 International Business Machines Corporation Presenting anticipated user search query results prompted by a trigger
GB201511887D0 (en) * 2015-07-07 2015-08-19 Touchtype Ltd Improved artificial neural network for language modelling and prediction
CN106484681B (zh) * 2015-08-25 2019-07-09 阿里巴巴集团控股有限公司 一种生成候选译文的方法、装置及电子设备
US10332508B1 (en) * 2016-03-31 2019-06-25 Amazon Technologies, Inc. Confidence checking for speech processing and query answering
CN107766319B (zh) * 2016-08-19 2021-05-18 华为技术有限公司 序列转换方法及装置
US20180052824A1 (en) * 2016-08-19 2018-02-22 Microsoft Technology Licensing, Llc Task identification and completion based on natural language query
JP6636482B2 (ja) * 2016-08-30 2020-01-29 Necパーソナルコンピュータ株式会社 サーバ装置、サーバ装置の処理方法、及びプログラム
US20180107682A1 (en) * 2016-10-16 2018-04-19 Ebay Inc. Category prediction from semantic image clustering
US20180113919A1 (en) * 2016-10-24 2018-04-26 Google Llc Graphical user interface rendering predicted query results to unstructured queries
US11182840B2 (en) * 2016-11-18 2021-11-23 Walmart Apollo, Llc Systems and methods for mapping a predicted entity to a product based on an online query
US9852177B1 (en) * 2016-12-13 2017-12-26 Kami Intelligence Ltd System and method for generating automated response to an input query received from a user in a human-machine interaction environment
US10474709B2 (en) * 2017-04-14 2019-11-12 Salesforce.Com, Inc. Deep reinforced model for abstractive summarization
GB201713746D0 (en) * 2017-08-25 2017-10-11 Digital Genius Ltd Determining if an action can be performed based on a dialogue
CN117312494A (zh) * 2017-04-29 2023-12-29 谷歌有限责任公司 使用经过训练的生成模型生成查询变体
US10282416B2 (en) * 2017-05-05 2019-05-07 Apple Inc. Unified framework for text conversion and prediction
US10747761B2 (en) * 2017-05-18 2020-08-18 Salesforce.Com, Inc. Neural network based translation of natural language queries to database queries
US10268646B2 (en) * 2017-06-06 2019-04-23 Facebook, Inc. Tensor-based deep relevance model for search on online social networks
US10614061B2 (en) * 2017-06-28 2020-04-07 Salesforce.Com, Inc. Predicting user intent based on entity-type search indexes
US20190034549A1 (en) * 2017-07-25 2019-01-31 Cake Technologies, Inc. Dynamic user agent strings
US10642846B2 (en) * 2017-10-13 2020-05-05 Microsoft Technology Licensing, Llc Using a generative adversarial network for query-keyword matching
US11200506B2 (en) * 2017-12-15 2021-12-14 Microsoft Technology Licensing, Llc Chatbot integrating derived user intent
US11544374B2 (en) * 2018-05-07 2023-01-03 Micro Focus Llc Machine learning-based security threat investigation guidance

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003228569A (ja) 2002-02-04 2003-08-15 Nippon Telegraph & Telephone East Corp メタデータ付与方法およびメタデータ付与装置
JP2009157442A (ja) * 2007-12-25 2009-07-16 Toshiba Corp データ検索装置および方法
JP2010271903A (ja) * 2009-05-21 2010-12-02 Seiko Epson Corp 画像処理方法及び装置、並びに、そのためのコンピュータープログラム
WO2015140922A1 (ja) * 2014-03-18 2015-09-24 楽天株式会社 情報処理システム、情報処理方法、および情報処理プログラム
JP2018032304A (ja) * 2016-08-26 2018-03-01 ヤフー株式会社 情報解析装置、情報解析方法、および情報解析プログラム

Non-Patent Citations (1)

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

Also Published As

Publication number Publication date
EP3731108A4 (en) 2020-11-18
US20210056149A1 (en) 2021-02-25
EP3731108A1 (en) 2020-10-28
JPWO2019176102A1 (ja) 2020-04-16
JP6560843B1 (ja) 2019-08-14

Similar Documents

Publication Publication Date Title
JP6560843B1 (ja) 検索システム、検索方法、及びプログラム
WO2023108980A1 (zh) 基于文本对抗样例的信息推送方法及装置
TWI557664B (zh) Product information publishing method and device
US10180979B2 (en) System and method for generating suggestions by a search engine in response to search queries
CN107122469B (zh) 基于语义相似度与时效性频率的查询推荐排序方法与装置
WO2022142519A1 (zh) 信息推荐方法、装置、电子设备和存储介质
Dave et al. Computational advertising: Techniques for targeting relevant ads
CN113468422B (zh) 搜索方法、装置、电子设备及存储介质
CN116089745B (zh) 信息推荐方法、装置、电子设备及计算机可读存储介质
WO2021129122A1 (zh) 书籍查询页面的展示方法、电子设备及计算机存储介质
US11392589B2 (en) Multi-vertical entity-based search system
CN119322831A (zh) 基于ai的生成式问答方法及装置
CN115470410A (zh) 预测用户兴趣信息的模型处理方法、电子设备及存储介质
WO2016162843A1 (en) Processing a search query and retrieving targeted records from a networked database system
CN110162609B (zh) 用于向用户推荐咨询问题的方法及装置
KR102451020B1 (ko) 웹 크롤링 기능을 이용한 기업용 지능형 콘텐츠 큐레이션 방법
CN112035740B (zh) 项目使用时长预测方法、装置、设备及存储介质
WO2023079703A1 (ja) 処理実行システム、処理実行方法、及びプログラム
JP7703623B2 (ja) システム、方法、及びプログラム
CN119180693A (zh) 一种基于隐匿认证的实时智能推荐的商品推送方法及系统
US10031970B1 (en) Search engine optimization in social question and answer systems
CN118735627A (zh) 对象推荐方法、装置、设备和介质
JP7598901B2 (ja) クエリ整形システム、クエリ整形方法、及びプログラム
CN113392310B (zh) 一种数据处理方法、装置、设备及介质
JP2021012645A (ja) 情報処理装置、情報処理方法および情報処理プログラム

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2019515557

Country of ref document: JP

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 2018909311

Country of ref document: EP

Effective date: 20200723

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

Ref document number: 18909311

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE