WO2015093541A1 - シナリオ生成装置、及びそのためのコンピュータプログラム - Google Patents

シナリオ生成装置、及びそのためのコンピュータプログラム Download PDF

Info

Publication number
WO2015093541A1
WO2015093541A1 PCT/JP2014/083454 JP2014083454W WO2015093541A1 WO 2015093541 A1 WO2015093541 A1 WO 2015093541A1 JP 2014083454 W JP2014083454 W JP 2014083454W WO 2015093541 A1 WO2015093541 A1 WO 2015093541A1
Authority
WO
WIPO (PCT)
Prior art keywords
phrase
pair
causal
noun
template
Prior art date
Application number
PCT/JP2014/083454
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 EP14870811.8A priority Critical patent/EP3086239A4/en
Priority to US15/104,882 priority patent/US10437867B2/en
Priority to CN201480069245.8A priority patent/CN105830064B/zh
Publication of WO2015093541A1 publication Critical patent/WO2015093541A1/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/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • 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/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3344Query execution using natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking

Definitions

  • the present invention relates to a technique for generating information consisting of a chain of causal relationships that considers all risks and opportunities from information described in a large number of documents in a range that exceeds the information described in those documents.
  • a computer is a powerful tool for reinforcing individual abilities. For example, the ability of an individual to store information is far from a computer.
  • Advanced natural language processing technology has also been developed.
  • a question answering system that makes full use of such information storage ability and natural language processing technology has also been realized, and it is possible to provide correct answers to natural language questions with high accuracy.
  • an object of the present invention is to provide a system that collects the basic elements for generating social scenarios that are useful for people to make balanced and appropriate decisions.
  • the scenario generation device includes a phrase pair storage unit that stores a large number of causal relationship phrase pairs, and a phrase pair that can be chained as a causal relationship among the phrase pairs stored in the phrase pair storage unit.
  • Scenario generation means for generating a scenario composed of phrase strings by linking them.
  • Each of a large number of causal relationship phrase pairs includes a causal relationship cause phrase and a result phrase.
  • Each phrase includes a noun and a predicate template that follows the noun.
  • the scenario generation means searches the phrase pair storage means for a causal phrase pair having a cause phrase that is causally consistent with the result phrase of the causal phrase pair for each of a large number of causal phrase pairs.
  • Link information generating means for generating phrase pair link information, link information storing means for storing link information generated by the link information generating means, initial scenario specifying means for specifying an arbitrary phrase pair as an initial scenario, link Using the link information stored in the information storage means, a phrase pair having a cause phrase having causal consistency with the result phrase at the end of the scenario is searched from the phrase pair storage means, and the searched causality at the end of the scenario.
  • a chaining means for chaining related phrase pairs. The chaining means generates a scenario by chaining causal phrase pairs at the end of the scenario until a predetermined end condition is satisfied starting from the initial scenario specified by the initial scenario specifying means.
  • a polarity is assigned to the predicate template in advance, and the chain means searches for phrase pairs having causal consistency from the phrase pair storage means using the polarity of the predicate template included in each phrase.
  • the link information generating means generates a predicate template that is a cause phrase sharing the same noun as the result phrase of the cause-and-effect phrase pair and has the same polarity for each of the many cause-and-effect phrase pairs. It includes a means for searching for a causal phrase pair having a causal phrase in the phrase pair storage means and generating connection information from the original causal phrase pair to the searched causal phrase pair.
  • the link information generation means shares a noun that is identical to the result phrase of the causal phrase pair for each of a large number of causal phrase pairs, and has a cause phrase having the same evaluation polarity of the entire phrase.
  • the link information generating means is the same as the distribution phrase storage means for storing the distribution similarity of the predicate template in the corpus and the result phrase of the causal relation phrase pair for each of the many causal phrase pairs.
  • a causal phrase pair that shares a characteristic noun and has a causal phrase whose distribution similarity in the predicate template is equal to or greater than a threshold is searched in the phrase pair storage means, Means for generating connection information from the causal phrase pairs of.
  • the linked information generating means further includes a word pair storage means for storing word pairs composed of first and second words having a predetermined semantic relationship with each other in order of the first and second words, and a word For each word pair stored in the pair storage means, link information for linking the causal phrase pair having the second word of the word pair to the causal phrase pair having the first word of the word pair is generated. Means for doing so may be included.
  • the computer program according to the second aspect of the present invention is a computer program that causes a computer to function as all means of any one of the scenario generation devices described above.
  • FIG. 1 It is a block diagram of the social scenario generation system which concerns on the 1st Embodiment of this invention. It is a more detailed block diagram of the simple predicate template collection part shown in FIG. It is a figure which shows typically the structure of the template network regarding a simple predicate template. It is a flowchart which shows the control structure of the program which implement
  • FIG. 20 It is a block diagram which shows the functional structure of the social scenario ranking part in the 2nd Embodiment of this invention. It is a flowchart which shows the control structure of the program for implement
  • a predicate template is an element of a sentence that constitutes a causal relationship.
  • predicate templates are classified into simple predicate templates and complex predicate templates.
  • the simple predicate template and the complex predicate template are collectively referred to as a predicate template.
  • the predicate template is given polarity as will be described later.
  • ⁇ Simple predicate template In Japanese, a combination of a particle and a predicate such as a combination of a particle and a predicate (eg, ⁇ , eat>) is called a “simple predicate template”. For example, “Proceeds”, “Prevents”, “Appears”, and the like. In this case, in the sentence, the subject of the predicate, the object, etc. are arranged immediately before the particle constituting the simple predicate template.
  • ⁇ Complex predicate template In the case of Japanese, a combination of the particle “no”, one noun, and a simple predicate template is called a “complex predicate template”.
  • the nouns are so-called “sain nouns”, “trouble nouns” as described later, and quantity nouns. For example, “Decrease progresses”, “Prevents suppression”, “Prevents accidents”, “Disadvantages of”, “Increases number of units”, etc.
  • a phrase is a character string having the form of a noun + predicate template. Phrases are thought to express one coherent thing.
  • causal relationship In the present embodiment, the causal relationship is composed of a set of a phrase (cause phrase) that describes a causal matter and a phrase (result phrase) that describes the resulting matter.
  • predicate Template Polarity predicate templates that appear in text that is input to the entire system are classified into three types shown in Table 1 below.
  • the above predicate templates are automatically classified from the text including the predicate template. At that time, a positive active value is assigned to the active predicate template, and a negative active value is assigned to the inactive predicate template.
  • the specific method of calculating the activity value differs between the simple predicate template and the complex predicate template, which will be described later.
  • a neutral verb means an absolute value of an activity value obtained as a result of calculation that is below a certain threshold value.
  • both of the above-mentioned classification relating to “activity”, “inactivity”, and “neutral” and the activity value assigned to each predicate template are collectively referred to as “polarity” of the predicate template.
  • the following table 3 shows examples of these relationships.
  • the noun pair ⁇ earthquake, tsunami> has a positive causal relationship
  • ⁇ anticancer drug, cancer> has a negative causal relationship.
  • an expression consisting of two simple predicate templates, such as the above-described text, that is, each connected to a noun and connected to each other by a conjunctive conjunction, etc. is obtained from a corpus such as the Internet. Collect in large quantities.
  • a network of simple predicate templates is created by linking between these simple predicate templates and between simple predicate template pairs having synonym / entailment relationships. As described above, information about whether the polarities of the simple predicate templates are the same is given to the link as an attribute.
  • An activity value of +1 or ⁇ 1 is manually assigned to a small number of simple predicate templates on the network in advance.
  • Non-Patent Document 1 for a method of calculating the activity value.
  • activity value assignment algorithm described below is merely an example, and there may be other methods for obtaining a specific activity value based on an energy function considering the linguistic constraints.
  • the activity is expressed as +1
  • the inactivity is expressed as ⁇ 1
  • the product of the activities of the nouns and simple predicates constituting the complex predicate template is regarded as the polarity of the complex predicate template.
  • the determination can be made without preparing information indicating the polarity in advance for each noun as follows. However, care must be taken to determine these polarities as described below.
  • the polarity of the Sabun noun is determined from the simple predicate template as follows. That is, for the sa variable noun, basically, the polarity of the simple predicate template corresponding to the sa variable noun is given.
  • a simple predicate template corresponding to a sa variable noun is one that starts with the particle + sa variable noun when the particle existing immediately before the sa variable noun is “ha, wo, ga, ni, de”. . For example, for “decrease”, if the immediately preceding particle is “ga”, the corresponding simple predicate template will be “decrease” (inactive), and if “in”, “decrease” (inactive), In either case, it is inactive.
  • the “decreasing” polarity is inactive.
  • the case of “suppression” is somewhat complicated. For example, if the particle immediately before “suppression” is “ga” in the complex template, the corresponding simple predicate template is “inhibit” (active), and the polarity of “inhibition” is active. However, if the immediately preceding particle is “O”, the corresponding simple predicate template is “inhibit” (inactive), and the polarity of “inhibition” is inactive. Therefore, it is necessary to determine what kind of particles should be adopted as simple predicate templates for the sao nouns in complex predicates according to the context. In order to determine this, information about the context in which the complex predicate template is used is required. The polarity of the complex predicate template cannot be determined only by the complex predicate template.
  • the complex predicate template is in the form of "noun +" no "+ ⁇ sa variable noun
  • the polarity of the saun noun can be determined as follows. First, on the corpus for each particle, the frequency of the noun existing immediately before the noun immediately before the sa variable noun (such as “no”) co-occurs with the verb of the sa variable noun (sa variable noun) and the case particle. Investigate. As a result, it is possible to know what a case particle co-occurs most frequently with a combination of a specific noun and a specific sub-variable.
  • the combination of the case particle and the sub-variable is a simple predicate template, its polarity can be easily determined.
  • the polarity of the complex predicate template may be used.
  • a case particle that connects between the noun that appears immediately before the sa variable noun and the sa variable obtained from the sa variable noun is determined.
  • the polarity of the original sa variable noun can be determined from the polarity.
  • the simple predicate template corresponding to sa variant nouns is context-dependent, for each combination of noun and sa variant noun, the most frequently used case particle on the corpus is connected in advance. Investigate. Then, in the simple predicate template, a simple predicate template having the case particle at the head and having the sa variable obtained from the sa variable noun is searched for, and the polarity is set as the polarity of the sa variable noun. This polarity is stored in the dictionary for each combination of noun and sub-variable.
  • ⁇ Trouble noun ⁇ In the case of a trouble noun, if the noun taken before the noun can be interpreted as a victim (thing) of the trouble, it is determined to be inactive, and otherwise it is determined to be active. For example, there are the following. In the following example, “accident” and “dirt” are trouble nouns.
  • a pattern dictionary for determining polarity is provided for each combination of a trouble noun and a noun that co-occurs with a case before the trouble noun.
  • the polarity of the trouble noun is determined in advance for each combination of the trouble noun, the immediately preceding “no” case noun, and the pattern in which they co-occur.
  • the polarity of the trouble noun is determined by checking what kind of pattern the specific combination of the noun appearing in the case and the trouble noun actually co-occurs in the corpus.
  • connection particle “...” Listed above does not always represent a causal relationship.
  • “... te” expresses something other than causality.
  • ... te expresses something other than causality.
  • such phrase pairs that are not causal relationships are well excluded, and only causal relationships can be obtained with high accuracy.
  • Japanese conjunctions that may represent a causal relationship include "so", “because”, “... so”, “... ba”, “... to”, “?””In”,”...From”,”...To”,”...To” and so on.
  • the causal relationship between phrases can be obtained with high accuracy by considering the above constraints.
  • a causal relationship for example, it can be predicted that there is a possibility of being hit by a tsunami from information that “an earthquake has occurred”.
  • the causal relationship acquired in this way is a big factor for a very important technique of automatically acquiring a semantic relationship between phrases.
  • material relations can be automatically obtained by acquiring semantic relations between nouns based on patterns (existing technology can be used for this) from the base text. That is, the relationship between the product B and the material A can be automatically acquired by a pattern such as “Make B with A”. As a result of this automatic acquisition, it is assumed that information that the material of the product “carbide tool” is “tungsten” can be acquired.
  • a predicate template that frequently co-occurs with a pair of nouns that have been found to have this material relationship that is, a pair of nouns consisting of “carbide tool” and “tungsten”, and the activity values of each other. Is selected so that the product of is positive and the absolute value of the activity value is large.
  • Each selected predicate template is aligned with a pair of nouns. Then, for example, between a verb phrase consisting of a predicate (verb) and a noun, such as “import tungsten (active value positive) and manufacture a cemented carbide tool (active value positive)”. ) Causal relationship can be acquired. The causal relationship here is that "importing tungsten” is for “manufacturing carbide tools”.
  • a causal relationship hypothesis is generated using the following two methods.
  • the semantic relationship includes the following, for example.
  • -Material relations (example: ⁇ produce B with A>, (corn, biofuel), etc.) -Necessary relationship (Example: ⁇ A is essential for B>, (Nikko, photosynthesis), etc.) -Usage relationship (eg: ⁇ use A for B>, (iPS cells, regenerative medicine), etc.) -Prevention relations (eg ⁇ Prevent B with A>, (Vaccine, Influenza), etc.) -Causal relationship (eg ⁇ A causes B>, (diabetes, stroke), etc.) Such a semantic relationship can be automatically acquired as described later.
  • the hypothesis generation as described above starts only from information described in a simple and frequent pattern such as “making a carbide tool from tungsten” at the beginning.
  • information on the activity / inactivity of the predicate template is extracted from a text having no relationship with the carbide tool or tungsten.
  • a causal hypothesis is generated.
  • the only reference to the cemented carbide tool and tungsten in the input text is the expression “make the cemented carbide tool from tungsten”, it is possible to generate a hypothesis as described above.
  • this technology has a wide range of applications and becomes a core technology for advanced use of information.
  • a large number of causal relationships can be acquired by the techniques (A) and (B) described above.
  • pairs of predicate templates that frequently appear in the expression of the causal relationships can be acquired. For example, it is assumed that many pairs of predicate templates “has occurred” and “attacked” appear in the causal relationship in the database.
  • Such a predicate template represents a causal relationship when the “distance” is close, such as the number of sentences, the number of words, or the number of characters between each other, even if they appear across the sentence (in another sentence) in the text. Probability is high.
  • the first embodiment uses a phrase pair extraction technique and a hypothesis generation technique as described above to collect causal phrase pairs and further link them to create a social network.
  • the present invention relates to a technique for generating a scenario.
  • the second embodiment is a modification of the first embodiment and relates to a scoring technique for social scenario candidates.
  • the social scenario generation system 30 includes a simple predicate template (this is referred to as a “seed template”) that is the core of the template network construction among the predicate templates described above. ”), A conjunction DB 34 for storing the conjunctive and reverse conjunctions, etc. that connect the predicate templates, a document collected from the seed template DB 32, the conjunction DB 34, and the Internet 40.
  • seed template this is referred to as a “seed template”
  • a conjunction DB 34 for storing the conjunctive and reverse conjunctions, etc. that connect the predicate templates, a document collected from the seed template DB 32, the conjunction DB 34, and the Internet 40.
  • a large number of causal phrase pairs that are related to the cause and result of two phrases linked by a conjunction stored in the conjunction DB 34 are obtained from the WEB archive 44 that is a corpus of Based on various knowledge, it is expanded and linked to social systems
  • the social scenario DB construction device 36 for generating Rio the social scenario DB 38 for storing the social scenario generated by the social scenario DB construction device 36, and the social scenario stored in the social scenario DB 38 from the outside
  • a social scenario output unit 48 that processes and outputs it according to requirements.
  • the social scenario generation system 30 generates a social scenario using a document on the WEB stored in the WEB archive 44.
  • the WEB archive 44 is composed of WEB documents collected by the WEB crawler 42 from the Internet 40.
  • social scenario DB construction apparatus 36 is connected to seed template DB 32, conjunction DB 34, and WEB archive 44, collects a large number of phrase pairs from WEB archive 44, and generates a large number of simple predicate templates from them.
  • a simple predicate template collection unit 60 for constructing a simple predicate template DB 62 and a simple predicate template DB 62 constructed by the simple predicate template collection unit 60, and a complex predicate template for acquiring a complex predicate template from the WEB archive 44.
  • a predicate template collection unit 64 The simple predicate templates stored in the seed template DB 32 are given a positive or negative activation value in advance according to the activation / inactivation of the templates. At the beginning of the process described below, these values are +1 and ⁇ 1, respectively.
  • the social scenario DB construction device 36 further stores a complex predicate template DB 66 that stores the complex predicate templates collected by the complex predicate template collection unit 64, and a complex predicate template and word class DB 46 that are stored in the complex predicate template DB 66.
  • a causal relationship phrase pair collection unit 68 that collects two phrase pairs having a cause and effect relationship with each other from the WEB archive 44 using the class information regarding each word, and the causal relationship collected by the causal relationship phrase pair collection unit 68 The causal relationship is linked by referring to the causal relationship phrase pair DB 70 for storing the phrase pair, the causal relationship phrase pair stored in the causal relationship phrase pair DB 70, the document stored in the WEB archive 44, and the word class DB 46.
  • Social scenario And a social scenario generation unit 72 for number generator.
  • the word class information is information representing a class (word class) to which the word belongs, and is usually a set of a word and a class identifier representing the class to which the word belongs.
  • a word class refers to a set of semantically similar words (semantic class) in the present embodiment.
  • As a method of automatically acquiring a word class there is a method of using a frequency at which a word co-occurs with the same verb and setting a word having a co-occurrence frequency (or co-occurrence ratio) equal to or higher than a threshold as the same class.
  • the frequency at which words co-occur with the same verb and particle combinations may be used.
  • simple predicate template collection unit 60 is connected to seed template DB 32 and conjunction DB 34, and all simple predicate templates stored in seed template DB 32, all conjunctions stored in conjunction DB 34, and the like.
  • an initial template pair generation unit 90 that generates all combinations in which two simple predicate templates are connected by a conjunction and the like, and a pair of simple predicate templates generated by the initial template pair generation unit 90 And an initial template pair DB 92.
  • An example of a simple predicate template pair generated by the initial template pair generation unit 90 is shown in Table 5 below.
  • the simple predicate template collection unit 60 further includes, for each of the simple predicate template pairs stored in the initial template pair DB 92, a noun pair collection unit 94 for collecting from the WEB archive 44 a noun pair co-occurring with the pair,
  • the noun pair DB 96 for storing the noun pairs collected by the noun pair collection unit 94 and the relationship between the nouns connected to the noun pair DB 96 and stored in the noun pair DB 96 are shown in FIG.
  • the noun pair polarity determination unit 98 determines the relationship between nouns constituting the noun pair according to the method shown in Table 6 below.
  • For each of the simple predicate template pairs stored in the DB 102 and the template pair DB 102 it is determined whether the simple predicate template constituting the simple predicate template pair has the same activity / inactivity (matching). Judgment is made based on the relationship between the predicate template pair and the noun pair that co-occurs (positive / negative) and the conjuncts connecting the simple predicate templates are forward or reverse, and tags each simple predicate template pair with the result Template activity match determination unit 104 for providing .
  • the simple predicate template collection unit 60 further determines the simple predicate template pair stored in the template pair DB 102 and its match determination. Based on the result, a template network construction unit 106 for constructing a network between simple predicate templates, a template network
  • the token construction unit 106 includes a synonym / entailment relation dictionary 108 used to add a link between simple predicate templates when a network is constructed. This network is referred to herein as a “template network”.
  • the template network 140 includes a plurality of nodes each corresponding to one simple predicate template and links defined between the nodes.
  • the link is extended between nodes corresponding to the simple predicate template for which the match determination shown by the table 6 is performed.
  • Each link is assigned the attribute of the same polarity or opposite polarity according to the result of match determination between the simple predicate templates of the nodes at both ends thereof (Table 6).
  • links to which the same polarity is assigned are indicated by solid lines, and links to which the opposite polarity is assigned are indicated by dotted lines.
  • the activity value of each simple predicate template is calculated using this link.
  • seed templates stored in the seed template DB 32 (for example, nodes such as “cause”, “generate”, and “suppress”) in FIG. 3) Is manually given a value of +1 or -1.
  • the active value of each node is calculated using these values and the link between the nodes and the attribute of the link. Specific contents of the calculation method will be described later.
  • simple predicate template collection unit 60 is further connected to template network construction unit 106, and template network DB 110 for storing template network 140 constructed by template network construction unit 106, and template network
  • template network DB 110 for storing template network 140 constructed by template network construction unit 106, and template network
  • the activation value of each node is calculated based on the activation value of +1 or ⁇ 1 previously attached to the seed template.
  • a template activity value calculator 112 for assigning these activity values to the simple predicate template) and each node (simple predicate template) of the template network 140 stored in the template network DB 110.
  • a high activity template extraction unit 114 for extracting only those having a large absolute value of activity values calculated by the template activity value calculation unit 112 and constructing a simple predicate template DB 62 from the extracted simple predicate template; and a template DB
  • a seed template update unit 118 for updating the seed template DB 32 using the simple predicate template stored in the predicate template DB 62 as a new seed template and causing the simple predicate template collection unit 60 to execute the template DB construction process again.
  • the end determination unit 116 determines that the end condition is satisfied, the operation of the simple predicate template collection unit 60 ends, and the complex predicate template collection unit 64 is activated.
  • each part of the social scenario generation system 30 can be realized by computer hardware and a computer program executed by the computer hardware.
  • Typical examples of simple predicate template pairs generated by the initial template pair generation unit 90 are “cause (noun 1)” “so” “generate (noun 2)”.
  • the noun pair collection unit 94 performs the following processing.
  • a combination of the above simple predicate template pair + conjunction and the like and a noun pair that co-occurs in one sentence can be considered.
  • Such noun pairs are classified into those having a positive relationship with each other and those having a negative relationship with each other as exemplified below. Whether the noun pair is positive / negative is determined by the combination of the activity / inactivity of the simple predicate template pair co-occurring with the noun pair and the conjunction as shown in Table 8.
  • the template pair collection unit 100 performs the following processing. Consider a noun pair determined by the noun pair polarity determination unit 98 to appear on the WEB archive 44 only as a positive relationship. Among them, the template pair collection unit 100 leaves only noun pairs whose appearance frequency is a predetermined number of times or more as positive relational noun pairs. Similarly, for noun pairs that appear on the WEB archive 44 only as a negative relationship, only noun pairs whose number of appearances is a predetermined number or more are left as negative related noun pairs.
  • the predetermined number of times as the threshold value may be different or the same when selecting a positive relational noun pair and when selecting a negative relational noun pair.
  • the template activity match determination unit 104 uses the simple predicate template pair that co-occurs in one sentence with the remaining noun pairs of positive / negative relations + conjunctions, etc., according to the determination method based on the following table 9, and The activity / inactivity is classified into the same (match) and the opposite (opposite). At this time, some simple predicate template pairs may appear in the WEB archive 44 with the same activity of the simple predicate template or appear in the opposite activity. For these, the number of appearances of the matching and the opposite are compared and determined by majority vote.
  • the program for realizing template network construction unit 106 shown in FIG. 2 stores simple predicate template pairs in template pair DB 102, and template active match determination unit 104 determines each simple predicate template pair. Fires when liveness match determination ends.
  • This program secures a predetermined storage area on the memory, assigns an initial value to an area for a predetermined variable among the storage areas, and constructs an initial empty template network 140.
  • step 152 for executing processing 154 on all simple predicate template pairs stored in the template pair DB 102.
  • the process 154 is for performing a process of adding simple predicate templates constituting the simple predicate template pair and a link between them to the template network 140.
  • step 150 it is assumed that an empty network is constructed in advance as the template network 140.
  • the process 154 determines, for each simple predicate template included in the simple predicate template pair to be processed, whether or not the corresponding node exists in the template network 140, that is, whether or not the node should be added to the template network 140.
  • Step 180 and Step 182 that is executed when the determination in Step 180 is affirmative and adds a node (one or two) determined to be added to the template network 140 to the template network 140;
  • Steps 184 executed after steps 180 and 182 to determine whether or not there is already an identical link between nodes corresponding to the simple predicate template pair to be processed, and when the determination in step 184 is negative, Template net with link And a step 186 to end the process 154 performs a process of adding to the over click 140. Even when the determination in step 184 is affirmative, the execution of the process 154 for the simple predicate template pair is terminated.
  • the program that implements the template network construction unit 106 further adds a link to the constructed template network 140 by referring to the synonym / entailment relation dictionary 108 after the completion of the processing in step 152, and In the template network 140 obtained as a result, a step 166 of deleting a node whose number of links with other nodes is equal to or less than a predetermined threshold value, and the number of nodes to which each node is linked is determined. And a step 168 of calculating a weight (a calculation method will be described later) and assigning it to each link to end the processing.
  • the program (routine) executed in step 164 of FIG. 4 executes the following process 202 for all pairs of nodes that do not have a link among the nodes in template network 140. Step 200 is included.
  • the process 202 determines whether or not there is a specific relationship between the node pairs to be processed, and “identical” between the node pairs to be processed when the determination in step 210 is affirmative. And the step 212 of ending the process 202 by adding a link having the attribute ".” If the determination in step 210 is negative, the process 202 is also terminated. In this determination regarding whether or not there is a specific relationship, as shown in Table 10 below, the grammatical information of the verb and the synonyms / implications of the words stored in the synonym / implication relationship dictionary 108 shown in FIG. Relationship is used.
  • step 168 the weight of each link is calculated. If the weight given to the link between simple predicate template i and simple predicate template j is w ij , weight w ij is It is calculated by the following formula (1).
  • d (i) indicates the number of simple predicate templates linked to the simple predicate template i.
  • SAME (i, j) indicates that the “match” attribute is attached to the link between the simple predicate template i and the simple predicate template j.
  • OPPOSITE (i, j) indicates that the “opposite” attribute is attached to the link between the simple predicate template i and the simple predicate template j. That is, if the matching attribute is assigned to the simple predicate template i and the simple predicate template j, the weight is a positive value, and if the opposite attribute is assigned, the sign of the weight is reversed and becomes negative.
  • the template activation value calculation unit 112 shown in FIG. 2 calculates the activation value of each node for each node of the template network 140 stored in the template network DB 110 by the method described below.
  • the computer program for realizing template activity value calculation unit 112 starts executing in response to template network 140 being stored in template network DB 110 and each link being weighted.
  • This program uses the activation values (+1 for the active seed template and -1 for the inactive seed template) previously assigned to the nodes corresponding to the seed template among the nodes in the template network 140. ), And a predetermined initial value is set in other nodes.
  • the value E (x, W) defined by the following equation is optimized (here, minimized) ) To estimate the activity value of each node.
  • x i and x j are the signed activity values of simple predicate templates i and j
  • x is a vector composed of these activity values
  • W is a matrix composed of link weights w ij , respectively.
  • This value E is similar to the calculation formula of the electron spin energy in quantum mechanics, and can be performed in the same manner as the calculation of energy minimization in quantum mechanics.
  • the value of x i x j tends to be a positive value when the polarities of x i and x j are the same, and a negative value when they are different, after the energy minimization calculation.
  • Equation (2) since there is a coefficient “ ⁇ 1/2” before sigma, the value of E (x, W) is minimized by maximizing the sigma.
  • the complex predicate template collection unit 64 shown in FIG. 1 is for generating a complex predicate template DB 66 from the simple predicate template DB 62 and the WEB archive 44.
  • the complex predicate template collection unit 64 extracts candidates for complex predicate templates from the WEB archive 44 while referring to the target noun dictionary 260 storing the nouns that are targets of the complex predicate templates, the simple predicate template DB 62, and the target noun dictionary 260.
  • a complex predicate template candidate extraction unit 268 for classifying them into a variable noun template, a quantity noun template, and a trouble noun template according to the noun part.
  • the complex predicate template candidate extraction unit 268 is realized by a computer program. The configuration will be described later with reference to FIG.
  • the complex predicate template collection unit 64 is constructed by determining the polarity of the S-variable noun that appears in the WEB archive 44 in advance. If the polarity of the S-variable noun is determined, the polarity of the S-variable noun depends on the context.
  • a paranoun polarity determination unit 264 that outputs a value indicating context dependency
  • a paranoun polarity dictionary 262 that stores the polarity value output by the sub-noun polarity determination unit 264 together with the sa variable noun
  • a complex predicate template candidate extraction unit 268 a variable noun template candidate DB 270 for storing complex noun template candidate DB 270 classified by 268, a quantity noun template candidate DB 272 for storing quantity noun template candidates, and a complex predicate template candidate including trouble nouns.
  • trouble noun template candidate DB 274 When the polarity of the variable noun depends on the context, information indicating it is given to the complex predicate template, and the polarity of the variable noun is determined according to the context in which the complex predicate template actually appears.
  • the complex predicate template collection unit 64 further adds information indicating that the polarity or polarity is context-dependent with reference to the sa-variable noun polarity dictionary 262 to the sa-changing noun template candidate sa-noun stored in the sa-noun template candidate DB 270.
  • a trouble noun polarity determination dictionary 266 that stores in advance a pattern for determining the polarity of the stored trouble noun.
  • the polarity of the trouble noun may be predetermined or may depend on the context.
  • the trouble noun polarity determination dictionary 266 is configured to output the polarity of the trouble noun when the polarity of the trouble noun is determined in advance, and to output information indicating the polarity depending on the context.
  • the complex predicate template collection unit 64 further indicates that each trouble noun of the trouble noun template candidate stored in the trouble noun template candidate DB 274 has a polarity or a polarity that is context-dependent with reference to the trouble noun polarity determination dictionary 266.
  • the noun polarity assigning unit 280 for giving information to be shown, the polarity of the noun polarity assigning unit 276, the noun polarity assigning unit 278, and the noun polarity assigning unit 280 for the complex nouns are output as the polarities of those nouns.
  • a complex predicate template polarity calculation unit 282 that calculates and assigns the product as the product of the polarity of the simple predicate template and accumulates it in the complex predicate template DB 66.
  • the complex predicate template polarity calculation unit 282 has a value indicating that the polarity of the variable noun of the complex variable noun complex predicate template candidate given from the complex variable noun polarity assigning unit 276 is context dependent, Output with a tag indicating that the polarity is context dependent. Therefore, in this case, the polarity of the complex predicate template itself is not determined. The same applies to trouble nouns.
  • the computer program for realizing complex predicate template candidate extraction unit 268 shown in FIG. 7 has the following control structure. That is, this program includes a step 300 of repeating the following processing for all the texts of all documents stored in the WEB archive 44. The processing repeated in step 300 includes step 302 for performing morpheme analysis on the target sentence and outputting a morpheme string, and performing dependency analysis on the morpheme string obtained in step 302 to obtain a dependency tree. A step 304 for outputting and a step 306 for executing the following processing on all nodes included in the dependency tree are included.
  • step 306 is one of the target nouns (sa variable noun, quantity noun or trouble noun) whose morpheme of the node is stored in the target noun dictionary 260 shown in FIG. If the result is negative, step 308 moves the process to the next node, and if the determination in step 308 is affirmative, whether the destination of the node is a simple predicate template or not is determined.
  • Step 310 for determining and transferring the process to the next node when the determination result is negative, and the particle at the end of the node related to the node being processed and the processing when the determination at Step 310 is affirmative Are generated in step 312 and step 312 to generate a complex predicate template candidate by combining the clause of the current node (current node) and the simple predicate template of the destination.
  • the complex predicate template candidates are classified according to the type of the target noun (sa variable noun, quantity noun, trouble noun) and stored in the sa noun template candidate DB 270, the quantity noun template candidate DB 272, or the trouble noun template candidate DB 274, and then the process is performed. Step 314 to move to the other node.
  • the program includes a step 340 of executing the following processing for all the sab noun template candidates stored in sab noun template candidate DB 270.
  • Step 340 includes a step 342 for determining whether or not there is only one heading including the complex predicate template candidate sa noun in the sa noun polarity dictionary 262, and when the judgment in step 342 is affirmative, Step 344 in which the polarity shown in the dictionary corresponding to is given to the Sa-changing noun and the process proceeds to the next Sa-changing noun, and when the determination in Step 342 is negative, the polarity of the Sa-changing noun depends on the context And the step 346 which moves to the processing of the next sub-variant noun by giving information indicating that the sub-noun is being processed.
  • trouble noun polarity assigning section 280 shown in FIG. 7 can be realized by a program having the following control structure. This program includes step 370 of executing the following processing for all trouble noun template candidates stored in the trouble noun template candidate DB 274.
  • step 370 The processing executed in step 370 is to determine whether or not there is only one trouble noun heading corresponding to the trouble noun template candidate in the trouble noun polarity determination dictionary 266, and the determination in step 372 is affirmative. If the determination is negative in Step 374 where the polarity described in the heading is assigned to the trouble noun and the next candidate is processed, and the determination in Step 372 is negative, And step 376 in which information indicating dependence is assigned to the trouble noun and the process proceeds to processing of the next trouble noun.
  • the causal phrase pair collection unit 68 shown in FIG. 1 includes a simple predicate template DB 62, a complex predicate template DB 66, a word class DB 46, a noun polarity dictionary 420, a trouble noun polarity determination dictionary 266, and a saun noun.
  • the causal relationship cause phrase and the phrase pair in the relationship of the result phrase are extracted from the WEB archive 44 and stored in the causal relationship phrase pair DB 70.
  • the contradiction expression dictionary 422 is created by collecting simple predicate template pairs composed of simple predicate templates that contradict each other.
  • the causal relationship phrase pair collection unit 68 refers to the simple predicate template DB 62, the complex predicate template DB 66, the noun polarity dictionary 420, the trouble noun polarity determination dictionary 266, and the sa variable noun polarity dictionary 262, from the WEB archive 44.
  • a causal relationship seed pair collecting unit 408 that collects a seed pair that is a phrase pair that forms a relationship and is a source of generating a later causal relationship hypothesis, and a causal relationship that stores the causal relationship seed pair collected by the causal relationship seed pair collecting unit 408 And a seed pair DB 410.
  • the “seed pair” here refers to a phrase pair that actually exists in the WEB archive 44.
  • the causal relationship phrase pair collection unit 68 further includes a semantic relationship pattern DB 400 that stores a semantic relationship pattern prepared in advance, a word pair DB 402 that stores a word pair that satisfies a certain semantic relationship, and a semantic relationship pattern DB 400. And the word pair DB 402, based on the causal relationship seed pair DB 410 stored in the causal relationship seed pair DB 410, the original causality with the word pair satisfying the same semantic relationship as the semantic relationship of the word (noun) pair included in the seed pair By replacing the word pairs in the relationship seed pair, a new causal relationship hypothesis is generated, and by replacing the simple predicate templates in the causal relationship seed pair with their contradictory expressions, a new causal relationship hypothesis is created.
  • the causal relationship hypothesis generation unit 412 that executes the generation process and the causal relationship hypothesis generation unit 412
  • a causal relationship hypothesis DB 416 for storing the causal relationship hypotheses formed, and a causal relationship phrase pair obtained by extracting a valid causal relationship from among a large number of causal relationship hypotheses stored in the causal relationship hypothesis DB 416 and filtering the causal relationship hypotheses.
  • a causal relationship hypothesis filtering unit 418 to be added to the DB 70.
  • the semantic relationship pattern DB 400 and the word pair DB 402 are also prepared in advance by the causal relationship phrase pair collection unit 68 in the present embodiment. Therefore, the causal relationship phrase pair collection unit 68 stores a seed pattern DB 404 that stores a group of specific patterns (this is referred to as a seed pattern), which is a base when extracting the semantic relationship pattern, A word that constructs a semantic relationship pattern DB 400 by extracting a pattern similar to the seed pattern stored in the seed pattern DB 404 from the WEB archive 44 with reference to the word class DB 46, and at the same time satisfies those semantic relationship patterns And a word pair extraction unit 406 for identifying the pair and constructing the word pair DB 402.
  • the seed patterns are classified into separate seed pattern groups representing several semantic relationships as will be described later, and the semantic relationship of word pairs is also classified by seed pattern group.
  • the causal relationship seed pair collection unit 408 can be realized by a computer program. Referring to FIG. 12, this computer program has a phrase pair (“noun + predicate template” (simple predicate template and Including both complex predicate templates))) from the WEB archive 44 and calculating their co-occurrence frequencies as well as each phrase pair collected in step 440 below. Step 442 for executing the processing described.
  • a pair formed by nouns of phrases constituting individual phrase pairs is called a noun pair
  • a pair formed by a predicate template is called a predicate template pair.
  • step 442 includes step 444 for determining whether or not the noun pair in the phrase pair to be processed has a positive relationship. If the determination is affirmative, the polarity of the predicate template pair is further determined. And 446 for determining whether or not they are the same. If the determination in step 446 is negative, the phrase pair is discarded. That is, in this case, nothing is done and the processing proceeds to the next predicate template. If the determination in step 446 is affirmative, the phrase pair is added to the causal relationship seed pair group (step 448).
  • step 444 determines whether the polarities of the template pairs are opposite to each other. If the judgment is negative, discard this phrase pair. If the determination is affirmative, the phrase pair is added to the causal relationship seed pair group (step 448).
  • step 454 is executed for all the causal relationship seed pairs in the causal relationship seed pair group obtained as a result.
  • the processing performed for each causal relationship phrase pair in step 454 is processing for calculating the causal relationship strength score C s (p 1 , p 2 ) by the following equation.
  • s 1 and s 2 are activation values of templates constituting the phrases p 1 and p 2 , respectively, and a symbol
  • Absolute values, n 1 and n 2 are nouns included in the phrases p 1 and p 2
  • npfreq (n 1 and n 2 ) are n 1 and n 2 are active if n 1 and n 2 are positive / If the inactive template pair co-occurs in one sentence, if n 1 and n 2 are negative, n 1 and n 2 co-occur in a sentence with different active / inactive template pairs. , Respectively.
  • step 456 the causal relationship seed pairs are sorted and output in descending order of the scores.
  • causal relationship seed pair is not limited to this.
  • phrase pairs that satisfy all of the following conditions may be acquired as causal relationship seed pairs.
  • Both phrases consist of one noun and one predicate template. For example, it is a phrase pair such as “(earthquake)” and “(tsunami) occurs”.
  • the predicate template pair that co-occurs in one sentence together with the tangent conjunction and the like and the noun pair that co-occurs in the one sentence are acquired from the WEB archive 44. These are considered to be prototypes of causal phrase pairs.
  • a causal relationship strength score is calculated by the above-described equation (3). All causal relationship seed pairs are sorted and output in descending order of the causal relationship strength score.
  • equation (4) may be used instead of equation (3).
  • causal relationship hypothesis generating unit 412 illustrated in FIG. 11 is connected to the causal relationship seed pair DB 410 and the word class DB 46, the semantic relationship pattern DB 400 and the word pair DB 402, and stored in the causal relationship seed pair DB 410.
  • the semantic relationship pattern matching unit 470 that matches the semantic relationship pattern of the noun pairs included in the causal relationship seed pair with the semantic relationship pattern DB 400, and the semantic relationship pattern matching unit among the word pairs stored in the word pair DB 402
  • a new causal relationship hypothesis is obtained by reading from the word pair DB 402 a word pair in a semantic relationship determined to match the semantic relationship pattern of the causal relationship seed pair by 470 and replacing the noun pair in the original causal relationship seed pair.
  • the template replacement unit 476, the causal relationship hypothesis score of the causal relationship hypothesis newly generated by the word pair replacement unit 472 and the template replacement unit 476 are calculated, and the score is attached to the causal relationship hypothesis to the causal relationship hypothesis DB 416. And a score calculation unit 474 to be added.
  • the reverse side a pair in which the predicate of each phrase is negated
  • Is high For example, when “stress increases ⁇ insomnia continues” is appropriate, “stress decreases ⁇ insomnia is improved” corresponding to the reverse is also considered appropriate.
  • the semantic relationship pattern DB 400 and the word pair DB 402 shown in FIG. 13 may be prepared by any means.
  • seeds classified into several seed pattern groups that are phrases that are the basis of the semantic relationship pattern in order to prepare the semantic relationship pattern DB 400 and the word pair DB 402, seeds classified into several seed pattern groups that are phrases that are the basis of the semantic relationship pattern.
  • the seed pattern DB 404 storing the pattern is connected to the seed pattern DB 404 and the word class DB 46, and has a semantic relationship similar to the seed pattern stored in the seed pattern DB 404 from the WEB archive 44 based on the information stored therein.
  • a word pair extraction unit 406 is provided for extracting expression patterns and word pairs appearing in these expressions and adding them to the semantic relationship pattern DB 400 and the word pair DB 402, respectively.
  • the seed pattern here is a pattern representing a material relationship, a necessary relationship, a use relationship, a preventive relationship, or a causal relationship, as described above, and is classified into separate seed pattern groups. Examples of patterns are “produce B with A” for material relations, “A is essential for B” for necessary relations, “use A for B” for use relations, and “prevent B with A” for preventive relations. A causal relationship is like “A causes B”.
  • a pattern is a phrase that includes a portion corresponding to a variable. In the above example, A and B correspond to variables. By replacing A and B with different words, various phrases can be generated. However, if A and B do not have a certain semantic relationship, they become meaningless phrases.
  • the word pair extraction unit 406 has a function of extracting word pairs having a specific semantic relationship.
  • the word pair extraction unit 406 further has a function of adding not only the seed pattern stored in the seed pattern DB 404 but also a pattern similar to the seed pattern among the patterns extracted from the WEB archive 44 to the seed pattern.
  • the word pair extraction unit 406 employed in the present embodiment is connected to the WEB archive 44 and the seed pattern DB 404, and a pattern extraction unit 490 that extracts a specific pattern from the WEB archive 44, and pattern extraction
  • the pattern DB 492 that stores the pattern extracted by the unit 490, the seed pattern stored in the seed pattern DB 404, and the pattern stored in the pattern DB 492 are referred to, and matches each pattern from the WEB archive 44 (A and B described above)
  • a word pair candidate DB 496 that stores the word pair extracted by the word pair candidate acquisition unit 494
  • a seed among the patterns stored in the pattern DB 492 Of seed patterns stored in the pattern DB 404 Similar patterns with Zureka, identified on the basis of the similarity of the set of word pairs extracted from their pattern, and a pattern merge unit 518 for merging as a new seed pattern seed pattern DB 404.
  • the word pair extraction unit 406 further determines, for each class pair, the word pair candidate DB 496, the WEB archive 44, and the class pair matching degree, which is an index indicating the degree of matching between any two word classes held in the word class DB 46. , And a class pair suitability calculation unit 502 for calculating with reference to the seed pattern DB 404, a class pair suitability DB 504 for storing the calculated class pair suitability for each class pair, and a pattern stored in the pattern DB 492
  • the pattern similarity calculation unit 506 calculates the pattern similarity for each combination of the seed pattern DB 404 and the seed pattern group stored in the seed pattern DB 404, and the pattern similarity calculated by the pattern similarity calculation unit 506 is stored in the pattern DB 492.
  • Pattern and seed pattern group stored in seed pattern DB 404 Pattern similarity DB 508 for storing each combination, word pair, affinity information calculation unit for calculating affinity information between each pattern stored in pattern DB 492 and a seed pattern group stored in seed pattern DB 404 510, an affinity information DB 512 that stores the affinity information calculated by the affinity information calculation unit 510 for each combination of a word pair and a pattern, and WEB for each class pair of words stored in the word class DB 46
  • Exclusion class that determines whether or not the difference in the appearance frequency of words belonging to each class in the archive 44 is greater than or equal to a threshold value, and excludes a class pair whose difference is equal to or greater than the threshold value from the final output target
  • a pair identification unit 514 and an exclusion class pair DB 516 that stores the exclusion class pair identified by the exclusion class pair identification unit 514 are included. Details of the functions of the class pair suitability calculating unit 502, the pattern similarity calculating unit 506, the affinity information calculating unit 510, and the excluded class
  • the word pair extraction unit 406 further excludes each of the word pairs stored in the word pair candidate DB 496 from those belonging to the class pair specified by the excluded class pair specifying unit 514, and further includes the class pair matching degree DB 504, the pattern A word pair scoring unit 498 that calculates a score representing the appropriateness as a word pair that co-occurs with a seed pattern with reference to the similarity DB 508 and the affinity information DB 512, and a word scored by the word pair scoring unit 498
  • a word pair selection unit 500 for selecting only word pairs having a score equal to or higher than a threshold value from the pairs and outputting the selected word pairs to the word pair DB 402 is included.
  • the pattern extraction unit 490 extracts a pattern from the document stored in the WEB archive 44 through the following steps. That is, the pattern extraction unit 490 performs morphological analysis on each sentence of each document stored in the WEB archive 44, and further performs dependency analysis. As a result, a dependency tree (data representing) is obtained for each sentence.
  • the pattern extraction unit 490 extracts a morpheme string existing in the path, with each noun of the dependency tree as a starting point and a path on the dependency tree having another noun as an end point as one pattern candidate. Each noun on the morpheme string is replaced with a variable.
  • the class to which each noun belongs is checked with reference to the word class DB 46 and added to each variable as class information to which the variable belongs. Thereby, one pattern is obtained.
  • a plurality of patterns may be obtained from one sentence. Furthermore, since there are not always two nouns for a single noun, a plurality of patterns including variables corresponding to the same noun may be obtained.
  • the pattern extraction unit 490 calculates frequency information indicating how many times the same pattern, including the variable class, appears for the pattern obtained in this way, and obtains a new pattern every time a new pattern is obtained. Add to
  • the word pair candidate acquisition unit 494 examines and acquires word pairs co-occurring with the seed pattern stored in the seed pattern DB 404 for all the texts of all documents included in the WEB archive 44.
  • the word pair co-occurs with the seed pattern is a character string including a certain word pair existing in the document, and the word pair replaced with each word class is the seed pattern. It means that they match.
  • the word pair candidate acquisition unit 494 stores the word pair obtained in this way in the word pair candidate DB 496 together with the identification information of the matched seed pattern.
  • the word pair candidate acquisition unit 494 also counts the frequency with which the seed pattern co-occurs with the word pair for each combination of the seed pattern and the word class pair, and stores it in the word pair candidate DB 496.
  • the class pair matching degree is an index representing the frequency (degree) of co-occurrence with any one of the seed patterns belonging to a certain seed pattern group.
  • the class pair suitability calculation unit 502 calculates the class pair suitability of each class pair.
  • the higher the frequency that a word belonging to two class pairs co-occurs with any seed pattern p belonging to the seed pattern group P the higher the class pair suitability of the class pair is.
  • the class pair matching degree C (c i , c j , P) of the word class pair c i and c j with respect to the seed pattern group P can be defined as follows.
  • n i and n j represent words belonging to the word classes c i and c j , respectively. * Represents an arbitrary pattern.
  • This value is equal to the frequency with which the words ni and nj co-occur regardless of the pattern.
  • the condition ⁇ is, for example, a condition that the number of seed pattern types in which the word class pairs c i and c j co-occur is a predetermined number or more. If this is expressed by an equation, the predetermined number becomes ⁇ as follows.
  • the class pair suitability calculation unit 502 calculates the suitability of class pairs for each class pair by aggregating the word pairs stored in the word pair candidate DB 496 and the identification information of the seed pattern in which the word pairs co-occurred. And stored in the class pair fitness DB 504.
  • the pattern similarity calculation unit 506 calculates the similarity between each pattern stored in the pattern DB 492 and each seed pattern group stored in the seed pattern DB 404, and the pattern similarity DB 508 stores the pattern group and the pattern in the pattern similarity DB 508. Store for each combination.
  • the pattern similarity between a certain seed pattern group is the overlap between a class pair co-occurring with a seed pattern belonging to the seed pattern group and a class pair co-occurring with the target pattern. It is defined as indicating the degree of.
  • the pattern similarity S (P, p) between the set P of seed patterns belonging to a certain seed pattern group and the target pattern p is determined by the word class ci and the word co-occurring with the seed patterns belonging to the set P. If a set of word class pairs (ci ⁇ cj) consisting of classes cj is I (P ci ⁇ cj ), and a set of word class pairs (ci ⁇ cj) co-occurring with a pattern is I (p ci ⁇ cj ), for example, It is defined by the following formula.
  • vector comparison can be performed as follows. For example, consider a vector whose elements are all possible word class pairs. Counting the number of words class pair co-occurring with the seed pattern group P in the WEB archive 44, the value as the value of the element corresponding to the word class pair of the vector, the feature vector V P of the seed pattern group P calculate. Similarly, the number of word class pairs co-occurring with a certain pattern p is counted, and the feature vector V p of the pattern p is calculated using the value as the value of an element corresponding to the word class pair of the vector.
  • the similarity between the seed pattern group P and the pattern p is obtained.
  • class pairs that do not co-occur with the pattern group P and the pattern p may be excluded from the vector elements.
  • Affinity information is an index representing the affinity between a word pair and the pattern, the value of which increases as the frequency of co-occurrence of the word pair and the pattern increases. In the present embodiment, this frequency represents the co-occurrence frequency of word pairs and patterns in the WEB archive 44.
  • the affinity information Assoc (p, n 1 , n 2 ) between the word pair (n 1 , n 2 ) and the pattern p is defined by the following equation. In the following expression, (n 1 , p, n 2 ) indicates a set of instances in which the word pair (n 1 , n 2 ) co-occurs with the pattern p, and “*” is arbitrary depending on the position. Indicates a pattern or word.
  • the value of the affinity information Assoc (p, n 1 , n 2 ) increases as the frequency of co-occurrence of the word pair word pair (n 1 , n 2 ) and the pattern p increases.
  • the affinity information Assoc (p, n 1 , n 2 ) decreases as the appearance frequency
  • the affinity information Assoc (p, n 1 , n 2 ) is the occurrence frequency of the word pair (n 1 , n 2 )
  • the affinity information Assoc (p, n 1 , n 2 ) is also added to the combination of an arbitrary word pair and an arbitrary pattern by counting the word pairs recorded in the word pair candidate DB 496 and the pattern identification information. Can be calculated.
  • the excluded class pair specifying unit 514 specifies a class pair of words to be excluded from the finally output word pair set.
  • the average appearance frequency of word pairs composed of words belonging to the class pair is calculated, and a word class pair having a large difference in value is set as an excluded class. That is, word pairs with greatly different appearance frequencies are excluded as inappropriate word pairs.
  • the threshold value is set to an appropriate value through prior experiments. In this embodiment, this value is set to about 25.
  • the word pair scoring unit 498 includes a class matching degree of the word class stored in the class pair matching degree DB 504, a pattern similarity degree stored in the pattern similarity DB 508, affinity information stored in the affinity information DB 512, and exclusion. Based on the excluded class pair information stored in the class pair DB 516, among the word pairs recorded in the word pair candidate DB 496, a combination of a word pair not to be excluded and a seed pattern most suitable for the word pair A predetermined score is calculated for each of these and output to the word pair selection unit 500. In this embodiment, this score is defined so as to change with a positive correlation with respect to any of the class fitness, pattern similarity, and affinity information.
  • the score Score (n 1 , n 2 , P) for the combination of the word pair (n 1 , n 2 ) and the seed pattern P is most simply expressed by the following equation.
  • the word pair selection unit 500 selects a predetermined upper number from the combinations of the sorted word pairs and the seed pattern group, and outputs them to the word pair DB 402. At this time, the word pair selection unit 500 attaches an identifier of the seed pattern group that forms a pair to each word pair. The number of word pairs to be selected is previously determined by experiment.
  • the pattern merge unit 518 reads the pattern similarity calculated by the pattern similarity calculation unit 506 from the pattern similarity DB 508 for each of the patterns stored in the pattern DB 492 and each of the pattern groups stored in the seed pattern DB 404. A pattern having a pattern similarity higher than a threshold value is added as a new seed pattern to the seed pattern group.
  • the word pair extraction unit 406 repeats the above processing while updating the seed pattern DB 404, and outputs the word pair DB 402 obtained when a predetermined end condition is satisfied as a final word pair.
  • the seed pattern group stored in the seed pattern DB 404 is output to the semantic relation pattern DB 400.
  • Each seed pattern group stored in the semantic relation pattern DB 400 is assigned an identifier indicating the type of the original seed pattern group. Therefore, by examining the semantic relationship pattern identifier stored in the semantic relationship pattern DB 400, whether the semantic relationship pattern represents the material relationship, the necessary relationship, the use relationship, the preventive relationship, or the causal relationship described above. Can know.
  • the identifier of the seed pattern group which often co-occurs with the word pair is given to the word pair stored in the word pair DB 402. Therefore, by examining the identifier, it is possible to know what semantic relationship the word pair satisfies.
  • Semantic relationship pattern matching unit 470, word pair replacement unit 472 and score calculation unit 474 >> The semantic relationship pattern matching unit 470, the word pair replacement unit 472, the score calculation unit 474, and the template replacement unit 476 constituting the causal relationship hypothesis generation unit 412 shown in FIG. 13 can all be realized by a computer program. A control structure of a program for this purpose in the present embodiment will be described.
  • this program includes step 520 for sequentially reading the causal relationship seed pairs from the causal relationship seed pair DB 410 shown in FIG. 13 and executing the following processing for all of them.
  • the processing executed in step 520 matches the word class pair consisting of the cause phrase and the noun of the result phrase of the causal relationship seed pair to be processed with the semantic relationship pattern stored in the semantic relationship pattern DB 400, and the word Step 522 for determining whether or not there is a semantic relationship pattern that matches the class pair, and when it is determined in step 522 that there is a semantic relationship pattern that matches, for all of the matched patterns, Step 524 for executing the processing described in FIG.
  • the processing for the causal relationship seed pair to be processed is terminated, and the processing for the next causal relationship seed pair is started.
  • the processing executed in step 524 includes the following processing for step 526 for reading all word pairs having identifiers of matched semantic relationship patterns from the word pair DB 402, and for each word pair read in step 526.
  • Step 528 generates a new causal relationship hypothesis by replacing the noun part of the cause phrase and the result phrase of the causal relationship seed pair to be processed by using the word included in the read word pair.
  • Step 530 a step 532 for calculating the score of the causal relationship strength by the same processing as the processing executed in Step 454 of FIG. 12 for the causal relationship hypothesis generated in Step 530, and the step 530 generated in Step 530
  • step 522 is NO, and the determination in step 522 is YES, and after all the processing in step 524 is completed for the causal relationship seed pair being processed, the causal relationship seed pair being processed
  • step 536 for reading all the contradictory expressions of the cause phrase and the result phrase from the contradiction expression dictionary 422, and a combination of the contradictory expression of the cause phrase and the contradictory expression of the result phrase read in step 536
  • step 538 is used to generate a new causal relationship hypothesis by rewriting the cause phrase and result phrase of the causal relationship seed pair, and the causal relationship strength is calculated for all the causal relationship hypotheses generated in step 538.
  • Step 540 and all the steps generated in step 538 We are given the score calculated at steps 540 to causality hypothesis and a step 542 of outputting the causality hypothesis DB416.
  • the causal relationship hypotheses generated as described above include correct ones, but also incorrect ones. Therefore, it is necessary to select only the correct causal relationship.
  • the causal relationship hypothesis filtering unit 418 executes such filtering processing.
  • the causal relationship hypothesis filtering unit 418 sequentially reads the causal relationship hypotheses from the causal relationship hypothesis DB 416 and verifies the causal relationship hypotheses for each of them, thereby filtering the causal relationship hypotheses.
  • a filtering unit 552 that performs filtering based on the relevance of noun pairs of phrase pairs constituting the causal relationship hypothesis for the causal relationship hypothesis remaining after filtering by the consistency verification filtering unit 550, Appearance order verification for filtering the causal relationship hypothesis remaining after filtering by the filtering unit 552 depending on the order in which the cause phrase and result phrase appear in the sentence in the WEB archive 44
  • the nouns included in the cause phrase or the result phrase are used in a great number of causal relation hypotheses with respect to the causal relation hypothesis remaining after the filtering by the filtering section 554 and the filtering section 554 by the appearance order verification.
  • Filtering unit 556 based on the frequency of appearance of nouns that excludes causal hypotheses including those that are considered to be too broad and vague, and specific nouns that are components of causal hypotheses on WEB archive 44 By determining whether or not it is accompanied by a modifier, the causal relationship hypothesis including a noun that also has only vague meaning is excluded, and the final causal relationship phrase pair is output to the causal relationship phrase pair DB 70 A filtering unit 566 based on excluded words.
  • the causal relationship hypothesis filtering unit 418 further includes a noun appearance frequency for calculating the appearance frequency of nouns in the causal relationship hypothesis recorded in the causal relationship hypothesis DB 416 for use in processing by the filtering unit 556 based on the appearance frequency of nouns.
  • the search unit 558, the noun appearance frequency DB 560 that stores the noun appearance frequency calculated by the noun appearance frequency calculation unit 558, and the entire WEB archive 44 are searched, and another form in the form of “B of A” is obtained.
  • a modified noun extraction unit 562 for extracting a noun used by modification with a phrase (corresponding to “B”), and a noun extracted by the modified noun extraction unit 562 are filtered by an excluded word.
  • Consistency verification filtering unit 550 focuses on the causal relationship cause phrase and the noun pair included in the result phrase, determines whether a certain causal relationship hypothesis is consistent with other causal relationship hypotheses, and is consistent. The process of leaving only what is present is performed. Here, for example, if there is a causal relationship hypothesis that “the sea level rises ⁇ drought continues”, the noun pair of the causal relationship hypothesis is “sea level” and “drought”.
  • the consistency verification filtering unit 550 selects those causal relationship hypotheses as candidates. Exclude from For example, when both the causal relationship hypothesis that “the sea level rises ⁇ drought continues” and the causal relationship hypothesis that “the drought continues ⁇ sea level rises” exist, both causal relationship hypotheses are excluded.
  • the degree-of-relevance filtering unit 552 excludes the noun pairs of the causal relationship hypothesis that have a low degree of mutual relation.
  • degree of association for example, mutual information (PMI), DICE coefficient, Jaccard coefficient, ⁇ square value, and the like can be used.
  • PMI mutual information
  • DICE coefficient Jaccard coefficient
  • ⁇ square value
  • PMI PMI is an index representing the degree of association between nouns x and y.
  • PMI (x, y) is calculated by the following equation. In the following formula, P (x) represents the appearance probability of the noun x, P (y) represents the appearance probability P (x, y) of the noun y, and the co-occurrence probability of the nouns x and y.
  • the co-occurrence frequency can be obtained, for example, by counting the co-occurrence frequency in one document of nouns x and y or counting the co-occurrence frequency in one sentence.
  • the DICE coefficient is used to quantify the co-occurrence relationship between two words.
  • the number of documents in which the word x appears is df (x)
  • the number of documents in which the word y appears is df (y)
  • the co-occurrence frequency of the words x and y is df (x, y).
  • the dice coefficient DICE (x, y) is calculated by the following formula.
  • Jaccard coefficient is a measure representing the similarity between two sets. For example, when a sentence or document set in which a noun x appears is S (x) and a sentence or document set in which a noun y appears is S (y), the similarity between the nouns x and y is as follows: Thus, it can be expressed by a Jaccard coefficient J (S (x), S (y)) between the sets S (x) and S (y).
  • Chi-square value The chi-square value is used in the chi-square test, but can be used to determine whether two words are irrelevant.
  • the ⁇ -square value for two words x and y is based on whether or not the words x and y appear in many documents, for example, whether the word x is on the vertical axis and the word y is on the horizontal axis.
  • N 11 is the number of documents in which both words x and y appear
  • N 10 is the number of documents in which word x appears and word y does not appear
  • N 01 is the word x that does not appear and word y appears.
  • the number of documents, N 00 represents the number of words in which neither word x nor y appears.
  • E 11 indicates the expected frequency of the document number N 11 when it is assumed that the word x and the word y are independent
  • E 10 , E 01 , and E 00 correspond to N 10 , N 01 , and N 00 , respectively. Is the expected frequency. If the relationship between the words x and y is close to each other, the chi-square value increases. If the relationship is deep, the chi-square value decreases.
  • the filtering unit 554 by the appearance order verification filters the causal relationship hypothesis based on the appearance order of the components of the causal relationship hypothesis. For example, in a sentence of the WEB archive 44, when a noun of a phrase as a result of a certain causal relation hypothesis appears before a noun of a causal phrase, a method of excluding the causal relation can be considered.
  • the filtering unit 556 based on appearance frequency of nouns excludes causal relationship hypotheses including noun pairs that appear in many different causal relationship hypotheses. Examples include the following: “Global warming advances ⁇ suffers damage” -“Become stock-down ⁇ damage will occur” -"Damage ⁇ Cancel the plan” In this example, since the noun “damage” that appears in large numbers is included, all of these causality hypotheses are excluded. This is because nouns appearing in many different causal relationship hypotheses are vague in the first place and should be avoided as causal relationships.
  • the causal relationship hypothesis filtering unit 418 includes a noun appearance frequency calculation unit 558 and a noun appearance frequency DB 560.
  • Noun Appearance Frequency Calculation Unit 558 stores in advance all the causal relationships in the causal relationship hypothesis DB 416 for each of the nouns in the cause phrase and the nouns in the result phrase of the causal relationship hypothesis phrase pair stored in the causal relationship hypothesis DB 416. Calculate the frequency of occurrence in the hypothesis.
  • Noun Appearance Frequency DB560 The noun appearance frequency DB 560 is for storing the appearance frequency of each noun calculated by the noun appearance frequency calculation unit 558.
  • the noun appearance frequency DB 560 can return the appearance frequency when a noun is given.
  • the filtering unit 556 based on the appearance frequency of the noun uses this function to filter the causality hypothesis.
  • the exclusion word filtering unit 566 excludes a causal relationship hypothesis including a noun modified with a modifier (referred to as a “modified noun”), such as “B” in “B of A” in the WEB archive 44. .
  • a modifier referred to as a “modified noun”
  • the modified noun thus obtained is called an excluded word here.
  • the causal relationship hypothesis filtering unit 418 includes a modified noun extracting unit 562 and an excluded word DB 564.
  • Modified Noun Extractor 562 The modified noun extraction unit 562 extracts a set of modified nouns from the WEB archive 44. This process is possible at any time.
  • the excluded word DB 564 stores the modified noun extracted by the modified noun extraction unit 562 as an excluded word.
  • the excluded word DB 564 has a function of outputting information indicating whether the noun is an excluded word.
  • the excluded word DB 564 returns information indicating whether the noun is stored as an excluded word to the filtering unit 566 based on the excluded word. If the noun is stored in the excluded word DB 564, the filtering unit 566 based on the excluded word excludes the causal relationship hypothesis including the word. If not, the causal relationship hypothesis is adopted and stored in the causal relationship phrase pair DB 70.
  • social scenario generation unit 72 generates a social scenario candidate by linking causal relationship phrase pairs stored in causal relationship phrase pair DB 70, and generates a social scenario candidate.
  • a social scenario ranking unit 582 that ranks the social scenario candidates generated by the unit 580 with a predetermined score and outputs them to the social scenario DB 38.
  • a long causal relationship phrase string linked by a causal relationship is obtained by linking appropriate ones in an appropriate order.
  • this phrase string is called a social scenario.
  • This social scenario connects many causal relationships in a relationship that humans do not think about, and can derive an unexpected result phrase from a certain cause phrase.
  • the social scenario candidate generation unit 580 is for that purpose. However, even in the social scenario generated in this way, there should be an appropriate relationship between the cause and the result and an inappropriate relationship.
  • the social scenario ranking unit 582 attaches a score representing the appropriateness of the social scenario to each social scenario so that a social scenario with a high score can be distinguished from a social scenario that does not.
  • the social scenario candidate generation unit 580 links causal phrase pairs having causal consistency by evaluating causal consistency between one result phrase and the other cause phrase for two causal phrase pairs. .
  • the social scenario candidate generation unit 580 refers to the simple predicate template DB 62, the causal relationship phrase pair DB 70, and the word class DB 46.
  • a first synonym relation generation unit 600 that generates and outputs information (chain information) that represents a combination of phrases having the same polarity as synonymous phrases having causal consistency. This chain information is a pair of identifiers of two phrases determined to have causal consistency.
  • the social scenario candidate generation unit 580 further refers to the word class DB 46 and the causal phrase pair DB 70, and in the causal phrase pair DB 70, phrases having the same noun and the same evaluation polarity of the entire phrase are causally consistent. It is regarded as a synonymous phrase, the second synonym relation generating unit 602 that generates and outputs the chain information, and the word class DB 46, the nouns are the same in the causal phrase pair DB 70, It includes a third synonym relation generation unit 604 that selects a pair of phrases having templates having similar appearance contexts as synonymous phrases having causal consistency, and generates and outputs chain information thereof.
  • the social scenario candidate generation unit 580 further includes a template distribution similarity DB 614 that stores in advance the distribution similarities of templates used for determination by the third synonym relation generation unit 604.
  • the template distribution similarity DB 614 may be created by any method, but in the present embodiment, the social scenario candidate generation unit 580 creates the template distribution similarity DB 614 in advance in order to create the template distribution similarity DB 614 in advance.
  • a distribution similarity calculation unit 616 that calculates the distribution similarity of each template in the WEB archive 44 with reference to the predicate template DB 66 and stores the result in the template distribution similarity DB 614 is included.
  • the method for connecting the causal phrase pairs is not limited to using the causal consistency of two phrases as described above.
  • the phrase “sunlight is necessary for photosynthesis” can be used as a link to connect the two.
  • a causal phrase pair having a result phrase “Nikko is interrupted” and a causal phrase pair having a cause phrase “photosynthesis is hindered” can be chained through this phrase.
  • phrase identifier pairs may be stored. In this case, since an order is necessary for the chain, it is necessary to store ordered phrase identifier pairs.
  • connection relationship generation unit 606 shown in FIG. 18 generates such ordered phrase identifier pairs by performing such processing.
  • the question is how to find the relationship between the phrases that form these links.
  • this problem was solved by focusing on the semantic relationship between the nouns included in the two phrases. That is, when a specific relationship is established between two nouns, processing is performed so that there is a link between phrases, assuming that the relationship is established between the two nouns.
  • the relationship here, the relationship between the words forming the word pair extracted by the word pair extraction unit 406 shown in FIG. 11 and recorded in the word pair DB 402, that is, the semantic relationship recorded in the semantic relationship pattern DB 400. Semantic relationships represented by relationship patterns can be used.
  • the word pair extraction unit 406 extracts word pairs having a necessary relationship, a material relationship, a use relationship, a preventive relationship, and a causal relationship, and these word pairs are stored in the word pair DB 402, and patterns representing such relationships are stored in the semantic relationship pattern DB 400. Each is recorded. Therefore, by using these, it is checked whether or not a specific relationship is established between the phrases, and when established, the phrases are connected as if there is a causal relationship between them. In this way, if there is a semantic relationship between the result phrase of one causal phrase pair and the cause phrase of another causal phrase pair, and it is considered that a causal relationship is established between them, This is called “semantic link”.
  • connection relation generation unit 606 represents the word pair between the two. It is determined that the relationship is established. Usually, since the causal relationship in this case is only in one direction, the connection relationship generation unit 606 generates identifiers of both phrases as ordered identifier pairs and outputs them to the connection information generation unit 608.
  • the social scenario candidate generation unit 580 further includes phrase identifier pairs output from the first synonym relationship generation unit 600, the second synonym relationship generation unit 602, and the third synonym relationship generation unit 604, and a connection relationship generation unit 606. Generates a tree consisting of a pair of causal phrase pairs and a pair of causal phrase pairs connected with the causal phrase pair by causal phrase pairs for each causal phrase pair.
  • a connection information generation unit 608 and a connection relationship DB 610 that stores a tree output by the connection information generation unit 608 are included. By using this tree, the causal relationship can be chained from the causal relationship phrase pair to the next causal relationship phrase pair and further to the next causal relationship phrase pair.
  • the social scenario candidate generation unit 580 further uses the connection information stored in the causal relationship phrase pair DB 70 to sequentially link the causal relationship phrase pairs starting from an arbitrary causal relationship phrase pair stored in the causal relationship phrase pair DB 70.
  • a causal relationship connection unit 612 that generates social scenario candidates and a social scenario candidate DB 618 that stores social scenario candidates generated by the causal relationship connection unit 612 are included.
  • the causal relationship connecting unit 612 forms all possible social scenarios in the range, or when a certain causal relationship phrase pair is designated, the causal relationship phrase Multiple causal phrase pairs that follow the pair are displayed, and when any causal phrase pair is specified, a plurality of causal phrase pairs that follow the newly specified causal phrase pair are displayed.
  • a social scenario can be generated by interactively repeating the process of.
  • social scenario ranking unit 582 (see FIG. 17) according to the present embodiment includes causal relationships of all causal relationship phrase pairs constituting social scenarios stored in social scenario candidate DB 618. A score based on the strength is given.
  • the social scenario ranking unit 582 gives the causal relationship strength score described with reference to FIG. 12 to each causal relationship phrase pair included in a certain social scenario candidate.
  • the social scenario ranking unit 582 further gives a score to the social scenario candidate by multiplying them all.
  • the social scenario ranking unit 582 calculates, for each of the social scenario candidates stored in the social scenario candidate DB 618, with reference to the causal relationship strength score attached to the causal relationship phrase pair. Further, an overall causal relationship score calculating unit 640 that outputs by giving a score by multiplying them, a scored social scenario candidate DB 642 that stores a social scenario candidate with a score output by the overall causal relationship score calculating unit 640, A social scenario sorting unit 644 that sorts the scored social scenario candidates stored in the scored social scenario candidate DB 642 in descending order of the scores, a sorted social scenario candidate DB 646 that stores the sorted social scenario candidates, and a sorted society Stored in scenario candidate DB 646 Score from the social scenario candidates and a social scenario selector 648 to be output to the social scenario DB38 by selecting more than the threshold value.
  • the social scenario generation system 30 operates as follows. Referring to FIG. 1, a small number of seed templates are stored in advance in seed template DB 32. Whether or not each seed template is active is also determined in advance, and the tag is attached to each template. On the other hand, the conjunction DB 34 stores Japanese forward conjunctions, reverse conjunctions, etc., and their types are also stored.
  • the contradiction expression dictionary 422 (FIGS. 11 and 13) stores a large number of pairs of expressions that are collected in advance and that are contradictory to each other.
  • a semantic relationship pattern DB 400 and a word pair DB 402 shown in FIG. 11 are also prepared in advance.
  • several seed patterns representing a predetermined relationship between words are stored in the seed pattern DB 404.
  • the word class DB 46 is also prepared in advance.
  • the seed pattern DB 404 and the word class DB 46 may be prepared in any way.
  • the word pair extraction unit 406 operates as follows. Referring to FIG. 14, pattern extraction unit 490 of word pair extraction unit 406 extracts various relationships between words from WEB archive 44 as shown in FIG. For this processing, the pattern extraction unit 490 extracts a large number of phrases including two nouns from the WEB archive 44. A large number of patterns are generated by replacing nouns included in these phrases with variables of corresponding classes read from the word class DB 46. These patterns are further aggregated, and the aggregated unique patterns are stored in the pattern DB 492.
  • the word pair candidate acquisition unit 494 acquires word pairs that appear as a word pair candidate from the WEB archive 44 while referring to the seed pattern DB 404 as word pair candidates, and accumulates them in the word pair candidate DB 496. . These word pairs are assigned an identifier of a seed pattern group to which the corresponding seed pattern belongs (or an identifier of the seed pattern itself).
  • the class pair suitability calculation unit 502 calculates the class pair suitability between any two word classes based on the word pairs stored in the word pair candidate DB 496 for each class pair, and stores them in the class pair suitability DB 504.
  • the pattern similarity calculation unit 506 calculates the pattern similarity for each combination of the pattern stored in the pattern DB 492 and the seed pattern group stored in the seed pattern DB 404, and stores the pattern similarity in the pattern similarity DB 508 for each combination.
  • the affinity information calculation unit 510 calculates affinity information between a word pair and each pattern stored in the pattern DB 492 and a seed pattern group stored in the seed pattern DB 404, and for each combination of a word pair and a seed pattern, etc.
  • the excluded class pair identification unit 514 determines whether the difference in the appearance frequency of words belonging to each class in the WEB archive 44 is greater than or equal to a threshold value for each class pair of words stored in the word class DB 46.
  • the excluded class pair specifying unit 514 further specifies a class pair whose difference is greater than or equal to a threshold value, and stores it in the excluded class pair DB 516.
  • the word pair scoring unit 498 uses the class pair suitability stored in the class pair suitability DB 504, the pattern similarity stored in the pattern similarity DB 508, and the affinity information stored in the affinity information DB 512 to The above-described score Score is calculated for each word pair stored in the candidate DB 496.
  • the word pair selection unit 500 selects a predetermined upper number of the word pairs scored by the word pair scoring unit 498 and stores it in the word pair DB 402. At this time, each word pair is given an identifier of a seed pattern group stored in the seed pattern DB 404 that includes a seed pattern that is matched when the word pair is acquired.
  • the pattern merging unit 518 uses the similarity between the pattern and the seed pattern group stored in the pattern similarity DB 508, and selects a pattern having a similarity with a certain seed pattern group higher than a threshold value in the seed pattern DB 404. Add to the seed pattern group.
  • the seed pattern DB 404 is updated in this manner, the above-described processing is repeated using the updated seed pattern group.
  • a highly accurate word pair DB 402 and a seed pattern group classified into various semantic relationships can be obtained.
  • the number of seed patterns is usually much larger than that initially prepared, so that for a wide range of expressions, it becomes possible to determine what semantic relationship the expressions match.
  • the simple predicate template collection unit 60 operates as follows to construct the simple predicate template DB 62.
  • initial template pair generation unit 90 generates all possible combinations of all combinations of all seed templates stored in seed template DB 32, conjunctions stored in conjunction DB 34, and the like. Are stored in the initial template pair DB 92 as template pairs.
  • the noun pair collection unit 94 collects the noun pairs co-occurring with the template pair from the WEB archive 44 and stores them in the noun pair DB 96.
  • the noun pair polarity determination unit 98 depends on the activity / inactivity of the template in the template pair that co-occurs with the noun pair and the type of the conjunction from the conjunction DB 34 that links the template pair. Then, it is determined whether the noun pair is a positive relationship or a negative relationship, and a polarity tag is assigned to each noun pair.
  • the template pair collection unit 100 collects, for each noun pair, a template pair that co-occurs with the noun pair from the WEB archive 44 and stores it in the template pair DB 102.
  • the template activity match determination unit 104 determines the activity / invalidity of the templates constituting the template pair according to the positive / negative of the co-occurring noun pairs and the type of conjunctives (forward, reverse). Determine whether the activities are the same or opposite. At this time, if there is a template pair that has the same activity and the opposite activity, compare the number of appearances of the same and the opposite, and determine whether they are the same or opposite by majority vote. decide.
  • the template activity match determination unit 104 assigns a tag indicating whether each activity / inactivity is the same or opposite to each template pair stored in the template pair DB 102.
  • the template network construction unit 106 constructs a template network 140 (FIG. 3) based on the template pairs stored in the template pair DB 102.
  • the template network construction unit 106 adds a node corresponding to two templates constituting the template pair to the network if it is not in the network, and adds it if there is no link. By executing this process for all template pairs, a template of the template network 140 is constructed. Further, the template network construction unit 106 refers to the synonym / implication relation dictionary 108 for all pairs of nodes that are not linked to each other in the network, and has a specific relationship as shown in the table 10 between templates corresponding to the nodes.
  • the template network construction unit 106 assigns a weight calculated by the equation (1) to each link of the network constructed in this way.
  • the template network 140 to which the link is added in this way is stored in the template network DB 110.
  • the template activity value calculation unit 112 executes the process shown in FIG. That is, first, an activation value of +1 or ⁇ 1 is given to the seed template according to its activation / deactivation (step 240). Further, by executing a process of minimizing the value E (x, W) defined by the equation (2) as an amount similar to the electron spin energy (step 242), the activity value of each template is estimated, The activity value is assigned to each template. Some of these activity values are negative and some are positive.
  • the high activity template extraction unit 114 selects templates whose activity values are estimated in this way and whose absolute value is larger than a predetermined threshold value, and uses these templates to perform simple predicate templates. DB62 is constructed. Here, the selection may be made according to the magnitude of the absolute value of the activation value, instead of selecting the threshold value.
  • the end determination unit 116 shown in FIG. 2 determines whether or not a predetermined end condition is satisfied when the simple predicate template DB 62 is constructed.
  • a termination condition for example, a condition such that the number of repetitions exceeds a predetermined number or the number of templates exceeds a predetermined number can be assumed. If the termination condition is satisfied, it is assumed that the simple predicate template DB 62 is completed. If the termination condition is not satisfied, the seed template update unit 118 updates the seed template DB 32 using the template included in the simple predicate template DB 62 as a new seed template. Since these seed templates are given the activity values calculated by the above processing, the same processing as described above is executed using these activity values in the subsequent processing.
  • the complex predicate template collection unit 64 uses this simple predicate template DB 62 to execute processing for acquiring a complex predicate template from the Internet 40.
  • the complex predicate template candidate extraction unit 268 of the complex predicate template collection unit 64 constructs the variable noun template candidate DB 270, the quantity noun template candidate DB 272, and the trouble noun template candidate DB 274 as follows (FIG. 7). . That is, referring to FIG. 8, the complex predicate template candidate extraction unit 268 performs morphological analysis (step 302) and dependency analysis (step 304) on the entire text of all documents in the WEB archive 44 (step 300). The dependency tree is generated. Subsequently, the following processing is executed for each node (step 306).
  • step 308 it is determined whether or not the word of the node is a target noun (step 308). For this determination, the target noun dictionary 260 shown in FIG. 7 is used. If the word is not the target noun (NO in step 308), the process moves to the next node. If the word is a target noun (YES in step 308), it is determined whether the destination is any simple predicate template (step 310). If it is not a simple predicate template (NO in step 310), the process proceeds to the next node.
  • a complex predicate template is formed by concatenating the particle at the end of the dependency source node of the processing target node, the morpheme of the processing target node, and the simple predicate template of the dependency destination.
  • Candidates are generated (step 312), and classified and stored in the variable noun template candidate DB 270, quantity noun template candidate DB 272, or trouble noun template candidate DB 274 shown in FIG. 7 according to the type of target noun of the complex predicate template (step 312). Step 314).
  • the processing so far is completed, the processing for the next node of the dependency tree is performed.
  • the sa-changing noun polarity determination unit 264 shown in FIG. 7 sets the sa-changing noun polarity dictionary 262 in the following manner prior to the polarity assignment of the sa-changing noun template by the sa-changing noun polarity adding unit 276. To construct. More specifically, the sa noun polarity determining unit 264 performs the following processing on each sa noun template.
  • the sa variable noun polarity determination unit 264 identifies a sa verb corresponding to the sa noun template candidate for the sa noun template candidate, and searches the simple predicate template DB 62 for a simple predicate template including the sa verb. If the polarities of all of the retrieved simple predicate templates are the same, the sa variable noun polarity determination unit 264 determines that the polarity is the polarity of the sa variable noun template being processed, and the sa variable noun polarity dictionary 262 stores the sa noun and polarity. Are stored as headings.
  • the saun noun polarity determination unit 264 performs the following processing.
  • the sa noun polarity determining unit 264 identifies all nouns that are in the “no” case in the web archive 44 for the sa noun of the sa noun template candidate.
  • the nouns identified in this way are examined for the frequency of the particles with which the above-mentioned noun co-occurs.
  • the sa variable noun polarity determination unit 264 specifies a simple predicate template composed of the most frequently used particle and the above-mentioned sa variation, and the polarity of the simple predicate template is set to The polarity of the candidate template for the variable noun template in the combination with the noun.
  • the Sa noun polarity determining unit 264 stores this information in the Sa noun polarity dictionary 262. Therefore, when the sa variable noun template is given, when the polarity of the simple predicate template including the sa variable is stored as a single polarity in the sa variable noun polarity dictionary 262, the polarity is taken as the polarity of the sa noun template. If it is not, if the noun of the “No” case related to the Sa noun template is known, the polarity of the Sa noun template can be determined by referring to the Sa noun polarity dictionary 262. In other words, the polarity of a part of the Sa noun template cannot be determined without knowing the noun that appears in the “no” case before that, and depends on the context.
  • SA variable noun polarity assigning section 276 shown in FIG. 7 executes the following processing for each of the SA variable noun template candidates stored in the SA variable noun template candidate DB 270 (step 340).
  • the SA variable noun polarity assigning unit 276 refers to the SA variable noun polarity dictionary 262 to determine whether or not there is only one heading of the SA variable noun included in each SA variable noun template candidate (step 342). (YES in step 342)
  • the polarity is assigned as a polarity to the candidate sabot noun template candidate to be processed (step 344), and the process proceeds to the next sabot noun template candidate.
  • step 342 determines whether the polarity is context-dependent is assigned as a polarity to the sub-variable noun template candidate. If this process is completed for all the variable noun templates, the process returns to the parent routine.
  • trouble noun polarity assignment unit 280 shown in FIG. 7 executes the following processing for each trouble noun template candidate stored in trouble noun template candidate DB 274 (step 370).
  • step 370 first, it is determined whether or not there is only one heading for the trouble noun by referring to the trouble noun polarity determination dictionary 266 (step 372). If the determination is YES, the polarity is assigned as the polarity of the trouble noun (step 374), output to the complex predicate template polarity calculation unit 282, and the process proceeds to the next trouble noun template candidate.
  • step 372 a value indicating that the polarity of the trouble noun is context dependent is assigned to the trouble noun as a polarity (step 376), and is output to the complex predicate template polarity calculator 282 to be the next trouble noun template. Move on to candidate processing. When this process is completed for all trouble noun template candidates, the process ends.
  • the complex predicate template polarity calculation unit 282 multiplies the polarity value assigned to the nouns of each complex predicate template candidate (sa variable noun, quantity noun, trouble noun) by the polarity of the simple predicate template portion of each candidate.
  • the polarity of the complex predicate template is calculated, and the complex predicate template with the polarity is stored in the complex predicate template DB 66.
  • the complex predicate template polarity calculation unit 282 calculates the polarity of the complex predicate template as described above when the polarities of the variable noun of the variable noun template candidate and the trouble noun of the trouble noun template candidate are context-dependent. Instead, a value indicating that the polarity is context-dependent is assigned to the complex predicate template.
  • the causal relationship phrase pair collection unit 68 shown in FIG. 1 constructs the causal relationship phrase pair DB 70 as follows after the complex predicate template DB 66 is generated. Prior to this process, it is necessary to prepare the semantic relationship pattern DB 400, the word pair DB 402, and the noun polarity dictionary 420 (FIG. 11).
  • the causal relationship seed pair collection unit 408 shown in FIG. 11 collects the causal relationship seed pairs as follows. Referring to FIG. 12, first, in step 440, a noun consisting of a predicate template pair that is connected to each other in the WEB archive 44 by being connected to each other in a sentence and a noun related to the predicate template pair. Pairs are collected from the WEB archive 44 as causal seed pair candidates.
  • the predicate template here includes both a simple predicate template stored in the simple predicate template DB 62 and a complex predicate template pair stored in the complex predicate template DB 66. Each simple predicate template has a polarity.
  • the polarities are similarly applied to some of the templates including the quantitative nouns, some of which include the saun nouns, and some of the ones including the trouble nouns.
  • the noun template and trouble noun template may have a value indicating the context dependency of the noun polarity.
  • the causal relationship seed pair collection unit 408 searches the Sa-variable noun polarity dictionary 262 with the combination of the noun that is in the “no” case and the Sa-variable noun in the complex predicate template.
  • the polarities of the complex predicate template are determined by obtaining the polarities of the complex variable nouns for the combination from the complex variable noun polarity dictionary 262 and multiplying the polarities of the simple predicate templates in the complex predicate template.
  • step 442 it is determined whether the relationship between the noun pairs in the candidate to be processed is a positive relationship (step 444). If the determination is positive, it is further determined whether the activity / inactivity of the candidate predicate template pair is the same or opposite (step 446). If the determination in step 446 is negative, the candidate is discarded. That is, nothing is done for this candidate. If the determination in step 446 is positive, the candidate is added to the causal relationship seed pair group (step 448). Thereafter, the process proceeds to the next candidate process.
  • step 444 determines whether the activation / inactivation of the candidate predicate template pair is opposite to each other. If the judgment is negative, this candidate is discarded. If the determination is positive, the candidate is added to the causal relationship seed pair group (step 448). Thereafter, the process proceeds to the next candidate process.
  • step 452 the processing of step 452 is executed for all the causal relationship seed pairs in the causal relationship seed pair group obtained as a result. That is, in step 454, the causal relationship seed pair collection unit 408 calculates a causal relationship strength score C s (p 1 , p 2 ) for each causal relationship seed pair by the equation (3) already shown. Equation (3) is reprinted below.
  • p 1 and p 2 are phrases constituting the causal seed pair
  • s 1 and s 2 are activation values of predicate templates constituting the phrases p 1 and p 2 , respectively
  • is an activation value s 1.
  • n 1, n 2 is a noun included in the phrase p 1, p 2, npfreq ( n 1, n 2) is, n 1, n 2 are positive if the relationship, n 1, n 2 is Frequency of co-occurring with the same active / inactive template pair in a sentence, if n 1 and n 2 are negative, n 1 and n 2 co-occur in different sentences with active / inactive predicate template pairs Each frequency is represented.
  • the causal relationship seed pair is associated with the score and output to the causal relationship seed pair DB 410.
  • the causal relationship hypothesis generation unit 412 shown in FIG. 11 generates more causal relationship hypotheses from the causal relationship seed pairs stored in the causal relationship seed pair DB 410 as follows, and stores them in the causal relationship hypothesis DB 416.
  • the semantic relationship pattern DB 400, the word pair DB 402, and the predicate template pair including mutually contradictory expressions are stored in the contradiction expression dictionary 422. It is necessary.
  • the semantic relationship pattern DB 400 stores patterns in which word classes having specific semantic relationships co-occur with each other as a semantic relationship pattern group for each semantic relationship.
  • the word pair DB 402 stores in advance word pairs having a specific semantic relationship that match the patterns stored in the semantic relationship pattern DB 400.
  • the word pair stored in the word pair DB 402 is given an identifier of a pattern group to which the word pair matches among the semantic relationship pattern group stored in the semantic relationship pattern DB 400.
  • the contradiction expression dictionary 422 is not necessary.
  • the semantic relationship pattern matching unit 470 of the causal relationship hypothesis generating unit 412 includes, for each of the causal relationship seed pairs stored in the causal relationship seed pair DB 410, the phrase pair constituting the seed pair.
  • the word class to which the noun pair belongs is read from the word class DB 46, and the following processing (step 520 in FIG. 15) is performed. That is, the semantic relationship pattern matching unit 470 determines whether the read word class pair matches any of the semantic relationship patterns stored in the semantic relationship pattern DB 400 (step 522 in FIG. 15).
  • the identifier of the semantic relationship pattern group to which the semantic relationship pattern belongs is given to the word pair replacement unit 472 together with the causal relationship seed pair. If there is no matching semantic pattern, the process of the template replacement unit 476 shown in FIG. 13 is started to generate a new causal relationship hypothesis rewritten using the contradiction expression for the causal relationship seed pair. The operation of the template replacement unit 476 will be described later.
  • the word pair replacement unit 472 executes the following processing for all matched patterns (step 524 in FIG. 15). That is, all word pairs to which identifiers of semantic relationship pattern groups to which the matched semantic relationship patterns belong are read from the word pair DB 402 (step 526 in FIG. 15). The following processing is executed using each of the read word pairs (step 528 in FIG. 15). First, the noun pair of both the cause phrase and the result phrase constituting the causal relationship seed pair is replaced with the read word pair (step 530 in FIG. 15).
  • the score calculation unit 474 calculates a causal relationship strength score for each causal relationship hypothesis by a method similar to that performed in step 454 in FIG. 12 (step 532 in FIG. 15), and adds the causal relationship hypothesis to the causal relationship hypothesis.
  • the data is output to the hypothesis DB 416 (step 534 in FIG. 15).
  • the above processing is executed for all word pairs read out in step 526.
  • the process of the template replacement unit 476 is started (step 536).
  • the template replacement unit 476 reads all the inconsistent expressions of the cause phrase and the result phrase constituting the causal relationship seed pair being processed from the inconsistency expression dictionary 422 (step 536 in FIG. 15). The template replacement unit 476 further replaces the cause phrase and the result phrase of the causal relationship seed pair being processed by using the contradiction expressions thereof, using all combinations of the contradiction expression of the cause phrase and the contradiction expression of the result phrase. By doing so, a new causal relationship hypothesis is generated (step 538 in FIG. 15) and given to the score calculation unit 474. The score calculation unit 474 calculates a causal relationship strength score for each causal relationship hypothesis by a method similar to that performed in step 454 in FIG. 12 (step 540 in FIG. 15), and the causal relationship strength for each causal relationship hypothesis. A score is attached and output to the causal relationship hypothesis DB 416 (step 542 in FIG. 15), and the process proceeds to the next causal relationship seed pair.
  • the causal relationship hypothesis generation unit 412 executes the above processing for all the causal relationship seed pairs, so that many new causal relationship hypotheses with scores are generated based on the causal relationship seed pairs and added to the causal relationship hypothesis DB 416.
  • the causality hypothesis generated as described above includes many invalid ones. Therefore, it is necessary to remove such a false causal hypothesis.
  • the causal relationship hypothesis filtering unit 418 shown in FIG. 11 performs the processing.
  • the noun appearance frequency calculation unit 558 of the causal relationship hypothesis filtering unit 418 calculates the noun appearance frequency in the causal relationship hypothesis stored in the causal relationship hypothesis DB 416 for each noun, and the noun appearance frequency. Store in the DB 560. This is preparation for the filtering process by the filtering unit 556 based on the appearance frequency of the noun.
  • the modified noun extraction unit 562 searches the WEB archive 44 and modifies the modified noun modified with the modifier in the form of “A of B” (noun corresponding to “B” in “B of A”). Are extracted and stored in the excluded word DB 564. This is preparation for filtering processing by the filtering unit 566 based on excluded words.
  • the causal relationship hypothesis filtering unit 418 first performs filtering by the consistency verification filtering unit 550.
  • the consistency verification filtering unit 550 converts any of the nouns n 1 and n 2 of the phrase pair noun pair (n 1 , n 2 ) constituting the hypothesis into a causal phrase in another causal relationship. Is also shown in the result phrase. If any noun meets this condition, the consistency verification filtering unit 550 removes the causality hypothesis.
  • the consistency verification filtering unit 550 gives a causal relationship hypothesis other than this to the filtering unit 552 based on relevance.
  • the filtering unit 552 based on relevance calculates the relevance of the noun pair of the phrase pair constituting the causality hypothesis, removes the causal hypothesis whose relevance is lower than the threshold, The causal relationship hypothesis is given to the filtering unit 554 by the appearance order verification.
  • the mutual information (PMI) of noun pairs is used as the relevance.
  • other indices may be used as the degree of association of the noun pair.
  • the filtering unit 554 by the appearance order verification filters the causal relationship hypotheses based on the order in which they appear in the WEB archive 44 for each of the phrase pairs constituting the causal relationship hypotheses given from the filtering unit 552 by the degree of association. Specifically, the filtering unit 554 based on the appearance order verification causes the phrase pair constituting the causal relationship hypothesis to co-occur in a certain sentence in the WEB archive 44, and the result phrase appears before the cause phrase. The other causal relationship hypotheses are excluded, and the others are output to the filtering unit 556 based on the appearance frequency of nouns.
  • the noun appearance frequency filtering unit 556 performs filtering based on the appearance frequency in the WEB archive 44 of the noun pairs of the phrase pairs constituting the causal relationship hypotheses given from the relevance degree filtering unit 552. Specifically, the filtering unit 556 based on the frequency of appearance of nouns, with regard to the causal relationship hypothesis, one of the noun pairs of the phrase pair constituting the causal relationship appears at a frequency exceeding the threshold in the causal relationship hypothesis. If so, the causal hypothesis is excluded. The filtering unit 556 based on the appearance frequency of the noun gives the other causal relationship hypotheses to the filtering unit 566 based on the excluded word.
  • the exclusion word filtering unit 566 determines whether or not the causal relationship hypothesis given from the noun appearance frequency filtering unit 556 includes the exclusion word stored in the exclusion word DB 564 and excludes the exclusion word including the exclusion word. .
  • the filtering unit 566 based on excluded words stores only the causal relationship hypothesis not including the excluded word in the causal relationship phrase pair DB 70.
  • causal relationship phrase pair DB 70 When the filtering by the causal relationship hypothesis filtering unit 418 is completed in this way, many causal relationship phrase pairs are stored in the causal relationship phrase pair DB 70.
  • the filtering by the consistency verification filtering unit 550, the filtering unit 552 by the relevance degree, the filtering unit 554 by the appearance order verification, the filtering unit 556 by the appearance frequency of nouns, and the filtering unit 566 by excluded words is performed. It is done in order.
  • the processing order may be changed. Some processing may be excluded. Alternatively, these processes are executed in parallel with each other, and a score matching each purpose is assigned to each causality hypothesis, and the causality hypothesis is adopted depending on whether the product or sum exceeds the threshold. / Exclusion may be determined.
  • social scenario candidate generation unit 580 performs causal consistency between a phrase having a causal phrase pair stored in the causal phrase pair DB 70 and a phrase having another causal phrase pair.
  • a social scenario is generated by linking causal phrase pairs having the former as a result phrase and the latter as a cause phrase.
  • a longer social scenario can be generated by linking the generated social scenario with another causal relationship.
  • the social scenario candidate generation unit 580 sets the number of causal relationships to be linked to a certain value or less, but such a restriction is not necessary when generating social scenarios interactively, for example. .
  • the first synonym relation generation unit 600 of the social scenario candidate generation unit 580 performs the following processing for each causal relationship phrase pair stored in the causal relationship phrase pair DB 70. That is, the noun of the result phrase (this is the first phrase) of the causal phrase pair is specified. Among the causal relationship phrase pairs stored in the causal relationship phrase pair DB 70, the causal relationship phrases having nouns that match this noun in the cause phrase are collected. Furthermore, it is determined whether or not the polarity of the predicate template of the causal phrase (this is the second phrase) of the collected causal phrase pair matches the polarity of the predicate template belonging to the first phrase. .
  • the link information is an ordered pair of an identifier of a causal phrase pair including a first phrase and an identifier of a causal phrase pair including a second phrase.
  • the second synonym relation generation unit 602 determines causal consistency based on the evaluation polarity of the phrase, generates connection information for linking two causal relationship phrase pairs according to the result, and outputs the connection information to the connection information generation unit 608. To do. Specifically, the second synonym relation generation unit 602 performs the following process for the result phrase of any causal relation phrase pair.
  • a causal phrase pair having a cause phrase including the same noun as the noun of the result phrase (referred to as the first phrase) of the causal phrase pair is collected. If the cause phrase of the collected causal phrase pair (referred to as the second phrase) has the same polarity, the causal phrase pair having the first phrase as the result phrase and the second phrase Chain a causal phrase pair having a phrase as a cause phrase.
  • an order pair consisting of the former identifier and the latter identifier is given to the connection information generation unit 608 as connection information.
  • the third synonym relation generation unit 604 determines causal consistency based on the similarity of the appearance contexts of phrases in a large amount of documents, and outputs connection information of two causal relation phrase pairs. Specifically, the third synonym relation generation unit 604 executes the following processing.
  • the distribution similarity calculation unit 616 refers to the causal relationship hypothesis DB 416 and the WEB archive 44, and calculates the distribution similarity in the WEB archive 44 for each combination of phrases that appear in the causal relationship hypothesis DB 416. , Stored in the template distribution similarity DB 614.
  • the third synonym relation generation unit 604 generates the template distribution similarity DB 614 for each phrase pair having the same noun and the same phrase polarity for the phrases of the causal phrase pair stored in the causal phrase pair DB 70. Read the distribution similarity. If this distribution similarity is less than the threshold, the phrase pair is discarded. If the distribution similarity is greater than or equal to the threshold value, a causal phrase pair having one of them as a result phrase and a causal phrase pair having the other as a cause phrase can be linked. The third synonym relation generation unit 604 gives the ordered pair of identifiers of such causal relationship phrase pairs to the connection information generation unit 608.
  • connection relationship generation unit 606 outputs connection information for linking two causal relationship phrase pairs by a link based on a semantic relationship. Specifically, the connection relationship generation unit 606 executes the following processing.
  • the connected relationship generation unit 606 includes a noun (first noun) included in a result phrase of a causal relationship phrase pair and a noun (second noun) included in a cause phrase of another causal phrase pair. It is determined whether or not the attached word pair is stored in the word pair DB 402. When the word pair is stored in the word pair DB 402, a link representing the semantic relationship of the word pair is present between the result phrase including the first noun and the cause phrase including the second noun. It is considered that it has been established. Therefore, the connection relationship generation unit 606 generates connection information from one to the other for such a pair of causal relationship phrase pairs, and outputs it to the connection information generation unit 608.
  • the link information in this case is an ordered pair consisting of the identifier of the causal phrase pair having the result phrase having the first noun and the identifier of the causal phrase pair having the cause phrase having the second noun. .
  • connection information generation unit 608 Based on the connection information received from the first synonym relationship generation unit 600, the second synonym relationship generation unit 602, the third synonym relationship generation unit 604, and the connection relationship generation unit 606, the connection information generation unit 608 performs each causality A tree having a related phrase pair as a first layer node and a causal related phrase pair that can be chained from the causal related phrase pair of each node as a second layer node is generated.
  • the tree to be output is stored in the connection relation DB 610 that stores the tree.
  • the causal relationship connection unit 612 performs this operation to generate a social scenario candidate having a predetermined length or less and outputs it to the social scenario candidate DB 618.
  • the social scenario ranking unit 582 shown in FIG. 17 calculates the score of the social scenario based on the strength of each causal relationship constituting the social scenario generated by the social scenario candidate generation unit 580, A social scenario whose score is equal to or greater than a threshold value is selected and output to the social scenario DB 38.
  • social scenario ranking unit 582 specifically performs the following processing.
  • the social scenario ranking unit 582 calculates, for each social scenario, the score of the social scenario by multiplying the causal relationship strength scores of the individual causal relationships constituting the scenario.
  • the causal relationship strength score here is a score calculated by the step 454 of FIG. 12 and the score calculation unit 474 of FIG.
  • the connection relation generation unit 606 shown in FIG. Is given a constant. These may all be the same or different values.
  • the overall causal relationship score calculation unit 640 stores the social scenario in the social scenario candidate DB 642 with a score by attaching the score calculated for each social scenario in this way.
  • the social scenario sorting unit 644 sorts the social scenario candidates stored in the scored social scenario candidate DB 642 in descending order of the scores, and stores the sorted social scenario candidates in the sorted social scenario candidate DB 646.
  • the social scenario selection unit 648 selects only the social scenarios stored in the sorted social scenario candidate DB 646 and has a score equal to or higher than the threshold value, and outputs the selected social scenario to the social scenario DB 38.
  • the social scenario generation system 30 allows a large number of phrases including not only a causal phrase existing in the WEB archive 44 but also a semantic relation of word pairs to be linked by a causal relation.
  • Social scenarios can be generated.
  • the causal relationship hypothesis generated by the semantic relationship between the word pairs described above is also used to generate the social scenario. Therefore, not only the phrases existing on the WEB archive 44 but also the WEB archive in reality.
  • Various social scenarios including phrases that cannot be found in 44 can be generated. As a result, it can provide many social scenarios that can be used as a reference when making decisions taking all risks and opportunities into account.
  • the score of the social scenario is calculated by multiplying the score calculated for each causal phrase pair obtained in the generation process of the social scenario.
  • the social scenario ranking method is not limited to the method of the above-described embodiment. Various ranking methods different from this method can be adopted.
  • the score of a social scenario is described in how many documents on the Internet 40 the social scenario or a part thereof (referred to as “partial scenario”) is published. The score of the social scenario is calculated based on the degree of coincidence between the location and the partial scenario in the social scenario.
  • the social scenario ranking unit 670 shown in FIG. 20 is for ranking social scenarios by the above processing.
  • the social scenario ranking unit 670 can be used in place of the social scenario ranking unit 582 shown in FIGS.
  • social scenario ranking unit 670 replaces overall causality score calculation unit 640 shown in FIG.
  • a partial scenario score calculation unit 700 that calculates a score of a partial scenario based on how it is described, and a partial scenario that stores the partial scenario calculated by the partial scenario score calculation unit 700 in association with the partial scenario for each social scenario
  • multiplication or addition of the partial scenario scores Social scenario as an increasing function for partial scenarios, etc.
  • Calculating the core, and an entire causal relationship score calculating unit 704 outputs the scored social scenario candidate DB642 subjected to social scenario.
  • the social scenario ranking unit 670 can be realized by computer hardware and a computer program executed on the computer hardware, like many other functional units.
  • FIG. 21 shows a control structure of a computer program for this purpose in the form of a flowchart. This program is for executing the processing described above for a certain social scenario.
  • the program executed by partial scenario score calculation unit 700 includes step 740 of executing the following processing for all phrases of the social scenario to be processed. That is, in step 740, the noun of the phrase is replaced with a word (synonym) of the same class to generate a new phrase, and the phrase template is replaced with another template of the same polarity.
  • Steps 742, 744 and 746 are processes executed for each phrase in step 740.
  • the program further includes a step 748 of executing the following processing for all of the partial scenarios obtained by combining the obtained phrases after step 740 is completed.
  • Step 748 includes Step 750 for executing the following processing for all documents on the Internet 40.
  • all the documents here may be limited to only documents existing on a predetermined site on the Internet 40.
  • Step 750 determines whether or not the document to be processed includes all phrases or paraphrases (parts saved in Step 746) of the partial scenario of the social scenario to be processed.
  • Step 752 for branching control accordingly, and when the determination in step 752 is affirmative, the phrase or paraphrase that appears in the document appears in the same order as the original phrase in the partial scenario.
  • Step 754 for determining whether or not, and Step 758 for adding the number of occurrences of the partial scenario when the determination at Step 754 is affirmative, and Step 754 for negative when Step 754 is negative
  • Determining 756 whether a phrase or paraphrase appearing in the document is in the adjacent N sentence. If YES in step 756, control proceeds to step 758. If NO in step 756 and NO in step 752, control proceeds to processing for the next document.
  • step 750 When the processing in step 750 is completed for all documents, the control proceeds to step 760.
  • step 760 the score for the partial scenario being processed is calculated by a score calculation function that is a function of the number of appearances calculated in step 758 and the result increases as the number of appearances increases.
  • step 762 the score of the social scenario being processed is a function of the score of the partial scenario included in the social scenario, and is calculated by a score calculation function that increases as the score of the partial scenario increases. It is given as a score to the social scenario.
  • the importance score may be given to the document, and the score of the social scenario may be increased or decreased according to the score of the document describing the partial scenario.
  • a document importance score for example, a so-called PageRank value or the like can be used.
  • the importance of the document may be weighted according to the type of domain of the site where the document is posted. For example, a document placed on a site of a domain such as a government, educational institution, or international institution may have a higher importance score than other documents. For anonymous blogs, the importance score may be lower than others.
  • the score of those partial scenarios is increased, and the score of the social scenario including them is increased accordingly. You may make it do. In this case, the score may be higher as the overlapping portion is wider.
  • the number of occurrences of the partial scenario in the document is counted including the paraphrase obtained by paraphrasing the noun and the predicate template in the phrase.
  • the present invention is not limited to such an embodiment. Embodiments in which nouns or predicate templates or both are not rephrased are possible.
  • Both phrases consist of one noun and one active or inactive template. For example, “I have (cold)” and “Prevent (cold)”.
  • Two nouns included in both phrases are synonymous (or identical) to each other. For example, a combination such as ⁇ cold, cold> or ⁇ cold, cold>.
  • One of the two templates included in both phrases is active and the other is inactive. For example, a pair of “being affected” (active) and “preventing” (inactive).
  • the two templates share many nouns that co-occur on the Internet (connecting dependency relationships). That is, these two templates have a high distribution similarity.
  • the common nouns that co-occur with “cold” may be cold, cold, pneumonia, etc.
  • the nouns that co-occur with “prevent” include cold, cold, pneumonia, fire, disaster, etc.
  • the distribution similarity between the two is high.
  • Each phrase has an appearance frequency on the Internet that is equal to or higher than a predetermined threshold. That is, the noun of each phrase and the template form a dependency relationship with a frequency equal to or higher than the threshold value. For example, the occurrence frequency of “(cold)” ⁇ threshold value and the occurrence frequency of “(prevent) (cold)” ⁇ threshold value must both hold.
  • a phrase pair in which a noun is an antonym may be used as a contradictory phrase pair.
  • the distribution similarity of both in a large amount of document corpus for example, WEB archive 44
  • a database verified manually can be used.
  • a similar method can also be used to determine the noun anomaly.
  • the score of the social scenario may be lowered. For example, “... ⁇ Coup occurs ⁇ Security deteriorates ⁇ ... ⁇ Security improves”.
  • FIG. 22 shows the external appearance of the computer system 930
  • FIG. 23 shows the internal configuration of the computer system 930.
  • the computer system 930 includes a computer 940 having a memory port 952 and a DVD (Digital Versatile Disc) drive 950, a keyboard 946, a mouse 948, and a monitor 942.
  • a computer 940 having a memory port 952 and a DVD (Digital Versatile Disc) drive 950, a keyboard 946, a mouse 948, and a monitor 942.
  • DVD Digital Versatile Disc
  • the computer 940 boots up a CPU (Central Processing Unit) 956, a bus 966 connected to the CPU 956, the memory port 952, and the DVD drive 950.
  • a read only memory (ROM) 958 that stores programs and the like, and a random access memory (RAM) 960 that is connected to the bus 966 and stores program instructions, system programs, work data, and the like are included.
  • the computer system 930 further includes a network interface (I / F) 944 that provides a connection to a network that enables communication with other terminals.
  • I / F network interface
  • a computer program for causing the computer system 930 to function as each functional unit constituting the system of each embodiment described above is stored in the DVD 962 or the removable memory 964 attached to the DVD drive 950 or the memory port 952, and further, the hard disk 954.
  • the program may be transmitted to the computer 940 through a network (not shown) and stored in the hard disk 954.
  • the program is loaded into the RAM 960 when executed.
  • the program may be loaded directly into the RAM 960 from the DVD 962, from the removable memory 964, or via a network.
  • This program includes a plurality of instructions for causing the computer 940 to function as each functional unit of the system according to the above embodiment. Some of the basic functions required to perform this operation are provided by operating system (OS) or third party programs running on the computer 940, or modules of various programming toolkits installed on the computer 940. The Therefore, this program does not necessarily include all functions necessary for realizing the system and method of this embodiment.
  • This program includes only instructions that realize the functions of the system described above by calling appropriate functions or appropriate program tools in a programming tool kit in a controlled manner so as to obtain a desired result. Should be included.
  • the operation of computer system 930 is well known. Therefore, it does not repeat here.
  • the present invention is useful information that can be inferred from the relationship between matters described on the basis of a large amount of documents in a wide range of fields that can be used electronically. It can be applied to a system that provides users with information that cannot be obtained in the form of social scenarios, and suggests appropriate actions to be taken next based on such social scenarios.

