WO2020065970A1 - 学習システム、学習方法、及びプログラム - Google Patents

学習システム、学習方法、及びプログラム Download PDF

Info

Publication number
WO2020065970A1
WO2020065970A1 PCT/JP2018/036461 JP2018036461W WO2020065970A1 WO 2020065970 A1 WO2020065970 A1 WO 2020065970A1 JP 2018036461 W JP2018036461 W JP 2018036461W WO 2020065970 A1 WO2020065970 A1 WO 2020065970A1
Authority
WO
WIPO (PCT)
Prior art keywords
learning
attribute value
attribute
symbol
value candidate
Prior art date
Application number
PCT/JP2018/036461
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 JP2019528775A priority Critical patent/JP6577692B1/ja
Priority to US16/649,990 priority patent/US11520835B2/en
Priority to PCT/JP2018/036461 priority patent/WO2020065970A1/ja
Publication of WO2020065970A1 publication Critical patent/WO2020065970A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/906Clustering; Classification
    • 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/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9538Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • G06F18/2155Generating training patterns; Bootstrap methods, e.g. bagging or boosting characterised by the incorporation of unlabelled data, e.g. multiple instance learning [MIL], semi-supervised techniques using expectation-maximisation [EM] or naïve labelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition

Definitions

  • the present invention relates to a learning system, a learning method, and a program.
  • the present invention has been made in view of the above problems, and an object of the present invention is to provide a learning system, a learning method, and a program that can increase the accuracy of a learning device in semi-supervised learning.
  • a learning system learns a learning device that classifies symbol information included in each of a plurality of documents based on teacher data indicating attribute values of the plurality of attributes.
  • Learning means acquiring means for inputting each of the plurality of documents to the learning device, and acquiring symbol information classified by the learning device as attribute value candidates, and a symbol or symbol string indicated by the attribute value candidate being predetermined.
  • Determination means for determining whether or not the condition is satisfied, and additional learning control means for controlling additional learning of the learning device using the attribute value candidate based on the determination result of the determination means.
  • the learning method includes: a learning step of learning a learning device that classifies symbol information included in each of a plurality of documents based on teacher data indicating attribute values of the plurality of attributes; Is input to the learning device, an acquisition step of acquiring symbol information classified by the learning device as an attribute value candidate, and determining whether a symbol or a symbol string indicated by the attribute value candidate satisfies a predetermined condition.
  • a program includes: a learning unit configured to learn a learning device that classifies symbol information included in each of a plurality of documents based on teacher data indicating attribute values of the plurality of attributes. Acquiring the symbol information classified by the learning device as an attribute value candidate, and determining whether a symbol or a symbol string indicated by the attribute value candidate satisfies a predetermined condition. Means for causing a computer to function as additional learning control means for controlling additional learning of the learning device using the attribute value candidates based on the determination result of the determination means.
  • the additional learning control means restricts addition of an attribute value candidate whose determination result is not a predetermined result to the teacher data as a new attribute value, The additional learning of the learning device using the attribute value candidate is limited.
  • the determining means determines whether the symbol or symbol string indicated by the attribute value candidate has less than a predetermined number of characters.
  • the determining means determines whether or not the symbol or symbol string indicated by the attribute value candidate is a specific type of symbol or symbol string.
  • each of the plurality of documents is described in a markup language, and the determination unit determines whether a symbol or a symbol string indicated by the attribute value candidate is a tag portion. Determination.
  • the additional learning control unit controls additional learning of the learning device using the attribute value candidate, further based on an appearance frequency of the attribute value candidate.
  • the additional learning control means controls additional learning of the learning device using the attribute value candidate, based on the probability of the attribute value candidate calculated by the learning device. , Characterized in that.
  • the learning system extracts symbol information described in a predetermined notation pattern from each of the plurality of documents as an attribute value, and generates initial data of the teacher data. It further comprises means.
  • the generation unit acquires the appearance frequency of each of the plurality of notation patterns from each of the plurality of documents, and displays the symbol information described in the notation pattern that appears at a predetermined frequency or more. Is extracted as an attribute value, and the initial data is generated.
  • the learning means causes a first learning device to learn based on the teacher data, and the acquisition device inputs each of the plurality of documents to the first learning device. Then, the symbol information to which the attribute has been given by the first learning device is obtained as a first attribute value candidate, and the learning means learns the second learning device based on the first attribute value candidate.
  • the acquisition means inputs each of the plurality of documents to the second learning device, acquires symbol information to which an attribute has been given by the second learning device as a second attribute value candidate, and Means for determining whether a symbol or a symbol string indicated by each of the first attribute value candidate and the second attribute value candidate satisfies the predetermined condition, and wherein the additional learning control means The first attribute value candidate and the second attribute based on the determination result of the means; Controlling the additional learning using each of the candidate, characterized in that.
  • the acquisition unit inputs each of a plurality of documents different from the plurality of documents input to the first learning device to the second learning device.
  • the present invention it is to improve the accuracy of a learning device in semi-supervised learning.
  • FIG. 9 is a diagram illustrating an example of a cleaning process performed in S8. It is an explanatory view of processing of a modification. It is an explanatory view of processing of a modification.
  • FIG. 1 is a diagram showing the overall configuration of the learning system.
  • the learning system S includes a server 10 and a user terminal 20, which are connected to a network N.
  • the network N In FIG. 1, one server 10 and one user terminal 20 are shown, but there may be a plurality of these.
  • the server 10 is a server computer, and includes, for example, a control unit 11, a storage unit 12, and a communication unit 13.
  • the control unit 11 includes at least one processor.
  • the control unit 11 executes a process according to a program or data stored in the storage unit 12.
  • Storage unit 12 includes a main storage unit and an auxiliary storage unit.
  • the main storage unit is a volatile memory such as a RAM
  • the auxiliary storage unit is a nonvolatile memory such as a hard disk or a flash memory.
  • the communication unit 13 includes a communication interface for wired communication or wireless communication, and performs data communication via a network, for example.
  • the user terminal 20 is a computer operated by the user, and is, for example, a personal computer, a portable information terminal (including a tablet computer), or a mobile phone (including a smartphone).
  • the user terminal 20 includes a control unit 21, a storage unit 22, a communication unit 23, an operation unit 24, and a display unit 25.
  • the hardware configurations of the control unit 21, the storage unit 22, and the communication unit 23 may be the same as the control unit 11, the storage unit 12, and the communication unit 13, respectively.
  • the operation unit 24 is an input device for the user to operate, and is, for example, a pointing device such as a touch panel or a mouse, a keyboard, or the like.
  • the operation unit 24 transmits the operation content of the user to the control unit 21.
  • the display unit 25 is, for example, a liquid crystal display unit or an organic EL display unit.
  • the programs and data described as being stored in the storage units 12 and 22 may be supplied to these via a network.
  • the hardware configuration of the server 10 and the user terminal 20 is not limited to the above example, and various hardware can be applied.
  • the server 10 and the user terminal 20 each include a reading unit (for example, an optical disk drive or a memory card slot) for reading a computer-readable information storage medium and an input / output unit (for example, a USB) for directly connecting to an external device. Terminals).
  • the program or data stored in the information storage medium may be supplied to the server 10 or the user terminal 20 via the reading unit or the input / output unit.
  • the learning system S searches for a document based on a search condition input by the user.
  • Various formats can be applied to the document file format.
  • the document file format may be an HTML file, an XML file, a text file, or a rich text file.
  • a web page described in HTML will be described as an example of a document. Therefore, the portion described as a web page in the present embodiment can be read as a document.
  • pages of various genres can be applied.
  • a page of an accommodation facility is taken as an example.
  • the server 10 is managed by an operator of a travel reservation service, and manages a web page of an accommodation facility in an integrated manner.
  • the user inputs search conditions such as an accommodation place and an accommodation date from the user terminal 20, and the server 10 searches for a web page of an accommodation facility that matches the search conditions.
  • the server 10 transmits the search result to the user terminal 20, and the user terminal 20 displays a list of accommodation facilities hit by the search.
  • a web page of the accommodation facility is displayed on the display unit 25.
  • FIG. 2 is a diagram showing an example of a web page.
  • information on the accommodation facility selected by the user is displayed on the web page P1.
  • information such as the accommodation facility name, the room name, the room image, and the room introduction text are displayed in the display area A10. Is displayed.
  • Information such as a room introduction sentence is used as an index at the time of search.
  • the web page P1 is semi-structured and includes an unstructured part and a structured part.
  • the unstructured part is an unstructured part in the web page P1.
  • the unstructured portion can be a portion where the format is not defined, a portion where the layout is not defined, or a portion where it is not determined where and what information is described.
  • the unstructured portions include freely entered text or freely attached images.
  • the accommodations describe the unstructured part as they like.
  • the structured part is a part structured in the web page P1.
  • the structured portion can be a portion described in a predetermined format, a portion having a predetermined layout, or a portion in which what information is described where. .
  • the structured part is a table, table, diagram, or structured text.
  • the travel reservation service operator has determined the format of the structured part.
  • the accommodation facility describes the structured part according to the format defined by the operator.
  • the web page P1 includes information such as an introduction sentence displayed in the display area A10 as an unstructured part, and includes a table T11 as a structured part.
  • a text freely input by the accommodation facility and an image freely attached by the accommodation facility are displayed.
  • information created by the accommodation facility in a predetermined format is displayed on the table T11.
  • the attribute is stored in the first column of the table T11, and the attribute value is stored in the second column of the table T11.
  • Attribute is the type of information included in the web page. Stated another way, attributes can be the meaning, classification, nature, or characteristics of information contained in a web page. In the example of FIG. 2, since information such as “size”, “floor”, “bed width”, and “number of rooms” is stored in the table T11, these names are described as attributes. ing. Note that the attributes are not limited to these, and any attributes suitable for the contents of the web page can be set. For example, in the case of accommodation facilities, there may be attributes such as a room type and the number of guests that can stay.
  • the attribute value is the content of the information included in the web page. In other words, the attribute value is a specific content of information included in the web page.
  • the attribute value is indicated by a symbol or a symbol string.
  • a symbol is a medium for transmitting information, and has a meaning including, for example, characters, numerical values, marks, and pictures.
  • a symbol string is a group of two or more characters.
  • the table T11 stores “60 m 2 ” and “9th floor” as the attribute values of the attributes of “size”, “floor”, “bed width”, and “number of rooms”. , “140 cm”, and “3 rooms” are stored.
  • the attribute is freely input by the accommodation facility. For this reason, even with the same attribute, there may be a spelling variation. For example, even if the attribute is “size”, “area” or “floor area” may be input depending on the accommodation facility. Further, for example, even with the attribute “floor”, “floor” or “number of floors” may be input depending on the accommodation facility.
  • the learning system S absorbs the fluctuation of the notation of the attribute, and integrates attributes having different notations but showing the same meaning.
  • the attribute value is also freely input by the accommodation facility.
  • the attribute value may be expressed by a combination of a numerical value and information including information after the decimal point.
  • some accommodation facilities may express a numerical value using Japanese or Chinese kanji.
  • some accommodations may use another unit, such as square feet, instead of "m 2 ", and may express units in Chinese characters in Japanese or Chinese.
  • the learning system S extracts information of frequently appearing patterns as attribute values, and increases the coverage of the attribute values.
  • attributes and attribute values are extracted from the web page P1 and used as search indexes.
  • a combination of an attribute and an attribute value is stored in the table T11. Since the table T11 is a structured part, a combination of an attribute and an attribute value can be extracted relatively easily. Therefore, a combination of the attribute and the attribute value is extracted from the table T11 of the web page P1 and used as an index.
  • the web page P1 contains abundant information on accommodation facilities not only in the table T11 but also in the display area A10 which is an unstructured portion. For this reason, if attribute values can be extracted from the display area A10, search accuracy can be improved. However, since the introductory text and the like in the display area A10 are freely entered by the accommodation facility, it is difficult to specify which attribute value of what attribute is described by referring only to the text. is there.
  • the learning system S generates teacher data based on the combination of the attribute and the attribute value extracted from the table T11, and causes the learning device that classifies the web page to learn.
  • the learning device analyzes a word such as an introductory sentence of the accommodation facility included in the web page, and assigns an attribute to the word that is presumed to be the attribute value of the learned attribute.
  • the words included in the introduction sentence of the accommodation facility or the like can be used as an index, and the accuracy of the search can be improved.
  • the learning system S uses semi-supervised learning, first makes the learner learn with a small amount of teacher data, and adds the attribute value extracted from the web page to the teacher data using the learner. By gradually expanding the teacher data, the effort of preparing the teacher data is omitted.
  • an attribute value which is not originally an attribute value may be erroneously detected as an attribute value.
  • a symbol such as “*” or “;” which is not an attribute value originally may be erroneously detected as an attribute value of an attribute of “width”.
  • a long character string that is not originally information indicating the size may be erroneously detected as the attribute value of the attribute of “width”.
  • semi-supervised learning since learning is performed repeatedly, once erroneous information that is not originally an attribute value is added to the teacher data, the erroneous information is further added by a learning device that has been learned based on the erroneous information.
  • the learning system S determines whether a symbol or a symbol string detected as a candidate for an attribute value by the learning device satisfies a predetermined condition, and that symbol information that is not originally an attribute value is added to the teacher data. And improve the accuracy of the learning device.
  • the configuration of the learning system S will be described in detail.
  • FIG. 3 is a functional block diagram illustrating an example of a function realized by the learning system S.
  • the server 10 implements the data storage unit 100, the generation unit 101, the learning unit 102, the acquisition unit 103, the determination unit 104, and the additional learning control unit 105.
  • the data storage unit 100 is implemented mainly by the storage unit 12, and each of the generation unit 101, the learning unit 102, the acquisition unit 103, the determination unit 104, and the additional learning control unit 105 is implemented mainly by the control unit 11.
  • the data storage unit 100 stores various data related to a web page.
  • the data storage unit 100 stores a learning device L, a web page database DB, and teacher data DT.
  • the data storage unit 100 stores a program for the learning device L. Stated another way, the data storage unit 100 stores the algorithm of the learning device L.
  • various learning devices L used in semi-supervised learning can be applied, and for example, a convolutional neural network, a recursive neural network, or a CRF (Conditional Random Field) may be used.
  • the learning device L classifies the symbol information included in each of the plurality of web pages. For example, the learning device L calculates a feature vector indicating the feature of the symbol information included in the input web page.
  • the feature vector is a feature amount of a symbol or a symbol string indicated by the symbol information, and may be calculated using, for example, Word2vec, Glove, or fastText.
  • the learning device L calculates the probability that the symbol information belongs to each attribute based on the calculated feature vector and the attribute value of each attribute that has been learned.
  • the learning unit 102 has learned to which region of the feature space each attribute is to be assigned by the learning device L.
  • the learning device L is based on which direction the feature vector of the symbol information is oriented.
  • the probability that the symbol information belongs to each attribute is calculated.
  • the learning device L may assign an attribute with the highest probability to the symbol information, or may assign an attribute with a probability equal to or higher than the threshold to the symbol information.
  • the attribute assigned to the symbol information is a classification result by the learning device L, and is a label assigned to the symbol information by the learning device L.
  • the label is a classification of the symbol information, and may be any information that can identify the attribute.
  • the label may be an ID for identifying the attribute, or the name of the attribute may be used.
  • FIG. 4 is a diagram showing an example of the web page database DB.
  • various information about a web page is stored in the web page database DB.
  • the name of the accommodation facility, the basic information of the accommodation facility, the category of the accommodation facility, and the keyword extracted from the introduction sentence in the web page are associated with the page ID that uniquely identifies the web page.
  • Attributes, and attribute values are stored. These pieces of information are used as an index at the time of search.
  • the basic information of the accommodation facility is information unique to the accommodation facility, and is, for example, information such as an address, a telephone number, or a mail address.
  • the category is a category to which an accommodation facility belongs among a plurality of categories, and is, for example, a luxury inn, a hot spring inn, or a business hotel.
  • the keyword is an arbitrary word in the introductory sentence of the accommodation facility, and a word that matches a predetermined word may be extracted as a keyword, or a keyword specified by the accommodation facility for search may be stored. Good.
  • the attributes and attribute values are the attributes and attribute values extracted from the web page by the learning device L.
  • the learning device L assigns an attribute as a label to the symbol information in the web page.
  • attributes assigned to character information in the web page by the learning device L are stored.
  • symbol information to which an attribute is assigned is stored as an attribute value.
  • the attribute assigned as a label by the learning device L may be removed based on the determination result of the determination unit 104 described later. Therefore, if the attribute is not removed from the web page database DB, , And a combination of the attribute and the attribute value.
  • the data stored in the web page database DB is not limited to the above example.
  • the web page database DB stores various information such as a URL of the web page, a storage location of the web page data in the data storage unit 100, a text of an introduction sentence included in the web page, image data, and table data. May be.
  • FIG. 5 is a diagram showing an example of the teacher data DT.
  • data for training the learning device L is stored in the teacher data DT.
  • a combination of an attribute and an attribute value is stored in the teacher data DT.
  • the attribute name is shown, but the attribute ID (label ID) may be stored.
  • the initial data is generated by the generation unit 101 described later for the teacher data DT, and the symbol information to which the learning device L has added the attribute as the label is added as the attribute value.
  • the symbol information whose attribute has not been removed is included in the teacher data DT. Will be added as In other words, since the attribute of the symbol information which is not originally the attribute value may be removed, the symbol information determined as the attribute value is added to the teacher data DT.
  • the teacher data DT is used for learning of the learning device L, but may be used for setting a search condition because it is a list of combinations of attributes and attribute values. For example, a combination of an attribute and an attribute value indicated by the teacher data DT may be displayed on the user terminal 20, and the user may select an attribute and an attribute value as search conditions. In this case, a search is performed using the attribute and attribute value selected by the user as a query and the attribute and attribute value stored in the web page database DB as indexes.
  • the data stored in the data storage unit 100 is not limited to the above example.
  • the data storage unit 100 may store data required for processing according to the embodiment.
  • the data storage unit 100 may store actual data of a web page.
  • the generation unit 101 extracts, as an attribute value, symbol information described in a predetermined notation pattern from each of the plurality of web pages, and generates initial data of the teacher data DT.
  • the initial data is the teacher data DT used in the first learning.
  • the notation pattern is a notation pattern of a symbol or a symbol string indicated by the symbol information, and is sometimes called a POS tag array or a part-of-speech tag array. If the symbol information is a single character, the notation pattern is the type of the single character. If the symbol information is a symbol string, the notation pattern is a sequence of symbols in the symbol string.
  • the notation pattern is represented by an array in which the types of parts of speech are arranged. For example, if the symbol information is “10 m 2 ”, the notation pattern is [number, noun]. For example, if the symbol information is “15.25 m 2 ”, the notation pattern is [number, symbol, number, noun].
  • the generation unit 101 extracts symbol information included in a web page.
  • the generation unit 101 extracts symbol information from a structured part of a web page.
  • the generation unit 101 extracts symbol information from the table T11 of the web page P1.
  • the generation unit 101 extracts the symbol information stored in the second column of the table T11, and specifies a notation pattern.
  • the notation pattern may be specified using a part of speech decomposition tool in natural language processing.
  • the part-of-speech decomposition tool analyzes symbolic information based on dictionary data that defines the part of speech and decomposes it into parts of speech.
  • the generation unit 101 acquires the appearance frequency of each of the plurality of notation patterns from each of the plurality of web pages, extracts the symbol information described by the notation pattern that appears at a predetermined frequency or more as an attribute value, Generate
  • the appearance frequency is the frequency at which the notation pattern appears.
  • the generation unit 101 counts the number of each of the notation patterns based on the result of specifying the notation patterns and acquires the appearance frequency. Although notation patterns may be counted regardless of the attribute, in the present embodiment, the generation unit 101 counts the number of notation patterns for each attribute to acquire the appearance frequency.
  • the predetermined frequency may be a frequency determined as a threshold, and for example, a value such as the top several tens percent of the whole may be set, or a value such that the absolute number of appearance frequencies is equal to or more than a predetermined number may be set. You may.
  • the generation unit 101 determines whether or not the appearance frequency of each notation pattern is equal to or higher than a predetermined frequency, extracts symbol information of the notation pattern determined to be equal to or higher than the predetermined frequency as an attribute value, and initializes the teacher data DT. Generate data.
  • notation patterns For example, in the case of an attribute of “width”, a notation pattern of [number, noun] such as “10 m 2 ” and a notation pattern of [number, symbol, number, noun] such as “15.25 m 2 ” Often appear, and the frequency of frequent occurrences becomes extremely high. Therefore, these notation patterns are used as notation patterns for extracting attribute values.
  • the notation pattern is [number, symbol, symbol, noun].
  • Such a notation pattern is not usually used when indicating “area” and is merely an erroneous input, so that the frequent appearance frequency is very low. Therefore, the notation pattern is not used as a notation pattern for extracting an attribute value.
  • notation patterns that are used only in some areas are not frequently used as notation patterns for extracting attribute values because they appear at a low frequency.
  • the learning unit 102 causes the learning device L that classifies the symbol information included in each of the plurality of web pages to learn based on the teacher data DT indicating each attribute value of the plurality of attributes.
  • the learning unit 102 makes the learning device L learn by adjusting the coefficient of the algorithm of the learning device L based on the teacher data DT.
  • the learning unit 102 calculates the feature vector of the attribute value of each attribute indicated in the teacher data DT.
  • the calculation of the feature vector may be the same as the calculation of the feature vector of the character information. For example, Word2vec, Glove, or fastText may be used.
  • the learning unit 102 allocates a region corresponding to each attribute in the feature space based on the feature vector of each attribute value.
  • the learning unit 102 calculates the probability that the symbol information belongs to each attribute based on the feature vector of the symbol information in the web page and the region corresponding to each attribute, and performs learning so as to label the attribute.
  • the coefficient of the algorithm of the unit L is adjusted.
  • the above method is an example of a learning method, and various methods used in semi-supervised machine learning can be applied to learning using the teacher data DT.
  • the learning unit 102 makes the learning unit L learn based on the initial data of the teacher data DT generated by the generation unit 101.
  • the learning based on the initial data is the first learning.
  • the learning unit 102 uses the learning device DT based on the extended teacher data DT. Train L. In other words, the learning unit 102 additionally learns the learning device L based on the expanded teacher data DT.
  • the learning unit 102 may cause the learning device L to learn each time the teacher data DT is extended, or may cause the learning device L to learn when the teacher data DT is extended a plurality of times. Alternatively, for example, the learning unit 102 may cause the learning device L to learn when the number of new attribute values added to the teacher data DT is equal to or greater than a threshold, or when a predetermined date and time has come. Alternatively, the learning device L may be made to learn based on the teacher data DT at that time.
  • the acquisition unit 103 inputs each of the plurality of web pages to the learning device L, and acquires symbol information classified by the learning device L as an attribute value candidate.
  • the learning device L extracts symbol information from the web page. For example, the learning device L divides a sentence such as an introduction sentence of a web page into segments, and extracts each segment as symbol information.
  • the learning device L calculates a feature vector of each symbol information, and assigns an attribute to the symbol information as a label based on the feature vector.
  • the acquiring unit 103 acquires, as attribute value candidates, the symbol information to which the learning device L has given the attribute as the label. Note that the learning device L may process only the symbol information included in the unstructured portion of the web page, or may also process the symbol information included in the structured portion.
  • the attribute value candidate is symbol information that can be an attribute value.
  • the attribute value candidate is the symbol information estimated as the attribute value by the learning device L.
  • an attribute may be added to symbol information that is not originally an attribute value. Therefore, the determination unit 104 described later determines whether or not the attribute value candidate is really an attribute value.
  • the attribute value candidate determined to be an attribute value by the determination unit 104 becomes a new attribute value.
  • the determination unit 104 determines whether the symbol or symbol string indicated by the attribute value candidate satisfies a predetermined condition.
  • the predetermined condition is a condition for determining whether or not the attribute value candidate is an attribute value. Stated another way, the predetermined condition is a condition for specifying an attribute value candidate that is not an attribute value but is detected as an attribute value.
  • Various conditions can be set as the predetermined condition.
  • the predetermined condition may be a condition relating to the character surface of the attribute value candidate or a condition relating to the number of characters of the attribute value candidate.
  • the determination unit 104 may determine at least one of the conditions described below, and may determine only one of the conditions, or may determine each of a plurality of conditions.
  • the determination unit 104 may determine whether the symbol or symbol string indicated by the attribute value candidate has less than a predetermined number of characters.
  • the predetermined number of characters may be a number determined as a threshold, and may be, for example, one character or 30 characters.
  • the determination unit 104 counts the number of characters of the attribute value candidate and determines whether the number of characters is less than a predetermined number of characters.
  • the determination unit 104 determines whether the symbol or symbol string indicated by the attribute value candidate is a specific type of symbol or symbol string.
  • the specific type of symbol or symbol string may be a predetermined type, and may be, for example, an alphabet or a Chinese character in Japanese or Chinese.
  • the determining unit 104 refers to the character code of the attribute value candidate and determines whether or not it is a specific type of symbol or symbol string.
  • the determination unit 104 determines whether the symbol or symbol string indicated by the attribute value candidate is a tag portion.
  • the markup language is an artificial language for embedding information in a document using a specific notation, and is, for example, HTML, XML, TeX, or SGML.
  • the tag may be a tag defined in a markup language, for example, a TABLE tag, a HEAD tag, a TITLE tag, or a BODY tag.
  • the determination unit 104 determines whether or not the part is a tag part by determining whether or not the part is surrounded by a specific symbol such as “ ⁇ ” or “>”.
  • the additional learning control unit 105 controls additional learning of the learning device L using the attribute value candidates based on the determination result of the determination unit 104.
  • the additional learning is to additionally learn the learning device L. Stated another way, the additional learning is to train the learning device L based on the extended teacher data DT.
  • the control of the additional learning is to control whether or not the attribute value candidate is used in the additional learning.
  • the additional learning control unit 105 uses the attribute value candidate for which the determination result of the determination unit 104 is a predetermined result as a new attribute value and uses it in additional learning.
  • the additional learning control unit 105 adds an attribute value candidate for which the determination result of the determination unit 104 is a predetermined result to the teacher data DT as a new attribute value, and performs additional learning of the learning device L using the attribute value candidate. Let it. In other words, the additional learning control unit 105 restricts the attribute value candidate whose determination result of the determination unit 104 is not a predetermined result from being added to the teacher data DT as a new attribute value. The additional learning of the learning device L using the candidate is restricted. What is necessary is just to set the result according to the conditions of the determination part 104 as a predetermined result, and an example is demonstrated below.
  • the additional learning control unit 105 removes an attribute from an attribute value candidate for which the determination result of the determination unit 104 is not a predetermined result so as not to use the attribute value candidate in additional learning.
  • a flag indicating that the additional learning is not used may be prepared, and the value of the flag may be set without removing the attribute to prevent the additional learning. That is, the additional learning control unit 105 may prevent the attribute value candidate from being added to the teacher data DT by removing the attribute from the attribute value candidate for which the determination result of the determination unit 104 is not the predetermined result.
  • a flag value may be set so that the attribute value candidate is not added to the teacher data DT.
  • the additional learning control unit 105 does not use the attribute value candidate to which the attribute is added in the additional learning by leaving the attribute value candidate without adding it to the teacher data DT or by deleting the attribute value candidate itself. You may do so. Attribute value candidates that have not been used in the additional learning do not become attribute values, and thus are not used as web page indexes.
  • the additional learning control unit 105 removes the attribute from the attribute value candidate. For example, the additional learning control unit 105 may remove the attribute from the attribute value candidate when the number of characters of the attribute value candidate is one, or may delete the attribute value candidate when the number of characters of the attribute value candidate is less than three. May be removed from the attribute.
  • the additional learning control unit 105 may remove the attribute from the attribute value candidate when it is determined that the symbol or symbol string indicated by the attribute value candidate has a predetermined number of characters or more. For example, when the number of characters of the attribute value candidate is 30 or more, the additional learning control unit 105 removes the attribute from the attribute value candidate.
  • the additional learning control unit 105 removes the attribute from the attribute value candidate. For example, when the attribute value candidate is a symbol of a type such as “*” or “;”, the additional learning control unit 105 may remove the attribute from the attribute value candidate, or may select an attribute value candidate having less than a predetermined number of characters. If it is an alphabet, the attribute may be removed from the attribute value candidate.
  • the additional learning control unit 105 removes the attribute from the attribute value candidate.
  • the attribute value candidate is a tag portion such as a TABLE tag, a HEAD tag, a TITLE tag, or a BODY tag
  • the additional learning control unit 105 removes the attribute from the attribute value candidate.
  • the additional learning control unit 105 may remove the attribute from the attribute value candidate based on the determination result of each of the plurality of conditions. For example, when the symbol or symbol string indicated by the attribute value candidate is determined to be less than the predetermined number of characters and is a specific type of symbol or symbol string, the additional learning control unit 105 determines the attribute from the attribute value candidate. It may be removed. For example, if the number of characters of the attribute value candidate is less than three and is an alphabet, the attribute may be removed from the attribute value candidate. As described above, the determination results of each of the plurality of conditions may be combined and used.
  • the additional learning control unit 105 may control the additional learning in consideration of information other than the determination result of the determination unit 104.
  • the additional learning control unit 105 may control additional learning of the learning device L using the attribute value candidates based on the appearance frequency of the attribute value candidates.
  • the additional learning control unit 105 determines whether the appearance frequency of the attribute value candidate is equal to or greater than a threshold. When the appearance frequency of the attribute value candidate is determined to be equal to or higher than the threshold, the additional learning control unit 105 does not remove the attribute from the attribute value candidate, and determines that the appearance frequency of the attribute value candidate is lower than the threshold. In this case, the attribute is removed from the attribute value candidate.
  • the additional learning control unit 105 may control the additional learning of the learning device L using the attribute value candidates based on the probability of the attribute value candidates calculated by the learning device L.
  • the additional learning control unit 105 determines whether the probability of the attribute value candidate is equal to or greater than a threshold.
  • the additional learning control unit 105 does not remove the attribute from the attribute value candidate when it is determined that the probability of the attribute value candidate is equal to or greater than the threshold, and determines that the probability of the attribute value candidate is less than the threshold value. , Remove the attribute from the attribute value candidate.
  • the above-described processes of the learning unit 102, the acquisition unit 103, the determination unit 104, and the additional learning control unit 105 are repeatedly performed many times, and the teacher data DT is gradually expanded. .
  • FIG. 6 is a flowchart showing the processing executed by the server 10.
  • the process illustrated in FIG. 6 is executed by the control unit 11 operating based on a program stored in the storage unit 12.
  • the process illustrated in FIG. 6 is an example of a process executed by the functional blocks illustrated in FIG.
  • the control unit 11 executes a candidate finding process based on the web page database DB (S1).
  • the candidate finding process is a process of finding an attribute candidate and an attribute value candidate from a web page.
  • the candidate finding process can be a process of finding a candidate for an index of a web page, or a process of finding a candidate for a component of the teacher data DT.
  • the candidate finding process may be performed on all web pages or only some web pages.
  • the control unit 11 may randomly select a predetermined number of web pages, or specify a web page including a table and perform the candidate finding process. May be targeted.
  • control unit 11 determines whether or not each of the plurality of web pages stored in the web page database DB has a TABLE tag, and specifies whether each of the plurality of web pages has a table.
  • the control unit 11 extracts, from a web page including the table, information stored in the table as a candidate. For example, the first column name of the table is extracted as an attribute candidate, and the second column of the table is extracted as an attribute value candidate.
  • the control unit 11 performs a cleaning process (S2).
  • the cleaning process in S2 is a process of excluding an inappropriate attribute value from the attribute value candidates.
  • the control unit 11 excludes attribute value candidates satisfying a predetermined exclusion condition.
  • the exclusion condition may be any condition. For example, an attribute value candidate whose difference from other attribute value candidates is equal to or greater than a threshold may be excluded, or an attribute value candidate whose appearance frequency is less than the threshold may be excluded. Is also good.
  • the control unit 11 executes an attribute integration process (S3).
  • the attribute name has a spelling variation, so the attribute integration process is a process of absorbing the spelling variation of the name extracted as an attribute candidate and integrating the attributes.
  • Merging means grouping names with different notations but the same meaning as the same attribute. For example, any of the grouped names is used as an attribute name.
  • An attribute name may be randomly selected from the grouped names, or a name having the highest appearance frequency may be used as the attribute name.
  • control unit 11 determines whether the meanings of the attribute candidates are the same, and integrates attributes having the same meaning. In other words, the control unit 11 absorbs the fluctuation of the description of the attribute.
  • synonym data defining synonyms is stored in the storage unit 12 in advance.
  • the control unit 11 refers to the synonym data and integrates names having the same meaning as the same attribute.
  • the control unit 11 executes an attribute value diversification process (S4).
  • the attribute value diversification process is a process of increasing the variation of the attribute value.
  • a specific notation pattern instead of using only a specific notation pattern as an attribute value, a plurality of notation patterns are extracted as attribute values, so that variations of attribute values are increased.
  • the number of notation patterns is increased too much, the values that are not originally attribute values are mixed, or the attribute values of minor notation patterns are mixed, and the accuracy of the teacher data is reduced. The frequency of appearance is taken into account.
  • FIG. 7 is a diagram showing an example of the attribute value diversification process executed in S4.
  • the control unit 11 extracts a description pattern of an attribute value candidate (S40).
  • the control unit 11 extracts a notation pattern by performing part-of-speech decomposition on the symbol string indicated by each attribute value candidate.
  • the control unit 11 totalizes the appearance frequency of the notation pattern for each attribute (S41).
  • the control unit 11 counts the number of attribute value candidates described in each notation pattern for each attribute and acquires the number as the appearance frequency.
  • the control unit 11 acquires the appearance frequency for each combination of the attribute and the notation pattern.
  • the control unit 11 determines a notation pattern of an attribute value (a notation pattern to be extracted as an attribute value) for each attribute based on the appearance frequency counted in S41 (S42).
  • the control unit 11 determines, for each attribute, the notation pattern of the top k-th appearance frequency (k is a natural number) as the notation pattern of the attribute value, based on the aggregation result in S41.
  • the value of k may be arbitrary, and the value of k may be different for each attribute.
  • the control unit 11 totalizes the appearance frequencies of the attribute value candidates for each combination of the attribute and the notation pattern (S43). In S43, the control unit 11 counts the number of appearances of each attribute value candidate and acquires the number as the appearance frequency. The control unit 11 acquires the appearance frequency for each combination of the attribute, the notation pattern, and the attribute value candidate.
  • the control unit 11 determines an attribute value from the attribute value candidates based on the appearance frequency counted in S43 (S44). In S44, the control unit 11 determines, as the attribute value, the attribute value candidate with the highest n-th appearance frequency (n is a natural number) based on the aggregation result in S43.
  • n is a natural number
  • the value of n may be arbitrary, and the value of n may be different for each attribute.
  • the control unit 11 executes the teacher data generation process (S5).
  • the teacher data generation process is a process of generating initial data of the teacher data DT.
  • the control unit 11 acquires a combination of the attribute integrated in S3 and the attribute value determined in S4 as initial data of the teacher data DT.
  • the control unit 11 causes the learning device L to learn based on the initial data of the teacher data DT generated in S5 (S6).
  • the control unit 11 calculates the feature vector of the attribute value indicated in the teacher data DT, and calculates the coefficient of the algorithm in the learning device L so as to calculate the probability indicating the similarity with the feature vector. adjust. Further, the control unit 11 sets an algorithm in the learning device L so as to add an attribute to the symbol information whose probability is equal to or more than the threshold.
  • the control unit 11 executes a tagging process of a web page based on the learning device L trained in S6 (S7).
  • the tagging process is a process of assigning an attribute to symbol information in a web page.
  • the control unit 11 inputs the web page stored in the web page database DB to the learning device L, and specifies the symbol information to which the attribute is added among the symbol information included in the web page.
  • the learning device L assigns, as a label, an attribute whose probability is equal to or more than a threshold value to the symbol information constituting the introduction sentence of the accommodation facility in the web page.
  • the control unit 11 executes a cleaning process based on a predetermined condition (S8).
  • the cleaning process of S8 is a process of removing an attribute (label) given to symbol information that is not an attribute value in the tagging process of S7.
  • FIG. 8 is a diagram illustrating an example of the cleaning process performed in S8.
  • the control unit 11 determines whether or not the symbol information to be processed is a specific one-character symbol (S80).
  • the symbol information to be processed is any of the symbol information to which the learning device L has added the attribute by the tagging process in S7.
  • the control unit 11 determines whether or not the symbol information to be processed is one specific symbol such as “*” or “;”. Symbols such as “*” and “;” are obviously not attribute values, so the attributes are removed.
  • the control unit 11 When it is determined that the symbol information to be processed is one specific symbol (S80; Y), the control unit 11 removes the attribute from the symbol information to be processed (S81), and proceeds to S87 described later. Transition. In S81, the control unit 11 removes the attribute given by the learning device L from the target symbol information. In other words, the control unit 11 changes the state where the attribute is added to the symbol information to be processed to the state where the attribute is not added to the symbol information to be processed.
  • the control unit 11 determines whether the symbol information to be processed is a predetermined tag (S82). ). In S82, the control unit 11 determines whether or not the symbol information to be processed is a predetermined tag such as a TABLE tag in a markup language. Such a symbol does not indicate the content of the web page, but merely indicates a tag, and is obviously not symbol information to be processed, so that the attribute is removed.
  • the control unit 11 determines whether the frequency of appearance of the symbol information to be processed is equal to or higher than a threshold (S83). .
  • the control unit 11 counts the number of extracted symbol information to be processed and acquires the number as the appearance frequency.
  • the threshold value may be a predetermined value, and an arbitrary value can be set. For example, a threshold may be set such that the upper 80% of the frequency of appearance appears.
  • the symbol information whose appearance frequency is less than the threshold is information that is rarely used in a web page, and thus the attribute is removed.
  • the process proceeds to S81, and the control unit 11 removes the attribute from the symbol information to be processed.
  • the control unit 11 determines whether the probability of the symbol information to be processed calculated by the learning device L is equal to or greater than the threshold. It is determined whether or not it is (S84). In S84, the control unit 11 refers to the probability calculated by the learning device L in the process of assigning the attribute, and determines whether or not the probability is equal to or larger than the threshold.
  • the threshold value may be a predetermined value, and an arbitrary value can be set. For example, when the probability is expressed as a percentage, a threshold value of about 70% may be set. The symbol information whose probability is less than the threshold value is removed because the accuracy of the assigned attribute is low.
  • the control unit 11 determines whether the number of characters of the symbol information to be processed is less than the threshold (S85). In S85, the control unit 11 determines whether or not the symbol information to be processed is a long sentence.
  • the threshold value may be a predetermined value, and an arbitrary value can be set. For example, a threshold of about 30 characters may be set. Since the symbol information of a long sentence is not an attribute value, the attribute is removed.
  • the control unit 11 determines whether or not the symbol information to be processed is an alphabet having less than a predetermined number of characters (S86).
  • S86 the control unit 11 determines whether the number of characters of the symbol information to be processed is less than a predetermined number of characters, and determines whether the character type of the symbol information to be processed is alphabet. I do.
  • the predetermined number of characters may be a predetermined value, and an arbitrary value can be set. For example, about three characters may be set. Alphabetical characters of less than three characters are not attribute values, so the attributes are removed.
  • the symbol information to be processed becomes an attribute value without removing the attribute, and is added to the teacher data DT by the process of S9 described later.
  • the information is stored in the web page database DB and used as an index of the web page by the processing of S11 described later.
  • the control unit 11 determines whether the determination of all the symbol information to be processed has been completed (S87).
  • the control unit 11 expands the teacher data DT based on the attribute value candidates after cleaning (S9). .
  • the control unit 11 adds the symbol information whose attribute has not been removed by the cleaning process in S8 to the teacher data DT as a new attribute value.
  • the control unit 11 additionally learns the learning device L based on the teacher data DT extended in S9 (S10).
  • the processing in S10 is the same as that in S6, but in S6, learning is performed using the initial data of the teacher data DT, whereas in S10, learning is performed using the teacher data DT extended in S9.
  • the control unit 11 determines whether the tagging process for all web pages has been completed (S11). In S11, the control unit 11 determines whether or not the tagging process in S7 has been performed on all the web pages stored in the web page database DB.
  • step S11 If there is a web page for which the tagging process has not been completed (S11; N), the process returns to step S7, and the tagging process is executed for the next web page.
  • control unit 11 stores the combination of the attribute and the attribute value in the web page database DB in association with the web page ID (S11). This processing ends.
  • the combination of the attribute and the attribute value stored in the web page database DB is used as a web page index.
  • the symbol information classified by the learning device L is acquired as an attribute value candidate, and based on the determination result as to whether the symbol or symbol string indicated by the attribute value candidate satisfies a predetermined condition.
  • the additional learning of the learning device L is prevented, and the learning device L in semi-supervised learning is prevented.
  • Accuracy can be increased.
  • in semi-supervised learning in which learning is repeatedly performed a decrease in accuracy leads to a further decrease in accuracy. Therefore, the accuracy of the learning device L is likely to decrease due to erroneous detection of attribute values.
  • the attribute value candidate whose determination result is not a predetermined result of the determination unit 104 is restricted from being added to the teacher data DT as a new attribute value, and additional learning of the learning device L using the attribute value candidate is performed.
  • the learning information L is restricted from being incorrectly added to the teacher data DT, it is possible to effectively increase the accuracy of the learning device L. That is, it is possible to more effectively prevent a decrease in accuracy from causing a further decrease in accuracy.
  • the attribute value is not originally required. Learning based on symbol information having a predetermined number of characters or less, or learning based on symbol information having a predetermined number of characters or more which is not originally an attribute value is prevented. Can be effectively improved.
  • the attribute value is not originally an attribute value. Learning can be prevented from being performed based on the symbol information of the tag portion, and the accuracy of the learning device L in semi-supervised learning can be effectively increased.
  • the additional learning of the learning device L using the attribute value candidate is controlled based on the appearance frequency of the attribute value candidate, and the additional learning is performed based on the attribute value in which the feature of each attribute is more revealed, so that the semi-supervised The accuracy of the learning device L in learning can be effectively increased.
  • the additional learning of the learning device L using the attribute value candidate is controlled based on the probability of the attribute value candidate calculated by the learning device L, and the additional learning is performed based on the attribute value in which the feature of each attribute is well expressed.
  • the accuracy of the learning device L in the semi-supervised learning can be effectively increased.
  • the structured part of the web page symbol information described in a predetermined notation pattern is extracted as an attribute value, and initial data of the teacher data DT is generated, thereby automating the process of generating the initial data.
  • the trouble of generating data can be saved.
  • the structured part can specify in advance which part has the attribute and the attribute value, the accuracy of the initial data can be improved. If there is a bias in the notation patterns, only the attribute values of a certain pattern can be extracted. However, by giving variations to the notation patterns, the coverage of the attribute values can be increased.
  • the characteristics of each attribute can be further improved.
  • the attribute values that appear can be included in the initial data, and the accuracy of the initial data can be increased.
  • the teacher data DT may be extended using a plurality of learning devices L having different viewpoints.
  • the viewpoint is an algorithm in the learning device L.
  • the coefficients of the algorithm in the learning device L are different.
  • learning devices L having different viewpoints can be prepared.
  • FIGS. 9-10 are explanatory diagrams of the processing of the modified example.
  • the generation unit 101 generates initial data of the teacher data DT (S100).
  • the learning unit 102 makes the first learning device L1 learn based on the initial data of the teacher data DT (S101).
  • the method for generating the initial data and the learning method based on the initial data are as described in the embodiment.
  • the acquisition unit 103 inputs each of the plurality of web pages to the first learning device L1, and acquires, as the first attribute value candidate, the symbol information to which the attribute is added by the first learning device L1 (S102).
  • the method of acquiring the attribute value candidate is as described in the embodiment. Note that cleaning may be performed when an attribute value candidate is acquired. However, in this modification, cleaning is not performed at the stage of S102.
  • the learning unit 102 makes the second learning device L2 learn based on the first attribute value candidate (S103).
  • the learning unit 102 determines the data obtained by adding the first attribute value candidate to the initial data of the teacher data DT based on the initial data of the teacher data DT and the first attribute value candidate.
  • the second learning device L2 may be made to learn, or the second learning device L2 may be learned based on only the first attribute value candidate (ie, only the first attribute value candidate as the teacher data). L2 may be learned.
  • the second learning unit L2 may be learned so that the viewpoint is different from that of the first learning unit L1. Note that the learning method itself is as described in the embodiment.
  • the acquisition unit 103 inputs each of the plurality of web pages to the second learning device L2, and acquires, as a second attribute value candidate, the symbol information to which the attribute has been assigned by the second learning device L2 (S104).
  • the method of acquiring the attribute value candidates is as described in the embodiment.
  • the web page input to the second learning device L2 may be the same as or different from the web page input to the first learning device L1.
  • the acquisition unit 103 may input each of a plurality of web pages different from the plurality of web pages input to the first learning device L1 to the second learning device L2.
  • the acquisition unit 103 inputs a plurality of web pages that have not been input to the first learning device L1 to the second learning device L2.
  • more attribute value candidates can be extracted.
  • the determination unit 104 determines whether the symbol or symbol string indicated by each of the first attribute value candidate and the second attribute value candidate satisfies a predetermined condition. Based on the determination result, additional learning using each of the first attribute value candidate and the second attribute value candidate is controlled (S105).
  • the determination method itself of the determination unit 104 is as described in the embodiment. Both the first attribute value candidate and the second attribute value candidate are to be determined.
  • the additional learning control unit 105 removes an attribute from an attribute value candidate determined to be not an attribute value among the first attribute value candidate and the second attribute value candidate, and adds the attribute to the teacher data DT as a new attribute value. Don't do it. This makes it easier to extend the teacher data DT than when only one learning device is used.
  • the learning unit 102, the acquisition unit 103, the determination unit 104, and the additional learning control unit 105 extend the teacher data DT by repeating the above-described processing as one cycle and executing the processing repeatedly. As shown in FIG. 10, when the first cycle ends, the processing of the second cycle is executed.
  • the teacher data DT expanded in the first cycle is acquired as initial data, and the same processing as S100 to S105 is executed (S200 to S205). As indicated by the teacher data DT in S205, the state is extended beyond the teacher data DT in the first cycle.
  • the web page used in the second cycle may be the same as in the first cycle or may be different. If a web page different from the web page input in the first cycle is used in the second cycle, more attribute value candidates can be extracted.
  • the learning system S may execute the attribute value diversification process without performing the cleaning process of S8 described in the embodiment and without particularly having a configuration for removing an attribute from an attribute value candidate that is not an attribute value. That is, the process of the determination unit 104 and the process of the additional learning control unit 105 may be omitted, and the attribute value diversification process may be executed.
  • the learning system S does not execute the cleaning process of S8 described in the embodiment and does not particularly have a configuration for removing an attribute from an attribute value candidate that is not an attribute value.
  • more attribute value candidates may be extracted using the learning devices L having different viewpoints. That is, the processing of the determination unit 104 and the processing of the additional learning control unit 105 may be omitted, and the teacher data DT may be extended using a plurality of learning devices L.
  • the case where the attribute is stored in the first column of the table of the web page and the attribute value is stored in the second column has been described.
  • Each of the attribute and the attribute value may be stored in a predetermined location in the structured portion.
  • the attribute is stored in the two column names of the table, and the attribute value is stored in the first column. You may.
  • the attribute may be stored in a predetermined row of the table, and the attribute value may be stored in another row.
  • the generating unit 101 generates the initial data of the teacher data DT has been described, but the initial data may be manually generated by the administrator of the learning system S. Further, for example, in the embodiment, the case where the initial data is generated using the web page has been described. However, the initial data may be generated using other information such as a search history. When a search history is used, a search condition input by the user may be stored in the initial data as an attribute value.
  • the web page of the accommodation facility is described as an example, but the web page may be various types of web pages, for example, e-commerce, application distribution, music distribution, insurance service, or financial service.
  • a combination of an attribute and an attribute value may be extracted from a web page such as a service.
  • a web page has been described as an example of a document, but various types of documents can be applied to the document.
  • the document may be a document such as a legal document, technical document, meeting material, catalog, or electronic book.
  • ⁇ Also for example, the case has been described where the attributes and attribute values extracted from the document are used for retrieval, but the attributes and attribute values may be used for other purposes. For example, it may be used to create a summary of a document.
  • the functions may be shared by a plurality of computers.
  • the functions may be shared between the server 10 and the user terminal 20, or the functions may be shared between a plurality of server computers.
  • the function may be shared by transmitting and receiving the processing result via the network.
  • the data described as being stored in the data storage unit 100 may be stored in a computer other than the server 10.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

