WO2023079769A1 - 処理実行システム、処理実行方法、及びプログラム - Google Patents

処理実行システム、処理実行方法、及びプログラム Download PDF

Info

Publication number
WO2023079769A1
WO2023079769A1 PCT/JP2022/003988 JP2022003988W WO2023079769A1 WO 2023079769 A1 WO2023079769 A1 WO 2023079769A1 JP 2022003988 W JP2022003988 W JP 2022003988W WO 2023079769 A1 WO2023079769 A1 WO 2023079769A1
Authority
WO
WIPO (PCT)
Prior art keywords
classification information
data
model
effectiveness
estimation
Prior art date
Application number
PCT/JP2022/003988
Other languages
English (en)
French (fr)
Inventor
力 橋本
Original Assignee
楽天グループ株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 楽天グループ株式会社 filed Critical 楽天グループ株式会社
Priority to EP22889595.9A priority Critical patent/EP4287040A1/en
Priority to US18/548,337 priority patent/US20240143701A1/en
Priority to JP2023511824A priority patent/JP7316477B1/ja
Publication of WO2023079769A1 publication Critical patent/WO2023079769A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2415Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/906Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent

Definitions

  • the present disclosure relates to a processing execution system, a processing execution method, and a program.
  • Patent Literature 1 describes a technique of providing useful information to a user who has entered a search query by using a model that outputs estimated results of classification of keywords included in the search query.
  • a domain indicating the type of search result, the type of search, the type of search target, or the like is listed as the output of the model.
  • One of the purposes of the present disclosure is to obtain desired results even when the accuracy of the model is insufficient due to insufficient training data.
  • a process execution system provides a first data class related to classification of second data based on a first model in which a relationship between first data and first classification information related to classification of the first data is learned.
  • a second classification information acquisition unit that acquires two classification information; an effectiveness estimation unit that estimates effectiveness of a combination of the second data and the second classification information based on a predetermined estimation method; and an execution unit that executes a predetermined process based on the estimation result.
  • FIG. 10 is a diagram showing an example of how a search is executed from a portal page;
  • FIG. It is a figure which shows the outline
  • 3 is a functional block diagram showing an example of functions implemented by the processing execution system;
  • FIG. It is a figure which shows an example of a page database.
  • FIG. 4 is a flow chart showing an example of processing executed by the processing execution system;
  • FIG. 21 is a diagram showing an example of functional blocks of modification 8;
  • FIG. 21 is a diagram showing an outline of processing executed in modification 8;
  • FIG. 1 is a diagram showing an example of the overall configuration of a processing execution system.
  • Network N is any network such as the Internet or a LAN.
  • the processing execution system S only needs to include at least one computer, and is not limited to the example in FIG.
  • the search server 10 is a server computer.
  • Control unit 11 includes at least one processor.
  • the storage unit 12 includes a volatile memory such as RAM and a nonvolatile memory such as a hard disk.
  • the communication unit 13 includes at least one of a communication interface for wired communication and a communication interface for wireless communication.
  • the learning server 20 is a server computer. Physical configurations of the control unit 21, the storage unit 22, and the communication unit 23 are the same as those of the control unit 11, the storage unit 12, and the communication unit 13, respectively.
  • the searcher terminal 30 is the computer of the searcher who is the user who inputs the search query.
  • the searcher terminal 30 is a personal computer, smart phone, tablet terminal, or wearable terminal.
  • Physical configurations of the control unit 31, the storage unit 32, and the communication unit 33 are the same as those of the control unit 11, the storage unit 12, and the communication unit 13, respectively.
  • the operation unit 34 is an input device such as a touch panel or mouse.
  • the display unit 35 is a liquid crystal display or an organic EL display.
  • the creator terminal 40 is the computer of the creator who creates the data to be searched.
  • creator terminal 40 is a personal computer, a smart phone, a tablet terminal, or a wearable terminal.
  • the physical configurations of the control unit 41, the storage unit 42, the communication unit 43, the operation unit 44, and the display unit 45 are the same as those of the control unit 11, the storage unit 12, the communication unit 13, the operation unit 34, and the display unit 35, respectively. be.
  • each computer has a reading unit (for example, a memory card slot) for reading a computer-readable information storage medium, and an input/output unit (for example, a USB port) for inputting/outputting data with an external device. At least one may be included.
  • a program or data stored in an information storage medium may be supplied via at least one of the reading section and the input/output section.
  • FIG. 1 A case where the processing execution system S is applied to a web page search service will be taken as an example.
  • a creator creates a web page and uploads it to the search server 10 or another server computer.
  • the searcher searches for web pages using the browser of the searcher terminal 30 .
  • the portal page of the search service is displayed on the display unit 35 .
  • FIG. 2 is a diagram showing an example of how a search is executed from a portal page.
  • the searcher enters a search query into the input form F10 on the portal page P1.
  • the search server 10 executes web page search processing based on this search query.
  • the display unit 35 of the searcher terminal 30 displays a search result page P2 showing search results corresponding to the search query input by the searcher.
  • a searcher enters a search query with some intention and uses the search service.
  • a search query such as "CG bag Zebra” is entered.
  • the searcher intends to search for "computer graphics with a zebra-patterned bag”. If the intention of a searcher can be estimated, it is very useful because it can be used for marketing in search services and can improve the accuracy of search results.
  • the intent of the searcher is estimated based on a model using machine learning.
  • the model for estimating the intent of the searcher will be referred to as the first model.
  • the first model may be supervised learning, semi-supervised learning, or unsupervised learning.
  • the first model may be a neural network.
  • the first model learns the relationship between the title of the web page and the attributes and attribute values of the web page.
  • the title is the string displayed in the browser's title bar.
  • the title includes keywords that indicate the content of the web page.
  • the title is used as an index for searching.
  • the creator inputs the title, but the title may be automatically extracted from the character string included in the web page, or may be input by the administrator of the search service.
  • the attribute of a web page is the classification of the web page.
  • Web page attributes can also be referred to as web page types, categories, or genres. Attributes are represented by letters, numbers, other symbols, or combinations thereof. Any attribute can be used as long as the web page can be classified from a predetermined point of view, and the attribute can be set from any point of view. For example, a web page that provides images of free material is associated with the attribute "Image”. For example, a web page that provides documents such as news articles is associated with the attribute "Document”.
  • the attribute value of a web page is the specific value of the attribute. Attributes are associated with at least one attribute value. A web page is associated with at least one of the attribute values associated with the attribute. Attribute values are represented by letters, numbers, other symbols, or combinations thereof.
  • the attribute value may be any value that defines the details of the attribute from a predetermined point of view, and the attribute value can be set from any point of view.
  • the attribute value "Image” is associated with the attribute value "Computer Graphic” and the attribute value "Photograph”
  • the attribute value "Computer Graphic” or the attribute value " Photography” is associated.
  • the attribute value "Document” is associated with the attribute value "News” and the attribute value "Advertisement”
  • the attribute value "News” or the attribute value "Advertisement” is displayed on the web page of the attribute "Document”. associated with any of
  • Creators create web pages with some intention. For example, a web page with an attribute "Image” and an attribute value "Computer Graphic” is created with the intention of distributing computer graphic images. For example, a web page with an attribute "Document” and an attribute value "News” is created with the intention of distributing news article documents.
  • the author's intentions are believed to be expressed in the titles, attributes, and attribute values of web pages. Therefore, the relationship between the title of the web page and the attributes and attribute values of the web page is considered to be similar to the relationship between the search query input by the searcher and the intention of the searcher.
  • a first model is used, which is trained on the relationship between the title of the web page and the attributes and attribute values of the web page as training data.
  • a search query is input to the first model as information corresponding to the title of the web page.
  • the first model outputs a searcher's intent as information corresponding to web page attributes and attribute values.
  • the processing execution system S of the present embodiment even when the accuracy of the first model is not sufficient due to insufficient training data, it is possible to accurately estimate the intent of the searcher. .
  • FIG. 3 is a diagram showing an overview of the processing execution system S.
  • the page database DB1 stores web page titles, web page attributes, and attribute values in association with each other. These pairs are learned into the first model M1 as training data. Search queries input in the past are stored in the search query database DB2. In this embodiment, the intent of the searcher who entered this search query is estimated.
  • the first model M1 estimates attributes and attribute values as the intent of the searcher.
  • the search query "CG bag Zebra" of FIG. 2 is input to the first model M1.
  • the first model M1 has the attribute value "Computer Graphic” of the attribute "Image”, the attribute value "Republic of the Congo” of the attribute “Nation”, and the attribute value "Zebra” of the attribute "Pattern” as the intent of the searcher. Output three estimation results.
  • the intent of the searcher who entered the search query in Figure 3 is to search for "computer graphics with a zebra-patterned bag". This intention is expressed in the attribute value "Computer Graphic” of the attribute "Image” and the attribute value "Zebra” of the attribute "Pattern” among the three estimation results output by the first model M1.
  • the attribute value "Republic of the Congo” of the attribute "Nation” does not represent the user's intention.
  • the accuracy of the first model M1 is insufficient due to insufficient training data, such an inappropriate estimation result may be output. This is probably because the first model M1 has learned for some reason that the character string "CG", which is part of the search query, is the country code of the Republic of the Congo.
  • a second model M2 is prepared for removing inappropriate estimation results.
  • the second model M2 is a model using machine learning.
  • Various machine learning techniques are available for the second model M2.
  • the second model M2 may be supervised learning, semi-supervised learning, or unsupervised learning.
  • the second model may be a neural network.
  • the second model M2 receives a pair of a search query and a searcher's intention (that is, a pair of a search query input to the first model M1 and an estimation result output from the first model M1). then print the validity of this pair.
  • the second model M2 has the attribute value "Computer Graphic” of the attribute "Image” and the attribute value “Zebra” of the attribute "Pattern” among the three estimation results output by the first model M1. , is assumed to be valid.
  • the second model M2 estimates that among the three estimation results output by the first model M1, the attribute value "Republic of the Congo” of the attribute "Nation” is not valid.
  • training data for the first model M1 is generated based on the estimation result of the second model M2.
  • training data including a pair of the search query "CG bag Zebra” and the attribute value "Computer Graphic” of the attribute "Image”, the search query "CG bag Zebra”, and the attribute "Pattern and training data including the pair of the attribute value "Zebra” of These two training data are learned in the first model M1.
  • the processing execution system S estimates the intent of the searcher who entered the search query based on the first model M1. Based on the second model M2, the processing execution system S eliminates invalid estimation results from the estimation results of the first model M1, and generates training data of the first model M1. The processing execution system S causes the first model M1 to learn this training data. This increases the accuracy of the first model M1 even if the training data stored in the page database DB1 is not sufficient. It is also possible to save the trouble of creating training data for the first model M1.
  • details of the processing execution system S will be described.
  • FIG. 4 is a functional block diagram showing an example of functions realized by the process execution system S. As shown in FIG.
  • the data storage unit 100 is realized mainly by the storage unit 12 .
  • the search unit 101 is implemented mainly by the control unit 11 .
  • the data storage unit 100 stores data necessary for providing search services.
  • the data storage unit 100 stores a database in which web page indexes and web page URLs are associated and stored.
  • An index is information to be compared with a search query. Any information can be used as an index.
  • the title of the web page, attributes and attribute values of the web page, arbitrary keywords included in the web page, or a combination thereof are used as the index.
  • the data storage unit 100 stores data (for example, HTML data) for displaying the portal page P1 and the search result page P2.
  • the data storage unit 100 may store a history of search queries input in the past, or may store query selection data described later.
  • the search unit 101 executes search processing based on a search query input by a searcher.
  • Various search engines can be applied to the search process itself.
  • the search unit 101 calculates the search score of the web page based on the search query input by the searcher and the web page index stored in the data storage unit 100 .
  • a search score indicates the degree of matching between a search query and an index.
  • calculation methods employed by various search engines can be applied.
  • the search unit 101 selects a predetermined number of web pages in descending order of search score, and generates a search result page P2 including links to the selected web pages.
  • the search unit 101 transmits data of the search result page P ⁇ b>2 to the searcher terminal 30 .
  • the search unit 101 Upon receiving the selection result by the searcher from the searcher terminal 30, the search unit 101 causes the searcher terminal 30 to access the web page corresponding to the link selected by the searcher.
  • the search unit 101 records in the data storage unit 100 the relationship between the search query input by the searcher and the web page corresponding to the link selected by the searcher. This relationship corresponds to query selection data described later.
  • the data storage unit 200 is implemented mainly by the storage unit 22 .
  • the first learning unit 201, the second classification information acquisition unit 202, the candidate generation unit 203, the third classification information acquisition unit 204, the second learning unit 205, the effectiveness estimation unit 206, and the execution unit 207 are each controlled by the control unit 21. is mainly realized.
  • the data storage unit 200 stores data required for the processing described with reference to FIG.
  • the data storage unit 200 stores a page database DB1, a search query database DB2, a training database DB3, a query selection database DB4, a first model M1, and a second model M2.
  • FIG. 5 is a diagram showing an example of the page database DB1.
  • the page database DB1 is a database that stores information about web pages.
  • the page database DB1 stores web page titles, web page attributes, and attribute values in association with each other.
  • the learning server 20 acquires pairs of web page titles, web page attributes, and attribute values from the search server 10 or other servers to which the creator has uploaded the web pages, and is stored in the page database DB1.
  • the pairs stored in the page database DB1 are used as training data for the first model M1.
  • This training data is used to generate an initial first model M1, which will be described later.
  • the training data for the first model M1 includes pairs of input and output parts.
  • the input portion of the training data for the first model M1 is in the same form as the data that is actually input to the first model M1.
  • the input portion of the training data of the first model M1 is a character string.
  • the output portion of the training data of the first model M1 is in the same form as the data that is actually output from the first model M1.
  • a combination of a character string indicating an attribute and a character string indicating an attribute value is output from the first model M1. including.
  • FIG. 6 is a diagram showing an example of the search query database DB2.
  • the search query database DB2 is a database in which search queries input in the past are stored.
  • the search server 10 executes search processing based on the search query input by the searcher, the search server 10 transmits the search query to the learning server 20 .
  • the learning server 20 stores the search query received from the search server 10 in the search query database DB2.
  • FIG. 7 is a diagram showing an example of the training database DB3.
  • the training database DB3 is a database storing training data of the first model M1. This training data is generated by the execution unit 207, which will be described later. This training data is used to improve the accuracy of the initial first model M1, which will be described later.
  • the format of the training data stored in the training database DB3 is the same format as the training data stored in the page database DB1. However, although the format of these training data is the same, the specific contents indicated by these training data are different from each other.
  • the input part of the training data stored in the page database DB1 is a character string indicating the title of the web page
  • the input part of the training data stored in the training database DB3 is a character string indicating the search query. is.
  • the output portion of the training data stored in the page database DB1 is a character string representing each of the web page attributes and attribute values
  • the output portion of the training data stored in the training database DB3 is a search A character string indicating the intent of the author.
  • FIG. 8 is a diagram showing an example of the query selection database DB4.
  • the query selection database DB4 is a database that stores query selection data.
  • Query selection data is data indicating selection results for a search query.
  • Query selection data is sometimes referred to as query click logs.
  • the query selection database DB4 stores search queries and page information in association with each other.
  • Page information is information about web pages. This web page is the web page indicated by the link selected on the search result page P2 by the searcher who entered the search query. Since this web page is actually selected by the searcher, it can be said that the web page matches the intention of the searcher.
  • page information includes the web page title, attributes, and attribute values.
  • the page information may include arbitrary information, and may include, for example, the URL of the web page and the viewing date and time.
  • the data storage unit 200 stores the learned first model M1.
  • the first model M1 includes a program part for executing processing such as convolution and a parameter part such as weights.
  • the first model M1 is a multi-label model.
  • a multi-label model can estimate multiple classifications for input data.
  • the first model M1 learns the relationship between the title of the web page and the attributes and attribute values of the web page.
  • the title of the web page is an example of the first data. Therefore, the part describing the title of the web page can be read as the first data.
  • the first data is the input portion of the training data for the initial first model M1.
  • the initial first model M1 is the first model M1 before the training data generated by the execution unit 207 is learned.
  • the page database DB1 is used to generate initial training data for the first model M1, so the first data is the title of the web page stored in the page database DB1.
  • the first data may be data that can be used for learning the first model M1, and is not limited to the web page title.
  • the first data may be a character string other than the title included in the web page, a keyword used as an index of the web page, or a summary created from the web page.
  • the first data may not be the character string itself, but may be a feature quantity indicating some characteristic of the character string.
  • the first data may be in any format and is not limited to character strings.
  • the first data may be image data, moving image data, document data, or any other data.
  • the first data may be data called content.
  • Web page attributes and attribute values are an example of the first classification information. Therefore, the description of the web page attributes and attribute values can be read as the first classification information.
  • the first classification information is information relating to the classification of the first data.
  • the first classification information is the output part of the initial training data of the first model M1.
  • the initial training data of the first model M1 is generated using the page database DB1, so the first classification information is the attributes and attribute values stored in the page database DB1.
  • the first data and the first classification information are data used as indexes during searches.
  • the first classification information may be information that can be used for learning the first model M1, and is not limited to web page attributes and attribute values.
  • the first classification information may indicate either the attribute or the attribute value of the web page.
  • the first classification information may be in any format and is not limited to character strings.
  • the first classification information may be information such as an ID or number that can uniquely identify the classification.
  • each attribute/attribute value pair corresponds to the first classification information. Therefore, a plurality of pieces of first classification information may be associated with one piece of first data.
  • a plurality of attribute and attribute value pairs may be treated as one piece of first classification information. In this case, one piece of first classification information is associated with one piece of first data.
  • the relationship between the first data and the first classification information acquired based on the page database DB1 containing the candidates for the first data and the candidates for the first classification information. be learned.
  • the page database DB1 is an example of a first database. Therefore, the description of the page database DB can be read as the first database.
  • the first database is a database that stores data that are candidates for initial training data of the first model M1. All or part of the data in the first database is used as initial training data for the first model M1.
  • the data storage unit 200 stores the learned second model M2.
  • the second model M2 includes a program portion for executing processing such as convolution and a parameter portion such as weights.
  • the second model M2 outputs information indicating whether it is valid (either a first value indicating valid or a second value indicating not valid).
  • the second model M2 may output a score indicating effectiveness. That is, the output of the second model M2 may be information having an intermediate value such as a score instead of binary information such as whether or not it is valid.
  • the relationship between combinations of search queries, attributes and attribute values, and effectiveness of the combinations is learned in the second model M2.
  • a search query associated with attributes and attribute values is an example of third data. Therefore, the part describing the search query associated with the attribute and the attribute value can be read as the third data.
  • the third data is the input portion of the training data for the second model M2.
  • the training data for the second model M2 is generated using the query selection database DB4, so the search query stored in the query selection database DB4 corresponds to the third data.
  • the initial estimation result of the first model M1 is also used in the learning of the second model M2, so the initial search query input to the first model M1 also corresponds to the third data.
  • the third data is not limited to search queries as long as it can be used for learning the second model M2.
  • the third data may be a web page title, a character string other than the title included in the web page, a keyword used as an index of the web page, or a summary created from the web page.
  • the third data may not be the character string itself, but may be a feature quantity indicating some characteristic of the character string.
  • the third data may be in any format and is not limited to character strings.
  • the third data may be image data, moving image data, document data, or any other data.
  • the third data may be data called content.
  • Attributes and attribute values associated with search queries are an example of third classification information. Therefore, the description of the attributes and attribute values associated with the search query can be read as the third classification information.
  • the third classification information is information regarding the classification of the third data.
  • the third classification information is the output part of the training data of the second model M2.
  • the query selection database DB4 is used to generate training data for the second model M2, so the attributes and attribute values stored in the query selection database DB4 correspond to the third classification information.
  • the initial estimation results of the first model M1 are also used in the learning of the second model M2, so the attributes and attribute values estimated by the initial first model M1 also correspond to the third classification information. .
  • the third classification information may be information that can be used for learning the second model M2, and is not limited to the attributes and attribute values associated with the search query.
  • the third classification information may indicate only attributes or attribute values associated with the search query.
  • the third classification information may be in any format and is not limited to character strings.
  • the third classification information may be information such as an ID or number that can uniquely identify the classification.
  • each attribute/attribute value pair corresponds to the third classification information. Therefore, a plurality of pieces of third classification information may be associated with one piece of third data.
  • a plurality of attribute/attribute value pairs may be treated as one piece of third classification information. In this case, one piece of third classification information is associated with one piece of third data.
  • the second model M2 learns the relationship between the combination of the third data and the third classification information and the validity indicating that the combination is valid.
  • the second model M2 includes a query selection database DB4 including third data candidates and third classification information candidates, and the third data obtained based on the query selection database DB4, The relationship between the third classification information and the is learned.
  • the query selection database DB4 is an example of a second database. Therefore, the description of the query selection database DB4 can be read as the second database.
  • the second database is a database that stores candidate data for the training data of the second model M2. All or part of the data in the second database is used as training data for the second model M2.
  • the second database is a database from a different viewpoint than the first database.
  • a viewpoint is a specific content of data used as training data. Different types of data are used for the input portion included in the training data for the first model M1 and the input portion included in the training data for the second model M2.
  • the input part included in the training data of the first model M1 is the web page title
  • the input part included in the training data of the second model M2 is the search query.
  • a web page title and a search query are the same in terms of character strings, but differ in specific content.
  • the first learning unit 201 executes learning processing of the first model M1.
  • the data stored in the page database DB1 is used as training data for the first model M1, so the first learning unit 201 executes learning processing for the first model M1 based on this training data.
  • the first learning unit 201 outputs the attributes and attribute values, which are the output portion of the training data, when the title of the web page, which is the input portion of the training data, is input. Execute the learning process.
  • Various algorithms can be used for the learning process itself of the first model M1, for example, the error backpropagation method or the gradient descent method can be used.
  • the second classification information acquisition unit 202 acquires the attributes and attribute values of the search query (that is, the searcher intent estimation result).
  • a search query that is not associated with attributes and attribute values is an example of second data. Therefore, the description of a search query that is not associated with attributes and attribute values can be read as second data.
  • the second data is data input to the first model M1.
  • the second data has the same format as the first data.
  • search queries that are not associated with attributes and attribute values are stored in the search query database DB2, so the search queries stored in the search query database DB2 correspond to second data. That is, the second data is the search query input by the user.
  • the second data is not limited to a search query as long as it is data to be estimated by the first model M1.
  • the second data when estimating the intention of the creator instead of the intention of the searcher, includes the title of the web page, a character string other than the title contained in the web page, the keyword used as the index of the web page, Or it may be a summary created from a web page.
  • the second data may not be the character string itself, but may be a feature quantity indicating some characteristic of the character string.
  • the second data may be in any format and is not limited to character strings.
  • the second data may be image data, moving image data, document data, or any other data.
  • the second data may be data called content.
  • Attributes and attribute values estimated for search queries are an example of second classification information. Therefore, the description of attributes and attribute values estimated for a search query can be read as second classification information.
  • the second classification information is information relating to the classification of the second data.
  • the second data is a search query, so the second classification information is information about the classification of the search query.
  • the second classification information is information regarding the intention of the user to input the search query.
  • the second classification information is attributes and attribute values estimated by the first model M1.
  • the effectiveness is estimated by the second model M2, so the attributes and attribute values whose effectiveness is estimated by the second model M2 correspond to the second classification information.
  • the second classification information may be any information indicating the estimation result of the first model M1, and is not limited to the attributes and attribute values of the search query.
  • the second classification information may indicate either the attribute or the attribute value of the search query.
  • the second classification information may be in any format and is not limited to character strings.
  • the second classification information may be information such as an ID or number that can uniquely identify the classification. In this embodiment, a case will be described in which each attribute/attribute value pair corresponds to the second classification information. Therefore, a plurality of pieces of second classification information may be associated with one piece of second data. A plurality of attribute and attribute value pairs may be treated as one piece of second classification information. In this case, one piece of second classification information is associated with one piece of second data.
  • the second classification information acquisition unit 202 inputs the search query stored in the search query database DB2 to the first model M1 as the second data.
  • the first model M1 calculates the feature quantity of this search query, and outputs attributes and attribute values according to the feature quantity as estimation results.
  • the second classification information acquisition unit 202 acquires the attributes and attribute values output from the first model M1 as second classification information.
  • the second classification information acquisition unit 202 acquires a plurality of attributes and attribute values based on the first model M1. Even if the first model M1 supports multi-labels, only one attribute and one attribute value may be estimated.
  • the calculation of the feature amount required for the processing of the first model M1 is performed within the first model M1.
  • the second data is input to the first model M1 as it is will be described. Then, it may be input to the first model M1. That is, the second data may not be directly input to the first model M1, but may be input to the first model M1 after some processing is performed on the second data.
  • the candidate generation unit 203 generates candidates for a search query as third data and attributes and attribute values as third classification information based on each of a plurality of generation methods.
  • a candidate is data or information that can be the third data or the third classification information.
  • two generation methods, a generation method using the query selection database DB4 and a generation method using the initial first model M1 are taken as examples.
  • the candidate generator 203 may generate candidates based on only one of these two generation methods.
  • FIG. 9 is a diagram showing an example of a method of generating training data for the second model M2.
  • the candidate generation unit 203 acquires the search query stored in the query selection database DB4 and the attributes and attribute values of the web page selected by the searcher who entered the search query as candidates C1.
  • the candidate generation unit 203 inputs the search query stored in the search query database DB2 to the initial first model M1, acquires the attributes and attribute values output from the initial first model M1, and generates candidates C2 to get
  • Candidates C3 generated by a plurality of generation methods are learned in the second model M2 as third data and third classification information.
  • the candidate C3 acquired by both the generation method using the query selection database DB4 and the generation method using the initial first model M1 is learned by the second model M2.
  • Candidate C3 is the AND of candidate C1 and candidate C2. Candidates obtained by either the generation method using the query selection database DB4 or the generation method using the initial first model M1 are not learned by the second model M2.
  • the third classification information acquisition unit 204 acquires attributes and attribute values, which are third classification information, based on the search query, which is third data, and the first model M1.
  • This first model M1 is the initial first model M1.
  • the third classification information acquisition unit 204 inputs the search query stored in the query selection database DB4 to the initial first model M1.
  • the initial first model M1 calculates the feature amount of this search query, and outputs attributes and attribute values according to the feature amount as estimation results.
  • the process itself of the first model M1 for acquiring the attributes and attribute values as the third classification information is the process for acquiring the attributes and attribute values as the second classification information (the function of the second classification information acquisition unit 202 ) is the same as the processing described in
  • the attributes and attribute values acquired by the third classification information acquisition unit 204 are candidate C2 in FIG.
  • candidates C2 that also appear in candidate C1 are training data for the second model M2, but candidate C2 may be training data for the second model M2 regardless of candidate C1. That is, the attributes and attribute values acquired by the third classification information acquisition unit 204 may be used as they are as training data for the second model M2.
  • candidate C1 may be the training data for the second model M2, regardless of candidate C2.
  • the second learning unit 205 executes learning processing of the second model M2.
  • the data stored in the training database DB3 is used as training data for the second model M2, so the second learning unit 205 executes the learning process for the second model M2 based on this training data.
  • the second learning unit 205 outputs the effectiveness of the combination.
  • Various algorithms can be used for the learning process itself of the second model M2, for example, the error backpropagation method or the gradient descent method can be used.
  • the validity estimation unit 206 estimates the validity of a combination of a search query that is second data and attributes and attribute values that are second classification information based on a predetermined estimation method. Effectiveness is whether or not the processing of the execution unit 207 is effective, or the degree of effectiveness for the processing of the execution unit 207 .
  • the execution unit 207 executes training data generation processing, so whether or not the combination is suitable as training data or the degree of suitability as training data corresponds to effectiveness. Effectiveness can also be said to be aptitude in the processing of the execution unit 207 .
  • the effectiveness estimation unit 206 will describe a case where determining whether the combination is effective corresponds to estimating effectiveness. may be equivalent to estimating effectiveness. Scores indicate high effectiveness. The score may be expressed numerically, or may be expressed by letters such as S rank, A rank, B rank, or other symbols.
  • the effectiveness estimation unit 206 estimates effectiveness based on the second model M2.
  • the effectiveness estimation unit 206 estimates effectiveness for each attribute and attribute value. For example, for each attribute and attribute value, the effectiveness estimating unit 206 inputs the combination of the search query and the attribute and the attribute value to the second model M2, and uses the effectiveness estimation result output from the second model M2 as get.
  • the effectiveness estimating unit 206 inputs a first combination, which is a combination of the search query "CG bag Zebra” and the attribute value "Computer Graphic” of the attribute "Image”, into the second model M2. Obtain the estimated effectiveness of the first combination output from the model M2. In the example of FIG. 3, this estimation result indicates that the first combination is effective.
  • the effectiveness estimation unit 206 inputs a second combination of the search query "CG bag Zebra” and the attribute value "Republic of the Congo” of the attribute "Nation” into the second model M2, Obtain the estimated effectiveness of the second combination output from the second model M2. In the example of FIG. 3, this estimation result indicates that the second combination is not valid.
  • the effectiveness estimating unit 206 inputs a third combination, which is a combination of the search query "CG bag Zebra” and the attribute value "Zebra" of the attribute "Pattern", to the second model M2. Obtain the estimated effectiveness of the third combination output from M2. In the example of FIG. 3, this estimation result indicates that the third combination is effective.
  • the estimation method of the effectiveness estimation unit 206 is a method using query selection data that indicates the relationship between search queries input in the past and selection results for search results based on the search queries.
  • the effectiveness estimation unit 206 estimates effectiveness based on the query selection data.
  • estimating the effectiveness based on the second model M2 means estimating the effectiveness based on the query selection data. corresponds to
  • the estimation method of the effectiveness estimation unit 206 is not limited to the method using the second model M2.
  • the effectiveness estimation unit 206 may estimate effectiveness based on a predetermined rule-based estimation method instead of a machine learning method.
  • a rule for outputting validity when a combination of a search query as second data and an attribute and an attribute value as second classification information is input is prepared in advance.
  • the rules may be like decision trees.
  • Other estimation methods may be rule-based or statistical-based estimation methods such as modified examples described later.
  • the execution unit 207 executes predetermined processing based on the effectiveness estimation result by the effectiveness estimation unit 206 .
  • the execution unit 207 based on the combination of the search query that is the second data and the attribute and the attribute value that are the second classification information, and the effectiveness estimation result of the effectiveness estimation unit 206, As a predetermined process, a generation process is executed to generate training data to be learned by the first model M1. Generation processing is an example of predetermined processing. Therefore, the part describing the generation process can be read as the predetermined process.
  • the predetermined process may be any process and is not limited to the generation process. Other examples of the predetermined processing will be described in modified examples below.
  • the execution unit 207 sets a pair of a search query whose effectiveness is estimated by the effectiveness estimation unit 206 and an attribute and an attribute value for which an estimation result indicating effectiveness is obtained as training data.
  • the generation process is executed by storing the A pair of a search query whose effectiveness is estimated by the effectiveness estimation unit 206 and an attribute and an attribute value for which an estimation result that does not indicate effectiveness is not generated as training data.
  • the execution unit 207 executes generation processing based on the validity of each attribute and attribute value. For example, the execution unit 207 generates training data only for attributes and attribute values for which estimation results indicating that they are effective have been obtained, among a plurality of attributes and attribute values. Of the plurality of attributes and attribute values, attributes and attribute values for which estimation results that do not indicate validity are not generated as training data.
  • Data storage unit 300 is realized mainly by storage unit 32 .
  • the display control unit 301 and the reception unit 302 are realized mainly by the control unit 31 .
  • the data storage unit 300 stores data necessary for searching.
  • the data storage unit 300 stores a browser for displaying the portal page P1 and the search result page P2.
  • the screen displayed on the retriever terminal 30 may use another application instead of the browser. In this case, the data storage unit 300 stores the application.
  • the display control unit 301 causes the display unit 35 to display various screens. For example, when receiving data of the portal page P1 from the search server 10, the display control unit 301 causes the display unit 35 to display the portal page P1. When the data of the search result page P2 is received from the search server 10, the display control unit 301 causes the display unit 35 to display the search result page P2.
  • the reception unit 302 receives various operations from the operation unit 34. For example, the reception unit 302 receives input of a search query for the input form F10 of the portal page P1. The searcher terminal 30 transmits the input search query to the search server 10 . For example, the reception unit 302 receives selection of a link included in the search results indicated by the search result page P2. The searcher terminal 30 transmits the selected link to the search server 10 .
  • Data storage unit 400 is realized mainly by storage unit 32 .
  • Each of the display control unit 401 and the reception unit 402 is implemented mainly by the control unit 41 .
  • the data storage unit 400 stores applications for creating web pages.
  • the display control unit 401 causes the display unit 45 to display various screens. For example, the display control unit 401 displays an application screen for creating a web page.
  • a reception unit 402 receives various operations from the operation unit 44 . For example, the accepting unit 402 accepts an operation of creating a web page by a creator, or an operation of specifying the title, attributes, and attribute values of the web page.
  • FIG. 10 is a flow diagram showing an example of processing executed by the processing execution system S. As shown in FIG. In FIG. 10, the processing executed by the learning server 20 among the processing executed by the processing execution system S will be described. This processing is executed by the control unit 21 operating according to the program stored in the storage unit 22 .
  • the learning server 20 executes learning processing for the first model M1 based on the page database DB1 (S1).
  • S1 the learning server 20 sets the first model so that when a character string indicated by the title of a web page stored in the page database DB1 is input, attributes and attribute values associated with the title are output.
  • the parameters of M1 are adjusted.
  • the first model M1 that has undergone the learning process in S1 is the initial first model M1.
  • the initial first model M1 is subjected to additional learning processing by the processing of S10 described later.
  • the learning server 20 acquires training data candidates C1 for the second model M2 based on the query selection database DB4 (S2).
  • the learning server 20 trains the second model M2 by combining the search query stored in the query selection database DB4 and the attribute and attribute value of the web page selected by the searcher who entered the search query. Obtained as data candidate C1.
  • the learning server 20 acquires all or some pairs of the query selection database DB4.
  • the learning server 20 acquires training data candidates C2 for the second model M2 based on the initial first model M1 (S3).
  • the learning server 20 inputs the search query stored in the search query database DB2 to the initial first model M1, and acquires the attributes and attribute values output from the initial first model M1.
  • the learning server 20 acquires pairs of the search query input to the first model M1 and the attribute and attribute value output from the first model M1 as training data candidates C2.
  • the learning server 20 inputs a search query of all or part of the search query database DB2 to the learning server 20, and trains pairs of the search query and the attribute and attribute value output from the learning server 20. Obtained as data candidate C2.
  • the learning server 20 generates training data for the second model M2 based on the candidate C1 obtained in S2 and the candidate C2 obtained in S3 (S4).
  • the learning server 20 ANDs both the candidate C1 acquired in S2 and the candidate C2 acquired in S3, and generates the candidate C3 present in both of these as training data for the second model M2. do.
  • the learning server 20 executes the learning process of the second model M2 based on the training data generated in S4 (S5).
  • the learning server 20 constructs the second model so that when the character string of the input portion included in the training data generated in S4 is input, the attribute and attribute value associated with this character string are output.
  • the parameters of M2 are adjusted.
  • the learning server 20 estimates the attributes and attribute values of the search queries stored in the search query database DB2 based on the first model M1 (S6). In S6, the result of the processing in S3 may be used. Based on the second model M2, the learning server 20 estimates the effectiveness of the combination of the search query and the attributes and attribute values obtained in S6 (S7). In S7, the learning server 20 inputs a pair of the search query processed in S6 and the attribute and attribute value estimated in S6 to the second model M2, and the effective data output from the second model M2. Get gender estimation results.
  • the learning server 20 generates training data for the first model M1 based on the effectiveness estimation result in S7 (S8).
  • the learning server 20 stores pairs of search queries, attributes, and attribute values estimated to be effective in S7 as training data in the training database DB3.
  • the learning server 20 determines whether or not a sufficient number of training data has been generated (S9).
  • S9 it is determined whether or not the number of training data generated in S8 has reached a predetermined number. If it is determined that a sufficient number of training data has not been generated (S9; N), the process returns to S6 and the generation of training data is repeated.
  • the learning server 20 executes learning processing of the first model M1 based on the training database DB3 (S10).
  • the learning server 20 is configured so that, when a character string of an input portion included in the training data stored in the training database DB3 is input, attributes and attribute values associated with this character string are output. Parameters of the first model M2 are adjusted.
  • the learning server 20 estimates the attributes and attribute values of the search query stored in the search query database DB2 based on the learned first model M1 (S11), and ends this process.
  • the process of S11 is similar to S3 and S6, but differs in that the first model M1 that has been trained in the process of S10 is used instead of the initial first model M1.
  • the learning server 20 records the attributes and attribute values estimated in S11 in the storage unit 22 in association with the search query.
  • the recorded search queries, attributes and attribute values can be used for any purpose.
  • the learning server 20 outputs these associations for marketing purposes or the like when an administrator of the processing execution system S requests to refer to these associations.
  • the effectiveness of combinations of search queries and attributes and attribute values estimated by the first model M1 is estimated based on a predetermined estimation method. Since the processing execution system S executes the predetermined processing after estimating the effectiveness, even if the accuracy of the first model M1 is insufficient due to insufficient training data, the desired result can be obtained. Obtainable. For example, by executing the generating process as the predetermined process, the training data of the first model M1 can be generated after estimating the effectiveness, so the accuracy of the first model M1 is increased. As a result, the accuracy of estimating the attributes and attribute values of the search query by the first model M1 is increased, and it becomes easier to obtain desired results such as estimating the user's intention. In addition, for example, training data for the first model M1 can be created from a search query that has been input in the past, so it is possible to save the trouble of creating training data for the first model M1.
  • the processing execution system S estimates the effectiveness of combinations of search queries, attributes, and attribute values based on the second model M2. This increases the accuracy of estimating the efficacy of these combinations.
  • the accuracy of the training data of the first model M1 generated as the predetermined process is also enhanced by increasing the estimation accuracy of effectiveness. As a result, the estimation accuracy of the first model M1 is enhanced, making it easier to obtain desired results.
  • the relationship between the title of the web page, the attribute, and the attribute value acquired based on the page database DB1 is learned.
  • the second model M2 learns the relationship between the search query, the attribute, and the attribute value acquired based on the query selection database DB4 from a different viewpoint from the page database DB1.
  • the accuracy of estimation of effectiveness by the second model M2 is enhanced.
  • the second model M2 learns the same training data as the first model M1, it is considered difficult to create the second model M2 that identifies an error in the estimation result of the first model M1.
  • the second model M2 can be learned from a viewpoint different from that of the first model M1.
  • the second model M2 can be created to identify errors in the estimation result of the first model M1, and the effectiveness estimation accuracy of the second model M2 increases.
  • the accuracy of estimation of effectiveness by the second model M2 increases, the accuracy of the training data of the first model M1 generated as a predetermined process also increases.
  • the estimation accuracy of the first model M1 is enhanced, making it easier to obtain desired results.
  • the second model M2 learns the relationship between the combination of the search query, the attribute, and the attribute value estimated using the initial first model M1, and the effectiveness indicating that the combination is effective. be done. As a result, more training data for the second model M2 can be generated, so the accuracy of estimation of effectiveness by the second model M2 increases. It is also possible to save the trouble of generating training data for the second model M2. As the accuracy of estimation of effectiveness by the second model M2 increases, the accuracy of the training data of the first model M1 generated as a predetermined process also increases. As a result, the estimation accuracy of the first model M1 is enhanced, making it easier to obtain desired results.
  • the processing execution system S generates candidates for combinations of search queries, attributes, and attribute values that are stored as training data in the training database DB3 based on each of the plurality of generation methods. Candidates generated by a plurality of generation methods are learned as training data for the second model M2. As a result, more training data for the second model M2 can be generated, so the accuracy of estimation of effectiveness by the second model M2 increases. It is also possible to save the trouble of generating training data for the second model M2. As the accuracy of estimation of effectiveness by the second model M2 increases, the accuracy of the training data of the first model M1 generated as a predetermined process also increases. As a result, the estimation accuracy of the first model M1 is enhanced, making it easier to obtain desired results.
  • the search query input by the user is learned as second data, and the attributes and attribute values of the search query are learned as second classification information.
  • the estimation accuracy of effectiveness by the second model M2 increases.
  • the effectiveness estimation accuracy of the second model M2 increases, the accuracy of the training data of the first model M1 that is executed as the predetermined process also increases. As a result, the estimation accuracy of the first model M1 is enhanced, making it easier to obtain desired results.
  • the method of estimating effectiveness is a method that uses query selection data that indicates the relationship between search queries that have been input in the past and selection results for search results based on the search queries.
  • query selection data that easily expresses the user's intention
  • the accuracy of the training data of the first model M1 generated as the predetermined process is also enhanced by increasing the estimation accuracy of effectiveness. As a result, the estimation accuracy of the first model M1 is enhanced, making it easier to obtain desired results.
  • the web page titles, attributes, and attribute values learned by the first model M1 are data used as indexes during searches.
  • the learning process of the first model M1 can be executed based on practical data that is used as an index during an actual search.
  • the estimation accuracy of the first model M1 is enhanced, making it easier to obtain desired results.
  • the attribute and attribute value which are the second classification information, are estimated as information related to the intention of the user to input the search query. This makes it possible to estimate the intention of the user who entered the search query. For example, estimating the intention of a user who entered a search query can be used for marketing of search services and improve the accuracy of search results.
  • a generation process is executed to generate training data for the first model M1 to learn based on the combination of the search query, the attribute and the attribute value, and the effectiveness estimation result. This increases the estimation accuracy of the first model M1, making it easier to obtain desired results. It is also possible to save the trouble of creating training data for the first model M1.
  • the first model M1 is a multi-label compatible model in which the relationship between the title of the web page and a plurality of attributes and attribute values has been learned. This allows multiple attributes and attribute values to be associated with a user-entered search query. This increases the estimation accuracy of the first model M1, making it easier to obtain desired results.
  • Modification 1 For example, in the embodiment, a case has been described where the second model M2 outputs, as an estimation result, binary information indicating whether or not a combination of a search query, an attribute, and an attribute value is effective.
  • the second model M2 may output a score regarding the effectiveness of this combination as an estimation result.
  • the score is as described in the embodiment. Modification 1 describes a case where scores are represented by numbers. A higher score means higher effectiveness. Scores can also be referred to as probabilities or probabilities. For example, when a combination of a search query, an attribute, and an attribute value is input, the second model M2 outputs the score of this combination as an estimation result.
  • the effectiveness estimating unit 206 of Modification 1 acquires the score output from the second model M2 based on the combination of the search query, the attribute, and the attribute value, and estimates the effectiveness based on the acquired score. presume. For example, when the score output from the second model M2 is less than the threshold, the effectiveness estimation unit 206 estimates that the combination of the search query, the attribute, and the attribute value is not effective, and outputs If the resulting score is equal to or greater than the threshold, then the combination of the search query and the attribute and attribute value is presumed to be valid.
  • the score output from the second model M2 is obtained based on the combination of the search query, the attribute, and the attribute value, and the effectiveness is estimated based on the obtained score.
  • the second model M2 It becomes easier to utilize the estimation results of For example, the score value makes it easier to understand with what degree of certainty the second model M2 is effective.
  • the accuracy of the training data of the first model M1 that is executed as the predetermined process also increases. For example, the higher the score of the second model M2 acquired to generate the training data of the first model M1, the greater the weight of the first model M1. In this case, highly effective training data can be learned by the first model M1. As a result, the estimation accuracy of the first model M1 is improved, making it easier to obtain desired results.
  • the estimation method may be a method using cosine similarity based on the search query, attributes and attribute values.
  • Cosine similarity is a technique for calculating similarity between character strings. For example, when determining the similarity between a first character string and a second character string, the angle between the first vector that indicates the characteristics of the first character string and the second vector that indicates the characteristics of the second character string is Based on this, the cosine similarity is calculated. The more the first vector and the second vector point in the same direction, the higher the cosine similarity. That is, the more similar the features of the search query and the attributes and attribute values, the higher the cosine similarity.
  • the effectiveness estimation unit 206 estimates effectiveness based on the cosine similarity based on the search query, attributes, and attribute values.
  • the validity estimating unit 206 calculates the cosine similarity between the first vector representing the feature of the search query and the second vector representing the feature of the attribute and attribute value.
  • the first vector and the second vector may be calculated by the second model M2 similar to the embodiment, or may be calculated by other models such as Word2Vec or Doc2Vec.
  • the cosine similarity calculation method itself various calculation methods used in natural language processing can be used.
  • the validity estimation unit 206 estimates that the combination of the search query, the attribute, and the attribute value is not valid when the cosine similarity based on the search query, the attribute, and the attribute value is less than the threshold, and the search query If the cosine similarity based on , the attribute and the attribute value is equal to or greater than the threshold, the combination of the search query and the attribute and the attribute value is estimated to be effective.
  • Cosine similarity may be used as the score described in Modification 1 by combining Modification 1 and Modification 2.
  • the validity of the estimation result of the first model M1 is estimated based on the cosine similarity.
  • the cosine similarity which is relatively easy to calculate, the processing of the processing execution system S can be speeded up.
  • effectiveness estimation section 206 may estimate effectiveness based on each of a plurality of estimation methods.
  • the plurality of estimation methods include the estimation method described in the embodiment, the estimation method described in Modification 1, and the estimation method described in Modification 2.
  • Other examples include estimation methods such as those described below.
  • modification 3 arbitrary estimation methods can be combined.
  • the effectiveness estimation unit 206 may estimate effectiveness based on an estimation method using a dictionary.
  • a dictionary defines relationships between attributes and specific character strings of attribute values. The effectiveness estimating unit 206 estimates that the estimation result of the first model M1 is not effective when the attribute and the attribute value output by the first model M1 do not exist in the dictionary. If the attribute and the attribute value are present in the dictionary, it is assumed that the estimation result of the first model M1 is valid.
  • the effectiveness estimation unit 206 may estimate effectiveness based on a dictionary that defines the relationship between a search query and valid attributes and attribute values. In this case, if the combination of the search query input to the first model M1 and the attribute and attribute value output from the first model M1 does not exist in the dictionary, the effectiveness estimation unit 206 Assume that the estimation result of M1 is not valid, and assume that the estimation result of the first model M1 is valid if this combination exists in the dictionary.
  • the effectiveness estimation unit 206 may estimate effectiveness based on an estimation method using a multi-label classification tool such as extremeText.
  • the effectiveness estimation unit 206 inputs a combination of a search query, an attribute, and an attribute value into a classification tool, and estimates that this combination is not effective if the score output from the classification tool is less than a threshold. and if this score is greater than or equal to the threshold, then the combination is presumed to be effective.
  • the execution unit 207 executes generation processing based on the effectiveness estimation results obtained by each of the plurality of estimation methods.
  • the execution unit 207 executes generation processing by comprehensively considering the effectiveness estimation results obtained by each of the plurality of estimation methods. That is, the execution unit 207 may execute the generation process using a statistical index based on estimation results of effectiveness by each of a plurality of estimation methods.
  • the execution unit 207 stores, in the training database DB3, combinations of search queries, attributes, and attribute values for which the number of estimation methods estimated to be effective is equal to or greater than a predetermined number. Combinations of search queries and attributes and attribute values for which the number of estimation methods estimated to be valid is less than a predetermined number are not used as training data.
  • the execution unit 207 may generate training data and store it in the training database DB3 based on majority votes by each of a plurality of estimation methods. Assuming that there are five estimation methods, the execution unit 207 estimates the effectiveness of combinations of search queries, attributes, and attribute values based on each of the five estimation methods. That is, the execution unit 207 acquires five estimation results. When three or more of the five estimation results are effective, the execution unit 207 generates training data indicating that the combination of the search query, the attribute, and the attribute value is effective. It is generated and stored in the training database DB3.
  • the execution unit 207 may generate training data based on each average value of a plurality of estimation methods and store it in the training database DB3. Assuming that there are five estimation methods, the execution unit 207 estimates the effectiveness of combinations of search queries, attributes, and attribute values based on the five estimation methods. That is, the execution unit 207 acquires five estimation results. The execution unit 207 generates training data, which is a pair of a combination of a search query, an attribute and an attribute value, and an average value of the five estimation results, and stores the training data in the training database DB3. For example, if three out of five estimation results are effective, the average value is 0.6. This average value indicates a high degree of efficacy.
  • a programmable labeling model such as Snorkel may be used as a model for integrally using a plurality of estimation methods.
  • the execution unit 207 may calculate a score indicating a comprehensive estimation result based on the effectiveness estimation results obtained by each of a plurality of estimation methods. In this case, the execution unit 207 does not execute the generation process when the total score is less than the threshold, and executes the generation process when the total score is equal to or greater than the threshold. For example, the execution unit 207 may determine the weight according to the number of estimation methods estimated to be effective or the overall score. In this case, the weight is determined so that the training data is more strongly learned by the first model M1 as the number of estimation methods estimated to be effective increases or as the overall score increases.
  • the training data for the first model M1 is small, and there is a possibility that a sufficient amount of training data for learning the first model M1 cannot be obtained. be. Therefore, it is considered that there is a trade-off relationship between the accuracy of the training data of the first model M1 and the number of training data of the first model M1.
  • Modification 4 For example, in the embodiment, the case where the process execution system S is applied to a web page search service has been described, but the process execution system S can be applied to any service.
  • the processing execution system S can be used for electronic commerce services, travel reservation services, net auction services, facility reservation services, SNS (Social Networking Services), financial services, insurance services, video distribution services, or communication services.
  • Modification 4 describes a case where the processing execution system S is applied to an electronic commerce service.
  • the product page on which the product is posted corresponds to the web page described in the embodiment.
  • the first data in Modification 4 is the product title used as an index when searching for products.
  • the product title is a character string that briefly describes the product. For example, a product description is prepared separately from the product title. The product title is shorter than the product description. For example, the product title is a character string of about several to 100 characters, whereas the product description is a character string of about tens to thousands of characters.
  • the product title is created by the person in charge of the store. Therefore, in Modification 4, the person in charge of the store in the electronic commerce service corresponds to the creator.
  • a searcher is a user who purchases a product using an electronic commerce service.
  • the first classification information in Modification 4 is product attribute information used as an index when searching for products.
  • the product attribute information is information relating to product attributes.
  • the product attribute information indicates at least one of attributes and attribute values.
  • product attribute information may indicate either attributes or attribute values.
  • the product attribute is the product genre or category.
  • the attributes of the item may be features such as the color, size, pattern, or shape of the item.
  • the page database DB1 of Modification 4 product titles, product attributes and attribute values are associated and stored.
  • the initial first model M1 relationships between product titles, product attributes and attribute values are learned.
  • search queries that have been input in the electronic commerce service in the past are stored as second data and third data.
  • the second classification information acquisition unit 202 acquires attributes and attribute values corresponding to search queries stored in the search query database DB2 as second classification information based on the first model M1.
  • the second model M2 learns the relationship between combinations of previously input search queries, product attributes and attribute values, and the effectiveness of these combinations.
  • the effectiveness estimation unit 206 inputs a combination of the search query input to the first model M1 and the product attributes and attribute values output from the first model M1 to the second model M2.
  • the effectiveness estimator 206 estimates the effectiveness of these combinations by acquiring the output from the second model M2.
  • execution section 207 determines whether or not to generate a combination of these as training data for first model M1.
  • the first data is the product title used as an index when searching for products
  • the first classification information is product attribute information used as an index when searching for products.
  • the predetermined process executed by the execution unit 207 is not limited to the generation process described in the embodiment.
  • the execution unit 207 may execute search processing according to the search query as predetermined processing based on the effectiveness estimation result.
  • the processes of the second classification information acquisition section 202, the validity estimation section 206, and the execution section 207 are executed.
  • the second classification information acquisition unit 202 acquires attributes and attribute values corresponding to the search query input by the user based on the first model M1.
  • This first model M1 may be a model that has been learned by a method similar to that of the embodiment, or may be a model that has been learned by another method.
  • the effectiveness estimation unit 206 estimates the effectiveness of combinations of search queries, attributes, and attribute values.
  • the method of estimating effectiveness is the same as in the embodiment.
  • the execution unit 207 estimates that this combination is not valid, the execution unit 207 does not use the attributes and attribute values estimated by the first model M1 in the search process, and based on the search query input by the user, Execute the search process.
  • the execution unit 207 estimates that this combination is valid, the execution unit 207 executes search processing so that the attributes and attribute values estimated by the first model M1 are used as a search query. In this case, the character string input as the search query input by the user and the attributes and attribute values estimated by the first model M1 are used as the search query.
  • search processing is executed according to the search query based on the effectiveness estimation result.
  • the estimation result of the first model M1 estimated to be effective can be used in the search process, so the accuracy of the search process is improved.
  • the execution unit 207 may execute output processing for outputting a search query, an attribute, and an attribute value as predetermined processing based on the effectiveness estimation result.
  • the execution unit 207 outputs to the terminal of the administrator in the process execution system S, a combination of the search query, the attribute, and the attribute value estimated to be valid.
  • the execution unit 207 may output the estimation result of effectiveness and the combination of the search query, the attribute, and the attribute value to the administrator's terminal.
  • the output to the administrator's terminal may be performed by displaying an image, or may be performed by data output.
  • output processing is executed to output the search query, attributes, and attribute values based on the effectiveness estimation results. This makes it possible to notify the administrator of the relationship between the search query and the attributes and attribute values, which can be used for marketing and the like.
  • the second data is a search query for a web page has been described, but the second data may be data related to a user's post. Posts include at least one of text and images.
  • Modification 7 describes a case where a user posts to an SNS, but the user can post to any service. For example, it may be an Internet encyclopedia posting, a bulletin board posting, or a comment on a news article.
  • the SNS post itself may be a variety of posts, such as a short text post, an image, a video, or a combination thereof.
  • the second classification information is information about the classification of posts.
  • this classification is information called a hash tag
  • the second classification information in Modification 7 may be information other than hash tags.
  • the second classification information acquisition unit 202 acquires hashtags corresponding to user posts based on the first model M1.
  • This first model M1 may be a model that has been learned by a method similar to that of the embodiment, or may be a model that has been learned by another method.
  • the validity estimation unit 206 estimates the validity of the combination of user posts and hashtags.
  • the method of estimating effectiveness is the same as in the embodiment.
  • the execution unit 207 estimates that this combination is not valid, it does not attach the hash tag estimated by the first model M1 to the user's post.
  • the execution unit 207 estimates that this combination is valid, the execution unit 207 attaches the hashtag estimated by the first model M1 to the user's post.
  • the second data is data related to the user's post
  • the second classification information is information related to the classification of the post.
  • Modification 8 For example, the effectiveness estimation method by the effectiveness estimation unit 206 is not limited to the method described in the embodiment and modification 1-7. Modification 8 describes an example of another estimation method. In Modification 8, similar to Modification 4, the case of applying the processing execution system S to an electronic commerce service will be exemplified, but the estimation method of Modification 8 can be applied to services other than the electronic commerce service. be.
  • FIG. 11 is a diagram showing an example of functional blocks of modification 8.
  • Modification 8 implements a fourth classification information acquisition unit 208 in addition to the functions described in the embodiment and Modification 1-7.
  • Other functions may be the same as those of the embodiment and modification 1-7, but the data storage unit 200 differs in that it stores the candidate group database DB5 and the third model M3. The details of the candidate group database DB5 and the third model M3 will be described later.
  • FIG. 12 is a diagram showing an overview of the processing executed in modified example 8.
  • the page database DB1 of Modification 8 is associated with titles of products that can be purchased through electronic commerce services, genres of products, tag groups of products, and tags of products. Genres, tag groups, and tags are examples of product classification.
  • Modification 8 describes a case where the data stored in the page database DB1 is used as training data for both the first model M1 and the third model M3.
  • the product genre is the product type.
  • the product genre may also be called a product category.
  • a tag group is an example of the attribute described in Modification 4.
  • the product tag is an example of the attribute value described in Modification 4.
  • FIG. In Modified Example 8, the tag group and tags are classifications from a different point of view than genres or categories.
  • a group of tags and tags are information indicating features of the product such as color, pattern, size, or shape, rather than the type of the product itself. Even for products of the same genre, there are multiple tag groups and combinations of tags.
  • the first learning unit 201 of Modification 8 executes the learning process of the first model M1 based on the relationship between the title of the product stored in the page database DB1 and the tag group and tags of the product.
  • the first learning unit 201 executes the learning process of the first model M1 so that when the title of a certain product is input, the tag group and tags of this product are output.
  • products of the genre "123456" (genre ID meaning "Lady Fashion") are shown. is learned by the first model M1.
  • a genre ID is an ID that can identify a genre.
  • a genre ID is represented by numbers, other symbols, or a combination thereof.
  • a genre may be represented by a character string.
  • the second classification information acquisition unit 202 of Modification 8 inputs the search query stored in the search query database DB2 to the first model M1, and uses the tag group and tags output from the first model M1 as the second classification information. to get as The second classification information of modification 8 indicates a combination of tag groups and tags related to search queries.
  • a tag group of a search query is an example of a first attribute.
  • a search query tag is an example of a first attribute value. Therefore, the part describing the tag group of the search query can be read as the first attribute.
  • the part describing the search query tag can be read as the first attribute value.
  • the meanings of attributes and attribute values are as described in the embodiment and Modification 4.
  • the second classification information acquisition unit 202 inputs the search query "Elegant Samuel Down Jacket” to the first model M1, and outputs three tag groups and tag combinations output from the first model M1 as follows: Acquired as three pieces of second classification information.
  • the first second classification information is a combination of the tag group "Fashion Taste” and the tag "Elegant”.
  • the second second classification information is a combination of the tag group "Interior Taste” and the tag "Elegant”.
  • the third second classification information is a combination of the tag group "Material" and the tag "Down Feather".
  • the search query is input not only to the first model M1 but also to the third model M3.
  • the third model M3 is a model in which the relationship between the product titles and product genres stored in the page database DB1 has been learned.
  • the product used as training data for the first model M1 and the product used as training data for the third model M3 are the same, but these products may be different. That is, the third model M3 may learn the relationship between the title of another product different from the product learned by the first model M1 and the genre of the other product.
  • the title of the other product is an example of the fourth data.
  • the fourth data is data different from the first data.
  • the third model M3 may be a model in which the relationship between the first data or the fourth data and the fourth classification information of the first data or the fourth data has been learned.
  • the fourth classification information acquisition unit 208 acquires fourth classification information relating to the classification of the search query from a different viewpoint from the second classification information based on the third model M3.
  • the genre of the search query is an example of fourth classification information. Therefore, the part describing the genre of the search query can be read as the fourth classification information.
  • the fourth classification information indicates the second attribute from a different point of view from the first attribute.
  • a genre is also an example of a 2nd attribute.
  • the second attribute may be other attributes described in the embodiment and modification 4 other than genre.
  • the fourth classification information is not limited to the genre as long as it is a classification from a viewpoint different from that of the second classification information.
  • the fourth classification information may indicate a classification according to the scene to which the process execution system S is applied.
  • the processing execution system S is applied to classify web pages as in the embodiment, if the web page is an academic paper, the technical field indicated by the paper may correspond to the fourth classification information.
  • the types of travel products such as hotels, tours, highway buses, or optional tours may correspond to the fourth classification information. .
  • the fourth classification information acquisition unit 208 inputs the search query to the third model M3 and acquires the genre output from the third model M3 as fourth classification information. Since the relationship between product titles and genres is learned in the third model M3, the genre is estimated when the search query is assumed to be the product title. In other words, the genre of the product that the user who entered the search query is searching for is estimated.
  • the fourth classification information acquisition unit 208 inputs the search query "Elegant Nursing Down Jacket" to the third model M3, and the genre "123456" ("Lady Fashion") output from the third model M3 is Meaning genre ID) is acquired as the fourth classification information.
  • the method of estimating effectiveness is to determine whether or not the second classification information and the fourth classification information correspond.
  • the correspondence between the second classification information and the fourth classification information means that the second classification information is suitable for the classification indicated by the fourth classification information.
  • being appropriate fourth classification information as a classification indicated by the second classification information may correspond to correspondence between the second classification information and the fourth classification information.
  • the fourth classification information indicates a genre such as "123456" in FIG. 12
  • the second classification information indicating the tag group "Size" correspond to each other because women's fashion goods come in various sizes.
  • the second classification information indicating the tag group "Interior Taste" does not correspond to the fourth classification information.
  • the association between the second classification information and the fourth classification information is defined in the candidate group database DB5. If it is a combination of the second classification information and the fourth classification information defined in the candidate group database DB5, the second classification information and the fourth classification information will correspond.
  • the correspondence between the second classification information and the fourth classification information may be defined by the manager of the processing execution system S himself, or the correspondence between the genre of the product page and the tag group in the electronic commerce service is used as it is. may Note that the association between the second classification information and the fourth classification information may be defined in a database other than the candidate group database DB5, and a learning model for determining the appropriateness of these associations may exist. . It is assumed that combinations of second classification information and fourth classification information corresponding to each other have been learned in this learning model.
  • the candidate group database DB5 is a database in which a candidate group related to the second classification information is associated with each candidate related to the fourth classification information.
  • a tag group suitable for a product of one genre is defined in the candidate group database DB5.
  • tag groups "Fashion Taste”, “Material”, and "Size” are defined as products of the genre "123456”.
  • tag groups suitable for the other genres are defined in the candidate group database DB5.
  • tags may be defined in the candidate group database DB5.
  • an appropriate combination of genre, tag group and tag is defined in the candidate group database DB5.
  • the effectiveness estimation unit 206 determines whether or not the second classification information and the fourth classification information correspond to each other, and estimates effectiveness based on the determination result. If the validity estimation unit 206 does not determine that the second classification information and the fourth classification information correspond to each other, the estimated tag group and tags for the search query are not valid (that is, invalid). judge. When the validity estimation unit 206 determines that the second classification information and the fourth classification information correspond to each other, the validity estimation unit 206 determines that the estimated tag group and tags are valid for the search query.
  • the effectiveness estimation unit 206 determines whether or not the second classification information corresponds to the fourth classification information based on the candidate group database DB5. That is, the effectiveness estimation unit 206 determines whether or not the tag group indicated by the second classification information corresponds to the genre indicated by the fourth classification information. If the combination of the genre estimated for the search query and the tag group estimated for the search query exists in the candidate group database DB5, the effectiveness estimation unit 206 performs the estimation for the search query. Determine that the tag group and tags are valid.
  • the effectiveness estimation unit 206 determines the combination of the tag group "Fashion Taste" and the tag "Elegant” as the first second classification information and the tag group "Material” as the third second classification information. and the combination of the tag "Down Feather" is assumed to be valid.
  • the effectiveness estimation unit 206 estimates that the combination of the tag group "Material” and the tag "Elegant", which is the second second classification information, is invalid.
  • the use of the second classification information estimated to be valid may be the same as in the embodiment and modification 1-7. In the example of FIG. 12, the second classification information estimated to be valid is used in learning the first model M1.
  • the acquisition method of the fourth classification information is not limited to the method using the third model M3.
  • the fourth classification information acquisition unit 208 may acquire the fourth classification information based on a predetermined acquisition method.
  • a database that defines the relationship between contents that can be input as a search query and appropriate genres for the contents may be used.
  • the fourth category information acquisition unit 208 refers to this database and acquires the genre associated with the search query as the fourth category information.
  • the search query and the content stored in the database may be judged to be a perfect match or a partial match.
  • the fourth classification information may indicate a genre having a hierarchical structure.
  • the hierarchical structure can also be called a tree structure.
  • genre IDs indicating genres such as "tops", “bottoms”, and "dresses" as lower genres.
  • genres have a hierarchical structure, in principle, there is a one-to-many relationship between upper genres and lower genres.
  • the hierarchy of genres may be two or more hierarchies, and the number of hierarchies may be arbitrary. It is assumed that the candidate group database DB5 defines relationships between genres in various hierarchies and tag groups appropriate for the genres in these hierarchies. For example, the higher the genre, the more subordinate genres exist under it, so the number of corresponding tag groups increases. The lower the genre, the fewer or non-existent subordinate genres thereunder, so the number of corresponding tag groups decreases.
  • the validity estimating unit 206 calculates the validity based on the hierarchy of the fourth classification information determined to correspond to the second classification information. You may estimate the accuracy of For example, the effectiveness estimating unit 206 increases the accuracy of effectiveness as the fourth classification information determined to correspond to the second classification information is lower in hierarchy. The effectiveness estimating unit 206 lowers the accuracy of effectiveness as the fourth classification information determined to correspond to the second classification information has a higher hierarchy. For example, the effectiveness probabilities are stored in the training database DB3. In the learning process of the first model M1, only the training data whose accuracy is equal to or higher than the threshold may be used, or a predetermined number of training data in descending order of accuracy may be used.
  • the search query and the second classification information Estimate the efficacy of the combination. This increases the accuracy of estimation of efficacy. For example, effectiveness can be estimated by a process with a relatively small amount of calculation, so the processing load on the learning server 20 can be reduced and the process of estimating effectiveness can be speeded up.
  • the processing execution system S acquires the fourth classification information based on the third model M3. Thereby, even if it is an unknown search query (a search query with a character string different from the product title stored in the page database DB1), the fourth classification information can be estimated. Therefore, it becomes possible to estimate the effectiveness of the estimated second classification information for an unknown search query.
  • the processing execution system S determines whether the second classification information corresponds to the fourth classification information based on the candidate group database DB5 in which the candidate group regarding the second classification information is associated for each candidate regarding the fourth classification information. determine whether This makes it possible to accurately determine whether the second classification information corresponds to the fourth classification information. Furthermore, it is only necessary to determine whether or not a combination of the second classification information of the search query and the fourth classification information of the search query exists in the candidate group database DB5. and the second classification information. Therefore, the processing load on the learning server 20 can be reduced, and the processing for estimating effectiveness can be speeded up.
  • the processing execution system S determines whether or not the tag group indicated by the second classification information corresponds to the genre indicated by the fourth classification information.
  • the processing execution system S determines the effectiveness based on the hierarchy of the fourth classification information determined to correspond to the second classification information. Estimate accuracy. This makes it possible to accurately estimate the effectiveness of the combination of the search query and the second classification information using the hierarchical structure.
  • the functions described as being realized by the search server 10 may be realized by another computer, or may be shared among a plurality of computers.
  • the functions described as being realized by the learning server 20 may be realized by another computer, or may be shared among a plurality of computers.
  • data to be stored in the data storage units 100 and 200 may be stored in a database server.