Abstract

【課題】バランスのとれた適切な意思決定を人々が下すために有用な社会シナリオを生成する基礎となる要素を収集するシステムを提供する。 【解決手段】シナリオ生成装置は、因果関係フレーズペアを記憶する因果関係フレーズペアDB70と、因果関係フレーズペアの各々につき、その結果フレーズと因果的一貫性がある原因フレーズを持つ因果関係フレーズペアを検索し、因果関係フレーズペアの連結情報を生成する同義関係生成部600、602、604と、連結情報を記憶する連結関係DB610と、連結情報を用い、因果関係フレーズペアの結果フレーズに、そのフレーズと因果的一貫性を持つ原因フレーズを持つ因果関係フレーズペアを連鎖させることで因果関係を連鎖させる因果関係連結部612とを含む。フレーズ間の隠された関係を見出して因果関係フレーズペアを連鎖させる連結関係生成部606を設けてもよい。

Description

シナリオ生成装置、及びそのためのコンピュータプログラム
 この発明は、大量の文書に記載された情報から、それら文書に記載された情報を超える範囲で、あらゆるリスクとチャンスとを考慮した、因果関係の連鎖からなる情報を生成するための技術に関する。
 現代社会のように、動きが複雑かつ大規模で、しかもその動きの影響が全世界に及ぶ可能性があるような社会では、いかにして将来を予測していくかが重要である。予測に基づいて準備を進めることにより、「不測の事態」が発生することが避けられる。このような予測は、政治、経済、その他もろもろの日常生活においてバランスのとれた適切な意思決定を下すうえで欠かせない。
 しかし、考慮すべき情報が大量でかつ常に変化している現状に鑑みると、個人の限られた知識と想像力とに頼るだけでは適切な予測を得ることは難しい。気象の予測のように、限られた範囲のデータで限られた事象を予測することについては実用化されてはいるが、そうした考え方を社会の動きに適用しようとする発想自体、これまでは存在していなかった。