半教師あり学習において学習器の精度を高める。学習システム(S)の学習手段(103)は、複数の属性の各々の属性値を示す教師データに基づいて、複数の文書の各々に含まれる記号情報を分類する学習器を学習させる。取得手段(102)は、複数の文書の各々を学習器に入力し、学習器により分類された記号情報を属性値候補として取得する。判定手段(104)は、属性値候補が示す記号又は記号列が所定の条件を満たすか否かを判定する。追加学習制御手段(105)は、判定手段(104)の判定結果に基づいて、属性値候補を用いた学習器の追加学習を制御する。

Description

学習システム、学習方法、及びプログラム
 本発明は、学習システム、学習方法、及びプログラムに関する。
 従来、ウェブページ等の文書を分類する学習器が知られている。学習器の精度を高めるには、教師データの精度を高めることが重要であるが、最初から精度の高い教師データを準備しようとすると非常に手間がかかる。このため、最初は少ない教師データで学習器を学習させ、学習器が属性を付与した記号情報を、新たな属性値として教師データに追加する半教師あり学習という手法がある。半教師あり学習では、学習器の学習と、属性値の追加と、を繰り返すことで、教師データが徐々に拡張される。
 半教師あり学習では、本来は属性値ではない記号情報に属性が付与されてしまい、学習器の精度を十分に高めることができないことがある。このため、記号情報が属性値である蓋然性が閾値以上の記号情報だけを教師データに追加することが検討されている(例えば、特許文献1)。