Abstract

処理実行システム(S)の第2分類情報取得部(202)は、第1データと、当該第1データの分類に関する第1分類情報と、の関係が学習された第1モデルに基づいて、第2データの分類に関する第2分類情報を取得する。有効性推定部(206)は、所定の推定方法に基づいて、第2データ及び第2分類情報の組み合わせに関する有効性を推定する。実行部(207)は、有効性の推定結果に基づいて、所定の処理を実行する。

Description

処理実行システム、処理実行方法、及びプログラム
 本開示は、処理実行システム、処理実行方法、及びプログラムに関する。
 従来、機械学習に関するモデルを利用して、所定のデータの分類を推定する技術が知られている。例えば、特許文献1には、検索クエリに含まれるキーワードの分類の推定結果を出力するモデルを利用して、検索クエリを入力したユーザに有益な情報を提供する技術が記載されている。特許文献1の技術では、モデルの出力として、検索結果の種類、検索のタイプ、又は検索対象の種類等を示すドメインが挙げられている。
特開2020-16960号公報
 しかしながら、特許文献1の技術では、訓練データが十分でないことに起因してモデルの精度が十分ではない場合には、モデルから不適切なドメインが出力されるので、ユーザに有益な情報を提供できない可能性があった。この点は、特許文献1のようなモデルに限られず、他の目的で他の分類を推定するモデルも同様である。このため、従来の技術では、訓練データが十分ではないことに起因してモデルの精度が十分ではない場合には、所望の結果を得ることはできなかった。
 本開示の目的の1つは、訓練データが十分ではないことに起因してモデルの精度が十分ではない場合にも、所望の結果を得ることを目的の1つとする。
 本開示の一態様に係る処理実行システムは、第1データと、当該第1データの分類に関する第1分類情報と、の関係が学習された第1モデルに基づいて、第2データの分類に関する第2分類情報を取得する第2分類情報取得部と、所定の推定方法に基づいて、前記第2データ及び前記第2分類情報の組み合わせに関する有効性を推定する有効性推定部と、前記有効性の推定結果に基づいて、所定の処理を実行する実行部と、を含む。
 本開示によれば、訓練データが十分ではないことに起因してモデルの精度が十分ではない場合にも、所望の結果を得ることができる。