Hiroya Takamura, Takashi Inui, and Manabu Okumura. Extracting Semantic Orientations of Words using Spin Model. In Proceedings of the 43rd Annual Meeting of the ACL, pp. 133-140. 2005.(極性値の自動算出手法)
 個人の能力を補強するための有力なツールとしてコンピュータがある。例えば情報を記憶することに関しては個人の能力はコンピュータに遠く及びない。また、高度な自然言語処理技術も開発されている。こうした情報の記憶能力と自然言語処理技術とを駆使した質問応答システムも実現され、自然言語での質問に対して高い精度で正しい回答を提供することが可能になっている。
 しかし、このような従来技術は、「○○とは何か?」のような、いわゆるWhat型の質問には答えられても、「どうなる」型の質問には答えることができない。したがって、将来を予測することに関する上記したような問題を解決することは難しい。この問題を解決する上では、コンピュータの力を生かして、あらゆるリスクとチャンスとを考慮した、将来起こり得る事象を予測できれば、人々の意思決定に役立つものと思われる。本明細書では、このような予測のために、因果関係の連鎖からなる「社会シナリオ」と呼ぶ情報を生成する。従来の質問応答システムでは、このように将来を予測し、人々の意思決定に役立つような情報を提供することはできない。そうした処理を可能にするためには、一般的な自然言語の情報から、社会シナリオを生成するために、因果関係を構成する要素を収集する必要がある。
 それ故にこの発明の目的は、バランスのとれた適切な意思決定を人々が下すために有用な社会シナリオを生成するための基礎となる要素を収集するシステムを提供することである。
 本発明の第1の局面に係るシナリオ生成装置は、多数の因果関係フレーズペアを記憶するフレーズペア記憶手段と、フレーズペア記憶手段に記憶されたフレーズペアのうち、因果関係として連鎖可能なものを連鎖させることにより、フレーズ列からなるシナリオを生成するためのシナリオ生成手段とを含む。多数の因果関係フレーズペアの各々は、因果関係の原因フレーズと結果フレーズとを含む。各フレーズは、名詞と、当該名詞に続く述語テンプレートとを含む。シナリオ生成手段は、多数の因果関係フレーズペアの各々について、当該因果関係フレーズペアの結果フレーズと因果的一貫性がある原因フレーズを持つ因果関係フレーズペアをフレーズペア記憶手段内で検索し、因果関係フレーズペアの連結情報を生成する連結情報生成手段と、連結情報生成手段により生成された連結情報を記憶する連結情報記憶手段と、任意のフレーズペアを初期シナリオとして指定する初期シナリオ指定手段と、連結情報記憶手段に記憶された連結情報を用いて、シナリオの末尾の結果フレーズと因果的一貫性を持つ原因フレーズを持つフレーズペアをフレーズペア記憶手段から検索し、シナリオの末尾に当該検索された因果関係フレーズペアを連鎖させる連鎖手段とを含む。連鎖手段は、初期シナリオ指定手段により指定された初期シナリオを起点として予め定められた終了条件が成立するまで、シナリオの末尾に因果関係フレーズペアを連鎖させることによりシナリオを生成する。
 好ましくは、述語テンプレートには予め極性が割当てられており、連鎖手段は、因果的一貫性を持つフレーズペアを、各フレーズに含まれる述語テンプレートの極性を用いてフレーズペア記憶手段から検索する。
 さらに好ましくは、連結情報生成手段は、多数の因果関係フレーズペアの各々について、当該因果関係フレーズペアの結果フレーズと同一性のある名詞を共有する原因フレーズであって、かつ極性が同じ述語テンプレートを持つ原因フレーズを持つ因果関係フレーズペアをフレーズペア記憶手段内で検索し、検索された因果関係フレーズペアへの、元の因果関係フレーズペアからの連結情報を生成する手段を含む。
 より好ましくは、連結情報生成手段は、多数の因果関係フレーズペアの各々について、当該因果関係フレーズペアの結果フレーズと同一性のある名詞を共有し、かつフレーズ全体の評価極性が同じ原因フレーズを持つ因果関係フレーズペアをフレーズペア記憶手段内で検索し、検索された因果関係フレーズペアへの、元の因果関係フレーズペアからの連結情報を生成する手段を含む。
 さらに好ましくは、連結情報生成手段は、コーパス内での述語テンプレートの分布類似度を記憶する分布類似度記憶手段と、多数の因果関係フレーズペアの各々について、当該因果関係フレーズペアの結果フレーズと同一性のある名詞を共有し、かつ述語テンプレートの分布類似度がしきい値以上の原因フレーズを持つ因果関係フレーズペアをフレーズペア記憶手段内で検索し、検索された因果関係フレーズペアへの、元の因果関係フレーズペアからの連結情報を生成する手段を含む。
 連結情報生成手段はさらに、互いに所定の意味的関係を有する第1及び第2の単語からなる単語対を、第1及び第2の単語の順序で順序付で記憶する単語対記憶手段と、単語対記憶手段に記憶された単語対の各々について、当該単語対の第1の単語を持つ因果関係フレーズペアに、当該単語対の第2の単語を持つ因果関係フレーズペアを連結させる連結情報を生成する手段を含んでもよい。
 本発明の第2の局面に係るコンピュータプログラムは、コンピュータを、上記したいずれかのシナリオ生成装置の全ての手段として機能させる、コンピュータプログラム。