国際公開第2011/148571号公報
 しかしながら、特許文献1のように、蓋然性が閾値以上の記号情報を教師データに追加したとしても、本来は属性値ではない記号情報を排除可能な閾値を設定するのは非常に困難である。このため、従来の半教師あり学習では、学習器の精度を十分に高めることができなかった。
 本発明は上記課題に鑑みてなされたものであって、その目的は、半教師あり学習において学習器の精度を高めることが可能な学習システム、学習方法、及びプログラムを提供することである。
 上記課題を解決するために、本発明に係る学習システムは、複数の属性の各々の属性値を示す教師データに基づいて、複数の文書の各々に含まれる記号情報を分類する学習器を学習させる学習手段と、前記複数の文書の各々を前記学習器に入力し、前記学習器により分類された記号情報を属性値候補として取得する取得手段と、前記属性値候補が示す記号又は記号列が所定の条件を満たすか否かを判定する判定手段と、前記判定手段の判定結果に基づいて、前記属性値候補を用いた前記学習器の追加学習を制御する追加学習制御手段と、を含むことを特徴とする。
 本発明に係る学習方法は、複数の属性の各々の属性値を示す教師データに基づいて、複数の文書の各々に含まれる記号情報を分類する学習器を学習させる学習ステップと、前記複数の文書の各々を前記学習器に入力し、前記学習器により分類された記号情報を属性値候補として取得する取得ステップと、前記属性値候補が示す記号又は記号列が所定の条件を満たすか否かを判定する判定ステップと、前記判定ステップの判定結果に基づいて、前記属性値候補を用いた前記学習器の追加学習を制御する追加学習制御ステップと、を含むことを特徴とする。
 本発明に係るプログラムは、複数の属性の各々の属性値を示す教師データに基づいて、複数の文書の各々に含まれる記号情報を分類する学習器を学習させる学習手段、前記複数の文書の各々を前記学習器に入力し、前記学習器により分類された記号情報を属性値候補として取得する取得手段、前記属性値候補が示す記号又は記号列が所定の条件を満たすか否かを判定する判定手段、前記判定手段の判定結果に基づいて、前記属性値候補を用いた前記学習器の追加学習を制御する追加学習制御手段、としてコンピュータを機能させる。
 また、本発明の一態様では、前記追加学習制御手段は、前記判定手段の判定結果が所定の結果ではない属性値候補が新たな属性値として前記教師データに追加されることを制限し、当該属性値候補を用いた前記学習器の追加学習が行われることを制限する、ことを特徴とする。
 また、本発明の一態様では、前記判定手段は、前記属性値候補が示す記号又は記号列が所定字数未満であるか否かを判定する、ことを特徴とする。
 また、本発明の一態様では、前記判定手段は、前記属性値候補が示す記号又は記号列が特定種類の記号又は記号列であるか否かを判定する、ことを特徴とする。
 また、本発明の一態様では、前記複数の文書の各々は、マークアップ言語で記述されており、前記判定手段は、前記属性値候補が示す記号又は記号列がタグ部分であるか否かを判定する、ことを特徴とする。
 また、本発明の一態様では、前記追加学習制御手段は、前記属性値候補の出現頻度に更に基づいて、前記属性値候補を用いた前記学習器の追加学習を制御する、ことを特徴とする。
 また、本発明の一態様では、前記追加学習制御手段は、前記学習器により計算された前記属性値候補の蓋然性に更に基づいて、前記属性値候補を用いた前記学習器の追加学習を制御する、ことを特徴とする。
 また、本発明の一態様では、前記学習システムは、前記複数の文書の各々のうち、所定の表記パターンで記述された記号情報を属性値として抽出し、前記教師データの初期データを生成する生成手段を更に含む、ことを特徴とする。
 また、本発明の一態様では、前記生成手段は、前記複数の文書の各々の中から複数の表記パターンの各々の出現頻度を取得し、所定頻度以上で出現した表記パターンで記述された記号情報を属性値として抽出し、前記初期データを生成する、ことを特徴とする。
 また、本発明の一態様では、前記学習手段は、前記教師データに基づいて、第1の学習器を学習させ、前記取得手段は、前記複数の文書の各々を前記第1の学習器に入力し、前記第1の学習器により属性が付与された記号情報を第1の属性値候補として取得し、前記学習手段は、前記第1の属性値候補に基づいて、第2の学習器を学習させ、前記取得手段は、複数の文書の各々を前記第2の学習器に入力し、前記第2の学習器により属性が付与された記号情報を第2の属性値候補として取得し、前記判定手段は、前記第1の属性値候補と前記第2の属性値候補との各々が示す記号又は記号列が前記所定の条件を満たすか否かを判定し、前記追加学習制御手段は、前記判定手段の判定結果に基づいて、前記第1の属性値候補と前記第2の属性値候補との各々を用いた追加学習を制御する、ことを特徴とする。
 また、本発明の一態様では、前記取得手段は、前記第1の学習器に入力される前記複数の文書とは異なる複数の文書の各々を前記第2の学習器に入力する、ことを特徴とする。
 本発明によれば、半教師あり学習において学習器の精度を高めることである。