処理実行システムの全体構成の一例を示す図である。 ポータルページから検索が実行される様子の一例を示す図である。 処理実行システムの概要を示す図である。 処理実行システムで実現される機能の一例を示す機能ブロック図である。 ページデータベースの一例を示す図である。 検索クエリデータベースの一例を示す図である。 訓練データベースの一例を示す図である。 クエリ選択データベースの一例を示す図である。 第2モデルの訓練データを生成する方法の一例を示す図である。 処理実行システムで実行される処理の一例を示すフロー図である。 変形例8の機能ブロックの一例を示す図である。 変形例8で実行される処理の概要を示す図である。
[1.処理実行システムの全体構成]
 本開示に係る処理実行システムの実施形態の一例を説明する。図1は、処理実行システムの全体構成の一例を示す図である。ネットワークNは、インターネット又はLAN等の任意のネットワークである。処理実行システムSは、少なくとも1つのコンピュータを含めばよく、図1の例に限られない。
 検索サーバ10は、サーバコンピュータである。制御部11は、少なくとも1つのプロセッサを含む。記憶部12は、RAM等の揮発性メモリと、ハードディスク等の不揮発性メモリと、を含む。通信部13は、有線通信用の通信インタフェースと、無線通信用の通信インタフェースと、の少なくとも一方を含む。
 学習サーバ20は、サーバコンピュータである。制御部21、記憶部22、及び通信部23の物理的構成は、それぞれ制御部11、記憶部12、及び通信部13と同様である。
 検索者端末30は、検索クエリを入力するユーザである検索者のコンピュータである。例えば、検索者端末30は、パーソナルコンピュータ、スマートフォン、タブレット端末、又はウェアラブル端末である。制御部31、記憶部32、及び通信部33の物理的構成は、それぞれ制御部11、記憶部12、及び通信部13と同様である。操作部34は、タッチパネル又はマウス等の入力デバイスである。表示部35は、液晶ディスプレイ又は有機ELディスプレイである。
 作成者端末40は、検索対象のデータを作成するユーザである作成者のコンピュータである。例えば、作成者端末40は、パーソナルコンピュータ、スマートフォン、タブレット端末、又はウェアラブル端末である。制御部41、記憶部42、通信部43、操作部44、及び表示部45の物理的構成は、それぞれ制御部11、記憶部12、通信部13、操作部34、及び表示部35と同様である。
 なお、記憶部12,22,32,42に記憶されるプログラム又はデータは、ネットワークNを介して供給されてもよい。また、各コンピュータには、コンピュータ読み取り可能な情報記憶媒体を読み取る読取部(例えば、メモリカードスロット)と、外部機器とデータの入出力をするための入出力部(例えば、USBポート)と、の少なくとも一方が含まれてもよい。例えば、情報記憶媒体に記憶されたプログラム又はデータが、読取部及び入出力部の少なくとも一方を介して供給されてもよい。
