WO2015125209A1 - 情報構造化システム及び情報構造化方法 - Google Patents

情報構造化システム及び情報構造化方法 Download PDF

Info

Publication number
WO2015125209A1
WO2015125209A1 PCT/JP2014/053763 JP2014053763W WO2015125209A1 WO 2015125209 A1 WO2015125209 A1 WO 2015125209A1 JP 2014053763 W JP2014053763 W JP 2014053763W WO 2015125209 A1 WO2015125209 A1 WO 2015125209A1
Authority
WO
WIPO (PCT)
Prior art keywords
node
candidate
relationship
relay node
identification
Prior art date
Application number
PCT/JP2014/053763
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 JP2016503804A priority Critical patent/JP6145562B2/ja
Priority to PCT/JP2014/053763 priority patent/WO2015125209A1/ja
Publication of WO2015125209A1 publication Critical patent/WO2015125209A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/31Indexing; Data structures therefor; Storage structures
    • G06F16/313Selection or weighting of terms for indexing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor

Definitions

  • the present invention relates to an information structuring system for natural language documents using a computer.
  • Processing of data in big data includes a process of counting a large amount of numerical data and a process in which a computer automatically extracts patterns useful for users from electronic document data.
  • entity notation or specific expression an entity in the real world indicated by a specific expression
  • entity notation or specific expression an entity in the real world indicated by a specific expression
  • Patent Document 1 JP-A-2004-185515
  • Patent Document 2 JP-A-2011-191982
  • a word information input unit having means for inputting word information constituting text data and an arbitrary text data pair included in the text data are used using word information constituting the text data pair.
  • a eigenvalue decomposition is performed on the calculated text data relevance matrix, a text data relevance matrix calculation unit having means for calculating relevance with directionality, and means for generating a square matrix having the calculated values as element values.
  • An eigenvalue decomposition unit having means for calculating eigenvalues and eigenvectors, a text data evaluation value calculation unit having means for calculating an evaluation value of each text data based on the eigenvector of the calculated maximum eigenvalue, and calculated text data
  • a text data evaluation device having a text data evaluation value output unit having means for outputting an evaluation value is disclosed It has been.
  • a store name candidate extraction unit extracts a word whose notation matches the store name in the store name list from the processed input sentence, and in the processed input sentence together with the notation of the word
  • the store name candidate is determined by the store name determination unit using the store-likeness DB, and only the store name candidates determined as the store name are determined by the store name determination unit.
  • the name of the determined store name in the processed input sentence indicates which record in the store DB corresponds to the determined store name using the store DB and the feature word DB for the determined store name by the ambiguity resolution unit.
  • a store name ambiguity resolving device that judges from a constraint word or a feature word corresponding to a store attribute value in a store DB that appears in the vicinity and outputs at least the record ID of the corresponding record in the store DB together with the store name. It is shown.
  • JP 2004-185515 A Japanese Unexamined Patent Publication No. 2011-191982
  • a typical example of the invention disclosed in the present application is as follows. That is, an information structuring system for analyzing the structure of a document, which has a processor that executes a program and a memory that stores a program executed by the processor, and stores nodes that are nouns to which identification information is assigned.
  • a database that extracts a noun from a document, associates the extracted noun with a node stored in the database, and associates the extracted noun with a node, and a plurality of the extracted nouns.
  • a candidate enumeration unit that searches for a relay node that connects the noun for which identification information is specified and the node candidate, a noun for which the searched relay node and the identification information are specified, A calculation unit for calculating a first relationship of the second node and a second relationship between the searched relay node and the candidate node; Using the suppression unit that determines a relay node that has a large relationship of 1 and a small second relationship, and candidate nodes associated with the determined relay node, the extracted noun And a determination unit for determining a corresponding node.
  • a partial structure effective for entity identification can be extracted from a general knowledge graph, and can be used for consistent identification by narrowing down appropriate candidate nodes. Moreover, since a general knowledge graph is made for multipurpose purposes, the application destination of identification results is wide. Problems, configurations, and effects other than those described above will become apparent from the description of the following embodiments.
  • FIG. 1 is a block diagram of a computer 100 constituting the information structuring system according to the embodiment of this invention.
  • the computer 100 constituting the information structuring system of the present embodiment is a general-purpose computer as shown in FIG. 1, and can specifically be constituted by a PC server.
  • the computer 100 includes a central processing unit (CPU: Central Processing Unit) 110, a memory 120, a local file system 130, an input device 140, an output device 150, a network device 160, and a bus 170.
  • CPU Central Processing Unit
  • the central processing unit 110 executes a program stored in the memory 120.
  • the memory 120 is a high-speed and volatile storage element such as a DRAM (Dynamic Random Access Memory), and temporarily stores a program executed by the central processing unit 110 and data used when the program is executed.
  • DRAM Dynamic Random Access Memory
  • the local file system 130 is a rewritable storage area built in the computer 100, and is composed of, for example, a large-capacity nonvolatile storage device such as a magnetic storage device (HDD), a flash memory (SSD), or a RAM disk.
  • the storage device in which the local file system is configured may be a storage device connected to the computer 100 from the outside.
  • the storage device stores, in addition to the local file system 130, a program executed by the central processing unit 110 and data used when the program is executed.
  • Data stored in the storage device includes a global relation score table 265, a document database 220, an annotation database 225, and a knowledge graph database 230 described below.
  • a program for implementing each unit described below is read from the storage device, loaded into the memory 120, and executed by the central processing unit 110.
  • the input device 140 is an interface that receives input from the user, such as a keyboard and a mouse.
  • the output device 150 is an interface such as a display device or a printer that outputs the execution result of the program in a format that can be visually recognized by the user. Note that when the computer 100 is remotely operated by a terminal connected via a network, the computer 100 may not have the input device 140 and the output device 150.
  • the network device 160 is a network interface device that controls communication with other devices according to a predetermined protocol.
  • a bus 170 connects the devices 110 to 160.
  • the program executed by the central processing unit 110 is provided to the computer via a removable medium (CD-ROM, flash memory, etc.) or a network, and is stored in a storage device that is a non-temporary storage medium. For this reason, the computer may have an interface for reading data from the removable medium.
  • the information structuring system of the present embodiment is a computer system configured on a plurality of computers that are physically configured on one computer or logically or physically. It may operate on a thread, or may operate on a virtual computer constructed on a plurality of physical computer resources.
  • FIG. 2 is a logical block diagram of the computer 100 constituting the information structuring system of this embodiment.
  • the computer 100 includes an initialization unit 235, an entity extraction unit 240, an identification candidate listing unit 245, a global relationship score calculation unit 250, a hub suppression unit 255, an identification score calculation unit 260, a global relationship score table 265, and an ID determination unit 270. .
  • the initialization unit 235 initializes each unit of the information structuring system of this embodiment.
  • the entity extraction unit 240 extracts an entity from a document and gives an annotation to the extracted entity.
  • the global relationship score calculation unit 250 performs scoring according to whether an entity in the knowledge graph database 230 contributes to identification.
  • the identification candidate enumeration unit 245 enumerates entities in the knowledge graph corresponding to the entities.
  • the hub suppressing unit 255 uses the global relationship score table 265 to select information on the knowledge graph used for the relationship graph.
  • the identification score calculation unit 260 calculates a score representing the likelihood of identification.
  • the global relationship score table 265 holds the result of scoring the entities in the knowledge graph. Specifically, the global relationship score table 265 records the number of other entities connected to the entity serving as the relay node. For example, since people all over the world are connected to the relay node “Person”, the global relation score is the world population (about 7 billion). The global relation score of the relay node “NN Party” is the number of members of the NN Party. At this time, comparing the relay node “Person” and the relay node “NN Party”, the relay node “Person” is more general as a hub. For this reason, in this embodiment, the global relationship score table 265 is used by the hub suppression unit 255 to select a relay node with low generality as a hub.
  • the ID determination unit 270 uniquely determines an entity identifier based on the identification score.
  • an entity means an entity indicated by an arbitrary expression of a proper noun.
  • “Hitachi” or “Hitachi” may mean “Hitachi City” as a place name or “Hitachi Ltd.” as a company.
  • “Hitachi” and “Hitachi” are arbitrary expressions
  • “Hitachi City” and “Hitachi Ltd.” are entities as entities.
  • people with the same surname and the same name are actually different entities even if they have the same notation.
  • the time information recognition unit 246, the geographic information recognition unit 247, and the learning unit 271 included in the identification candidate enumeration unit 245 are configurations necessary for the second example, the third example, and the fourth example, respectively. In the embodiment, it is not necessary.
  • the computer 100 is connected to the document database 220, the annotation database 225, and the knowledge graph database 230 via the LAN 210.
  • the document database 220 is a database that stores documents to be processed. The configuration of the document database 220 will be described later with reference to FIG. 3A.
  • the annotation database 225 is a database that manages annotations given to documents. The configuration of the annotation database 225 will be described later with reference to FIG. 3B.
  • the knowledge graph database 230 manages information incidental to the entity. The configuration of the knowledge graph database 230 will be described later with reference to FIG. 3C.
  • Each database can use existing data management software that runs on a computer.
  • FIG. 3A is a diagram illustrating the configuration of the document database 220.
  • the document database 220 is a database for managing documents, and specifically manages an identifier (document ID) for identifying a document and the content of the document.
  • the content of the document is the text (character information) of the document.
  • RDB Relational Database
  • a full-text search engine e.g., a full-text search engine
  • an associative search engine e.g., etc.
  • FIG. 3B is a diagram illustrating the configuration of the annotation database 225.
  • the annotation database 225 is a database that manages annotations given to documents. Specifically, an identifier (label ID) for identifying a label and an identifier (document ID) for identifying a document to which a label is given. ), And manage annotations.
  • the annotation includes label position information (for example, start character position, end character position) and label identification result information (for example, entity ID in the knowledge graph database).
  • RDB and KVS Key-Value Store
  • FIG. 3C is a diagram illustrating the configuration of the knowledge graph database 230.
  • the knowledge graph database 230 is a database that manages information incidental to an entity.
  • the information attached to the entity includes attribute information of the entity itself such as a name and a name, and information on the relationship between entities such as “Nagano Prefecture is a location administrative region in Japan”.
  • the data stored in the knowledge graph database 230 is described in RDF.
  • the knowledge graph database can use a data store of an RDF store (such as Apache Jena or Sesame).
  • FIG. 4 is a functional block diagram of the computer 100 constituting the information structuring system of this embodiment
  • FIG. 5 is a flowchart of information extraction processing by the information structuring system of this embodiment.
  • the initialization unit 235 activates each unit of the information structuring system of the present embodiment, connects to each database, and prepares for processing.
  • a document to be identified is acquired from the document database 220 (step 400). Thereafter, the initialization unit 235 activates the global relationship score calculation unit 250.
  • the global relationship score calculation unit 250 acquires entities in the knowledge graph from the knowledge graph database 230, scores the acquired entities according to whether they contribute to identification, and stores the scoring results in the global relationship score table 265 ( Step 410).
  • the global relationship score represents the generality of an entity, and is defined so as to contribute to identification (lower generality) as the value increases.
  • the reciprocal of the number of links possessed by the entity can be used as the global relation score.
  • Information that an entity is a person has no meaning when identifying persons.
  • the relationships that many entities have in common are less important for identification. For this reason, it is effective to use the reciprocal of the number of links as the global relation score.
  • log number of entities / number of links
  • IDF Inverse Document Frequency
  • the entity extraction unit 240 acquires a document from the document database 220, extracts an entity included in the acquired document, adds an annotation to the extracted entity, and stores the added annotation in the annotation database 225 ( Step 420).
  • the specific expression extraction technique is a technique for automatically extracting a specific expression such as a person name or an organization name based on a predetermined rule. By using this technique, it is possible to add an annotation representing the type of specific expression such as “person name” or “organization name” to a location corresponding to the specific expression in the document.
  • a specific expression extraction technique by machine learning may be used. Based on correct data called tagged corpus, this technology allows a computer to learn the pattern when a specific expression appears in a document and extracts the specific expression using the learned pattern (rule). To do.
  • FIG. 6 shows an example of a document from which an entity is extracted.
  • a document 600 illustrated in FIG. 6 describes the result of a tennis match.
  • a bold and underlined portion in the document 600 is a portion that is determined to be entity notation and extracted, and an annotation is given to each of the extracted portions.
  • the identification candidate enumeration unit 245 is activated.
  • the identification candidate listing unit 245 extracts the identification candidates corresponding to the entities extracted from the document from the knowledge graph database 230 and lists them (step 430).
  • known identification candidate enumeration techniques can be used. For example, in the simplest method, the similarity between the character string of the specific expression included in the annotation and the notation of the entity in the knowledge graph database is calculated, and the one with the large similarity is selected as the identification candidate. it can.
  • an alternative reading is added to the specific expression using a thesaurus (synonym dictionary), and the similarity between the added specific expression reading and the entity notation is calculated. A large one may be selected as an identification candidate.
  • the inter-document distance with the document currently being processed can be calculated, and selected as an identification candidate in order from the calculated distance. Good.
  • FIG. 7 shows examples of the identification candidates listed.
  • the identification candidate enumeration unit 245 uniquely identifies “Yamada XX”, “Tokyo Open”, “Roger YY”, “GG Company Cup”, “Sato ZZ”. The identification destination was determined.
  • “Tanaka AA” has two candidates, “Tanaka # AA # (politician)” who is a politician and “Tanaka # AA # (tennis)” who is a tennis player. The destination could not be determined uniquely.
  • 8A and 8B show examples of attribute information of identification candidates. This attribute information is obtained from the knowledge graph, and is not obtained from the document of FIG.
  • FIG. 8A shows the attribute information 800 of the Tanaka # AA # (politician) entity.
  • the information that politician Tanaka AA is a person, belongs to the NN party, and is from MM prefecture is described.
  • FIG. 8B shows the attribute information 810 of the entity Tanaka # AA # (tennis).
  • Tanaka # AA # (tennis) is a person and describes information that he / she participated in the events US # Open # (tennis) and FF # Cup # (tennis).
  • the identification score calculation unit 260 calculates an identification score representing the probability of identification.
  • the identification score is calculated for a set in which candidates are extracted one by one from the specific expressions included in the sentence. In the example (Yamada # XX, Tokyo # Open # (tennis), Roger # YY, GG # CUP # (tennis), Sato # ZZ, AATanaka # AA # (politician)) and (Yamada # XX, Tokyo # Open # (tennis), Roger # YY, GG # CUP # (tennis), Sato # ZZ, Tanaka # AA # (tennis)).
  • the identification score indicates that the larger the value is, the more likely the identification is.
  • the identification score calculation unit 260 acquires the listed identification destination candidates and activates the hub suppression unit 255.
  • the hub suppression unit 255 obtains a global relation score using the global relation score table 265, obtains a local relation score based on a candidate set of identification destinations, and is usefully represented in a knowledge graph used for the relation graph.
  • a relationship is selected (step 440).
  • the hub suppression unit 255 can obtain a relation score by combining the global relation score and the local relation score, select the relay node candidates in descending order of the relation score, and sequentially select the relay node candidates. At this time, as the number of relay nodes that pass between the nodes increases, the relationship becomes lighter and the number of relay nodes increases. Therefore, an upper limit can be set for the number of relays.
  • the identification score calculation unit 260 creates a partial graph composed of identification candidate nodes, relay nodes, and edges connecting them, and refers to the relation score as a weight to the edges, and calculates the sum of the partial identification scores by a method described later. Take an identification score.
  • the identification score calculation unit 260 calculates the likelihood of the candidate group to be identified using the useful relationship selected by the hub suppression unit 255 (step 450).
  • the hub suppression unit 255 limits the nodes that can be used for relaying.
  • the processing by the identification score calculation unit 260 ends when, for example, all combinations of candidate combinations of identification destinations are calculated. Further, the processing may be terminated when the identification score of the candidate set of identification destination falls below a certain threshold.
  • the ID determination unit 270 is activated.
  • the ID determination unit 270 uniquely determines an entity identifier based on the identification score (step 460). For example, the ID determination unit 270 may select a candidate having the maximum identification score.
  • a relation graph is output (step 470).
  • FIG. 9 and FIG. 10 are relationship graphs created by the information structuring system of the present embodiment, and show a state where the identification destination is not determined.
  • FIG. 9 shows the relationship between entities when the condition of participation in US # Open # (tennis) (second line in FIG. 8B) is selected as a relay node.
  • US # Open # (tennis) connects with Tanaka AA # (tennis), Yamada # XX, and Roger # YY. These persons are those who have some kind of relationship such as participating in the US Open Tennis Tournament.
  • Tanaka # AA # (tennis) and Tanaka # AA # (politician) can be separated by selecting US # Open # (tennis) as a relay node.
  • FIG. 10 shows an entity relationship when the attribute “Person” (first line in FIG. 8B) is selected as a relay node. Since Person is an attribute of all persons, all person entities are connected. With this, the two candidates Tanaka # AA # (tennis) and Tanaka # AA # (politician) cannot be distinguished. This is a situation that can occur when finding the shortest path between entities. Therefore, in the present invention, the hub suppressing unit 255 selects relay nodes based on the relation score.
  • the terms appearing in the same sentence are often connected to the terms appearing in the same document by utilizing characteristics having similar meanings, and the terms to be distinguished can be distinguished.
  • Select a relay node is used for the following two functions. (1) Since entity identification can be performed using a general large-scale knowledge graph created outside, the identification result can be used for multiple purposes. (2) The consistency of identification results can be improved.
  • FIG. 11 is a flowchart of the identification score calculation process by the information structuring system of this embodiment.
  • the identification score calculation process is executed by the identification score calculation unit 260 and the hub suppression unit 255.
  • the identification candidate uniquely determined and the identification candidate having a plurality of candidates are separated (1100).
  • entities having a plurality of identification candidates are listed (1110).
  • Entity properties are listed for each identification candidate (1120).
  • As the entity property a pair of attribute type and value as shown in FIGS. 8A and 8B can be used.
  • the global relation score of each property is obtained by referring to the global relation score table 265 (1130). This property becomes a candidate for the relay node.
  • the relay node candidate property and the global relation score are sent to the hub suppression unit 255 (1140).
  • the hub suppression unit 255 calculates a local relationship score (1145), and calculates a relationship score using the local relationship score and the global relationship score. Specifically, take the weighted sum of the local relationship score and the global relationship score, or take the product of the local relationship score and the global relationship score. Integrate scores. Using this relation score, a relay node is selected and sent to the identification score calculation unit 260 (1150). Specifically, relay nodes can be selected in descending order of relationship score.
  • the local relation score is calculated using Equation (1) shown in FIG. That is, the local relation score is a sum of values obtained by inverting the sign of the connection score (Sdi) with a node whose ID has already been determined and the connection score (Scj) with a node that is an identification candidate. Can be used to calculate.
  • the reason why the sign of Scj is inverted is to make the local relation score larger as Scj is smaller. Therefore, instead of the value obtained by inverting the sign of Scj, the reciprocal of Scj may be used, or the value of log (number of identification candidate nodes / Scj) may be used.
  • w is a weighting coefficient and is a value of 0 or more and 1 or less.
  • connection score is a score that takes a large value when the number of nodes is less than the number of nodes and the nodes are connected via the edge having a large weight.
  • the connection score is between nodes passing k times, when the passing coefficient is g (0 ⁇ g ⁇ 1) and the weight when the passing number is n (1 ⁇ n ⁇ k) is ⁇ n, ⁇ # n ( g) It is defined as ⁇ n * ⁇ n.
  • the weight ⁇ n is specifically a constant, a global relation score, the reciprocal of the number of connections with nodes that are identification candidates, log (number of identification candidate nodes / number of connections with nodes that are identification candidates), etc. Can be used.
  • the identification score calculation unit 260 calculates a partial identification score for each set of the distance to the determined node via the relay node and the identification candidate (other undecided nodes), and sums them to obtain the identification score.
  • the partial identification score refers to a graph in which the path between two nodes belonging to a certain group is weighted by the relation score, and the path between the nodes is traced by adding the relation score, and the sum is obtained. Is a partial identification score.
  • the use of addition when taking the sum of the relation scores is an example, and it can be replaced by operations such as multiplication and multiplication.
  • the identification score is more certain if the identification score is larger.
  • the threshold is set for the rank based on the partial identification score, or the threshold is set for the partial identification score.
  • the end condition is satisfied (1170). For example, it can be determined that the calculation has been completed when the calculation for all the combinations of identification candidates is completed. Moreover, you may determine with completion
  • FIG. 12 shows the concept of determining a local relation score using a threshold value.
  • the determination threshold can be represented by a straight line rising to the right as shown. .
  • the lower right is an area where a relay node suitable for identification exists.
  • the identification score calculation unit 260 transmits the calculated identification score to the ID determination unit 270 (1180).
  • the hub suppression unit 255 selects a relay node that contributes to identification and calculates an identification score using the selected relay node, more reliable identification can be performed.
  • the hub suppression unit 255 selects a relay node having a small distance from a node that is an identification candidate, and the identification score calculation unit 260 determines the ID of the relay node.
  • the first relationship with the completed node and the second relationship between the relay node and the candidate node are calculated, and the ID determination unit 270 uses the node candidates associated with the selected relay node to generate a unique expression. Since the corresponding entity (ID) is determined, appropriate candidate nodes can be narrowed down.
  • the hub suppression unit 255 calculates a first value that is the sum of the distances (Sdi) from the ID determined nodes associated with the relay nodes, and the sum of the distances (Scj) from the candidate nodes associated with the relay nodes. And the second node ( ⁇ Sdi) is large and the second node ( ⁇ Scj) is small. Therefore, the identification score calculation unit 260 and the ID are calculated. The determination unit 270 can narrow down appropriate candidate nodes with a simple calculation.
  • the identification candidate listing unit 245 has a time information recognition unit 246.
  • the identification candidate enumeration unit 245 of the second embodiment enumerates entities in consideration of time information from the knowledge graph corresponding to the entities.
  • the time information in the document is meta information such as a document creation date and a modification date (for example, news transmission date and time, newspaper issue date), and date information (incident occurrence date and time) appearing in the document content.
  • the news transmission date (newspaper issue date) is document metadata
  • the incident occurrence date is content date information.
  • the knowledge graph database 230 also includes time information.
  • the identification candidate attribute information of the second embodiment includes the date of birth (BirthDate) as shown in FIGS. 8A and 8B.
  • the time information may be, for example, a person's death date, company establishment date, or listing date.
  • the identification candidate listing unit 245 deletes nodes that do not have time information related to the document (for example, a person who does not survive at the time of issuance or a person who is not present at the position) from the identification candidates, thereby identifying the identification candidates. You can narrow down.
  • the attribute information of the identification candidates is used to narrow down the relay nodes even if it is used as a relay node as described in the first embodiment. You may use it.
  • the ID determination unit 270 may have a time information recognition unit. In this case, the ID determination unit 270 can give a low score to a candidate node that is temporally separated from the identified node.
  • identification can be made more reliably by using temporal relationships.
  • identification candidates can be narrowed down before the identification score is calculated.
  • the identification candidate listing unit 245 has a geographic information recognition unit 247.
  • the identification candidate enumeration unit 245 of the second embodiment enumerates entities from the knowledge graph corresponding to the entities in consideration of geographic information.
  • the geographical information in the document is meta information such as a place name (for example, a country of creation) added as a document category, and a place name, a country name, and a region name appearing in the document content.
  • the target area is added as a category name to the local news.
  • the location of the event and the position information (for example, residence) of the characters are described as geographic information in the content.
  • the knowledge graph database 230 also includes geographic information.
  • the attribute information of a person entity may include geographical information such as nationality and residence.
  • the entity entity attribute information may include the location of the head office or sales office.
  • the identification candidate attribute information of the third embodiment includes geographic information (BirthPlace, etc.) as shown in FIG. 8A.
  • identification candidates can be narrowed down before the identification score is calculated.
  • the ID determination unit 270 may include a geographic information recognition unit. In this case, the ID determination unit 270 can give a low score to a candidate node that is geographically distant from the identified node.
  • identification can be made more reliably by utilizing the geographical relationship.
  • identification candidates can be narrowed down before the identification score is calculated.
  • the fourth embodiment is different from the first embodiment in that the ID determination unit 270 includes a learning unit 271.
  • the learning unit 271 performs machine learning, particularly supervised learning.
  • supervised learning a computer learns patterns using data created by humans as teacher data. For example, the determination pattern of the identification candidate can be learned using multivariate regression analysis using a function with the identification score, the time score, and the geographic score as variables. This allows the computer to substitute for human intelligent processing.
  • the identification can be performed more reliably.
  • the fifth embodiment is different from the first embodiment in that the hub suppressing unit 255 has a relation score calculating unit.
  • the hub suppression part 255 has a relation score calculation part, and calculates an identification score each time.
  • the present invention is not limited to the above-described embodiments, and includes various modifications and equivalent configurations within the scope of the appended claims.
  • the above-described embodiments have been described in detail for easy understanding of the present invention, and the present invention is not necessarily limited to those having all the configurations described.
  • a part of the configuration of one embodiment may be replaced with the configuration of another embodiment.
  • another configuration may be added, deleted, or replaced.
  • each of the above-described configurations, functions, processing units, processing means, etc. may be realized in hardware by designing a part or all of them, for example, with an integrated circuit, and the processor realizes each function. It may be realized by software by interpreting and executing the program to be executed.
  • Information such as programs, tables, and files that realize each function can be stored in a storage device such as a memory, a hard disk, and an SSD (Solid State Drive), or a recording medium such as an IC card, an SD card, and a DVD.
  • a storage device such as a memory, a hard disk, and an SSD (Solid State Drive), or a recording medium such as an IC card, an SD card, and a DVD.
  • control lines and information lines indicate what is considered necessary for the explanation, and do not necessarily indicate all control lines and information lines necessary for mounting. In practice, it can be considered that almost all the components are connected to each other.

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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

文書の構造を解析する情報構造化システムであって、文書から名詞を抽出し、前記抽出された名詞と前記データベースに格納されたノードとを対応付けることによって、前記抽出された名詞にノードを対応付ける抽出部と、前記抽出された名詞に複数のノードの候補が対応付けられる場合、識別情報が特定された名詞と前記ノードの候補とを繋ぐ中継ノードを探す候補列挙部と、前記探された中継ノードと前記識別情報が特定された名詞との第1の関係性及び前記探された中継ノードと前記ノードの候補との第2の関係性を計算する計算部と、前記第1の関係性が大きく、かつ、前記第2の関係性が小さくなる中継ノードを決定する抑制部と、前記決定された中継ノードと関連付けられたノードの候補を用いて、前記抽出された名詞に対応するノードを決定する決定部と、を有する。

Description

情報構造化システム及び情報構造化方法
 本発明は、計算機を利用した自然言語文書の情報構造化システムに関する。
 最近、大量の電子データ(ビッグデータ)が利用されている。これは、Apache Hadoopなどのオープンソースソフトウェアの登場により、一般的なPCサーバを用いて分散並列計算をする技術が普及したためである。これにより、大量のデータを短時間で処理するために必要な計算機資源などのコストが、大幅に引き下げられた。
 ビッグデータにおけるデータの処理は、大量の数値データの集計処理や、計算機が、ユーザに有用なパターンを電子文書データから自動的に抽出する処理も行われている。
 文書データの中でも、人名や組織名などの固有表現は、文書の内容と現実世界とを橋渡しする観点から重要性が高い。固有表現抽出技術によって、自然言語から人名、組織名、地名などの情報を自動的に抽出することができる。
 以下、本明細書では、固有表現が指し示す現実世界における実体をエンティティと称する。エンティティを指し示す文字列をエンティティの表記もしくは固有表現と称する。
 また、その一方で、現実世界の情報を電子データの形式で纏めた情報として、Wikipediaなどがある。これらの情報源を用いて知識グラフを作成する動きが見られる。代表的な知識グラフとしてDBPedia、YAGO、BabelNetなどが知られている。
 これらの知識グラフは、RDF(Resource Description Framework)によって記述されており、エンティティ間の関係性を表現している。エンティティをノード、関係性をエッジと見ると、エンティティ間の関係性をグラフとして捉えることができる。このグラフが知識グラフである。
 知識グラフを名寄せ先として選ぶことによって、多目的に利用可能な名寄せ(エンティティ同定)が期待できる。
 この技術分野の背景技術として特開2004-185515号公報(特許文献1)及び特開2011-191982号公報(特許文献2)がある。
 特許文献1には、テキストデータを構成する単語情報を入力する手段を有する単語情報入力部と、前記テキストデータに含まれる任意のテキストデータ対について、該テキストデータ対を構成する単語情報を用いて方向性を有する関連度を算出する手段と、算出した値を要素値とする正方行列を生成する手段を有するテキストデータ関連度行列算出部と、算出したテキストデータ関連度行列に対し固有値分解を施し、固有値と固有ベクトルとを算出する手段を有する固有値分解部と、算出した最大固有値の固有ベクトルをもとに各テキストデータの評価値を算出する手段を有するテキストデータ評価値算出部と、算出したテキストデータ評価値を出力する手段を有するテキストデータ評価値出力部とを有するテキストデータ評価装置が開示されている。
 また、特許文献2には、店舗名候補抽出部により、処理済み入力文章から店舗名リスト中の店舗名とその表記が一致する単語を抽出し、その単語の表記とともに処理済み入力文章中での位置情報等を店舗名候補とし、店舗名判定部により、店舗名候補に対し、店舗らしさDBを用いて店舗名か否かを判定し、店舗名と判定された店舗名候補のみを判定済み店舗名とし、曖昧性解消部により、判定済み店舗名に対し、店舗DB及び特徴語DBを用いて店舗DB中のどのレコードに対応するかを、前記処理済み入力文章中の当該判定済み店舗名の近傍に出現する店舗DB中の店舗属性値に対応する制約語もしくは特徴語から判断し、店舗DBの対応するレコードの少なくともレコードIDを当該店舗名とともに出力する店舗名曖昧性解消装置が開示されている。
特開2004-185515号公報 特開2011-191982号公報
 エンティティ同定に、大規模な知識グラフを用いない場合、文書の背景にある共通点を把握することができず、同定結果に一貫性の問題が生じる場合がある。一方で、一般の知識グラフは、多目的用途で作られており、エンティティ同定に特化したものではない。そのため、エンティティ同定に適した情報を取捨選択する方法が必要である。このため、前述した公知技術では、エンティティ同定の一貫性の向上に知識グラフ内の背景知識を用いることはできない。
 このため、知識グラフのリンク構造や、構造のルール定義を含めて文書を解析することが求められている。
 本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、文書の構造を解析する情報構造化システムであって、プログラムを実行するプロセッサ、及び前記プロセッサによって実行されるプログラムを格納するメモリを有し、識別情報が付与された名詞であるノードを格納するデータベースと、文書から名詞を抽出し、前記抽出された名詞と前記データベースに格納されたノードとを対応付けることによって、前記抽出された名詞にノードを対応付ける抽出部と、前記抽出された名詞に複数のノードの候補が対応付けられる場合、識別情報が特定された名詞と前記ノードの候補とを繋ぐ中継ノードを探す候補列挙部と、前記探された中継ノードと前記識別情報が特定された名詞との第1の関係性及び前記探された中継ノードと前記ノードの候補との第2の関係性を計算する計算部と、前記第1の関係性が大きく、かつ、前記第2の関係性が小さくなる中継ノードを決定する抑制部と、前記決定された中継ノードと関連付けられたノードの候補を用いて、前記抽出された名詞に対応するノードを決定する決定部と、を有する。
 本発明の代表的な実施の形態によれば、一般的な知識グラフからエンティティ同定に有効な部分構造を抽出することができ、適切な候補ノードを絞り込むことで一貫した同定に利用できる。また、一般的な知識グラフは多目的用途に作られているため、同定結果の適用先が広い。前述した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。
本発明の実施例の情報構造化システムを構成する計算機のブロック図である。 本実施例の情報構造化システムを構成する計算機の論理的なブロック図である。 文献データベースの構成を説明する図である。 アノテーションデータベースの構成を説明する図である。 知識グラフデータベースの構成を説明する図である。 本実施例の情報構造化システムを構成する計算機の機能ブロック図である。 本実施例の情報構造化システムによる情報抽出処理のフローチャートである。 エンティティが抽出された文書の例を説明する図である。 列挙された同定候補の例を説明する図である。 同定候補の属性情報の例を説明する図である。 同定候補の属性情報の例を説明する図である。 エンティティの関係を説明する図である。 エンティティの関係を説明する図である。 本実施例の情報構造化システムによる同定スコア計算処理のフローチャートである。 本実施例の閾値を用いた局所関係スコアの判定の概念を説明する図である。
 以下、本発明の一実施形態を添付図面を用いて説明する。
 以下の実施の形態において、要素の数等に言及する場合、特に指定された場合および原理的に明らかに特定される場合を除き、その特定の数に限定されることはなく、特定の数以上でも以下でもよい。
 さらに、以下の実施の形態において、その構成要素は、特に指定された場合および原理的に明らかに必要とされる場合を除き、必ずしも必須ではないことは明らかである。また、同様に以下の実施の形態において、構成要素の形状や位置関係について言及するときは、特に明示する場合や原理的に明らかにそうでないと考えられる場合を除き、実質的にその形状等に近似または類似するものを含むものとする。このことは上記数値および範囲に関しても同様である。
 <第1実施例>
 図1は、本発明の実施例の情報構造化システムを構成する計算機100のブロック図である。
 本実施例の情報構造化システムを構成する計算機100は、図1に示すような汎用計算機であり、具体的にはPCサーバで構成することができる。計算機100は、中央演算装置(CPU:Central Processing Unit)110、メモリ120、ローカルファイルシステム130、入力装置140、出力装置150、ネットワークデバイス160及びバス170を有する。
 中央演算装置110は、メモリ120に格納されたプログラムを実行する。メモリ120は、DRAM(Dynamic Random Access Memory)のような高速かつ揮発性の記憶素子であり、中央演算装置110によって実行されるプログラム及びプログラムの実行時に使用されるデータを一時的に格納する。
 ローカルファイルシステム130は、計算機100に内蔵された書き換え可能な記憶領域であり、例えば、磁気記憶装置(HDD)、フラッシュメモリ(SSD)、RAMディスク等の大容量かつ不揮発性の記憶装置で構成される。ローカルファイルシステムが構成される記憶装置は、計算機100に外部から接続された記憶装置でもよい。
 記憶装置は、ローカルファイルシステム130の他、中央演算装置110が実行するプログラム及びプログラムの実行時に使用されるデータを格納する。記憶装置に格納されるデータとして、以下に説明する大域関係スコア表265、文献データベース220、アノテーションデータベース225及び知識グラフデータベース230がある。また、以下に説明する各部を実装するためのプログラムは、記憶装置から読み出されて、メモリ120にロードされて、中央演算装置110によって実行される。
 入力装置140は、キーボード及びマウスなど、ユーザからの入力を受けるインターフェースである。出力装置150は、ディスプレイ装置及びプリンタなど、プログラムの実行結果をユーザが視認可能な形式で出力するインターフェースである。なお、ネットワークを介して接続された端末によって計算機100を遠隔操作する場合、計算機100が入力装置140及び出力装置150を有しなくてもよい。
 ネットワークデバイス160は、所定のプロトコルに従って、他の装置との通信を制御するネットワークインターフェース装置である。バス170は、各デバイス110~160を接続する。
 中央演算装置110が実行するプログラムは、リムーバブルメディア(CD-ROM、フラッシュメモリなど)又はネットワークを介して計算機に提供され、非一時的記憶媒体である記憶装置に格納される。このため、計算機は、リムーバブルメディアからデータを読み込むインターフェースを有するとよい。
 本実施例の情報構造化システムは、物理的に一つの計算機上で、又は、論理的又は物理的に構成された複数の計算機上で構成される計算機システムであり、同一の計算機上で別個のスレッドで動作してもよく、複数の物理的計算機資源上に構築された仮想計算機上で動作してもよい。
 図2は、本実施例の情報構造化システムを構成する計算機100の論理的なブロック図である。
 計算機100は、初期化部235、エンティティ抽出部240、同定候補列挙部245、大域関係スコア計算部250、ハブ抑制部255、同定スコア計算部260、大域関係スコア表265及びID決定部270を有する。
 初期化部235は、本実施例の情報構造化システムの各部を初期化する。エンティティ抽出部240は、文書からエンティティを抽出し、抽出したエンティティにアノテーションを付与する。大域関係スコア計算部250は、知識グラフデータベース230中のエンティティが同定に寄与するかによってスコア付けをする。同定候補列挙部245は、エンティティに対応する知識グラフ中のエンティティを列挙する。ハブ抑制部255は、大域関係スコア表265を用いて、関係グラフに利用する知識グラフの情報を選択する。同定スコア計算部260は、同定の尤度を表すスコアを計算する。
 大域関係スコア表265は、知識グラフ中のエンティティをスコア化した結果を保持する。大域関係スコア表265は、具体的には、中継ノードとなるエンティティに繋がっている他のエンティティの数を記録する。例えば、中継ノード「Person」に対しては、世界中の人が繋がっているので、その大域関係スコアは世界人口(約70億)である。また、中継ノード「NN党」の大域関係スコアは、NN党の党員数である。このとき、中継ノード「Person」と、中継ノード「NN党」とを比較すると、中継ノード「Person」の方がハブとしての一般性が高い。このため、本実施例では、大域関係スコア表265は、ハブ抑制255部が、一般性が低い中継ノードをハブとして選ぶために用いられる。
 ID決定部270は、同定スコアに基づいて、エンティティの識別子を一意に決定する。
 なお、本願発明において、エンティティとは、ある固有名詞の任意表現が指し示す実体を意味する。例えば、「日立」や「Hitachi」は、地名としての「日立市」や、会社としての「株式会社日立製作所」を意味する場合がある。この場合、「日立」や「Hitachi」が任意表現であり、「日立市」や「株式会社日立製作所」が、実体としてのエンティティである。また、同姓同名の人は、表記が同じでも実際は異なるエンティティである。
 なお、同定候補列挙部245が有する時間情報認識部246、地理情報認識部247、学習部271は、各々、第2実施例、第3実施例、第4実施例で必要な構成で、第1実施例では不要である。
 計算機100は、LAN210を介して、文献データベース220、アノテーションデータベース225及び知識グラフデータベース230と接続されている。
 文献データベース220は、処理すべき文献を格納するデータベースである。文献データベース220の構成は、図3Aを用いて後述する。アノテーションデータベース225は、文献に付与されるアノテーションを管理するデータベースである。アノテーションデータベース225の構成は、図3Bを用いて後述する。知識グラフデータベース230は、エンティティに付帯する情報を管理する。知識グラフデータベース230の構成は、図3Cを用いて後述する。
 各データベースは、計算機上で動作する既存のデータ管理ソフトウェアを利用することができる。
 図3Aは、文献データベース220の構成を説明する図である。文献データベース220は、文献を管理するデータベースであり、具体的には、文献を識別するための識別子(文献ID)、及び文献の内容を管理する。文献の内容は、文献のテキスト(文字情報)である。文献データベース220は、具体的には、RDB(Relational Database)、全文検索エンジン、連想検索エンジンなどを用いることができる。
 図3Bは、アノテーションデータベース225の構成を説明する図である。アノテーションデータベース225は、文献に付与されるアノテーションを管理するデータベースであり、具体的には、ラベルを識別するための識別子(ラベルID)、ラベルが付与された文献を識別するための識別子(文献ID)、及びアノテーションを管理する。アノテーションは、ラベルの位置情報(例えば、開始文字位置、終了文字位置)及び、ラベルの同定結果情報(例えば、知識グラフデータベース中のエンティティID)を含む。アノテーションデータベース225は、具体的には、RDBやKVS(Key-Value Store)を用いることができる。
 図3Cは、知識グラフデータベース230の構成を説明する図である。知識グラフデータベース230は、エンティティに付帯する情報を管理するデータベースである。エンティティに付帯する情報は、名前、呼称のようにエンティティ自体が持つ属性情報、及び、「長野県は日本国の位置行政区域である」というような、エンティティ間の関係性の情報を含む。知識グラフデータベース230に格納されるデータは、具体的には、RDFで記述される。知識グラフデータベースは、具体的には、RDFストア(Apache Jena、Sesameなど)のデータストアを利用することができる。
 図4は、本実施例の情報構造化システムを構成する計算機100の機能ブロック図であり、図5は、本実施例の情報構造化システムによる情報抽出処理のフローチャートである。
 まず、初期化部235は、本実施例の情報構造化システムの各部を起動し、各データベースと接続して、処理の準備をする。そして、文献データベース220から同定対象の文書を取得する(ステップ400)。その後、初期化部235は、大域関係スコア計算部250を起動する。
 大域関係スコア計算部250は、知識グラフデータベース230から知識グラフ中のエンティティを取得し、同定に寄与するかによって取得したエンティティをスコア付けし、スコア付けの結果を大域関係スコア表265に格納する(ステップ410)。なお、大域関係スコアは、エンティティの一般性を表し、値が大きいほど同定に寄与する(一般性が低い)ように定義する。
 例えば、大域関係スコアとして、そのエンティティが持つリンクの数の逆数を用いることができる。エンティティが人であるという情報は、人と人とを識別する場合には何の意味を持たない。多くのエンティティが共通して持っている関係は、同定の際の重要性は低い。このため、リンク数の逆数を大域関係スコアとして用いることが有効である。また、文書における逆文書頻度IDF(Inverse Document Frequency)のように、log(エンティティ数 / リンク数)を大域関係スコアとして用いることもできる。
 次に、エンティティ抽出部240は、文献データベース220から文書を取得し、取得した文書に含まれるエンティティを抽出し、抽出されたエンティティにアノテーションを付与し、付与したアノテーションをアノテーションデータベース225に格納する(ステップ420)。
 エンティティにアノテーションを付与するために、前述した固有表現抽出技術を用いることができる。固有表現抽出技術は、人名、組織名などの固有表現を所定のルールに基づいて自動的に抽出する技術である。この技術を用いることによって、文書中の固有表現に相当する箇所に「人名」や「組織名」などの固有表現の種類を表すアノテーションを付与することができる。
 また、機械学習による固有表現抽出技術を用いてもよい。この技術は、タグ付きコーパスと称される正解データに基づいて、固有表現が文書中で出現する際のパターンを、計算機に学習させ、学習されたパターン(ルール)を用いて、固有表現を抽出する。
 しかし、この段階では、文書から抽出されたエンティティが複数の同定候補を有するなど、正しく同定されていない場合がある。このため、本実施例では、抽出されたエンティティの確からしい同定先(すなわち、エンティティのID)を決定する。
 図6はエンティティが抽出された文書の例を示す。図6に例示する文書600は、テニスの試合の結果を記述したものである。文書600中の太字かつ下線が付されている部分が、エンティティの表記と判断され抽出された箇所であり、抽出された箇所の各々にアノテーションが付与される。
 次に、同定候補列挙部245が起動される。同定候補列挙部245は、文書から抽出されたエンティティに対応する同定候補を知識グラフデータベース230から抽出して、列挙する(ステップ430)。同定候補のエンティティを列挙するために、公知の同定候補列挙技術を用いることができる。例えば、最も単純な方法では、アノテーションに含まれる固有表現の文字列と、知識グラフデータベース中のエンティティの表記との間の類似度を計算し、類似度の大きなものを同定候補として選択することができる。
 前述した同定候補列挙技術の拡張として、シソーラス(類義語辞書)を用いて固有表現に代替の読みを追加し、追加された固有表現の読みとエンティティの表記との類似度を計算し、類似度の大きなものを同定候補として選択してもよい。
 さらに、アノテーションデータベース225を参照することによって、エンティティが登場する文献を抽出し、現在処理中の文書との文書間距離を計算し、計算された距離が近いものから順に同定候補として選択してもよい。
 図7は列挙された同定候補の例を示す。同定候補列挙部245は、エンティティの表記と知識グラフのエントリとを照合した結果、「山田XX」、「東京オープン」、「Roger YY」、「GG社カップ」、「佐藤ZZ」は、一意に同定先が決定された。一方、「田中AA」は、政治家である「Tanaka#AA#(politician)」と、テニスプレーヤーである「Tanaka#AA#(tennis)」の二名が候補となり、同定候補列挙部245によっては同定先が一意に決定できなかった。
 図8A、図8Bは同定候補の属性情報の例を示す。なおこの属性情報は、知識グラフから得られるものであり、図6の文書から得られたものではない。
 図8Aは、Tanaka#AA#(politician)のエンティティの属性情報800を示す。政治家である田中AAは、人であり、NN党に所属し、MM県出身であるという情報が記述されている。
 図8Bは、Tanaka#AA#(tennis)のエンティティの属性情報810を示す。Tanaka#AA#(tennis)は、人であり、US#Open#(tennis)及びFF#Cup#(tennis)というイベントに参加したという情報が記述されている。
 同定候補が選択された後、同定スコア計算部260が起動される。同定スコア計算部260は、同定の確からしさを表す同定スコアを計算する。同定スコアは、文中に含まれる固有表現から候補を一つずつ取り出した組に対して計算される。例では(Yamada#XX, Tokyo#Open#(tennis), Roger#YY, GG#CUP#(tennis), Sato#ZZ, Tanaka#AA#(politician))という組と(Yamada#XX, Tokyo#Open#(tennis), Roger#YY, GG#CUP#(tennis), Sato#ZZ, Tanaka#AA#(tennis))という組がある。同定スコアは、値が大きいほど、同定が尤もらしいことを表す。
 具体的には、同定スコア計算部260は、列挙された同定先の候補を取得し、ハブ抑制部255を起動する。ハブ抑制部255は、大域関係スコア表265を用いて、大域関係スコアを求め、同定先の候補の組をもとに局所関係スコアを求め、関係グラフに利用する知識グラフに表される有用な関係を選択する(ステップ440)。例えば、ハブ抑制部255は、大域関係スコアと局所関係スコアを合わせて関係スコアを求め、関係スコアが大きい中継ノードの候補から順に選択して、逐次的に中継ノードの候補を選ぶことができる。このとき、ノード間で経由する中継ノード数が多いほど、関係は薄くなり、中継ノード数は増加することから、経由数には上限を定めることができる。また、全ての中継ノードに関係スコアを付与してもよい。この場合、同定スコア計算部260は、同定候補ノードと中継ノードとそれらをつなぐエッジからなる部分グラフを作り、そのエッジに関係スコアを重みとして参照しながら、後述する方法で部分同定スコアの総和をとり、同定スコアを計算する。
 その後、同定スコア計算部260は、ハブ抑制部255が選択した有用な関係を用いて、同定先の候補の組の尤度を計算する(ステップ450)。同定スコアの計算方法の具体例は、図11を用いて後述する。なお、本実施例においては、ハブ抑制部255が中継に利用可能なノードを制限する。
 同定スコア計算部260による処理は、例えば全ての同定先の候補の組の組み合わせを計算すると終了する。また、同定先の候補の組が持つ同定スコアがある閾値を下回った場合に処理を終了してもよい。
 同定スコア計算部260による処理が終了した後、ID決定部270が起動される。ID決定部270は、同定スコアに基づいて、エンティティの識別子を一意に決定する(ステップ460)。例えば、ID決定部270は、同定スコアが最大となる候補を選択してもよい。
 エンティティの識別子が決定した後、関係グラフを出力する(ステップ470)。
 図9、図10は、本実施例の情報構造化システムによって作成される関係グラフであり、同定先が決定していない状態を示す。
 図9では、US#Open#(tennis)への参加という条件(図8Bの2行目)が中継ノードとして選択された場合のエンティティの関係を示す。US#Open#(tennis)は、Tanaka AA#(tennis)、Yamada#XX及びRoger#YYと接続する。これらの者は、USオープンテニス大会に出場したなど、何らかの関係がある者である。このように中継ノードとしてUS#Open#(tennis)を選択することによって、Tanaka#AA#(tennis)とTanaka#AA#(politician)とを分離することができる。
 図10では、Personという属性(図8Bの1行目)が中継ノードとして選択された場合のエンティティの関係を示す。Personは、全ての人物が持つ属性であるため、全ての人物のエンティティが接続される。これでは、二つの候補であるTanaka#AA#(tennis)とTanaka#AA#(politician)とを弁別することはできない。これは、各エンティティ間の最短経路を求める場合に起こりうる状況である。このため、本発明では、ハブ抑制部255が、関係スコアに基づいて中継ノードを選別する。
 本実施例では、同じ文章に登場する用語は、多くの場合、似ている意味の繋がりを有する特性を利用して、同じ文書に登場する用語と多く繋がっており、区別すべき用語が区別できる中継ノードを選択する。そして、前述したような実施例の構成を採用することによって、以下の二つの機能を発揮し、効果を奏することができる。
(1)外部で作成された一般的な大規模な知識グラフを用いてエンティティ同定ができるため、同定結果を多目的に利用することができる。
(2)同定結果の一貫性を向上させることができる。
 図11は、本実施例の情報構造化システムによる同定スコア計算処理のフローチャートである。同定スコア計算処理は、同定スコア計算部260及びハブ抑制部255によって実行される。
 まず、選択された同定候補のうち、一意に決定された同定候補と、複数の候補がある同定候補とを分離する(1100)。次に、複数の同定候補を持つエンティティを列挙する(1110)。各同定候補についてエンティティのプロパティを列挙する(1120)。エンティティのプロパティとしては、図8A、図8Bに示すような、属性の種類と値の組を用いることができる。
 その後、大域関係スコア表265を参照して、各プロパティの大域関係スコアを求める(1130)。このプロパティが中継ノードの候補となる。次に、中継ノードの候補となるプロパティ及び大域関係スコアをハブ抑制部255に送る(1140)。
 ハブ抑制部255は、局所関係スコアを計算し(1145)、局所関係スコアと、大域関係スコアとを用いて関係スコアを計算する。具体的には、局所関係スコアと大域関係スコアの重み付き和を取る、もしくは、局所関係スコアと大域関係スコアの積をとるなど、両方のスコアが大きい方が関係スコアも大きくなるように二つのスコアを統合する。この関係スコアを用いて、中継ノードを選択し、同定スコア計算部260に送る(1150)。具体的には、関係スコアが大きい順に中継ノードを選択することができる。
 このため、図12に示す数式(1)を用いて局所関係スコアを計算する。すなわち、局所関係スコアは、IDが既に決定されているノードとの接続スコア(Sdi)の和と、同定候補となっているノードとの接続スコア(Scj)の符号を反転させた値の和を用いて計算することができる。ここで、Scjの符号を反転させるのは、Scjが小さいほど、局所関係スコアが大きくなるようにするためである。そのため、Scjの符号を反転させた値の代わりに、Scjの逆数を利用したり、log(同定候補ノード数/Scj)の値を利用してもよい。数式(1)において、wは重み係数であり、0以上1以下の値である。wに小さい値を採用することによって、同定候補を区別する能力が向上する。
 ここで、接続スコアはノードとノードが少ない経由数で、かつ重みの大きなエッジを介して接続されていると大きな値をとるスコアである。例えば、接続スコアはk回経由するノード間の場合、経由係数をg(0<g≦1)、経由数n(1≦n≦k)のときの重みをαnとしたとき、Σ#n (g)^n * αnのように定められる。ここで、重みαnは具体的には定数、大域関係スコア、同定候補となっているノードとの接続数の逆数、log(同定候補ノード数/同定候補となっているノードとの接続数)などを用いることができる。
 その後、同定スコア計算部260は、中継ノードを経由する決定済みノードとの距離及び同定候補(他の未決定ノード)の各組について部分同定スコアを計算し、それらを合計することで同定スコアを計算する(1160)。部分同定スコアとは、具体的には、ある組に属する二つのノード間の経路が、関係スコアで重みづけされているグラフを考え、ノード間の経路を関係スコアで加算しながら辿り、その総和を部分同定スコアとする。ここで、関係スコアの合計を取る際に加算を使うことは例であり、乗算と総乗などの演算で置き換えることもできる。また、ノード間の流量を求めることによって、同定スコアを計算してもよい。流量は大きいほど関係が深いことを意味し、例えば、流量の総和や最大値を同定スコアとして利用できる。
 このように同定スコアを決めることによって、同定スコアが大きい方が、同定が確からしいといえる。
 同定スコアを、各ノード間で順に計算していく際に、部分的な同定スコアが小さいものは以後の計算を取りやめ、計算する候補数を制限することもできる。具体的には、部分的な同定スコアによる順位に閾値を設ける、部分的な同定スコアに閾値を設けるなどの手段により制限する。
 その後、終了条件を満たすかを判定する(1170)。例えば、全ての同定候補の組についての計算が終了した場合に終了と判定することができる。また、同定スコアが所定の閾値より大きくなった場合に終了と判定してもよい。この場合、所定の閾値には、区別すべき対象が確実に区別できる値を採用する。
 図12に、閾値を用いた局所関係スコアの判定の概念を示す。決定済みノードとの距離Sdjを横軸にとり、同定候補となっているノードとの距離Scjを縦軸にとった2次元空間において、判定閾値は図示したように右上がりの直線で表すことができる。そして、右下が同定に適する中継ノードが存在する領域である。
 その後、同定スコア計算部260は、計算した同定スコアをID決定部270に送信する(1180)。
 このようにハブ抑制部255が同定に寄与する中継ノードを選択し、選択された中継ノードを用いて同定スコアを計算するので、より確からしい同定をすることができる。
 以上に説明したように、本発明の第1実施例によれば、ハブ抑制部255が同定候補であるノードとの距離が小さい中継ノードを選択し、同定スコア計算部260が中継ノードとID決定済みノードとの第1の関係性及び中継ノードと前記候補ノードとの第2の関係性を計算し、ID決定部270が選択された中継ノードと関連付けられたノードの候補を用いて固有表現に対応するエンティティ(ID)を判定するので、適切な候補ノードを絞り込むことができる。
 また、ハブ抑制部255は、中継ノードと関連付けられるID決定済みノードとの距離(Sdi)の和である第1の値を計算し、中継ノードと関連付けられる候補ノードとの距離(Scj)の和である第2の値とを計算し、前記第1の値(ΣSdi)が大きく、かつ、前記第2の値(ΣScj)が小さくなる中継ノードを決定するので、同定スコア計算部260と前記ID決定部270は、簡単な計算で適切な候補ノードを絞り込むことができる。
 <第2実施例>
 次に、本発明の第2実施例について説明する。
 図2に示すように、第2実施例の情報構造化システムは、同定候補列挙部245が時間情報認識部246を有する。
 このため、第2実施例の同定候補列挙部245は、エンティティに対応する知識グラフ中から、時間情報を考慮してエンティティを列挙する。文書における時間情報とは、文書の作成日、変更日(例えば、ニュース発信日時、新聞の発行日)などのメタ情報、及び、文書のコンテンツ中で登場する日付情報(事件の発生日時)である。例えば、ニュース記事では、ニュース発信日時(新聞の発行日)が文書のメタデータであり、事件の発生日時がコンテンツの日付情報である。
 また、第2実施例では、知識グラフデータベース230も時間情報を含む。
 さらに、第2実施例の同定候補の属性情報は、図8A、図8Bに示すように、生年月日(BirthDate)を含む。時間情報は、例えば、人物の死亡日時、会社の設立年月日や、上場日でもよい。
 同定候補列挙部245は、文書に関係する時間情報を有さない(例えば、発行時点で生存しない人物や、その役職に在職していない人物)ノードを同定候補から削除することによって、同定候補を絞り込むことができる。
 なお、第2実施例の前述以外の構成は、第1実施例と同じであるため、それらの説明は省略する。
 このように第2実施例(及び、後述する第3実施例)のように、同定候補の属性情報は、第1実施例で説明したように中継ノードとして使っても、中継ノードを絞り込むために使ってもよい。
 また、同定候補列挙部245ではなく、ID決定部270が時間情報認識部を有してもよい。この場合、ID決定部270は、同定済みのノードと時間的に離れている候補ノードに低いスコアを与えることができる。
 以上に説明したように、本発明の第2実施例によれば、時間的な関係性を利用することによって、より確実に同定することができる。また、同定スコアを計算する前に、同定候補を絞り込むことができる。
 <第3実施例>
 次に、本発明の第3実施例について説明する。
 図2に示すように、第3実施例の情報構造化システムは、同定候補列挙部245が地理情報認識部247を有する。
 このため、第2実施例の同定候補列挙部245は、エンティティに対応する知識グラフ中から、地理情報を考慮してエンティティを列挙する。文書における地理情報とは、文書のカテゴリとして付加される地名(例えば、作成国)などのメタ情報や、文書のコンテンツ中に登場する地名、国名、地域名である。例えば、地方版のニュースには、カテゴリ名として対象地域が付加されている。また、コンテンツ中の地理情報として、イベントの開催地や、登場人物の位置情報(例えば、居住地)が記載される。
 また、第3実施例では、知識グラフデータベース230も地理情報を含む。例えば、人物のエンティティの属性情報は、国籍、居住地などの地理情報を含んでもよい。また、企業のエンティティの属性情報は、本店や営業所の所在地を含んでもよい。
 さらに、第3実施例の同定候補の属性情報は、図8Aに示すように、地理情報(BirthPlaceなど)を含む。
 なお、第3実施例の前述以外の構成は、第1実施例と同じであるため、それらの説明は省略する。
 第3実施例では、これらの情報を利用することによって、同定スコアを計算する前に、同定候補を絞り込むことができる。
 また、同定候補列挙部245ではなく、ID決定部270が地理情報認識部を有してもよい。この場合、ID決定部270は、同定済みのノードと地理的に遠い候補ノードに低いスコアを与えることができる。
 以上に説明したように、本発明の第3実施例によれば、地理的な関係性を利用することによって、より確実に同定することができる。また、同定スコアを計算する前に、同定候補を絞り込むことができる。
 <第4実施例>
 次に、本発明の第4実施例について説明する。第4実施例は、ID決定部270が学習部271を有する点で第1実施例と異なる。
 学習部271は、機械学習、特に教師有り学習を行う。教師有り学習では、人間が作成したデータを教師データとして、計算機がパターンを学習する。例えば、同定スコア、時間スコア及び地理スコアを変数とした関数を用いた多変数回帰分析を用いて、同定候補の決定パターンを学習することができる。これによって、計算機が人間の知的処理を代替することができる。
 以上に説明したように、本発明の第4実施例によれば、過去の同定の結果をスコア化して学習するので、より確実に同定することができる。
 <第5実施例>
 次に、本発明の第5実施例について説明する。第5実施例は、ハブ抑制部255が関係スコア計算部を有する点で第1実施例と異なる。
 例えば、中継ノードが関係しているノードの数を予め持っていなくても、必要なときに計算すればよい。このため、大域関係スコア表265を有さず、ハブ抑制部255が関係スコア計算部を有し、その都度、同定スコアを計算する。
 以上に説明したように、本発明の第5実施例によれば、記憶容量が少ないシステムでも確実に同定をすることができる。
 以上に本発明の実施例について、電子文書データの情報構造化を例にして説明したが、これに限らず、知識グラフと手持ちの知識とのマッチング処理などのデータ処理全般に本発明を広く適用することができる。
 また、本発明の実施例について、人名の同定について説明したが、会社名などの固有名詞の同定にも本発明を適用することができる。
 なお、本発明は前述した実施例に限定されるものではなく、添付した特許請求の範囲の趣旨内における様々な変形例及び同等の構成が含まれる。例えば、前述した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに本発明は限定されない。また、ある実施例の構成の一部を他の実施例の構成に置き換えてもよい。また、ある実施例の構成に他の実施例の構成を加えてもよい。また、各実施例の構成の一部について、他の構成の追加・削除・置換をしてもよい。
 また、前述した各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等により、ハードウェアで実現してもよく、プロセッサがそれぞれの機能を実現するプログラムを解釈し実行することにより、ソフトウェアで実現してもよい。
 各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、SSD(Solid State Drive)等の記憶装置、又は、ICカード、SDカード、DVD等の記録媒体に格納することができる。
 また、制御線や情報線は説明上必要と考えられるものを示しており、実装上必要な全ての制御線や情報線を示しているとは限らない。実際には、ほとんど全ての構成が相互に接続されていると考えてよい。

Claims (10)

  1.  文書の構造を解析する情報構造化システムであって、
     プログラムを実行するプロセッサ、及び前記プロセッサによって実行されるプログラムを格納するメモリを有し、
     識別情報が付与された名詞であるノードを格納するデータベースと、
     文書から名詞を抽出し、前記抽出された名詞と前記データベースに格納されたノードとを対応付けることによって、前記抽出された名詞にノードを対応付ける抽出部と、
     前記抽出された名詞に複数のノードの候補が対応付けられる場合、識別情報が特定された名詞と前記ノードの候補とを繋ぐ中継ノードを探す候補列挙部と、
     前記探された中継ノードと前記識別情報が特定された名詞との第1の関係性及び前記探された中継ノードと前記ノードの候補との第2の関係性を計算する計算部と、
     前記第1の関係性が大きく、かつ、前記第2の関係性が小さくなる中継ノードを決定する抑制部と、
     前記決定された中継ノードと関連付けられたノードの候補を用いて、前記抽出された名詞に対応するノードを決定する決定部と、を有することを特徴とする情報構造化システム。
  2.  請求項1に記載の情報構造化システムであって、
     前記計算部は、前記探された中継ノードと関連付けられる前記識別情報が特定された名詞の数である第1の値と、前記中継ノードと関連付けられる前記ノードの候補の数である第2の値とを計算し、
     前記抑制部は、前記第1の値の和が大きく、かつ、前記第2の値の和が小さくなる中継ノードを決定することを特徴とする情報構造化システム。
  3.  請求項1に記載の情報構造化システムであって、
     前記候補列挙部は、前記探された中継ノードと前記ノードとの時間的な関係性を用いて前記ノードの候補を決定することを特徴とする情報構造化システム。
  4.  請求項1に記載の情報構造化システムであって、
     前記候補列挙部は、前記探された中継ノードと前記ノードとの地理的な関係性を用いて前記ノードの候補を決定することを特徴とする情報構造化システム。
  5.  請求項3又は4に記載の情報構造化システムであって、
     前記決定部は、
     前記第1の関係性、前記第2の関係性、前記探された中継ノードと前記ノードとの時間的な関係性及び前記探された中継ノードと前記ノードとの地理的な関係性を用いて、前記ノードの候補のスコアを計算し、
     前記計算されたスコアを用いた前記ノードの決定結果を学習した回帰式を求め、
     前記求められた回帰式を用いてノードを決定することを特徴とする情報構造化システム。
  6.  計算機を用いる情報構造化方法であって、
     前記計算機は、プログラムを実行するプロセッサ、前記プロセッサによって実行されるプログラムを格納するメモリ、及び識別情報が付与された名詞であるノードを格納するデータベースを有し、
     前記方法は、
     文書から名詞を抽出し、前記抽出された名詞と前記データベースに格納されたノードとを対応付けることによって、前記抽出された名詞にノードを対応付ける抽出ステップと、
     前記抽出された名詞に複数のノードの候補が対応付けられる場合、識別情報が特定された名詞と前記ノードの候補とを繋ぐ中継ノードを探す候補列挙ステップと、
     前記探された中継ノードと前記識別情報が特定された名詞との第1の関係性及び前記探された中継ノードと前記ノードの候補との第2の関係性を計算する計算ステップと、
     前記第1の関係性が大きく、かつ、前記第2の関係性が小さくなる中継ノードを決定する抑制ステップと、
     前記決定された中継ノードと関連付けられたノードの候補を用いて、前記抽出された名詞に対応するノードを決定する決定ステップと、を含むことを特徴とする情報構造化方法。
  7.  請求項6に記載の情報構造化方法であって、
     前記計算ステップでは、前記探された中継ノードと関連付けられる前記識別情報が特定された名詞の数である第1の値と、前記中継ノードと関連付けられる前記ノードの候補の数である第2の値とを計算し、
     前記抑制ステップでは、前記第1の値の和が大きく、かつ、前記第2の値の和が小さくなる中継ノードを決定することを特徴とする情報構造化方法。
  8.  請求項6に記載の情報構造化方法であって、
     前記候補列挙ステップでは、前記探された中継ノードと前記ノードとの時間的な関係性を用いて前記ノードの候補を決定することを特徴とする情報構造化方法。
  9.  請求項6に記載の情報構造化方法であって、
     前記候補列挙ステップでは、前記探された中継ノードと前記ノードとの地理的な関係性を用いて前記ノードの候補を決定することを特徴とする情報構造化方法。
  10.  請求項8又は9に記載の情報構造化方法であって、
     前記決定ステップでは、
     前記第1の関係性、前記第2の関係性、前記探された中継ノードと前記ノードとの時間的な関係性及び前記探された中継ノードと前記ノードとの地理的な関係性を用いて、前記ノードの候補のスコアを計算し、
     前記計算されたスコアを用いた前記ノードの決定結果を学習した回帰式を求め、
     前記求められた回帰式を用いてノードを決定することを特徴とする情報構造化方法。
PCT/JP2014/053763 2014-02-18 2014-02-18 情報構造化システム及び情報構造化方法 WO2015125209A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016503804A JP6145562B2 (ja) 2014-02-18 2014-02-18 情報構造化システム及び情報構造化方法
PCT/JP2014/053763 WO2015125209A1 (ja) 2014-02-18 2014-02-18 情報構造化システム及び情報構造化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2014/053763 WO2015125209A1 (ja) 2014-02-18 2014-02-18 情報構造化システム及び情報構造化方法

Publications (1)

Publication Number Publication Date
WO2015125209A1 true WO2015125209A1 (ja) 2015-08-27

Family

ID=53877750

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2014/053763 WO2015125209A1 (ja) 2014-02-18 2014-02-18 情報構造化システム及び情報構造化方法

Country Status (2)

Country Link
JP (1) JP6145562B2 (ja)
WO (1) WO2015125209A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106649550A (zh) * 2016-10-28 2017-05-10 浙江大学 一种基于代价敏感学习的联合知识嵌入方法
WO2021159762A1 (zh) * 2020-09-08 2021-08-19 平安科技(深圳)有限公司 数据关系抽取方法、装置、电子设备及存储介质
JP2021197138A (ja) * 2020-06-09 2021-12-27 ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド エンティティ・リンキング方法、装置、機器、及び記憶媒体

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000057152A (ja) * 1998-08-06 2000-02-25 Fuji Xerox Co Ltd 文書関連付け装置、文書閲覧装置、文書関連付けプログラムを記録したコンピュータ読み取り可能な記録媒体及び文書閲覧プログラムを記録したコンピュータ読み取り可能な記録媒体
JP2011034583A (ja) * 2004-06-30 2011-02-17 Google Inc ユーザ情報及びコンテキストに基づいて自動的に生成されるリンクを用いる高品質なドキュメント・ブラウジング
JP2013003669A (ja) * 2011-06-13 2013-01-07 Nippon Telegr & Teleph Corp <Ntt> グラフ構造を有するデータから頻度の高い部分構造を抽出する方法、その装置およびプログラム
JP2013054602A (ja) * 2011-09-05 2013-03-21 Nippon Telegr & Teleph Corp <Ntt> グラフパターンマッチングシステムおよびグラフパターンマッチング方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000057152A (ja) * 1998-08-06 2000-02-25 Fuji Xerox Co Ltd 文書関連付け装置、文書閲覧装置、文書関連付けプログラムを記録したコンピュータ読み取り可能な記録媒体及び文書閲覧プログラムを記録したコンピュータ読み取り可能な記録媒体
JP2011034583A (ja) * 2004-06-30 2011-02-17 Google Inc ユーザ情報及びコンテキストに基づいて自動的に生成されるリンクを用いる高品質なドキュメント・ブラウジング
JP2013003669A (ja) * 2011-06-13 2013-01-07 Nippon Telegr & Teleph Corp <Ntt> グラフ構造を有するデータから頻度の高い部分構造を抽出する方法、その装置およびプログラム
JP2013054602A (ja) * 2011-09-05 2013-03-21 Nippon Telegr & Teleph Corp <Ntt> グラフパターンマッチングシステムおよびグラフパターンマッチング方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106649550A (zh) * 2016-10-28 2017-05-10 浙江大学 一种基于代价敏感学习的联合知识嵌入方法
CN106649550B (zh) * 2016-10-28 2019-07-05 浙江大学 一种基于代价敏感学习的联合知识嵌入方法
JP2021197138A (ja) * 2020-06-09 2021-12-27 ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド エンティティ・リンキング方法、装置、機器、及び記憶媒体
JP7317791B2 (ja) 2020-06-09 2023-07-31 ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド エンティティ・リンキング方法、装置、機器、及び記憶媒体
US11727216B2 (en) 2020-06-09 2023-08-15 Beijing Baidu Netcom Science And Technology Co., Ltd. Method, apparatus, device, and storage medium for linking entity
WO2021159762A1 (zh) * 2020-09-08 2021-08-19 平安科技(深圳)有限公司 数据关系抽取方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
JPWO2015125209A1 (ja) 2017-03-30
JP6145562B2 (ja) 2017-06-14

Similar Documents

Publication Publication Date Title
US10725836B2 (en) Intent-based organisation of APIs
US9239875B2 (en) Method for disambiguated features in unstructured text
Alami et al. Unsupervised neural networks for automatic Arabic text summarization using document clustering and topic modeling
US10353925B2 (en) Document classification device, document classification method, and computer readable medium
JP5710581B2 (ja) 質問応答装置、方法、及びプログラム
TWI656450B (zh) 從中文語料庫提取知識的方法和系統
US8825620B1 (en) Behavioral word segmentation for use in processing search queries
KR20130056207A (ko) 관계 정보 확장 장치, 관계 정보 확장 방법, 및 프로그램
JP6663826B2 (ja) 計算機及び応答の生成方法
KR102046692B1 (ko) 다언어 특질 투영된 개체 공간 기반 개체 요약본 생성 방법 및 시스템
Panda Developing an efficient text pre-processing method with sparse generative Naive Bayes for text mining
JP2021136027A (ja) 文書のテーマ・カバレッジの分析
US10198497B2 (en) Search term clustering
KR20190118744A (ko) 딥러닝 기반의 지식 구조 생성 방법을 활용한 의료 문헌 구절 검색 방법 및 시스템
JP5250009B2 (ja) サジェスチョンクエリ抽出装置及び方法、並びにプログラム
JP6145562B2 (ja) 情報構造化システム及び情報構造化方法
Li et al. A probabilistic topic-based ranking framework for location-sensitive domain information retrieval
JP5362807B2 (ja) ドキュメントランク付け方法および装置
JP2013222418A (ja) パッセージ分割方法、装置、及びプログラム
Shi et al. Story disambiguation: Tracking evolving news stories across news and social streams
Xu et al. Paraphrase for open question answering: New dataset and methods
Plum et al. Toponym detection in the bio-medical domain: A hybrid approach with deep learning
Lu et al. Improving web search relevance with semantic features
JP2019164577A (ja) 情報処理装置、情報処理方法及びプログラム
JP2024025854A (ja) 検索装置、固有表現抽出装置、およびプログラム

Legal Events

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

Ref document number: 14882996

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2016503804

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: 14882996

Country of ref document: EP

Kind code of ref document: A1