学習システムの全体構成を示す図である。 ウェブページの一例を示す図である。 学習システムで実現される機能の一例を示す機能ブロック図である。 ウェブページデータベースの一例を示す図である。 教師データの一例を示す図である。 サーバによって実行される処理を示すフロー図である。 S4において実行される属性値多様化処理の一例を示す図である。 S8において実行されるクリーニング処理の一例を示す図である。 変形例の処理の説明図である。 変形例の処理の説明図である。
[1.学習システムのハードウェア構成]
 以下、本発明に関わる学習システムの実施形態の例を説明する。図1は、学習システムの全体構成を示す図である。図1に示すように、学習システムSは、サーバ10及びユーザ端末20を含み、これらはネットワークNに接続される。なお、図1では、サーバ10及びユーザ端末20を1台ずつ示しているが、これらは複数台あってもよい。
 サーバ10は、サーバコンピュータであり、例えば、制御部11、記憶部12、及び通信部13を含む。制御部11は、少なくとも1つのプロセッサを含む。制御部11は、記憶部12に記憶されたプログラムやデータに従って処理を実行する。記憶部12は、主記憶部及び補助記憶部を含む。例えば、主記憶部はRAMなどの揮発性メモリであり、補助記憶部は、ハードディスクやフラッシュメモリなどの不揮発性メモリである。通信部13は、有線通信又は無線通信用の通信インタフェースを含み、例えば、ネットワークを介してデータ通信を行う。
 ユーザ端末20は、ユーザが操作するコンピュータであり、例えば、パーソナルコンピュータ、携帯情報端末(タブレット型コンピュータを含む)、又は携帯電話機(スマートフォンを含む)等である。ユーザ端末20は、制御部21、記憶部22、通信部23、操作部24、及び表示部25を含む。制御部21、記憶部22、及び通信部23のハードウェア構成は、それぞれ制御部11、記憶部12、及び通信部13と同様であってよい。操作部24は、ユーザが操作を行うための入力デバイスであり、例えば、タッチパネルやマウス等のポインティングデバイスやキーボード等である。操作部24は、ユーザの操作内容を制御部21に伝達する。表示部25は、例えば、液晶表示部又は有機EL表示部等である。
 なお、記憶部12,22に記憶されるものとして説明するプログラム及びデータは、ネットワークを介してこれらに供給されるようにしてもよい。また、サーバ10及びユーザ端末20のハードウェア構成は、上記の例に限られず、種々のハードウェアを適用可能である。例えば、サーバ10及びユーザ端末20は、それぞれコンピュータ読み取り可能な情報記憶媒体を読み取る読取部(例えば、光ディスクドライブやメモリカードスロット)や外部機器と直接的に接続するための入出力部(例えば、USB端子)を含んでもよい。この場合、情報記憶媒体に記憶されたプログラムやデータが読取部又は入出力部を介して、サーバ10又はユーザ端末20に供給されるようにしてもよい。