[2.処理実行システムの概要]
 本実施形態では、ウェブページの検索サービスに処理実行システムSを適用した場合を例に挙げる。作成者は、ウェブページを作成し、検索サーバ10又は他のサーバコンピュータにアップロードする。検索者は、検索者端末30のブラウザでウェブページを検索する。例えば、検索者が検索者端末30を操作して検索サーバ10にアクセスすると、検索サービスのポータルページが表示部35に表示される。
 図2は、ポータルページから検索が実行される様子の一例を示す図である。例えば、検索者は、ポータルページP1の入力フォームF10に検索クエリを入力する。検索者がボタンB11を選択すると、検索サーバ10は、この検索クエリに基づいて、ウェブページの検索処理を実行する。検索者端末30の表示部35には、検索者が入力した検索クエリに応じた検索結果を示す検索結果ページP2が表示される。
 検索者は、何らかの意図を持って検索クエリを入力し、検索サービスを利用する。図2の例では、「CG bag Zebra」といった検索クエリが入力されている。この場合、検索者は、「ゼブラ柄のバッグが描かれたコンピュータグラフィック」を検索したいといった意図があると思われる。検索者の意図を推定できれば、例えば、検索サービスにおけるマーケティングに活用したり、検索結果の精度を高めたりできるので、非常に有用である。
 そこで、本実施形態では、機械学習を利用したモデルに基づいて、検索者の意図が推定される。以降、検索者の意図を推定するモデルを第1モデルと記載する。第1モデルでは、種々の機械学習手法を利用可能である。第1モデルは、教師有り学習、半教師有り学習、又は教師無し学習の何れであってもよい。例えば、第1モデルは、ニューラルネットワークであってもよい。
 本実施形態では、ウェブページのタイトルと、ウェブページの属性及び属性値と、の関係が第1モデルに学習される。タイトルは、ブラウザのタイトルバーに表示される文字列である。例えば、タイトルは、ウェブページの内容を示すキーワードを含む。タイトルは、検索時のインデックスとして利用される。本実施形態では、作成者がタイトルを入力するものとするが、タイトルは、ウェブページに含まれる文字列から自動的に抽出されてもよいし、検索サービスの管理者が入力してもよい。
 ウェブページの属性は、ウェブページの分類である。ウェブページの属性は、ウェブページの種類、カテゴリ、又はジャンルということもできる。属性は、文字、数字、その他の記号、又はこれらの組み合わせによって表現される。属性は、所定の観点でウェブページを分類可能なものであればよく、任意の観点で属性を設定可能である。例えば、フリー素材の画像を提供するウェブページには、属性「Image」が関連付けられる。例えば、ニュース記事等の文書を提供するウェブページには、属性「Document」が関連付けられる。
 ウェブページの属性値は、属性の具体的な値である。属性は、少なくとも1つの属性値が関連付けられる。ウェブページには、属性に関連付けられた属性値のうちの少なくとも1つが関連付けられる。属性値は、文字、数字、その他の記号、又はこれらの組み合わせによって表現される。属性値は、所定の観点で属性の詳細を定義するものであればよく、任意の観点で属性値を設定可能である。
 例えば、属性「Image」に、属性値「Computer Graphic」と、属性値「Photograph」と、が関連付けられていたとすると、属性「Image」のウェブページには、属性値「Computer Graphic」又は属性値「Photograph」の何れかが関連付けられる。例えば、属性「Document」に、属性値「News」と、属性値「Advertisement」と、が関連付けられていたとすると、属性「Document」のウェブページには、属性値「News」又は属性値「Advertisement」の何れかが関連付けられる。
 作成者は、何らかの意図でウェブページを作成する。例えば、属性「Image」及び属性値「Computer Graphic」のウェブページは、コンピュータグラフィックの画像を配信するといった意図のもとで作成される。例えば、属性「Document」及び属性値「News」のウェブページは、ニュース記事の文書を配信するといった意図のもとで作成される。作成者の意図は、ウェブページのタイトル、属性、及び属性値に表れると考えられる。このため、ウェブページのタイトルと、ウェブページの属性及び属性値と、の関係は、検索者が入力した検索クエリと、検索者の意図と、の関係に似ていると考えられる。
 そこで、本実施形態では、検索者の意図を推定するために、ウェブページのタイトルと、ウェブページの属性及び属性値と、の関係を訓練データとして学習させた第1モデルを利用する。第1モデルには、ウェブページのタイトルに対応する情報として、検索クエリが入力される。第1モデルは、ウェブページの属性及び属性値に対応する情報として、検索者の意図を出力する。
 例えば、第1モデルに学習させる訓練データが十分ではない場合、第1モデルの精度を十分に高めることができない。この場合、検索クエリを第1モデルに入力しても、第1モデルから出力される検索者の意図が不適切なものになる可能性がある。そこで、本実施形態の処理実行システムSでは、訓練データが十分ではないことに起因して第1モデルの精度が十分ではない場合にも、検索者の意図を精度よく推定できるようになっている。
 図3は、処理実行システムSの概要を示す図である。図3のように、ページデータベースDB1には、ウェブページのタイトルと、ウェブページの属性及び属性値と、が関連付けられて格納されている。これらのペアは、訓練データとして、第1モデルM1に学習される。検索クエリデータベースDB2には、過去に入力された検索クエリが格納されている。本実施形態では、この検索クエリを入力した検索者の意図が推定される。
 検索クエリが第1モデルM1に入力されると、第1モデルM1は、検索者の意図として、属性及び属性値を推定する。図3の例では、図2の検索クエリ「CG bag Zebra」が第1モデルM1に入力される。第1モデルM1は、検索者の意図として、属性「Image」の属性値「Computer Graphic」、属性「Nation」の属性値「Republic of the Congo」、及び属性「Pattern」の属性値「Zebra」といった3つの推定結果を出力する。
 先述したように、図3の検索クエリを入力した検索者の意図は、「ゼブラ柄のバッグが描かれたコンピュータグラフィック」を検索したいといったものである。この意図は、第1モデルM1が出力した3つの推定結果のうち、属性「Image」の属性値「Computer Graphic」と、属性「Pattern」の属性値「Zebra」と、に表れている。
 一方、第1モデルM1が出力した3つの推定結果のうち、属性「Nation」の属性値「Republic of the Congo」は、ユーザの意図を表すものではない。例えば、訓練データが十分でないことに起因して第1モデルM1の精度が十分ではない場合、このような不適切な推定結果が出力されることがある。これは、検索クエリの一部の文字列「CG」がコンゴ共和国の国コードであることが、何らかの理由で第1モデルM1に学習されていることが原因と考えられる。
 本実施形態では、不適切な推定結果を除去するための第2モデルM2が用意されている。第2モデルM2は、機械学習を利用したモデルである。第2モデルM2では、種々の機械学習手法を利用可能である。第2モデルM2では、教師有り学習、半教師有り学習、又は教師無し学習の何れであってもよい。例えば、第2モデルは、ニューラルネットワークであってもよい。例えば、第2モデルM2は、検索クエリ及び検索者の意図のペア(即ち、第1モデルM1に入力された検索クエリと、第1モデルM1から出力された推定結果と、のペア)が入力されると、このペアの有効性を出力する。
 図3の例では、第2モデルM2は、第1モデルM1が出力した3つの推定結果のうち、属性「Image」の属性値「Computer Graphic」と、属性「Pattern」の属性値「Zebra」と、が有効であると推定する。第2モデルM2は、第1モデルM1が出力した3つの推定結果のうち、属性「Nation」の属性値「Republic of the Congo」が有効ではないと推定する。
 本実施形態では、第2モデルM2の推定結果に基づいて、第1モデルM1の訓練データが生成される。図3の例であれば、検索クエリ「CG bag Zebra」と、属性「Image」の属性値「Computer Graphic」と、のペアを含む訓練データと、検索クエリ「CG bag Zebra」と、属性「Pattern」の属性値「Zebra」と、のペアを含む訓練データと、が生成される。第1モデルM1には、これら2つの訓練データが学習される。
 以上のように、処理実行システムSは、第1モデルM1に基づいて、検索クエリを入力した検索者の意図を推定する。処理実行システムSは、第2モデルM2に基づいて、第1モデルM1の推定結果のうち有効ではない推定結果を除去し、第1モデルM1の訓練データを生成する。処理実行システムSは、この訓練データを第1モデルM1に学習させる。これにより、ページデータベースDB1に格納された訓練データが十分ではなかったとしても、第1モデルM1の精度が高まる。第1モデルM1の訓練データを作成する手間を省くこともできる。以降、処理実行システムSの詳細を説明する。
[3.処理実行システムで実現される機能]
 図4は、処理実行システムSで実現される機能の一例を示す機能ブロック図である。
[3-1.検索サーバで実現される機能]
 データ記憶部100は、記憶部12を主として実現される。検索部101は、制御部11を主として実現される。
[データ記憶部]
 データ記憶部100は、検索サービスを提供するために必要なデータを記憶する。例えば、データ記憶部100は、ウェブページのインデックスと、ウェブページのURLと、が関連付けられて格納されたデータベースを記憶する。インデックスは、検索クエリとの比較対象となる情報である。インデックスは、任意の情報を利用可能である。例えば、ウェブページのタイトル、ウェブページの属性及び属性値、ウェブページに含まれる任意のキーワード、又はこれらの組み合わせがインデックスとして利用される。例えば、データ記憶部100は、ポータルページP1及び検索結果ページP2を表示させるためのデータ(例えば、HTMLデータ)を記憶する。他にも例えば、データ記憶部100は、過去に入力された検索クエリの履歴を記憶したり、後述のクエリ選択データを記憶したりしてもよい。
[検索部]
 検索部101は、検索者が入力した検索クエリに基づいて、検索処理を実行する。検索処理自体は、種々の検索エンジンを適用可能である。例えば、検索部101は、検索者が入力した検索クエリと、データ記憶部100に記憶されたウェブページのインデックスと、に基づいて、ウェブページの検索スコアを計算する。検索スコアは、検索クエリとインデックスとの一致度を示す。検索スコアの計算方法自体は、種々の検索エンジンで採用されている計算方法を適用可能である。
 検索部101は、検索スコアが高い順に所定数のウェブページを選択し、当該選択されたウェブページへのリンクを含む検索結果ページP2を生成する。検索部101は、検索者端末30に、検索結果ページP2のデータを送信する。検索部101は、検索者端末30から検索者による選択結果を受信すると、検索者が選択したリンクに対応するウェブページに検索者端末30をアクセスさせる。検索部101は、検索者が入力した検索クエリと、検索者が選択したリンクに対応するウェブページと、の関係をデータ記憶部100に記録する。この関係は、後述のクエリ選択データに相当する。
[3-2.学習サーバで実現される機能]
 データ記憶部200は、記憶部22を主として実現される。第1学習部201、第2分類情報取得部202、候補生成部203、第3分類情報取得部204、第2学習部205、有効性推定部206、及び実行部207の各々は、制御部21を主として実現される。