本発明の第1の実施の形態に係る社会シナリオ生成システムのブロック図である。 図1に示す単純述語テンプレート収集部のより詳細なブロック図である。 単純述語テンプレートに関するテンプレートネットワークの構成を模式的に示す図である。 テンプレートネットワーク構築部を実現するプログラムの制御構造を示すフローチャートである。 テンプレートネットワークの構築において、リンクを追加する処理を実現するプログラムの制御構造を示すフローチャートである。 単純述語テンプレートの活性値の算出処理を実現するプログラムの制御構造を示すフローチャートである。 図1に示す複雑述語テンプレート収集部の機能的構成を示すブロック図である。 図7に示す複雑述語テンプレート候補抽出部をコンピュータにより実現するプログラムの制御構造を示すフローチャートである。 図7に示すサ変名詞極性付与部を実現するプログラムの制御構造を示すフローチャートである。 図7に示すトラブル名詞極性付与部を実現するプログラムの制御構造を示すフローチャートである。 図1に示す因果関係フレーズペア収集部の機能的構成を示すブロック図である。 図11に示す因果関係シードペア収集部をコンピュータにより実現するプログラムの制御構造を示すフローチャートである。 図11に示す因果関係仮説生成部の機能的構成を示すブロック図である。 図11に示す単語対抽出部の機能的構成を示すブロック図である。 図13に示す因果関係仮説生成部412をコンピュータにより実現するプログラムの制御構造を示すフローチャートである。 図11に示す因果関係仮説フィルタリング部の機能的構成を示すブロック図である。 図1に示す社会シナリオ生成部の機能的構成を示すブロック図である。 図17に示す社会シナリオ候補生成部の機能的構成を示すブロック図である。 図17に示す社会シナリオランキング部の機能的構成を示すブロック図である。 本発明の第2の実施の形態における社会シナリオランキング部の機能的構成を示すブロック図である。 図20に示す部分シナリオスコア算出部をコンピュータにより実現するためのプログラムの制御構造を示すフローチャートである。 本発明の実施の形態に係る社会シナリオ生成システムを実現するためのコンピュータの外観を示す模式図である。 図22に示すコンピュータのハードウェア構成を説明するブロック図である。
 以下の説明及び図面では、同一の部品には同一の参照番号を付してある。したがって、それらについての詳細な説明は繰返さない。
 以下の説明では、最初に本実施の形態で使用される基本概念を示す。さらに、それらを用いてどのようにして因果関係表現を認識できるかを述べる。続いて、認識した因果関係を組合せることによりいかにして社会シナリオを生成するかを示す。
 なお、以下の説明は日本語についてのものであるが、日本語以外の言語であっても、その言語の特性を考慮したうえで、以下の説明と同様の考え方で単純述語テンプレート及び複雑述語テンプレートの収集を行なうことができる。
 [基本概念]
 《述語テンプレート》
 述語テンプレートとは、因果関係を構成する文の要素である。本実施の形態では、述語テンプレートは、単純述語テンプレートと複雑述語テンプレートとに分類される。以下の説明では、単純述語テンプレートと複雑述語テンプレートとを総称して述語テンプレートと呼ぶ。述語テンプレートには後述するように極性が付与される。
 《単純述語テンプレート》
 日本語において、助詞と述語との組合せ(例:<を、食べる>)のように1つの助詞と1つの述語とを結び付けたものを「単純述語テンプレート」と呼ぶ。例えば「が進行する。」、「を防ぐ。」、「が顕現する。」等である。この場合、文中では、単純述語テンプレートを構成する助詞の直前には、述語の主語、目的語等が配置される。
 《複雑述語テンプレート》
 日本語の場合、助詞「の」と、1つの名詞と、単純述語テンプレートとを結び付けたものを「複雑述語テンプレート」と呼ぶ。本実施の形態では、名詞はいわゆるサ変名詞と、後述するような「トラブル名詞」と、数量名詞とからなる。例えば「の減少が進行する。」、「の抑制を防ぐ。」、「の事故を防ぐ。」、「の欠点が顕現する。」、「の台数を増やす。」等である。
 《フレーズ》
 日本語の場合、フレーズとは、名詞+述語テンプレートの形式を持つ文字列のことを言う。フレーズはまとまりのある1つの事柄を言い表していると考えられる。
 《因果関係》
 因果関係とは、本実施の形態では、原因となる事柄を述べたフレーズ(原因フレーズ)とその結果となる事柄を述べたフレーズ(結果フレーズ)との組からなる。
 《極性》
 以下では、述語テンプレートの極性について説明する。次に、単純述語テンプレート及び複雑述語テンプレートの極性の自動獲得手法について述べる。最後に、分類された述語テンプレートのアプリケーションについて述べる。
 (1) 述語テンプレートの極性
 本実施の形態では、全体のシステムの入力となるテキストに現れる述語テンプレートを以下のテーブル1に示す3種に分類する。
Figure JPOXMLDOC01-appb-T000001
 本実施の形態では、以上の述語テンプレートの分類はその述語テンプレートを含むテキストから自動的に行なわれる。その際、活性述語テンプレートには正の活性値を、不活性述語テンプレートには負の活性値を、それぞれ割当てる。活性値の具体的な計算法は単純述語テンプレートと複雑述語テンプレートとで異なるが、それらについては後述する。中立動詞とは、計算の結果得られた活性値の絶対値があるしきい値以下のもののことをいう。本明細書では、上述の「活性」、「不活性」及び「中立」に関する分類と、各述語テンプレートに付された活性値との両者を総称して述語テンプレートの「極性」と呼ぶ。
 否定の助動詞「ない」等が述語に続く場合には、述語と否定の助動詞を併せたものを1つの述語と考え、その活性値として、元の述語の活性値の正負を逆転させたものを用いる。
 (2)単純述語テンプレートへの極性の割当
 単純述語テンプレートへの極性の割当は自動的に計算される。極性割当の手がかりとして以下のような言語学的性質、制約を考える。まず、名詞の対を考え、対を成す名詞の間の因果関係という概念を導入する。
 因果関係を持つ名詞の対には以下のテーブル2に示す2種類の関係がある
Figure JPOXMLDOC01-appb-T000002
 これら名詞の対と、単純述語テンプレートの活性値を掛け合わせた値(積)の極性(符号)との間には以下のような関係がある。すなわち、(1)順接の接続詞、接続助詞、又はその他の接続表現(以下、単に「接続詞等」と呼ぶ。)(~ので、~ため、~て、等)で結ばれた2つの単純述語テンプレートについては、その活性値の積の極性は、正の因果関係を持つ名詞句が2つの単純述語テンプレートと係り受けを持つ場合には、正になる。(2)逆に、順接の接続詞等で結ばれた2つの単純述語テンプレートと、負の因果関係を持つ名詞句が係り受けを持っている場合には積の極性は負になる。(3)逆接の接続詞等(~が、~にもかかわらず等)で2つの動詞が結ばれている場合には積の極性は(1)(2)と逆になる。
 これらの関係について例を挙げると以下のテーブル3のとおり。なお、名詞の対<地震、津波>は正の因果関係を持ち、<抗がん剤、ガン>は負の因果関係を持つ。
Figure JPOXMLDOC01-appb-T000003
 なお、同義/含意の関係を持つ単純述語テンプレートの組は同じ極性を持つ。例えば「(ワクチン)を処方する」と「(ワクチン)を注射する」とは両方とも極性は正であり、「(地震)が発生する」と「(地震)が起きる」についても極性は両方とも正である。ただし、活性値が同一であるとは限らない。
 具体的な活性値の計算においては、以上に例示したようなテキスト、つまり、各々名詞と結び付き、かつ互いに順接の接続詞等で連結された2つの単純述語テンプレートからなる表現をインターネットなどのコーパスから大量に収集する。それら単純述語テンプレート間、及び同義/含意関係を持つ単純述語テンプレートの対の間でリンクをはることにより、単純述語テンプレートのネットワークを作る。リンクには上で述べたような、単純述語テンプレートの極性が同一かどうかの情報を属性として付与する。このネットワーク上の少数の単純述語テンプレートには、あらかじめ、人手で+1又は-1の活性値を付与する。そのネットワーク上で、後述するように量子力学での電子スピンのエネルギーに類似したエネルギーを定義する事が可能である。そのエネルギーを最適化(ここでは最小化)する計算を行ない、一種の制約解消をすることで、単純述語テンプレートの極性及び名詞ペアの因果関係の極性をブートストラップ的かつ大局的に決定及び計算できる。この活性値の算出手法については非特許文献1を参照されたい。
 なお、後述の活性値の割当てアルゴリズムはあくまで一例であり、上記言語学的制約を考慮したエネルギー関数に基づいて具体的な活性値を求める手法は他にも存在する可能性がある。
 (3)複雑述語テンプレートの極性の割当
 複雑述語テンプレートの出現頻度は単純述語テンプレートに比べて低い。そのため、従来のように統計的情報のみに基づいて複雑述語テンプレートの極性を判定しようとすると、高い信頼性を得ることはかなり難しいことが予測される。しかし、以下に述べる実施の形態では以下のようにして複雑述語テンプレートの極性を自動的に割当てる。
 すなわち、以下に述べる実施の形態では、活性を+1、不活性を-1と表現し、複雑述語テンプレートを構成する名詞及び単純述語の活性の積をその複雑述語テンプレートの極性とみなす。具体的に、「の減少が進行する」という複雑述語テンプレートの極性は以下のようにして決定する。「減少」という名詞の極性は不活性(-1)、「が進行する」という単純述語テンプレートの極性は活性(+1)、したがって「の減少が進行する」という複雑述語テンプレートの極性は-1×(+1)=-1となる。
 ただし、全ての名詞について極性を示す情報を予め準備することは難しい。そこで、本実施の形態では、サ変名詞とトラブル名詞との場合には、以下のようにして各名詞について予め極性を示す情報を準備しなくても判定できるようにした。もっとも、これらの極性の判定には以下に述べるように注意が必要である。
 《サ変名詞》
 サ変名詞の極性については基本的には以下のようにして単純述語テンプレートから判定する。すなわち、サ変名詞については、基本的には、そのサ変名詞に対応する単純述語テンプレートの極性を付与する。サ変名詞に対応する単純述語テンプレートとは、サ変名詞の直前に存在する助詞が「ハ、ヲ、ガ、ニ、デ」となっている場合に、その助詞+サ変名詞の形で始まるものをいう。例えば「減少」については、直前の助詞が「が」であれば対応する単純述語テンプレートは「が減少する」(不活性)、「を」であれば「を減少する」(不活性)となり、いずれの場合も不活性である。したがってこれらの場合はいずれも「減少」の極性は不活性となる。一方、「抑制」の場合にはやや複雑である。例えば複雑テンプレート中で「抑制」の直前の助詞が「が」であれば、対応する単純述語テンプレートは「が抑制する」(活性)となって「抑制」の極性は活性となる。しかし、直前の助詞が「を」であれば、対応する単純述語テンプレートは「を抑制する」(不活性)となって、「抑制」の極性は不活性となる。したがって、複雑述語内のサ変名詞については、単純述語テンプレートとしてどのような助詞を伴うものを採用すべきかを文脈により決定する必要がある。これを決定するためには、複雑述語テンプレートが使用されている文脈の情報が必要である。複雑述語テンプレートの極性は複雑述語テンプレートだけでは決定できない。
 複雑述語テンプレートとは「名詞+『の』+{サ変名詞|トラブル名詞|数量名詞}+単純述語テンプレート」という形式である。これを利用して、以下に述べる実施の形態では、以下のようにしてサ変名詞の極性を決定できるようにする。まず、サ変名詞の直前の助詞(「の」など)の直前に存在する名詞が、サ変名詞を動詞化したもの(サ変動詞)と格助詞を伴って共起する頻度を各助詞についてコーパス上で調べる。この結果、特定の名詞と特定のサ変動詞との組合せと最も高い頻度で共起する格助詞が何かを知ることができる。また、その格助詞とサ変動詞との組合せは単純述語テンプレートであるから、その極性も簡単に判定できる。複雑述語テンプレートの極性としては、その極性を用いればよい。ただし、どの助詞が特定の名詞及び特定のサ変動詞と最もよく共起するかは、名詞及びサ変名詞が特定されないと決定できない。そこで、本実施の形態では、文脈依存のサ変名詞の複雑述語テンプレートについて、その極性を複雑述語テンプレートの抽出時に特定することはしない。実際のアプリケーションで、複雑述語テンプレートが出現する文脈が分かった時点で、サ変名詞の直前に現れる名詞と、サ変名詞から得られるサ変動詞との組合せにより、その間を結ぶ格助詞を決定する。その格助詞とサ変動詞とを先頭に持つ単純述語テンプレートを調べれば、その極性から元のサ変名詞の極性を判定できる。
 本実施の形態では、サ変名詞に対応する単純述語テンプレートが文脈依存の場合に備え、名詞と、サ変名詞との組合せごとに、両者を結ぶ格助詞としてコーパス上で最も頻度が高かったものを予め調べる。そして、単純述語テンプレートの中で、その格助詞を先頭に持ち、サ変名詞から得られるサ変動詞を持つ単純述語テンプレートを探し、その極性をサ変名詞の極性とする。この極性を名詞とサ変動詞との組合せごとに辞書に保持する。
 《トラブル名詞》
 トラブル名詞の場合には、その名詞の前にノ格でとる名詞がそのトラブルの被害者(物)と解釈できれば不活性、それ以外の場合には活性と判定する。例えば以下のようなものがある。以下の例では、「事故」及び「汚れ」がトラブル名詞である。
 -「(列車の)事故」は不活性
 -「(台所の)汚れ」は不活性
 -「(排油の)汚れ」は活性
 こうした判定方法を採用する場合、トラブル名詞の極性を判定するためには、その直前のノ格の名詞がトラブル名詞とどのような関係にあるかを判定する必要がある。以下に述べる実施の形態では、この極性を判定するために、トラブル名詞と、そのトラブル名詞の前にノ格を伴って共起する名詞との組合せごとに、極性を判定するためのパターン辞書を準備する。すなわち、トラブル名詞と、その直前の「ノ」格の名詞と、それらが共起するパターンとの組合せごとに、トラブル名詞の極性を予め定める。そして、ノ格で現れる名詞とトラブル名詞との具体的な組合せがどのようなパターンを伴ってコーパス内で実際に共起しているかをチェックすることで、トラブル名詞の極性を決定する。
 例えば「(トラブル名詞A)で(名詞a)が大破する」(不活性)、「(名詞b)が(トラブル名詞B)で動かない」(不活性)等のパターンで、名詞「列車」とトラブル名詞「事故」が共起しているならば、「(列車の)事故」というときの「事故」は不活性であると判定できる。逆に、ある名詞とトラブル名詞とが共起するパターンが活性パターンであれば、その名詞+「の」+トラブル名詞の形でのトラブル名詞の極性は活性となる。
 《数量名詞》
 数量名詞については、全て活性とみなしてよい。
 (4) 可能なアプリケーション
 こうした分類極性を使う事で以下のようなアプリケーションが可能となる。
 (A)フレーズ間の因果関係の自動認識手法
 活性値の積が正で、活性値の絶対値が大きい述語テンプレートの対が正の因果関係を持つ名詞と共起し、順接の接続詞等で結ばれた場合には因果関係を表している可能性が高い。活性値の積が負で、活性値の絶対値が大きい述語テンプレートの対が負の因果関係を持つ名詞と共起し、順接の接続詞等で結ばれた場合にも因果関係を表している可能性が高い。この性質を利用して、テーブル4に示すように、因果関係を表す2つの述語テンプレート及び正負の因果関係を持つ名詞ペアを含む表現をテキスト中で自動的に認識し、取得できる。
Figure JPOXMLDOC01-appb-T000004
 注意すべきこととして、例えば上に挙げた接続助詞「…て」は、因果関係を表すとは限らない。「…て」が因果関係以外を表す表現は無数に存在する。例えば、「風呂に入って、食事をする」の場合、風呂と食事との間には、因果関係は通常認められない。本実施の形態により、このような、因果関係ではないフレーズペアをうまく除外し、因果関係のみを精度高く取得できる。なお、因果関係を表す可能性がある日本語の接続詞等として、「…て」のほかに、「したがって」、「ゆえに」、「…ので」、「…ば」、「…と」、「…で」、「…から」、「…ため」、「…ために」等がある。
 このような順接の接続詞等を用いる表現の集合の中から、上記制約を考慮することで、フレーズ間の因果関係を高精度に獲得することが可能となる。因果関係が得られると、例えば、「地震が起きた」という情報から、「津波に襲われる可能性がある」という予測ができる。こうして取得された因果関係は、フレーズ間の意味的関係の自動獲得という非常に重要な技術にとって大きなファクターとなる。
 (B)フレーズ間の因果関係を組合せた仮説生成
 上記フレーズ間の因果関係の自動認識を併せ用いる事で、元となるテキストに「陽」に記載されていない因果関係を自動取得する事が可能となる。その手法の概略は以下のとおりである。
 まず、基となるテキストから、パターンによる名詞間の意味的関係の獲得(これには既存技術を利用できる)によって、例えば材料関係を自動的に獲得できる。すなわち、製品Bと材料Aとの間の関係が「AでBを作る」というようなパターンによって自動獲得できる。この自動獲得の結果、製品「超硬工具」の材料が「タングステン」であるという情報が取得出来たとする。次いで、この材料関係という意味的関係を持つことが分かった名詞の対、すなわち「超硬工具」と「タングステン」とからなる名詞の対とそれぞれ頻繁に共起する述語テンプレートで、互いの活性値の積が正であり、かつその活性値の絶対値が大きいものを選ぶ。選ばれた述語テンプレートを、それぞれ対となる名詞と並べる。すると、例えば、「タングステンを輸入して(活性値正)、超硬工具を製造する(活性値正)」というような、述語(動詞)と名詞とからなる動詞句の間の(広い意味での)因果関係が獲得できる。ここでの因果関係とは、「タングステンを輸入する」のは「超硬工具を製造する」ためである、というものである。
 このようにして獲得された因果関係自体が、テキスト中に「陽」に書かれていない場合もある。そのような場合には、上記した方法で因果関係に関する仮説が生成されたことになる。なお、この際、「輸入する」「製造する」といった動詞単体がよく一文内で共に出現する等の制約を用いてもよい。
 もっとも、WEB上の文書を大量に収集したとしても、そこに世の中の全ての因果関係が書かれている可能性はあり得ない。個人の限られた知識及び想像力を補い、あらゆるリスクとチャンスとを考慮した、バランスのとれた適切な意思決定を人々が下すことを支援するためには、因果関係を網羅的に収集することが必要である。そこで、以下に述べる実施の形態では、WEBに明示的には記載されていないような因果関係の仮説を大量に生成し、それらをフィルタリングすることで、世の中の全ての因果関係に対するカバー率と精度とを向上させる。
 具体的には、以下の実施の形態では次に述べるような2つの手法を用いて因果関係の仮説を生成する。
 (1)意味的関係に基づく因果関係仮説フレーズペア生成
 既に述べたとおり、名詞間の意味的関係を取得できる。この意味的関係を用いて、取得済の因果関係から多数の因果関係仮説を生成できる。
 具体的には、ある因果関係の原因フレーズに含まれる名詞と、結果フレーズに含まれる名詞との間に、ある意味的関係が存在するものとする。すると、同じ意味的関係を持つ別の名詞ペアについても、その因果関係が成立する可能性が高い。したがって、基になった因果関係の原因フレーズの名詞と、結果フレーズの名詞とを、同じ意味的関係を持つ名詞ペアで置換することにより新たな因果関係仮説を生成できる。
 意味的関係としては、例えば以下のようなものがある。
 -材料関係(例:<AでBを生産する>、(トウモロコシ、バイオ燃料)等)
 -必要関係(例:<AはBに必須だ>、(日光、光合成)等)
 -使用関係(例:<AをBに使う>、(iPS細胞、再生医療)、等)
 -予防関係(例:<AでBを防ぐ>、(ワクチン、インフルエンザ)、等)
 -因果関係(例:<AがBを引き起こす>、(糖尿病、脳こうそく)、等)
 このような意味的関係については、後述するように自動的に取得できる。
 (2)論理的関係(裏)による因果関係仮説フレーズペア生成
 ある因果関係が妥当である場合、その因果関係の裏も妥当な因果関係である可能性が高い。例えば「ストレスが増加する(原因)」→「不眠が続く(結果)」という因果関係が妥当である場合、その意味的な裏の因果関係、すなわち「ストレスが減少する(原因)」→「不眠が改善される」も妥当である可能性が高い。このような裏の表現を得るために、予め互いに矛盾する表現のデータベースを作成しておいてもよい。矛盾表現は、インターネットから因果関係と同様の手順で収集できる。
 以上のような方法で大量の因果関係及びその仮説を取得し、データベースにしておくことによって、実際に新たな情報が来た際に、その後の可能な状況を推論することが可能となる。例えば、「タングステンが輸入禁止されたため、超硬工具を販売中止される」という因果関係の仮説がデータベース化されていたとする。そこに、「タングステンが輸入禁止」というニュース記事が出現したとする。すると、上記したデータベースを検索することにより、「タングステンが輸入禁止された」ことの帰結として、「超硬工具が販売中止される」可能性があるという推論を行なえる。すなわち、その分野に関する詳しい知識を持たない人間にとっては未知の仮説が自動的に生成できる。
 以上のような仮説生成は、当初の「超硬工具をタングステンで作る」といった単純で頻出するパターンで記載された情報のみから始まるものである。一方で、超硬工具ともタングステンとも関係を持たないテキストから述語テンプレートの活性/不活性に関する情報を抽出する。これらを組合せることにより、因果関係の仮説が生成される。すなわち、入力されるテキスト中に、超硬工具及びタングステンに関する言及が「超硬工具をタングステンで作る」という表現のみしかなかったとしても、上に述べたような仮説の生成が可能になる。その結果、非常に乏しい情報量から、「超硬工具が製造禁止になる可能性がある」という非常に高度な仮説を得ることができる。したがってこの技術は、広い適用範囲があるとともに、情報の高度な活用のためのコア技術となる。
 (C)同義、含意関係を持つ表現の自動獲得の精度向上
 従来の同義、含意関係の自動獲得技術では、注目している表現の周辺に出現する語の出現確率の分布の類似により、同義、含意を認識している。しかしこの手法によると、往々にして、ある単語Aに対する反義の単語Bが、単語Aと同義又は含意という関係を持つと誤認識されるケースがあった。これは、反義語の出現するコンテキストが類似することが多いことに起因する。これに対して本実施の形態によれば、例えば、「を引き起こす」の活性値が正、「を防ぐ」の活性値が負であることを自動的に計算できる。これらの情報を用いると、従来技術を用いることで抽出された同義表現の候補の中で、述語テンプレートの極性が異なっているか否かにより同義か否かを見分けることができる。この結果、上記した技術を用いて、単語の同義及び含意の自動獲得の精度が向上する。
 (D)文をまたがった因果関係の自動獲得
 上記した(A)及び(B)の技術によって多数の因果関係を取得できる。それら多数の因果関係をデータベース化すると、それら因果関係の表現中に頻出する述語テンプレートの対が獲得できる。例えば、「が起きた」と「に襲われた」という述語テンプレートの対が、データベース中の因果関係に多数出現するものとする。そうした述語テンプレートは、テキスト中で文をまたがって(別の文の中で)出現した場合でも、互いの間の文数、単語数又は文字数等、「距離」が近い場合には因果関係を表す可能性が高い。例えば、「昨日、地震が起きた。津波に襲われたとの報告が寄せられている。」といったように、「地震が起きた」という表現と「津波に襲われた」という表現とが2文に分かれて出現した場合を考える。この場合でも、「地震が起きた」と「津波に襲われた」との2つのフレーズで記述される出来事の間には因果関係がある。また、そこに出現している名詞の対、すなわち「地震」と「津波」の間にも因果関係がある。こうした性質を利用し、複数文にまたがって記載されている因果関係を、フレーズ間及び単語間の双方について、自動的に取得できる。
 以下、上記した考え方に基づく本発明の実施の形態のシステムの構成及び動作について説明する。以下に説明する実施の形態の内、第1の実施の形態は、上記したフレーズ対の抽出技術及び仮説の生成技術を用いて、因果関係フレーズ対を収集し、さらにそれらを連鎖させることで社会シナリオを生成する技術に関する。第2の実施の形態は、第1の実施の形態の変形例であり、社会シナリオ候補のスコアリング技術に関する。
 <第1の実施の形態>
 [構成]
 〈全体構成〉
 図1を参照して、この発明の第1の実施の形態に係る社会シナリオ生成システム30は、前述した述語テンプレートのうち、テンプレートネットワーク構築の際の核となる単純述語テンプレート(これを「シードテンプレート」と呼ぶ)を記憶するためのシードテンプレートDB32と、述語テンプレートの間を連結する、順接及び逆接の接続詞等を記憶する接続詞DB34と、シードテンプレートDB32、接続詞DB34、及びインターネット40から収集した文書のコーパスであるWEBアーカイブ44から、接続詞DB34に記憶された接続詞等により結び付けられた2つのフレーズからなる原因と結果との関係にある因果関係フレーズ対を大量に獲得し、さらに因果関係フレーズ対を様々な知識に基づいて拡張し連鎖させて社会シナリオを生成するための社会シナリオDB構築装置36と、社会シナリオDB構築装置36により生成された社会シナリオを記憶するための社会シナリオDB38と、社会シナリオDB38に記憶された社会シナリオを、外部からの要求にしたがって加工して出力する社会シナリオ出力部48とを含む。
 なお、この実施の形態に係る社会シナリオ生成システム30は、WEBアーカイブ44に記憶されたWEB上の文書を使用して社会シナリオを生成する。WEBアーカイブ44は、インターネット40からWEBクローラ42により収集されたWEB文書からなる。
 〈社会シナリオDB構築装置36〉
 図1を参照して、社会シナリオDB構築装置36は、シードテンプレートDB32、接続詞DB34及びWEBアーカイブ44に接続され、WEBアーカイブ44から大量のフレーズ対を収集し、それらの中から大量の単純述語テンプレートを取出して単純述語テンプレートDB62を構築するための単純述語テンプレート収集部60と、単純述語テンプレート収集部60により構築された単純述語テンプレートDB62を用い、WEBアーカイブ44から複雑述語テンプレートを獲得するための複雑述語テンプレート収集部64とを含む。なお、シードテンプレートDB32に記憶された単純述語テンプレートには、それらテンプレートの活性・不活性にしたがって予め正又は負の活性値が与えられている。以下に述べる処理の最初には、これらの値はそれぞれ+1及び-1である。
 社会シナリオDB構築装置36はさらに、複雑述語テンプレート収集部64により収集された複雑述語テンプレートを記憶する複雑述語テンプレートDB66と、複雑述語テンプレートDB66に記憶された複雑述語テンプレート及び単語クラスDB46に記憶された各単語に関するクラス情報とを用い、WEBアーカイブ44から互いに原因及び結果の関係にある2つのフレーズペアを収集する因果関係フレーズペア収集部68と、因果関係フレーズペア収集部68により収集された因果関係フレーズペアを記憶する因果関係フレーズペアDB70と、因果関係フレーズペアDB70に記憶された因果関係フレーズペアと、WEBアーカイブ44に記憶された文書と、単語クラスDB46とを参照して因果関係が連鎖した社会シナリオを多数生成する社会シナリオ生成部72とを含む。
 なお、単語のクラス情報は、単語が属するクラス(単語クラス)を表す情報であり、通常は、単語と、その単語が属するクラスを表すクラス識別子との組である。単語クラスは、本実施の形態では意味的に類似した単語の集合のこと(意味クラス)をいう。単語クラスを自動的に取得する手法として、単語が、同一の動詞と共起する頻度を用い、共起頻度(又は共起割合)がしきい値以上の単語を同一クラスとする手法がある。単語が同一の動詞及び助詞の組合せと共起する頻度を用いるものでもよい。
 〈単純述語テンプレート収集部60〉
 図2を参照して、単純述語テンプレート収集部60は、シードテンプレートDB32と接続詞DB34とに接続され、シードテンプレートDB32に記憶された全ての単純述語テンプレートと、接続詞DB34に記憶された全ての接続詞等とを用い、2つの単純述語テンプレートが接続詞等で結び付けられた組合せの全てを生成する初期テンプレートペア生成部90と、初期テンプレートペア生成部90により生成された単純述語テンプレートのペアを記憶するための初期テンプレートペアDB92とを含む。初期テンプレートペア生成部90により生成される単純述語テンプレートのペアの例を以下のテーブル5に示す。