[2.学習システムの概要]
 本実施形態では、学習システムSでは、ユーザが入力した検索条件に基づいて文書が検索される。文書のファイル形式は、種々の形式を適用可能であり、例えば、HTMLファイル、XMLファイル、テキストファイル、又はリッチテキストファイルであってもよい。
 本実施形態では、文書の一例として、HTMLで記述されたウェブページを説明する。このため、本実施形態でウェブページと記載した箇所については、文書と読み替えることができる。ウェブページは、種々のジャンルのページを適用可能であり、本実施形態では、宿泊施設のページを例に挙げる。例えば、サーバ10は、旅行予約サービスの運営者が管理しており、宿泊施設のウェブページを統括的に管理する。
 例えば、ユーザは、ユーザ端末20から宿泊地や宿泊日といった検索条件を入力し、サーバ10は、当該検索条件に合致する宿泊施設のウェブページを検索する。サーバ10は、検索結果をユーザ端末20に送信し、ユーザ端末20は、検索でヒットした宿泊施設の一覧が表示される。ユーザが検索結果の中から宿泊施設を選択すると、当該宿泊施設のウェブページが表示部25に表示される。
 図2は、ウェブページの一例を示す図である。図2に示すように、ウェブページP1には、ユーザが選択した宿泊施設の情報が表示され、例えば、宿泊施設名、部屋名、部屋の画像、及び部屋の紹介文といった情報が表示領域A10に表示される。部屋の紹介文等の情報は、検索時のインデックスとして用いられる。
 本実施形態では、ウェブページP1は、半構造化されており、非構造化部分と構造化部分とを含む。
 非構造化部分は、ウェブページP1の中で構造化されていない部分である。別の言い方をすれば、非構造化部分は、フォーマットが定められていない部分、レイアウトが定められていない部分、又は、どこに何の情報が記述されるか決まっていない部分ということもできる。例えば、非構造化部分は、自由に入力されるテキスト、又は、自由に添付される画像を含む。本実施形態では、宿泊施設は、自分達の好きなように非構造化部分を記述する。
 構造化部分は、ウェブページP1の中で構造化された部分である。別の言い方をすれば、構造化部分は、予め定められたフォーマットで記述された部分、レイアウトが予め定められた部分、又は、どこに何の情報が記述されているか決まっている部分ということもできる。例えば、構造化部分は、テーブル、表、図、又は構造化テキストである。本実施形態では、旅行予約サービスの運営者が構造化部分のフォーマットを定めているものとする。宿泊施設は、運営者が定めたフォーマットに沿って構造化部分を記述する。
 図2に示すように、ウェブページP1は、表示領域A10に表示される紹介文等の情報を非構造化部分として含み、テーブルT11を構造化部分として含む。例えば、表示領域A10には、宿泊施設が自由に入力したテキストと、宿泊施設が自由に添付した画像と、が表示される。また例えば、テーブルT11には、宿泊施設が所定のフォーマットに沿って作成した情報が表示される。ここでは、テーブルT11の1列目に属性が格納され、テーブルT11の2列目に属性値が格納される。
 属性は、ウェブページに含まれる情報の種類である。別の言い方をすれば、属性は、ウェブページに含まれる情報の意味、分類、性質、又は特徴ということもできる。図2の例であれば、テーブルT11には、「広さ」、「フロア」、「ベッド幅」、及び「部屋数」といった情報が格納されているので、属性として、これらの名前が記述されている。なお、属性は、これらに限られず、ウェブページの内容に合った任意の属性を設定可能であり、例えば、宿泊施設であれば、部屋タイプや宿泊可能人数といった属性があってもよい。
 属性値は、ウェブページに含まれる情報の中身である。別の言い方をすれば、属性値は、ウェブページに含まれる情報の具体的な内容である。属性値は、記号又は記号列で示される。記号は、情報を伝達する媒体であり、例えば、文字、数値、マーク、及び絵を含む意味である。記号列は、2字以上の記号の集まりである。図2の例であれば、テーブルT11には、「広さ」、「フロア」、「ベッド幅」、及び「部屋数」の各々の属性の属性値として、「60m2」、「9階」、「140cm」、及び「3部屋」が格納される。
 本実施形態では、属性は、宿泊施設によって自由に入力される。このため、同じ属性でも、表記ゆれが存在することがある。例えば、「広さ」という属性でも、宿泊施設によっては「面積」や「床面積」と入力することもある。また例えば、「フロア」という属性でも、宿泊施設によっては「階」や「階数」と入力することもある。詳細は後述するが、学習システムSは、属性の表記ゆれを吸収し、表記は異なるが同じ意味を示す属性を統合する。
 また、本実施形態では、属性値も、宿泊施設によって自由に入力される。このため、属性値には、種々の表記パターンが存在する。例えば、「広さ」という属性であれば、「60m2」や「70m2」のように、整数と単位の組み合わせで表現されることもあれば、「60.25m2」や「70.3m2」のように、小数点以下の情報を含む数値と単位の組み合わせで表現されることもある。また例えば、宿泊施設によっては、日本語又は中国語における漢字で数値を表現することもある。他にも例えば、宿泊施設によっては、「m2」ではなく平方フィート等の別の単位を使用することもあるし、日本語又は中国語における漢字で単位を表現することもある。詳細は後述するが、学習システムSは、頻出の表記パターンの情報を属性値として抽出し、属性値のカバー率を高めるようにしている。
 学習システムSでは、ウェブページP1から属性と属性値が抽出され、検索のインデックスとして利用される。本実施形態では、テーブルT11に属性と属性値の組み合わせが格納されている。テーブルT11は構造化部分なので、比較的容易に属性と属性値の組み合わせを抽出することができる。このため、ウェブページP1のテーブルT11から属性と属性値の組み合わせが抽出され、インデックスとして利用される。
 この点、ウェブページP1には、テーブルT11だけでなく、非構造化部分である表示領域A10にも、宿泊施設の情報が豊富に含まれている。このため、表示領域A10から属性値を抽出することができれば、検索の精度を高めることができる。しかし、表示領域A10の紹介文等は、宿泊施設が自由に入力しているので、その文面だけを参照しても、何の属性のどの属性値が記述されているかを特定するのは困難である。
 そこで、学習システムSは、テーブルT11から抽出した属性と属性値の組み合わせに基づいて教師データを生成し、ウェブページを分類する学習器を学習させる。学習器は、ウェブページに含まれる宿泊施設の紹介文等の文言を分析し、学習済みの属性の属性値と推測される文言に対し、属性を付与する。これにより、宿泊施設の紹介文等に含まれる文言をインデックスとして利用することができ、検索の精度を高めることができる。
 学習器は、教師データによって学習されるので、学習器の分類精度を高めるためには、精度の高い教師データを用意することが重要である。ただし、最初から精度の高い教師データを用意することは非常に手間がかかる。このため、学習システムSは、半教師あり学習を利用し、最初は少ない教師データによって学習器を学習させ、学習器を利用してウェブページから抽出した属性値を教師データに追加する。教師データを徐々に拡張することで、教師データを準備する手間を省くようにしている。
 ただし、最初のうちは、学習器の精度があまり高くないので、本来は属性値ではないものが、誤って属性値として検出されることがある。例えば、本来は属性値ではない「*」や「;」といった記号が、「広さ」の属性の属性値として誤って検出されることがある。また例えば、本来は広さを示す情報ではない長文の文字列が、「広さ」の属性の属性値として誤って検出されることがある。半教師あり学習では、学習が繰り返し行われるため、本来は属性値ではない誤った情報が教師データにひとたび追加されると、当該誤った情報に基づいて学習された学習器によって、更に誤った情報が属性値として検出されやすくなる。即ち、学習が繰り返し行われる半教師あり学習では、精度の低下が更なる精度の低下を招くので、属性値の誤検出による学習器の精度低下を引き起こしやすい。
 そこで、学習システムSは、学習器が属性値の候補として検出した記号又は記号列が所定の条件を満たすか否かを判定し、本来は属性値ではない記号情報が教師データに追加されることを防止し、学習器の精度を高めるようにしている。以降、学習システムSが有する構成の詳細を説明する。
[3.本実施形態において実現される機能]
 図3は、学習システムSで実現される機能の一例を示す機能ブロック図である。図3に示すように、本実施形態では、データ記憶部100、生成部101、学習部102、取得部103、判定部104、及び追加学習制御部105が、サーバ10で実現される。データ記憶部100は、記憶部12を主として実現され、生成部101、学習部102、取得部103、判定部104、及び追加学習制御部105の各々は、制御部11を主として実現される。
[3-1.データ記憶部]
 データ記憶部100は、ウェブページに関する種々のデータを記憶する。例えば、データ記憶部100は、学習器L、ウェブページデータベースDB、及び教師データDTを記憶する。
 データ記憶部100には、学習器Lのプログラムが記憶されている。別の言い方をすれば、データ記憶部100には、学習器Lのアルゴリズムが記憶されている。学習器L自体は、半教師あり学習で用いられる種々の学習器Lを適用可能であり、例えば、畳み込みニューラルネットワーク、再帰型ニューラルネットワーク、又はCRF(Conditional Random Field)であってもよい。
 学習器Lは、複数のウェブページの各々に含まれる記号情報を分類する。例えば、学習器Lは、入力されたウェブページに含まれる記号情報の特徴を示す特徴ベクトルを計算する。特徴ベクトルは、記号情報が示す記号又は記号列の特徴量であり、例えば、Word2vec、Glove、又はfastText等を利用して計算してもよい。学習器Lは、当該計算した特徴ベクトルと、学習済みの各属性の属性値と、に基づいて、記号情報が各属性に属する蓋然性を計算する。
 例えば、後述する学習部102によって、各属性が特徴空間のどの領域に割り当てられるかが学習器Lに学習されており、学習器Lは、記号情報の特徴ベクトルがどの方向を向いているかに基づいて、記号情報が各属性に属する蓋然性を計算する。例えば、学習器Lは、蓋然性が最も高い属性を記号情報に付与してもよいし、蓋然性が閾値以上の属性を記号情報に付与してもよい。記号情報に付与される属性は、学習器Lによる分類結果であり、学習器Lが記号情報に付与したラベルである。ラベルは、記号情報の分類であり、属性を識別可能な情報であればよい。例えば、ラベルは、属性を識別するIDであってもよいし、属性の名前が用いられてもよい。
 図4は、ウェブページデータベースDBの一例を示す図である。図4に示すように、ウェブページデータベースDBには、ウェブページに関する種々の情報が格納される。例えば、ウェブページデータベースDBには、ウェブページを一意に識別するページIDに関連付けて、宿泊施設名、宿泊施設の基本情報、宿泊施設のカテゴリ、ウェブページ内の紹介文の中から抽出されたキーワード、属性、及び属性値といった情報が格納される。これらの情報は、検索時のインデックスとして用いられる。
 宿泊施設の基本情報は、宿泊施設固有の情報であり、例えば、住所、電話番号、又はメールアドレスといった情報である。カテゴリは、複数のカテゴリの中で宿泊施設が属するカテゴリであり、例えば、高級宿、温泉旅館、又はビジネスホテルといったカテゴリである。キーワードは、宿泊施設の紹介文の中の任意の単語であり、予め定められた単語と一致する単語がキーワードとして抽出されてもよいし、宿泊施設が検索用に指定したキーワードが格納されてもよい。
 属性と属性値は、学習器Lがウェブページから抽出した属性と属性値である。先述したように、学習器Lは、ウェブページ内の記号情報に対し、属性をラベルとして付与する。ウェブページデータベースDBには、学習器Lがウェブページ内の文字情報に付与した属性が格納される。また、ウェブページデータベースDBには、属性が付与された記号情報が属性値として格納される。本実施形態では、後述する判定部104の判定結果に基づいて、学習器Lがラベルとして付与した属性が除去されることがあるので、ウェブページデータベースDBには、属性が除去されなかった場合に、属性と属性値の組み合わせが格納される。
 なお、ウェブページデータベースDBに格納されるデータは、上記の例に限られない。例えば、ウェブページデータベースDBには、ウェブページのURL、データ記憶部100におけるウェブページのデータの格納場所、ウェブページに含まれる紹介文のテキスト、画像データ、及びテーブルのデータといった種々の情報が格納されてよい。
 図5は、教師データDTの一例を示す図である。図5に示すように、教師データDTには、学習器Lを学習させるためのデータが格納される。例えば、教師データDTには、属性と属性値の組み合わせが格納される。なお、図5では、属性の名前を示しているが、属性のID(ラベルのID)が格納されてもよい。
 教師データDTは、後述する生成部101によって初期データが生成され、学習器Lがラベルとして属性を付与した記号情報が属性値として追加される。ただし、先述したように、判定部104の判定結果に基づいて、学習器Lが付与した属性が除去されることがあるので、教師データDTには、属性が除去されなかった記号情報が属性値として追加される。別の言い方をすれば、本来は属性値ではない記号情報の属性が除去されることがあるので、教師データDTには、属性値と判定された記号情報が追加される。
 教師データDTは、学習器Lの学習に利用されるが、属性と属性値の組み合わせのリストなので、検索条件の設定に利用されてもよい。例えば、教師データDTが示す属性と属性値の組み合わせがユーザ端末20に表示され、検索条件とする属性及び属性値をユーザに選択させてもよい。この場合、ユーザが選択した属性及び属性値をクエリとし、ウェブページデータベースDBに格納された属性及び属性値をインデックスとした検索が実行される。
 なお、データ記憶部100に記憶されるデータは、上記の例に限られない。データ記憶部100は、実施形態に係る処理のために必要なデータを記憶すればよい。例えば、データ記憶部100は、ウェブページの実データを記憶してもよい。
[3-2.生成部]
 生成部101は、複数のウェブページの各々のうち、所定の表記パターンで記述された記号情報を属性値として抽出し、教師データDTの初期データを生成する。初期データは、1回目の学習で用いられる教師データDTである。
 表記パターンは、記号情報が示す記号又は記号列の表記のパターンであり、POSタグ配列又は品詞タグ配列と呼ばれることもある。記号情報が1字の記号であれば、表記パターンは、当該1字の記号の種類である。記号情報が記号列であれば、表記パターンは、記号列における記号の並びである。
 本実施形態では、表記パターンは、品詞の種類を並べた配列で表現される。例えば、「10m2」という記号情報であれば、表記パターンは、[number,noun]となる。また例えば、「15.25m2」という記号情報であれば、表記パターンは、[number,symbol,number,noun]となる。
 例えば、生成部101は、ウェブページに含まれる記号情報を抽出する。本実施形態では、生成部101は、ウェブページの構造化部分から記号情報を抽出する。例えば、図2の例であれば、生成部101は、ウェブページP1のテーブルT11から記号情報を抽出する。ここでは、属性値となりうる情報は、テーブルT11の2列目に格納されているので、生成部101は、テーブルT11の2列目に格納された記号情報を抽出し、表記パターンを特定する。表記パターンは、自然言語処理における品詞分解ツールを利用して特定されるようにすればよい。品詞分解ツールは、品詞を定義した辞書データに基づいて記号情報を解析して品詞に分解する。
 生成部101は、複数のウェブページの各々の中から複数の表記パターンの各々の出現頻度を取得し、所定頻度以上で出現した表記パターンで記述された記号情報を属性値として抽出し、初期データを生成する。
 出現頻度とは、表記パターンが表れる頻度である。生成部101は、表記パターンの特定結果に基づいて、各表記パターンの数をカウントして出現頻度を取得する。属性に関係なく表記パターンがカウントされてもよいが、本実施形態では、生成部101は、属性ごとに、表記パターンの数をカウントして出現頻度を取得する。
 所定頻度は、閾値として定められた頻度であればよく、例えば、全体の中での上位数十パーセントといった値を設定してもよいし、出現頻度の絶対数が所定数以上といった値を設定してもよい。生成部101は、各表記パターンの出現頻度が所定頻度以上であるか否かを判定し、所定頻度以上であると判定された表記パターンの記号情報を属性値として抽出し、教師データDTの初期データを生成する。
 例えば、「広さ」という属性であれば、「10m2」のように[number,noun]の表記パターンと、「15.25m2」のように[number,symbol,number,noun]の表記パターンと、がよく出現し、頻出頻度が非常に高くなる。このため、これらの表記パターンは、属性値を抽出するための表記パターンとして使用される。
 一方、宿泊施設が「17*]m2」のように誤入力した場合には、表記パターンは[number,symbol,symbol,noun]となる。このような表記パターンは、通常は「広さ」を表す場合に使用されず、誤入力にすぎないので、頻出頻度は非常に低くなる。このため、当該表記パターンは、属性値を抽出するための表記パターンとしては使用されない。誤入力以外にも、例えば、一部の地域でしか用いられない表記パターンについても、頻出頻度は低いので、属性値を抽出するための表記パターンとしては使用されない。