[データ記憶部]
 データ記憶部200は、図3で説明した処理に必要なデータを記憶する。例えば、データ記憶部200は、ページデータベースDB1、検索クエリデータベースDB2、訓練データベースDB3、クエリ選択データベースDB4、第1モデルM1、及び第2モデルM2を記憶する。
 図5は、ページデータベースDB1の一例を示す図である。ページデータベースDB1は、ウェブページに関する情報が格納されたデータベースである。例えば、ページデータベースDB1には、ウェブページのタイトルと、ウェブページの属性及び属性値と、が関連付けられて格納される。
 例えば、学習サーバ20は、作成者がウェブページをアップロードした検索サーバ10又は他のサーバから、ウェブページのタイトルと、ウェブページの属性及び属性値と、のペアを取得し、当該取得されたペアをページデータベースDB1に格納する。ページデータベースDB1に格納されたペアは、第1モデルM1の訓練データとして利用される。この訓練データは、後述する初期の第1モデルM1を生成するために利用される。
 第1モデルM1の訓練データは、入力部分と出力部分のペアを含む。第1モデルM1の訓練データの入力部分は、実際に第1モデルM1に入力されるデータと同じ形式である。本実施形態では、検索クエリを示す文字列が第1モデルM1に入力されるので、第1モデルM1の訓練データの入力部分は文字列である。第1モデルM1の訓練データの出力部分は、実際に第1モデルM1から出力されるデータと同じ形式である。本実施形態では、属性を示す文字列と、属性値を示す文字列と、の組み合わせが第1モデルM1から出力されるので、第1モデルM1の訓練データの出力部分は2つの文字列の組み合わせを含む。
 図6は、検索クエリデータベースDB2の一例を示す図である。検索クエリデータベースDB2は、過去に入力された検索クエリが格納されたデータベースである。検索サーバ10は、検索者が入力した検索クエリに基づいて検索処理を実行すると、学習サーバ20に検索クエリを送信する。学習サーバ20は、検索サーバ10から受信した検索クエリを、検索クエリデータベースDB2に格納する。
 図7は、訓練データベースDB3の一例を示す図である。訓練データベースDB3は、第1モデルM1の訓練データが格納されたデータベースである。この訓練データは、後述の実行部207により生成される。この訓練データは、後述する初期の第1モデルM1の精度を高めるために利用される。訓練データベースDB3に格納される訓練データの形式は、ページデータベースDB1に格納された訓練データと同様の形式である。ただし、これらの訓練データの形式自体は同様であるが、これらの訓練データが示す具体的な内容は互いに異なる。
 例えば、ページデータベースDB1に格納された訓練データの入力部分は、ウェブページのタイトルを示す文字列であるのに対し、訓練データベースDB3に格納された訓練データの入力部分は、検索クエリを示す文字列である。これらの入力部分は、作成者及び検索者の各々が何らかの意図で入力した文字列という意味では同様であるが、具体的な内容は異なる。
 例えば、ページデータベースDB1に格納された訓練データの出力部分は、ウェブページの属性及び属性値の各々を示す文字列であるのに対し、訓練データベースDB3に格納された訓練データの出力部分は、検索者の意図を示す文字列である。これらの出力部分は、作成者及び検索者の各々の意図が何らかの形で表れた文字列という意味では同様であるが、具体的な内容は異なる。
 図8は、クエリ選択データベースDB4の一例を示す図である。クエリ選択データベースDB4は、クエリ選択データが格納されたデータベースである。クエリ選択データは、検索クエリに対する選択結果を示すデータである。クエリ選択データは、クエリクリックログと呼ばれることもある。例えば、クエリ選択データベースDB4には、検索クエリと、ページ情報と、が関連付けられて格納される。
 ページ情報は、ウェブページに関する情報である。このウェブページは、検索クエリを入力した検索者が検索結果ページP2で選択したリンクが示すウェブページである。このウェブページは、検索者により実際に選択されているので、検索者の意図に沿ったウェブページといえる。例えば、ページ情報は、ウェブページのタイトル、属性、及び属性値を含む。ページ情報は、任意の情報を含んでよく、例えば、ウェブページのURLや閲覧日時を含んでもよい。
 データ記憶部200は、学習済みの第1モデルM1を記憶する。第1モデルM1は、畳み込み等の処理を実行するためのプログラム部分と、重み等のパラメータ部分と、を含む。本実施形態では、第1モデルM1は、マルチラベルに対応したモデルである。マルチラベルに対応したモデルは、入力されたデータに対して複数の分類を推定可能である。第1モデルM1には、ウェブページのタイトルと、ウェブページの属性及び属性値と、の関係が学習される。
 ウェブページのタイトルは、第1データの一例である。このため、ウェブページのタイトルについて説明している箇所は、第1データと読み替えることができる。第1データは、初期の第1モデルM1の訓練データのうちの入力部分である。初期の第1モデルM1とは、実行部207により生成された訓練データが学習される前の第1モデルM1である。本実施形態では、ページデータベースDB1を利用して初期の第1モデルM1の訓練データが生成されるので、第1データは、ページデータベースDB1に格納されたウェブページのタイトルである。
 第1データは、第1モデルM1の学習に利用可能なデータであればよく、ウェブページのタイトルに限られない。例えば、第1データは、ウェブページに含まれるタイトル以外の文字列、ウェブページのインデックスとして利用されるキーワード、又はウェブページから作成された要約であってもよい。第1データは、文字列そのものではなく、文字列の何らかの特徴を示す特徴量であってもよい。第1データは、任意の形式であってよく、文字列に限られない。例えば、第1データは、画像データ、動画データ、文書データ、又はその他の任意のデータであってもよい。例えば、第1データは、コンテンツと呼ばれるデータであってもよい。
 ウェブページの属性及び属性値は、第1分類情報の一例である。このため、ウェブページの属性及び属性値について説明している箇所は、第1分類情報と読み替えることができる。第1分類情報は、第1データの分類に関する情報である。第1分類情報は、初期の第1モデルM1の訓練データのうちの出力部分である。本実施形態では、ページデータベースDB1を利用して初期の第1モデルM1の訓練データが生成されるので、第1分類情報は、ページデータベースDB1に格納された属性及び属性値である。本実施形態では、第1データ及び第1分類情報は、検索時のインデックスとして利用されるデータである。
 第1分類情報は、第1モデルM1の学習に利用可能な情報であればよく、ウェブページの属性及び属性値に限られない。例えば、第1分類情報は、ウェブページの属性又は属性値の何れかのみを示してもよい。第1分類情報は、任意の形式であってよく、文字列に限られない。例えば、第1分類情報は、分類を一意に識別可能なID又は番号のような情報であってもよい。本実施形態では、属性及び属性値のペアの1つ1つが第1分類情報に相当する場合を説明する。このため、ある1つの第1データに対し、複数の第1分類情報が関連付けられることがある。複数の属性及び属性値のペアを1つの第1分類情報として扱ってもよい。この場合、ある1つの第1データに対し、1つの第1分類情報が関連付けられる。
 例えば、第1モデルM1には、第1データの候補と、第1分類情報の候補と、を含むページデータベースDB1に基づいて取得された、第1データと、第1分類情報と、の関係が学習される。ページデータベースDB1は、第1データベースの一例である。このため、ページデータベースDBについて説明している箇所は、第1データベースと読み替えることができる。第1データベースは、初期の第1モデルM1の訓練データの候補となるデータが格納されたデータベースである。第1データベースの全部又は一部のデータが、初期の第1モデルM1の訓練データとして利用される。
 データ記憶部200は、学習済みの第2モデルM2を記憶する。第2モデルM2は、畳み込み等の処理を実行するためのプログラム部分と、重み等のパラメータ部分と、を含む。本実施形態では、第2モデルM2は、有効であるか否かを示す情報(有効であることを示す第1の値、又は、有効ではないことを示す第2の値の何れか)を出力する場合を説明するが、第2モデルM2は、有効性を示すスコアを出力してもよい。即ち、第2モデルM2の出力は、有効であるか否かといった2値的な情報ではなく、スコアのような中間値を有する情報であってもよい。第2モデルM2には、検索クエリと属性及び属性値との組み合わせと、当該組み合わせの有効性と、の関係が学習されている。
 属性及び属性値が関連付けられた検索クエリは、第3データの一例である。このため、属性及び属性値が関連付けられた検索クエリについて説明している箇所は、第3データと読み替えることができる。第3データは、第2モデルM2の訓練データのうちの入力部分である。本実施形態では、クエリ選択データベースDB4を利用して第2モデルM2の訓練データが生成されるので、クエリ選択データベースDB4に格納された検索クエリは、第3データに相当する。本実施形態では、初期の第1モデルM1の推定結果も第2モデルM2の学習で利用されるので、初期の第1モデルM1に入力された検索クエリも、第3データに相当する。
 第3データは、第2モデルM2の学習に利用可能なデータであればよく、検索クエリに限られない。例えば、第3データは、ウェブページのタイトル、ウェブページに含まれるタイトル以外の文字列、ウェブページのインデックスとして利用されるキーワード、又はウェブページから作成された要約であってもよい。第3データは、文字列そのものではなく、文字列の何らかの特徴を示す特徴量であってもよい。第3データは、任意の形式であってよく、文字列に限られない。例えば、第3データは、画像データ、動画データ、文書データ、又はその他の任意のデータであってもよい。例えば、第3データは、コンテンツと呼ばれるデータであってもよい。
 検索クエリに関連付けられた属性及び属性値は、第3分類情報の一例である。このため、検索クエリに関連付けられた属性及び属性値について説明している箇所は、第3分類情報と読み替えることができる。第3分類情報は、第3データの分類に関する情報である。第3分類情報は、第2モデルM2の訓練データのうちの出力部分である。本実施形態では、クエリ選択データベースDB4を利用して第2モデルM2の訓練データが生成されるので、クエリ選択データベースDB4に格納された属性及び属性値は、第3分類情報に相当する。本実施形態では、初期の第1モデルM1の推定結果も第2モデルM2の学習で利用されるので、初期の第1モデルM1により推定された属性及び属性値も、第3分類情報に相当する。
 第3分類情報は、第2モデルM2の学習に利用可能な情報であればよく、検索クエリに関連付けられた属性及び属性値に限られない。例えば、第3分類情報は、検索クエリに関連付けられた属性又は属性値の何れかのみを示してもよい。第3分類情報は、任意の形式であってよく、文字列に限られない。例えば、第3分類情報は、分類を一意に識別可能なID又は番号のような情報であってもよい。本実施形態では、属性及び属性値のペアの1つ1つが第3分類情報に相当する場合を説明する。このため、ある1つの第3データに対し、複数の第3分類情報が関連付けられることがある。複数の属性及び属性値のペアを1つの第3分類情報として扱ってもよい。この場合、ある1つの第3データに対し、1つの第3分類情報が関連付けられる。
 第2モデルM2には、第3データ及び第3分類情報の組み合わせと、当該組み合わせが有効である旨を示す有効性と、の関係が学習される。例えば、第2モデルM2には、第3データの候補と、第3分類情報の候補と、を含むクエリ選択データベースDB4であって、クエリ選択データベースDB4に基づいて取得された、第3データと、第3分類情報と、の関係が学習される。クエリ選択データベースDB4は、第2データベースの一例である。このため、クエリ選択データベースDB4について説明している箇所は、第2データベースと読み替えることができる。
 第2データベースは、第2モデルM2の訓練データの候補となるデータが格納されたデータベースである。第2データベースの全部又は一部のデータが、第2モデルM2の訓練データとして利用される。第2データベースは、第1データベースとは異なる観点のデータベースである。観点とは、訓練データとして用いられるデータの具体的な内容である。第1モデルM1の訓練データに含まれる入力部分と、第2モデルM2の訓練データに含まれる入力部分と、は異なる種類のデータが利用される。本実施形態では、第1モデルM1の訓練データに含まれる入力部分は、ウェブページのタイトルであるのに対し、第2モデルM2の訓練データに含まれる入力部分は、検索クエリである。ウェブページのタイトルと検索クエリは、文字列という意味では同じであるが、具体的な内容は異なる。
[第1学習部]
 第1学習部201は、第1モデルM1の学習処理を実行する。本実施形態では、ページデータベースDB1に格納されたデータが第1モデルM1の訓練データとして用いられるので、第1学習部201は、この訓練データに基づいて、第1モデルM1の学習処理を実行する。例えば、第1学習部201は、訓練データの入力部分であるウェブページのタイトルが入力された場合に、訓練データの出力部分である属性及び属性値が出力されるように、第1モデルM1の学習処理を実行する。第1モデルM1の学習処理自体は、種々のアルゴリズムを利用可能であり、例えば、誤差逆伝播法又は勾配降下法を利用可能である。
[第2分類情報取得部]
 第2分類情報取得部202は、ウェブページのタイトルと、当該タイトルの属性及び属性値と、の関係が学習された第1モデルM1に基づいて、検索クエリの属性及び属性値(即ち、検索者の意図の推定結果)を取得する。
 属性及び属性値が関連付けられていない検索クエリは、第2データの一例である。このため、属性及び属性値が関連付けられていない検索クエリについて説明している箇所は、第2データと読み替えることができる。第2データは、第1モデルM1に入力されるデータである。第2データは、第1データと同じ形式である。本実施形態では、属性及び属性値が関連付けられていない検索クエリが検索クエリデータベースDB2に格納されているので、検索クエリデータベースDB2に格納された検索クエリは、第2データに相当する。即ち、第2データは、ユーザが入力した検索クエリである。
 第2データは、第1モデルM1の推定対象となるデータであればよく、検索クエリに限られない。例えば、検索者の意図ではなく作成者の意図を推定する場合には、第2データは、ウェブページのタイトル、ウェブページに含まれるタイトル以外の文字列、ウェブページのインデックスとして利用されるキーワード、又はウェブページから作成された要約であってもよい。第2データは、文字列そのものではなく、文字列の何らかの特徴を示す特徴量であってもよい。第2データは、任意の形式であってよく、文字列に限られない。例えば、第2データは、画像データ、動画データ、文書データ、又はその他の任意のデータであってもよい。例えば、第2データは、コンテンツと呼ばれるデータであってもよい。
 検索クエリに対して推定される属性及び属性値は、第2分類情報の一例である。このため、検索クエリに対して推定される属性及び属性値について説明している箇所は、第2分類情報と読み替えることができる。第2分類情報は、第2データの分類に関する情報である。本実施形態では、第2データが検索クエリなので、第2分類情報は、検索クエリの分類に関する情報である。例えば、第2分類情報は、ユーザが検索クエリを入力した意図に関する情報である。第2分類情報は、第1モデルM1により推定された属性及び属性値である。本実施形態では、第2モデルM2により有効性が推定されるので、第2モデルM2により有効性が推定された属性及び属性値は、第2分類情報に相当する。
 第2分類情報は、第1モデルM1の推定結果を示す情報であればよく、検索クエリの属性及び属性値に限られない。例えば、第2分類情報は、検索クエリの属性又は属性値の何れかのみを示してもよい。第2分類情報は、任意の形式であってよく、文字列に限られない。例えば、第2分類情報は、分類を一意に識別可能なID又は番号のような情報であってもよい。本実施形態では、属性及び属性値のペアの1つ1つが第2分類情報に相当する場合を説明する。このため、ある1つの第2データに対し、複数の第2分類情報が関連付けられることがある。複数の属性及び属性値のペアを1つの第2分類情報として扱ってもよい。この場合、ある1つの第2データに対し、1つの第2分類情報が関連付けられる。
 例えば、第2分類情報取得部202は、検索クエリデータベースDB2に格納された検索クエリを、第2データとして第1モデルM1に入力する。第1モデルM1は、この検索クエリの特徴量を計算し、特徴量に応じた属性及び属性値を推定結果として出力する。第2分類情報取得部202は、第1モデルM1から出力された属性及び属性値を、第2分類情報として取得する。本実施形態では、第1モデルM1がマルチラベルに対応しているので、第2分類情報取得部202は、第1モデルM1に基づいて、複数の属性及び属性値を取得する。マルチラベルに対応した第1モデルM1だったとしても、属性及び属性値が1つしか推定されないこともある。
 なお、本実施形態では、第1モデルM1の処理で必要な特徴量などの計算は、第1モデルM1内で行われるものとする。このため、第2データがそのまま第1モデルM1に入力される場合を説明するが、何らかの集計処理等が必要な第2データであれば、第1モデルM1の外部で集計処理等が実行されたうえで第1モデルM1に入力されてもよい。即ち、第2データがそのまま第1モデルM1に入力されるのではなく、第2データに何らかの処理が実行されたうえで第1モデルM1に入力されてもよい。
[候補生成部]
 候補生成部203は、複数の生成方法の各々に基づいて、第3データである検索クエリと、第3分類情報である属性及び属性値と、の候補を生成する。候補とは、第3データ又は第3分類情報になりうるデータ又は情報である。本実施形態では、クエリ選択データベースDB4を利用した生成方法と、初期の第1モデルM1を利用した生成方法と、の2つの生成方法を例に挙げる。候補生成部203は、これらの2つの生成方法のうちの何れかだけに基づいて、候補を生成してもよい。
 図9は、第2モデルM2の訓練データを生成する方法の一例を示す図である。図9のように、候補生成部203は、クエリ選択データベースDB4に格納された検索クエリと、当該検索クエリを入力した検索者が選択したウェブページの属性及び属性値と、を候補C1として取得する。候補生成部203は、検索クエリデータベースDB2に格納された検索クエリを、初期の第1モデルM1に入力し、初期の第1モデルM1から出力された属性及び属性値を取得することによって、候補C2を取得する。
 第2モデルM2には、複数の生成方法のうちの複数で生成された候補C3が、第3データ及び第3分類情報として学習される。図9の例であれば、クエリ選択データベースDB4を利用した生成方法と、初期の第1モデルM1を利用した生成方法と、の両方で取得された候補C3だけが第2モデルM2に学習される。候補C3は、候補C1及び候補C2のANDとなる。クエリ選択データベースDB4を利用した生成方法、又は、初期の第1モデルM1を利用した生成方法の何れかだけで取得された候補については、第2モデルM2には学習されない。
[第3分類情報取得部]
 第3分類情報取得部204は、第3データである検索クエリと、第1モデルM1と、に基づいて、第3分類情報である属性及び属性値を取得する。この第1モデルM1は、初期の第1モデルM1である。第3分類情報取得部204は、初期の第1モデルM1に、クエリ選択データベースDB4に格納された検索クエリを入力する。初期の第1モデルM1は、この検索クエリの特徴量を計算し、特徴量に応じた属性及び属性値を推定結果として出力する。第3分類情報としての属性及び属性値を取得するための第1モデルM1の処理自体は、第2分類情報としての属性及び属性値を取得するための処理(第2分類情報取得部202の機能で説明した処理)と同様である。
 本実施形態では、第3分類情報取得部204により取得される属性及び属性値は、図9の候補C2である。本実施形態では、候補C2のうち、候補C1でも登場するものが第2モデルM2の訓練データになるが、候補C1は関係なく、候補C2を第2モデルM2の訓練データにしてもよい。即ち、第3分類情報取得部204により取得された属性及び属性値がそのまま第2モデルM2の訓練データとして用いられてもよい。逆に、候補C2は関係なく、候補C1を第2モデルM2の訓練データにしてもよい。
[第2学習部]
 第2学習部205は、第2モデルM2の学習処理を実行する。本実施形態では、訓練データベースDB3に格納されたデータが第2モデルM2の訓練データとして用いられるので、第2学習部205は、この訓練データに基づいて、第2モデルM2の学習処理を実行する。例えば、第2学習部205は、訓練データの入力部分である検索クエリと属性及び属性値との組み合わせが入力された場合に、当該組み合わせに関する有効性が出力されるように、第2モデルM2の学習処理を実行する。第2モデルM2の学習処理自体は、種々のアルゴリズムを利用可能であり、例えば、誤差逆伝播法又は勾配降下法を利用可能である。