Figure JPOXMLDOC01-appb-T000005
 単純述語テンプレート収集部60はさらに、初期テンプレートペアDB92に記憶された単純述語テンプレートのペアの各々について、そのペアと共起する名詞ペアをWEBアーカイブ44から収集するための名詞ペア収集部94と、名詞ペア収集部94により収集された名詞ペアを記憶するための名詞ペアDB96と、名詞ペアDB96に接続され、名詞ペアDB96に記憶された名詞ペアの各々に含まれる名詞の間の関係を、それら名詞と共起している単純述語テンプレートの極性、及び接続詞DB34に記憶されている接続詞等の種別に基づいて判定し、各名詞ペアにその関係を示すタグ(関係タグ)を付す処理を行なうための名詞ペア極性判定部98とを含む。
 ここでは、名詞ペア極性判定部98は、以下のテーブル6に示す方法にしたがって名詞ペアを構成する名詞の間の関係を判定する。
Figure JPOXMLDOC01-appb-T000006
 すなわち、2つの単純述語テンプレートと共起している名詞ペアの関係は、次のようにして判定できる。
 (1)2つの単純述語テンプレートの極性が同じで、これらが順接の接続詞等で接続されていると、これらと共起している名詞ペアの関係は正
 (2)2つの単純述語テンプレートの極性が同じで、これらが逆接の接続詞等で接続されていると、これらと共起している名詞ペアの関係は負
 (3)2つの単純述語テンプレートの極性が反対で、これらが順接の接続詞等で接続されていると、これらと共起している名詞ペアの間の負
 (4)2つの単純述語テンプレートの極性が反対で、これらが逆接の接続詞等で接続されていると、これらと共起している名詞ペアの間の正
 単純述語テンプレート収集部60はさらに、名詞ペアDB96に接続され、名詞ペア極性判定部98により関係タグが付された名詞ペアの各々について、それらと共起する単純述語テンプレートペアをインターネット40から収集するためのテンプレートペア収集部100と、テンプレートペア収集部100が収集した単純述語テンプレートペアを、それらと共起した名詞ペアと関係付けて記憶するためのテンプレートペアDB102と、テンプレートペアDB102に記憶された単純述語テンプレートペアの各々について、その単純述語テンプレートペアを構成する単純述語テンプレートの活性/不活性が同じか否か(マッチするか否か)を、その単純述語テンプレートペアと共起する名詞ペアの関係(正/負)と、単純述語テンプレートを連結している接続詞等が順接か逆接かに基づいて判定し、各単純述語テンプレートペアにその結果をタグとして付与するためのテンプレート活性マッチ判定部104とを含む。
 単純述語テンプレートペアの活性/不活性が同じか否かは以下のテーブル7に例を示す方法により判定できる。なお、テーブル6に示すように、名詞ペア<地震、津波>の関係は正、名詞ペア<唾液分泌、口渇>の関係は負、名詞ペア<アセトアルデヒド、肝障害>の関係は正である。
Figure JPOXMLDOC01-appb-T000007
 すなわち、以下のような条件で単純述語テンプレートペアの活性/不活性が同じか反対かを判定できる。
 (1)関係が正である名詞ペアと共起し、順接の接続詞等により接続される単純述語テンプレートペアの活性は同じ
 (2)関係が正である名詞ペアと共起し、逆接の接続詞等により接続される単純述語テンプレートペアの活性は反対
 (3)関係が負である名詞ペアと共起し、順接の接続詞等により接続される単純述語テンプレートペアの活性は反対
 (4)関係が負である名詞ペアと共起し、逆接の接続詞等により接続される単純述語テンプレートペアの活性は同じ
 単純述語テンプレート収集部60はさらに、テンプレートペアDB102に記憶された単純述語テンプレートペアとそのマッチ判定結果とに基づいて、単純述語テンプレート間にネットワークを構築するためのテンプレートネットワーク構築部106と、テンプレートネットワーク構築部106が、ネットワークの構築時に単純述語テンプレート間のリンクを追加するために使用する同義・含意関係辞書108とを含む。このネットワークを本明細書では「テンプレートネットワーク」と呼ぶ。
 図3を参照して、例えばテンプレートネットワーク140は、各々が1つの単純述語テンプレートに対応する複数個のノードと、それらノード間に定義されるリンクとを含む。リンクは、テーブル6により示されるマッチ判定が行なわれた単純述語テンプレートに対応するノード間に張られる。各リンクには、その両端のノードの単純述語テンプレート間に対するマッチ判定の結果(テーブル6)に応じ、同一極性又は反対極性という属性が割当てられる。図3において、同一極性が割当てられたリンクは実線で示し、反対極性が割当てられたリンクは点線で示してある。後述するように、このリンクを用いて各単純述語テンプレートの活性値が算出される。活性値の算出のため、テンプレートネットワーク140のノードのうち、シードテンプレートDB32に記憶されたシードテンプレート(例えば図3の「を引き起こす」、「を発生させる」、「を抑制する」等のノード)については、予め+1又は-1の値が手作業により与えられている。これらの値と、ノード間のリンク及びそのリンクの属性とを用いて、各ノード(単純述語テンプレート)の活性値が計算される。計算方法の具体的内容については後述する。
 再び図2を参照して、単純述語テンプレート収集部60はさらに、テンプレートネットワーク構築部106に接続され、テンプレートネットワーク構築部106により構築されたテンプレートネットワーク140を記憶するためのテンプレートネットワークDB110と、テンプレートネットワークDB110に記憶されたテンプレートネットワーク140の各ノードについて、シードテンプレートに予め付されていた+1又は-1の活性値を基にして、各ノード(単純述語テンプレート)の活性値を算出し、各ノード(単純述語テンプレート)にそれら活性値を付すためのテンプレート活性値算出部112と、テンプレートネットワークDB110に記憶されたテンプレートネットワーク140の各ノード(単純述語テンプレート)のうち、テンプレート活性値算出部112により算出された活性値の絶対値が大きなもののみを抽出し、抽出した単純述語テンプレートにより単純述語テンプレートDB62を構築するための高活性度テンプレート抽出部114と、テンプレートDB構築のために予め決められた終了条件が成立したか否かを判定するための終了判定部116と、終了判定部116により終了条件が成立していないと判定されたことに応答して、単純述語テンプレートDB62に記憶された単純述語テンプレートを新たなシードテンプレートとしてシードテンプレートDB32を更新し、再度、単純述語テンプレート収集部60によるテンプレートDB構築の処理を実行させるためのシードテンプレート更新部118とを含む。終了判定部116により終了条件が成立したと判定されたときには、単純述語テンプレート収集部60の動作は終了し、複雑述語テンプレート収集部64が起動する。
 後述するように、社会シナリオ生成システム30の各部は、コンピュータハードウェアと、当該コンピュータハードウェアにより実行されるコンピュータプログラムとにより実現可能である。
 初期テンプレートペア生成部90が生成する単純述語テンプレートペアの典型例は、「(名詞1)を引き起こす」「ので」「(名詞2)を発生させる」のようなものである。
 名詞ペア収集部94は、以下のような処理を行なう。上記した単純述語テンプレートペア+接続詞等の組合せと一文中で共起する名詞ペアを考えることができる。そのような名詞ペアは、以下に例示するように互いに正の関係にあるものと互いに負の関係にあるものとに分けられる。名詞ペアの正/負は、テーブル8に示すように、その名詞ペアと共起する単純述語テンプレートペアの活性/不活性と接続詞等との組合せによって決まる。すなわち、ある名詞ペアと共起するテンプレートペアが順接の接続詞等で接続されており、かつそれらのテンプレートペアの極性が一致していればその名詞ペアは正の関係にあり、テンプレートペアの極性が反対であればその名詞ペアは負の関係にある。また、ある名詞ペアと共起するテンプレートペアが逆接の接続詞等で接続されており、かつそれらのテンプレートペアの極性が一致していればその名詞ペアは負の関係にあり、テンプレートペアの極性が反対であればその名詞ペアは正の関係にある。
Figure JPOXMLDOC01-appb-T000008
 テンプレートペア収集部100は以下のような処理を行なう。上記名詞ペア極性判定部98により正の関係としてのみWEBアーカイブ44上に出現していると判定された名詞ペアを考える。テンプレートペア収集部100は、それらのうち、出現頻度が所定回数以上の名詞ペアだけを正の関係名詞ペアとして残す。同様に、負の関係としてのみWEBアーカイブ44上に出現している名詞ペアについても、出現回数が所定回数以上の名詞ペアだけを負の関係名詞ペアとして残す。ここでのしきい値としての所定回数は、正の関係名詞ペアを選択するときと負の関係名詞ペアを選択するときとで異なっていても一致していてもよい。
 テンプレート活性マッチ判定部104は、残された正/負の関係の名詞ペア+接続詞等と一文中で共起する単純述語テンプレートペアを、以下のテーブル9に基づく判定方法にしたがい、単純述語テンプレートの活性/不活性が同じもの(一致)と反対のもの(反対)とに分類する。このとき、ある単純述語テンプレートペアについて、WEBアーカイブ44中で単純述語テンプレートの活性が一致して出現したり、反対の活性で出現していたりするものがある。これらについては、一致しているものと反対のものとの出現回数を比較し、多数決で決定する。
Figure JPOXMLDOC01-appb-T000009
 図4を参照して、図2に示すテンプレートネットワーク構築部106を実現するためのプログラムは、テンプレートペアDB102に単純述語テンプレートペアが記憶され、テンプレート活性マッチ判定部104により各単純述語テンプレートペアについての活性マッチ判定が終了すると起動される。このプログラムは、メモリ上に所定の記憶領域を確保したり、それら記憶領域のうち、所定の変数のための領域に初期値を代入したり、初期の空のテンプレートネットワーク140を構築したりする初期化を行なうステップ150と、テンプレートペアDB102に記憶された全ての単純述語テンプレートペアに対し、処理154を実行するステップ152とを含む。処理154は、当該単純述語テンプレートペアを構成する単純述語テンプレートとその間のリンクとをテンプレートネットワーク140に追加する処理を行なうためのものである。なお、ステップ150では、テンプレートネットワーク140として空のネットワークが予め構築されているものとする。
 処理154は、処理対象の単純述語テンプレートペアに含まれる単純述語テンプレートの各々について、対応するノードがテンプレートネットワーク140にあるか否か、すなわちそのノードをテンプレートネットワーク140に追加すべきか否かを判定するステップ180と、ステップ180の判定が肯定的のときに実行され、テンプレートネットワーク140に追加すべきと判定されたノード(1個又は2個)をテンプレートネットワーク140に追加する処理を行なうステップ182と、ステップ180及び182の後に実行され、処理対象の単純述語テンプレートペアに対応するノード間に既に同一リンクがあるか否かを判定するステップ184と、ステップ184の判定が否定的であるときに、当該リンクをテンプレートネットワーク140に追加する処理を行なって処理154を終了するステップ186とを含む。ステップ184の判定が肯定的であるときも、この単純述語テンプレートペアに対する処理154の実行は終了する。
 テンプレートネットワーク構築部106を実現するプログラムはさらに、ステップ152による処理の完了後、構築されたテンプレートネットワーク140に、同義・含意関係辞書108を参照することによってリンクを追加するステップ164と、ステップ164の結果得られたテンプレートネットワーク140において、他のノードとの間のリンク数が所定のしきい値以下のノードを削除するステップ166と、各ノードがリンクしているノードの数に基づいて各リンクの重みを算出し(計算方法については後述する)、各リンクに付与して処理を終了するステップ168とを含む。
 図5を参照して、図4のステップ164で実行されるプログラム(ルーチン)は、テンプレートネットワーク140内のノードのうち、互いにリンクを持たないノードの対の全てに対して以下の処理202を実行するステップ200を含む。
 処理202は、処理対象のノード対の間に、特定の関係があるか否かを判定するステップ210と、ステップ210の判定が肯定的であるときに、処理対象のノード対の間に「同一」という属性を持つリンクを追加して処理202を終了するステップ212とを含む。ステップ210の判定が否定的である場合にも処理202を終了する。ここでいう特定の関係があるか否かに関する判定では、以下のテーブル10に示すように、動詞の文法的情報、及び図2に示す同義・含意関係辞書108に格納された単語の同義・含意関係が使用される。
Figure JPOXMLDOC01-appb-T000010
 図4を参照して、ステップ168では、各リンクの重みが算出されるが、単純述語テンプレートiと単純述語テンプレートjとの間のリンクに付与される重みをwijとすると、重みwijは以下の式(1)により算出される。
Figure JPOXMLDOC01-appb-M000011
ただし、d(i)は単純述語テンプレートiとリンクされている単純述語テンプレートの数を示す。SAME(i,j)は、単純述語テンプレートiと単純述語テンプレートjとの間のリンクに「一致」属性が付されていることを示す。OPPOSITE(i,j)は、単純述語テンプレートiと単純述語テンプレートjとの間のリンクに「反対」属性が付されていることを示す。すなわち、単純述語テンプレートiと単純述語テンプレートjとに一致属性が付与されていれば、重みは正の値となり、反対属性が付与されていれば、重みの符号は逆転し、負となる。
 図2に示すテンプレート活性値算出部112は、テンプレートネットワークDB110に記憶されたテンプレートネットワーク140の各ノードについて、以下に述べるような方法で各ノードの活性値を算出する。図6を参照して、テンプレート活性値算出部112を実現するコンピュータプログラムは、テンプレートネットワークDB110にテンプレートネットワーク140が記憶され、各リンクにそれぞれ重みが付されたことに応答して実行を開始する。このプログラムは、テンプレートネットワーク140内のノードのうち、シードテンプレートに対応するノードに、それらシードテンプレートに対して予め付与されていた活性値(活性シードテンプレートには+1、不活性シードテンプレートには-1)を設定し、他のノードには所定の初期値を設定するステップ240と、ステップ240の後、以下の式により定義される値E(x,W)の値を最適化(ここでは極小化)することにより各ノードの活性値を推定するステップ242とを含む。
Figure JPOXMLDOC01-appb-M000012
ただしx及びxはそれぞれ単純述語テンプレートi、jの符号付の活性値、xはそれら活性値からなるベクトル、Wはリンクの重みwijからなる行列を、それぞれ表す。この値Eは、ちょうど量子力学における電子のスピンエネルギーの計算式に類似しており、量子力学におけるエネルギーの最小化の計算と同様に行なうことができる。この式のシグマの各項において、xの値は、エネルギー最小化計算の後、x及びxの極性が同じときには正の値、異なるときには負の値となる傾向がある。重みwijの符号は、既に述べたように、x及びxの極性が同じときには正の値、異なるときには負の値となる。したがってシグマの各項の値は必ず正の値となる傾向があり、これを最大化することで一種の制約解消が行なわれる。なお、式(2)において、シグマの前に係数「-1/2」があることから、シグマの中を最大化することによりE(x,W)の値が極小化される。
 〈複雑述語テンプレート収集部64〉
 一方、図7を参照して、図1に示す複雑述語テンプレート収集部64は、単純述語テンプレートDB62及びWEBアーカイブ44から複雑述語テンプレートDB66を生成するためのものである。複雑述語テンプレート収集部64は、複雑述語テンプレートの対象となる名詞を記憶した対象名詞辞書260と、単純述語テンプレートDB62及び対象名詞辞書260を参照しながら、WEBアーカイブ44から複雑述語テンプレートの候補を抽出し、それらをその名詞部分にしたがってサ変名詞テンプレートと、数量名詞テンプレートと、トラブル名詞テンプレートとに分類するための複雑述語テンプレート候補抽出部268とを含む。複雑述語テンプレート候補抽出部268はコンピュータプログラムにより実現される。その構成については図8を参照して後述する。
 複雑述語テンプレート収集部64はさらに、予めWEBアーカイブ44に出現するサ変名詞の極性を判定することで構築され、サ変名詞の極性が定まる場合にはその極性を、サ変名詞の極性が文脈に依存するときには文脈依存を示す値を出力するサ変名詞極性判定部264と、サ変名詞極性判定部264により出力された極性の値をそのサ変名詞とともに記憶するサ変名詞極性辞書262と、複雑述語テンプレート候補抽出部268により分類されたサ変名詞の複雑述語テンプレート候補を記憶するサ変名詞テンプレート候補DB270と、数量名詞テンプレート候補を記憶するための数量名詞テンプレート候補DB272と、トラブル名詞を含む複雑述語テンプレートの候補を記憶するトラブル名詞テンプレート候補DB274とを含む。サ変名詞の極性が文脈に依存するときには、複雑述語テンプレートにはそれを示す情報が付与されることになり、実際に複雑述語テンプレートが出現する文脈に応じてサ変名詞の極性が決定される。
 複雑述語テンプレート収集部64はさらに、サ変名詞テンプレート候補DB270に記憶されたサ変名詞テンプレート候補のサ変名詞に、サ変名詞極性辞書262を参照して極性又は極性が文脈依存であることを示す情報を付与するためのサ変名詞極性付与部276と、数量名詞テンプレート候補DB272に記憶された数量名詞テンプレート候補の数量名詞に対して極性として活性を付与する数量名詞極性付与部278と、トラブル名詞テンプレート候補DB274に記憶されたトラブル名詞の極性を判定するためのパターンを予め記憶したトラブル名詞極性判定用辞書266とを含む。トラブル名詞の極性も、予め定まる場合と、文脈に依存する場合とがある。トラブル名詞極性判定用辞書266は、トラブル名詞の極性が予め定まる場合にはその極性を出力し、文脈に依存するときにはそれを示す情報を出力するよう構築される。
 複雑述語テンプレート収集部64はさらに、トラブル名詞テンプレート候補DB274に記憶されたトラブル名詞テンプレート候補の各々のトラブル名詞に、トラブル名詞極性判定用辞書266を参照して極性又は極性が文脈依存であることを示す情報を付与するトラブル名詞極性付与部280と,サ変名詞極性付与部276,数量名詞極性付与部278、及びトラブル名詞極性付与部280の出力する複雑述語テンプレート候補の極性を、それらの名詞の極性と単純述語テンプレートの極性との積として計算し付与したうえで複雑述語テンプレートDB66に蓄積する複雑述語テンプレート極性算出部282とを含む。複雑述語テンプレート極性算出部282は、サ変名詞極性付与部276から与えられるサ変名詞複雑述語テンプレート候補のサ変名詞の極性が文脈依存であることを示す値のときは、複雑述語テンプレート候補にサ変名詞の極性が文脈依存であることを示すタグを付して出力する。したがってこの場合には、複雑述語テンプレートの極性自体は決定していないことになる。トラブル名詞の場合も同様である。
 《複雑述語テンプレート候補抽出部268》
 図8を参照して、図7に示す複雑述語テンプレート候補抽出部268を実現するコンピュータプログラムは以下のような制御構造を持つ。すなわち、このプログラムは、WEBアーカイブ44に記憶された全文書の全文に対して以下の処理を繰返すステップ300を含む。ステップ300で繰返される処理は、対象となる文に対して形態素解析を行なって形態素列を出力するステップ302と、ステップ302で得られた形態素列に対して係り受け解析を行ない、係り受け木を出力するステップ304と、この係り受け木に含まれる全ノードに対して以下の処理を実行するステップ306とを含む。
 ステップ306で実行される処理は、処理対象のノードに対し、そのノードの形態素が図7に示す対象名詞辞書260に記憶された対象名詞(サ変名詞、数量名詞又はトラブル名詞)のいずれかであるかを判定し、結果が否定的である場合には次のノードに処理を移すステップ308と、ステップ308の判定が肯定的であるときに、そのノードの係り先が単純述語テンプレートか否かを判定し、判定結果が否定的であるときに次のノードに処理を移すステップ310と、ステップ310の判定が肯定的であるときに、処理中のノードに係るノードの末尾の助詞と、処理中のノード(現ノード)の文節と、係り先の単純述語テンプレートとをくみあわせて複雑述語テンプレート候補を生成するステップ312と、ステップ312で生成された複雑述語テンプレート候補を、その対象名詞の種類(サ変名詞、数量名詞、トラブル名詞)によって分類してサ変名詞テンプレート候補DB270、数量名詞テンプレート候補DB272、又はトラブル名詞テンプレート候補DB274に記憶させて処理を次のノードに移動させるステップ314とを含む。
 《サ変名詞極性付与部276》
 図7に示すサ変名詞極性付与部276は図9に示すコンピュータプログラムにより実現される。図9を参照して、このプログラムは、サ変名詞テンプレート候補DB270に記憶された全てのサ変名詞テンプレート候補に対して以下の処理を実行するステップ340を含む。
 ステップ340は、複雑述語テンプレート候補のサ変名詞を含む見出しがサ変名詞極性辞書262に1つだけ存在するか否かを判定するステップ342と、ステップ342の判定が肯定的であるときに、その見出しに対応して辞書に示されている極性をサ変名詞に付与して次のサ変名詞の処理に移るステップ344と、ステップ342の判定が否定的であるときに、サ変名詞の極性が文脈に依存していることを示す情報をサ変名詞に付与して次のサ変名詞の処理に移るステップ346とを含む。
 《トラブル名詞極性付与部280》
 図10を参照して、図7に示すトラブル名詞極性付与部280は、以下のような制御構造を持つプログラムにより実現できる。このプログラムは、トラブル名詞テンプレート候補DB274に記憶された全てのトラブル名詞テンプレート候補について以下の処理を実行するステップ370を含む。
 ステップ370で実行される処理は、そのトラブル名詞テンプレート候補に対応するトラブル名詞の見出しが1つだけトラブル名詞極性判定用辞書266にあるか否かを判定するステップ372と、ステップ372の判定が肯定的であればその見出しに記載されている極性をトラブル名詞に付与して次の候補の処理に移るステップ374と、ステップ372での判定が否定的であるときに、そのトラブル名詞の極性が文脈依存であることを示す情報をトラブル名詞に付与して次のトラブル名詞の処理に移るステップ376とを含む。
 〈因果関係フレーズペア収集部68〉
 図11を参照して、図1に示す因果関係フレーズペア収集部68は、単純述語テンプレートDB62、複雑述語テンプレートDB66、単語クラスDB46、名詞の極性辞書420、トラブル名詞極性判定用辞書266、サ変名詞極性辞書262、及び矛盾表現辞書422を参照して、WEBアーカイブ44から因果関係の原因フレーズ及び結果フレーズの関係にあるフレーズペアを抽出し、因果関係フレーズペアDB70に記憶する機能を持つ。矛盾表現辞書422は、互いに矛盾する単純述語テンプレートからなる単純述語テンプレートペアを収集して作成したものである。
 因果関係フレーズペア収集部68は、単純述語テンプレートDB62、複雑述語テンプレートDB66、名詞の極性辞書420、トラブル名詞極性判定用辞書266、及びサ変名詞極性辞書262を参照して、WEBアーカイブ44から、因果関係をなすフレーズペアであって、後の因果関係仮説を生成する元となるシードペアを収集する因果関係シードペア収集部408と、因果関係シードペア収集部408により収集された因果関係シードペアを記憶する因果関係シードペアDB410とを含む。ここでいう「シードペア」とは、WEBアーカイブ44に実際に存在するフレーズのペアのことをいう。
 因果関係フレーズペア収集部68はさらに、予め準備された意味的関係パターンを記憶する意味的関係パターンDB400と、ある意味的関係を充足する単語対を記憶する単語対DB402と、意味的関係パターンDB400及び単語対DB402を用い、因果関係シードペアDB410に記憶された因果関係シードペアDBを元に、そのシードペアに含まれる単語(名詞)対の意味的関係と同じ意味的関係を満たす単語対で元の因果関係シードペア内の単語対を置換することにより、新たな因果関係仮説を生成する処理と、因果関係シードペア内の単純述語テンプレートをいずれもそれらの矛盾表現に置換することにより、新たな因果関係仮説を生成する処理とを実行する因果関係仮説生成部412と、因果関係仮説生成部412により生成された因果関係仮説を記憶する因果関係仮説DB416と、因果関係仮説DB416に記憶された多数の因果関係仮説の中から、妥当な因果関係を抽出し因果関係仮説をフィルタリングして因果関係フレーズペアDB70に追加する因果関係仮説フィルタリング部418とを含む。
 意味的関係パターンDB400及び単語対DB402も、本実施の形態では予め因果関係フレーズペア収集部68により準備される。そのために因果関係フレーズペア収集部68は、意味的関係パターンを抽出する際の元となる、特定のパターン(これをシードパターンと呼ぶ。)のグループを記憶するシードパターンDB404と、シードパターンDB404及び単語クラスDB46を参照し、WEBアーカイブ44から、シードパターンDB404に記憶されたシードパターンと類似したパターンを抽出することで意味的関係パターンDB400を構築し、同時にそれらの意味的関係パターンを充足する単語対を特定して単語対DB402を構築するための単語対抽出部406とを含む。本実施の形態では、シードパターンは、後述するようにいくつかの意味的関係を表す別々のシードパターン群に分類されており、単語対の意味的関係もシードパターン群別となっている。
 《因果関係シードペア収集部408》
 因果関係シードペア収集部408は、コンピュータプログラムにより実現可能である。図12を参照して、このコンピュータプログラムは、一文中で順接の接続詞等により接続された形でWEBアーカイブ44内において共起しているフレーズペア(「名詞+述語テンプレート」(単純述語テンプレートと複雑述語テンプレートとの双方を含む。)のペア)をWEBアーカイブ44から収集し、あわせてそれらの共起頻度も算出するステップ440と、ステップ440で収集されたフレーズペアの各々に対して以下に述べる処理を実行するステップ442とを含む。ここで、個々のフレーズペアを構成するフレーズの名詞で形成されるペアを名詞ペア、述語テンプレートで形成されるペアを述語テンプレートペアと呼ぶ。
 続いて、このようにして得られた各フレーズペアに対して、以下の処理を実行する(ステップ442)。ステップ442で実行される処理は、処理対象のフレーズペア内の名詞ペアが正の関係にあるか否かを判定するステップ444と、判定が肯定的な場合に、さらに、述語テンプレートペアの極性が同じか否かを判定するステップ446とを含む。ステップ446の判定が否定的ならこのフレーズのペアは捨てる。すなわちこの場合は何もせず次の述語テンプレートの処理に移る。ステップ446の判定が肯定的ならこのフレーズペアを因果関係シードペア群に追加する(ステップ448)。
 一方、ステップ444の判定が否定的なら、ステップ450でテンプレートペアの極性が互いに反対か否かを判定する。判定が否定的ならこのフレーズペアは捨てる。判定が肯定的ならこのフレーズペアを因果関係シードペア群に追加する(ステップ448)。
 以上の処理が全てのフレーズペアに対して終了すると、結果として得られた因果関係シードペア群内の全ての因果関係シードペアに対してステップ454の処理を実行する。ステップ454で各因果関係フレーズペアに対して行なわれる処理は、因果関係強度のスコアC(p,p)を以下の式により算出する処理である。
Figure JPOXMLDOC01-appb-M000013
ただしp,pはそれぞれ、因果関係シードペアを構成するフレーズ、s及びsはそれぞれ、フレーズp,pを構成するテンプレートの活性値、記号|s|は活性値sの絶対値、n,nはそれぞれ、フレーズp,pに含まれる名詞、npfreq(n,n)は、n,nが正の関係なら、n,nが活性/不活性の同じテンプレートペアと一文中で共起する頻度、n,nが負の関係なら、n,nが活性/不活性の異なるテンプレートペアと一文中で共起する頻度を、それぞれ表す。
 このようにして全ての因果関係シードペアに対し因果関係強度のスコアを算出した後、ステップ456で因果関係シードペアをスコアの降順でソートし、出力する。
 このような処理を実行することにより、因果関係を表すフレーズのペアを大量に、かつ自動的にWEBアーカイブ44から収集できる。
 なお、因果関係シードペアの取得方法はこれには限定されない。例えば、次の条件を全て満たすフレーズペアを因果関係シードペアとして獲得するようにしてもよい。
 (1)両フレーズとも、1つの名詞と1つの述語テンプレートとからなる。例えば、「(地震)を起こす」と「(津波)が発生する」のようなフレーズペアである。
 (2)両フレーズは、順接接続詞等、例えば「~て」で結ばれる形で、一文中に共起している。例えば、「断層が地震を起こして、津波が発生した。」のようなペア。
 具体的には、WEBアーカイブ44から、順接接続詞等とともに一文で共起している述語テンプレートペアと、その一文で共起している名詞ペアとを取得する。これらが因果関係フレーズペアの原型と考えられる。
 こうして得られた因果関係シードペアについて、前述の式(3)により因果関係強度スコアを算出する。そして全ての因果関係シードペアを、因果関係強度スコアの降順にソートして出力する。
 上記したスコア算出に、式(3)ではなく次の式(4)を用いるようにしても良い。
Figure JPOXMLDOC01-appb-M000014
 《因果関係仮説生成部412》
 図13を参照して、図11に示す因果関係仮説生成部412は、因果関係シードペアDB410及び単語クラスDB46と、意味的関係パターンDB400及び単語対DB402に接続され、因果関係シードペアDB410に記憶された因果関係シードペアに含まれる名詞ペアの意味的関係のパターンを意味的関係パターンDB400とマッチングする意味的関係パターンマッチング部470と、単語対DB402に記憶された単語対のうち、意味的関係パターンマッチング部470により因果関係シードペアの意味的関係パターンとマッチすると判定された意味的関係にある単語対を単語対DB402から読み出し、元の因果関係シードペア内の名詞ペアと置換することにより、新たな因果関係仮説を生成する単語対置換部472と、因果関係シードペアDB410に格納された因果関係シードペアの各々について、矛盾表現辞書422を参照して、因果関係シードペアの各フレーズの単純述語テンプレートをそれぞれ矛盾表現に置換することで新たな因果関係仮説を生成するテンプレート置換部476と、単語対置換部472及びテンプレート置換部476により新たに生成された因果関係仮説の因果関係強度のスコアを算出し、そのスコアを因果関係仮説に付して因果関係仮説DB416に追加するスコア算出部474とを含む。テンプレート置換部476による新たな因果関係仮説生成の根拠としては、元の因果関係フレーズのペアが妥当である場合には、その裏(各フレーズの述部を否定したペア)も妥当である可能性が高いためである。例えば「ストレスが増加する→不眠が続く」が妥当である場合、その裏に相当する「ストレスが減少する→不眠が改善される」も妥当と考えられる、等である。
 図13に示す意味的関係パターンDB400及び単語対DB402はどのような手段で準備してもよい。本実施の形態では、図11に示すように、意味的関係パターンDB400及び単語対DB402を準備するために、意味的関係パターンの元となるフレーズであるいくつかのシードパターン群に分類されたシードパターンを記憶したシードパターンDB404と、シードパターンDB404及び単語クラスDB46に接続され、これらに記憶された情報に基づいてWEBアーカイブ44からシードパターンDB404に記憶されたシードパターンと類似した意味的関係にある表現のパターンとそれら表現に出現する単語対とを抽出し、意味的関係パターンDB400及び単語対DB402にそれぞれ追加する単語対抽出部406を設けている。
 ここでいうシードパターンとは、前述したとおり、材料関係、必要関係、使用関係、予防関係、又は因果関係を表すパターンであり、それぞれ別々のシードパターン群に分類される。パターンの例は、材料関係なら「AでBを生産する」、必要関係なら「AはBに必須だ」、使用関係なら「AをBに使う」、予防関係なら「AでBを防ぐ」、因果関係なら「AがBを引き起こす」のようなものである。パターンとは変数に相当する部分を含むフレーズのことをいう。上記した例ではA及びBが変数に相当する。A及びBを別の単語で置換することにより、様々なフレーズが生成できる。ただし、A及びBがある意味的関係を持っていないとそれらは無意味なフレーズとなってしまう。単語対抽出部406は、特定の意味的関係にある単語対を抽出する機能を持つ。単語対抽出部406はさらに、シードパターンDB404に記憶されたシードパターンだけでなく、WEBアーカイブ44から抽出されたパターンの中で、シードパターンと類似したパターンをシードパターンに追加する機能も持つ。
 《単語対抽出部406》
 図14を参照して、本実施の形態で採用した単語対抽出部406は、WEBアーカイブ44及びシードパターンDB404に接続され、WEBアーカイブ44から特定のパターンを抽出するパターン抽出部490と、パターン抽出部490により抽出されたパターンを記憶するパターンDB492と、シードパターンDB404に記憶されたシードパターン及びパターンDB492に記憶されたパターンを参照し、WEBアーカイブ44から各パターンに合致する(上記したA及びBの関係にある)単語対を取得する単語対候補取得部494と、単語対候補取得部494により抽出された単語対を記憶する単語対候補DB496と、パターンDB492に記憶されたパターンのうち、シードパターンDB404に記憶されたシードパターンのいずれかと類似したパターンを、それらパターンから抽出された単語対の集合の類似度に基づいて特定し、シードパターンDB404に新たなシードパターンとしてマージするパターンマージ部518とを含む。パターンマージ部518は、このようにして追加されたシードパターンには、その新たなシードパターンと最も類似していたシードパターンの属するシードパターン群の意味的関係のラベルを付してシードパターンDB404に追加する。
 単語対抽出部406はさらに、単語クラスDB46に保持されている任意の2つの単語クラス間における適合度を示す指標であるクラス対適合度を、クラス対ごとに、単語対候補DB496、WEBアーカイブ44、及びシードパターンDB404を参照して算出するためのクラス対適合度算出部502と、算出されたクラス対適合度をクラス対ごとに記憶するクラス対適合度DB504と、パターンDB492に記憶されたパターンとシードパターンDB404に記憶されたシードパターン群との組合せごとにパターン類似度を算出するパターン類似度算出部506と、パターン類似度算出部506により算出されたパターン類似度をパターンDB492に記憶されたパターンとシードパターンDB404に記憶されたシードパターン群との組合せごとに記憶するためのパターン類似度DB508と、単語対と、パターンDB492に記憶された各パターン及びシードパターンDB404に記憶されたシードパターン群との親和性情報を算出する親和性情報算出部510と、親和性情報算出部510により算出された親和性情報を単語対とパターンとの組合せごとに記憶する親和性情報DB512と、単語クラスDB46に記憶されている単語のクラス対ごとに、WEBアーカイブ44での各クラスに属する単語の出現頻度の差がしきい値以上か否かを判定し、差がしきい値以上のクラス対を最終的な出力対象から除外するために特定する除外クラス対特定部514と、除外クラス対特定部514により特定された除外クラス対を記憶する除外クラス対DB516とを含む。クラス対適合度算出部502、パターン類似度算出部506、親和性情報算出部510及び除外クラス対特定部514の機能の詳細については後述する。
 単語対抽出部406はさらに、単語対候補DB496に記憶されている単語対の各々について、除外クラス対特定部514により特定されるクラス対に属するものを除外し、さらにクラス対適合度DB504、パターン類似度DB508、親和性情報DB512を参照してシードパターンと共起する単語対としてのふさわしさを表すスコアを算出する単語対スコアリング部498と、単語対スコアリング部498によりスコアリングされた単語対のうち、しきい値以上のスコアを持つ単語対のみを選択して単語対DB402に出力するための単語対選択部500とを含む。
 以下、単語対抽出部406の主要な構成部についてさらに詳細に説明する。
 -パターン抽出部490
 パターン抽出部490は、以下のような工程を経てWEBアーカイブ44に記憶された文書からパターンを抽出する。すなわちパターン抽出部490は、WEBアーカイブ44に記憶された各文書の各文について、形態素解析し、さらに係り受け解析を行なう。この結果、各文について係り受け木(を表すデータ)が得られる。パターン抽出部490は、この係り受け木の各名詞を起点とし、別の名詞を終点とする係り受け木上のパスを1つのパターン候補として、その経路に存在する形態素列を抽出する。そしてこの形態素列上の名詞をそれぞれ変数に置換する。この際、単語クラスDB46を参照して、各名詞が属するクラスを調べ、各変数にその変数の属するクラス情報として付加する。これにより1つのパターンが得られる。1つの文からは複数個のパターンが得られることがある。さらに、1つの名詞にかかっている名詞が2つとは限らないので、同一の名詞に対応する変数を含んだ複数個のパターンが得られることもある。
 パターン抽出部490は、このようにして得たパターンについて、変数のクラスも含めて同じパターンが何回出現したかを示す頻度情報を算出しながら、新たなパターンが得られるたびにそれをパターンDB492に追加する。
 -単語対候補取得部494
 単語対候補取得部494は、WEBアーカイブ44に含まれる全文書の全文を対象に、シードパターンDB404に記憶されているシードパターンと共起する単語対を調べ、取得する。この場合、単語対がシードパターンと共起する、とは、文書内に存在する、ある単語対を含む文字列であって、その単語対をそれぞれの単語クラスに置換したものが、シードパターンと一致する、ということである。単語対候補取得部494は、このようにして得られた単語対を、一致したシードパターンの識別情報とともに単語対候補DB496に格納する。単語対候補取得部494はまた、シードパターンが単語対と共起した頻度をシードパターン及び単語クラス対の組合せごとに計数し、単語対候補DB496に記憶する。
 -クラス対適合度算出部502
 クラス対適合度とは、2つの単語クラスがあるシードパターン群に属するシードパターンのいずれかと共起する頻度(程度)を表す指標である。クラス対適合度算出部502は、各クラス対のクラス対適合度を算出する。本実施の形態では、2つのクラス対に属する単語が、シードパターン群Pに属するいずれかのシードパターンpと共起する頻度が高いほど、そのクラス対のクラス対適合度は高くなるようにクラス対適合度を定義する。例えば単語クラス対c及びcの、シードパターン群Pに対するクラス対適合度C(c,c,P)を以下のように定義できる。なお次式においてn及びnはそれぞれ単語クラスc及びcに属する単語を表す。*は任意のパターンを表す。