[3-3.学習部]
 学習部102は、複数の属性の各々の属性値を示す教師データDTに基づいて、複数のウェブページの各々に含まれる記号情報を分類する学習器Lを学習させる。学習部102は、教師データDTに基づいて、学習器Lのアルゴリズムの係数を調整することによって、学習器Lを学習させる。
 例えば、学習部102は、教師データDTに示された各属性の属性値の特徴ベクトルを計算する。特徴ベクトルの計算は、文字情報の特徴ベクトルの計算と同じであってよく、例えば、Word2vec、Glove、又はfastText等を利用してもよい。学習部102は、各属性値の特徴ベクトルに基づいて、特徴空間内に各属性に対応する領域を割り当てる。そして、学習部102は、ウェブページ内の記号情報の特徴ベクトルと、各属性に対応する領域と、に基づいて、記号情報が各属性に属する蓋然性を計算して属性をラベル付与するように学習器Lのアルゴリズムの係数を調整する。なお、上記の方法は、学習方法の一例であり、教師データDTを用いた学習は、半教師有り機械学習で用いられている種々の方法を適用可能である。
 本実施形態では、学習部102は、生成部101により生成された教師データDTの初期データに基づいて、学習器Lを学習させる。初期データに基づく学習は、1回目の学習であり、後述する追加学習制御部105によって教師データDTが拡張された場合には、学習部102は、拡張後の教師データDTに基づいて、学習器Lを学習させる。別の言い方をすれば、学習部102は、拡張後の教師データDTに基づいて、学習器Lを追加で学習させる。
 学習部102は、教師データDTが拡張されるたびに学習器Lを学習させてもよいし、教師データDTが複数回拡張された場合に学習器Lを学習させてもよい。他にも例えば、学習部102は、教師データDTに追加された新たな属性値の数が閾値以上になった場合に学習器Lを学習させてもよいし、所定の日時が訪れた場合に、その時点での教師データDTに基づいて学習器Lを学習させてもよい。
[3-4.取得部]
 取得部103は、複数のウェブページの各々を学習器Lに入力し、学習器Lにより分類された記号情報を属性値候補として取得する。学習器Lにウェブページが入力されると、学習器Lは、ウェブページから記号情報を抽出する。例えば、学習器Lは、ウェブページの紹介文等の文章を文節に区切り、個々の文節を記号情報として抽出する。
 学習器Lは、各記号情報の特徴ベクトルを計算し、当該特徴ベクトルに基づいて、記号情報に属性をラベルとして付与する。取得部103は、学習器Lがラベルとして属性を付与した記号情報を、属性値候補として取得する。なお、学習器Lは、ウェブページの非構造化部分に含まれる記号情報だけを処理対象としてもよいし、構造化部分に含まれる記号情報も処理対象としてもよい。
 属性値候補は、属性値となりうる記号情報である。別の言い方をすれば、属性値候補は、学習器Lによって属性値と推測された記号情報である。先述したように、本来は属性値ではない記号情報に属性が付与されることがあるので、属性値候補は、後述する判定部104によって、本当に属性値であるか否かが判定される。判定部104によって属性値であると判定された属性値候補は、新たな属性値となる。
[3-5.判定部]
 判定部104は、属性値候補が示す記号又は記号列が所定の条件を満たすか否かを判定する。
 所定の条件とは、属性値候補が属性値であるか否かを判定するための条件である。別の言い方をすれば、所定の条件は、本来は属性値ではないが属性値として検出された属性値候補を特定するための条件である。所定の条件は、種々の条件を設定可能であり、例えば、属性値候補の字面に関する条件であってもよいし、属性値候補の字数に関する条件であってもよい。以下、所定の条件の一例を説明する。判定部104は、下記に説明する条件の少なくとも1つを判定すればよく、何れか1つの条件だけを判定してもよいし、複数の条件の各々を判定してもよい。
 例えば、判定部104は、属性値候補が示す記号又は記号列が所定字数未満であるか否かを判定してもよい。所定字数は、閾値として定められた数であればよく、例えば、1字であってもよいし、30字であってもよい。判定部104は、属性値候補の字数をカウントし、字数が所定字数未満であるか否かを判定する。
 また例えば、判定部104は、属性値候補が示す記号又は記号列が特定種類の記号又は記号列であるか否かを判定する。特定種類の記号又は記号列は、予め定められた種類であればよく、例えば、アルファベットであってもよいし、日本語や中国語における漢字であってもよい。判定部104は、属性値候補の文字コードを参照し、特定種類の記号又は記号列であるか否かを判定する。
 本実施形態では、複数のウェブページの各々は、マークアップ言語で記述されているので、判定部104は、属性値候補が示す記号又は記号列がタグ部分であるか否かを判定してもよい。マークアップ言語は、文書中に特定の記法を用いて情報を埋め込むための人工言語であり、例えば、HTML、XML、TeX、又はSGMLである。タグは、マークアップ言語で定められたタグであればよく、例えば、TABLEタグ、HEADタグ、TITLEタグ、又はBODYタグである。判定部104は、「<」や「>」といった特定の記号で囲われた部分であるか否かを判定することによって、タグ部分であるか否かを判定する。
[3-6.追加学習制御部]
 追加学習制御部105は、判定部104の判定結果に基づいて、属性値候補を用いた学習器Lの追加学習を制御する。
 追加学習とは、学習器Lを追加で学習させることである。別の言い方をすれば、追加学習は、拡張された教師データDTに基づいて学習器Lを学習させることである。追加学習の制御とは、属性値候補を追加学習で利用するか否かを制御することである。
 例えば、追加学習制御部105は、判定部104の判定結果が所定の結果であった属性値候補を新たな属性値とし、追加学習で利用する。追加学習制御部105は、判定部104の判定結果が所定の結果である属性値候補を新たな属性値として教師データDTに追加し、当該属性値候補を用いた学習器Lの追加学習を実行させる。別の言い方をすれば、追加学習制御部105は、判定部104の判定結果が所定の結果ではない属性値候補が新たな属性値として教師データDTに追加されることを制限し、当該属性値候補を用いた学習器Lの追加学習が行われることを制限する。所定の結果は、判定部104の条件に応じた結果を設定すればよく、その一例を下記に説明する。
 なお、本実施形態では、追加学習制御部105は、判定部104の判定結果が所定の結果ではなかった属性値候補から属性を除去することによって、追加学習で利用しないようにする場合を説明するが、追加学習で利用しない旨を示すフラグを用意しておき、特に属性を除去することなく、フラグの値を設定することによって、追加学習で利用しないようにしてもよい。即ち、追加学習制御部105は、判定部104の判定結果が所定の結果ではなかった属性値候補から属性を除去することによって、当該属性値候補が教師データDTに追加されないようにしてもよいし、フラグの値を設定することによって、当該属性値候補が教師データDTに追加されないようにしてもよい。
 他にも例えば、追加学習制御部105は、属性が付与された属性値候補を教師データDTに追加せずにそのまま放置したり、属性値候補自体を削除したりすることによって追加学習で利用しないようにしてもよい。追加学習で利用されなかった属性値候補は、属性値とはならないので、ウェブページのインデックスとしても利用されないことになる。
 例えば、追加学習制御部105は、属性値候補が示す記号又は記号列が所定字数未満であると判定された場合に、属性値候補から属性を除去する。例えば、追加学習制御部105は、属性値候補の字数が1字である場合に属性値候補から属性を除去してもよいし、属性値候補の字数が3字未満である場合に属性値候補から属性を除去してもよい。
 また例えば、追加学習制御部105は、属性値候補が示す記号又は記号列が所定字数以上であると判定された場合に、属性値候補から属性を除去してもよい。例えば、追加学習制御部105は、属性値候補の字数が30字以上である場合に属性値候補から属性を除去する。
 また例えば、追加学習制御部105は、属性値候補が示す記号又は記号列が特定種類の記号又は記号列であると判定された場合に、属性値候補から属性を除去する。例えば、追加学習制御部105は、属性値候補が「*」や「;」といった種類の記号である場合に、属性値候補から属性を除去してもよいし、所定字数未満の属性値候補がアルファベットである場合に、属性値候補から属性を除去してもよい。
 また例えば、追加学習制御部105は、属性値候補が示す記号又は記号列がタグ部分であると判定された場合に、属性値候補から属性を除去する。例えば、追加学習制御部105は、属性値候補がTABLEタグ、HEADタグ、TITLEタグ、又はBODYタグといったタグ部分である場合に、属性値候補から属性を除去する。
 なお、追加学習制御部105は、複数の条件の各々の判定結果に基づいて、属性値候補から属性を除去してもよい。例えば、追加学習制御部105は、属性値候補が示す記号又は記号列が、所定字数未満であり、かつ、特定種類の記号又は記号列であると判定された場合に、属性値候補から属性を除去してもよい。例えば、属性値候補の字数が、3字未満であり、かつ、アルファベットであった場合に属性値候補から属性が除去されるようにしてもよい。このように、複数の条件の各々の判定結果を複合的に利用してもよい。
 また例えば、追加学習制御部105は、判定部104の判定結果以外の情報も考慮して追加学習を制御してもよい。例えば、追加学習制御部105は、属性値候補の出現頻度に更に基づいて、属性値候補を用いた学習器Lの追加学習を制御してもよい。追加学習制御部105は、属性値候補の出現頻度が閾値以上であるか否かを判定する。追加学習制御部105は、属性値候補の出現頻度が閾値以上であると判定された場合に、属性値候補から属性を除去せず、属性値候補の出現頻度が閾値未満であると判定された場合に、属性値候補から属性を除去する。
 また例えば、追加学習制御部105は、学習器Lにより計算された属性値候補の蓋然性に更に基づいて、属性値候補を用いた学習器Lの追加学習を制御してもよい。追加学習制御部105は、属性値候補の蓋然性が閾値以上であるか否かを判定する。追加学習制御部105は、属性値候補の蓋然性が閾値以上であると判定された場合に、属性値候補から属性を除去せず、属性値候補の蓋然性が閾値未満であると判定された場合に、属性値候補から属性を除去する。
 なお、学習システムSでは、以上説明した学習部102、取得部103、判定部104、及び追加学習制御部105の各々の処理は、何度も繰り返し実行され、教師データDTが徐々に拡張される。