[有効性推定部]
 有効性推定部206は、所定の推定方法に基づいて、第2データである検索クエリと、第2分類情報である属性及び属性値と、の組み合わせに関する有効性を推定する。有効性とは、実行部207の処理に有効であるか否か、又は、実行部207の処理に有効である程度である。本実施形態では、実行部207が訓練データの生成処理を実行するので、上記組み合わせが、訓練データとして適しているか否か、又は、訓練データとして適している程度は、有効性に相当する。有効性は、実行部207の処理における適性ということもできる。
 本実施形態では、有効性推定部206が、上記組み合わせが有効であるか否かを判定することが有効性を推定することに相当する場合を説明するが、有効の程度を示すスコアを取得することが有効性を推定することに相当してもよい。スコアは、有効性の高さを示す。スコアは、数字で表現されてもよいし、Sランク、Aランク、Bランクといった文字又はその他の記号で表現されてもよい。
 本実施形態では、有効性推定部206の推定方法の一例として、第3データである検索クエリと第3分類情報である属性及び属性値との組み合わせと、当該組み合わせの有効性と、の関係が学習された第2モデルM2を利用した方法を説明する。有効性推定部206は、第2モデルM2に基づいて、有効性を推定する。検索クエリに対して複数の属性及び属性値が推定された場合には、有効性推定部206は、属性及び属性値ごとに、有効性を推定する。例えば、有効性推定部206は、属性及び属性値ごとに、検索クエリと当該属性及び属性値との組み合わせを第2モデルM2に入力し、第2モデルM2から出力された有効性の推定結果を取得する。
 図3の例であれば、検索クエリ「CG bag Zebra」に対し、属性「Image」の属性値「Computer Graphic」、属性「Nation」の属性値「Republic of the Congo」、及び属性「Pattern」の属性値「Zebra」が推定されている。図3のように、1つの検索クエリに対して、属性及び属性値の組み合わせが3つ推定されている場合には、下記のように、有効性の推定結果が3つ取得される。
 例えば、有効性推定部206は、検索クエリ「CG bag Zebra」と、属性「Image」の属性値「Computer Graphic」と、の組み合わせである第1の組み合わせを第2モデルM2に入力し、第2モデルM2から出力された第1の組み合わせの有効性の推定結果を取得する。図3の例では、この推定結果は、第1の組み合わせが有効であることを示す。
 例えば、有効性推定部206は、検索クエリ「CG bag Zebra」と、属性「Nation」の属性値「Republic of the Congo」と、の組み合わせである第2の組み合わせを第2モデルM2に入力し、第2モデルM2から出力された第2の組み合わせの有効性の推定結果を取得する。図3の例では、この推定結果は、第2の組み合わせが有効ではないことを示す。
 例えば、有効性推定部206は、検索クエリ「CG bag Zebra」と、属性「Pattern」の属性値「Zebra」と、の組み合わせである第3の組み合わせを第2モデルM2に入力し、第2モデルM2から出力された第3の組み合わせの有効性の推定結果を取得する。図3の例では、この推定結果は、第3の組み合わせが有効であることを示す。
 本実施形態では、有効性推定部206の推定方法は、過去に入力された検索クエリと、当該検索クエリに基づく検索結果に対する選択結果と、の関係を示すクエリ選択データを利用した方法である。有効性推定部206は、クエリ選択データに基づいて、有効性を推定する。本実施形態では、クエリ選択データに基づいて第2モデルM2の学習が行われているので、第2モデルM2に基づいて有効性を推定することは、クエリ選択データに基づいて有効性を推定することに相当する。
 なお、有効性推定部206の推定方法は、第2モデルM2を利用した方法に限られない。例えば、有効性推定部206は、機械学習手法ではなく、予め定められたルールベースの推定方法に基づいて、有効性を推定してもよい。この場合、第2データである検索クエリと、第2分類情報である属性及び属性値と、の組み合わせが入力されると、有効性を出力するルールが予め用意されているものとする。このルールは、決定木のようなものであってもよい。その他の推定方法として、後述の変形例のようなルールベース又は統計ベースの推定方法であってもよい。
[実行部]
 実行部207は、有効性推定部206による有効性の推定結果に基づいて、所定の処理を実行する。本実施形態では、実行部207は、第2データである検索クエリと第2分類情報である属性及び属性値との組み合わせと、有効性推定部206による有効性の推定結果と、に基づいて、所定の処理として、第1モデルM1に学習させる訓練データを生成する生成処理を実行する。生成処理は、所定の処理の一例である。このため、生成処理について説明している箇所は、所定の処理と読み替えることができる。所定の処理は、任意の処理であってよく、生成処理に限られない。所定の処理の他の例は、後述の変形例で説明する。
 例えば、実行部207は、有効性推定部206により有効性が推定された検索クエリと、有効であることを示す推定結果が得られた属性及び属性値と、のペアを訓練データとして訓練データベースDB3に格納することによって、生成処理を実行する。有効性推定部206により有効性が推定された検索クエリと、有効であることを示さない推定結果が得られた属性及び属性値と、のペアは、訓練データとして生成されない。
 第2分類情報として複数の属性及び属性値が取得された場合には、実行部207は、属性及び属性値ごとの有効性に基づいて、生成処理を実行する。例えば、実行部207は、複数の属性及び属性値のうち、有効であることを示す推定結果が得られた属性及び属性値についてのみ訓練データを生成する。複数の属性及び属性値のうち、有効であることを示さない推定結果が得られた属性及び属性値については、訓練データとして生成されない。
[3-3.検索者端末で実現される機能]
 データ記憶部300は、記憶部32を主として実現される。表示制御部301及び受付部302は、制御部31を主として実現される。データ記憶部300は、検索に必要なデータを記憶する。例えば、データ記憶部300は、ポータルページP1及び検索結果ページP2を表示させるためのブラウザを記憶する。検索者端末30に表示される画面は、ブラウザではなく、他のアプリケーションが利用されてもよい。この場合、データ記憶部300は、当該アプリケーションを記憶する。
 表示制御部301は、種々の画面を表示部35に表示させる。例えば、表示制御部301は、検索サーバ10からポータルページP1のデータを受信すると、ポータルページP1を表示部35に表示させる。表示制御部301は、検索サーバ10から検索結果ページP2のデータを受信すると、検索結果ページP2を表示部35に表示させる。
 受付部302は、操作部34から種々の操作を受け付ける。例えば、受付部302は、ポータルページP1の入力フォームF10に対する検索クエリの入力を受け付ける。検索者端末30は、当該入力された検索クエリを検索サーバ10に送信する。例えば、受付部302は、検索結果ページP2が示す検索結果に含まれるリンクの選択を受け付ける。検索者端末30は、当該選択されたリンクを検索サーバ10に送信する。
[3-4.作成者端末で実現される機能]
 データ記憶部400は、記憶部32を主として実現される。表示制御部401及び受付部402の各々は、制御部41を主として実現される。データ記憶部400は、ウェブページを作成するためのアプリケーションを記憶する。表示制御部401は、種々の画面を表示部45に表示させる。例えば、表示制御部401は、ウェブページを作成するためのアプリケーションの画面を表示させる。受付部402は、操作部44から種々の操作を受け付ける。例えば、受付部402は、作成者によるウェブページの作成操作を受け付けたり、当該ウェブページのタイトル、属性、及び属性値の指定操作を受け付けたりする。
[4.処理実行システムで実行される処理]
 図10は、処理実行システムSで実行される処理の一例を示すフロー図である。図10では、処理実行システムSで実行される処理のうち、学習サーバ20により実行される処理を説明する。この処理は、制御部21が記憶部22に記憶されたプログラムに従って動作することによって実行される。
 図10のように、学習サーバ20は、ページデータベースDB1に基づいて、第1モデルM1の学習処理を実行する(S1)。S1では、学習サーバ20は、ページデータベースDB1に格納されたウェブページのタイトルが示す文字列が入力された場合に、このタイトルに関連付けられた属性及び属性値が出力されるように、第1モデルM1のパラメータが調整される。S1で学習処理が実行された第1モデルM1は、初期の第1モデルM1である。初期の第1モデルM1は、後述のS10の処理により追加の学習処理が実行される。
 学習サーバ20は、クエリ選択データベースDB4に基づいて、第2モデルM2の訓練データの候補C1を取得する(S2)。S2では、学習サーバ20は、クエリ選択データベースDB4に格納された検索クエリと、この検索クエリを入力した検索者が選択したウェブページの属性及び属性値と、のペアを、第2モデルM2の訓練データの候補C1として取得する。S2では、学習サーバ20は、クエリ選択データベースDB4の全部又は一部のペアを取得する。
 学習サーバ20は、初期の第1モデルM1に基づいて、第2モデルM2の訓練データの候補C2を取得する(S3)。S3では、学習サーバ20は、検索クエリデータベースDB2に格納された検索クエリを初期の第1モデルM1に入力し、初期の第1モデルM1から出力された属性及び属性値を取得する。学習サーバ20は、第1モデルM1に入力した検索クエリと、第1モデルM1から出力された属性及び属性値と、のペアを訓練データの候補C2として取得する。S3では、学習サーバ20は、検索クエリデータベースDB2の全部又は一部の検索クエリを学習サーバ20に入力し、当該検索クエリと、学習サーバ20から出力された属性及び属性値と、のペアを訓練データの候補C2として取得する。
 学習サーバ20は、S2で取得した候補C1と、S3で取得した候補C2と、に基づいて、第2モデルM2の訓練データを生成する(S4)。S4では、学習サーバ20は、S2で取得した候補C1と、S3で取得した候補C2と、の両方のANDを取り、これらの両方に存在する候補C3を、第2モデルM2の訓練データとして生成する。
 学習サーバ20は、S4で生成した訓練データに基づいて、第2モデルM2の学習処理を実行する(S5)。S5では、学習サーバ20は、S4で生成した訓練データに含まれる入力部分の文字列が入力された場合に、この文字列に関連付けられた属性及び属性値が出力されるように、第2モデルM2のパラメータが調整される。
 学習サーバ20は、第1モデルM1に基づいて、検索クエリデータベースDB2に格納された検索クエリの属性及び属性値を推定する(S6)。S6では、S3における処理の結果が流用されてもよい。学習サーバ20は、第2モデルM2に基づいて、検索クエリとS6で取得した属性及び属性値との組み合わせの有効性を推定する(S7)。S7では、学習サーバ20は、S6の処理の対象となった検索クエリと、S6で推定された属性及び属性値と、のペアを第2モデルM2入力し、第2モデルM2から出力された有効性の推定結果を取得する。
 学習サーバ20は、S7における有効性の推定結果に基づいて、第1モデルM1の訓練データを生成する(S8)。S8では、学習サーバ20は、S7で有効であると推定された検索クエリと属性及び属性値とのペアを、訓練データとして訓練データベースDB3に格納する。学習サーバ20は、十分な数の訓練データを生成したか否かを判定する(S9)。S9では、S8で生成された訓練データが所定数に達したか否かを判定する。十分な数の訓練データを生成していないと判定された場合(S9;N)、S6の処理に戻り、訓練データの生成が繰り返される。
 S9において、十分な数の訓練データを生成したと判定された場合(S9;Y)、学習サーバ20は、訓練データベースDB3に基づいて、第1モデルM1の学習処理を実行する(S10)。S10では、学習サーバ20は、訓練データベースDB3に格納された訓練データに含まれる入力部分の文字列が入力された場合に、この文字列に関連付けられた属性及び属性値が出力されるように、第1モデルM2のパラメータが調整される。
 学習サーバ20は、学習後の第1モデルM1に基づいて、検索クエリデータベースDB2に格納された検索クエリの属性及び属性値を推定し(S11)、本処理は終了する。S11の処理は、S3及びS6と同様であるが、初期の第1モデルM1ではなく、S10の処理で学習済みの第1モデルM1が用いられる点で異なる。学習サーバ20は、S11で推定した属性及び属性値を、検索クエリに関連付けて記憶部22に記録する。当該記録された検索クエリと、属性及び属性値と、は任意の目的で利用される。例えば、学習サーバ20は、処理実行システムSの管理者により、これらの関連付けの参照が要求された場合にマーケティング目的等でこれらの関連付けを出力する。
 本実施形態の処理実行システムSによれば、所定の推定方法に基づいて、検索クエリと、第1モデルM1により推定された属性及び属性値と、の組み合わせに関する有効性を推定する。処理実行システムSは、有効性を推定したうえで所定の処理を実行するので、訓練データが十分ではないことに起因して第1モデルM1の精度が十分ではない場合にも、所望の結果を得ることができる。例えば、所定の処理として生成処理を実行することにより、有効性を推定したうえで第1モデルM1の訓練データを生成できるので、第1モデルM1の精度が高まる。その結果、第1モデルM1が検索クエリの属性及び属性値を推定する精度が高まるので、ユーザの意図を推定するといった所望の結果を得やすくなる。他にも例えば、過去に入力された検索クエリから第1モデルM1の訓練データを作成できるので、第1モデルM1の訓練データを作成する手間を省くこともできる。
 また、処理実行システムSは、第2モデルM2に基づいて、検索クエリと属性及び属性値との組み合わせに関する有効性を推定する。これにより、これらの組み合わせの有効性の推定精度が高まる。有効性の推定精度が高まることによって、所定の処理として生成される第1モデルM1の訓練データの精度も高まる。このため、第1モデルM1の推定精度が高まるので、所望の結果を得やすくなる。
 また、第1モデルM1には、ページデータベースDB1に基づいて取得された、ウェブページのタイトルと、属性及び属性値と、の関係が学習される。第2モデルM2には、ページデータベースDB1とは異なる観点のクエリ選択データベースDB4に基づいて取得された検索クエリと属性及び属性値との関係が学習される。これにより、第2モデルM2による有効性の推定精度が高まる。第1モデルM1と同様の訓練データを第2モデルM2に学習させても、第1モデルM1の推定結果の誤りを特定するような第2モデルM2を作成することは難しいと考えられるが、第1モデルM1の学習で利用した訓練データとは異なる観点の訓練データを利用することによって、第1モデルM1と違った観点で第2モデルM2の学習を行うことができる。このため、第1モデルM1の推定結果の誤りを特定するような第2モデルM2を作成できるので、第2モデルM2による有効性の推定精度が高まる。第2モデルM2による有効性の推定精度が高まることにより、所定の処理として生成される第1モデルM1の訓練データの精度も高まる。このため、第1モデルM1の推定精度が高まるので、所望の結果を得やすくなる。
 また、第2モデルM2には、初期の第1モデルM1を利用して推定した検索クエリと属性及び属性値との組み合わせと、当該組み合わせが有効である旨を示す有効性と、の関係が学習される。これにより、第2モデルM2の訓練データをより多く生成できるので、第2モデルM2による有効性の推定精度が高まる。第2モデルM2の訓練データを生成する手間を省くこともできる。第2モデルM2による有効性の推定精度が高まることにより、所定の処理として生成される第1モデルM1の訓練データの精度も高まる。このため、第1モデルM1の推定精度が高まるので、所望の結果を得やすくなる。
 また、処理実行システムSは、複数の生成方法の各々に基づいて、訓練データベースDB3に訓練データとして格納される検索クエリと属性及び属性値との組み合わせの候補を生成する。第2モデルM2には、複数の生成方法のうちの複数で生成された候補が訓練データとして学習される。これにより、第2モデルM2の訓練データをより多く生成できるので、第2モデルM2による有効性の推定精度が高まる。第2モデルM2の訓練データを生成する手間を省くこともできる。第2モデルM2による有効性の推定精度が高まることにより、所定の処理として生成される第1モデルM1の訓練データの精度も高まる。このため、第1モデルM1の推定精度が高まるので、所望の結果を得やすくなる。
 また、第2モデルM2には、ユーザが入力した検索クエリが第2データとして学習され、検索クエリの属性及び属性値が第2分類情報として学習される。これにより、実際に入力された検索クエリを第2モデルM2の学習で利用するので、第2モデルM2による有効性の推定精度が高まる。第2モデルM2による有効性の推定精度が高まることにより、所定の処理として実行される第1モデルM1の訓練データの精度も高まる。このため、第1モデルM1の推定精度が高まるので、所望の結果を得やすくなる。
 また、有効性の推定方法は、過去に入力された検索クエリと、当該検索クエリに基づく検索結果に対する選択結果と、の関係を示すクエリ選択データを利用した方法である。ユーザの意図が表れやすいクエリ選択データを利用することによって、検索クエリと属性及び属性値との組み合わせの有効性の推定精度が高まる。有効性の推定精度が高まることによって、所定の処理として生成される第1モデルM1の訓練データの精度も高まる。このため、第1モデルM1の推定精度が高まるので、所望の結果を得やすくなる。
 また、第1モデルM1に学習されるウェブページのタイトルと属性及び属性値とは、検索時のインデックスとして利用されるデータである。これにより、実際の検索時にインデックスとして利用される実用的なデータに基づいて、第1モデルM1の学習処理を実行できる。このため、第1モデルM1の推定精度が高まるので、所望の結果を得やすくなる。
 また、第2分類情報である属性及び属性値が、ユーザが検索クエリを入力した意図に関する情報として推定される。これにより、ユーザが検索クエリを入力した意図を推定できる。例えば、ユーザが検索クエリを入力した意図を推定すれば、検索サービスのマーケティングに活用したり、検索結果の精度を向上したりすることができる。
 また、検索クエリと属性及び属性値の組み合わせと、有効性の推定結果と、に基づいて、第1モデルM1に学習させる訓練データを生成する生成処理を実行する。これにより、第1モデルM1の推定精度が高まるので、所望の結果を得やすくなる。第1モデルM1の訓練データを作成する手間を省くこともできる。
 また、第1モデルM1は、ウェブページのタイトルと、複数の属性及び属性値と、の関係が学習された、マルチラベルに対応したモデルである。これにより、ユーザが入力した検索クエリに複数の属性及び属性値を関連付けることができる。これにより、第1モデルM1の推定精度が高まるので、所望の結果を得やすくなる。
[5.変形例]
 本開示は、以上に説明した実施形態に限定されるものではない。本開示の趣旨を逸脱しない範囲で、適宜変更可能である。
[5-1.変形例1]
 例えば、実施形態では、第2モデルM2が、検索クエリと属性及び属性値との組み合わせの有効性があるか否かを示す2値的な情報を、推定結果として出力する場合を説明したが、第2モデルM2は、この組み合わせの有効性に関するスコアを、推定結果として出力してもよい。スコアについては、実施形態で説明した通りである。変形例1では、スコアが数字によって表現される場合を説明する。スコアが高いほど有効性が高いことを意味する。スコアは、蓋然性又は確率ということもできる。例えば、第2モデルM2は、検索クエリと属性及び属性値との組み合わせが入力されると、この組み合わせのスコアを推定結果として出力する。
 変形例1の有効性推定部206は、検索クエリと属性及び属性値との組み合わせに基づいて、第2モデルM2から出力されたスコアを取得し、当該取得されたスコアに基づいて、有効性を推定する。例えば、有効性推定部206は、第2モデルM2から出力されたスコアが閾値未満である場合に、検索クエリと属性及び属性値との組み合わせが有効ではないと推定し、第2モデルM2から出力されたスコアが閾値以上である場合に、検索クエリと属性及び属性値との組み合わせが有効であると推定する。
 変形例1によれば、検索クエリと属性及び属性値との組み合わせに基づいて、第2モデルM2から出力されたスコアを取得し、当該取得されたスコアに基づいて、有効性を推定する。第2モデルM2が、有効であるか否かを示す2値的な情報を出力するのではなく、有効性の高さを示し、中間値を取り得るスコアを出力することによって、第2モデルM2の推定結果を活用しやすくなる。例えば、スコアの値によって、第2モデルM2がどの程度の確度で有効であるかを理解しやすくなる。その結果、所定の処理として実行される第1モデルM1の訓練データの精度も高まる。例えば、第1モデルM1の訓練データを生成するために取得された第2モデルM2のスコアが高いほど、第1モデルM1の重みを大きくするといったこともできる。この場合、有効性が高い訓練データを第1モデルM1に学習させることができる。その結果、第1モデルM1の推定精度が高まるので、所望の結果を得やすくなる。
[5-2.変形例2]
 例えば、推定方法は、検索クエリと属性及び属性値とに基づくコサイン類似度を利用した方法であってもよい。コサイン類似度は、文字列同士の類似度を計算する手法である。例えば、第1文字列と第2文字列の類否を判定する場合に、第1文字列の特徴を示す第1ベクトルと、第2文字列の特徴を示す第2ベクトルと、のなす角度に基づいて、コサイン類似度が計算される。第1ベクトル及び第2ベクトルが同じ方向を向いているほど、コサイン類似度は高くなる。即ち、検索クエリと、属性及び属性値と、の特徴が似ているほど、コサイン類似度は高くなる。
 有効性推定部206は、検索クエリと属性及び属性値とに基づくコサイン類似度に基づいて、有効性を推定する。有効性推定部206は、検索クエリの特徴を示す第1ベクトルと、属性及び属性値の特徴を示す第2ベクトルと、のコサイン類似度を計算する。第1ベクトル及び第2ベクトルは、実施形態と同様の第2モデルM2により計算されてもよいし、Word2Vec又はDoc2Vecといった他のモデルにより計算されてもよい。コサイン類似度の計算方法自体は、自然言語処理で利用されている種々の計算方法を利用可能である。
 例えば、有効性推定部206は、検索クエリと属性及び属性値とに基づくコサイン類似度が閾値未満である場合に、検索クエリと属性及び属性値との組み合わせが有効ではないと推定し、検索クエリと属性及び属性値とに基づくコサイン類似度が閾値以上である場合に、検索クエリと属性及び属性値との組み合わせが有効であると推定する。変形例1及び変形例2を組み合わせて、変形例1で説明したスコアとして、コサイン類似度が利用されてもよい。なお、コサイン類似度に代えてユークリッド距離などベクトル間の比較のための他の指標が利用されてもよい。
 変形例2によれば、コサイン類似度に基づいて、第1モデルM1の推定結果の有効性を推定する。比較的計算が簡単なコサイン類似度を利用することによって、処理実行システムSの処理を高速化できる。