Figure JPOXMLDOC01-appb-M000015
この式において、「||(n,P,n)||」は、名詞nとnとがシードパターン群P中のいずれかのシードパターンpと共起する頻度インスタンスからなる集合の要素の数である。したがって、「||(n,*,n)||」は、WEBアーカイブ44に格納されている文書群(これを文書集合Mとする。)の中で名詞nとnとが任意のパターンと共起する頻度であり、次の式で表される。
Figure JPOXMLDOC01-appb-M000016
この値は、パターンにかかわらず単語ni及びnjが共起する頻度と等しい。
 条件αは例えば、単語クラス対c及びcが共起するシードパターンの種類が所定数以上である、という条件である。これを式で表せば、所定数をβとして以下のようになる。
Figure JPOXMLDOC01-appb-M000017
 クラス対適合度算出部502は、単語対候補DB496に格納された単語対と、その単語対が共起したシードパターンの識別情報とを集計することによりクラス対の適合度をクラス対ごとに算出し、クラス対適合度DB504に格納する。
 -パターン類似度算出部506
 パターン類似度算出部506は、パターンDB492に格納されている各パターンと、シードパターンDB404に記憶されている各シードパターン群との類似度を算出し、パターン類似度DB508にパターン群とパターンとの組合せごとに格納する。本実施の形態では、あるシードパターン群とパターンとの間のパターン類似度とは、シードパターン群に属するシードパターンと共起するクラス対と、対象となるパターンと共起するクラス対との重なりの程度を示すものとして定義する。すなわち、あるシードパターン群に属するシードパターンの集合Pと、対象となるパターンpとの間のパターン類似度S(P,p)は、集合Pに属するシードパターンと共起する単語クラスci及び単語クラスcjからなる単語クラス対(ci×cj)の集合をI(Pci×cj)、パターンと共起する単語クラス対(ci×cj)の集合をI(pci×cj)とすると、例えば以下の式により定義される。
Figure JPOXMLDOC01-appb-M000018
なお、右辺の分母及び分子を囲む2本の線は、その中の式により表される集合に属する要素の数を表す。
 パターン類似度の定義としては、これ以外にも考えることができる。例えば、次のようにベクトルによる比較を行なうこともできる。例えば、可能な単語クラス対の全てを要素とするベクトルを考える。WEBアーカイブ44においてあるシードパターン群Pと共起する単語クラス対の数を計数し、その値を上記ベクトルのその単語クラス対に対応する要素の値として、シードパターン群Pの特徴ベクトルVを計算する。同様に、あるパターンpと共起する単語クラス対の数を計数し、その値を上記ベクトルのその単語クラス対に対応する要素の値として、パターンpの特徴ベクトルVを計算する。この2つのベクトルV及びVの間の角度を計算することにより、シードパターン群Pとパターンpとの類似度が得られる。なお、このベクトルの計算においては、パターン群Pともパターンpとも共起しないクラス対をベクトルの要素から除外してもよい。
 -親和性情報算出部510
 親和性情報とは、ある単語対とあるパターンとが共起する頻度が高いほど値が高くなる、その単語対とそのパターンとの親和性を表す指標である。本実施の形態では、この頻度はWEBアーカイブ44内における単語対とパターンとの共起頻度を表すものとする。本実施の形態において、単語対(n,n)とパターンpとの親和性情報Assoc(p,n,n)は以下の式により定義される。なお、以下の式で(n,p,n)は、単語対(n,n)がパターンpと共起しているインスタンスの集合を示し、「*」はその位置により、任意のパターン又は単語を示す。
Figure JPOXMLDOC01-appb-M000019
この式から分かるように、単語対単語対(n,n)とパターンpとが共起する頻度が高いほど親和性情報Assoc(p,n,n)の値は大きくなる。一定の単語対(n,n)に対しては、親和性情報Assoc(p,n,n)はパターンpの出現頻度||(*,p,*)||が高くなるほど小さくなる。同様に、一定のパターンpに対しては、親和性情報Assoc(p,n,n)は単語対(n,n)の出現頻度||(n,n)||の出現頻度が高くなるほど小さくなる。
 親和性情報Assoc(p,n,n)も、単語対候補DB496に記録された単語対とパターンの識別情報とを集計することにより、任意の単語対と任意のパターンとの組合せに対して算出できる。
 -除外クラス対特定部514
 除外クラス対特定部514は、最終的に出力される単語対の集合から除外される単語のクラス対を特定する。本実施の形態では、各単語クラス対に対して、そのクラス対にそれぞれ属する単語からなる単語対の平均出現頻度を算出し、その値の差が大きな単語クラス対を除外クラスとする。すなわち、出現頻度が大きく異なる単語対は単語対として適切でないものとして除外する。ここでは、出現頻度が小さな単語クラスの出現頻度に対する、出現頻度が大きな単語クラスの出現頻度の比率がしきい値を超えた場合に、その単語クラス対を除外する。しきい値は事前の実験により適切な値に設定する必要がある。本実施の形態では、この値を25程度に設定する。
 -単語対スコアリング部498
 単語対スコアリング部498は、クラス対適合度DB504に記憶された単語クラスのクラス適合度、パターン類似度DB508に記憶されたパターン類似度、親和性情報DB512に記憶された親和性情報、及び除外クラス対DB516に記憶された除外クラス対情報に基づいて、単語対候補DB496に記録された各単語対のうち、除外対象となっていない単語対とその単語対と最も適合したシードパターンとの組合せの各々について所定のスコアを計算し、単語対選択部500に出力する。このスコアは、本実施の形態では、クラス適合度、パターン類似度、及び親和性情報のいずれに対しても正の相関を以て変化するように定義する。
 例えば、単語対(n,n)とシードパターンPとの組合せに対するスコアScore(n,n,P)は、最も単純には、次の式で表される。
Figure JPOXMLDOC01-appb-M000020
 -単語対選択部500
 単語対選択部500は、ソートされた単語対とシードパターン群との組合せのうち、上位所定個数を選択して単語対DB402に出力する。このとき、単語対選択部500は、各単語対に、組となっているシードパターン群の識別子を付す。選択する単語対の個数は実験により予め決定しておく。
 -パターンマージ部518
 パターンマージ部518は、パターンDB492に記憶されたパターンの各々とシードパターンDB404に記憶されたパターン群の各々とについて、パターン類似度算出部506により算出されたパターン類似度をパターン類似度DB508から読み出し、パターン類似度がしきい値より高いパターンを新たなシードパターンとして、そのシードパターン群に追加する。
 単語対抽出部406は、シードパターンDB404を更新しながら上記した処理を繰返し、所定の終了条件が充足されたときに得られている単語対DB402を最終的な単語対として出力し、またそのときのシードパターンDB404に記憶されているシードパターン群を意味的関係パターンDB400に出力する。意味的関係パターンDB400に記憶されるシードパターン群の各々には、もともとのシードパターン群の種類を示す識別子が付されている。したがって、意味的関係パターンDB400に記憶された意味的関係パターンの識別子を調べることにより、その意味的関係パターンが前述した材料関係、必要関係、使用関係、予防関係、及び因果関係のいずれを表すかを知ることができる。また、単語対DB402に格納された単語対には、その単語対とよく共起するシードパターン群の識別子が付与されている。したがって、その識別子を調べることにより、その単語対がどのような意味的関係を充足するかを知ることができる。
 ≪意味的関係パターンマッチング部470、単語対置換部472及びスコア算出部474≫
 図13に示す因果関係仮説生成部412を構成する意味的関係パターンマッチング部470、単語対置換部472、スコア算出部474及びテンプレート置換部476は、いずれもコンピュータプログラムにより実現できる。本実施の形態におけるそのためのプログラムの制御構造について説明する。
 図15を参照して、このプログラムは、図13に示す因果関係シードペアDB410から、因果関係シードペアを順次読み出し、それらの全てに対して以下の処理を実行するステップ520を含む。
 ステップ520で実行される処理は、処理対象である因果関係シードペアの原因フレーズ及び結果フレーズの名詞からなる単語クラス対と、意味的関係パターンDB400に格納された意味的関係パターンとをマッチングし、単語クラス対がマッチする意味的関係パターンがあるか否かを判定するステップ522と、ステップ522でマッチする意味的関係パターンがあると判定されたときに、マッチした全パターンの全てに対して、以下に説明する処理を実行するステップ524とを含む。ステップ522でマッチする意味的関係パターンがないと判定されたときには処理対象の因果関係シードペアに対する処理は終了し、次の因果関係シードペアの処理に移る。
 ステップ524で実行される処理は、マッチした意味的関係パターンの識別子を持つ単語対を単語対DB402から全て読み出すステップ526と、ステップ526で読み出された単語対の各々に対して、以下の処理を実行するステップ528とを含む。
 ステップ528は、処理対象となっている因果関係シードペアの原因フレーズと結果フレーズとの名詞部分を、読み出された単語対に含まれる単語を用いてそれぞれ置換することで新たな因果関係仮説を生成するステップ530と、ステップ530で生成された因果関係仮説に対して、図12のステップ454で実行する処理と同様の処理で因果関係強度のスコアを算出するステップ532と、ステップ530で生成された因果関係仮説に、ステップ532で算出された因果関係強度のスコアを付して因果関係仮説DB416(図13参照)に出力するステップ534とを含む。ステップ522の判定がYESだった場合、以上の処理をマッチしたパターンの全てに対して実行する。
 このプログラムはさらに、ステップ522の判定がNOの場合、及びステップ522の判定がYESで、処理中の因果関係シードペアに対してステップ524の処理が全て完了した後に実行され、処理中の因果関係シードペアに対して、その原因フレーズと結果フレーズとのそれぞれの矛盾表現を全て矛盾表現辞書422から読み出すステップ536と、ステップ536で読み出された原因フレーズの矛盾表現と結果フレーズの矛盾表現との組合せの各々について、それらを用いて因果関係シードペアの原因フレーズと結果フレーズとを書き換えて新たな因果関係仮説を生成するステップ538と、ステップ538で生成された全ての因果関係仮説について、因果関係強度を算出するステップ540と、ステップ538で生成された全ての因果関係仮説にステップ540でそれぞれ算出されたスコアを付して因果関係仮説DB416に出力するステップ542とを含む。
 以上の処理が全ての因果関係シードペアに対して完了するとこのプログラムの実行は終了する。
 ≪因果関係仮説フィルタリング部418≫
 以上のようにして生成された因果関係仮説には、正しいものも含まれるが、誤ったものも含まれる。そこで、正しい因果関係のみを選択することが必要である。因果関係仮説フィルタリング部418はそうしたフィルタリングの処理を実行する。
 図16を参照して、因果関係仮説フィルタリング部418は、因果関係仮説DB416から因果関係仮説を順次読み出し、その各々について因果関係の一貫性を検証することにより因果関係仮説をフィルタリングする一貫性検証フィルタリング部550と、一貫性検証フィルタリング部550によるフィルタリングを経て残った因果関係仮説に対し、因果関係仮説を構成するフレーズペアの名詞ペアの関連度に基づくフィルタリングを行なう関連度によるフィルタリング部552と、関連度によるフィルタリング部552によるフィルタリングを経て残った因果関係仮説に対し、その原因フレーズ及び結果フレーズがWEBアーカイブ44内において、文内でどのような順序で出現しているかによってフィルタリングを行なう出現順序検証によるフィルタリング部554と、出現順序検証によるフィルタリング部554によるフィルタリングを経て残った因果関係仮説に対して、その原因フレーズ又は結果フレーズに含まれる名詞が非常に多くの因果関係仮説で用いられているために意味があまりに広く漠然としていると考えられるものを含む因果関係仮説を除外する、名詞の出現頻度によるフィルタリング部556と、因果関係仮説の構成要素である名詞に対し、WEBアーカイブ44上で特定の形の修飾句を伴っているか否かを判定することで、同じく漠然とした意味しか持っていない名詞を含む因果関係仮説を除外し、最終的な因果関係フレーズペアを因果関係フレーズペアDB70に出力する除外単語によるフィルタリング部566とを含む。
 因果関係仮説フィルタリング部418はさらに、名詞の出現頻度によるフィルタリング部556での処理に用いるために、因果関係仮説DB416に記録された因果関係仮説における名詞の出現頻度を算出するための名詞の出現頻度算出部558と、名詞の出現頻度算出部558により算出された名詞の出現頻度を記憶する名詞の出現頻度DB560と、WEBアーカイブ44の全体を検索して、「AのB」という形で他の句により修飾して用いられている名詞(「B」に相当する。)を抽出する被修飾名詞の抽出部562と、被修飾名詞の抽出部562により抽出された名詞を、除外単語によるフィルタリング部566での因果関係の除外に用いるために記憶する除外単語DB564とを含む。以下因果関係仮説フィルタリング部418を構成する5つのフィルタリング部等について、詳細を説明する。
 《一貫性検証フィルタリング部550》
 一貫性検証フィルタリング部550は、因果関係の原因フレーズ及び結果フレーズに含まれる名詞ペアに着目し、ある因果関係仮説が、他の因果関係仮説と一貫しているか否かを判断して一貫しているもののみを残す処理を行なう。ここで、例えば「海面が上昇する→干ばつが続く」という因果関係仮説があったとすれば、この因果関係仮説の名詞ペアは「海面」及び「干ばつ」となる。
 一貫性検証フィルタリング部550は、名詞ペア(n,n)を含む因果関係仮説と名詞ペア(n,n)を含む因果関係仮説とが存在する場合、それらの因果関係仮説を候補から除外する。例えば「海面が上昇する→干ばつが続く」という因果関係仮説と、「干ばつが続く→海面が上昇する」という因果関係仮説との双方が存在するときには、双方の因果関係仮説を除外する。
 このように、ある因果関係仮説の原因フレーズと結果フレーズとが他の因果関係仮説の原因フレーズ及び結果フレーズと逆の関係になっている場合、これら因果関係フレーズの両者とも因果関係としては相当でないと考えられるためである。
 《関連度によるフィルタリング部552》
 関連度によるフィルタリング部552は、因果関係仮説の名詞ペアについて、相互の関連度が低いものを除外する。関連度としては、例えば相互情報量(PMI)、DICE係数、Jaccard係数、χ二乗値などを使用できる。具体的な計算方法は以下のとおりである。
 PMI
 PMIは名詞x、yの関連度を表す指標である。PMI(x,y)は以下の式で算出される。以下の式でP(x)は名詞xの出現確率、P(y)は名詞yの出現確率P(x,y)は名詞x、yの共起確率を表す。
Figure JPOXMLDOC01-appb-M000021
なお、名詞x,yの共起確率を計算する際に名詞x,yの共起頻度を数える必要がある。共起頻度は、例えば、名詞x,yの1文書での共起頻度を数えたり、1文での共起頻度を数えたりすることで得ることができる。
 DICE係数
 DICE係数は、2つの単語間の共起関係を定量化するために使用される。単語xが出現する文書数をdf(x)、単語yが出現する文書数をdf(y)とし、単語x,yの共起頻度をdf(x、y)とすると、単語x,yに対するダイス係数DICE(x、y)は以下の式で計算される。
Figure JPOXMLDOC01-appb-M000022
 Jaccard係数
 Jaccard係数は、2つの集合の類似度を表す尺度である。例えば名詞xが出現する文又は文書の集合をS(x),名詞yが出現する文又は文書の集合をS(y)としたときに、名詞x,yの間の類似度は、以下のように集合S(x)及びS(y)の間のJaccard係数J(S(x),S(y))で表すことができる。
Figure JPOXMLDOC01-appb-M000023
 χ二乗値
 χ二乗値はχ二乗検定で使用されるが、2つの単語が無関係か否かを調べる際に使用できる。例えば、2つの単語x,yに関するχ二乗値は、多数の文書において単語x,yがそれぞれ出現するか否かに基づいて、例えば縦軸に単語x、横軸に単語yの出現の有無をそれぞれラベルとする2×2のクロス表を作成することで、次の式により算出される。