[4.本実施形態において実行される処理]
 図6は、サーバ10によって実行される処理を示すフロー図である。図6に示す処理は、制御部11が記憶部12に記憶されたプログラムに基づいて動作することによって実行される。図6に示す処理は、図3に示す機能ブロックにより実行される処理の一例である。
 図6に示すように、制御部11は、ウェブページデータベースDBに基づいて、候補発見処理を実行する(S1)。候補発見処理は、ウェブページの中から、属性候補と属性値候補を発見する処理である。別の言い方をすれば、候補発見処理は、ウェブページのインデックスの候補を発見する処理ということもできるし、教師データDTの構成要素の候補を発見する処理ということもできる。
 なお、候補発見処理は、全てのウェブページを対象にしてもよいし、一部のウェブページだけを対象にしてもよい。一部のウェブページだけを候補発見処理の対象にする場合には、制御部11は、所定数のウェブページをランダムに選出してもよいし、テーブルを含むウェブページを特定して候補発見処理の対象にしてもよい。
 S1においては、制御部11は、ウェブページデータベースDBに格納された複数のウェブページの各々にTABLEタグが存在するか否かを判定し、複数のウェブページの各々のテーブルの有無を特定する。制御部11は、テーブルを含むウェブページから、当該テーブルに格納された情報を候補として抽出する。例えば、テーブルの1列名を属性候補とし、テーブルの2列目を属性値候補として抽出する。
 制御部11は、クリーニング処理を実行する(S2)。S2のクリーニング処理は、属性値候補の中から属性値として不適切なものを除外する処理である。S2においては、制御部11は、所定の除外条件を満たす属性値候補を除外する。除外条件は、任意の条件であればよく、例えば、他の属性値候補との差が閾値以上の属性値候補が除外されてもよいし、出現頻度が閾値未満の属性値候補が除外されてもよい。
 制御部11は、属性統合処理を実行する(S3)。先述したように、属性の名前には表記ゆれが存在するので、属性統合処理は、属性候補として抽出された名前の表記ゆれを吸収し、属性を統合する処理である。統合とは、表記は異なるが同じ意味の名前を同じ属性としてグループ化することである。例えば、グループ化された名前の何れかは、属性の名前として利用される。グループ化された名前の中から属性の名前がランダムで選出されてもよいし、出現頻度が最も高い名前が属性の名前として利用されてもよい。
 S3においては、制御部11は、属性候補の各々の意味が同じであるかを判定し、同じ意味の属性を統合する。別の言い方をすれば、制御部11は、属性の表記ゆれを吸収する。なお、ここでは、同義語を定義した同義語データが予め記憶部12に記憶されているものとする。制御部11は、同義語データを参照し、同じ意味の名前を同じ属性として統合する。
 制御部11は、属性値多様化処理を実行する(S4)。属性値多様化処理は、属性値のバリエーションを増やす処理である。ここでは、特定の表記パターンだけを属性値にするのではなく、複数の表記パターンを属性値として抽出することで、属性値のバリエーションを増やすようにしている。ただし、表記パターンを増やしすぎると、本来は属性値ではないものが混じったり、マイナーな表記パターンの属性値が混じったりして教師データの精度が下がるので、下記に説明するように、表記パターンの出現頻度を考慮するようにしている。
 図7は、S4において実行される属性値多様化処理の一例を示す図である。図7に示すように、制御部11は、属性値候補の表記パターンを抽出する(S40)。S40においては、制御部11は、各属性値候補が示す記号列を品詞分解して表記パターンを抽出する。
 制御部11は、属性ごとに、表記パターンの出現頻度を集計する(S41)。S41においては、制御部11は、属性ごとに、各表記パターンで記述された属性値候補の数をカウントして出現頻度として取得する。制御部11は、属性と表記パターンの組み合わせごとに出現頻度を取得する。
 制御部11は、S41で集計した出現頻度に基づいて、属性ごとに、属性値の表記パターン(属性値として抽出する表記パターン)を決定する(S42)。S42においては、制御部11は、S41における集計結果に基づいて、属性ごとに、出現頻度が上位k位(kは自然数)の表記パターンを、属性値の表記パターンとして決定する。なお、kの値は、任意であってよく、属性ごとにkの値が異なってもよい。
 制御部11は、属性と表記パターンの組み合わせごとに、属性値候補の出現頻度を集計する(S43)。S43においては、制御部11は、各属性値候補の出現数をカウントして出現頻度として取得する。制御部11は、属性、表記パターン、及び属性値候補の組み合わせごとに、出現頻度を取得する。
 制御部11は、S43で集計した出現頻度に基づいて、属性値候補の中から属性値を決定する(S44)。S44においては、制御部11は、S43における集計結果に基づいて、出現頻度が上位n位(nは自然数)の属性値候補を、属性値として決定する。なお、nの値は、任意であってよく、属性ごとにnの値が異なってもよい。
 図6に戻り、制御部11は、S4の属性値多様化処理に基づいて、教師データ生成処理を実行する(S5)。教師データ生成処理は、教師データDTの初期データを生成する処理である。S5においては、制御部11は、S3で統合した属性と、S4で決定した属性値と、の組み合わせを教師データDTの初期データとして取得する。
 制御部11は、S5で生成した教師データDTの初期データに基づいて、学習器Lを学習させる(S6)。S6においては、制御部11は、教師データDTに示された属性値の特徴ベクトルを計算し、当該特徴ベクトルとの類似度を示す蓋然性を計算するように、学習器L内のアルゴリズムの係数を調整する。また、制御部11は、蓋然性が閾値以上の記号情報に対して属性を付与するように、学習器L内のアルゴリズムを設定する。
 制御部11は、S6で学習させた学習器Lに基づいて、ウェブページのタグ付け処理を実行する(S7)。タグ付け処理は、ウェブページ内の記号情報に対して属性を付与する処理である。S7においては、制御部11は、ウェブページデータベースDBに格納されたウェブページを学習器Lに入力し、ウェブページに含まれる記号情報の中で属性が付与された記号情報を特定する。学習器Lは、ウェブページ内の宿泊施設の紹介文等を構成する記号情報に対し、蓋然性が閾値以上の属性をラベルとして付与する。
 制御部11は、所定の条件に基づいて、クリーニング処理を実行する(S8)。S8のクリーニング処理は、S7のタグ付け処理において、属性値ではない記号情報に付与された属性(ラベル)を除去する処理である。
 図8は、S8において実行されるクリーニング処理の一例を示す図である。図8に示すように、制御部11は、処理対象の記号情報が1字の特定の記号であるか否かを判定する(S80)。処理対象の記号情報は、S7のタグ付け処理によって、学習器Lが属性を付与した記号情報の何れかである。
 S80においては、制御部11は、処理対象の記号情報が「*」や「;」といった1字の特定の記号であるか否かを判定する。「*」や「;」といった記号は、明らかに属性値ではないため、属性が除去される。なお、特定の記号は、これらに限られず、予め定められた種類の記号であればよい。例えば、「:」や「=」といった記号が特定の記号に相当してもよい。
 処理対象の記号情報が1字の特定の記号であると判定された場合(S80;Y)、制御部11は、処理対象の記号情報から属性を除去し(S81)、後述するS87の処理に移行する。S81においては、制御部11は、学習器Lが付与した属性を処理対象の記号情報から除去する。別の言い方をすれば、制御部11は、処理対象の記号情報に属性が付与された状態から、処理対象の記号情報に属性が付与されない状態に変化させる。
 一方、処理対象の記号情報が1字の特定の記号であると判定されない場合(S80;N)、制御部11は、処理対象の記号情報が所定のタグであるか否かを判定する(S82)。S82においては、制御部11は、処理対象の記号情報がマークアップ言語におけるTABLEタグ等の所定のタグであるか否かを判定する。このような記号は、ウェブページの内容を示すのではなく、単なるタグを示すものであり、明らかに処理対象の記号情報ではないため、属性が除去される。
 処理対象の記号情報が所定のタグであると判定された場合(S82;Y)、S81の処理に移行し、制御部11は、当該処理対象の記号情報から属性を除去する。
 一方、処理対象の記号情報が所定のタグであると判定されない場合(S82;N)、制御部11は、処理対象の記号情報の出現頻度が閾値以上であるか否かを判定する(S83)。S83においては、制御部11は、処理対象の記号情報が抽出された数をカウントし、出現頻度として取得する。なお、閾値は、予め定められた値であればよく、任意の値を設定可能である。例えば、出現頻度の上位80%程度となるような閾値が設定されてもよい。出現頻度が閾値未満である記号情報は、ウェブページではあまり用いられない情報なので、属性が除去される。
 処理対象の記号情報の出現頻度が閾値以上であると判定されない場合(S83;N)、S81の処理に移行し、制御部11は、当該処理対象の記号情報から属性を除去する。
 一方、処理対象の記号情報の出現頻度が閾値以上であると判定された場合(S83;Y)、制御部11は、学習器Lが計算した処理対象の記号情報の蓋然性が閾値以上であるか否かを判定する(S84)。S84においては、制御部11は、学習器Lが属性を付与する過程で計算した蓋然性を参照し、閾値以上であるか否かを判定する。なお、閾値は、予め定められた値であればよく、任意の値を設定可能である。例えば、蓋然性がパーセンテージで表現される場合に、70%程度の閾値が設定されてもよい。蓋然性が閾値未満である記号情報は、付与された属性の確度が低いので、属性が除去される。
 蓋然性が閾値以上であると判定されない場合(S84;N)、S81の処理に移行し、制御部11は、当該処理対象の記号情報から属性を除去する。
 一方、蓋然性が閾値以上であると判定された場合(S84;Y)、制御部11は、処理対象の記号情報の字数が閾値未満であるか否かを判定する(S85)。S85においては、制御部11は、処理対象の記号情報が長文であるか否かを判定する。なお、閾値は、予め定められた値であればよく、任意の値を設定可能である。例えば、30字程度の閾値が設定されていてもよい。あまりに長文の記号情報は、属性値ではないので、属性が除去される。
 字数が閾値未満であると判定されない場合(S85;N)、S81の処理に移行し、制御部11は、当該処理対象の記号情報から属性を除去する。
 一方、字数が閾値未満であると判定された場合(S85;Y)、制御部11は、処理対象の記号情報が所定字数未満のアルファベットであるか否かを判定する(S86)。S86においては、制御部11は、処理対象の記号情報の字数が所定字数未満であるか否かの判定と、処理対象の記号情報の文字タイプがアルファベットであるか否かの判定と、を実行する。なお、所定字数は、予め定められた値であればよく、任意の値を設定可能である。例えば、3字程度の字数が設定されていてもよい。3字未満のアルファベットは、属性値ではないので、属性が除去される。
 所定字数未満のアルファベットであると判定された場合(S86;Y)、S81の処理に移行し、制御部11は、当該処理対象の記号情報から属性を除去する。
 一方、所定字数未満のアルファベットであると判定されない場合(S86;N)、処理対象の記号情報は、属性が除去されることなく属性値となり、後述するS9の処理によって教師データDTに追加され、後述するS11の処理によってウェブページデータベースDBに格納されてウェブページのインデックスとして利用される。制御部11は、全ての処理対象の記号情報の判定を終えたか否かを判定する(S87)。
 判定をしていない処理対象の記号情報が存在する場合(S87;N)、S80の処理に戻り、次の処理対象の記号情報について判定が行われる。
 一方、全ての属性値候補の判定を終えたと判定された場合(S87;Y)図6に戻り、制御部11は、クリーニング後の属性値候補に基づいて、教師データDTを拡張する(S9)。S9においては、制御部11は、S8のクリーニング処理によって属性が除去されなかった記号情報を、新たな属性値として教師データDTに追加する。
 制御部11は、S9において拡張された教師データDTに基づいて、学習器Lを追加学習させる(S10)。S10の処理内容は、S6と同様であるが、S6では、教師データDTの初期データによって学習が実行されるのに対し、S10では、S9で拡張された教師データDTによって学習が実行される。
 制御部11は、全てのウェブページのタグ付け処理が完了したかを判定する(S11)。S11においては、制御部11は、ウェブページデータベースDBに格納された全てのウェブページに対し、S7のタグ付け処理を実行したか否かを判定する。
 タグ付け処理が完了していないウェブページが存在する場合(S11;N)、S7の処理に戻り、次のウェブページに対してタグ付け処理が実行される。
 一方、全てのウェブページのタグ付け処理が完了した場合(S10;Y)、制御部11は、ウェブページIDに関連付けて、属性と属性値の組み合わせをウェブページデータベースDBに格納し(S11)、本処理は終了する。ウェブページデータベースDBに格納された属性と属性値の組み合わせは、ウェブページのインデックスとして利用される。
 以上説明した学習システムSによれば、学習器Lにより分類された記号情報を属性値候補として取得し、属性値候補が示す記号又は記号列が所定の条件を満たすか否かの判定結果に基づいて、属性値候補を用いた学習器Lの追加学習を制御することで、本来は属性値ではない記号情報に基づいて学習が行われるといったことを防止し、半教師あり学習における学習器Lの精度を高めることができる。先述したように、学習が繰り返し行われる半教師あり学習では、精度の低下が更なる精度の低下を招くので、属性値の誤検出による学習器Lの精度低下を引き起こしやすいが、属性値の抽出精度を向上させて教師データDTの精度を高めることで、このような精度低下を防止し、学習器Lの精度を高めることができる。また、教師データDTの初期データの属性値が少なかったとしても、精度の高い教師データDTに拡張することができるので、初期データを準備する手間を効果的に省くことができる。
 また、判定部104の判定結果が所定の結果ではない属性値候補が新たな属性値として教師データDTに追加されることを制限し、当該属性値候補を用いた学習器Lの追加学習が行われることを制限することで、本来は属性値ではない誤った情報が教師データDTに追加されることを防止し、学習器Lの精度を効果的に高めることができる。即ち、精度の低下が更なる精度の低下を招くといったことを、より効果的に防止することができる。
 また、属性値候補が示す記号又は記号列が所定字数未満であるか否かの判定結果に基づいて、属性値候補を用いた学習器Lの追加学習を制御することで、本来は属性値ではない所定字数未満の記号情報に基づいて学習が行われたり、本来は属性値ではない所定字数以上の記号情報に基づいて学習が行われたりすることを防止し、半教師あり学習における学習器Lの精度を効果的に高めることができる。
 また、属性値候補が示す記号又は記号列が特定種類の記号又は記号列であるか否かの判定結果に基づいて、属性値候補を用いた学習器Lの追加学習を制御することで、本来は属性値ではない特定種類の記号又は記号列の記号情報に基づいて学習が行われることを防止し、半教師あり学習における学習器Lの精度を効果的に高めることができる。
 また、属性値候補が示す記号又は記号列がタグ部分であるか否かの判定結果に基づいて、属性値候補を用いた学習器Lの追加学習を制御することで、本来は属性値ではないタグ部分の記号情報に基づいて学習が行われることを防止し、半教師あり学習における学習器Lの精度を効果的に高めることができる。
 また、属性値候補の出現頻度に基づいて属性値候補を用いた学習器Lの追加学習を制御し、各属性の特徴がより表れた属性値に基づいて追加学習を行うことで、半教師あり学習における学習器Lの精度を効果的に高めることができる。
 また、学習器Lが計算した属性値候補の蓋然性に基づいて属性値候補を用いた学習器Lの追加学習を制御し、各属性の特徴が良く表れた属性値に基づいて追加学習を行うことで、半教師あり学習における学習器Lの精度を効果的に高めることができる。
 また、ウェブページの構造化部分のうち、所定の表記パターンで記述された記号情報を属性値として抽出し、教師データDTの初期データを生成することで、初期データの生成処理を自動化し、初期データを生成する手間を省くことができる。また、構造化部分は、どの部分に属性と属性値が記述されているか予め特定できるので、初期データの精度を高めることができる。表記パターンに偏りがあると、ある特定パターンの属性値しか抽出できないが、表記パターンにバリエーションを持たせることで、属性値のカバー率を高めることができる。
 また、複数の表記パターンの各々の出現頻度を取得し、所定頻度以上で出現した表記パターンで記述された記号情報を属性値として抽出して初期データを生成することで、各属性の特徴がより表れた属性値を初期データに含めることができ、初期データの精度を高めることができる。高頻度の表記パターンの属性値を抽出することで、属性値のカバー率を効果的に高めることができる。
[5.変形例]
 なお、本発明は、以上に説明した実施の形態に限定されるものではない。本発明の趣旨を逸脱しない範囲で、適宜変更可能である。
 (1)例えば、半教師あり学習では、種々の観点で属性値を抽出した方が、より多くの属性値を追加することができるので、教師データDTを拡張しやすい。このため、互いに異なる観点を持つ複数の学習器Lを利用して教師データDTを拡張してもよい。なお、観点とは、学習器L内のアルゴリズムである。観点が異なると、学習器L内のアルゴリズムの係数が異なる。互いに異なる教師データで学習をさせると、互いに観点が異なる学習器Lを用意することができる。
 図9-図10は、変形例の処理の説明図である。図9に示すように、まず、生成部101は、教師データDTの初期データを生成する(S100)。学習部102は、教師データDTの初期データに基づいて、第1の学習器L1を学習させる(S101)。初期データの生成方法と、初期データに基づく学習方法とは、実施形態で説明した通りである。
 取得部103は、複数のウェブページの各々を第1の学習器L1に入力し、第1の学習器L1により属性が付与された記号情報を第1の属性値候補として取得する(S102)。属性値候補の取得方法は、実施形態で説明した通りである。なお、属性値候補が取得された際にクリーニングが実行されてもよいが、本変形例では、S102の段階では、クリーニングが実行されないものとする。
 学習部102は、第1の属性値候補に基づいて、第2の学習器L2を学習させる(S103)。S103においては、学習部102は、教師データDTの初期データと第1の属性値候補とに基づいて(即ち、教師データDTの初期データに第1の属性値候補を追加したデータを、新たな教師データとして)、第2の学習器L2を学習させてもよいし、第1の属性値候補だけに基づいて(即ち、第1の属性値候補だけを教師データとして)、第2の学習器L2を学習させてもよい。第1の学習器L1とは異なる観点となるように、第2の学習器L2が学習されるようにすればよい。なお、学習方法自体は、実施形態で説明した通りである。
 取得部103は、複数のウェブページの各々を第2の学習器L2に入力し、第2の学習器L2により属性が付与された記号情報を第2の属性値候補として取得する(S104)。属性値候補の取得方法自体は、実施形態で説明した通りである。なお、第2の学習器L2に入力されるウェブページは、第1の学習器L1に入力されるウェブページと同じであってもよいし、異なっていてもよい。例えば、取得部103は、第1の学習器L1に入力される複数のウェブページとは異なる複数のウェブページの各々を第2の学習器L2に入力してもよい。別の言い方をすれば、取得部103は、第1の学習器L1には入力されなかった複数のウェブページを第2の学習器L2に入力する。このように、第1の学習器L1に入力されたウェブページとは異なるウェブページが第2の学習器L2に入力された方が、より多くの属性値候補を抽出できる。
 判定部104は、第1の属性値候補と第2の属性値候補との各々が示す記号又は記号列が所定の条件を満たすか否かを判定し、追加学習制御部105は、判定部104の判定結果に基づいて、第1の属性値候補と第2の属性値候補との各々を用いた追加学習を制御する(S105)。判定部104の判定方法自体は、実施形態で説明した通りである。第1の属性値候補と第2の属性値候補の両方が判定対象となる。追加学習制御部105は、第1の属性値候補と第2の属性値候補のうち、属性値ではないと判定された属性値候補から属性を除去し、教師データDTに新たな属性値として追加しないようにする。これにより、1つの学習器だけを利用した場合よりも、教師データDTを拡張しやすくなる。
 学習部102、取得部103、判定部104、及び追加学習制御部105は、以上説明した処理を1サイクルとし、繰り返し処理を実行することによって、教師データDTを拡張する。図10に示すように、1サイクル目が終了すると、2サイクル目の処理が実行される。
 図10に示すように、2サイクル目では、1サイクル目で拡張した教師データDTが初期データとして取得され、S100~S105と同様の処理が実行される(S200~S205)。S205における教師データDTが示すように、1サイクル目の教師データDTよりも拡張された状態となる。なお、2サイクル目で利用されるウェブページは、1サイクル目と同じであってもよいし、異なっていてもよい。1サイクル目に入力されたウェブページとは異なるウェブページが2サイクル目で利用された方が、より多くの属性値候補を抽出できる。
 変形例(1)によれば、互いに異なる観点の学習器Lを利用して、より多くの属性値候補を抽出し、学習器Lの精度を効果的に向上させることができる。
 また、第1の学習器L1に入力されたウェブページとは異なるウェブページを第2の学習器L2に入力させる場合、より多くの属性値候補を抽出することができる。
 (2)また例えば、実施形態では、図6のS4において属性値多様化処理が実行され、より多くの表記パターンの属性値を抽出する場合を説明した。学習システムSは、実施形態で説明したS8のクリーニング処理を実行せず、属性値ではない属性値候補から属性を除去する構成を特に有することなく、属性値多様化処理を実行してもよい。即ち、判定部104の処理と、追加学習制御部105の処理と、を省略し、属性値多様化処理が実行されてもよい。
 (3)また例えば、学習システムSは、実施形態で説明したS8のクリーニング処理を実行せず、属性値ではない属性値候補から属性を除去する構成を特に有することなく、変形例(1)のように、互いに異なる観点の学習器Lを利用して、より多くの属性値候補を抽出してもよい。即ち、判定部104の処理と、追加学習制御部105の処理と、を省略し、複数の学習器Lを利用して教師データDTが拡張されてもよい。
 (4)また例えば、実施形態では、ウェブページのテーブルの1列目に属性が格納され、2列目に属性値が格納される場合を説明したが、属性と属性値の各々の格納場所は、これらに限られない。属性と属性値の各々は、構造化部分の中の予め定められた場所に格納されていればよく、例えば、テーブルの2列名に属性が格納され、1列目に属性値が格納されていてもよい。他にも例えば、テーブルの所定の行に属性が格納され、他の行に属性値が格納されていてもよい。
 また例えば、実施形態では、生成部101が教師データDTの初期データを生成する場合を説明したが、初期データは、学習システムSの管理者によって手動で生成されてもよい。また例えば、実施形態では、ウェブページを利用して初期データが生成される場合を説明したが、検索履歴等の他の情報を利用して初期データが生成されてもよい。検索履歴が利用される場合には、ユーザが入力した検索条件が属性値として初期データに格納されるようにしてもよい。
 また例えば、実施形態では、宿泊施設のウェブページを例に挙げたが、ウェブページは、種々のタイプのウェブページであってよく、例えば、電子商取引、アプリケーション配信、音楽配信、保険サービス、又は金融サービスといったウェブページから属性と属性値の組み合わせが抽出されてもよい。また例えば、文書の一例としてウェブページを説明したが、文書は、種々のタイプの文書を適用可能である。例えば、文書は、法律文書、技術文書、会議資料、カタログ、又は電子書籍といった文書であってもよい。
 また例えば、文書から抽出した属性と属性値が検索に利用される場合を説明したが、属性と属性値は、他の目的で使用されてもよい。例えば、文書の要約を作成する目的で使用されてもよい。
 また例えば、テーブル形式の説明から属性と属性値の組み合わせが抽出されて教師データDTの初期データが生成される場合を説明したが、半構造化テキスト形式の説明から属性と属性値の組み合わせが抽出されて教師データDTの初期データが生成されてもよい。また例えば、同意の属性を統合する処理は必須でなく、表記の異なる文字列を互いに異なる属性としてもよい。
 また例えば、各機能がサーバ10で実現される場合を説明したが、複数のコンピュータによって機能が分担されてもよい。例えば、サーバ10とユーザ端末20とで機能が分担されてもよいし、複数のサーバコンピュータで機能が分担されてもよい。この場合、ネットワークを介して処理結果が送受信されることで、機能が分担されるようにすればよい。また例えば、データ記憶部100に記憶されるものとして説明したデータは、サーバ10以外のコンピュータに記憶されていてもよい。