[5-3.変形例3]
 例えば、有効性推定部206は、複数の推定方法の各々に基づいて、有効性を推定してもよい。複数の推定方法としては、実施形態で説明した推定方法、変形例1で説明した推定方法、及び変形例2で説明した推定方法が挙げられる。他にも例えば、下記に説明するような推定方法が挙げられる。変形例3では、任意の推定方法を組み合わせることができる。
 例えば、有効性推定部206は、辞書を利用した推定方法に基づいて、有効性を推定してもよい。例えば、辞書は、属性と、属性値の具体的な文字列と、の関係が定義されている。有効性推定部206は、第1モデルM1により出力された属性及び属性値が辞書に存在しない場合に、第1モデルM1の推定結果が有効ではないと推定し、第1モデルM1により出力された属性及び属性値が辞書に存在する場合に、第1モデルM1の推定結果が有効であると推定する。
 なお、辞書を利用した推定方法では、任意の辞書を利用可能であり、上記辞書以外の辞書が利用されてもよい。例えば、有効性推定部206は、検索クエリと、有効な属性及び属性値と、の関係が定義された辞書に基づいて、有効性を推定してもよい。この場合、有効性推定部206は、第1モデルM1に入力された検索クエリと、第1モデルM1から出力された属性及び属性値と、の組み合わせが辞書に存在しない場合には、第1モデルM1の推定結果が有効ではないと推定し、この組み合わせが辞書に存在する場合に、第1モデルM1の推定結果が有効であると推定する。
 他にも例えば、有効性推定部206は、extremeTextなどのマルチラベル分類ツールを利用した推定方法に基づいて、有効性を推定してもよい。この場合、有効性推定部206は、検索クエリと属性及び属性値との組み合わせを分類ツールに入力し、分類ツールから出力されたスコアが閾値未満である場合に、この組み合わせが有効ではないと推定し、このスコアが閾値以上である場合に、この組み合わせが有効であると推定する。
 実行部207は、複数の推定方法の各々による有効性の推定結果に基づいて、生成処理を実行する。実行部207は、複数の推定方法の各々による有効性の推定結果を総合的に考慮して、生成処理を実行する。即ち、実行部207は、複数の推定方法の各々による有効性の推定結果に基づく統計的な指標を利用して、生成処理を実行してもよい。例えば、実行部207は、有効であると推定された推定方法の数が所定数以上の検索クエリと属性及び属性値との組み合わせを、訓練データベースDB3に格納する。有効であると推定された推定方法の数が所定数未満である検索クエリと属性及び属性値との組み合わせは、訓練データとして利用されない。
 例えば、実行部207は、複数の推定方法の各々による多数決に基づいて、訓練データを生成して訓練データベースDB3に格納してもよい。推定方法が5つだったとすると、実行部207は、5つの推定方法の各々に基づいて、検索クエリと属性及び属性値との組み合わせの有効性を推定する。即ち、実行部207は、5つの推定結果を取得する。5つの推定結果のうち、3つ以上で有効であるとの推定結果が得られた場合に、実行部207は、検索クエリと属性及び属性値との組み合わせが有効であることを示す訓練データを生成し、訓練データベースDB3に格納する。
 例えば、実行部207は、複数の推定方法の各々の平均値に基づいて、訓練データを生成して訓練データベースDB3に格納してもよい。推定方法が5つだったとすると、実行部207は、5つの推定方法に基づいて、検索クエリと属性及び属性値との組み合わせの有効性を推定する。即ち、実行部207は、5つの推定結果を取得する。実行部207は、検索クエリと属性及び属性値との組み合わせと、5つの推定結果の平均値と、のペアである訓練データを生成し、訓練データベースDB3に格納する。例えば、5つの推定結果のうち、3つで有効との推定結果が得られた場合には、平均値は、0.6となる。この平均値は、有効性の高さを示す。なお、複数の推定方法を統合的に用いるためのモデルとして、Snorkelのようなプログラマブルなラベリングモデルが利用されてもよい。
 例えば、実行部207は、複数の推定方法の各々による有効性の推定結果に基づいて、総合的な推定結果を示すスコアを計算してもよい。この場合、実行部207は、この総合的なスコアが閾値未満の場合には、生成処理を実行せず、総合的なスコアが閾値以上の場合に、生成処理を実行する。例えば、実行部207は、有効であると推定された推定方法の数、又は、総合的なスコアに応じて、重みを決定してもよい。この場合、有効であると推定された推定方法の数が多いほど、又は、総合的なスコアが高いほど、訓練データが第1モデルM1に強く学習されるように重みが決定される。
 変形例3によれば、複数の推定方法の各々に基づいて、有効性を推定し、複数の推定方法の各々による有効性の推定結果に基づいて、生成処理を実行する。これにより、複数の推定方法を総合的に考慮して、検索クエリと属性及び属性値との有効性を推定するので、有効性の推定精度が高まる。第2モデルM2による有効性の推定精度が高まることにより、所定の処理として実行される第1モデルM1の訓練データの精度も高まる。このため、第1モデルM1の推定精度が高まるので、所望の結果を得やすくなる。例えば、有効性の推定で利用する推定方法が多いほど、第1モデルM1の訓練データの精度が高まる。一方で、推定方法が多かったり個々の推定方法の基準が厳しかったりすると、第1モデルM1の訓練データが少ないので、第1モデルM1の学習に十分な数の訓練データを得られない可能性がある。このため、第1モデルM1の訓練データの精度と、第1モデルM1の訓練データの数と、はトレードオフの関係にあると考えられる。
[5-4.変形例4]
 例えば、実施形態では、ウェブページの検索サービスに処理実行システムSを適用する場合を説明したが、処理実行システムSは、任意のサービスに適用可能である。例えば、処理実行システムSは、電子商取引サービス、旅行予約サービス、ネットオークションサービス、施設予約サービス、SNS(Social Networking Service)、金融サービス、保険サービス、動画配信サービス、又は通信サービスに利用可能である。変形例4では、電子商取引サービスに処理実行システムSを適用する場合を説明する。変形例4では、商品が掲載された商品ページが実施形態で説明したウェブページに相当する。
 変形例4の第1データは、商品の検索時にインデックスとして利用される商品タイトルである。商品タイトルは、商品の説明を簡潔に示す文字列である。例えば、商品タイトルとは別に商品説明文が用意される。商品タイトルは、商品説明文よりも短い。例えば、商品タイトルは、数文字~100文字程度の文字列であるのに対し、商品説明文は、数十文字~数千文字程度の文字列である。商品タイトルは、店舗の担当者によって作成される。このため、変形例4では、電子商取引サービスにおける店舗の担当者が作成者に相当する。検索者は、電子商取引サービスを利用して商品を購入するユーザである。
 変形例4の第1分類情報は、商品の検索時にインデックスとして利用される商品属性情報である。商品属性情報は、商品の属性に関する情報である。商品属性情報は、属性及び属性値の少なくとも一方を示す。変形例4では、商品属性情報が属性及び属性値の両方を示す場合を説明するが、商品属性情報は、属性又は属性値の何れかを示してもよい。例えば、商品の属性は、商品のジャンル又はカテゴリである。例えば、商品の属性は、商品の色、サイズ、模様パターン、又は形状といった特徴であってもよい。
 変形例4のページデータベースDB1には、商品のタイトルと、商品の属性及び属性値と、が関連付けられて格納されている。初期の第1モデルM1には、商品のタイトルと、商品の属性及び属性値と、の関係が学習されている。検索クエリデータベースDB2には、電子商取引サービスにおいて過去に入力された検索クエリが、第2データ及び第3データとして格納されている。第2分類情報取得部202は、第1モデルM1に基づいて、検索クエリデータベースDB2に格納された検索クエリに対応する属性及び属性値を、第2分類情報として取得する。
 第2モデルM2には、過去に入力された検索クエリと商品の属性及び属性値との組み合わせと、この組み合わせの有効性と、の関係が学習されている。有効性推定部206は、第1モデルM1に入力された検索クエリと、第1モデルM1から出力された商品の属性及び属性値と、の組み合わせを、第2モデルM2に入力する。有効性推定部206は、第2モデルM2からの出力を取得することによって、これらの組み合わせの有効性を推定する。実行部207は、有効性推定部206により推定された有効性に基づいて、これらの組み合わせを第1モデルM1の訓練データとして生成するか否かを決定する。
 変形例4によれば、第1データは、商品の検索時にインデックスとして利用される商品タイトルであり、第1分類情報は、商品の検索時にインデックスとして利用される商品属性情報である。これにより、電子商取引サービスに処理実行システムSを適用した場合であったとしても、所望の結果を得ることができる。例えば、電子商取引サービスを利用するユーザが入力した検索クエリの意図を推定できる。その結果、電子商取引サービスにおけるマーケティングに活用したり、電子商取引サービスの検索結果の精度を高めたりすることができる。
[5-5.変形例5]
 例えば、実行部207が実行する所定の処理は、実施形態で説明した生成処理に限られない。実行部207は、有効性の推定結果に基づいて、所定の処理として、検索クエリに応じた検索処理を実行してもよい。変形例5では、ユーザが検索クエリを入力した場合に、第2分類情報取得部202、有効性推定部206、及び実行部207の処理が実行される。第2分類情報取得部202は、第1モデルM1に基づいて、ユーザが入力した検索クエリに対応する属性及び属性値を取得する。この第1モデルM1は、実施形態と同様の方法により学習済みのモデルであってもよいし、他の方法により学習されたモデルであってもよい。
 有効性推定部206は、検索クエリと属性及び属性値との組み合わせの有効性を推定する。有効性の推定方法は、実施形態と同様である。実行部207は、この組み合わせが有効ではないと推定された場合には、第1モデルM1により推定された属性及び属性値を検索処理で利用せずに、ユーザが入力した検索クエリに基づいて、検索処理を実行する。実行部207は、この組み合わせが有効であると推定された場合には、第1モデルM1により推定された属性及び属性値が検索クエリとして利用されるように、検索処理を実行する。この場合、ユーザが入力した検索クエリとして入力した文字列と、第1モデルM1により推定された属性及び属性値と、が検索クエリとして利用される。
 変形例5によれば、有効性の推定結果に基づいて、検索クエリに応じた検索処理を実行する。これにより、ユーザが入力した検索クエリだけでなく、有効であると推定された第1モデルM1の推定結果を検索処理で利用できるので、検索処理の精度が高まる。
[5-6.変形例6]
 例えば、実行部207は、有効性の推定結果に基づいて、所定の処理として、検索クエリと属性及び属性値とを出力する出力処理を実行してもよい。実行部207は、処理実行システムSにおける管理者の端末に、有効と推定された検索クエリと属性及び属性値との組み合わせを出力する。実行部207は、有効性の推定結果と、検索クエリと属性及び属性値との組み合わせと、を管理者の端末に出力してもよい。管理者の端末への出力は、画像を表示させることによって行われてもよいし、データ出力によって行われてもよい。
 変形例6によれば、有効性の推定結果に基づいて、検索クエリと属性及び属性値とを出力する出力処理を実行する。これにより、検索クエリと属性及び属性値との関係を管理者に通知するといったことができるので、マーケティング等に活用できる。
[5-7.変形例7]
 例えば、実施形態では、第2データがウェブページの検索クエリである場合を説明したが、第2データは、ユーザの投稿に関するデータであってもよい。投稿は、テキスト及び画像の少なくとも一方を含む。変形例7では、ユーザがSNSに投稿する場合を説明するが、ユーザは、任意のサービスに投稿できる。例えば、インターネット百科事典への投稿、掲示板への投稿、又はニュース記事に対するコメントであってもよい。SNSの投稿自体は、種々の投稿であってよく、例えば、短文のテキストの投稿、画像、動画、又はこれらの組み合わせであってもよい。
 第2分類情報は、投稿の分類に関する情報である。変形例7では、この分類がハッシュタグと呼ばれる情報である場合を例に挙げるが、変形例7の第2分類情報は、ハッシュタグ以外の情報であってもよい。変形例7では、ユーザが投稿をアップロードした場合に、第2分類情報取得部202、有効性推定部206、及び実行部207の処理が実行される。第2分類情報取得部202は、第1モデルM1に基づいて、ユーザの投稿に対応するハッシュタグを取得する。変形例7の第1モデルM1は、過去にSNSにアップロードされた投稿と、この投稿に付与されたハッシュタグと、の関係が学習されているものとする。この第1モデルM1は、実施形態と同様の方法により学習済みのモデルであってもよいし、他の方法により学習されたモデルであってもよい。
 有効性推定部206は、ユーザの投稿とハッシュタグとの組み合わせの有効性を推定する。有効性の推定方法は、実施形態と同様である。実行部207は、この組み合わせが有効ではないと推定された場合には、第1モデルM1により推定されたハッシュタグをユーザの投稿に付与しない。実行部207は、この組み合わせが有効であると推定された場合には、第1モデルM1により推定されたハッシュタグをユーザの投稿に付与する。
 変形例7によれば、第2データは、ユーザの投稿に関するデータであり、第2分類情報は、投稿の分類に関する情報である。これにより、例えばSNSに処理実行システムSを適用した場合であったとしても、所望の結果を得ることができる。例えば、ユーザの投稿に適切なハッシュタグを付与することができる。
[5-8.変形例8]
 例えば、有効性推定部206による有効性の推定方法は、実施形態及び変形例1-7で説明した方法に限られない。変形例8では、他の推定方法の一例を説明する。変形例8では、変形例4と同様に、電子商取引サービスに処理実行システムSを適用する場合を例に挙げるが、変形例8の推定方法は、電子商取引サービス以外の他のサービスに適用可能である。
 図11は、変形例8の機能ブロックの一例を示す図である。図11のように、変形例8では、実施形態及び変形例1-7で説明した機能に加えて、第4分類情報取得部208が実現される。他の各機能は、実施形態及び変形例1-7と同様であってよいが、データ記憶部200は、候補群データベースDB5及び第3モデルM3を記憶する点で異なる。候補群データベースDB5及び第3モデルM3の詳細は、後述する。
 図12は、変形例8で実行される処理の概要を示す図である。図12のように、変形例8のページデータベースDB1には、電子商取引サービスで購入可能な商品のタイトル、商品のジャンル、商品のタグ群、及び商品のタグが関連付けられている。ジャンル、タグ群、及びタグは、商品の分類の一例である。変形例8では、ページデータベースDB1に格納されたデータが、第1モデルM1及び第3モデルM3の両方の訓練データとして利用される場合を説明する。
 商品のジャンルは、商品の種類である。商品のジャンルは、商品のカテゴリと呼ばれることもある。タグ群は、変形例4で説明した属性の一例である。商品のタグは、変形例4で説明した属性値の一例である。変形例8では、タグ群及びタグは、ジャンル又はカテゴリとは異なる観点の分類である。タグ群及びタグは、商品自体の種類ではなく、色、模様パターン、サイズ、又は形状といった商品の特徴を示す情報である。同じジャンルの商品だとしても、複数のタグ群及びタグの組み合わせが存在する。
 変形例8の第1学習部201は、ページデータベースDB1に格納された商品のタイトルと、商品のタグ群及びタグと、の関係に基づいて、第1モデルM1の学習処理を実行する。第1学習部201は、ある商品のタイトルが入力された場合に、この商品のタグ群及びタグが出力されるように、第1モデルM1の学習処理を実行する。図12の例では、ジャンル「123456」(「Lady Fashion」を意味するジャンルID)の商品が示されているが、種々のジャンルの商品のデータがページデータベースDB1に格納されており、種々のジャンルの商品が第1モデルM1に学習されるものとする。ジャンルIDは、ジャンルを識別可能なIDである。ジャンルIDは、数字、その他の記号、又はこれらの組み合わせによって表現される。ジャンルは、文字列によって表現されてもよい。
 変形例8の第2分類情報取得部202は、検索クエリデータベースDB2に格納された検索クエリを第1モデルM1に入力し、第1モデルM1から出力されたタグ群及びタグを、第2分類情報として取得する。変形例8の第2分類情報は、検索クエリに関するタグ群及びタグの組み合わせを示す。検索クエリのタグ群は、第1属性の一例である。検索クエリのタグは、第1属性値の一例である。このため、検索クエリのタグ群について説明している箇所は、第1属性と読み替えることができる。検索クエリのタグについて説明している箇所は、第1属性値と読み替えることができる。属性及び属性値の意味は、実施形態や変形例4で説明した通りである。
 図12の例では、第2分類情報取得部202は、検索クエリ「Elegant Ladies Down Jacket」を第1モデルM1に入力し、第1モデルM1から出力された3つのタグ群及びタグの組み合わせを、3つの第2分類情報として取得する。1つ目の第2分類情報は、タグ群「Fashion Taste」及びタグ「Elegant」の組み合わせである。2つ目の第2分類情報は、タグ群「Interior Taste」及びタグ「Elegant」の組み合わせである。3つ目の第2分類情報は、タグ群「Material」及びタグ「Down Feather」の組み合わせである。
 変形例8では、検索クエリが、第1モデルM1だけではなく第3モデルM3にも入力される。第3モデルM3は、ページデータベースDB1に格納された商品のタイトルと、商品のジャンルと、の関係が学習されたモデルである。変形例8では、第1モデルM1の訓練データとして利用される商品と、第3モデルM3の訓練データとして利用される商品と、が同じ場合を説明するが、これらの商品は異なってもよい。即ち、第1モデルM1に学習させた商品とは異なる他の商品のタイトルと、当該他の商品のジャンルと、の関係が第3モデルM3に学習されてもよい。当該他の商品のタイトルは、第4データの一例である。第4データは、第1データとは異なるデータである。第3モデルM3は、第1データ又は第4データと、第1データ又は第4データの第4分類情報と、の関係が学習されたモデルであればよい。
 例えば、第4分類情報取得部208は、第3モデルM3に基づいて、第2分類情報とは異なる観点における検索クエリの分類に関する第4分類情報を取得する。検索クエリのジャンルは、第4分類情報の一例である。このため、検索クエリのジャンルについて説明している箇所は、第4分類情報と読み替えることができる。変形例8では、第4分類情報は、第1属性とは異なる観点における第2属性を示す。ジャンルは、第2属性の一例でもある。第2属性は、ジャンル以外にも、実施形態や変形例4で説明した他の属性であってもよい。
 なお、第4分類情報は、第2分類情報とは異なる観点の分類であればよく、ジャンルに限られない。第4分類情報は、処理実行システムSが適用される場面に応じた分類を示せばよい。例えば、実施形態のようなウェブページの分類に処理実行システムSが適用される場合、ウェブページが学術論文であれば、論文が示す技術分野が第4分類情報に相当してもよい。他にも例えば、旅行予約システムにおけるウェブページの分類に処理実行システムSが適用される場合、ホテル、ツアー、高速バス、又はオプションツアーといった旅行商品の種類が第4分類情報に相当してもよい。
 第4分類情報取得部208は、検索クエリを第3モデルM3に入力し、第3モデルM3から出力されたジャンルを、第4分類情報として取得する。第3モデルM3には、商品のタイトルとジャンルとの関係が学習されているので、検索クエリを商品のタイトルと仮定した場合のジャンルが推定されることになる。別の言い方をすれば、検索クエリを入力したユーザが検索しようとしている商品のジャンルが推定されることになる。図12の例では、第4分類情報取得部208は、検索クエリ「Elegant Ladies Down Jacket」を第3モデルM3に入力し、第3モデルM3から出力されたジャンル「123456」(「Lady Fashion」を意味するジャンルID)を、第4分類情報として取得する。
 変形例8では、有効性の推定方法は、第2分類情報と第4分類情報とが対応するか否かを判定することである。第2分類情報と第4分類情報とが対応するとは、第4分類情報が示す分類として適切な第2分類情報であることである。逆に、第2分類情報が示す分類として適切な第4分類情報であることが、第2分類情報と第4分類情報とが対応することに相当してもよい。例えば、第4分類情報が図12の「123456」といったジャンルを示す場合、女性用のファッション用品には種々のサイズがあるので、タグ群「Size」を示す第2分類情報は、互いに対応する。一方、女性用のファッション用品をインテリアとして利用することは、原則として考えられないので、タグ群「Interior Taste」を示す第2分類情報は、第4分類情報に対応しない。
 変形例8では、候補群データベースDB5に第2分類情報と第4分類情報との対応付けが定義されている。候補群データベースDB5に定義された第2分類情報と第4分類情報の組み合わせであれば、第2分類情報と第4分類情報とが対応することになる。第2分類情報と第4分類情報との対応付けは、処理実行システムSの管理者が自身で定義してもよいし、電子商取引サービスにおける商品ページのジャンルとタグ群の対応付けがそのまま利用されてもよい。なお、第2分類情報と第4分類情報との対応付けは、候補群データベースDB5以外のデータベースに定義されていてもよいし、これらの対応付けの適否を判定する学習モデルが存在してもよい。この学習モデルには、互いに対応する第2分類情報と第4分類情報の組み合わせが学習されているものとする。
 図12のように、候補群データベースDB5は、第4分類情報に関する候補ごとに、第2分類情報に関する候補群が関連付けられたデータベースである。例えば、ある1つのジャンルの商品として適切なタグ群が候補群データベースDB5に定義されている。図12の例では、ジャンル「123456」の商品として適切なタグ群「Fashion Taste」「Material」「Size」が定義されている。他のジャンルについても同様に、当該他のジャンルに適切なタグ群が候補群データベースDB5に定義されている。候補群データベースDB5には、タグ群だけではなく、タグが定義されていてもよい。この場合、ジャンルと、タグ群及びタグと、の適切な組み合わせが候補群データベースDB5に定義される。
 有効性推定部206は、第2分類情報と第4分類情報とが対応するか否かを判定し、当該判定結果に基づいて、有効性を推定する。有効性推定部206は、第2分類情報と第4分類情報とが対応すると判定しない場合には、検索クエリに対して推定されたタグ群及びタグが有効ではない(即ち、無効である)と判定する。有効性推定部206は、第2分類情報と第4分類情報とが対応すると判定した場合には、検索クエリに対して推定されたタグ群及びタグが有効であると判定する。
 例えば、有効性推定部206は、候補群データベースDB5に基づいて、第2分類情報が第4分類情報に対応するか否かを判定する。即ち、有効性推定部206は、第2分類情報が示すタグ群と、第4分類情報が示すジャンルと、が対応するか否かを判定する。有効性推定部206は、検索クエリに対して推定されたジャンルと、検索クエリに対して推定されたタグ群と、の組み合わせが候補群データベースDB5に存在する場合、検索クエリに対して推定されたタグ群及びタグが有効であると判定する。
 図12の例では、3つの第2分類情報が示す3つのタグ群「Fashion Taste」「Interior Taste」「Material」のうち、2つのタグ群「Fashion Taste」「Material」は、候補群データベースDB5において、検索クエリのジャンル「123456」に関連付けられているので、このジャンルに対応する。一方、タグ群「Interior Taste」は、候補群データベースDB5において、検索クエリのジャンル「123456」に関連付けられていないので、このジャンルには対応しない。
 このため、有効性推定部206は、1つ目の第2分類情報であるタグ群「Fashion Taste」及びタグ「Elegant」の組み合わせと、3つ目の第2分類情報であるタグ群「Material」及びタグ「Down Feather」の組み合わせと、が有効であると推定する。有効性推定部206は、2つ目の第2分類情報であるタグ群「Material」及びタグ「Elegant」の組み合わせが無効であると推定する。有効と推定された第2分類情報の用途は、実施形態及び変形例1-7と同様であってよい。図12の例では、有効と推定された第2分類情報は第1モデルM1の学習で利用される。
 なお、第4分類情報の取得方法は、第3モデルM3を利用した方法に限られない。第4分類情報取得部208は、所定の取得方法に基づいて、第4分類情報を取得すればよい。例えば、他の取得方法としては、機械学習のモデルではなく、検索クエリとして入力されうる内容と、この内容に対して適切なジャンルと、の関係が定義されたデータベースが利用されてもよい。この場合、第4分類情報取得部208は、このデータベースを参照し、検索クエリに関連付けられたジャンルを、第4分類情報として取得する。検索クエリと、データベースに格納された内容と、は完全一致又は部分一致が判定されるようにすればよい。
 また、第4分類情報は、階層構造を有するジャンルを示してもよい。階層構造は、ツリー構造ということもできる。階層が上位であるほど、ジャンルが示す分類が大まかになり、階層が下位であるほど、ジャンルが示す分類が詳細になる。階層が上位であるほど、商品数が多くなり、階層が下位であるほど、商品数が少なくなる。図12のジャンル「123456」であれば、より上位のジャンルとして「ファッション」を示すジャンルIDが存在する。更に、より下位のジャンルとして「トップス」「ボトムス」「ワンピース」といったジャンルを示すジャンルIDが存在する。
 ジャンルが階層構造を有する場合、上位のジャンルと下位のジャンルは、原則として1対多の関係にある。ジャンルの階層は、2階層以上であればよく、階層数は、任意であってよい。候補群データベースDB5には、種々の階層のジャンルと、この階層のジャンルに適切なタグ群と、の関係が定義されているものとする。例えば、ジャンルが上位であるほど、その配下に多くの下位ジャンルが存在するので、対応するタグ群が多くなる。ジャンルが下位であるほど、その配下の下位ジャンルが少ない又は存在しないので、対応するタグ群が少なくなる。
 例えば、有効性推定部206は、第2分類情報と第4分類情報とが対応すると判定された場合に、第2分類情報と対応すると判定された第4分類情報の階層に基づいて、有効性の確度を推定してもよい。例えば、有効性推定部206は、第2分類情報と対応すると判定された第4分類情報の階層が下位であるほど、有効性の確度を高くする。有効性推定部206は、第2分類情報と対応すると判定された第4分類情報の階層が上位であるほど、有効性の確度を低くする。例えば、有効性の確度は、訓練データベースDB3に格納される。第1モデルM1の学習処理では、確度が閾値以上の訓練データのみが利用されてもよいし、確度が高い順に所定数の訓練データが利用されてもよい。
 変形例8によれば、検索クエリの第2分類情報と、検索クエリの第4分類情報と、が対応するか否かを判定し、当該判定結果に基づいて、検索クエリと第2分類情報の組み合わせの有効性を推定する。これにより、有効性の推定精度が高まる。例えば、計算量が比較的少ない処理によって、有効性を推定できるので、学習サーバ20の処理負荷を軽減し、かつ、有効性を推定する処理を高速化できる。
 また、処理実行システムSは、第3モデルM3に基づいて、第4分類情報を取得する。これにより、未知の検索クエリ(ページデータベースDB1に格納された商品のタイトルとは異なる文字列の検索クエリ)だったとしても、第4分類情報を推定できる。このため、未知の検索クエリに対して推定された第2分類情報の有効性を推定できるようになる。
 また、処理実行システムSは、第4分類情報に関する候補ごとに、第2分類情報に関する候補群が関連付けられた候補群データベースDB5に基づいて、第2分類情報が第4分類情報に対応するか否かを判定する。これにより、第2分類情報が第4分類情報に対応するか否かを正確に判定できる。更に、検索クエリの第2分類情報と、検索クエリの第4分類情報と、の組み合わせが候補群データベースDB5に存在するか否かを判定すればよいので、より計算量の少ない処理によって、検索クエリと第2分類情報の組み合わせの有効性を判定できる。このため、学習サーバ20の処理負荷を軽減し、かつ、有効性を推定する処理を高速化できる。
 また、処理実行システムSは、第2分類情報が示すタグ群と、第4分類情報が示すジャンルと、が対応するか否かを判定する。これにより、電子商取引サービスのように、複数の観点の分類が商品に関連付けられている場合に、これら複数の観点の分類の組み合わせの適否を利用することによって、検索クエリと第2分類情報の組み合わせの有効性を精度よく推定できる。
 また、処理実行システムSは、第2分類情報と第4分類情報とが対応すると判定された場合に、第2分類情報と対応すると判定された第4分類情報の階層に基づいて、有効性の確度を推定する。これにより、階層構造を利用して、検索クエリと第2分類情報の組み合わせの有効性を精度よく推定できる。