Figure JPOXMLDOC01-appb-M000024
ここで、N11は単語x、yの双方が出現する文書数、N10は単語xが出現し、単語yが出現しない文書数、N01は単語xが出現せず、単語yが出現する文書数、N00は単語x、yがいずれも出現しない単語数を表す。E11は、単語xと単語yとが独立であると仮定したときの文書数N11の期待度数を示し、以下E10,E01,E00はそれぞれN10,N01,N00に対応する期待度数である。単語x,yの関係が無関係に近ければχ二乗値は大きくなり、関係が深ければχ二乗値は小さくなる。
 《出現順序検証によるフィルタリング部554》
 出現順序検証によるフィルタリング部554は、因果関係仮説の構成要素の出現順序に基づいて因果関係仮説をフィルタリングする。例えば、WEBアーカイブ44のある文において、ある因果関係仮説の結果フレーズの名詞が原因フレーズの名詞より先に出現している場合、その因果関係を除外するという方法が考えられる。
 例を挙げると、因果関係仮説が「エネルギー産生を高める→循環系を抑える」(名詞ペアは「エネルギー産生」と「循環系」)である場合、WEBアーカイブ44の中のある文において、「グルココルチコイドは循環系を賦活し、エネルギー産生を高め、不要な合成系は抑える。」という表現があった場合、この因果関係を除外する。元の「エネルギー産生」と「循環系」という名詞が、逆の順序で出現している文が存在しているためである。
 《名詞の出現頻度によるフィルタリング部556》
 名詞の出現頻度によるフィルタリング部556は、異なる多数の因果関係仮説に出現する名詞ペアを含む因果関係仮説を除外する。例えば以下のような例が考えられる
 -「地球温暖化が進行する→被害を被る」
 -「株安になる→被害が発生する」
 -「被害が出る→計画を中止する」
 この例では、多数出現する「被害」という名詞を含むため、これら因果関係仮説を全て除外する。このように異なる多数の因果関係仮説に出現する名詞は、そもそも意味が漠然としており、因果関係として採用するのは避けた方がよいためである。
 このために因果関係仮説フィルタリング部418は、名詞の出現頻度算出部558と名詞の出現頻度DB560とを含んでいる。
 《名詞の出現頻度算出部558》
 名詞の出現頻度算出部558は、因果関係仮説DB416に格納されている因果関係仮説フレーズペアの原因フレーズ内の名詞と結果フレーズ内の名詞との各々について、予め因果関係仮説DB416の全ての因果関係仮説における出現頻度を計算する。
 《名詞の出現頻度DB560》
 名詞の出現頻度DB560は、名詞の出現頻度算出部558により計算された、各名詞の出現頻度を格納するためのものである。名詞の出現頻度DB560は、名詞が与えられるとその出現頻度を返すことができる。名詞の出現頻度によるフィルタリング部556はこの機能を用いて因果関係仮説のフィルタリングを行なう。
 《除外単語によるフィルタリング部566》
 除外単語によるフィルタリング部566は、WEBアーカイブ44において「AのB」における「B」のように、修飾句により修飾された名詞(「被修飾名詞」と呼ぶ。)を含む因果関係仮説を除外する。このように修飾句が名詞に付されている場合、フレーズの意味はむしろ修飾句により表されており、被修飾名詞そのものの意味は特定的でなく漠然としていると考えられるためである。すなわち、被修飾名詞を含む因果関係仮説も、因果関係として採用することが妥当とは言えないためである。このようにして得られた被修飾名詞を、ここでは除外単語と呼ぶ。因果関係仮説フィルタリング部418は、このために、被修飾名詞の抽出部562及び除外単語DB564を含む。
 《被修飾名詞の抽出部562》
 被修飾名詞の抽出部562は、WEBアーカイブ44から被修飾名詞の集合を抽出する。この処理はいつでも可能である。
 《除外単語DB564》
 除外単語DB564は、被修飾名詞の抽出部562により抽出された被修飾名詞を、除外単語として記憶する。除外単語DB564は、名詞が与えられると、その名詞が除外単語か否かを表す情報を出力する機能を持つ。典型的には、除外単語DB564は、除外単語によるフィルタリング部566から名詞が与えられると、その名詞が除外単語として記憶されているか否かを示す情報を除外単語によるフィルタリング部566に返す。除外単語DB564に名詞が記憶されていれば除外単語によるフィルタリング部566はその単語を含む因果関係仮説を除外する。なければその因果関係仮説は採用され、因果関係フレーズペアDB70に記憶される。
 〈社会シナリオ生成部72〉
 図17を参照して、社会シナリオ生成部72は、因果関係フレーズペアDB70に記憶された因果関係フレーズペアを連鎖させることにより社会シナリオ候補を生成する社会シナリオ候補生成部580と、社会シナリオ候補生成部580により生成された社会シナリオ候補を所定のスコアでランキングして社会シナリオDB38に出力する社会シナリオランキング部582とを含む。因果関係フレーズペアが多数ある場合、それらから適切なものを適切な順序で連鎖させることにより、因果関係で結ばれた長い因果関係フレーズ列が得られる。本実施の形態では、このフレーズ列を社会シナリオと呼ぶ。この社会シナリオは、人間が考えないような関係で多くの因果関係を結び付け、ある原因フレーズから、思いもよらない結果フレーズを導き出すことができる。ただし、そのためには、因果関係を連鎖させるために適切な因果関係フレーズペアのペアを選び、これらを連鎖させていく必要がある。社会シナリオ候補生成部580はそのためのものである。ただし、このようにして生成された社会シナリオであっても、その原因と結果との間の関係が適切なものと、それほど適切ではないものとが存在するはずである。社会シナリオの適切さを表すスコアを各社会シナリオに付し、スコアの高い社会シナリオとそうでない社会シナリオとを判別できるようにするのが社会シナリオランキング部582である。
 このような因果関係の連鎖を行なう場合、単純にはある因果関係フレーズペアの結果フレーズと、他の因果関係フレーズペアの原因フレーズとが同一であれば分かり易い。しかし、現実には文字上では異なっていても、2つの因果関係フレーズペアを連鎖させることができるようなフレーズ間の関係がある。それらを見落とすと、生成される社会シナリオの範囲が狭くなってしまう危険性がある。そこで、2つの因果関係フレーズペアの連結部となりうる、ある因果関係フレーズペアの結果フレーズと、別の因果関係フレーズペアの原因フレーズとについて、文字列上で同一でなくても両者を実質的に同一視できる関係を見出すことが重要である。
 本実施の形態では、このように文字列上で同一でなくても両者を実質的に同一視することを、両者が因果的一貫性を有する、ということにする。この因果的一貫性は、言い換え及び含意を包含する新しい概念であり、従来の自然言語処理技術のみでは実現できない。社会シナリオ候補生成部580は、2つの因果関係フレーズペアについて、一方の結果フレーズと他方の原因フレーズとの因果的一貫性を評価することにより、因果的一貫性を持つ因果関係フレーズペアを連鎖させる。
 〈社会シナリオ候補生成部580〉
 図18を参照して、社会シナリオ候補生成部580は、単純述語テンプレートDB62、因果関係フレーズペアDB70、及び単語クラスDB46を参照し、因果関係フレーズペアDB70内において、名詞が同じで単純述語テンプレートの極性が同じフレーズを、因果的一貫性を持つ同義のフレーズとみなしてその組合せを表す情報(連鎖情報)を生成し出力する第1の同義関係生成部600を含む。この連鎖情報は、因果的一貫性を持つと判定された2つのフレーズの識別子をペアにしたものである。
 社会シナリオ候補生成部580はさらに、単語クラスDB46と因果関係フレーズペアDB70とを参照し、因果関係フレーズペアDB70内において、名詞が同じでフレーズ全体の評価極性が同じフレーズを因果的一貫性のある同義のフレーズとみなして、その連鎖情報を生成し出力する第2の同義関係生成部602と、単語クラスDB46を参照し、因果関係フレーズペアDB70内において、名詞が同じで、大量文書中での出現文脈が類似しているテンプレートを持つフレーズの対を、因果的一貫性のある同義のフレーズとみなして選択し、その連鎖情報を生成し出力する第3の同義関係生成部604とを含む。
 社会シナリオ候補生成部580はさらに、第3の同義関係生成部604での判定に用いるテンプレートの分布類似度を予め記憶するテンプレート分布類似度DB614を含む。テンプレート分布類似度DB614はどのような手法により作成してもよいが、本実施の形態では、社会シナリオ候補生成部580は、このテンプレート分布類似度DB614を予め作成するために、WEBアーカイブ44及び複雑述語テンプレートDB66を参照して、WEBアーカイブ44における各テンプレートの分布類似度を算出し、その結果をテンプレート分布類似度DB614に格納する分布類似度算出部616を含んでいる。
 なお、因果関係フレーズペアを連結するための手法としては、上記したように2つのフレーズの因果的一貫性を用いることだけには限定されない。例えば、2つのフレーズの間で因果的一貫性はないものの、意味的に考えてあるフレーズから別のフレーズへの因果関係を橋渡しする関係が存在する場合がある。たとえば、一方のフレーズが「日光がさえぎられる」というものであり、他方のフレーズが「光合成が妨げられる」というものである場合、両者をつなぐリンクとして例えば「日光が光合成に必要だ」というフレーズを考えることができる。すると、このフレーズを媒介にして「日光がさえぎられる」という結果フレーズを持つ因果関係フレーズペアと「光合成が妨げられる」という原因フレーズを持つ因果関係フレーズペアとを連鎖させることができる。しかしこの場合、新たに挿入された「日光が光合成に必要だ」というフレーズは、社会シナリオに挿入する必要はない。因果関係の先頭と末尾とが分かれば十分だからである。したがってこのようにして因果関係フレーズペアを連鎖させる場合にも、フレーズの識別子のペアを記憶しておけばよい。この場合には連鎖には順序が必要になってくるので、順序付のフレーズ識別子ペアを記憶する必要がある。
 このような処理を行なって順序付フレーズ識別子ペアを生成するのが図18に示す連結関係生成部606である。どのようにしてこうしたリンクを形成するフレーズ間の関係を見出すかが問題である。ここでは、2つのフレーズが含む名詞間の意味的関係に着目してこの問題を解決した。すなわち、ある2つの名詞の間に特定の関係が成立しているときに、両者の間にその関係が成立するものとして、フレーズ間にリンクがあるように処理する。ここでの関係としては、図11に示した単語対抽出部406により抽出され、単語対DB402に記録された単語対を形成する単語間の関係、すなわち意味的関係パターンDB400に記録された意味的関係パターンにより表される意味的関係を用いることができる。単語対抽出部406は、必要関係、材料関係、使用関係、予防関係、及び因果関係を持つ単語対を抽出し、そうした単語対を単語対DB402に、そうした関係を表すパターンを意味的関係パターンDB400に、それぞれ記録している。したがって、これらを用いることにより、フレーズ間に特定の関係が成立しているか否かを調べ、成立している場合には両者の間に因果関係があるものとして、フレーズ間を連結する。このようにある因果関係フレーズペアの結果フレーズと、他の因果関係フレーズペアの原因フレーズとの間にある意味的関係が成立し、そのために両者の間に因果関係が成立すると考えられる場合を、「意味的関係によるリンク」と呼ぶ。
 連結関係生成部606は、あるフレーズに含まれる名詞の単語と、他のフレーズに含まれる名詞の単語が、単語対DB402に単語対として記憶されていれば両者の間にはその単語対により表される関係が成立するものと判定する。通常、この場合の因果関係は一方向のみなので、連結関係生成部606は、双方のフレーズの識別子を順序付の識別子対として生成し連結情報生成部608に出力する。
 社会シナリオ候補生成部580はさらに、第1の同義関係生成部600、第2の同義関係生成部602、及び第3の同義関係生成部604が出力するフレーズの識別子対、及び連結関係生成部606が出力するフレーズの順序付の識別子対を用い、ある因果関係フレーズペアと、その因果関係フレーズペアと因果関係で結ばれる因果関係フレーズペアの組とからなるツリーを因果関係フレーズペアごとに生成する連結情報生成部608と、連結情報生成部608の出力するツリーを記憶する連結関係DB610とを含む。このツリーを用いることで、因果関係フレーズペアから次の因果関係フレーズペアへ、さらにその次の因果関係フレーズペアへ、因果関係を連鎖させていくことができる。
 社会シナリオ候補生成部580はさらに、因果関係フレーズペアDB70に記憶された連結情報を用い、因果関係フレーズペアDB70に記憶された任意の因果関係フレーズペアを起点に因果関係フレーズペアを順次たどって連結していくことにより、社会シナリオ候補を生成する因果関係連結部612と、因果関係連結部612が生成する社会シナリオ候補を記憶する社会シナリオ候補DB618とを含む。
 因果関係連結部612は、例えば連結する因果関係の数の上限が与えられると、その範囲で可能な全ての社会シナリオを形成したり、ある因果関係フレーズペアが指定されると、その因果関係フレーズペアに続く因果関係フレーズペアを複数個表示し、さらにその中からいずれかの因果関係フレーズペアが指定されると、新たに指定された因果関係フレーズペアに続く因果関係フレーズペアを複数個表示し、という処理を対話的に繰返すことにより社会シナリオを生成したりすることもできる。
 〈社会シナリオランキング部582〉
 図19を参照して、本実施の形態に係る社会シナリオランキング部582(図17参照)は、社会シナリオ候補DB618に記憶された社会シナリオに、それらを構成する全ての因果関係フレーズペアの因果関係としての強さに基づくスコアを付与する。本実施の形態では、社会シナリオランキング部582は、ある社会シナリオ候補に含まれる因果関係フレーズペアの各々について、図12を参照して説明した因果関係強度のスコアを付与する。社会シナリオランキング部582はさらに、それらを全て乗算することで社会シナリオ候補にスコアを付与する。
 すなわち、社会シナリオランキング部582は、社会シナリオ候補DB618に記憶された社会シナリオ候補の各々について、それらを構成する因果関係強度を因果関係フレーズペアに付された因果関係強度スコアを参照して計算し、さらにそれらを乗算することでスコアを付与して出力する全体因果関係スコア算出部640と、全体因果関係スコア算出部640の出力するスコア付き社会シナリオ候補を記憶するスコア付き社会シナリオ候補DB642と、スコア付き社会シナリオ候補DB642に記憶されたスコア付き社会シナリオ候補をそのスコアの降順でソートする社会シナリオソート部644と、ソートされた社会シナリオ候補を記憶するソート済社会シナリオ候補DB646と、ソート済社会シナリオ候補DB646に記憶された社会シナリオ候補の中からスコアがしきい値以上のものを選択して社会シナリオDB38に出力する社会シナリオ選択部648とを含む。
 [動作]
 この第1の実施の形態に係る社会シナリオ生成システム30は、以下のように動作する。図1を参照して、シードテンプレートDB32には予め少数のシードテンプレートが格納される。各シードテンプレートが活性か否かについても予め判断されており、各テンプレートにそのタグが付されている。一方、接続詞DB34には、日本語の順接接続詞等及び逆接接続詞等が格納され、それらの種類も記憶されている。また、矛盾表現辞書422(図11、図13)には、予め収集された、互いに矛盾する表現からなるペアが多数記憶されている。
 〈準備工程〉
 図7に示すトラブル名詞極性判定用辞書266については、予めWEBアーカイブ44を参照してトラブル名詞の極性を判定するために必要なパターンを収集し、極性とともに記憶しておく。
 さらに、図11に示す意味的関係パターンDB400及び単語対DB402も予め準備しておく。そのために、シードパターンDB404に単語間の所定の関係を表すシードパターンをいくつか格納しておく。単語クラスDB46についても予め準備しておく。シードパターンDB404及び単語クラスDB46はどのようにして準備してもよい。
 意味的関係パターンDB400及び単語対DB402の準備をするために、単語対抽出部406は以下のように動作する。図14を参照して、単語対抽出部406のパターン抽出部490は、図14に示すようにWEBアーカイブ44から様々な単語間の関係を抽出する。この処理のためにパターン抽出部490は、WEBアーカイブ44から2つの名詞を含むフレーズを多数抽出する。これらのフレーズに含まれる名詞を、単語クラスDB46から読み出した対応するクラスの変数で置換することで多数のパターンを生成する。これらパターンをさらに集約し、集約されたユニークなパターンをパターンDB492に格納する。
 単語対候補取得部494は、シードパターンDB404を参照しながら、WEBアーカイブ44から、シードパターンのいずれかに合致する形で出現する単語対を単語対候補として取得し、単語対候補DB496に蓄積する。これら単語対には、対応するシードパターンが属するシードパターン群の識別子(又はシードパターンそのものの識別子でもよい)が付される。
 一方、クラス対適合度算出部502は、単語対候補DB496に記憶された単語対に基づき、任意の2つの単語クラス間におけるクラス対適合度をクラス対ごとに算出し、クラス対適合度DB504に記憶させる。パターン類似度算出部506は、パターンDB492に記憶されたパターンとシードパターンDB404に記憶されたシードパターン群との組合せごとにパターン類似度を算出し、それらの組合せごとにパターン類似度DB508に記憶させる。親和性情報算出部510は、単語対と、パターンDB492に記憶された各パターン及びシードパターンDB404に記憶されたシードパターン群との親和性情報を算出し、単語対とシードパターン等との組合せごとに親和性情報DB512に記憶させる。除外クラス対特定部514は、単語クラスDB46に記憶されている単語のクラス対ごとに、WEBアーカイブ44での各クラスに属する単語の出現頻度の差がしきい値以上か否かを判定する。除外クラス対特定部514はさらに、差がしきい値以上のクラス対を特定し、除外クラス対DB516に格納する。
 単語対スコアリング部498は、クラス対適合度DB504に記憶されたクラス対適合度、パターン類似度DB508に記憶されたパターン類似度、親和性情報DB512に記憶された親和性情報を用い、単語対候補DB496に格納された単語対ごとに前述したスコアScoreを算出する。
 単語対選択部500は、単語対スコアリング部498によりスコアリングされた単語対のうち、上位の所定個数を選択し、単語対DB402に格納する。このとき、各単語対には、シードパターンDB404に記憶されたシードパターン群のうち、その単語対の取得時にマッチしたシードパターンを含むものの識別子が付与されている。
 一方、以上のような処理を1度だけで済ますよりは、新たに得られたシードパターンをシードパターンDB404に追加しながら上記した処理を繰返すと、単語対DB402の数も精度も高めることができる。そのためにパターンマージ部518は、パターン類似度DB508に記憶されたパターン及びシードパターン群の間の類似度を用い、あるシードパターン群との類似度がしきい値より高いパターンを、シードパターンDB404のそのシードパターン群に追加する。シードパターンDB404がこのようにして更新されると、この更新されたシードパターン群を用いて上記した処理を繰返す。この処理を所定の終了条件が成立するまで繰返すことで、精度の高い単語対DB402と、様々な意味的関係に分類された、シードパターン群とを得ることができる。シードパターンの数は最初に準備したものより大幅に増加することが通常であり、その結果、幅広い範囲の表現について、その表現がどのような意味的関係に合致するかを判定できるようになる。
 〈単純述語テンプレートの収集〉
 単純述語テンプレート収集部60は以下のように動作して単純述語テンプレートDB62を構築する。図2を参照して、初期テンプレートペア生成部90は、シードテンプレートDB32に記憶された全シードテンプレートの全ての組合せと、接続詞DB34に記憶された接続詞等との可能な組合せを全て生成し、これらを全てテンプレートペアとして初期テンプレートペアDB92に記憶させる。名詞ペア収集部94は、初期テンプレートペアDB92に記憶されたテンプレートペアの各々について、そのテンプレートペアと共起する名詞ペアをWEBアーカイブ44から収集し、名詞ペアDB96に記憶させる。名詞ペア極性判定部98は、これら名詞ペアの各々について、その名詞ペアと共起するテンプレートペア内のテンプレートの活性/不活性と、テンプレートペアを結び付ける接続詞DB34からの接続詞等の種類とに応じて、その名詞ペアが正の関係か負の関係かを判定し、各名詞ペアに極性タグを付与する。
 続いて、テンプレートペア収集部100が、各名詞ペアについて、WEBアーカイブ44からその名詞ペアと共起するテンプレートペアを収集し、テンプレートペアDB102に格納する。
 これらテンプレートペアの各々について、テンプレート活性マッチ判定部104が、共起する名詞ペアの正/負と、接続詞等の種類(順接、逆接)とに応じ、テンプレートペアを構成するテンプレートの活性/不活性が互いに同じか、反対かを決定する。このとき、あるテンプレートペアについて、それらの活性が同じとなるものと反対となるものとが存在する場合には、同じものと反対のものとを出現回数を比較し、多数決により同じか反対かを決定する。テンプレート活性マッチ判定部104は、テンプレートペアDB102に記憶されたテンプレートペアの各々について、それらの活性/不活性が同じか反対かを示すタグを付与する。
 テンプレートネットワーク構築部106は、テンプレートペアDB102に記憶されたテンプレートペアに基づいて、テンプレートネットワーク140(図3)を構築する。テンプレートネットワーク構築部106は、テンプレートペアを構成する2つのテンプレートに対応するノードがもしネットワークになければネットワークに追加し、そのリンクがなければそれも追加する。この処理を全てのテンプレートペアについて実行することで、テンプレートネットワーク140の原型を構築する。テンプレートネットワーク構築部106はさらに、ネットワーク内で互いにリンクのないノードの対全てについて、同義・含意関係辞書108を参照して、それらノードに対応するテンプレートの間にテーブル10に示すような特定の関係があるか否かを判定し、あれば互いの間に「同一」というリンクを張る。さらにテンプレートネットワーク構築部106は、このようにして構築されたネットワークの各リンクに対し、式(1)によって算出される重みを付与する。このようにしてリンクが追加されたテンプレートネットワーク140はテンプレートネットワークDB110に記憶される。
 テンプレート活性値算出部112は、図6に示す処理を実行する。すなわち、最初にシードテンプレートに、その活性/不活性に応じて+1又は-1の活性値を付与する(ステップ240)。さらに、電子スピンのエネルギーに類似した量として式(2)により定義された値E(x,W)を最小化する処理を実行することにより(ステップ242)、各テンプレートの活性値を推定し、各テンプレートにその活性値を付与する。これら活性値の値には、負のものもあるし正のものもある。高活性度テンプレート抽出部114は、このようにして活性値が推定されたテンプレートの内、活性値の絶対値が所定のしきい値よりも大きなものを選択し、それらテンプレートを用いて単純述語テンプレートDB62を構築する。なお、ここでは、しきい値により選択するのではなく、活性値の絶対値の大きさにしたがって順位をつけるようにしてもよい。
 図2に示す終了判定部116は、単純述語テンプレートDB62が構築された時点で、所定の終了条件が充足されたか否かを判定する。終了条件としては、例えば繰返し数が所定数を超えた、又は、テンプレート数が所定数を超えた、というような条件を想定できる。もしも終了条件が成立していれば、単純述語テンプレートDB62が完成したものとされる。もしも終了条件が成立していなければ、シードテンプレート更新部118は、単純述語テンプレートDB62に含まれるテンプレートを新たなシードテンプレートとして、シードテンプレートDB32を更新する。これらシードテンプレートには、以上の処理により計算された活性値が付与されているので、以後の処理ではこれらの活性値を使用してこれまで記載したのと同様の処理を実行する。
 以上の処理を繰返し、終了条件が充足されたところで単純述語テンプレートDB62が完成したことになる。以後、複雑述語テンプレート収集部64がこの単純述語テンプレートDB62を使用して、インターネット40から複雑述語テンプレートを獲得する処理を実行する。
 〈複雑述語テンプレートの収集〉
 具体的には複雑述語テンプレート収集部64の複雑述語テンプレート候補抽出部268は、以下のようにしてサ変名詞テンプレート候補DB270、数量名詞テンプレート候補DB272、及びトラブル名詞テンプレート候補DB274を構築する(図7)。すなわち、図8を参照して、複雑述語テンプレート候補抽出部268は、WEBアーカイブ44の全文書の全文に対して(ステップ300)、形態素解析(ステップ302)及び係り受け解析(ステップ304)を実行し、係り受け木を生成する。続いて、各ノードに対して、次のような処理を実行する(ステップ306)。
 まず、そのノードの単語が対象名詞か否かを判定する(ステップ308)。ここでの判定には、図7に示す対象名詞辞書260を利用する。単語が対象名詞でなければ(ステップ308でNO)次のノードの処理に移る。単語が対象名詞であれば(ステップ308でYES)、その係り先がいずれかの単純述語テンプレートか否かを判定する(ステップ310)。単純述語テンプレートでなければ(ステップ310でNO)次のノードの処理に移る。単純述語テンプレートであれば(ステップ310でYES)、処理対象のノードの係り受け元のノード末尾の助詞と、処理対象のノードの形態素と、係り先の単純述語テンプレートとを連結して複雑述語テンプレート候補を生成し(ステップ312)、その複雑述語テンプレートの対象名詞の種類に応じ、図7に示すサ変名詞テンプレート候補DB270、数量名詞テンプレート候補DB272、又はトラブル名詞テンプレート候補DB274に分類して格納する(ステップ314)。ここまでの処理が終了したら、係り受け木の次のノードに対する処理を行なう。
 単純述語テンプレートDB62が得られた後、図7に示すサ変名詞極性判定部264は、サ変名詞極性付与部276によるサ変名詞テンプレートの極性付与に先立って、次のようにしてサ変名詞極性辞書262を構築する。具体的には、サ変名詞極性判定部264は各サ変名詞テンプレートに対して以下のような処理を行なう。
 すなわち、サ変名詞極性判定部264は、そのサ変名詞テンプレート候補に対し、そのサ変名詞に対応するサ変動詞を特定し、単純述語テンプレートDB62においてこのサ変動詞を含む単純述語テンプレートを検索する。検索された全ての単純述語テンプレートの極性が一致していれば、サ変名詞極性判定部264はその極性を処理中のサ変名詞テンプレートの極性とし判定し、サ変名詞極性辞書262にサ変名詞と極性との組合せを見出しとして記憶する。
 検索された単純述語テンプレートの極性が一致していないとき、典型的には単純述語テンプレートの先頭の助詞に応じて極性が変化しているときには、複雑述語テンプレートの極性を単純に決めることはできない。したがってこの場合、サ変名詞極性判定部264は以下のような処理を行なう。
 すなわち、サ変名詞極性判定部264は、サ変名詞テンプレート候補のサ変名詞にWEBアーカイブ44において「ノ」格でかかっている名詞を全て特定する。このようにして特定した名詞が、どのような助詞を伴って上記したサ変動詞と共起しているか、その頻度を調べる。サ変名詞極性判定部264は、このようにして調べた結果、最も頻度が高かった助詞と、上記したサ変動詞とからなる単純述語テンプレートを特定し、その単純述語テンプレートの極性を、上記した「ノ」で係る名詞との組合せにおけるサ変名詞テンプレート候補の極性とする。この処理を、「ノ」でサ変名詞テンプレート候補に係る名詞との組合せの全てに対して行なうことで、そのサ変名詞テンプレート候補の、各名詞との組合せにおける極性を特定できる。
 サ変名詞極性判定部264は、この情報をサ変名詞極性辞書262に記憶する。したがって、サ変名詞テンプレートが与えられたとき、そのサ変動詞を含む単純述語テンプレートの極性がサ変名詞極性辞書262に単一の極性として記憶されているときはその極性をもってサ変名詞テンプレートの極性とし、そうでないときには、そのサ変名詞テンプレートに係る「ノ」格の名詞が分かれば、サ変名詞極性辞書262を参照することでそのサ変名詞テンプレートの極性も判定できる。逆に言うと、サ変名詞テンプレートの一部については、その前に「ノ」格で出現する名詞が分からないと極性を判定できず、文脈に依存する。
 図9を参照して、図7に示すサ変名詞極性付与部276は、サ変名詞テンプレート候補DB270に記憶されたサ変名詞テンプレート候補の各々に対し以下の処理を実行する(ステップ340)。すなわち、サ変名詞極性付与部276はサ変名詞極性辞書262を参照して、各サ変名詞テンプレート候補が含むサ変名詞の見出しが1つか否かを判定し(ステップ342)、見出しが1つであれば(ステップ342でYES)その極性を処理対象のサ変名詞テンプレート候補に極性として付与し(ステップ344)、次のサ変名詞テンプレート候補の処理に移る。ステップ342の判定が否定的であれば、極性が文脈依存であることを示す値をサ変名詞テンプレート候補に極性として付与し、次のサ変名詞テンプレート候補の処理に移る。全てのサ変名詞テンプレートに対してこの処理が完了すると、親ルーチンに復帰する。
 図7に示す数量名詞極性付与部278は、数量名詞テンプレート候補記憶部に記憶された数量名詞テンプレート中の数量名詞に活性の極性を付与し、複雑述語テンプレート極性算出部282に与える。
 図7に示すトラブル名詞極性付与部280は、図10を参照して、トラブル名詞テンプレート候補DB274に記憶されたトラブル名詞テンプレート候補の各々について、以下の処理を実行する(ステップ370)。ステップ370では、まず、トラブル名詞極性判定用辞書266を参照して、そのトラブル名詞に対する見出しが1つだけあるか否かを判定する(ステップ372)。判定がYESなら、その極性をトラブル名詞の極性として付与し(ステップ374)、複雑述語テンプレート極性算出部282に出力して次のトラブル名詞テンプレート候補の処理に移る。ステップ372の判定がNOなら、トラブル名詞の極性が文脈依存であることを示す値を極性としてトラブル名詞に付与し(ステップ376)、複雑述語テンプレート極性算出部282に出力して次のトラブル名詞テンプレート候補の処理に移る。全てのトラブル名詞テンプレート候補に対してこの処理が完了すると、処理を終了する。
 複雑述語テンプレート極性算出部282は、各複雑述語テンプレート候補の名詞(サ変名詞、数量名詞、トラブル名詞)に付与された極性の値と、各候補の単純述語テンプレート部分の極性とを乗算することで複雑述語テンプレートの極性を算出し、その極性付の複雑述語テンプレートを複雑述語テンプレートDB66に格納する。このとき、複雑述語テンプレート極性算出部282は、サ変名詞テンプレート候補のサ変名詞及びトラブル名詞テンプレート候補のトラブル名詞の極性が文脈依存である場合には、複雑述語テンプレートの極性を上記のように算出することはせず、極性が文脈依存であることを示す値を複雑述語テンプレートに付与する。
 〈因果関係フレーズペアの収集〉
 図1に示す因果関係フレーズペア収集部68は、複雑述語テンプレートDB66が生成された後、以下のようにして因果関係フレーズペアDB70を構築する。なおこの処理に先立って、意味的関係パターンDB400、単語対DB402、及び名詞の極性辞書420(図11)を準備しておく必要がある。
 図11に示す因果関係シードペア収集部408は、以下のようにして因果関係シードペアを収集する。図12を参照して、まず、ステップ440において、一文中で互いに順接接続詞等で接続されてWEBアーカイブ44内で共起している述語テンプレートペアと、その述語テンプレートペアに係る名詞からなる名詞ペアとをWEBアーカイブ44から因果関係シードペア候補として収集する。ここでの述語テンプレートは、単純述語テンプレートDB62に格納された単純述語テンプレートと、複雑述語テンプレートDB66に格納された複雑述語テンプレートペアとの双方を含む。各単純述語テンプレートには極性が付されている。複雑述語テンプレートのうち、数量名詞を含むものと、サ変名詞を含むものの一部と、トラブル名詞を含むものの一部にも同様に極性が付されている。複雑述語テンプレートのうち、サ変名詞テンプレートとトラブル名詞テンプレートとについては、名詞の極性が文脈依存を示す値である場合がある。そうした場合、因果関係シードペア収集部408はその直前に「ノ」格でかかっている名詞と複雑述語テンプレート内のサ変名詞との組合せでサ変名詞極性辞書262を検索する。サ変名詞極性辞書262からその組合せに対するサ変名詞の極性を得たうえで複雑述語テンプレート内の単純述語テンプレートの極性と乗算して複雑述語テンプレートの極性を判定する。
 続いて、このようにして得られた全ての候補に対して、以下のステップ442を実行する。すなわち、ステップ442では、処理対象である候補内の名詞ペアの関係が正の関係か否かを判定する(ステップ444)。判定が肯定的な場合には、さらに、その候補の述語テンプレートペアの活性/不活性が同じか反対かを判定する(ステップ446)。ステップ446の判定が否定的ならこの候補は捨てる。すなわち、この候補に対しては何もしない。ステップ446の判定が肯定的ならこの候補を因果関係シードペア群に追加する(ステップ448)。この後、次の候補の処理に移る。
 一方、ステップ444の判定が否定的なら、ステップ450でこの候補の述語テンプレートペアの活性/不活性が互いに反対か否かを判定する。判定が否定的ならこの候補は捨てる。判定が肯定的ならこの候補を因果関係シードペア群に追加する(ステップ448)。この後、次の候補の処理に移る。
 以上の処理が全ての因果関係シードペア候補に対して終了すると、結果として得られた因果関係シードペア群内の全ての因果関係シードペアに対してステップ452の処理を実行する。すなわち、因果関係シードペア収集部408は、ステップ454で、各因果関係シードペアに対し、因果関係強度のスコアC(p,p)を既に示した式(3)により算出する。式(3)を以下に再掲する。
Figure JPOXMLDOC01-appb-M000025
ただしp,pはそれぞれ、因果関係シードペアを構成するフレーズ、s及びsはそれぞれ、フレーズp,pを構成する述語テンプレートの活性値、記号|s|は活性値sの絶対値、n,nはそれぞれ、フレーズp,pに含まれる名詞、npfreq(n,n)は、n,nが正の関係なら、n,nが活性/不活性の同じテンプレートペアと一文中で共起する頻度、n,nが負の関係なら、n,nが活性/不活性の異なる述語テンプレートペアと一文中で共起する頻度を、それぞれ表す。
 このようにして全ての因果関係シードペアに対し因果関係強度のスコアを算出した後、ステップ456で因果関係シードペアをスコアと関連付けて因果関係シードペアDB410に出力する。
 このような処理を実行することにより、因果関係を表すフレーズのペアであって、単純述語テンプレート又は複雑述語テンプレートを含むペアを大量に、かつ自動的にWEBアーカイブ44から収集できる。なお、上記した式(3)に代えて式(4)を使用できることは前述したとおりである。
 〈因果関係仮説の生成〉
 因果関係シードペアDB410に記憶された因果関係シードペアは大量ではあるものの、考えられる全ての因果関係を網羅したものではない。そこで、これら因果関係シードペアから、合理的な範囲でより多くの因果関係の仮説を生成し、最終的に得られる社会シナリオがカバーする範囲を広げることが必要である。そのために図11に示す因果関係仮説生成部412は、因果関係シードペアDB410に記憶された因果関係シードペアから次のようにさらに多数の因果関係仮説を生成し、因果関係仮説DB416に格納する。なお、本実施の形態では、この処理に先立って、既に説明したように、意味的関係パターンDB400、単語対DB402、及び互いに矛盾する表現からなる述語テンプレートペアを矛盾表現辞書422に記憶しておくことが必要である。
 意味的関係パターンDB400は、互いに特定の意味的関係にある単語クラスが共起するパターンを、意味的関係ごとに意味的関係パターン群として記憶している。単語対DB402は、意味的関係パターンDB400に記憶されたパターンに適合する、特定の意味的関係を持つ単語対を予め記憶している。単語対DB402に記憶された単語対には、意味的関係パターンDB400に記憶された意味的関係パターン群のうち、その単語対が適合するパターン群の識別子が付されている。
 矛盾表現を使用して因果関係仮説を生成しない場合には、矛盾表現辞書422は必要ない。
 図13及び図15を参照して、因果関係仮説生成部412の意味的関係パターンマッチング部470は、因果関係シードペアDB410に格納された因果関係シードペアの各々について、そのシードペアを構成するフレーズペア内の名詞ペアが属する単語クラスを単語クラスDB46から読み出し、以下の処理(図15のステップ520)を行なう。すなわち、意味的関係パターンマッチング部470は、読み出した単語クラス対が意味的関係パターンDB400に格納された意味的関係パターンのいずれとマッチするか否かを判定し(図15のステップ522)、マッチした意味的関係パターンの属する意味的関係パターン群の識別子を因果関係シードペアとともに単語対置換部472に与える。マッチした意味的パターンがない場合には、この因果関係シードペアに関して矛盾表現を用いて書き換えた新たな因果関係仮説を生成するために、図13に示すテンプレート置換部476の処理を開始する。テンプレート置換部476の動作については後述する。
 マッチした意味的パターンがある場合、単語対置換部472は、マッチした全パターンに対して以下の処理を実行する(図15のステップ524)。すなわち、マッチした意味的関係パターンが属する意味的関係パターン群の識別子が与えられた単語対を単語対DB402から全て読み出す(図15のステップ526)。読み出した単語対の各々を用い、以下の処理を実行する(図15のステップ528)。まず、因果関係シードペアを構成する原因フレーズと結果フレーズとの双方の名詞ペアを、読み出された単語対で置換する(図15のステップ530)。
 スコア算出部474は、図12のステップ454で行なわれるものと同様の手法により因各因果関係仮説に対する因果関係強度スコアを算出し(図15のステップ532)、因果関係仮説に付して因果関係仮説DB416に出力する(図15のステップ534)。以上の処理を、ステップ526で読み出された全ての単語対について実行する。以上の処理が完了すると、テンプレート置換部476の処理を開始する(ステップ536)。
 テンプレート置換部476は、処理中の因果関係シードペアを構成する原因フレーズと結果フレーズの矛盾表現を全て矛盾表現辞書422から読み出す(図15のステップ536)。テンプレート置換部476はさらに、処理中の因果関係シードペアの原因フレーズと結果フレーズを、それらの矛盾表現を用いて置換する処理を、原因フレーズの矛盾表現と結果フレーズの矛盾表現との組合せを全て用いて行なうことで新たな因果関係仮説を生成し(図15のステップ538)、スコア算出部474に与える。スコア算出部474は、図12のステップ454で行なわれるものと同様の手法により各因果関係仮説に対する因果関係強度スコアを算出し(図15のステップ540)、各因果関係仮説にそれぞれの因果関係強度スコアを付して因果関係仮説DB416に出力し(図15のステップ542)、次の因果関係シードペアの処理に移る。
 因果関係仮説生成部412が以上の処理を全ての因果関係シードペアに対して実行することで、因果関係シードペアに基づいて新たなスコア付の因果関係仮説が多数生成され、因果関係仮説DB416に追加される。
 〈因果関係仮説のフィルタリング〉
 上のようにして生成された因果関係仮説には、妥当でないものも多く含まれる。そこで、そうした誤った因果関係仮説を除去する必要がある。図11に示す因果関係仮説フィルタリング部418はその処理を行なう。
 図16を参照して、因果関係仮説フィルタリング部418の名詞の出現頻度算出部558は、因果関係仮説DB416に記憶された因果関係仮説内における名詞の出現頻度を名詞別に算出し、名詞の出現頻度DB560に格納する。これは名詞の出現頻度によるフィルタリング部556によるフィルタリング処理のための準備である。一方、被修飾名詞の抽出部562は、WEBアーカイブ44を検索し、「AのB」という形で修飾句により修飾された被修飾名詞(「AのB」における「B」に相当する名詞)を抽出し、除外単語DB564に格納する。これは、除外単語によるフィルタリング部566によるフィルタリング処理のための準備である。
 本実施の形態では、因果関係仮説フィルタリング部418は、まず一貫性検証フィルタリング部550によるフィルタリングを行なう。一貫性検証フィルタリング部550は、因果関係仮説の各々について、仮説を構成するフレーズペアの名詞ペア(n,n)の名詞n及びnのいずれも、他の因果関係において原因フレーズにも結果フレーズにも表れているか否かを判定する。いずれの名詞もこの条件に合致している場合には、一貫性検証フィルタリング部550はこの因果関係仮説を除去する。一貫性検証フィルタリング部550は、これ以外の因果関係仮説を関連度によるフィルタリング部552に与える。
 本実施の形態では、関連度によるフィルタリング部552は、因果関係仮説を構成するフレーズ対の名詞ペアの関連度を算出し、関連度がしきい値より低い因果関係仮説を除去し、それ以外の因果関係仮説を出現順序検証によるフィルタリング部554に与える。関連度として、本実施の形態では、名詞ペアの相互情報量(PMI)を用いる。前述したとおり、名詞ペアの関連度としてこれ以外の指標を用いてもよい。
 出現順序検証によるフィルタリング部554は、関連度によるフィルタリング部552から与えられる因果関係仮説を構成するフレーズペアの各々について、それらがWEBアーカイブ44中で出現する順序に基づいて因果関係仮説をフィルタリングする。具体的には、出現順序検証によるフィルタリング部554は、因果関係仮説を構成するフレーズペアが、WEBアーカイブ44中のある文で共起しており、かつ結果フレーズが原因フレーズより前に出現している因果関係仮説を除外し、それ以外を名詞の出現頻度によるフィルタリング部556に出力する。
 名詞の出現頻度によるフィルタリング部556は、関連度によるフィルタリング部552から与えられる因果関係仮説の各々について、それらを構成するフレーズペアの名詞ペアの、WEBアーカイブ44における出現頻度に基づくフィルタリングを行なう。具体的には、名詞の出現頻度によるフィルタリング部556は、因果関係仮説について、その因果関係を構成するフレーズペアの名詞ペアのいずれかが、因果関係仮説中においてしきい値を超える頻度で出現している場合、その因果関係仮説を除外する。名詞の出現頻度によるフィルタリング部556は、それ以外の因果関係仮説を除外単語によるフィルタリング部566に与える。
 除外単語によるフィルタリング部566は、名詞の出現頻度によるフィルタリング部556から与えられる因果関係仮説について、除外単語DB564に記憶された除外単語を含むか否かを判定し、除外単語を含むものを除外する。除外単語によるフィルタリング部566は、除外単語を含まない因果関係仮説のみを因果関係フレーズペアDB70に格納する。
 このようにして因果関係仮説フィルタリング部418によるフィルタリングが完了した時点で、因果関係フレーズペアDB70には多数の因果関係フレーズペアが格納されていることになる。
 なお、本実施の形態では、一貫性検証フィルタリング部550、関連度によるフィルタリング部552、出現順序検証によるフィルタリング部554、名詞の出現頻度によるフィルタリング部556、及び除外単語によるフィルタリング部566によるフィルタリングをこの順序で行なっている。しかし本発明はそのような実施の形態には限定されない。例えば処理の順番を入れ替えてもよい。一部の処理を除外してもよい。又は、これらの処理を互いに並列して実行し、それぞれの目的に合致したスコアを各因果関係仮説に付与して、それらの積又は合計がしきい値をこえたか否かで因果関係仮説の採用/除外を判定してもよい。
 〈社会シナリオの生成〉
 上記した処理で構築された因果関係フレーズペアDB70を用いると、多くの社会シナリオを生成できる。社会シナリオの生成を行なうのが図1に示す社会シナリオ生成部72である。
 図17を参照して、社会シナリオ候補生成部580は、因果関係フレーズペアDB70に記憶されたある因果関係フレーズペアのあるフレーズと、別の因果関係フレーズペアのあるフレーズとの間に因果的一貫性が成立するか、又は意味的関係によるリンクが成立する場合に、前者を結果フレーズに、後者を原因フレーズに持つ因果関係フレーズペア同士を連鎖させることで社会シナリオを生成する。このようにして生成された社会シナリオをさらに別の因果関係と連鎖させることでさらに長い社会シナリオを生成できる。本実施の形態では、社会シナリオ候補生成部580は、連鎖させる因果関係の数が一定以下となるようにするが、例えば対話的に社会シナリオを生成する場合には、そのような制限は必要ない。
 図18を参照して、社会シナリオ候補生成部580の第1の同義関係生成部600は、因果関係フレーズペアDB70に格納された因果関係フレーズペアの各々について以下の処理を行なう。すなわち、その因果関係フレーズペアの結果フレーズ(これを第1のフレーズとする。)の名詞を特定する。因果関係フレーズペアDB70に記憶された因果関係フレーズペアのうち、原因フレーズにこの名詞と一致する名詞を持つ因果関係フレーズを収集する。さらに、収集された因果関係フレーズペアの原因フレーズ(これを第2のフレーズとする。)の述語テンプレートの極性が、第1のフレーズに属する述語テンプレートの極性と一致しているか否かを判定する。両者が一致していれば、第1のフレーズと第2のフレーズとは同義であると判定し、第1のフレーズを含む因果関係と、第2のフレーズを含む因果関係とに対する連結情報を生成し、連結情報生成部608に出力する。ここでいう連結情報とは第1のフレーズを含む因果関係フレーズペアの識別子と第2のフレーズを含む因果関係フレーズペアの識別子との順序対である。
 第2の同義関係生成部602は、フレーズの評価極性に基づく因果的一貫性を判定し、その結果にしたがって2つの因果関係フレーズペアを連鎖させる連結情報を生成し、連結情報生成部608に出力する。具体的には、第2の同義関係生成部602は、任意の因果関係フレーズペアの結果フレーズについて、以下の処理を行なう。
 すなわち、その因果関係フレーズペアの結果フレーズ(第1のフレーズとする。)の名詞と同じ名詞を含む原因フレーズを持つ因果関係フレーズペアを収集する。収集された因果関係フレーズペアの原因フレーズ(第2のフレーズとする。)について、そのフレーズ全体の極性が同じであれば、第1のフレーズを結果フレーズに持つ因果関係フレーズペアと、第2のフレーズを原因フレーズに持つ因果関係フレーズペアとを連鎖させる。そのために、連結情報として前者の識別子と後者の識別子とからなる順序対を連結情報生成部608に与える。
 第3の同義関係生成部604は、大量文書中におけるフレーズの出現文脈の類似性に基づき、因果的一貫性を判定し、2つの因果関係フレーズペアの連結情報を出力する。第3の同義関係生成部604は具体的には以下のような処理を実行する。なお、このために、分布類似度算出部616は、因果関係仮説DB416とWEBアーカイブ44とを参照し、因果関係仮説DB416に出現するフレーズの各組合せについて、WEBアーカイブ44における分布類似度を算出し、テンプレート分布類似度DB614に格納している。
 第3の同義関係生成部604は、因果関係フレーズペアDB70に記憶された因果関係フレーズペアのフレーズについて、同じ名詞を持ち、かつフレーズ全体の極性が同じフレーズペアの各々について、テンプレート分布類似度DB614から分布類似度を読み出す。この分布類似度がしきい値未満であればそのフレーズペアは捨てる。分布類似度がしきい値以上であれば、その一方を結果フレーズに持つ因果関係フレーズペアと、他方を原因フレーズに持つ因果関係フレーズペアとを連鎖させることができる。第3の同義関係生成部604は、そのような因果関係フレーズペアの識別子の順序対を連結情報生成部608に与える。
 連結関係生成部606は、意味的関係によるリンクによって2つの因果関係フレーズペアを連鎖させるための連結情報を出力する。具体的には連結関係生成部606は、以下のような処理を実行する。
 連結関係生成部606は、ある因果関係フレーズペアの結果フレーズに含まれる名詞(第1の名詞)と、他の因果関係フレーズペアの原因フレーズに含まれる名詞(第2の名詞)とからなる順序付の単語対が、単語対DB402に記憶されているか否かを判定する。単語対DB402にこの単語対が記憶されている場合、第1の名詞を含む結果フレーズと、第2の名詞を含む原因フレーズとの間には、この単語対の持つ意味的関係を表すリンクが成立しているものと考えられる。そこで連結関係生成部606は、そのような因果関係フレーズペアのペアについて、一方から他方への連結情報を生成し、連結情報生成部608に出力する。この場合の連結情報は、上記した第1の名詞を持つ結果フレーズを持つ因果関係フレーズペアの識別子と、第2の名詞を持つ原因フレーズを持つ因果関係フレーズペアの識別子とからなる順序対である。
 連結情報生成部608は、第1の同義関係生成部600、第2の同義関係生成部602、第3の同義関係生成部604及び連結関係生成部606から受けた連結情報に基づいて、各因果関係フレーズペアを第1層のノードとし、各ノードの因果関係フレーズペアから連鎖可能な因果関係フレーズペアをそのノードから分岐する第2層のノードとするツリーを生成し、連結情報生成部608の出力するツリーを記憶する連結関係DB610に格納する。このツリーの第1層のノードから第2層のノードをたどり、さらにその第2層のノードにより表される因果関係フレーズペアに相当する第1層のノードからさらに第2層のノードをたどる処理を繰返すことにより、任意の因果関係フレーズペアから任意の長さの社会シナリオ候補を生成できる。
 因果関係連結部612はこの操作を行なって所定の長さ以下の社会シナリオ候補を生成し、社会シナリオ候補DB618に出力する。
 図17に示す社会シナリオランキング部582は、社会シナリオ候補生成部580により生成された社会シナリオに対して、それを構成する因果関係の各々の強度に基づいてその社会シナリオのスコアを算出し、そのスコアがしきい値以上である社会シナリオを選択して社会シナリオDB38に出力する。
 図19を参照して、社会シナリオランキング部582は具体的には以下のような処理を行なう。まず社会シナリオランキング部582は、各社会シナリオについて、そのシナリオを構成する個々の因果関係の因果関係強度スコアを互いに乗算することによってその社会シナリオのスコアを算出する。ここでいう因果関係強度スコアとは、図12のステップ454及び図13のスコア算出部474により算出されるスコアである。このとき、図18に示す第1の同義関係生成部600、第2の同義関係生成部602、第3の同義関係生成部604、及び連結関係生成部606による処理で連結された2つのフレーズ間には、ある定数を与える。これらは全て同じでもよいし、異なる値であってもよい。例えば因果的一貫性による連結の場合の因果関係強度スコアを、意味的関係によるリンクによる連結の場合のスコアより高くすることが考えられる。全体因果関係スコア算出部640は、このようにして社会シナリオごとに算出したスコアを付して社会シナリオをスコア付き社会シナリオ候補DB642に格納する。
 社会シナリオソート部644は、スコア付き社会シナリオ候補DB642に記憶された社会シナリオ候補を、そのスコアの降順にソートし、ソート後の社会シナリオ候補をソート済社会シナリオ候補DB646に格納する。
 社会シナリオ選択部648は、ソート済社会シナリオ候補DB646に記憶された社会シナリオのうち、スコアがしきい値以上のもののみを選択して社会シナリオDB38に出力する。
 以上のようにして、この社会シナリオ生成システム30により、WEBアーカイブ44に存在する因果関係フレーズのみでなく、単語対の意味的関係も含めた非常に多くのフレーズを因果関係により連鎖させた多数の社会シナリオを生成できる。その数を非常に多くできることはもちろん、上記した単語対の意味的関係により生成した因果関係仮説も社会シナリオの生成に用いるので、WEBアーカイブ44上に存在するフレーズだけではなく、現実にはWEBアーカイブ44に見出せないようなフレーズも含めた多様な社会シナリオを生成できる。その結果、あらゆるリスク及びチャンスを考慮に入れて判断を下す際に参考にできる多くの社会シナリオを提供できる。
 <第2の実施の形態>
 上記第1の実施の形態では、社会シナリオのスコアを社会シナリオの生成過程で得られた各因果関係フレーズペアについて算出されたスコアの乗算で算出している。しかし、社会シナリオのランキング手法は、上記した実施の形態の手法には限定されない。この手法と異なる様々なランキング手法を採用できる。以下に述べる第2の実施の形態は、社会シナリオのスコアを、社会シナリオ又はその一部(「部分シナリオ」と呼ぶ。)がインターネット40のいくつの文書に掲載されているか、文書に掲載されている箇所と社会シナリオにおける部分シナリオとの一致度がどの程度かに基づいて社会シナリオのスコアを算出する。
 図20に示す社会シナリオランキング部670は、上のような処理により社会シナリオをランキングするためのものである。社会シナリオランキング部670は、図17及び図19に示す社会シナリオランキング部582に替えて使用できる。
 図20を参照して、本実施の形態に係る社会シナリオランキング部670は、図19に示す全体因果関係スコア算出部640に代えて、インターネット40のどの文書に社会シナリオを構成する部分シナリオがどのように記述されているかに基づいて部分シナリオのスコアを算出する部分シナリオスコア算出部700と、部分シナリオスコア算出部700が算出する部分シナリオを社会シナリオごとに部分シナリオと関係付けて記憶する部分シナリオスコア記憶部702と、社会シナリオ候補DB618に記憶された社会シナリオ候補の各々に対して部分シナリオスコア算出部700による部分シナリオの算出が完了したことに応答して、それら部分シナリオスコアの乗算又は加算等、部分シナリオに対する増加関数として社会シナリオのスコアを算出し、社会シナリオに付してスコア付き社会シナリオ候補DB642に出力する全体因果関係スコア算出部704とを含む。なお、本実施の形態では、社会シナリオを構成する部分シナリオと全く同文のフレーズだけでなく、名詞を同じ単語クラスの他の名詞に置換したものを含むフレーズも、社会シナリオのフレーズと同一視してインターネット40を検索する。さらにこの実施の形態では、フレーズの名詞だけでなく、述語テンプレートも、極性が同じ他のテンプレートで置換したものを含むフレーズも、社会シナリオのフレーズと同一視してインターネット40を検索する。
 社会シナリオランキング部670は、他の多くの機能部と同様、コンピュータハードウェアと、そのコンピュータハードウェア上で実行されるコンピュータプログラムとにより実現できる。図21に、そのためのコンピュータプログラムの制御構造をフローチャート形式で示す。なお、このプログラムは、ある社会シナリオに対して上記した処理を実行するためのものである。
 図21を参照して、部分シナリオスコア算出部700で実行されるプログラムは、処理対象の社会シナリオの全フレーズに対して以下の処理を実行するステップ740を含む。すなわち、ステップ740では、そのフレーズの名詞を、同じクラスの単語(同義語)で置換してそれぞれ新たなフレーズを生成するステップ742と、そのフレーズのテンプレートを、同じ極性の他のテンプレートで置換することにより、ステップ742で生成された新たなフレーズと組合せてさらに多くのフレーズを生成するステップ744と、ステップ744で生成された新たなフレーズ(以下、「言い換え句」)と、元のフレーズとを全て図示しない記憶装置に保存するステップ746とを含む。ステップ742、744及び746までがステップ740で各フレーズに対して実行される処理である。
 このプログラムはさらに、ステップ740が完了した後、得られるフレーズを組合せることで得られる部分シナリオの全てに対して以下の処理を実行するステップ748を含む。
 ステップ748は、インターネット40上の全文書に対して、以下の処理を実行するステップ750を含む。なお、ここでの全文書とは、インターネット40上の所定のサイト上に存在する文書のみに限定してもよい。
 ステップ750は、処理対象となっている文書が、処理対象となっている社会シナリオの部分シナリオのフレーズ又は言い換え句(ステップ746で保存されたもの)を全て含むか否かを判定し、結果に応じて制御を分岐させるステップ752と、ステップ752の判定が肯定的であるときに、その文書に出現しているフレーズ又は言い換え句が、その部分シナリオ内での元のフレーズと同一順で出現しているか否かを判定するステップ754と、ステップ754の判定が肯定的であるときに、その部分シナリオの出現数を1加算するステップ758と、ステップ754で否定的であるときに、処理対象の文書に現れているフレーズ又は言い換え句が、隣接するN文内にあるか否かを判定するステップ756とを含む。ステップ756でYESの場合、制御はステップ758に進む。ステップ756でNOの場合、及びステップ752でNOの場合、制御は次の文書に対する処理に進む。
 ステップ750の処理が全文書に対して終了すると制御はステップ760に進む。ステップ760では、処理中の部分シナリオに対するスコアが、ステップ758で計算された出現数に対する関数で、かつ出現数が多くなればなるほど結果が高くなるようなスコア算出関数によって算出される。
 ステップ748の処理が全ての部分シナリオに対して終了すると、制御はステップ762に進む。ステップ762では、処理中の社会シナリオのスコアが、その社会シナリオに含まれる部分シナリオのスコアの関数であり、かつ部分シナリオのスコアが高くなるほど値が高くなるようなスコア算出関数により算出され、処理中の社会シナリオにスコアとして付与される。
 <変形例>
 上記した実施の形態については多くの変形が考えられる。以下、それらについて列挙する。
 例えば、社会シナリオのスコアリングについては、次のような手法を個別に、又はこれらを組合せて採用することが考えられる。
 (1)WEBアーカイブ44の文書に記述されている部分シナリオの最大長さが長いほど、社会シナリオのスコアが高くなるようにする。
 (2)同じ部分シナリオを記述している文書間にハイパーリンクが張られている場合、それら部分シナリオを含む社会シナリオのスコアをより高くする。
 (3)同じ部分シナリオを記述している2つの文書間にハイパーリンクが直接張られていなくても、別の1又は複数の文書を介してハイパーリンクが間接的に張られている場合に、社会シナリオのスコアを高くする。
 (4)文書に重要性のスコアをつけ、部分シナリオを記述している文書のスコアに応じて社会シナリオのスコアを増減させてもよい。この場合、文書の重要性のスコアとしては、例えばいわゆるPageRankの値などを用いることができる。また、文書が掲載されているサイトのドメインの種類により、その文書の重要性の軽重をつけるようにしてもよい。例えば政府系、教育機関系、国際機関系などのドメインのサイトに掲載された文書については、それ以外の文書より重要性のスコアを高めるようにしてもよい。匿名のブログなどについては、重要性のスコアを他より低くしてもよい。
 (5)文書に記述されている複数の部分シナリオが、1つの社会シナリオにおいて重なる部分を持っていれば、それらの部分シナリオのスコアを高くし、それらを含む社会シナリオのスコアをそれに伴って高くするようにしてもよい。この場合、重なる部分が広いほど、スコアが高くなるようにしてもよい。
 例えば、生成されたある社会シナリオ「a→b→c→d→e→f→g→…」を考える。この社会シナリオの第1の部分シナリオ「a→b→c→d」と第2の部分シナリオ「c→d→e→f」とを考えると、これら2つの部分シナリオは「c→d」を重複箇所として持つ。この場合、第1の部分シナリオは、第1のWEB文書に記述されており、第2の部分シナリオは第2及び第3のWEB文書に記述されているものとする。第1のWEB文書は1つのWEB文書に記述されているので、そのスコアを高くする。第2の部分シナリオは、2つの文書に記述されているので、第1の部分シナリオよりさらにスコアを高くする。両部分シナリオは重複する部分を持つので、これらはいずれもさらに重複箇所の広さ(2か所)に応じてスコアを高くする。
 (6)第2の実施の形態では、フレーズ中の名詞及び述語テンプレートを言い換えた言い換え句も含めて文書での部分シナリオの出現回数を計数している。しかし、本発明はそのような実施の形態には限定されない。名詞又は述語テンプレート若しくはその双方の言い換えを行なわない実施の形態も可能である。
 (7)他の社会シナリオと矛盾する内容の社会シナリオのスコアを下げるようにしてもよい。そのために、同じ原因フレーズから導かれる2つの社会シナリオにおいて、その一部に含まれる結果フレーズが互いに矛盾していたら、それら社会シナリオは矛盾しているとみなすことができる。矛盾するフレーズは、予め手作業により辞書形式で準備しておいてもよいし、第1の実施の形態で述べた因果関係フレーズペアと同様の手法で、自動的に収集することもできる。矛盾するフレーズペア(矛盾ペア)を収集する場合には、図12に示す処理に代えて、以下のような条件でフレーズペアを収集する。
 (1)両フレーズとも、1つの名詞と1つの活性又は不活性テンプレートからなる。例えば「(風邪)に罹る」と「(風邪)を予防する」のようなものである。
 (2)両フレーズに含まれる2つの名詞は、互いに同義(又は同一)である。例えば<風邪、感冒>又は<風邪、風邪>のような組合せである。
 (3)両フレーズに含まれる2つのテンプレートは、一方が活性で他方が不活性である。例えば「に罹る」(活性)と「を予防する」(不活性)というペアである。
 (4)2つのテンプレートは、インターネット上で共起する(係り受け関係を結ぶ)名詞を多く共有する。すなわち、これら2つのテンプレートは、分布類似度が高い。例えば、「に罹る」と共起する名詞として風邪、感冒、肺炎、…等が考えられるのに対し、「を予防する」と共起する名詞としては、風邪、感冒、肺炎、火事、災害等が考えられ、両者の間の分布類似度は高い。
 (5)各フレーズは、インターネット上で所定のしきい値以上の出現頻度を持つ。すなわち、各フレーズの名詞とテンプレートとは、このしきい値以上の頻度でもって係り受け関係を結ぶ。例えば、「(風邪)に罹る」の出現頻度≧しきい値、及び「(風邪)を予防する」の出現頻度≧しきい値がともに成立する必要がある。
 (6)さらに、述語テンプレートが同義又は類義であっても、名詞が反義語であるようなフレーズペアを矛盾関係フレーズペアとしてもよい。テンプレートの同義、類義の判定には、大量の文書コーパス(例えばWEBアーカイブ44)における両者の分布類似度を指標として用いることもできるし、人手で検証したデータベース等を用いることもできる。名詞の反義の判定にも同様の手法を用いることができる。
 (7)ある1つの社会シナリオに、互いに矛盾するフレーズが含まれている場合には、その社会シナリオのスコアを下げるようにしてもよい。例えば「…→クーデターが起きる→治安が悪化する→…→治安が良くなる」等である。
 [コンピュータによる実現]
 上記実施の形態に係るシステムは、コンピュータハードウェアと、そのコンピュータハードウェア上で実行されるコンピュータプログラムとにより実現できる。図22はこのコンピュータシステム930の外観を示し、図23はコンピュータシステム930の内部構成を示す。
 図22を参照して、このコンピュータシステム930は、メモリポート952及びDVD(Digital Versatile Disc)ドライブ950を有するコンピュータ940と、キーボード946と、マウス948と、モニタ942とを含む。
 図23を参照して、コンピュータ940は、メモリポート952及びDVDドライブ950に加えて、CPU(中央処理装置)956と、CPU956、メモリポート952及びDVDドライブ950に接続されたバス966と、ブートアッププログラム等を記憶する読出専用メモリ(ROM)958と、バス966に接続され、プログラム命令、システムプログラム、及び作業データ等を記憶するランダムアクセスメモリ(RAM)960とを含む。コンピュータシステム930はさらに、他端末との通信を可能とするネットワークへの接続を提供するネットワークインターフェイス(I/F)944を含む。
 コンピュータシステム930を上記した各実施の形態のシステムを構成する各機能部として機能させるためのコンピュータプログラムは、DVDドライブ950又はメモリポート952に装着されるDVD962又はリムーバブルメモリ964に記憶され、さらにハードディスク954に転送される。又は、プログラムは図示しないネットワークを通じてコンピュータ940に送信されハードディスク954に記憶されてもよい。プログラムは実行の際にRAM960にロードされる。DVD962から、リムーバブルメモリ964から、又はネットワークを介して、直接にRAM960にプログラムをロードしてもよい。
 このプログラムは、コンピュータ940を、上記実施の形態に係るシステムの各機能部として機能させるための複数の命令を含む。この動作を行なわせるのに必要な基本的機能のいくつかはコンピュータ940上で動作するオペレーティングシステム(OS)若しくはサードパーティのプログラム、又は、コンピュータ940にインストールされる各種プログラミングツールキットのモジュールにより提供される。したがって、このプログラムはこの実施の形態のシステム及び方法を実現するのに必要な機能全てを必ずしも含まなくてよい。このプログラムは、命令のうち、所望の結果が得られるように制御されたやり方で適切な機能又はプログラミングツールキット内の適切なプログラムツールを呼出すことにより、上記したシステムとしての機能を実現する命令のみを含んでいればよい。コンピュータシステム930の動作は周知である。したがってここでは繰返さない。
 今回開示された実施の形態は単に例示であって、本発明が上記した実施の形態のみに制限されるわけではない。本発明の範囲は、発明の詳細な説明の記載を参酌した上で、請求の範囲の各請求項によって示され、そこに記載された文言と均等の意味及び範囲内での全ての変更を含む。
 この発明は、電子的に利用可能な、幅広い分野の大量の文書に基づき、おれらに記載された事柄の間の関係から推論できる有用な情報であって、単なる情報検索又は既存の質問応答システムでは入手できないような情報を社会シナリオの形で利用者に提供したり、そうした社会シナリオに基づいて次にとるべき適切なアクションを利用者に提案したりするシステムに適用できる。