Claims (13)

  1.  複数の属性の各々の属性値を示す教師データに基づいて、複数の文書の各々に含まれる記号情報を分類する学習器を学習させる学習手段と、
     前記複数の文書の各々を前記学習器に入力し、前記学習器により分類された記号情報を属性値候補として取得する取得手段と、
     前記属性値候補が示す記号又は記号列が所定の条件を満たすか否かを判定する判定手段と、
     前記判定手段の判定結果に基づいて、前記属性値候補を用いた前記学習器の追加学習を制御する追加学習制御手段と、
     を含むことを特徴とする学習システム。
  2.  前記追加学習制御手段は、前記判定手段の判定結果が所定の結果ではない属性値候補が新たな属性値として前記教師データに追加されることを制限し、当該属性値候補を用いた前記学習器の追加学習が行われることを制限する、
     ことを特徴とする請求項1に記載の学習システム。
  3.  前記判定手段は、前記属性値候補が示す記号又は記号列が所定字数未満であるか否かを判定する、
     ことを特徴とする請求項1又は2に記載の学習システム。
  4.  前記判定手段は、前記属性値候補が示す記号又は記号列が特定種類の記号又は記号列であるか否かを判定する、
     ことを特徴とする請求項1~3の何れかに記載の学習システム。
  5.  前記複数の文書の各々は、マークアップ言語で記述されており、
     前記判定手段は、前記属性値候補が示す記号又は記号列がタグ部分であるか否かを判定する、
     ことを特徴とする請求項1~4の何れかに記載の学習システム。
  6.  前記追加学習制御手段は、前記属性値候補の出現頻度に更に基づいて、前記属性値候補を用いた前記学習器の追加学習を制御する、
     ことを特徴とする請求項1~5の何れかに記載の学習システム。
  7.  前記追加学習制御手段は、前記学習器により計算された前記属性値候補の蓋然性に更に基づいて、前記属性値候補を用いた前記学習器の追加学習を制御する、
     ことを特徴とする請求項1~6の何れかに記載の学習システム。
  8.  前記学習システムは、前記複数の文書の各々のうち、所定の表記パターンで記述された記号情報を属性値として抽出し、前記教師データの初期データを生成する生成手段を更に含む、
     ことを特徴とする請求項1~7の何れかに記載の学習システム。
  9.  前記生成手段は、前記複数の文書の各々の中から複数の表記パターンの各々の出現頻度を取得し、所定頻度以上で出現した表記パターンで記述された記号情報を属性値として抽出し、前記初期データを生成する、
     ことを特徴とする請求項8に記載の学習システム。
  10.  前記学習手段は、前記教師データに基づいて、第1の学習器を学習させ、
     前記取得手段は、前記複数の文書の各々を前記第1の学習器に入力し、前記第1の学習器により属性が付与された記号情報を第1の属性値候補として取得し、
     前記学習手段は、前記第1の属性値候補に基づいて、第2の学習器を学習させ、
     前記取得手段は、複数の文書の各々を前記第2の学習器に入力し、前記第2の学習器により属性が付与された記号情報を第2の属性値候補として取得し、
     前記判定手段は、前記第1の属性値候補と前記第2の属性値候補との各々が示す記号又は記号列が前記所定の条件を満たすか否かを判定し、
     前記追加学習制御手段は、前記判定手段の判定結果に基づいて、前記第1の属性値候補と前記第2の属性値候補との各々を用いた追加学習を制御する、
     ことを特徴とする請求項1~9の何れかに記載の学習システム。
  11.  前記取得手段は、前記第1の学習器に入力される前記複数の文書とは異なる複数の文書の各々を前記第2の学習器に入力する、
     ことを特徴とする請求項10に記載の学習システム。
  12.  複数の属性の各々の属性値を示す教師データに基づいて、複数の文書の各々に含まれる記号情報を分類する学習器を学習させる学習ステップと、
     前記複数の文書の各々を前記学習器に入力し、前記学習器により分類された記号情報を属性値候補として取得する取得ステップと、
     前記属性値候補が示す記号又は記号列が所定の条件を満たすか否かを判定する判定ステップと、
     前記判定ステップの判定結果に基づいて、前記属性値候補を用いた前記学習器の追加学習を制御する追加学習制御ステップと、
     を含むことを特徴とする学習方法。
  13.  複数の属性の各々の属性値を示す教師データに基づいて、複数の文書の各々に含まれる記号情報を分類する学習器を学習させる学習手段、
     前記複数の文書の各々を前記学習器に入力し、前記学習器により分類された記号情報を属性値候補として取得する取得手段、
     前記属性値候補が示す記号又は記号列が所定の条件を満たすか否かを判定する判定手段、
     前記判定手段の判定結果に基づいて、前記属性値候補を用いた前記学習器の追加学習を制御する追加学習制御手段、
     としてコンピュータを機能させるためのプログラム。
PCT/JP2018/036461 2018-09-28 2018-09-28 学習システム、学習方法、及びプログラム WO2020065970A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2019528775A JP6577692B1 (ja) 2018-09-28 2018-09-28 学習システム、学習方法、及びプログラム
US16/649,990 US11520835B2 (en) 2018-09-28 2018-09-28 Learning system, learning method, and program
PCT/JP2018/036461 WO2020065970A1 (ja) 2018-09-28 2018-09-28 学習システム、学習方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2018/036461 WO2020065970A1 (ja) 2018-09-28 2018-09-28 学習システム、学習方法、及びプログラム

Publications (1)

Publication Number Publication Date
WO2020065970A1 true WO2020065970A1 (ja) 2020-04-02

Family

ID=67982890

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/036461 WO2020065970A1 (ja) 2018-09-28 2018-09-28 学習システム、学習方法、及びプログラム

Country Status (3)

Country Link
US (1) US11520835B2 (ja)
JP (1) JP6577692B1 (ja)
WO (1) WO2020065970A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6997401B1 (ja) 2020-09-04 2022-01-17 ダイキン工業株式会社 生成方法、プログラム、情報処理装置、情報処理方法、及び学習済みモデル
JPWO2023275976A1 (ja) * 2021-06-29 2023-01-05
CN116097046A (zh) * 2020-09-04 2023-05-09 大金工业株式会社 生成方法、程序、信息处理装置、信息处理方法及学习完毕模型

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11380116B2 (en) 2019-10-22 2022-07-05 International Business Machines Corporation Automatic delineation and extraction of tabular data using machine learning

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008027238A (ja) * 2006-07-21 2008-02-07 Hitachi Ltd 文書属性値付与装置及びその文書属性値付与方法
JP2016076073A (ja) * 2014-10-06 2016-05-12 日本電気株式会社 データ処理装置、データ処理方法、及び、コンピュータ・プログラム
JP2018081569A (ja) * 2016-11-17 2018-05-24 株式会社東芝 情報抽出支援装置、情報抽出支援方法およびプログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2001264928A1 (en) * 2000-05-25 2001-12-03 Kanisa Inc. System and method for automatically classifying text
WO2011148571A1 (ja) 2010-05-24 2011-12-01 日本電気株式会社 情報抽出システム、方法及びプログラム
US11250218B2 (en) * 2015-12-11 2022-02-15 Microsoft Technology Licensing, Llc Personalizing natural language understanding systems
US11620843B2 (en) * 2019-09-10 2023-04-04 Intuit Inc. Metamodeling for confidence prediction in machine learning based document extraction

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008027238A (ja) * 2006-07-21 2008-02-07 Hitachi Ltd 文書属性値付与装置及びその文書属性値付与方法
JP2016076073A (ja) * 2014-10-06 2016-05-12 日本電気株式会社 データ処理装置、データ処理方法、及び、コンピュータ・プログラム
JP2018081569A (ja) * 2016-11-17 2018-05-24 株式会社東芝 情報抽出支援装置、情報抽出支援方法およびプログラム

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6997401B1 (ja) 2020-09-04 2022-01-17 ダイキン工業株式会社 生成方法、プログラム、情報処理装置、情報処理方法、及び学習済みモデル
WO2022050370A1 (ja) * 2020-09-04 2022-03-10 ダイキン工業株式会社 生成方法、プログラム、情報処理装置、情報処理方法、及び学習済みモデル
JP2022043923A (ja) * 2020-09-04 2022-03-16 ダイキン工業株式会社 生成方法、プログラム、情報処理装置、情報処理方法、及び学習済みモデル
CN116097046A (zh) * 2020-09-04 2023-05-09 大金工业株式会社 生成方法、程序、信息处理装置、信息处理方法及学习完毕模型
CN116097046B (zh) * 2020-09-04 2023-12-08 大金工业株式会社 生成方法、信息处理装置、信息处理方法及学习完毕模型
US11965667B2 (en) 2020-09-04 2024-04-23 Daikin Industries, Ltd. Generation method, program, information processing apparatus, information processing method, and trained model
JPWO2023275976A1 (ja) * 2021-06-29 2023-01-05
JP7395066B2 (ja) 2021-06-29 2023-12-08 三菱電機株式会社 情報処理装置、プログラム及び情報処理方法

Also Published As

Publication number Publication date
US20210224323A1 (en) 2021-07-22
US11520835B2 (en) 2022-12-06
JPWO2020065970A1 (ja) 2021-01-07
JP6577692B1 (ja) 2019-09-18

Similar Documents

Publication Publication Date Title
CN108804512B (zh) 文本分类模型的生成装置、方法及计算机可读存储介质
WO2021203581A1 (zh) 基于精标注文本的关键信息抽取方法、装置及存储介质
CN106649818B (zh) 应用搜索意图的识别方法、装置、应用搜索方法和服务器
CN111444320B (zh) 文本检索方法、装置、计算机设备和存储介质
US20230195773A1 (en) Text classification method, apparatus and computer-readable storage medium
WO2020065970A1 (ja) 学習システム、学習方法、及びプログラム
US10997560B2 (en) Systems and methods to improve job posting structure and presentation
CN111767716B (zh) 企业多级行业信息的确定方法、装置及计算机设备
CN111291210B (zh) 图像素材库生成方法、图像素材推荐方法及相关装置
CN111324771B (zh) 视频标签的确定方法、装置、电子设备及存储介质
US9898464B2 (en) Information extraction supporting apparatus and method
JP6462970B1 (ja) 分類装置、分類方法、生成方法、分類プログラム及び生成プログラム
CN106708929B (zh) 视频节目的搜索方法和装置
CN104636456A (zh) 一种基于词向量的问题路由方法
CN112287069B (zh) 基于语音语义的信息检索方法、装置及计算机设备
CN112818093A (zh) 基于语义匹配的证据文档检索方法、系统及存储介质
CN110008473B (zh) 一种基于迭代方法的医疗文本命名实体识别标注方法
CN111104801A (zh) 基于网址域名的文本分词方法、系统、设备及介质
CN112231494A (zh) 信息抽取方法、装置、电子设备及存储介质
CN108170708B (zh) 一种车辆实体识别方法、电子设备、存储介质、系统
CN106570196B (zh) 视频节目的搜索方法和装置
Leonandya et al. A semi-supervised algorithm for Indonesian named entity recognition
CN110647504A (zh) 司法文书的检索方法及装置
CN114842982B (zh) 一种面向医疗信息系统的知识表达方法、装置及系统
CN113902354B (zh) 旅游评价数据处理方法、装置和计算机设备

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2019528775

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18935846

Country of ref document: EP

Kind code of ref document: A1