[5-9.その他の変形例]
 例えば、上記説明した変形例を組み合わせてもよい。
 例えば、検索サーバ10で実現されるものとして説明した機能は、他のコンピュータで実現されてもよいし、複数のコンピュータで分担されてもよい。学習サーバ20で実現されるものとして説明した機能は、他のコンピュータで実現されてもよいし、複数のコンピュータで分担されてもよい。例えば、データ記憶部100,200に記憶されるものとしたデータは、データベースサーバに記憶されていてもよい。

 

Claims (25)

  1.  第1データと、当該第1データの分類に関する第1分類情報と、の関係が学習された第1モデルに基づいて、第2データの分類に関する第2分類情報を取得する第2分類情報取得部と、
     所定の推定方法に基づいて、前記第2データ及び前記第2分類情報の組み合わせに関する有効性を推定する有効性推定部と、
     前記有効性の推定結果に基づいて、所定の処理を実行する実行部と、
     を含む処理実行システム。
  2.  前記推定方法は、第3データ及び第3データの分類に関する第3分類情報の組み合わせと、当該組み合わせの有効性と、の関係が学習された第2モデルを利用した方法であり、
     前記有効性推定部は、前記第2モデルに基づいて、前記有効性を推定する、
     請求項1に記載の処理実行システム。
  3.  前記第1モデルには、前記第1データの候補と、前記第1分類情報の候補と、を含む第1データベースに基づいて取得された、前記第1データと、前記第1分類情報と、の関係が学習され、
     前記第2モデルには、前記第3データの候補と、前記第3分類情報の候補と、を含む第2データベースであって、前記第1データベースとは異なる観点の前記第2データベースに基づいて取得された、前記第3データと、前記第3分類情報と、の関係が学習される、
     請求項2に記載の処理実行システム。
  4.  前記処理実行システムは、前記第3データと、前記第1モデルと、に基づいて、前記第3分類情報を取得する第3分類情報取得部を更に含み、
     前記第2モデルには、前記第3データ及び前記第3分類情報の組み合わせと、当該組み合わせが有効である旨を示す有効性と、の関係が学習される、
     請求項2又は3に記載の処理実行システム。
  5.  前記処理実行システムは、複数の生成方法の各々に基づいて、前記第3データ及び前記第3分類情報の候補を生成する候補生成部を更に含み、
     前記第2モデルには、前記複数の生成方法のうちの複数で生成された前記候補が、前記第3データ及び前記第3分類情報として学習される、
     請求項2~4の何れかに記載の処理実行システム。
  6.  前記有効性推定部は、前記第2データ及び前記第2分類情報の組み合わせに基づいて、前記第2モデルから出力されたスコアを取得し、当該取得されたスコアに基づいて、前記有効性を推定する、
     請求項2~5の何れかに記載の処理実行システム。
  7.  前記推定方法は、前記第2データ及び前記第2分類情報に基づくコサイン類似度を利用した方法であり、
     前記有効性推定部は、前記コサイン類似度に基づいて、前記有効性を推定する、
     請求項1~6の何れかに記載の処理実行システム。
  8.  前記有効性推定部は、複数の前記推定方法の各々に基づいて、前記有効性を推定し、
     前記実行部は、前記複数の推定方法の各々による前記有効性の推定結果に基づいて、前記処理を実行する、
     請求項1~7の何れかに記載の処理実行システム。
  9.  前記第2データは、ユーザが入力した検索クエリであり、
     前記第2分類情報は、前記検索クエリの分類に関する情報である、
     請求項1~8の何れかに記載の処理実行システム。
  10.  前記推定方法は、過去に入力された検索クエリと、当該検索クエリに基づく検索結果に対する選択結果と、の関係を示すクエリ選択データを利用した方法であり、
     前記有効性推定部は、前記クエリ選択データに基づいて、前記有効性を推定する、
     請求項9に記載の処理実行システム。
  11.  前記第1データ及び前記第1分類情報は、検索時のインデックスとして利用されるデータである、
     請求項9又は10に記載の処理実行システム。
  12.  前記第1データは、商品の検索時に前記インデックスとして利用される商品タイトルであり、
     前記第1分類情報は、前記商品の検索時に前記インデックスとして利用される商品属性情報である、
     請求項11に記載の処理実行システム。
  13.  前記第2分類情報は、前記ユーザが前記検索クエリを入力した意図に関する情報である、
     請求項9~12の何れかに記載の処理実行システム。
  14.  前記実行部は、前記有効性の推定結果に基づいて、前記処理として、前記検索クエリに応じた検索処理を実行する、
     請求項9~13の何れかに記載の処理実行システム。
  15.  前記実行部は、前記第2データ及び前記第2分類情報の組み合わせと、前記有効性の推定結果と、に基づいて、前記処理として、前記第1モデルに学習させる訓練データを生成する生成処理を実行する、
     請求項1~14の何れかに記載の処理実行システム。
  16.  前記第1モデルは、マルチラベルに対応したモデルであり、
     前記第2分類情報取得部は、前記第1モデルに基づいて、複数の前記第2分類情報を取得し、
     前記有効性推定部は、前記第2分類情報ごとに、前記有効性を推定し、
     前記実行部は、前記第2分類情報ごとの前記有効性に基づいて、前記処理を実行する、
     請求項1~15の何れかに記載の処理実行システム。
  17.  前記実行部は、前記有効性の推定結果に基づいて、前記処理として、前記第2データ及び前記第2分類情報を出力する出力処理を実行する、
     請求項1~16の何れかに記載の処理実行システム。
  18.  前記第2データは、ユーザの投稿に関するデータであり、
     前記第2分類情報は、前記投稿の分類に関する情報である、
     請求項1~17の何れかに記載の処理実行システム。
  19.  前記処理実行システムは、所定の取得方法に基づいて、前記第2分類情報とは異なる観点における前記第2データの分類に関する第4分類情報を取得する第4分類情報取得部を更に含み、
     前記推定方法は、前記第2分類情報と前記第4分類情報とが対応するか否かを判定することであり、
     前記有効性推定部は、前記第2分類情報と前記第4分類情報とが対応するか否かを判定し、当該判定結果に基づいて、前記有効性を推定する、
     請求項1~18の何れかに記載の処理実行システム。
  20.  前記取得方法は、前記第1データ又は第4データと、前記第1データ又は前記第4データの前記第4分類情報と、の関係が学習された第3モデルを利用した方法であり、
     前記第4分類情報取得部は、前記第3モデルに基づいて、前記第4分類情報を取得する、
     請求項19に記載の処理実行システム。
  21.  前記有効性推定部は、前記第4分類情報に関する候補ごとに、前記第2分類情報に関する候補群が関連付けられた候補群データベースに基づいて、前記第2分類情報が前記第4分類情報に対応するか否かを判定する、
     請求項19又は20に記載の処理実行システム。
  22.  前記第2分類情報は、前記第2データに関する第1属性及び第1属性値の組み合わせを示し、
     前記第4分類情報は、前記第1属性とは異なる観点における第2属性を示し、
     前記有効性推定部は、前記第2分類情報が示す前記第1属性と、前記第4分類情報が示す前記第2属性と、が対応するか否かを判定する、
     請求項19~21の何れかに記載の処理実行システム。
  23.  前記第4分類情報は、階層構造を有する分類を示し、
     前記有効性推定部は、前記第2分類情報と前記第4分類情報とが対応すると判定された場合に、前記第2分類情報と対応すると判定された前記第4分類情報の階層に基づいて、前記有効性の確度を推定する、
     請求項19~22の何れかに記載の処理実行システム。
  24.  第1データと、当該第1データの分類に関する第1分類情報と、の関係が学習された第1モデルに基づいて、第2データの分類に関する第2分類情報を取得する第2分類情報取得ステップと、
     所定の推定方法に基づいて、前記第2データ及び前記第2分類情報の組み合わせに関する有効性を推定する有効性推定ステップと、
     前記有効性の推定結果に基づいて、所定の処理を実行する実行ステップと、
     を含む処理実行方法。
  25.  第1データと、当該第1データの分類に関する第1分類情報と、の関係が学習された第1モデルに基づいて、第2データの分類に関する第2分類情報を取得する第2分類情報取得部、
     所定の推定方法に基づいて、前記第2データ及び前記第2分類情報の組み合わせに関する有効性を推定する有効性推定部、
     前記有効性の推定結果に基づいて、所定の処理を実行する実行部、
     としてコンピュータを機能させるためのプログラム。

     
PCT/JP2022/003988 2021-11-05 2022-02-02 処理実行システム、処理実行方法、及びプログラム WO2023079769A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP22889595.9A EP4287040A1 (en) 2021-11-05 2022-02-02 Processing execution system, processing execution method, and program
US18/548,337 US20240143701A1 (en) 2021-11-05 2022-02-02 Processing execution system, processing execution method, and program
JP2023511824A JP7316477B1 (ja) 2021-11-05 2022-02-02 処理実行システム、処理実行方法、及びプログラム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
PCT/JP2021/040852 WO2023079703A1 (ja) 2021-11-05 2021-11-05 処理実行システム、処理実行方法、及びプログラム
JPPCT/JP2021/040852 2021-11-05

Publications (1)

Publication Number Publication Date
WO2023079769A1 true WO2023079769A1 (ja) 2023-05-11

Family

ID=86240892

Family Applications (2)

Application Number Title Priority Date Filing Date
PCT/JP2021/040852 WO2023079703A1 (ja) 2021-11-05 2021-11-05 処理実行システム、処理実行方法、及びプログラム
PCT/JP2022/003988 WO2023079769A1 (ja) 2021-11-05 2022-02-02 処理実行システム、処理実行方法、及びプログラム

Family Applications Before (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/040852 WO2023079703A1 (ja) 2021-11-05 2021-11-05 処理実行システム、処理実行方法、及びプログラム

Country Status (4)

Country Link
US (1) US20240143701A1 (ja)
EP (1) EP4287040A1 (ja)
JP (1) JP7316477B1 (ja)
WO (2) WO2023079703A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07282078A (ja) * 1994-04-12 1995-10-27 Hitachi Ltd 階層的分類方法
JP2017049681A (ja) * 2015-08-31 2017-03-09 国立研究開発法人情報通信研究機構 質問応答システムの訓練装置及びそのためのコンピュータプログラム
JP2018124914A (ja) * 2017-02-03 2018-08-09 日本電信電話株式会社 パッセージ型質問応答装置、方法、及びプログラム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7261022B2 (ja) * 2019-01-30 2023-04-19 キヤノン株式会社 情報処理システム、端末装置及びその制御方法、プログラム、記憶媒体

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07282078A (ja) * 1994-04-12 1995-10-27 Hitachi Ltd 階層的分類方法
JP2017049681A (ja) * 2015-08-31 2017-03-09 国立研究開発法人情報通信研究機構 質問応答システムの訓練装置及びそのためのコンピュータプログラム
JP2018124914A (ja) * 2017-02-03 2018-08-09 日本電信電話株式会社 パッセージ型質問応答装置、方法、及びプログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
KAI SHENG TAI, SOCHER RICHARD, MANNING CHRISTOPHER D.: "Improved Semantic Representations From Tree-Structured Long Short-Term Memory Networks", PROCEEDINGS OF THE 53RD ANNUAL MEETING OF THE ASSOCIATION FOR COMPUTATIONAL LINGUISTICS AND THE 7TH INTERNATIONAL JOINT CONFERENCE ON NATURAL LANGUAGE PROCESSING (VOLUME 1: LONG PAPERS), ASSOCIATION FOR COMPUTATIONAL LINGUISTICS, STROUDSBURG, PA, USA, 30 May 2015 (2015-05-30), Stroudsburg, PA, USA , pages 1556 - 1566, XP055442054, DOI: 10.3115/v1/P15-1150 *

Also Published As

Publication number Publication date
EP4287040A1 (en) 2023-12-06
US20240143701A1 (en) 2024-05-02
WO2023079703A1 (ja) 2023-05-11
JPWO2023079769A1 (ja) 2023-05-11
JP7316477B1 (ja) 2023-07-27

Similar Documents

Publication Publication Date Title
Zhang et al. ClothingOut: a category-supervised GAN model for clothing segmentation and retrieval
Tautkute et al. Deepstyle: Multimodal search engine for fashion and interior design
Jagadeesh et al. Large scale visual recommendations from street fashion images
KR20190117584A (ko) 스트리밍 비디오 내의 객체를 검출하고, 필터링하고 식별하기 위한 방법 및 장치
CN110427563B (zh) 一种基于知识图谱的专业领域系统冷启动推荐方法
US20180181569A1 (en) Visual category representation with diverse ranking
CN107748754B (zh) 一种知识图谱完善方法和装置
CN107679960B (zh) 一种基于服装图像和标签文本双模态内容分析的个性化服装的推荐方法
CN110059271B (zh) 运用标签知识网络的搜索方法及装置
TWI557664B (zh) Product information publishing method and device
US20220405607A1 (en) Method for obtaining user portrait and related apparatus
CN107895303B (zh) 一种基于ocean模型的个性化推荐的方法
JP2018523251A (ja) カタログ内の製品を検索するためのシステムおよび方法
Ay et al. A visual similarity recommendation system using generative adversarial networks
Gong et al. Aesthetics, personalization and recommendation: A survey on deep learning in fashion
Han et al. Multimodal-adaptive hierarchical network for multimedia sequential recommendation
CN113034237A (zh) 服饰套装推荐系统与方法
Jorro-Aragoneses et al. Personalized case-based explanation of matrix factorization recommendations
JP7316477B1 (ja) 処理実行システム、処理実行方法、及びプログラム
KR20210041733A (ko) 패션 상품 추천 방법, 장치 및 컴퓨터 프로그램
WO2020046795A1 (en) System, method, and computer program product for determining compatibility between items in images
US20220100792A1 (en) Method, device, and program for retrieving image data by using deep learning algorithm
Vaca-Castano et al. Semantic image search from multiple query images
Betul et al. A visual similarity recommendation system using generative adversarial networks
CN112214641A (zh) 商品簇标题生成方法、装置、计算机系统及可读存储介质

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 2023511824

Country of ref document: JP

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

Ref document number: 22889595

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2022889595

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 18548337

Country of ref document: US

ENP Entry into the national phase

Ref document number: 2022889595

Country of ref document: EP

Effective date: 20230829