30 社会シナリオ生成システム
32 シードテンプレートDB
34 接続詞DB
36 社会シナリオDB構築装置
38 社会シナリオDB
40 インターネット
42 WEBクローラ
44 WEBアーカイブ
46 単語クラスDB
48 社会シナリオ出力部
60 単純述語テンプレート収集部
62 単純述語テンプレートDB
64 複雑述語テンプレート収集部
66 複雑述語テンプレートDB
68 因果関係フレーズペア収集部
70 因果関係フレーズペアDB
72 社会シナリオ生成部
90 初期テンプレートペア生成部
92 初期テンプレートペアDB
94 名詞ペア収集部
96 名詞ペアDB
98 名詞ペア極性判定部
100 テンプレートペア収集部
102 テンプレートペアDB
104 テンプレート活性マッチ判定部
106 テンプレートネットワーク構築部
108 同義・含意関係辞書
110 テンプレートネットワークDB
112 テンプレート活性値算出部
114 高活性度テンプレート抽出部
116 終了判定部
118 シードテンプレート更新部
140 テンプレートネットワーク
260 対象名詞辞書
262 サ変名詞極性辞書
264 サ変名詞極性判定部
266 トラブル名詞極性判定用辞書
268 複雑述語テンプレート候補抽出部
270 サ変名詞テンプレート候補DB
272 数量名詞テンプレート候補DB
274 トラブル名詞テンプレート候補DB
276 サ変名詞極性付与部
278 数量名詞極性付与部
280 トラブル名詞極性付与部
282 複雑述語テンプレート極性算出部
400 意味的関係パターンDB
402 単語対DB
404 シードパターンDB
406 単語対抽出部
408 因果関係シードペア収集部
410 因果関係シードペアDB
412 因果関係仮説生成部
416 因果関係仮説DB
418 因果関係仮説フィルタリング部
420 名詞の極性辞書
422 矛盾表現辞書
470 意味的関係パターンマッチング部
472 単語対置換部
474 スコア算出部
490 パターン抽出部
492 パターンDB
494 単語対候補取得部
496 単語対候補DB
498 単語対スコアリング部
500 単語対選択部
502 クラス対適合度算出部
504 クラス対適合度DB
506 パターン類似度算出部
508 パターン類似度DB
510 親和性情報算出部
512 親和性情報DB
514 除外クラス対特定部
516 除外クラス対DB
518 パターンマージ部
550 一貫性検証フィルタリング部
552 関連度によるフィルタリング部
554 出現順序検証によるフィルタリング部
556 名詞の出現頻度によるフィルタリング部
558 名詞の出現頻度算出部
560 名詞の出現頻度DB
562 被修飾名詞の抽出部
564 除外単語DB
566 除外単語によるフィルタリング部
580 社会シナリオ候補生成部
582 社会シナリオランキング部
600,602,604 同義関係生成部
606 連結関係生成部
608 連結情報生成部
610 連結関係DB
612 因果関係連結部
614 テンプレート分布類似度DB
616 分布類似度算出部
618 社会シナリオ候補DB
640 全体因果関係スコア算出部
642 スコア付き社会シナリオ候補DB
644 社会シナリオソート部
646 ソート済社会シナリオ候補DB
648 社会シナリオ選択部
700 部分シナリオスコア算出部
702 部分シナリオスコア記憶部
704 全体因果関係スコア算出部
 

Claims (7)

  1. 多数の因果関係フレーズペアを記憶するフレーズペア記憶手段と、
     前記フレーズペア記憶手段に記憶されたフレーズペアのうち、因果関係として連鎖可能なものを連鎖させることにより、フレーズ列からなるシナリオを生成するためのシナリオ生成手段とを含み、
     前記多数の因果関係フレーズペアの各々は、因果関係の原因フレーズと結果フレーズとを含み、各フレーズは、名詞と、当該名詞に続く述語テンプレートとを含み、
     前記シナリオ生成手段は、
     前記多数の因果関係フレーズペアの各々について、当該因果関係フレーズペアの結果フレーズと因果的一貫性がある原因フレーズを持つ因果関係フレーズペアを前記フレーズペア記憶手段内で検索し、因果関係フレーズペアの連結情報を生成する連結情報生成手段と、
     前記連結情報生成手段により生成された連結情報を記憶する連結情報記憶手段と、
     任意のフレーズペアを初期シナリオとして指定する初期シナリオ指定手段と、
     前記連結情報記憶手段に記憶された連結情報を用いて、シナリオの末尾の結果フレーズと因果的一貫性を持つ原因フレーズを持つフレーズペアを前記フレーズペア記憶手段から検索し、前記シナリオの末尾に当該検索された因果関係フレーズペアを連鎖させる連鎖手段とを含み、
     前記連鎖手段は、前記初期シナリオ指定手段により指定された初期シナリオを起点として予め定められた終了条件が成立するまで、シナリオの末尾に因果関係フレーズペアを連鎖させることによりシナリオを生成する、シナリオ生成装置。
  2. 前記述語テンプレートには予め極性が割当てられており、前記連鎖手段は、前記因果的一貫性を持つフレーズペアを、各フレーズに含まれる述語テンプレートの極性を用いて前記フレーズペア記憶手段から検索する、請求項1に記載のシナリオ生成装置。
  3. 前記連結情報生成手段は、前記多数の因果関係フレーズペアの各々について、当該因果関係フレーズペアの結果フレーズと同一性のある名詞を共有する原因フレーズであって、かつ極性が同じ述語テンプレートを持つ原因フレーズを持つ因果関係フレーズペアを前記フレーズペア記憶手段内で検索し、検索された因果関係フレーズペアへの、元の因果関係フレーズペアからの連結情報を生成する手段を含む、請求項2に記載のシナリオ生成装置。
  4. 前記連結情報生成手段は、前記多数の因果関係フレーズペアの各々について、当該因果関係フレーズペアの結果フレーズと同一性のある名詞を共有し、かつフレーズ全体の評価極性が同じ原因フレーズを持つ因果関係フレーズペアを前記フレーズペア記憶手段内で検索し、検索された因果関係フレーズペアへの、元の因果関係フレーズペアからの連結情報を生成する手段を含む、請求項2に記載のシナリオ生成装置。
  5. 前記連結情報生成手段は、
     コーパス内での述語テンプレートの分布類似度を記憶する分布類似度記憶手段と、
     前記多数の因果関係フレーズペアの各々について、当該因果関係フレーズペアの結果フレーズと同一性のある名詞を共有し、かつ述語テンプレートの分布類似度がしきい値以上の原因フレーズを持つ因果関係フレーズペアを前記フレーズペア記憶手段内で検索し、検索された因果関係フレーズペアへの、元の因果関係フレーズペアからの連結情報を生成する手段を含む、請求項1に記載のシナリオ生成装置。
  6. 前記連結情報生成手段はさらに、
     互いに所定の意味的関係を有する第1及び第2の単語からなる単語対を、第1及び第2の単語の順序で順序付で記憶する単語対記憶手段と、
     前記単語対記憶手段に記憶された単語対の各々について、当該単語対の第1の単語を持つ因果関係フレーズペアに、当該単語対の第2の単語を持つ因果関係フレーズペアを連結させる連結情報を生成する手段を含む、請求項2~請求項5のいずれかに記載のシナリオ生成装置。
  7. コンピュータを、請求項1~請求項6のいずれかに記載の全ての手段として機能させる、コンピュータプログラム。
PCT/JP2014/083454 2013-12-20 2014-12-17 シナリオ生成装置、及びそのためのコンピュータプログラム WO2015093541A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP14870811.8A EP3086239A4 (en) 2013-12-20 2014-12-17 Scenario generation device and computer program therefor
US15/104,882 US10437867B2 (en) 2013-12-20 2014-12-17 Scenario generating apparatus and computer program therefor
CN201480069245.8A CN105830064B (zh) 2013-12-20 2014-12-17 情态生成装置以及计算机可读取记录介质

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2013264599A JP5904559B2 (ja) 2013-12-20 2013-12-20 シナリオ生成装置、及びそのためのコンピュータプログラム
JP2013-264599 2013-12-20

Publications (1)

Publication Number Publication Date
WO2015093541A1 true WO2015093541A1 (ja) 2015-06-25

Family

ID=53402885

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2014/083454 WO2015093541A1 (ja) 2013-12-20 2014-12-17 シナリオ生成装置、及びそのためのコンピュータプログラム

Country Status (5)

Country Link
US (1) US10437867B2 (ja)
EP (1) EP3086239A4 (ja)
JP (1) JP5904559B2 (ja)
CN (1) CN105830064B (ja)
WO (1) WO2015093541A1 (ja)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5825676B2 (ja) * 2012-02-23 2015-12-02 国立研究開発法人情報通信研究機構 ノン・ファクトイド型質問応答システム及びコンピュータプログラム
JP6551968B2 (ja) * 2015-03-06 2019-07-31 国立研究開発法人情報通信研究機構 含意ペア拡張装置、そのためのコンピュータプログラム、及び質問応答システム
US10628521B2 (en) * 2015-08-03 2020-04-21 International Business Machines Corporation Scoring automatically generated language patterns for questions using synthetic events
US10628413B2 (en) * 2015-08-03 2020-04-21 International Business Machines Corporation Mapping questions to complex database lookups using synthetic events
JP6653499B2 (ja) * 2015-08-12 2020-02-26 国立研究開発法人情報通信研究機構 未来シナリオ生成装置及び方法、並びにコンピュータプログラム
US10387569B2 (en) * 2015-08-28 2019-08-20 Freedom Solutions Group, Llc Automated document analysis comprising a user interface based on content types
WO2017104656A1 (ja) * 2015-12-14 2017-06-22 日本電気株式会社 情報処理装置、情報処理方法、及び、記録媒体
JPWO2017104657A1 (ja) * 2015-12-14 2018-11-01 日本電気株式会社 情報処理装置、情報処理方法、及び、コンピュータ・プログラム
JPWO2017104571A1 (ja) * 2015-12-14 2018-10-04 日本電気株式会社 情報処理装置、情報処理方法、及び、コンピュータ・プログラム
US10606952B2 (en) * 2016-06-24 2020-03-31 Elemental Cognition Llc Architecture and processes for computer learning and understanding
JP6767042B2 (ja) * 2016-09-26 2020-10-14 国立研究開発法人情報通信研究機構 シナリオパッセージ分類器、シナリオ分類器、及びそのためのコンピュータプログラム
JP6721179B2 (ja) * 2016-10-05 2020-07-08 国立研究開発法人情報通信研究機構 因果関係認識装置及びそのためのコンピュータプログラム
CN106952248B (zh) * 2017-01-20 2019-10-29 征图新视(江苏)科技股份有限公司 自动多模板检测方法
CN116910183A (zh) * 2017-11-06 2023-10-20 株式会社力森诺科 因果句解析装置、系统和方法以及记录介质
JP6973157B2 (ja) * 2018-02-16 2021-11-24 日本電信電話株式会社 議論構造拡張装置、議論構造拡張方法、及びプログラム
WO2019167835A1 (ja) * 2018-03-02 2019-09-06 日本電信電話株式会社 フレーズ生成モデル学習装置、フレーズ生成装置、方法、及びプログラム
CN108563617B (zh) * 2018-03-12 2021-09-21 云知声智能科技股份有限公司 汉语句子混合模板的挖掘方法及装置
CN108573025B (zh) * 2018-03-12 2021-07-02 云知声智能科技股份有限公司 基于混合模板抽取句子分类特征的方法及装置
US11423221B2 (en) * 2018-12-31 2022-08-23 Entigenlogic Llc Generating a query response utilizing a knowledge database
JP7464240B2 (ja) 2019-04-26 2024-04-09 Necソリューションイノベータ株式会社 予測モデル生成装置、旅行適合度予測装置、予測モデル生産方法、旅行適合度予測方法、プログラム及び記録媒体
JP7351502B2 (ja) * 2019-04-26 2023-09-27 Necソリューションイノベータ株式会社 変数データ生成装置、予測モデル生成装置、変数データ生産方法、予測モデル生産方法、プログラム及び記録媒体
CN110705255B (zh) * 2019-10-12 2021-05-25 京东数字科技控股有限公司 检测语句之间的关联关系的方法和装置
US11443211B2 (en) * 2020-01-08 2022-09-13 International Business Machines Corporation Extracting important sentences from documents to answer hypothesis that include causes and consequences
JP7412307B2 (ja) * 2020-08-28 2024-01-12 株式会社日立製作所 作成支援装置、作成支援方法、および作成支援プログラム
CN114842248B (zh) * 2022-04-22 2024-02-02 中国人民解放军国防科技大学 基于因果关联挖掘模型的场景图生成方法及系统
CN116227601B (zh) * 2023-05-09 2023-07-18 济南云微软件科技有限公司 一种基于动词时态的泛化因果网络构建方法、设备及介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009059323A (ja) * 2007-09-04 2009-03-19 Omron Corp 知識生成システム
JP2013130929A (ja) * 2011-12-20 2013-07-04 Nec Corp 因果関係要約方法、因果関係要約装置及び因果関係要約プログラム
JP2013175097A (ja) * 2012-02-27 2013-09-05 National Institute Of Information & Communication Technology 述語テンプレート収集装置、特定フレーズペア収集装置、及びそれらのためのコンピュータプログラム

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5775375A (en) 1980-10-28 1982-05-11 Sharp Corp Electronic interpreter
US7672829B2 (en) 1997-03-04 2010-03-02 Hiroshi Ishikura Pivot translation method and system
US9009590B2 (en) 2001-07-31 2015-04-14 Invention Machines Corporation Semantic processor for recognition of cause-effect relations in natural language documents
US8965964B1 (en) * 2002-11-18 2015-02-24 Facebook, Inc. Managing forwarded electronic messages
US20050033569A1 (en) 2003-08-08 2005-02-10 Hong Yu Methods and systems for automatically identifying gene/protein terms in medline abstracts
US8200477B2 (en) 2003-10-22 2012-06-12 International Business Machines Corporation Method and system for extracting opinions from text documents
US20050273314A1 (en) 2004-06-07 2005-12-08 Simpleact Incorporated Method for processing Chinese natural language sentence
US20060179050A1 (en) * 2004-10-22 2006-08-10 Giang Phan H Probabilistic model for record linkage
JP2007287134A (ja) 2006-03-20 2007-11-01 Ricoh Co Ltd 情報抽出装置、及び情報抽出方法
CN101458681A (zh) 2007-12-10 2009-06-17 株式会社东芝 语音翻译方法和语音翻译装置
US8306806B2 (en) 2008-12-02 2012-11-06 Microsoft Corporation Adaptive web mining of bilingual lexicon
EP2406731A4 (en) * 2009-03-13 2012-08-22 Invention Machine Corp SYSTEM AND METHOD FOR THE AUTOMATIC SEMANTIC MARKING OF NATURAL LANGUAGE TEXTS
JP5536518B2 (ja) 2009-04-23 2014-07-02 インターナショナル・ビジネス・マシーンズ・コーポレーション システムの自然言語仕様から当該システム用のシステム・モデル化メタモデル言語モデルを自動的に抽出するための方法、装置及びコンピュータ・
JP5392833B2 (ja) * 2009-08-31 2014-01-22 日本電信電話株式会社 ストーリー生成システム、方法、およびプログラム
JP5382651B2 (ja) 2009-09-09 2014-01-08 独立行政法人情報通信研究機構 単語対取得装置、単語対取得方法、およびプログラム
US8533208B2 (en) 2009-09-28 2013-09-10 Ebay Inc. System and method for topic extraction and opinion mining
WO2011066434A2 (en) 2009-11-27 2011-06-03 Google Inc. Client-server input method editor architecture
US20120296845A1 (en) * 2009-12-01 2012-11-22 Andrews Sarah L Methods and systems for generating composite index using social media sourced data and sentiment analysis
JP5398007B2 (ja) 2010-02-26 2014-01-29 独立行政法人情報通信研究機構 関係情報拡張装置、関係情報拡張方法、及びプログラム
JP2012027845A (ja) 2010-07-27 2012-02-09 Sony Corp 情報処理装置、関連文提供方法、及びプログラム
CN102737013B (zh) 2011-04-02 2015-11-25 三星电子(中国)研发中心 基于依存关系来识别语句情感的设备和方法
WO2013058118A1 (ja) 2011-10-20 2013-04-25 日本電気株式会社 テキスト含意判定装置、テキスト含意判定方法、及びコンピュータ読み取り可能な記録媒体
US8856249B2 (en) * 2012-05-24 2014-10-07 Yahoo! Inc. Method and system for email sequence identification
US8892484B2 (en) * 2012-09-28 2014-11-18 Sphere Of Influence, Inc. System and method for predicting events
US20150095017A1 (en) 2013-09-27 2015-04-02 Google Inc. System and method for learning word embeddings using neural language models
US9037967B1 (en) 2014-02-18 2015-05-19 King Fahd University Of Petroleum And Minerals Arabic spell checking technique
US10268756B2 (en) * 2015-12-18 2019-04-23 Here Global B.V. Method and apparatus for providing natural language input in a cartographic system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009059323A (ja) * 2007-09-04 2009-03-19 Omron Corp 知識生成システム
JP2013130929A (ja) * 2011-12-20 2013-07-04 Nec Corp 因果関係要約方法、因果関係要約装置及び因果関係要約プログラム
JP2013175097A (ja) * 2012-02-27 2013-09-05 National Institute Of Information & Communication Technology 述語テンプレート収集装置、特定フレーズペア収集装置、及びそれらのためのコンピュータプログラム

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
HIROSHI AONO ET AL.: "Construction of a Causal Network by Searching Factors", IPSJ SIG NOTES, 18 January 2010 (2010-01-18), pages 1 - 8, XP008183561 *
HIROYA TAKAMURA; TAKASHI INUI; MANABU OKUMURA: "Extracting Semantic Orientations of Words Using Spin Model.", PROCEEDINGS OF THE 43RD ANNUAL MEETING OF THE ACL, 2005, pages 133 - 140
See also references of EP3086239A4 *
TAKEFUMI SATO ET AL.: "ASSESSING THE PLAUSIBILITY OF INFERENCE BASED ON AUTOMATED CONSTRUCTION OF CAUSAL NETWORKS USING WEB- MINING", SOCIOTECHNICA, vol. 2006, no. 4, 28 December 2007 (2007-12-28), pages 66 - 74, XP008183563, Retrieved from the Internet <URL:https://www.jstage.jst.go.jp/article/sociotechnica/4/0/4_0_66/_pdf> [retrieved on 20150305] *

Also Published As

Publication number Publication date
CN105830064B (zh) 2019-06-11
JP2015121897A (ja) 2015-07-02
EP3086239A4 (en) 2017-12-06
US20160357854A1 (en) 2016-12-08
JP5904559B2 (ja) 2016-04-13
EP3086239A1 (en) 2016-10-26
CN105830064A (zh) 2016-08-03
US10437867B2 (en) 2019-10-08

Similar Documents

Publication Publication Date Title
JP5904559B2 (ja) シナリオ生成装置、及びそのためのコンピュータプログラム
JP6403382B2 (ja) フレーズペア収集装置、及びそのためのコンピュータプログラム
JP5907393B2 (ja) 複雑述語テンプレート収集装置、及びそのためのコンピュータプログラム
CN107368468B (zh) 一种运维知识图谱的生成方法及系统
Ghenai et al. Catching Zika fever: Application of crowdsourcing and machine learning for tracking health misinformation on Twitter
JP5391633B2 (ja) オントロジー空間を規定するタームの推奨
JP5924666B2 (ja) 述語テンプレート収集装置、特定フレーズペア収集装置、及びそれらのためのコンピュータプログラム
Altheneyan et al. Big data ML-based fake news detection using distributed learning
CN104346382B (zh) 使用语言查询的文本分析系统和方法
CN115423639A (zh) 一种面向社交网络的安全社区发现方法
Saleem Durai et al. An intelligent knowledge mining model for kidney cancer using rough set theory
CN105205075B (zh) 基于协同自扩展的命名实体集合扩展方法及查询推荐方法
Cholissodin Social Computing to Create Government Public Policy Document Blueprint Draft Based on Social Media Data About Covid-19 Using LSTM and MMR Hybrid Algorithms
Das et al. Graph-based text summarization and its application on COVID-19 twitter data
KR102454261B1 (ko) 사용자 정보 기반 협업 파트너 추천 시스템 및 그 방법
KR102328234B1 (ko) 소셜 네트워크에서 연관 문서 분석을 통한 지역 이벤트 검출 시스템 및 방법
Kawamura et al. Science graph for characterizing the recent scientific landscape using paragraph vectors
Al-Mutairi et al. Predicting the Popularity of Trending Arabic Wikipedia Articles Based on External Stimulants Using Data/Text Mining Techniques
Misale et al. A survey on recommendation system for technical paper reviewer assignment
Krzywicki et al. A knowledge acquisition method for event extraction and coding based on deep patterns
Saravanan et al. Information retrieval from multi-domain specific research proposal using hierarchical-based neural network clustering algorithm
Premisha et al. “Predicting the Future Research Gaps Using Hybrid Approach: Machine Learning and Ontology
Kim et al. A New Question Answering Approach with Conceptual Graphs.
JP2016042364A (ja) コンピュータによる自然言語処理のためのコンピュータ読取可能な辞書及びそれを記憶した記憶媒体
Alves et al. SeSG: a search string generator for Secondary Studies with hybrid search strategies using text mining

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

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 15104882

Country of ref document: US

REEP Request for entry into the european phase

Ref document number: 2014870811

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2014870811

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE