WO2020230788A1 - 対話装置、発話生成方法、及びプログラム - Google Patents

対話装置、発話生成方法、及びプログラム Download PDF

Info

Publication number
WO2020230788A1
WO2020230788A1 PCT/JP2020/018981 JP2020018981W WO2020230788A1 WO 2020230788 A1 WO2020230788 A1 WO 2020230788A1 JP 2020018981 W JP2020018981 W JP 2020018981W WO 2020230788 A1 WO2020230788 A1 WO 2020230788A1
Authority
WO
WIPO (PCT)
Prior art keywords
utterance
node
value
speaker
unit
Prior art date
Application number
PCT/JP2020/018981
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 株式会社計数技研
Publication of WO2020230788A1 publication Critical patent/WO2020230788A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/55Rule-based translation
    • G06F40/56Natural language generation

Definitions

  • the present invention relates to a dialogue device or the like that generates an utterance for a speaker's utterance text.
  • a dialogue device that generates a sentence for responding to a speaker's utterance.
  • a response sentence is created using a machine learning model (see, for example, Japanese Patent Application Laid-Open No. 2019-040574).
  • the present invention has been made to solve the above problems, and an object of the present invention is to apply a dialogue device or the like capable of generating utterances for dialogue without using a machine learning model.
  • the dialogue device has a reception unit that accepts the utterance text of the speaker, an extraction unit that extracts nomenclature from the utterance text, and a speaker's feelings regarding the nomenclature extracted by the extraction unit. Whether it is positive or negative, depending on whether the morphological elements that are dependent on the extracted nomenclature are positive or negative, or the entire utterance text containing the extracted nomenclature or a sentence of the utterance text. It has an emotional judgment unit that determines based on the result of emotional analysis of utterances, and a hierarchical structure of nodes that are classes or instances, and each node is associated with a PN value that indicates a certain degree of positive or negative emotions.
  • the PN value of the utterance node that identifies the utterance node, which is the node corresponding to the nose extracted by the extraction unit, and the PN value of the utterance node that corresponds to the judgment result are updated according to the judgment result by the emotion judgment unit. From the update part and the related node identification part that identifies the related node that is the node related to the utterance node using the PN value in the ontology, and from a plurality of utterance patterns according to the correspondence between the utterance node and the related node.
  • An utterance generation unit that specifies an utterance pattern according to the correspondence between the specified utterance node and the specified related node, and generates an utterance using the specified utterance pattern and the specified related node, and an utterance generation unit. It is provided with an utterance output unit that outputs the utterance generated by the unit.
  • the related node specifying unit may specify the related node related to the utterance node corresponding to the PN value on the positive side rather than the neutral side.
  • the related node identification unit may specify the related node corresponding to the neutral PN value.
  • the utterance generation unit may generate an utterance having a conjunction according to the correspondence between the utterance node and the related node.
  • the update unit may update the PN value of the node linked to the utterance node as well as the PN value of the utterance node corresponding to the determination result by the emotion determination unit in the ontology.
  • the reason information which is the reason for the generation of the utterance is generated according to the correspondence between the related node used in the generation of the utterance by the utterance generation unit and the utterance node corresponding to the related node.
  • a reason information generation unit for outputting the reason information and a reason information output unit for outputting the reason information may be further provided.
  • the reason it becomes possible to know the reason why the utterance was generated. Further, by using the reason, for example, the setting of the dialogue device can be changed, and the setting change of the dialogue device can be realized more easily.
  • attributes are associated with each node of the ontology, and the information associated with the word and the attribute of the speaker is used to correspond to the word included in the utterance text.
  • the attribute acquisition unit that acquires the attribute of the speaker corresponding to the utterance text is further provided, and the update unit changes the PN value of the node associated with the attribute acquired by the attribute acquisition unit. You may.
  • the PN value can be changed in advance according to the attributes of the speaker. For example, if the speaker is found to be female, a response that is more suitable for the female speaker can be generated by changing the PN value of the node, which is generally considered to be preferred by females, to the positive side. Will be able to.
  • the feature acquisition unit that acquires the characteristics of the speaker by using the PN value graph which is the PN value graph in the ontology.
  • a feature output unit that outputs the characteristics of the speaker acquired by the feature acquisition unit may be further provided.
  • the personality of the speaker can be known using a PN value graph.
  • the reception unit receives the utterance texts of a plurality of speakers, and in the ontology, the PN value is associated with each speaker, and the update unit speaks about the plurality of speakers.
  • the PN value graph which is the PN value graph for the first speaker
  • the PN value graph for the second speaker in the ontology partially match after the reception of the text and the output of the utterance are repeated.
  • the portion where the PN value in the PN value graph of the first speaker is the initial value may be updated according to the PN value other than the initial value of the corresponding portion in the PN value graph of the second speaker. ..
  • the speaker whose PN value graph partially matches can update the PN value of the non-interacting part under the assumption that the PN value of other parts is also similar. ..
  • the step of accepting the utterance text of the speaker the step of extracting the nomenclature from the utterance text, and whether the speaker's feelings are positive or negative with respect to the extracted nomenclature. Is determined by whether the morphological elements that are dependent on the extracted nomenclature are positive or negative, or by the result of emotional analysis of the entire utterance text containing the extracted utterance text or one sentence of the utterance text. It has a hierarchical structure of steps and nodes that are classes or instances, and each node is associated with a PN value that indicates a certain degree of positive or negative emotions.
  • the step of identifying the utterance node, the step of updating the PN value of the utterance node corresponding to the judgment result according to the judgment result, and the association of the node related to the utterance node using the PN value in the ontology From the step of specifying the node and multiple utterance patterns according to the correspondence between the utterance node and the related node, the utterance pattern according to the correspondence between the specified utterance node and the specified related node is specified and specified. It includes a step of generating an utterance using the generated utterance pattern, the specified related node, and a step of outputting the generated utterance.
  • the dialogue device or the like it becomes possible to generate an utterance without using a machine learning model. Further, by updating the PN value of each node of the ontology, the preference of the speaker can be known, and by using the PN value, more appropriate utterance can be performed.
  • the figure for demonstrating the update of the PN value in the same embodiment The figure for demonstrating the update of the PN value in the same embodiment.
  • the figure for demonstrating the update of the PN value in the same embodiment The figure for demonstrating the update of the PN value in the same embodiment.
  • the figure for demonstrating the update of the PN value in the same embodiment The figure for demonstrating the update of the PN value in the same embodiment.
  • the figure which shows an example of the dialogue in the same embodiment Schematic diagram showing an example of the appearance of a computer system in the same embodiment
  • the dialogue device updates the PN value associated with each node of the ontology according to the result of performing emotion determination on the noun included in the utterance text of the speaker, and uses the PN value. To generate utterances.
  • FIG. 1 is a block diagram showing a configuration of the dialogue device 1 according to the present embodiment.
  • the dialogue device 1 according to the present embodiment includes a voice recognition unit 11, a reception unit 12, an extraction unit 13, an emotion determination unit 14, a storage unit 15, an attribute acquisition unit 16, and an utterance node identification unit 17.
  • the voice recognition unit 11 receives the signal of the voice spoken by the speaker and acquires the utterance text which is the result of voice recognition for the voice.
  • the utterance text is a text corresponding to the voice spoken by the speaker. Further, speech recognition is already known, and detailed description thereof will be omitted.
  • the voice recognition unit 11 may perform voice recognition processing locally, or transmits voice information to a server or the like via a communication line and receives the result of voice recognition for the voice from the server or the like. By doing so, the voice recognition result may be acquired. That is, the voice recognition unit 11 may, for example, execute the voice recognition process, or request another server or the like to execute the process.
  • the reception unit 12 receives the utterance text of the speaker.
  • the reception unit 12 may receive the utterance text from another device or the like (for example, a device that performs voice recognition or the like).
  • the spoken text does not have to be the result of voice recognition.
  • the utterance text may be input via a keyboard or the like, for example. Therefore, the dialogue in the present embodiment is usually a voice dialogue, but may be a dialogue in input / output of text information such as chat.
  • the reception unit 12 receives the utterance text from one speaker will be mainly described, but as will be described later, the reception unit 12 accepts the utterance texts of a plurality of speakers. You may.
  • the reception unit 12 receives the utterance text from other than the voice recognition unit 11, the dialogue device 1 does not have to include the voice recognition unit 11.
  • the reception unit 12 may receive, for example, the utterance text output from the voice recognition unit 11, or may receive the utterance text transmitted via a wired or wireless communication line, and may receive an input device (for example, a keyboard). , Mouse, touch panel, etc.) may be accepted.
  • the reception unit 12 may or may not include a device for receiving (for example, a modem, a network card, etc.). Further, the reception unit 12 may be realized by hardware, or may be realized by software such as a driver that drives a predetermined device.
  • the extraction unit 13 extracts a noun from the utterance text.
  • the extraction unit 13 may perform morphological analysis on the spoken text and extract nouns using the analysis result. More specifically, by performing morphological analysis on the utterance text, the utterance text can be divided into morphemes, and the part of speech of each morpheme can be specified. Then, by extracting the morpheme whose part of speech is a noun, the noun can be extracted from the utterance text. When extracting nouns, the extraction unit 13 may extract proper nouns and common nouns, respectively.
  • the morphological analysis can be realized by using a known morphological analysis system such as "MeCab”, “ChaSen”, and “JUMAN” in the case of Japanese, and in the case of English, for example, Since it can be realized by using a known morphological analysis system such as "TnT” or "Brill Tagger", detailed description thereof will be omitted.
  • the emotion determination unit 14 determines whether the speaker's emotions are positive or negative with respect to the noun extracted by the extraction unit 13.
  • the emotion determination unit 14 may determine whether the speaker's emotions are positive, negative, or neutral (neutral) with respect to the extracted noun.
  • neutral means that the emotional judgment result is neither positive nor negative.
  • a positive emotional determination result indicates that the speaker has a good impression
  • a negative emotional determination result indicates that the speaker has a bad impression.
  • the specific emotion determination process may be performed as follows, for example.
  • the emotion determination unit 14 performs a dependency analysis on the utterance text and acquires the dependency on the extracted noun.
  • the acquisition of the dependency may be, for example, identification of the morpheme related to the extracted noun or the morpheme related to the extracted noun.
  • the emotion determination unit 14 determines whether the morpheme related to the extracted noun or the morpheme related to the extracted noun is positive or negative by using the information that classifies whether the word is positive or negative. To do. Then, the emotion determination unit 14 may determine the emotion of the speaker regarding the extracted noun according to the determination result regarding the morpheme.
  • the emotion determination unit 14 determines that the speaker's emotions regarding the extracted noun are also positive if the determination result regarding the morpheme is positive, and extracts if the determination result regarding the morpheme is negative.
  • the speaker's feelings about the noun may also be determined to be negative.
  • a word emotion polarity correspondence table in which a positive value is assigned a value closer to +1 and a negative value is assigned a value closer to -1. Is known (for example, refer to URL: http://www.lr.pi.titech.ac.jp/ ⁇ takamura/pndic_ja.html).
  • the word emotion polarity correspondence table can be used to obtain a value in the range of -1 to 1 corresponding to the morpheme, and the value can be used to determine positive, negative, and neutral. For example, if the value is in the range of ⁇ to ⁇ , it may be determined to be neutral, if it is larger than + ⁇ , it may be determined to be positive, and if it is smaller than ⁇ , it may be determined to be negative. Note that ⁇ is a predetermined positive real number smaller than 1. Further, when there are two or more morphemes having a dependency relationship with the extracted noun, the emotion determination may be performed based on the sum of the two or more values. For example, if the sum of the values is close to 1, it may be determined to be positive.
  • the emotion determination unit 14 may perform emotion analysis on the entire utterance text or one sentence included in the utterance text, and the result of the emotion analysis may be the speaker's emotion regarding each nomenclature included in the analysis target. ..
  • the result of the emotion analysis may be the speaker's emotion regarding each nomenclature included in the analysis target. ..
  • the speaker's emotions regarding each word contained in the utterance text may also be determined to be positive.
  • the storage unit 15 stores an ontology and an utterance pattern, which will be described later. Details of these will be described later.
  • the process of storing information in the storage unit 15 does not matter.
  • the information may be stored in the storage unit 15 via the recording medium, the information transmitted via the communication line or the like may be stored in the storage unit 15, or The information input via the input device may be stored in the storage unit 15. Further, for example, the information may be added to the storage unit 15 or the information stored in the storage unit 15 may be updated by each component of the dialogue device 1.
  • the storage in the storage unit 15 may be temporary storage in RAM or the like, or long-term storage.
  • the storage unit 15 can be realized by a predetermined recording medium (for example, a semiconductor memory, a magnetic disk, or the like).
  • the attribute acquisition unit 16 acquires the attribute of the speaker corresponding to the utterance text by using the utterance text.
  • the speaker's attributes may be demographic attributes such as gender, age, place of residence, income, occupation, educational background, or other attributes. In the present embodiment, the case where the attribute is gender will be mainly described. Even if the attribute acquisition unit 16 acquires the attribute of the speaker by acquiring the attribute corresponding to the word included in the utterance text by using the information in which the word is associated with the attribute of the speaker, for example. Good. For example, a gender score from -1 to 1 is associated with each word, and the closer the gender score is to -1, the more often women use it, and the closer it is to +1 the more often men use it. It may be.
  • the attribute acquisition unit 16 acquires the total of the gender scores for the words included in one or more utterance texts, and if the total is a positive value, determines that the gender of the speaker is male and is negative. If the value is, it may be determined that the gender of the speaker is female. Similarly, for example, it is possible to determine whether the age group is high or low, whether the residential area is western Japan or eastern Japan, and whether the income is high or low.
  • the utterance node identification unit 17 identifies the utterance node, which is a node corresponding to the noun extracted by the extraction unit 13, in the ontology stored in the storage unit 15.
  • the ontology has a hierarchical structure of nodes that are classes (basic concepts) or instances (entities). It may be considered that the hierarchical structure indicates, for example, the relationship between upper and lower levels of classes and instances, and the inclusion relationship. Further, in the ontology, a PN value indicating a certain degree of positive or negative emotion is associated with each node.
  • the hierarchical structure of the ontology is usually a tree structure (tree structure), but it may be other than that.
  • the instance becomes a leaf node having no child nodes.
  • an ontology for example, an existing ontology such as DBpedia or Freebase may be used, or an ontology generated for the dialogue device 1 may be used.
  • the ontology may be held by a device such as a server other than the dialogue device 1. In that case, the identification of the utterance node, the identification of the related node, the update of the PN value, etc. may be performed by accessing the ontology held outside the utterance node.
  • the PN value may be any value as long as the emotions regarding the node corresponding to the PN value can be known to some extent as positive or negative.
  • the PN value may be, for example, a value indicating the degree of positive, a value indicating the degree of negative, or both.
  • the PN value is indicated by an integer from -100 to +100, the degree of positive is larger as it is closer to +100, and the degree of negative is larger as it is closer to -100 will be mainly described. ..
  • the PN value in the situation where the PN value is not updated, that is, the initial value of the PN value in the ontology is set to the neutral value (“0” in the above example).
  • the node corresponding to the extracted noun is a node corresponding to the noun, for example, a node that matches the extracted noun, and a node that substantially matches the extracted noun. It may be, or it may be a node similar to the extracted noun. For example, if there is a node "baseball" in the ontology and the extracted noun is "baseball”, the speech node "baseball” that matches that noun is specified, and the extracted noun is "baseball".
  • the speech node “baseball” that substantially matches the noun is identified, and if the extracted noun is "softball” and the ontology does not include the node "softball”, the noun "softball” A speech node “baseball” similar to “softball” may be identified. If there is no node that matches the extracted noun, a node that substantially matches, or a similar node, the utterance node identification unit 17 determines that the node corresponding to the extracted noun does not exist. You may. When a plurality of nouns are extracted, the utterance node identification unit 17 may specify the utterance node for each noun.
  • attributes may be associated with each node.
  • a speaker having an attribute may be associated with a node that is considered to have a positive impression. For example, since a male speaker is considered to have a positive impression on the node "sports", the attribute "male” may be associated with the node "sports”. Further, the attribute may be associated with a node in which a speaker having a certain attribute is considered to have a negative impression. For example, since a female speaker is considered to have a negative impression on the nodes "cockroach” and "spider”, the attribute "female” may be associated with the nodes "cockroach” and "spider”.
  • the speaker having the attribute associated with a certain node may be predetermined whether the speaker having the attribute associated with a certain node has a positive impression or a negative impression on the node, or it is set for each attribute. May be done. Further, two or more attributes may be associated with the node. In addition, there may be a node whose attributes are not associated with each other.
  • the update unit 18 updates the PN value of the utterance node corresponding to the determination result according to the determination result by the emotion determination unit 14.
  • the utterance node corresponding to the determination result is the utterance node corresponding to the noun to be determined in the determination result. That is, when the determination result of the emotion analysis regarding the extracted noun is positive (or negative), the update unit 18 sets the PN value of the utterance node corresponding to the extracted noun to the more positive side (or negative). , More negative side) may be updated.
  • the PN value is an integer from -100 to +100 as described above, when the judgment result is positive, a predetermined positive value is added to the PN value, and when the judgment result is negative, A predetermined positive value may be subtracted from the PN value.
  • the predetermined positive value may be constant regardless of the determination result, or may change depending on the determination result. In the latter case, the predetermined value may be larger as the degree of positiveness or negativeness is higher.
  • the update unit 18 updates the PN value so that it becomes the upper limit value (or the lower limit value). You may.
  • the update unit 18 may update the PN value of the utterance node corresponding to the determination result by the emotion determination unit 14 as well as the PN value of the node linked to the utterance node. For example, if the speaker has a positive impression of the utterance node, it may also have a positive impression of the node linked to it.
  • the node linked to the utterance node may be a node connected to the utterance node by an edge.
  • the node linked to the utterance node may or may not be, for example, only a node in the vicinity of the utterance node. In the former case, for example, the PN value may be updated only for the nodes connected by N or less edges from the utterance node.
  • N is an integer greater than or equal to 1 and is usually a modest value (eg, 2 or 3).
  • the farther away from the utterance node the smaller the degree of update of the PN value may be. For example, in the utterance node, when the PN value is added by +10, the PN value is added by +5 for the node connected to the utterance node by one edge, and the node connected to the utterance node by two edges. May add only +2 to the PN value. In this way, the farther away from the utterance node, the more the PN value discounted at a predetermined discount rate may be updated.
  • the degree of update of the PN value is discounted by 50% each time the number of edges from the utterance node increases by one. Since the PN value is limited to an integer, the numbers after the decimal point are truncated in the above example.
  • the update of the PN value may be performed by multiplying the PN value by a predetermined value. For example, when the PN value is a real number or an integer of 0 or more, the PN value may be updated by multiplying the PN value by a value larger than 1 or a value smaller than 1.
  • the multiplication result may be rounded down or rounded off to the nearest whole number.
  • the PN value for other than the utterance node in the hierarchical structure of the ontology, it proceeds from the utterance node to the upper side (that is, to the root), or from the utterance node to the lower side (that is, to the root).
  • the method of updating the PN value may be changed depending on whether the process proceeds to the leaf). For example, when proceeding in the upper direction from the utterance node, the PN value discounted at a predetermined discount rate is updated as described above, and when proceeding in the lower direction from the utterance node, the PN value is updated.
  • the same PN value as the utterance node may be updated without a discount.
  • the speaker also gives a good impression about the nodes in the lower direction of the ball game, such as "soccer” and “baseball". It is thought that they have, but the speaker does not always have a good impression about "sports”, which is a node in the upper direction of ball games, and "athletics", which is a node in the lower direction of the sport. Because there isn't.
  • the case where the PN value is updated to the nodes other than the utterance node will be mainly described.
  • the upper node closest to the utterance node may proceed to the upper side or the lower side.
  • the update unit 18 changes the PN value of the node associated with the attribute acquired by the attribute acquisition unit 16.
  • the change of the PN value may be, for example, changing the PN value to a positive side value or changing the PN value to a negative side value.
  • the attribute acquisition unit 16 utters the speaker.
  • the update unit 18 sets the PN value of the node corresponding to "female” (for example, the node corresponding to "flower” or "tulip") to the positive side in the ontology. It may be updated to the value of.
  • the update unit 18 determines the PN value of the node corresponding to "female” (for example, the node corresponding to "fly” or "cocktail") in the ontology. May be updated to the value on the negative side. Further, in the ontology, when the speaker has a certain attribute, it may be set whether to change the PN value to the positive side value or the negative side value.
  • the PN value is changed to the value on the positive side, and for the speaker who has the attribute "female", It may be associated with changing the PN value to the value on the negative side.
  • the update of the PN value may be performed by, for example, addition or subtraction of a predetermined value, or may be performed by multiplication of a predetermined value.
  • the PN value may be added by +5, and the PN value of the node corresponding to "female” is negative.
  • the PN value may be subtracted by -5.
  • the PN value corresponding to neutral may be changed. By doing so, it is possible to set the PN value to a non-neutral value in advance by using the attribute even for the area of the node that has not yet interacted.
  • the attribute in the ontology, for a speaker having a certain attribute, the attribute is associated with a node whose PN value is considered to be a positive value, and the speaker is acquired by the attribute acquisition unit 16. A case where the PN value of the node associated with the attribute is updated to the value on the positive side according to the attribute of the speaker is mainly described.
  • the related node identification unit 19 identifies a related node that is a node related to the utterance node specified by the utterance node identification unit 17 by using the PN value in the ontology. In this way, in the ontology, the related node is specified with the utterance node as the base point.
  • the utterance node may be the utterance node specified immediately before the related node is specified. There are usually the following three methods for identifying related nodes.
  • the related node specifying unit 19 may specify a related node that has not been specified as a related node so far. That is, in the ontology, the association node may or may not be specified only once.
  • the related node specifying unit 19 may specify a related node which is a higher node of the utterance node in the ontology.
  • the related node may be the immediate superior node of the utterance node.
  • the related node identification unit 19 may specify the related node which is a lower node of the utterance node in the ontology.
  • the related node may be the nearest subnode of the utterance node.
  • the utterance node may have two or more nearest subordinate nodes.
  • the related node identification unit 19 may select the related node randomly or by using the PN value from two or more nearest subordinate nodes.
  • the related node identification unit 19 may specify related nodes which are other nodes in the same hierarchy as the utterance node in the ontology.
  • the same level of hierarchy may be the same level, one level above, or one level below.
  • the related node specifying unit 19 may specify a node on the upper side by the M hierarchy from the utterance node, and specify a related node which is a node on the lower side by the K hierarchy from the specified node.
  • the related node may be specified by not passing through the same node twice from the utterance node to the related node. Further, by setting
  • M and K are integers of 1 or more, respectively.
  • the related node identification unit 19 may specify the related node according to (1) above, for example, when the extracted noun corresponding to the utterance node is a proper noun. Further, the related node specifying unit 19 may specify the related node according to (1) above, for example, when the utterance node is a leaf node (that is, an instance in the ontology). Further, the related node specifying unit 19 may specify the related node according to (2) above, for example, when the extracted noun corresponding to the utterance node is a common noun. Further, the related node specifying unit 19 may specify the related node according to (2) above, for example, when the utterance node is a higher-level node.
  • the related node specifying unit 19 may specify the related node related to the utterance node corresponding to the PN value on the positive side rather than the neutral side. For example, when a plurality of nomenclatures are extracted from an utterance text and a utterance node corresponding to each utterance node is specified, the PN value of one utterance node is more positive than neutral and is on the positive side of another utterance node. Assuming that the PN value is on the negative side of the neutral side, the related node identification unit 19 may specify the related node from the utterance node whose PN value is on the positive side of the neutral side as a base point. It is believed that generating utterances related to words that the speaker has a positive impression of will result in a more lively conversation. In this way, the related node may be specified using the PN value.
  • the related node identification unit 19 may specify the related node according to the above (3). This is because it is considered appropriate to generate utterances corresponding to nodes that are as unrelated as possible to the utterance nodes. In this way, the related node may be specified using the PN value.
  • the related node specifying unit 19 may specify the related node corresponding to the neutral PN value. By doing so, in the ontology, the speaker's preference can be known even in the area where the speaker's preference is unknown (that is, the area of the node corresponding to the neutral PN value), and the speaker can be more known. This is because it becomes possible to generate utterances according to the preference of. Further, the related node identification unit 19 may specify a related node whose PN value is a neutral or positive value. This is because it is considered better not to generate utterances related to words that the speaker has a negative impression on. In this way, the related node may be specified using the PN value.
  • the utterance generation unit 20 includes the utterance node specified by the utterance node specifying unit 17 and the related node specified by the related node specifying unit 19 from a plurality of utterance patterns according to the correspondence between the utterance node and the related node. An utterance pattern corresponding to a correspondence relationship is specified, and an utterance is generated using the specified utterance pattern and the specified related node.
  • the plurality of utterance patterns may be held by a device such as a server other than the dialogue device 1. ..
  • the identification of the utterance pattern may be performed by accessing a plurality of utterance patterns held outside the utterance pattern.
  • the correspondence between the utterance node and the related node may be, for example, the correspondence of (1) to (3) above. That is, the utterance patterns corresponding to the correspondences (1) to (3) above may be prepared in advance.
  • one utterance pattern may be associated with one correspondence, and two or more utterance patterns may be associated with each other.
  • the utterance pattern may be, for example, a template for utterances, which can generate utterances by inserting a character string of a related node.
  • the utterance pattern may be, for example, "Do you like ⁇ related nodes>?".
  • the utterance may be generated by inserting the related node in the place of ⁇ related node>. If there are a plurality of utterance patterns according to the correspondence between the specified utterance node and the specified related node, the utterance generation unit 20 may randomly select and use one. Good.
  • the utterance generation unit 20 may generate an utterance having a conjunction according to the correspondence between the utterance node and the related node.
  • the utterance generation unit 20 specifies, for example, a conjunction corresponding to the correspondence between the utterance node specified by the utterance node specifying unit 17 and the related node specified by the related node specifying unit 19, and the conjunction thereof is specified.
  • the final utterance may be generated by combining the identified conjunction with the utterance generated using the utterance pattern and the related node as described above. Even in that case, the conjunctions corresponding to the correspondences (1) to (3) above are stored in the storage unit 15 and the like, and the utterance generation unit 20 may specify the conjunctions by using the information. Good.
  • the utterance generation unit 20 may acquire the conjunction according to the correspondence between the utterance node and the related node by accessing the conjunction held by a device such as a server other than the dialogue device 1.
  • the utterance generation unit 20 may randomly select and use one. .. Further, the conjunction may be included in the utterance pattern in advance.
  • the utterance output unit 21 outputs the utterance generated by the utterance generation unit 20.
  • the output of this utterance may be, for example, the output of a text indicating the utterance, or the output of a voice signal obtained by converting the utterance into voice. In the latter case, speech synthesis may be performed according to the utterance text.
  • the utterance output unit 21 performs voice synthesis according to the generated utterance and outputs the generated voice signal to the speaker will be mainly described.
  • this output may be, for example, audio output by a speaker, transmission via a communication line to a predetermined device, display on a display device, printing by a printer, or storage in a recording medium. Often, it may be handed over to another component.
  • the utterance output unit 21 may or may not include a device that outputs (for example, a communication device). Further, the utterance output unit 21 may be realized by hardware, or may be realized by software such as a driver that drives those devices.
  • the reason information generation unit 22 generates reason information which is a reason for utterance generation according to the correspondence between the related node used in the utterance generation by the utterance generation unit 20 and the utterance node corresponding to the related node. To do.
  • the utterance node corresponding to the related node is the utterance node used as a starting point when the related node is specified. Therefore, for example, when a related node is specified based on a certain utterance node, the utterance node becomes the utterance node corresponding to the specified related node.
  • the reason information may be generated, for example, by preparing a template corresponding to the method of generating the utterance and using the template.
  • the reason information generation unit 22 When a reason information pattern corresponding to the correspondence between the utterance node and the related node (for example, uppering, lowering, horizontal expansion, etc.) is prepared, the reason information generation unit 22 The reason information pattern according to the correspondence between the utterance node specified by the utterance node specifying unit 17 and the related node specified by the related node specifying unit 19 is specified, and the utterance node and the relation are applied to the specified reason information pattern.
  • Reason information may be generated by inserting a string of nodes. The reason information may be generated, for example, for each utterance generation, or after a series of utterances have been generated.
  • reason information such as a utterance node and a related node
  • the reason information may be generated by using the information provided.
  • the reason information output unit 23 outputs the reason information generated by the reason information generation unit 22.
  • this output may be displayed on a display device (for example, a liquid crystal display, an organic EL display, etc.), may be transmitted via a communication line to a predetermined device, may be printed by a printer, or may be printed by a speaker. It may be an audio output, may be stored in a recording medium, or may be delivered to another component.
  • the reason information output unit 23 may or may not include a device that outputs (for example, a display device, a printer, etc.). Further, the reason information output unit 23 may be realized by hardware, or may be realized by software such as a driver that drives those devices.
  • the feature acquisition unit 24 uses the PN value graph, which is a graph of the PN value in the ontology, after the reception of the utterance text and the output of the utterance are repeated, that is, after the update of the PN value in the ontology is repeated. Acquire the characteristics of the speaker.
  • the PN value is repeatedly updated according to the result of the emotion analysis of the extracted noun.
  • the PN value may be updated according to the attribute.
  • the PN value updated in this way indicates the individuality of the speaker. Therefore, it is possible to acquire the characteristics (individuality) of the speaker by using the graph of the PN value (a graph composed of nodes and edges, in which the PN value is associated with the node). Become.
  • Specific methods for acquiring the characteristics of the speaker using the PN value graph include, for example, (A) a method using the similarity relationship of the PN value graph, and (B) a method using a graph convolution. Each will be described below.
  • the feature acquisition unit 24 identifies a pre-held PN value graph that is most similar to the acquired PN value graph. Whether or not the PN value graphs are similar may be determined, for example, by calculating the degree of similarity such as the cosine distance with respect to the vector whose component is the PN value of each node in the PN value graph.
  • the pre-held PN value graph corresponding to the vector having the highest similarity to the acquired PN value graph is the PN value graph most similar to the acquired PN value graph. May be good.
  • the feature corresponding to the pre-held PN value graph, which is most similar to the acquired PN value graph may be acquired as the speaker's characteristic.
  • the feature acquisition unit 24 acquires features using the learning device that is the learning result. Specifically, assuming that the PN value of each node in the ontology is updated and the PN value graph is acquired by repeating the reception of the utterance text and the output of the utterance for the speaker whose characteristics are unknown.
  • the feature acquisition unit 24 applies the PN value graph to the learner. Applying the PN value graph to the learner means inputting the PN value graph into the learner. Then, by acquiring the output for the input PN value graph, the feature corresponding to the input PN value graph can be acquired.
  • the characteristics of the speaker corresponding to the PN value graph may be acquired by other methods.
  • the characteristics of the speaker are not limited to the above examples.
  • the feature may be whether or not the speaker has dementia.
  • the PN value graph can be used to determine whether the speaker has dementia.
  • the feature output unit 25 outputs the characteristics of the speaker acquired by the feature acquisition unit 24.
  • this output may be displayed on a display device (for example, a liquid crystal display, an organic EL display, etc.), may be transmitted via a communication line to a predetermined device, may be printed by a printer, or may be printed by a speaker. It may be an audio output, may be stored in a recording medium, or may be delivered to another component.
  • the feature output unit 25 may or may not include a device that outputs (for example, a display device, a printer, etc.). Further, the feature output unit 25 may be realized by hardware, or may be realized by software such as a driver that drives those devices.
  • Step S101 The voice recognition unit 11 determines whether or not the voice signal of the speaker has been received. Then, if the voice signal of the speaker is received, the process proceeds to step S102, and if not, the process proceeds to step S113. When the voice recognition unit 11 receives the voice signal of the speaker, the voice recognition unit 11 may continue the reception process until the reception of the voice signal of one segment is completed.
  • Step S102 The voice recognition unit 11 performs voice recognition on the voice signal of the speaker received in step S101, and acquires the utterance text.
  • Step S103 The voice recognition unit 11 outputs the utterance text, and the reception unit 12 receives the output utterance text.
  • Step S104 The extraction unit 13 extracts a noun from the utterance text received by the reception unit 12.
  • the emotion determination unit 14 performs emotion analysis on the nouns extracted by the extraction unit 13 and acquires positive and negative determination results.
  • Step S106 The utterance node specifying unit 17 identifies the utterance node corresponding to the noun extracted in step S104 in the ontology.
  • Step S107 The update unit 18 updates the PN value of the utterance node specified in step S106 and the node linked to the utterance node by using the determination result of step S105.
  • Step S108 In the ontology, the related node specifying unit 19 identifies the related node by using the PN value updated in step S107 with the utterance node specified in step S106 as the base point.
  • Step S109 The utterance generation unit 20 specifies an utterance pattern according to the correspondence between the utterance node specified in step S106 and the related node specified in step S108, and the specified utterance pattern and its association. Generate utterances using nodes.
  • Step S110 The utterance output unit 21 outputs the utterance generated in step S109.
  • the utterance output unit 21 may, for example, perform voice synthesis according to the utterance and output the voice-synthesized voice signal to a speaker or the like.
  • Step S111 The reason information generation unit 22 generates reason information according to the generation of the utterance in step S109.
  • Step S112 The reason information output unit 23 outputs the reason information generated in step S111. Then, the process returns to step S101.
  • Step S113 The attribute acquisition unit 16 determines whether or not to acquire the attribute. Then, if the attribute is acquired, the process proceeds to step S114, and if not, the process proceeds to step S116.
  • the attribute acquisition unit 16 may determine that the attribute is acquired after, for example, a predetermined amount or more of the utterance text is received. This is because if the amount of utterance text received is small, it is not possible to acquire appropriate attributes.
  • the predetermined amount may be indicated by, for example, the number of characters, the data capacity, or the like. Further, after acquiring the attribute once for a certain speaker, the attribute acquisition unit 15 does not have to determine that the attribute is acquired.
  • Step S114 The attribute acquisition unit 16 acquires the attribute using the utterance text received so far.
  • Step S115 The update unit 18 changes the PN value of the node associated with the attribute acquired in step S114 in the ontology. Then, the process returns to step S101.
  • Step S116 The feature acquisition unit 24 determines whether or not to acquire the feature using the PN value graph in the ontology. Then, if the feature is acquired, the process proceeds to step S117, and if not, the process returns to step S101.
  • the feature acquisition unit 24 may determine, for example, to acquire the feature when the PN value of the node exceeding a predetermined ratio in the ontology is no longer neutral. Further, after the feature is acquired once for a certain speaker, the feature acquisition unit 24 does not have to determine that the feature is acquired, or after the feature is acquired once. However, it may be determined that the features are acquired on a regular basis. This is because the characteristics of the speaker may change.
  • Step S117 The feature acquisition unit 24 acquires the characteristics of the speaker by using the PN value graph in the ontology.
  • Step S118 The feature output unit 25 outputs the feature acquired in step S117. Then, the process returns to step S101.
  • the order of processing in the flowchart of FIG. 2 is an example, and the order of each step may be changed as long as the same result can be obtained. Further, in the flowchart of FIG. 2, the processing is terminated by an interrupt of power off or processing termination.
  • FIG. 3 is a diagram showing an example of an ontology data structure.
  • each record corresponds to one node.
  • a node identifier that identifies the node
  • the node name (strictly speaking, a class name or an instance name)
  • a higher node identifier that identifies the nearest higher node of the node
  • the node Contains the PN value corresponding to and the attribute corresponding to that node.
  • the node identified by the node identifier "N1024" is a node of "flower", and the node above it is a node identified by the node identifier "N1023" and is identified by the node identifier "N1024".
  • the PN value of the node is "0", and the attribute of the node is shown to be "female".
  • the PN values in FIG. 3 are all initial values and are set to "0", which is a neutral value. In this specific example, it is assumed that a positive PN value indicates a positive value and a negative PN value indicates a negative value.
  • the ontology shown in FIG. 3 has a tree structure shown in FIG. 7A. In FIG. 7A, the numbers displayed in the upper right or upper left of each node are the PN values corresponding to each node.
  • FIG. 4 is a diagram showing an example of the correspondence between the utterance node and the related node and the correspondence with the utterance pattern.
  • the correspondence relationship “upgrading” is associated with the utterance pattern “Do you like ⁇ related nodes>?”.
  • FIG. 5 is a diagram showing an example of the correspondence between the utterance node and the related node and the correspondence with the conjunction.
  • the conjunction "to say” is associated with the correspondence "upgrading".
  • FIG. 6 is a diagram showing an example of the correspondence between the utterance node and the related node and the correspondence between the reason information pattern.
  • the reason information pattern “ ⁇ related node> exists as a higher-level concept of ⁇ uttering node>, and positive utterance related to ⁇ uttering node> is performed. I made an utterance about ⁇ related node>, which is a superordinate concept of ⁇ utterance node>.
  • the speaker makes an utterance U101 saying "I bought a beautiful tulip".
  • the voice of the utterance U101 is received by the voice recognition unit 11 via the microphone, voice recognition is performed, and the utterance text "I bought a beautiful tulip" corresponding to the voice is acquired (step).
  • S101, S102 The utterance text is received by the reception unit 12 and passed to the extraction unit 13 and the emotion determination unit 14 (step S103).
  • the extraction unit 13 Upon receiving the utterance text, the extraction unit 13 performs morphological analysis, acquires the noun "tulip" from the utterance text, and passes the extracted noun to the emotion determination unit 14 and the utterance node identification unit 17 (step S104).
  • the emotion judgment unit 14 Upon receiving the noun "tulip", the emotion judgment unit 14 performs a dependency analysis on the utterance text received from the reception unit 12, and the morpheme “pretty” related to the noun “tulip” and the morpheme “tuplip” related to the noun “tulip". "Buy” to identify. Then, the emotion determination unit 14 determines whether the specified morpheme “clean” or "buy” is positive or negative. Here, it is assumed that "pretty” is judged to be positive and “buy” is judged to be neutral. Then, the emotion determination unit 14 determines that the result of the emotion analysis of the extracted noun “tulip” is positive, and passes the result to the update unit 18 (step S105).
  • the utterance node identification unit 17 identifies the node corresponding to the extracted noun "tulip" in the ontology stored in the storage unit 15. That is, in the ontology shown in FIG. 3, the utterance node identification unit 17 searches using the extracted noun "tulip” as a search key, and acquires the node identifier "N1025" of the hit record to obtain the "tulip". The node corresponding to is specified (step S106). Then, the utterance node identification unit 17 passes the node identifier "N1025" of the specified record to the update unit 18, the related node identification unit 19, and the utterance generation unit 20.
  • the update unit 18 When the update unit 18 receives the node identifier "N1025" from the utterance node identification unit 17, the update unit 18 adds "10" to the PN value corresponding to the node identifier "N1025" according to the determination result "positive" received in advance. .. In this specific example, the update unit 18 updates the PN value discounted at a discount rate of 50% from the utterance node to the second node when proceeding from the utterance node to the higher level. , When proceeding in the lower direction from the utterance node, the same PN value as the utterance node shall be updated without discount.
  • the related node identification unit 19 identifies the related node according to (1) above because the PN value of the utterance node is on the positive side larger than 0 and the utterance node is the leaf node. That is, the related node identification unit 19 identifies the related node "flower” identified by the node identifier "N1024", which is a higher node of the utterance node "tulip" (step S108). Then, the related node identification unit 19 passes the node identifier “N1024” of the related node and the fact that the related node has been specified by higher-leveling to the utterance generation unit 20.
  • the utterance generation unit 20 randomly selects the utterance pattern "Do you like ⁇ related nodes>?" From the plurality of utterance patterns corresponding to the correspondence "upgrading” shown in FIG. Along with the selection, the conjunction “to say” is randomly selected from the plurality of conjunctions corresponding to the correspondence "upgrade” shown in FIG. 5, and they are connected, and the related node is connected to the ⁇ related node>.
  • the utterance "Do you like flowers?” Is generated and passed to the utterance output unit 21 (step S109).
  • the utterance generation unit 20 passes the node identifier of the utterance node received from the utterance node identification unit 17 and the node identifier and correspondence of the related node received from the related node identification unit 19 to the reason information generation unit 22.
  • the utterance output unit 21 Upon receiving the utterance, the utterance output unit 21 synthesizes the voice corresponding to the utterance by performing voice synthesis, and outputs the synthesized voice signal to the speaker (step S110). As a result, the voice corresponding to the utterance U102 in FIG. 8 "Do you like flowers?" Is output from the speaker.
  • the reason information generation unit 22 refers to the information for associating the correspondence relationship between the utterance node and the related node with the reason information pattern shown in FIG. 6, and obtains the reason information pattern corresponding to the received correspondence relation “upgrading”.
  • the reason information "flowers exist as a superordinate concept of tulips, and positive utterances about tulips are performed. Therefore, I made an utterance about the flower, which is a superordinate concept of the tulip. ”Is generated and passed to the reason information output unit 23 (step S111).
  • the reason information output unit 23 that has received the reason information stores the reason information in a recording medium (not shown) (step S112). Therefore, by confirming the accumulated reason information, it becomes possible to know the reason why each utterance was generated.
  • the related node identification unit 19 decides to specify the related node by horizontal expansion and selects the node of "insect" as the related node, the utterance pattern and the conjunction are selected accordingly, and the utterance "By the way, the insect". "Are you sure?" Is generated, voice synthesis is performed, and the voice corresponding to the utterance U104 in FIG. 8 is output (steps S108 to S110). In addition, the reason information corresponding to it is also generated and output (steps S111 and S112).
  • the ontology PN value is updated as shown in FIG. 7D accordingly (steps S101 to S107). Then, it is assumed that the related node "lemon tree" is specified by horizontal expansion using the updated PN value, and the utterance U106 of FIG. 8 is generated and output accordingly (steps S108 to S110). ). Further, the reason information is generated and output according to the generation of the utterance (steps S111 and S112).
  • the utterance U107 by the speaker was performed, the utterance U108 was generated and output accordingly, and the utterance U109 by the speaker was further performed. To do. Then, according to the utterance U107, the PN value of the ontology is updated as shown in FIG. 7E, and according to the utterance U109, the PN value of the ontology is updated as shown in FIG. 7F. In this way, the PN value of the ontology is updated to reflect the preference of the speaker.
  • the attribute acquisition unit 16 determines that the attribute is acquired because a sufficient amount of utterances are received from the speaker (step S113). Then, the attribute acquisition unit 16 determines the gender, which is the attribute of the speaker, by using the utterance U101 or the like from the speaker. Specifically, as described above, the attribute acquisition unit 16 determines the gender by calculating the total of the gender scores corresponding to each word included in the utterance, and determines that the speaker is a woman. (Step S114). Then, in the ontology, the update unit 18 adds "5" to the PN value for the node whose PN value is "0" among the nodes associated with the attribute "female” to obtain the PN value. Update is performed (step S115). In this way, in the ontology, the PN value can be updated according to the general tendency even in the area where the dialogue has not yet been performed, and the utterance suitable for the speaker can be generated. Is thought to be.
  • the feature acquisition unit 24 determines to acquire the characteristics of the speaker after the series of dialogues between the speaker and the dialogue device 1 are completed (step S116).
  • the characteristics of the speaker are acquired by using a graph convolution. Therefore, the feature acquisition unit 24 applies the updated PN value graph to the learning device held in advance, acquires the characteristics of the speaker that is the output of the learning device, and passes it to the feature output unit 25 ( Step S117).
  • the feature acquisition unit 24 Upon receiving the characteristics of the speaker, stores the characteristics of the speaker in a recording medium (not shown) (step S118). By accessing the recording medium in this way, it becomes possible to know the characteristics of the speaker.
  • the dialogue device 1 since the utterance is generated by using the ontology, it becomes possible to know the reason why the utterance was generated. As a result, if inappropriate utterances are generated, it can be modified so that inappropriate utterances are not generated by changing the settings related to utterance generation, and a machine learning model is used. It is easier to maintain than the generation of utterances. Also, by updating the PN value of the ontology, it becomes possible to know the likes and dislikes of the speaker, so by using it, for example, it is possible to generate utterances that avoid topics that the speaker does not like. You will be able to, and you will be able to achieve longer dialogues with the speaker. In addition, by realizing such a longer dialogue, the area where the PN value is updated increases in the ontology, and the speaker's preference can be known in more detail.
  • the update unit 18 sets the first PN value graph, which is the PN value graph for the first speaker in the ontology, after the reception of the utterance text and the output of the utterance are repeated for a plurality of speakers.
  • the second PN value graph which is the PN value graph for the second speaker partially matches, the part where the PN value in the first PN value graph is the initial value is in the second PN value graph. It may be updated according to the PN value other than the initial value of the corresponding part.
  • the PN value is associated with each speaker in the ontology.
  • the PN value of each speaker is associated with the node "flower", such as the PN value of Mr. A, the PN value of Mr. B, and so on.
  • the partial match of the PN values may mean that the PN values of a part of the first PN value graph and the part corresponding to the part of the second PN value graph completely match.
  • the similarity between the two may exceed a predetermined threshold value.
  • the degree of similarity between the two may be larger as the average of the absolute values of the differences in PN values for each node included in the contrasting part is smaller, and is calculated using the cosine distance or the like as described above. You may.
  • Mr. A's PN value graph is shown in FIG. 7E, and the lower side of Mr. B's PN value graph below the node "animal" matches Mr. A's PN value graph shown in FIG. 7E.
  • the PN value is the initial value "0" on the lower side of the node "plant”.
  • the update unit 18 updates the PN value on the lower side of the node "plant” in the PN value graph of Mr. B according to the lower side than the node "plant” in the PN value graph of Mr. A. You may. Specifically, the update unit 18 updates so that the PN value below the node "plant” in Mr.
  • the B's PN value graph is the same as the PN value below the node "plant” in Mr. A's PN value graph.
  • the PN value graph of Mr. B may be updated so that the influence of the PN value of each node below the node "plant” in the PN value graph of Mr. A becomes smaller.
  • the PN value below the node "plant” in Mr. B's PN value graph is set to 1 for the PN value of each node below the node "plant” in Mr. A's PN value graph.
  • the update may be done so that the result is multiplied by a small positive value. With such updates, for example, it will be possible to talk to Mr. B about them under the assumption that he will like flowers and tulips.
  • the utterance generation unit 20 may search the existing document for the generated utterance, and if there is no hit, generate another utterance.
  • the existing document may be, for example, a document published on the Internet, a large corpus, or the like. Further, searching for an utterance may mean performing a search using the utterance as a search key. In addition, if the utterance contains a conjunction, the search may be performed excluding the conjunction.
  • the dialogue device 1 may not include the feature acquisition unit 24 and the feature output unit 25.
  • the dialogue device 1 may not include the attribute acquisition unit 16.
  • the dialogue device 1 may not include the reason information generation unit 22 and the reason information output unit 23.
  • the dialogue device 1 may be a stand-alone device or a server device in a server / client system.
  • the reception unit and the output unit may accept input and information via a communication line and output information.
  • each process or each function may be realized by centralized processing by a single device or a single system, or distributed processing by a plurality of devices or a plurality of systems. It may be realized by.
  • the transfer of information performed between the respective components depends on, for example, one of the components when the two components that transfer the information are physically different. It may be performed by outputting information and accepting information by the other component, or if the two components that pass the information are physically the same, one component. It may be performed by moving from the processing phase corresponding to the above to the processing phase corresponding to the other component.
  • each component information related to the processing executed by each component, for example, information received, acquired, selected, generated, transmitted, or received by each component.
  • information such as threshold values, mathematical formulas, and addresses used by each component in processing may be temporarily or for a long period of time in a recording medium (not shown) even if it is not specified in the above description.
  • each component or a storage unit may store information on a recording medium (not shown). Further, the information may be read from the recording medium (not shown) by each component or a reading unit (not shown).
  • the information used in each component or the like for example, the information such as the threshold value and the address used in the processing by each component and various setting values may be changed by the user
  • the above The information may or may not be changed as appropriate by the user, even if not specified in the description.
  • the change is realized by, for example, a reception unit (not shown) that receives a change instruction from the user and a change unit (not shown) that changes the information in response to the change instruction. You may.
  • the reception unit may accept the change instruction from, for example, an input device, information transmitted via a communication line, or information read from a predetermined recording medium. ..
  • the two or more components included in the dialogue device 1 may physically have a single device. , Or may have separate devices.
  • each component may be configured by dedicated hardware, or a component that can be realized by software may be realized by executing a program.
  • each component can be realized by a program execution unit such as a CPU reading and executing a software program recorded on a recording medium such as a hard disk or a semiconductor memory.
  • the program execution unit may execute the program while accessing the storage unit or the recording medium.
  • the software that realizes the dialogue device in the above embodiment is the following program. In other words, this program tells the computer the steps of accepting the speaker's utterance text, the step of extracting the nomenclature from the utterance text, and whether the speaker's feelings are positive or negative with respect to the extracted nomenclature.
  • a step to identify a certain utterance node a step to update the PN value of the utterance node corresponding to the judgment result according to the judgment result, and a related node which is a node related to the utterance node by using the PN value in the computer.
  • the utterance pattern according to the correspondence between the specified utterance node and the specified related node was specified and specified. It is a program for executing a step of generating an utterance using an utterance pattern and a specified related node, and a step of outputting the generated utterance.
  • the functions realized by the above program do not include the functions that can be realized only by hardware.
  • functions that can only be realized by hardware such as modems and interface cards in the acquisition unit that acquires information, the reception unit that receives information, and the output unit that outputs information are included at least in the functions realized by the above program. Absent.
  • this program may be executed by being downloaded from a server or the like, and the program recorded on a predetermined recording medium (for example, an optical disk such as a CD-ROM, a magnetic disk, a semiconductor memory, etc.) is read out. May be performed by. Further, this program may be used as a program constituting a program product.
  • a predetermined recording medium for example, an optical disk such as a CD-ROM, a magnetic disk, a semiconductor memory, etc.
  • the number of computers that execute this program may be singular or plural. That is, centralized processing may be performed, or distributed processing may be performed.
  • FIG. 9 is a schematic diagram showing an example of the appearance of a computer that executes the above program and realizes the dialogue device 1 according to the above embodiment.
  • the above embodiment can be realized by computer hardware and a computer program executed on the computer hardware.
  • the computer system 900 includes a computer 901 including a CD-ROM drive 905, a keyboard 902, a mouse 903, a monitor 904, a microphone, and a speaker.
  • a computer 901 including a CD-ROM drive 905, a keyboard 902, a mouse 903, a monitor 904, a microphone, and a speaker.
  • FIG. 10 is a diagram showing an internal configuration of the computer system 900.
  • the computer 901 in addition to the CD-ROM drive 905, the computer 901 is connected to the MPU (Micro Processing Unit) 911, the ROM 912 for storing a program such as a bootup program, and the MPU 911, and issues instructions for the application program. It includes a RAM 913 that temporarily stores and provides a temporary storage space, a hard disk 914 that stores application programs, system programs, and data, and a bus 915 that interconnects MPU 911, ROM 912, and the like.
  • the computer 901 may include a network card (not shown) that provides a connection to a LAN, WAN, or the like.
  • the program for causing the computer system 900 to execute the function of the dialogue device 1 according to the above embodiment may be stored in the CD-ROM 921, inserted into the CD-ROM drive 905, and transferred to the hard disk 914.
  • the program may be transmitted to the computer 901 via a network (not shown) and stored on the hard disk 914.
  • the program is loaded into RAM 913 at run time.
  • the program may be loaded directly from the CD-ROM921 or the network.
  • the program may be read into the computer system 900 via another recording medium (for example, DVD or the like) instead of the CD-ROM 921.
  • the program does not necessarily have to include an operating system (OS) that causes the computer 901 to execute the function of the interactive device 1 according to the above embodiment, a third-party program, or the like.
  • the program may contain only a portion of instructions that call the appropriate function or module in a controlled manner to achieve the desired result. It is well known how the computer system 900 works, and detailed description thereof will be omitted.
  • the dialogue device or the like according to the present invention has an effect that an utterance can be generated without using a machine learning model, and is useful as, for example, a device or the like that automatically performs a dialogue with a speaker. is there.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Machine Translation (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】機械学習モデルを用いないで発話者の発話テキストに対する発話を生成する対話装置を提供する。 【解決手段】対話装置は、発話テキストから抽出された名詞に関して、発話者の感情のポジティブ/ネガティブを判定する感情判定部、クラスまたはインスタンスであるノードの階層構造を有しており、ノードごとに、感情がポジティブ/ネガティブである程度を示すPN値が対応付けられているオントロジーにおいて、抽出された名詞に対応するノードである発話ノードを特定する発話ノード特定部、感情の判定結果に応じて、発話ノードのPN値を更新する更新部、オントロジーにおいて、PN値を用いて、発話ノードに関連したノードである関連ノードを特定する関連ノード特定部、発話ノードと関連ノードとの対応関係に応じた発話を、関連ノードを用いて生成する発話生成部を備える。

Description

対話装置、発話生成方法、及びプログラム
 本発明は、発話者の発話テキストに対する発話を生成する対話装置等に関する。
 従来、発話者の発話文に応答するための文を生成する対話装置が知られている。その対話装置として、例えば、機械学習モデルを用いて応答文を作成することも行われている(例えば、特開2019-040574号公報参照)。
 しかしながら、対話のための発話が機械学習モデルを用いて生成された場合には、どのような仕組みによって応答が生成されたのかを詳細に知ることができないため、生成された発話が不適切であるときには、モデル自体を変更したり、より多くの訓練データを用いた学習を行ったりすることによって、適切な発話が生成されるようにする必要があり、メンテナンス性がよくないという問題があった。
 本発明は、上記課題を解決するためになされたものであり、機械学習モデルを用いないで対話のための発話を生成することができる対話装置等を適用することを目的とする。
 上記目的を達成するため、本発明による対話装置は、発話者の発話テキストを受け付ける受付部と、発話テキストから名詞を抽出する抽出部と、抽出部によって抽出された名詞に関して、発話者の感情がポジティブであるのか、ネガティブであるのかを、抽出された名詞と係り受け関係にある形態素がポジティブであるのかネガティブであるのかによって、または、抽出された名詞を含む発話テキストの全体もしくは発話テキストの一文についての感情解析の結果によって判定する感情判定部と、クラスまたはインスタンスであるノードの階層構造を有しており、ノードごとに、感情がポジティブ、ネガティブである程度を示すPN値が対応付けられているオントロジーにおいて、抽出部によって抽出された名詞に対応するノードである発話ノードを特定する発話ノード特定部と、感情判定部による判定結果に応じて、判定結果に対応する発話ノードのPN値を更新する更新部と、オントロジーにおいて、PN値を用いて、発話ノードに関連したノードである関連ノードを特定する関連ノード特定部と、発話ノードと関連ノードとの対応関係に応じた複数の発話パターンから、特定された発話ノードと特定された関連ノードとの対応関係に応じた発話パターンを特定し、特定した発話パターンと、特定された関連ノードとを用いて発話を生成する発話生成部と、発話生成部によって生成された発話を出力する発話出力部と、を備えたものである。
 このような構成により、機械学習モデルを用いることなく発話を生成することができるようになる。その結果、例えば、発話がどのような理由によって生成されたのかを知ることができ、仮に不適切な発話が生成された場合には、発話生成の設定を容易に変更することができ、メンテナンス性が向上することになる。また、オントロジーの各ノードのPN値を更新することによって、発話者の好みを知ることができ、そのPN値を用いることによって、より適切な発話を行うことができるようになる。
 また、本発明による対話装置では、関連ノード特定部は、中立よりもポジティブ側のPN値に対応する発話ノードに関連する関連ノードを特定してもよい。
 このような構成により、発話者が好んでいる名詞を発話ノードとして発話を生成することができるため、発話者の好みにあった応答を生成することができるようになる。
 また、本発明による対話装置では、関連ノード特定部は、中立であるPN値に対応する関連ノードを特定してもよい。
 このような構成により、PN値が更新されていないノードに関する発話が生成されることになり、その結果、そのようなノードについても、PN値が更新されるようになる。このようにして、オントロジーにおけるより広い範囲について、発話者の嗜好を取得することができるようになる。
 また、本発明による対話装置では、発話生成部は、発話ノードと関連ノードとの対応関係に応じた接続詞を有する発話を生成してもよい。
 このような構成により、発話ノードと関連ノードとの対応関係に応じた適切な接続詞を用いることができ、発話者への応答を、より自然な会話に近づけることができるようになる。
 また、本発明による対話装置では、更新部は、オントロジーにおいて、感情判定部による判定結果に対応する発話ノードのPN値と共に、発話ノードとリンクしているノードのPN値も更新してもよい。
 このような構成により、一つのノードについて得られた感情の判定結果に応じて、より広範囲のノードのPN値を更新することができるようになる。その結果、より少ない会話によって、より広範囲のPN値を更新することができるようになる。
 また、本発明による対話装置では、発話生成部による発話の生成で用いられた関連ノードと、関連ノードに対応する発話ノードとの対応関係に応じて、発話の生成に関する理由である理由情報を生成する理由情報生成部と、理由情報を出力する理由情報出力部と、をさらに備えてもよい。
 このような構成により、発話の生成された理由を知ることができるようになる。また、その理由を用いることによって、例えば、対話装置の設定を変更することもでき、対話装置の設定変更をより容易に実現することができるようになる。
 また、本発明による対話装置では、オントロジーの各ノードには、属性が対応付けられており、単語と、発話者の属性とを対応付けた情報を用いて、発話テキストに含まれる単語に対応する属性を取得することによって、発話テキストに対応する発話者の属性を取得する属性取得部をさらに備え、更新部は、属性取得部によって取得された属性の対応付けられているノードのPN値を変更してもよい。
 このような構成により、発話者の属性に応じて、あらかじめPN値を変更することができるようになる。例えば、発話者が女性であることが分かった場合には、一般的に女性が好むと考えられるノードのPN値をポジティブ側に変更することにより、女性の発話者により適した応答を生成することができるようになる。
 また、本発明による対話装置では、発話テキストの受け付けと、発話の出力とが繰り返された後に、オントロジーにおけるPN値のグラフであるPN値グラフを用いて、発話者の特徴を取得する特徴取得部と、特徴取得部によって取得された、発話者の特徴を出力する特徴出力部と、をさらに備えてもよい。
 このような構成により、発話者の特徴を知ることができるようになる。例えば、発話者の性格などを、PN値グラフを用いて知ることができるようになる。
 また、本発明による対話装置では、受付部は、複数の発話者の発話テキストを受け付け、オントロジーにおいて、発話者ごとにPN値が対応付けられており、更新部は、複数の発話者について、発話テキストの受け付けと、発話の出力とが繰り返された後に、オントロジーにおける、第1の発話者に関するPN値のグラフであるPN値グラフと、第2の発話者に関するPN値グラフとが部分一致する場合に、第1の発話者のPN値グラフにおけるPN値が初期値である部分について、第2の発話者のPN値グラフにおける対応する部分の初期値以外のPN値に応じて更新してもよい。
 このような構成により、PN値グラフが部分一致している発話者は、他の部分のPN値も似ているという仮定の下、対話を行っていない箇所のPN値についても更新することができる。
 また、本発明による発話生成方法は、発話者の発話テキストを受け付けるステップと、発話テキストから名詞を抽出するステップと、抽出された名詞に関して、発話者の感情がポジティブであるのか、ネガティブであるのかを、抽出された名詞と係り受け関係にある形態素がポジティブであるのかネガティブであるのかによって、または、抽出された名詞を含む発話テキストの全体もしくは発話テキストの一文についての感情解析の結果によって判定するステップと、クラスまたはインスタンスであるノードの階層構造を有しており、ノードごとに、感情がポジティブ、ネガティブである程度を示すPN値が対応付けられているオントロジーにおいて、抽出された名詞に対応するノードである発話ノードを特定するステップと、判定結果に応じて、判定結果に対応する発話ノードのPN値を更新するステップと、オントロジーにおいて、PN値を用いて、発話ノードに関連したノードである関連ノードを特定するステップと、発話ノードと関連ノードとの対応関係に応じた複数の発話パターンから、特定された発話ノードと特定された関連ノードとの対応関係に応じた発話パターンを特定し、特定した発話パターンと、特定された関連ノードとを用いて発話を生成するステップと、生成された発話を出力するステップと、を備えたものである。
 本発明による対話装置等によれば、機械学習モデルを用いることなく発話を生成することができるようになる。また、オントロジーの各ノードのPN値を更新することによって、発話者の好みを知ることができ、そのPN値を用いることによって、より適切な発話を行うことができるようになる。
本発明の実施の形態による対話装置の構成を示すブロック図 同実施の形態による対話装置の動作を示すフローチャート 同実施の形態におけるオントロジーのデータ構造の一例を示す図 同実施の形態における発話ノードと関連ノードとの対応関係と、発話パターンとの対応の一例を示す図 同実施の形態における発話ノードと関連ノードとの対応関係と、接続詞との対応の一例を示す図 同実施の形態における発話ノードと関連ノードとの対応関係と、理由情報パターンとの対応の一例を示す図 同実施の形態におけるPN値の更新等について説明するための図 同実施の形態におけるPN値の更新等について説明するための図 同実施の形態におけるPN値の更新等について説明するための図 同実施の形態におけるPN値の更新等について説明するための図 同実施の形態におけるPN値の更新等について説明するための図 同実施の形態におけるPN値の更新等について説明するための図 同実施の形態における対話の一例を示す図 同実施の形態におけるコンピュータシステムの外観一例を示す模式図 同実施の形態におけるコンピュータシステムの構成の一例を示す図
 以下、本発明による対話装置について、実施の形態を用いて説明する。なお、以下の実施の形態において、同じ符号を付した構成要素及びステップは同一または相当するものであり、再度の説明を省略することがある。本実施の形態による対話装置は、発話者の発話テキストに含まれる名詞について感情判定を行った結果に応じて、オントロジーの各ノードに対応付けられているPN値を更新し、そのPN値を用いて、発話を生成するものである。
 図1は、本実施の形態による対話装置1の構成を示すブロック図である。本実施の形態による対話装置1は、音声認識部11と、受付部12と、抽出部13と、感情判定部14と、記憶部15と、属性取得部16と、発話ノード特定部17と、更新部18と、関連ノード特定部19と、発話生成部20と、発話出力部21と、理由情報生成部22と、理由情報出力部23と、特徴取得部24と、特徴出力部25とを備える。
 音声認識部11は、発話者の発話した音声の信号を受け付け、その音声についての音声認識の結果である発話テキストを取得する。なお、発話テキストは、発話者の発話した音声に対応したテキストである。また、音声認識については、すでに公知であり、その詳細な説明を省略する。音声認識部11は、音声認識の処理を、ローカルで行ってもよく、または、音声の情報を、通信回線を介してサーバ等に送信し、その音声に対する音声認識の結果をそのサーバ等から受信することによって、音声認識結果を取得してもよい。すなわち、音声認識部11は、例えば、音声認識の処理を実行するものであってもよく、その処理の実行を他のサーバ等に依頼するものであってもよい。
 受付部12は、発話者の発話テキストを受け付ける。本実施の形態では、受付部12が、音声認識の結果である発話テキストを音声認識部11から受け付ける場合について主に説明するが、そうでなくてもよい。受付部12は、発話テキストを、他の装置等(例えば、音声認識を行う装置等)から受け付けてもよい。また、発話テキストは、音声認識の結果でなくてもよい。発話テキストは、例えば、キーボード等を介して入力されたものであってもよい。したがって、本実施の形態での対話は、通常、音声での対話であるが、例えば、チャットなどのようなテキスト情報の入出力での対話であってもよい。また、本実施の形態では、受付部12が、一人の発話者からの発話テキストを受け付ける場合について主に説明するが、後述するように、受付部12は、複数の発話者の発話テキストを受け付けてもよい。なお、受付部12が、音声認識部11以外から発話テキストを受けつける場合には、対話装置1は、音声認識部11を備えていなくてもよい。
 受付部12は、例えば、音声認識部11から出力された発話テキストを受け付けてもよく、有線または無線の通信回線を介して送信された発話テキストを受信してもよく、入力デバイス(例えば、キーボードやマウス、タッチパネルなど)から入力された発話テキストを受け付けてもよい。なお、受付部12は、受け付けを行うためのデバイス(例えば、モデムやネットワークカードなど)を含んでもよく、または含まなくてもよい。また、受付部12は、ハードウェアによって実現されてもよく、または所定のデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
 抽出部13は、発話テキストから名詞を抽出する。抽出部13は、発話テキストに対して形態素解析を行い、その解析結果を用いて名詞を抽出してもよい。より具体的には、発話テキストについて形態素解析を行うことによって、発話テキストを形態素ごとに分割することができ、また、各形態素の品詞を特定することができる。そして、品詞が名詞である形態素を抽出することによって、発話テキストから名詞を抽出することができる。抽出部13は、名詞を抽出する際に、固有名詞と普通名詞とをそれぞれ抽出してもよい。なお、形態素解析は、日本語の場合には、例えば、「MeCab」や「ChaSen(茶筌)」、「JUMAN」などの公知の形態素解析システムを用いて実現でき、英語の場合には、例えば、「TnT」や「Brill Tagger」などの公知の形態素解析システムを用いて実現できるため、詳細な説明を省略する。
 感情判定部14は、抽出部13によって抽出された名詞に関して、発話者の感情がポジティブであるのか、ネガティブであるのかを判定する。なお、感情判定部14は、抽出された名詞に関して、発話者の感情が、ポジティブか、ネガティブか、ニュートラル(中立)かを判定してもよい。本実施の形態では、感情判定部14がこのような3段階の判定を行う場合について主に説明する。なお、ニュートラルとは、感情判定結果が、ポジティブでもネガティブでもないことである。また、感情判定結果がポジティブであるとは、発話者がよい印象を持っていることを示しており、ネガティブであるとは、発話者が悪い印象を持っていることを示している。
 具体的な感情判定処理は、例えば、次のように行われてもよい。感情判定部14は、発話テキストにおいて係り受け解析を行い、抽出された名詞に関する係り受けを取得する。その係り受けの取得とは、例えば、抽出された名詞に係る形態素や、抽出された名詞の係る形態素の特定であってもよい。その後、感情判定部14は、単語がポジティブかネガティブかを分類した情報を用いて、抽出された名詞に係る形態素や、抽出された名詞の係る形態素がポジティブであるのか、ネガティブであるのかを判定する。そして、感情判定部14は、その形態素に関する判定結果に応じて、抽出された名詞に関する発話者の感情の判定を行ってもよい。すなわち、感情判定部14は、その形態素に関する判定結果がポジティブであれば、抽出された名詞に関する発話者の感情もポジティブであると判定し、その形態素に関する判定結果がネガティブであれば、抽出された名詞に関する発話者の感情もネガティブであると判定してもよい。なお、単語がポジティブかネガティブかを分類した情報としては、例えば、各単語に関して、ポジティブであるほど+1に近い値を割り当て、ネガティブであるほど-1に近い値を割り当てた単語感情極性対応表などが知られている(例えば、URL:http://www.lr.pi.titech.ac.jp/~takamura/pndic_ja.htmlを参照されたい)。したがって、その単語感情極性対応表を用いて、形態素に対応する-1から1までの範囲の値を取得でき、その値を用いて、ポジティブ、ネガティブ、ニュートラルを判定することができる。例えば、その値が、-εからεまでの範囲であればニュートラルと判定され、+εよりも大きければポジティブと判定され、-εより小さければネガティブと判定されてもよい。なお、εは、1より小さいあらかじめ決められた正の実数である。また、抽出された名詞と係り受け関係にある形態素が2以上存在する場合には、その2以上の値の合計に基づいて、感情判定が行われてもよい。例えば、その値の合計が1に近ければ、ポジティブであると判定されてもよい。
 また、感情判定部14は、発話テキストの全体、または発話テキストに含まれる一文について感情解析を行い、感情解析の結果が、解析対象に含まれる各名詞に関する、発話者の感情であるとしてもよい。例えば、発話テキストの全体がポジティブと判定された場合には、その発話テキストに含まれる各単語に関する発話者の感情もポジティブと判定されてもよい。なお、発話テキストの全体、または発話テキストに含まれる一文に関してポジティブやネガティブなどの感情解析の結果を取得する方法はすでに公知であり、その詳細な説明を省略する。例えば、Google(登録商標)の提供しているCloud Natural Language(https://cloud.google.com/natural-language/?hl=ja)などを用いて取得することができる。
 記憶部15では、後述するオントロジーや、発話パターンなどが記憶されている。それらの詳細については、後述する。なお、記憶部15に情報が記憶される過程は問わない。例えば、記録媒体を介して情報が記憶部15で記憶されるようになってもよく、通信回線等を介して送信された情報が記憶部15で記憶されるようになってもよく、または、入力デバイスを介して入力された情報が記憶部15で記憶されるようになってもよい。また、例えば、対話装置1の各構成要素によって、記憶部15に情報が追加されてもよく、記憶部15で記憶されている情報が更新されてもよい。また、記憶部15での記憶は、RAM等における一時的な記憶でもよく、または、長期的な記憶でもよい。また、記憶部15は、所定の記録媒体(例えば、半導体メモリや磁気ディスクなど)によって実現されうる。
 属性取得部16は、発話テキストを用いて、発話テキストに対応する発話者の属性を取得する。発話者の属性は、例えば、性別、年代、居住地域、収入、職業、学歴などのデモグラフィック属性であってもよく、または、その他の属性であってもよい。本実施の形態では、その属性が性別である場合について主に説明する。属性取得部16は、例えば、単語と、発話者の属性とを対応付けた情報を用いて、発話テキストに含まれる単語に対応する属性を取得することによって、発話者の属性を取得してもよい。例えば、単語ごとに、-1から1までの性別スコアが対応付けられており、その性別スコアは、-1に近いほど女性がよく使用する単語であり、+1に近いほど男性がよく使用する単語であってもよい。そして、属性取得部16は、1以上の発話テキストに含まれる単語について、性別スコアの合計を取得し、その合計が正の値であれば、発話者の性別が男性であると判断し、負の値であれば、発話者の性別が女性であると判断してもよい。同様にして、例えば、年代が高いのか低いのか、居住地域が西日本であるのか東日本であるのか、収入が多いのか少ないのかなどを判断することもできる。
 発話ノード特定部17は、記憶部15で記憶されているオントロジーにおいて、抽出部13によって抽出された名詞に対応するノードである発話ノードを特定する。なお、オントロジーは、クラス(基本概念)またはインスタンス(実体)であるノードの階層構造を有している。その階層構造によって、例えば、クラスやインスタンスの上位下位の関係や、包含関係が示されると考えてもよい。また、オントロジーにおいて、ノードごとに、感情がポジティブ、ネガティブである程度を示すPN値が対応付けられている。オントロジーの階層構造は、通常、ツリー構造(木構造)であるが、それ以外であってもよい。また、オントロジーの階層構造がツリー構造である場合には、インスタンスは、子ノードを持たないリーフノードとなる。記憶部15で記憶されているのは、厳密には、オントロジーを示す情報であるが、ここでは、説明の便宜上、それをオントロジーと呼ぶことにする。オントロジーとしては、例えば、DBpedia、Freebase等の既存のオントロジーを用いてもよく、または、対話装置1用に生成されたオントロジーを用いてもよい。また、本実施の形態では、オントロジーが記憶部15で記憶されている場合について主に説明するが、オントロジーは、対話装置1以外のサーバ等の装置で保持されていてもよい。その場合には、発話ノードの特定や、関連ノードの特定、PN値の更新などは、その外部で保持されているオントロジーにアクセスすることによって行われてもよい。
 PN値は、結果として、PN値に対応しているノードに関する感情がポジティブやネガティブである程度を知ることができるのであれば、どのような値であってもよい。PN値は、例えば、ポジティブの程度を示す値であってもよく、ネガティブの程度を示す値であってもよく、その両方であってもよい。本実施の形態では、PN値が、-100から+100までの整数で示され、+100に近いほどポジティブの程度が大きく、-100に近いほどネガティブの程度が大きいものである場合について主に説明する。なお、PN値の更新が行われていない状況でのPN値、すなわちオントロジーにおけるPN値の初期値は、ニュートラルの値(上記の例では「0」)に設定されることが好適である。
 抽出された名詞に対応するノードとは、その名詞に相当するノードのことであり、例えば、抽出された名詞と一致するノードであってもよく、抽出された名詞と実質的に一致するノードであってもよく、または、抽出された名詞と類似するノードであってもよい。例えば、オントロジーにノード「野球」が存在する場合に、抽出された名詞が「野球」であれば、その名詞に一致する発話ノード「野球」が特定され、抽出された名詞が「ベースボール」であれば、その名詞に実質的に一致する発話ノード「野球」が特定され、抽出された名詞が「ソフトボール」であり、オントロジーにノード「ソフトボール」が含まれない場合には、その名詞「ソフトボール」と類似する発話ノード「野球」が特定されてもよい。なお、抽出された名詞と一致するノードや、実質的に一致するノード、類似するノードが存在しない場合には、発話ノード特定部17は、抽出された名詞に対応するノードが存在しないと判断してもよい。また、複数の名詞が抽出された場合には、発話ノード特定部17は、各名詞について、発話ノードの特定を行ってもよい。
 また、オントロジーにおいて、ノードごとに、属性が対応付けられていてもよい。ある属性を有する発話者が、ポジティブな印象を有すると考えられるノードに、その属性が対応付けられてもよい。例えば、男性の発話者は、ノード「スポーツ」にポジティブな印象を有すると考えられるため、ノード「スポーツ」に、属性「男性」が対応付けられてもよい。また、ある属性を有する発話者が、ネガティブな印象を有すると考えられるノードに、その属性が対応付けられてもよい。例えば、女性の発話者は、ノード「ゴキブリ」「クモ」にネガティブな印象を有すると考えられるため、ノード「ゴキブリ」「クモ」に、属性「女性」が対応付けられてもよい。なお、あるノードに対応付けられている属性を有する発話者が、そのノードに対してポジティブな印象を有するのか、ネガティブな印象を有するのかがあらかじめ決められていてもよく、または、属性ごとに設定されてもよい。また、ノードには、2以上の属性が対応付けられてもよい。また、属性の対応付けられていないノードが存在してもよい。
 更新部18は、感情判定部14による判定結果に応じて、その判定結果に対応する発話ノードのPN値を更新する。判定結果に対応する発話ノードとは、判定結果の判定対象となる名詞に対応する発話ノードのことである。すなわち、抽出された名詞に関する感情解析の判定結果がポジティブ(または、ネガティブ)であった場合に、更新部18は、その抽出された名詞に対応する発話ノードのPN値を、よりポジティブ側(または、よりネガティブ側)となるように更新してもよい。上記のようにPN値が-100から+100までの整数である場合には、判定結果がポジティブであるときに、PN値に所定の正の値を加算し、判定結果がネガティブであるときに、PN値から所定の正の値を減算してもよい。その所定の正の値は、判定結果に関わらずに一定であってもよく、または、判定結果に応じて変化してもよい。後者の場合には、その所定の値は、よりポジティブ度やネガティブ度が高いほど、より大きい値となってもよい。また、更新後のPN値が、PN値の上限値より大きくなる場合(または下限値より小さくなる場合)には、更新部18は、PN値が上限値(または下限値)となるように更新してもよい。
 更新部18は、オントロジーにおいて、感情判定部14による判定結果に対応する発話ノードのPN値と共に、その発話ノードとリンクしているノードのPN値も更新してもよい。例えば、発話者が発話ノードについてポジティブな印象を持っている場合には、それとリンクされているノードについてもポジティブな印象を持っている可能性があるからである。発話ノードとリンクしているノードとは、発話ノードとエッジで繋がっているノードのことであってもよい。発話ノードとリンクしているノードは、例えば、発話ノードの近傍のノードのみであってもよく、または、そうでなくてもよい。前者の場合には、例えば、発話ノードからN個以内のエッジで繋がるノードについてのみ、PN値が更新されてもよい。Nは、1以上の整数であり、通常、あまり大きくない値(例えば、2や3など)である。また、発話ノードから離れるほど、PN値の更新の程度が小さくなってもよい。例えば、発話ノードでは、PN値が+10だけ加算された場合には、発話ノードに1個のエッジで繋がるノードについては、PN値が+5だけ加算され、発話ノードに2個のエッジで繋がるノードについては、PN値が+2だけ加算されてもよい。このように、発話ノードから離れるほど、所定の割引率で割り引かれたPN値の更新が行われるようにしてもよい。上記の例の場合には、発話ノードからのエッジ数が1個増えるごとに、PN値の更新の程度が50%ずつ割り引かれている。なお、PN値を整数に限定しているため、上記の例では、小数点以下は切り捨てている。本実施の形態では、PN値の更新が、加減算によって行われる場合について主に説明するが、PN値の更新は、PN値に所定の値を乗算することによって行われてもよい。例えば、PN値が0以上の実数や整数である場合には、PN値に1より大きい値や、1より小さい値を乗算することによって、PN値を更新してもよい。PN値が整数である場合には、その乗算結果において、小数点以下を切り捨てたり、四捨五入したりしてもよい。
 また、発話ノード以外についてもPN値の更新を行う場合に、オントロジーの階層構造において、発話ノードから上位の方(すなわち、ルートの方)に進むのか、または、発話ノードから下位の方(すなわち、リーフの方)に進むのかに応じて、PN値の更新の方法が変更されてもよい。例えば、発話ノードから上位の方向に進む場合には、上記のように所定の割引率で割り引かれたPN値の更新が行われるようにすると共に、発話ノードから下位の方向に進む場合には、割引なしで、発話ノードと同じPN値の更新が行われるようにしてもよい。例えば、発話ノードが「球技」であり、その球技に対応する判定結果がポジティブである場合には、球技の下位方向のノードである「サッカー」や「野球」についても、発話者はよい印象を持っていると考えられるが、球技の上位方向のノードである「スポーツ」や、そのスポーツの下位のノードである「陸上競技」などについては、発話者が必ずしもよい印象を持っているとは限らないからである。本実施の形態では、このように、発話ノード以外についてもPN値の更新が行われる場合について主に説明する。なお、発話ノードから上位方向に進む場合には、発話ノードの直近の上位ノードから先は、上位側に進んでもよく、下位側に進んでもよいものとする。
 更新部18は、属性取得部16によって取得された属性の対応付けられているノードのPN値を変更する。そのPN値の変更は、例えば、PN値をポジティブ側の値に変更することであってもよく、PN値をネガティブ側の値に変更することであってもよい。オントロジーにおいて、ある属性を有している発話者については、PN値がポジティブ側の値となると考えられるノードに、その属性が対応付けられている場合には、例えば、属性取得部16によって、発話者の属性「女性」が取得されたときに、更新部18は、オントロジーにおいて、「女性」に対応するノード(例えば、「花」や「チューリップ」に対応するノードなど)のPN値をポジティブ側の値に更新してもよい。反対に、オントロジーにおいて、ある属性を有している発話者については、PN値がネガティブ側の値となると考えられるノードに、その属性が対応付けられている場合には、例えば、属性取得部16によって、発話者の属性「女性」が取得されたときに、更新部18は、オントロジーにおいて、「女性」に対応するノード(例えば、「ハエ」や「ゴキブリ」に対応するノードなど)のPN値をネガティブ側の値に更新してもよい。また、オントロジーにおいて、発話者がある属性を有している場合に、PN値をポジティブ側の値に変更するのか、または、ネガティブ側の値に変更するのかが設定されていてもよい。例えば、「トカゲ」に対応するノードに、属性「男性」を有する発話者に対しては、PN値をポジティブ側の値に変更する旨と、属性「女性」を有する発話者に対しては、PN値をネガティブ側の値に変更する旨とが対応付けられていてもよい。PN値の更新は、例えば、所定の値の加減算によって行われてもよく、所定の値の乗算によって行われてもよい。具体的には、「女性」に対応するノードのPN値をポジティブ側の値に変更する場合には、PN値が+5だけ加算されてもよく、「女性」に対応するノードのPN値をネガティブ側の値に変更する場合には、PN値が-5だけ減算されてもよい。なお、取得された属性に応じてPN値を変更する場合には、ニュートラルに対応するPN値のみを変更してもよい。そのようにすることで、まだ対話をしていないノードの領域についても、属性を用いてあらかじめPN値をニュートラルでない値にすることができる。本実施の形態では、オントロジーにおいて、ある属性を有している発話者については、PN値がポジティブ側の値となると考えられるノードに、その属性が対応付けられており、属性取得部16によって取得された発話者の属性に応じて、その属性の対応付けられているノードのPN値がポジティブ側の値に更新される場合について主に説明する。
 関連ノード特定部19は、オントロジーにおいて、PN値を用いて、発話ノード特定部17によって特定された発話ノードに関連したノードである関連ノードを特定する。このように、オントロジーにおいて、発話ノードを基点として、関連ノードが特定されることになる。その発話ノードは、関連ノードの特定を行う直前に特定された発話ノードであってもよい。関連ノードの特定の方法としては、通常、次の3つがある。なお、関連ノード特定部19は、それまでに関連ノードとして特定していない関連ノードを特定してもよい。すなわち、オントロジーにおいて、関連ノードとして特定されるのは、1度に限定されてもよく、または、そうでなくてもよい。
(1)上位化(抽象化)による関連ノードの特定
 この場合には、関連ノード特定部19は、オントロジーにおいて、発話ノードの上位ノードである関連ノードを特定してもよい。その関連ノードは、発話ノードの直近の上位ノードであってもよい。
(2)下位化(具体化)による関連ノードの特定
 この場合には、関連ノード特定部19は、オントロジーにおいて、発話ノードの下位ノードである関連ノードを特定してもよい。その関連ノードは、発話ノードの直近の下位ノードであってもよい。なお、発話ノードには、2以上の直近の下位ノードが存在することもある。そのような場合には、関連ノード特定部19は、2以上の直近の下位ノードから、ランダムに、または、PN値を用いて関連ノードを選択してもよい。
(3)横展開による関連ノードの特定
 この場合には、関連ノード特定部19は、オントロジーにおいて、発話ノードと同程度の階層にある他のノードである関連ノードを特定してもよい。同程度の階層とは、同じ階層や、1階層上、または、1階層下であってもよい。具体的には、関連ノード特定部19は、発話ノードからM階層だけ上位側のノードを特定し、その特定したノードからK階層だけ下位側のノードである関連ノードを特定してもよい。その際に、発話ノードから関連ノードまで、同じノードを2回通らないようにして、関連ノードの特定が行われてもよい。また、|M-K|≦1となるようにすることで、発話ノードと関連ノードとの階層が±1以内で同じになることになる。なお、M,Kは、それぞれ1以上の整数である。
 関連ノード特定部19は、例えば、発話ノードに対応する抽出された名詞が固有名詞である場合には、上記(1)によって関連ノードの特定を行ってもよい。また、関連ノード特定部19は、例えば、発話ノードがリーフノード(すなわち、オントロジーにおけるインスタンス)である場合に、上記(1)によって関連ノードの特定を行ってもよい。また、関連ノード特定部19は、例えば、発話ノードに対応する抽出された名詞が普通名詞である場合には、上記(2)によって関連ノードの特定を行ってもよい。また、関連ノード特定部19は、例えば、発話ノードが上位のノードである場合に、上記(2)によって関連ノードの特定を行ってもよい。
 また、関連ノードの特定において、関連ノード特定部19は、中立よりもポジティブ側のPN値に対応する発話ノードに関連する関連ノードを特定してもよい。例えば、発話テキストから複数の名詞が抽出され、各名詞に対応する発話ノードが特定された場合において、ある発話ノードのPN値は、中立(ニュートラル)よりもポジティブ側であり、別の発話ノードのPN値は、中立よりもネガティブ側であるとすると、関連ノード特定部19は、PN値が中立よりもポジティブ側である発話ノードを基点として関連ノードの特定を行ってもよい。発話者がポジティブな印象を持っている単語に関連した発話を生成する方が、より活発な会話になると考えられるからである。このようにして、PN値を用いた関連ノードの特定が行われてもよい。
 また、中立よりもネガティブ側のPN値に対応する発話ノードのみが特定された場合などのように、中立よりもネガティブ側のPN値に対応する発話ノードに関連する関連オードの特定を行う場合には、関連ノード特定部19は、上記(3)によって関連ノードの特定を行ってもよい。発話ノードにできるだけ関連しないノードに対応する発話を生成した方が適切であると考えられるからである。このようにして、PN値を用いた関連ノードの特定が行われてもよい。
 また、関連ノードの特定において、関連ノード特定部19は、中立であるPN値に対応する関連ノードを特定するようにしてもよい。このようにすることで、オントロジーにおいて、発話者の好みの分かっていない領域(すなわち、中立であるPN値に対応するノードの領域)についても、発話者の好みを知ることができ、より発話者の好みに沿った発話の生成を行うことができるようになるからである。また、関連ノード特定部19は、PN値が中立またはポジティブ側の値である関連ノードを特定するようにしてもよい。発話者がネガティブな印象を持っている単語に関連した発話が生成されない方がよいと考えられるからである。このようにして、PN値を用いた関連ノードの特定が行われてもよい。
 発話生成部20は、発話ノードと関連ノードとの対応関係に応じた複数の発話パターンから、発話ノード特定部17によって特定された発話ノードと、関連ノード特定部19によって特定された関連ノードとの対応関係に応じた発話パターンを特定し、その特定した発話パターンと、特定された関連ノードとを用いて発話を生成する。本実施の形態では、その複数の発話パターンが記憶部15で記憶されている場合について主に説明するが、複数の発話パターンは、対話装置1以外のサーバ等の装置で保持されていてもよい。その場合には、発話パターンの特定は、その外部で保持されている複数の発話パターンにアクセスすることによって行われてもよい。発話ノードと関連ノードとの対応関係は、例えば、上記(1)~(3)の対応関係であってもよい。すなわち、上記(1)~(3)の対応関係に対応する発話パターンが、あらかじめ用意されていてもよい。なお、1個の対応関係に対して、1個の発話パターンが対応付けられていてもよく、2個以上の発話パターンが対応付けられていてもよい。発話パターンは、例えば、発話のテンプレートであり、関連ノードの文字列を挿入することによって、発話を生成することができるものであってもよい。発話パターンは、例えば、「<関連ノード>はお好きですか?」であってもよい。そして、<関連ノード>の箇所に関連ノードを挿入することによって、発話が生成されてもよい。なお、特定された発話ノードと、特定された関連ノードとの対応関係に応じた発話パターンが複数存在する場合には、発話生成部20は、ランダムに1つを選択して用いるようにしてもよい。
 発話生成部20は、発話ノードと関連ノードとの対応関係に応じた接続詞を有する発話を生成してもよい。その場合には、発話生成部20は、例えば、発話ノード特定部17によって特定された発話ノードと、関連ノード特定部19によって特定された関連ノードとの対応関係に応じた接続詞を特定し、その特定した接続詞と、上記のようにして、発話パターンと関連ノードとを用いて生成した発話とを結合することによって、最終的な発話を生成してもよい。その場合にも、上記(1)~(3)の対応関係に対応する接続詞が記憶部15等で記憶されており、発話生成部20は、それらの情報を用いて、接続詞を特定してもよい。また、発話生成部20は、対話装置1以外のサーバ等の装置で保持されていてる接続詞にアクセスすることによって、発話ノードと関連ノードとの対応関係に応じた接続詞を取得してもよい。なお、特定された発話ノードと、特定された関連ノードとの対応関係に応じた接続詞が複数存在する場合には、発話生成部20は、ランダムに1つを選択して用いるようにしてもよい。また、その接続詞は、あらかじめ発話パターンに含められていてもよい。
 発話出力部21は、発話生成部20によって生成された発話を出力する。この発話の出力は、例えば、発話を示すテキストの出力であってもよく、その発話を音声に変換した音声信号の出力であってもよい。後者の場合には、発話のテキストに応じた音声合成が行われてもよい。本実施の形態では、発話出力部21が、生成された発話に応じた音声合成を行い、生成した音声信号をスピーカに出力する場合について主に説明する。
 ここで、この出力は、例えば、スピーカによる音声出力でもよく、所定の機器への通信回線を介した送信でもよく、表示デバイスへの表示でもよく、プリンタによる印刷でもよく、記録媒体への蓄積でもよく、他の構成要素への引き渡しでもよい。なお、発話出力部21は、出力を行うデバイス(例えば、通信デバイスなど)を含んでもよく、または含まなくてもよい。また、発話出力部21は、ハードウェアによって実現されてもよく、または、それらのデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
 理由情報生成部22は、発話生成部20による発話の生成で用いられた関連ノードと、その関連ノードに対応する発話ノードとの対応関係に応じて、発話の生成に関する理由である理由情報を生成する。関連ノードに対応する発話ノードとは、その関連ノードの特定時に、出発点として用いられた発話ノードのことである。したがって、例えば、ある発話ノードに基づいて、関連ノードが特定された場合には、その発話ノードが、特定された関連ノードに対応する発話ノードとなる。この理由情報の生成は、例えば、発話の生成方法に対応したテンプレートを用意しておき、そのテンプレートを用いて行われてもよい。より具体的には、発話ノードと関連ノードとの対応関係(例えば、上位化、下位化、横展開等)に対応する理由情報パターンが用意されている場合には、理由情報生成部22は、発話ノード特定部17によって特定された発話ノードと、関連ノード特定部19によって特定された関連ノードとの対応関係に応じた理由情報パターンを特定し、その特定した理由情報パターンに、発話ノードや関連ノードの文字列を挿入することによって、理由情報を生成してもよい。理由情報の生成は、例えば、発話の生成ごとに行われてもよく、または、一連の複数の発話が生成された後に行われてもよい。後者の場合には、発話の生成ごとに、理由情報の生成に必要となる情報、例えば、発話ノードや関連ノード等を保持しておき、一連の複数の発話が生成された後に、その保持している情報を用いて、理由情報の生成が行われてもよい。
 理由情報出力部23は、理由情報生成部22によって生成された理由情報を出力する。ここで、この出力は、例えば、表示デバイス(例えば、液晶ディスプレイや有機ELディスプレイなど)への表示でもよく、所定の機器への通信回線を介した送信でもよく、プリンタによる印刷でもよく、スピーカによる音声出力でもよく、記録媒体への蓄積でもよく、他の構成要素への引き渡しでもよい。なお、理由情報出力部23は、出力を行うデバイス(例えば、表示デバイスやプリンタなど)を含んでもよく、または含まなくてもよい。また、理由情報出力部23は、ハードウェアによって実現されてもよく、または、それらのデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
 特徴取得部24は、発話テキストの受け付けと、発話の出力とが繰り返された後、すなわちオントロジーにおけるPN値の更新が繰り返された後に、オントロジーにおけるPN値のグラフであるPN値グラフを用いて、発話者の特徴を取得する。発話テキストの受け付け、発話の出力が繰り返されることによって、抽出された名詞の感情解析の結果に応じたPN値の更新が繰り返して行われることになる。また、属性に応じたPN値の更新も行われることもある。そのようにして更新されたPN値は、発話者の個性を示すものになる。したがって、そのPN値のグラフ(ノードとエッジから構成されるグラフであって、ノードにPN値が対応付けられているグラフ)を用いて、発話者の特徴(個性)を取得することができることになる。PN値グラフを用いて、発話者の特徴を取得する具体的な方法としては、例えば、(A)PN値グラフの類似関係を用いる方法、(B)グラフコンボリューションを用いる方法がある。以下、それぞれについて説明する。
(A)PN値グラフの類似関係を用いて、発話者の特徴を取得する方法
 この場合には、まず、所定の特徴を有する発話者のPN値グラフを用意する必要がある。その特徴としては、例えば、「専門家タイプ」「調整タイプ」「自己実現タイプ」などであってもよい。そして、複数の発話者について、あらかじめ自己申告により、または、カウンセラーなどによる客観評価により特徴を取得すると共に、各発話者のPN値グラフを取得しておく。なお、ある特徴に分類された発話者が複数人存在する場合には、例えば、PN値グラフの各ノードのPN値について、複数のPN値グラフを用いた代表値が取得されることによって、1つのPN値グラフにマージされてもよく、または、その複数のPN値グラフがそのまま保持されてもよい。
 その後、特徴の分かっていない発話者について、発話テキストの受け付けと、発話の出力とが繰り返されることによって、オントロジーにおける各ノードのPN値が更新され、PN値グラフが取得されたとする。すると、特徴取得部24は、取得されたPN値グラフと最も類似する、あらかじめ保持されているPN値グラフを特定する。PN値グラフが類似するかどうかは、例えば、PN値グラフにおける各ノードのPN値を成分とするベクトルに関するコサイン距離などの類似度を算出することによって判断されてもよい。例えば、取得されたPN値グラフのベクトルと類似度が最も高いベクトルに対応する、あらかじめ保持されているPN値グラフが、取得されたPN値グラフに最も類似するPN値グラフであると判断されてもよい。そして、その取得されたPN値グラフに最も類似する、あらかじめ保持されているPN値グラフに対応する特徴が、発話者の特徴として取得されてもよい。
(B)グラフコンボリューションを用いて、発話者の特徴を取得する方法
 この場合にも、まず、上記のようにして、所定の特徴を有する発話者のPN値グラフを用意する。そして、その用意したPN値グラフについて、特徴ごとにグラフコンボリューションの学習を行う。その学習における訓練用入力情報は、PN値グラフである。また、その学習における訓練用出力情報は、訓練用入力情報であるPN値グラフに対応する特徴である。その学習は、グラフコンボリューションによって行われる。グラフコンボリューションの学習の詳細については、例えば、次の文献を参照されたい。
 文献:M. Schlichtkrull et al., "Modeling Relational Data with Graph Convolutional Networks", arXiv preprint arXiv:1703.06103, 2017
 次に、特徴取得部24は、その学習結果である学習器を用いて、特徴の取得を行う。具体的には、特徴の分かっていない発話者について、発話テキストの受け付けと、発話の出力とが繰り返されることによって、オントロジーにおける各ノードのPN値が更新され、PN値グラフが取得されたとすると、特徴取得部24は、そのPN値グラフを、学習器に適用する。PN値グラフを学習器に適用するとは、そのPN値グラフを学習器に入力することである。そして、その入力されたPN値グラフに対する出力を取得することによって、その入力であるPN値グラフに対応する特徴を取得することができる。
 なお、ここでは、上記(A),(B)の方法を一例として示したが、それら以外の方法によってPN値グラフに対応する発話者の特徴の取得が行われてもよいことは言うまでもない。また、発話者の特徴についても、上記の例示に限定されないことは言うまでもない。例えば、特徴は、発話者が認知症であるかどうかなどであってもよい。その場合には、PN値グラフを用いて、発話者が認知症であるかどうかについて判断することができるようになる。
 特徴出力部25は、特徴取得部24によって取得された、発話者の特徴を出力する。ここで、この出力は、例えば、表示デバイス(例えば、液晶ディスプレイや有機ELディスプレイなど)への表示でもよく、所定の機器への通信回線を介した送信でもよく、プリンタによる印刷でもよく、スピーカによる音声出力でもよく、記録媒体への蓄積でもよく、他の構成要素への引き渡しでもよい。なお、特徴出力部25は、出力を行うデバイス(例えば、表示デバイスやプリンタなど)を含んでもよく、または含まなくてもよい。また、特徴出力部25は、ハードウェアによって実現されてもよく、または、それらのデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
 次に、対話装置1の動作について図2のフローチャートを用いて説明する。
 (ステップS101)音声認識部11は、発話者の音声信号を受け付けたかどうか判断する。そして、発話者の音声信号を受け付けた場合には、ステップS102に進み、そうでない場合には、ステップS113に進む。なお、音声認識部11は、発話者の音声信号を受け付けた場合に、一区切りの音声信号を受け付け終わるまで、受け付けの処理を継続してもよい。
 (ステップS102)音声認識部11は、ステップS101で受け付けた発話者の音声信号に対する音声認識を行い、発話テキストを取得する。
 (ステップS103)音声認識部11は、発話テキストを出力し、受付部12は、その出力された発話テキストを受け付ける。
 (ステップS104)抽出部13は、受付部12によって受け付けられた発話テキストから名詞を抽出する。
 (ステップS105)感情判定部14は、抽出部13によって抽出された名詞に関して感情解析を行い、ポジティブやネガティブの判定結果を取得する。
 (ステップS106)発話ノード特定部17は、オントロジーにおいて、ステップS104で抽出された名詞に対応する発話ノードを特定する。
 (ステップS107)更新部18は、ステップS106で特定された発話ノード、及びその発話ノードにリンクされているノードのPN値を、ステップS105の判定結果を用いて更新する。
 (ステップS108)関連ノード特定部19は、オントロジーにおいて、ステップS106で特定された発話ノードを基点として、ステップS107で更新された後のPN値を用いて、関連ノードを特定する。
 (ステップS109)発話生成部20は、ステップS106で特定された発話ノードと、ステップS108で特定された関連ノードとの対応関係に応じた発話パターンを特定し、その特定した発話パターンと、その関連ノードとを用いて、発話を生成する。
 (ステップS110)発話出力部21は、ステップS109で生成された発話を出力する。発話出力部21は、例えば、発話に応じた音声合成を行い、その音声合成した音声信号をスピーカ等に出力してもよい。
 (ステップS111)理由情報生成部22は、ステップS109での発話の生成に応じた理由情報を生成する。
 (ステップS112)理由情報出力部23は、ステップS111で生成された理由情報を出力する。そして、ステップS101に戻る。
 (ステップS113)属性取得部16は、属性の取得を行うかどうか判断する。そして、属性の取得を行う場合には、ステップS114に進み、そうでない場合には、ステップS116に進む。なお、属性取得部16は、例えば、あらかじめ決められた量以上の発話テキストが受け付けられた後に、属性の取得を行うと判断してもよい。受け付けられた発話テキストの量が少ない場合には、適切な属性の取得を行うことができないからである。あらかじめ決められた量は、例えば、文字数や、データ容量等によって示されてもよい。また、ある発話者について、一度、属性の取得を行った後には、属性取得部15は、属性の取得を行うと判断しなくてもよい。
 (ステップS114)属性取得部16は、それまでに受け付けられた発話テキストを用いて属性を取得する。
 (ステップS115)更新部18は、オントロジーにおいて、ステップS114で取得された属性の対応付けられているノードのPN値を変更する。そして、ステップS101に戻る。
 (ステップS116)特徴取得部24は、オントロジーにおけるPN値グラフを用いた特徴の取得を行うかどうか判断する。そして、特徴の取得を行う場合には、ステップS117に進み、そうでない場合には、ステップS101に戻る。なお、特徴取得部24は、例えば、オントロジーにおいて、あらかじめ決められた割合を超えるノードのPN値が中立ではなくなった場合に、特徴の取得を行うと判断してもよい。また、ある発話者について、一度、特徴の取得を行った後には、特徴取得部24は、特徴の取得を行うと判断しなくてもよく、または、一度、特徴の取得を行った後であっても、定期的に特徴の取得を行うと判断してもよい。発話者の特徴が変化することも考えられるからである。
 (ステップS117)特徴取得部24は、オントロジーにおけるPN値グラフを用いて、発話者の特徴を取得する。
 (ステップS118)特徴出力部25は、ステップS117で取得された特徴を出力する。そして、ステップS101に戻る。
 なお、図2のフローチャートにおける処理の順序は一例であり、同様の結果を得られるのであれば、各ステップの順序を変更してもよい。また、図2のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
 次に、本実施の形態による対話装置1の動作について、具体例を用いて説明する。
 この具体例では、記憶部15において、図3で示されるオントロジーが記憶されている場合について説明する。図3は、オントロジーのデータ構造の一例を示す図である。図3において、各レコードが、1個のノードに対応している。そして、各レコードには、そのノードを識別するノード識別子と、そのノード名(厳密には、クラス名、またはインスタンス名)と、そのノードの直近の上位ノードを識別する上位ノード識別子と、そのノードに対応するPN値と、そのノードに対応する属性とが含まれている。例えば、ノード識別子「N1024」で識別されるノードは、「花」のノードであり、その上位のノードは、ノード識別子「N1023」で識別されるノードであり、そのノード識別子「N1024」で識別されるノードのPN値は「0」であり、そのノードの属性は「女性」であることが示されている。なお、図3のPN値は、すべて初期値であり、ニュートラルな値である「0」に設定されている。この具体例では、正であるPN値がポジティブであることを示しており、負であるPN値がネガティブであることを示しているものとする。なお、図3で示されるオントロジーは、図7Aで示される木構造となっている。図7Aにおいて、各ノードの右上または左上に表示されている数字は、各ノードに対応するPN値である。
 また、この具体例では、記憶部15において、図4で示される発話パターンが記憶されている場合について説明する。図4は、発話ノードと関連ノードとの対応関係と、発話パターンとの対応の一例を示す図である。図4において、例えば、対応関係「上位化」に、発話パターン「<関連ノード>が好きなのですね?」などが対応付けられている。
 また、この具体例では、記憶部15において、図5で示される接続詞が記憶されている場合について説明する。図5は、発話ノードと関連ノードとの対応関係と、接続詞との対応の一例を示す図である。図5において、例えば、対応関係「上位化」に、接続詞「と言うことは」などが対応付けられている。
 また、この具体例では、記憶部15において、図6で示される理由情報が記憶されている場合について説明する。図6は、発話ノードと関連ノードとの対応関係と、理由情報パターンとの対応の一例を示す図である。図6において、例えば、対応関係「上位化」に、理由情報パターン「<発話ノード>の上位の概念として<関連ノード>が存在し、<発話ノード>に関するポジティブな発話を行っているため、その<発話ノード>の上位概念である<関連ノード>に関する発話を行った。」などが対応付けられている。
 まず、図8で示されるように、発話者が「きれいなチューリップを買ってきましたの」という発話U101を行ったとする。すると、その発話U101の音声は、マイクを介して音声認識部11で受け付けられ、音声認識が行われて、音声に応じた発話テキスト「きれいなチューリップを買ってきましたの」が取得される(ステップS101,S102)。その発話テキストは、受付部12によって受け付けられ、抽出部13及び感情判定部14に渡される(ステップS103)。発話テキストを受け取ると、抽出部13は、形態素解析を行い、発話テキストから名詞「チューリップ」を取得し、その抽出した名詞を、感情判定部14及び発話ノード特定部17に渡す(ステップS104)。名詞「チューリップ」を受け取ると、感情判定部14は、受付部12から受け取った発話テキストについて、係り受け解析を行い、名詞「チューリップ」に係る形態素「きれいな」と、名詞「チューリップ」の係る形態素「買って」を特定する。そして、感情判定部14は、特定した形態素「きれいな」「買って」がポジティブであるのか、ネガティブであるのかを判定する。ここでは、「きれいな」がポジティブと判定され、「買って」がニュートラルと判定されたとする。すると、感情判定部14は、抽出された名詞「チューリップ」の感情解析の結果がポジティブであると判定し、その結果を更新部18に渡す(ステップS105)。
 その後、発話ノード特定部17は、記憶部15で記憶されているオントロジーにおいて、抽出された名詞「チューリップ」に対応するノードを特定する。すなわち、発話ノード特定部17は、図3で示されるオントロジーにおいて、抽出された名詞「チューリップ」を検索キーとして検索を行い、ヒットしたレコードのノード識別子「N1025」を取得することによって、「チューリップ」に対応するノードの特定を行う(ステップS106)。そして、発話ノード特定部17は、特定したレコードのノード識別子「N1025」を、更新部18と、関連ノード特定部19と、発話生成部20とに渡す。
 更新部18は、発話ノード特定部17からノード識別子「N1025」を受け取ると、あらかじめ受け取っていた判定結果「ポジティブ」に応じて、ノード識別子「N1025」に対応するPN値に「10」を加算する。なお、この具体例では、更新部18は、発話ノードから上位の方に進む場合には、50%の割引率で割り引いたPN値の更新を、発話ノードから2個目のノードまでについて行うと共に、発話ノードから下位の方向に進む場合には、割引なしで、発話ノードと同じPN値の更新を行うものとする。したがって、更新部18は、ノード識別子「N1025」で識別されるノードの上位ノードである「花」のノードのPN値に、「5」(=10/2)を加算する。さらに、更新部18は、「花」のノードに繋がっているノードのPN値に、「2」(≒5/2)をそれぞれ換算する(ステップS107)。その結果、オントロジーの各ノードに関するPN値は、図7Bで示されるように更新される。
 その後、関連ノード特定部19は、発話ノードのPN値が0より大きいポジティブ側であり、発話ノードがリーフノードであるため、上記(1)によって関連ノードの特定を行う。すなわち、関連ノード特定部19は、発話ノード「チューリップ」の上位ノードである、ノード識別子「N1024」によって識別される関連ノード「花」を特定する(ステップS108)。そして、関連ノード特定部19は、関連ノードのノード識別子「N1024」と、上位化による関連ノードの特定を行った旨とを発話生成部20に渡す。それらの情報を受け取ると、発話生成部20は、図4で示される、対応関係「上位化」に対応する複数の発話パターンから、発話パターン「<関連ノード>が好きなのですね?」をランダムに選択すると共に、図5で示される、対応関係「上位化」に対応する複数の接続詞から、接続詞「と言うことは」をランダムに選択し、それらを繋げると共に、<関連ノード>に、関連ノード特定部19から受け取ったノード識別子「N1024」のノード名「花」を挿入することによって、発話「と言うことは 花が好きなのですね?」を生成して、発話出力部21に渡す(ステップS109)。また、発話生成部20は、発話ノード特定部17から受け取った発話ノードのノード識別子と、関連ノード特定部19から受け取った関連ノードのノード識別子及び対応関係とを、理由情報生成部22に渡す。
 発話を受け取ると、発話出力部21は、音声合成を行うことによって発話に応じた音声を合成し、その合成した音声信号をスピーカに出力する(ステップS110)。その結果、スピーカから、図8の発話U102に対応する音声「と言うことは 花が好きなのですね?」が出力されることになる。
 その後、理由情報生成部22は、図6で示される、発話ノード及び関連ノードの対応関係と理由情報パターンとを対応付ける情報を参照し、受け取った対応関係「上位化」に対応する理由情報パターンを読み出し、その理由情報パターンに、受け取ったノード識別子に対応する発話ノードと関連ノードとを挿入することによって、理由情報「チューリップの上位の概念として花が存在し、チューリップに関するポジティブな発話を行っているため、そのチューリップの上位概念である花に関する発話を行った。」を生成して、理由情報出力部23に渡す(ステップS111)。本実施の形態では、理由情報の出力は、理由情報の蓄積であるとする。すると、理由情報を受け取った理由情報出力部23は、その理由情報を図示しない記録媒体に蓄積する(ステップS112)。したがって、蓄積された理由情報を確認することによって、各発話の生成された理由を知ることができるようになる。
 対話装置1から出力された発話U102に対して、図8で示されるように、発話者が「花は好きですわ」という発話U103を行ったとする。すると、上記と同様にして、その音声の音声認識が行われて発話テキストが取得され、名詞「花」が抽出されると共に、その名詞に対する感情判定が行われ、ポジティブである旨の判定結果が取得される(ステップS101~S105)。そして、発話ノード「花」が特定されると共に、その判定結果に応じて、発話ノード及び発話ノードと繋がっているノードのPN値が、図7Cで示されるように更新される(ステップS106,S107)。その後、関連ノード特定部19が横展開による関連ノードの特定を決定し、関連ノードとして、「昆虫」のノードを選択したとすると、それに応じて、発話パターン及び接続詞が選択され、発話「ところで 昆虫はいかがですか?」が生成されて、音声合成が行われ、図8の発話U104に対応する音声が出力される(ステップS108~S110)。また、それに応じた理由情報も生成されて出力される(ステップS111,S112)。
 その後、図8で示されるように、発話者がハエに関するネガティブな発話U105を行ったとすると、それに応じて、オントロジーのPN値が図7Dで示されるように更新される(ステップS101~S107)。そして、その更新後のPN値を用いて、横展開による関連ノード「レモンの木」の特定が行われ、それに応じて、図8の発話U106が生成され、出力されたとする(ステップS108~S110)。また、その発話の生成に応じた理由情報の生成、及び出力も行われる(ステップS111,S112)。
 その後も、同様にして、図8で示されるように、発話者による発話U107が行われ、また、それに応じた発話U108の生成、出力が行われ、さらに、発話者による発話U109が行われたとする。そして、発話U107に応じて、オントロジーのPN値が図7Eで示されるように更新され、発話U109に応じて、オントロジーのPN値が図7Fで示されるように更新される。このようにして、オントロジーのPN値は、発話者の好みを反映したものに更新されていくことになる。
 その後、発話者からの十分な量の発話が受け付けられたため、属性取得部16が、属性の取得を行うと判断したとする(ステップS113)。すると、属性取得部16は、発話者からの発話U101等を用いて、発話者の属性である性別の判定を行う。具体的には、上記のように、属性取得部16は、発話に含まれる各単語に対応する性別スコアの合計を算出することによって性別の判定を行い、発話者が女性であると判定したとする(ステップS114)。すると、更新部18は、オントロジーにおいて、属性「女性」の対応付けられている各ノードのうち、PN値が「0」であるノードについて、PN値に「5」を加算することによってPN値の更新を行う(ステップS115)。このようにして、オントロジーにおいて、まだ対話が行われていない領域についても、一般的な傾向に応じたPN値の更新を行うことができ、発話者に適した発話の生成を行うことができるようになると考えられる。
 また、発話者と対話装置1との一連の対話が終了した後に、特徴取得部24は、発話者の特徴を取得すると判断したとする(ステップS116)。この具体例では、グラフコンボリューションを用いて発話者の特徴を取得するとする。そのため、特徴取得部24は、更新後のPN値グラフを、あらかじめ保持している学習器に適用し、その学習器の出力である発話者の特徴を取得して、特徴出力部25に渡す(ステップS117)。発話者の特徴を受け取ると、特徴取得部24は、その発話者の特徴を、図示しない記録媒体に蓄積する(ステップS118)。このようにして、その記録媒体にアクセスすることによって、発話者の特徴について知ることができるようになる。
 以上のように、本実施の形態による対話装置1によれば、オントロジーを用いて発話を生成するため、発話がどのような理由によって生成されたのかを知ることができるようになる。その結果、仮に不適切な発話が生成された場合には、発話の生成に関する設定を変更することによって、不適切な発話の生成が行われないように修正することができ、機械学習モデルを用いた発話の生成よりも、メンテナンス性に優れていることになる。また、オントロジーのPN値の更新することによって、発話者の好き嫌いを知ることができるようになるため、それを用いることにより、例えば、発話者の好まない話題を避けた発話の生成を行うことができるようになり、発話者とのより長い対話を実現することができるようになる。また、そのように、より長い対話を実現できることによって、オントロジーにおいて、PN値の更新された領域が増えることになり、発話者の好みをより詳細に知ることもできるようになる。
 なお、本実施の形態では、感情判定部14による判定結果や、属性取得部によって取得された属性に応じてPN値が更新される場合について説明したが、それ以外のPN値の更新が行われてもよい。例えば、更新部18は、複数の発話者について、発話テキストの受け付けと、発話の出力とが繰り返された後に、オントロジーにおける、第1の発話者に関するPN値グラフである第1のPN値グラフと、第2の発話者に関するPN値グラフである第2のPN値グラフとが部分一致する場合に、第1のPN値グラフにおけるPN値が初期値である部分について、第2のPN値グラフにおける対応する部分の初期値以外のPN値に応じて更新してもよい。なお、この場合には、オントロジーにおいて、発話者ごとにPN値が対応付けられていることが好適である。例えば、ノード「花」について、AさんのPN値、BさんのPN値、…というように、各発話者のPN値が対応付けられていることが好適である。また、PN値が部分一致するとは、第1のPN値グラフの一部分と、第2のPN値グラフにおける、その一部分に相当する部分とのPN値が完全に一致することであってもよく、両者の類似度が、あらかじめ決められた閾値を超えることであってもよい。両者の類似度は、対比する部分に含まれる各ノードに関するPN値の差の絶対値の平均が小さいほど、大きくなる値であってもよく、上記のように、コサイン距離などを用いて算出されてもよい。
 例えば、AさんのPN値グラフが図7Eで示されるものであり、BさんのPN値グラフのうち、ノード「動物」より下位側は、Aさんの図7Eで示されるPN値グラフと一致しているが、ノード「植物」より下位側は、PN値が初期値の「0」であったとする。そのような場合には、更新部18は、BさんのPN値グラフにおけるノード「植物」より下位側のPN値を、AさんのPN値グラフにおけるノード「植物」より下位側に応じて更新してもよい。具体的には、更新部18は、BさんのPN値グラフにおけるノード「植物」より下位側のPN値が、AさんのPN値グラフにおけるノード「植物」より下位側と同じになるように更新を行ってもよく、または、AさんのPN値グラフにおけるノード「植物」より下位側の各ノードのPN値の影響がより小さくなるように、BさんのPN値グラフを更新してもよい。後者の場合には、例えば、BさんのPN値グラフにおけるノード「植物」より下位側のPN値が、AさんのPN値グラフにおけるノード「植物」より下位側の各ノードのPN値に1より小さい正の値を乗算した結果となるように、更新を行ってもよい。このような更新が行われることによって、例えば、Bさんに対して、花やチューリップが好きであろうという仮定の下に、それらに関する発話を行うこともできるようになる。
 また、本実施の形態による発話の生成では、ルールに基づいて発話の生成を行っており、場合によっては、不適切な発話、例えば、「ところで 杉を食べるのは好きですか?」といった発話が生成される可能性もあり得る。そのため、発話生成部20は、例えば、生成した発話について、既存の文書における検索を行い、ヒットしなかった場合には、別の発話を生成するようにしてもよい。既存の文書は、例えば、インターネットで公開されている文書や、大規模コーパスなどであってもよい。また、発話を検索するとは、発話を検索キーとして検索を行うことであってもよい。また、発話に接続詞が含まれている場合には、その接続詞を除いて検索を行ってもよい。
 また、本実施の形態では、オントロジーにおけるPN値グラフを用いて、発話者の特徴の取得を行う場合について説明したが、そうでなくてもよい。発話者の特徴の取得を行わない場合には、対話装置1は、特徴取得部24や特徴出力部25を備えていなくてもよい。
 また、本実施の形態では、取得された属性に応じてPN値が更新される場合について説明したが、そうでなくてもよい。取得された属性に応じたPN値の更新を行わない場合には、対話装置1は、属性取得部16を備えていなくてもよい。
 また、本実施の形態では、発話の生成に関する理由情報が生成され、出力される場合について説明したが、そうでなくてもよい。理由情報の生成や出力が行われない場合には、対話装置1は、理由情報生成部22や理由情報出力部23を備えていなくてもよい。
 また、上記実施の形態では、対話装置1がスタンドアロンである場合について説明したが、対話装置1は、スタンドアロンの装置であってもよく、サーバ・クライアントシステムにおけるサーバ装置であってもよい。後者の場合には、受付部や出力部は、通信回線を介して入力や情報を受け付けたり、情報を出力したりしてもよい。
 また、上記実施の形態において、各処理または各機能は、単一の装置または単一のシステムによって集中処理されることによって実現されてもよく、または、複数の装置または複数のシステムによって分散処理されることによって実現されてもよい。
 また、上記実施の形態において、各構成要素間で行われる情報の受け渡しは、例えば、その情報の受け渡しを行う2個の構成要素が物理的に異なるものである場合には、一方の構成要素による情報の出力と、他方の構成要素による情報の受け付けとによって行われてもよく、または、その情報の受け渡しを行う2個の構成要素が物理的に同じものである場合には、一方の構成要素に対応する処理のフェーズから、他方の構成要素に対応する処理のフェーズに移ることによって行われてもよい。
 また、上記実施の形態において、各構成要素が実行する処理に関係する情報、例えば、各構成要素が受け付けたり、取得したり、選択したり、生成したり、送信したり、受信したりした情報や、各構成要素が処理で用いる閾値や数式、アドレス等の情報等は、上記説明で明記していなくても、図示しない記録媒体において、一時的に、または長期にわたって保持されていてもよい。また、その図示しない記録媒体への情報の蓄積を、各構成要素、または、図示しない蓄積部が行ってもよい。また、その図示しない記録媒体からの情報の読み出しを、各構成要素、または、図示しない読み出し部が行ってもよい。
 また、上記実施の形態において、各構成要素等で用いられる情報、例えば、各構成要素が処理で用いる閾値やアドレス、各種の設定値等の情報がユーザによって変更されてもよい場合には、上記説明で明記していなくても、ユーザが適宜、それらの情報を変更できるようにしてもよく、または、そうでなくてもよい。それらの情報をユーザが変更可能な場合には、その変更は、例えば、ユーザからの変更指示を受け付ける図示しない受付部と、その変更指示に応じて情報を変更する図示しない変更部とによって実現されてもよい。その図示しない受付部による変更指示の受け付けは、例えば、入力デバイスからの受け付けでもよく、通信回線を介して送信された情報の受信でもよく、所定の記録媒体から読み出された情報の受け付けでもよい。
 また、上記実施の形態において、対話装置1に含まれる2以上の構成要素が通信デバイスや入力デバイス等を有する場合に、2以上の構成要素が物理的に単一のデバイスを有してもよく、または、別々のデバイスを有してもよい。
 また、上記実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、または、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをCPU等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。その実行時に、プログラム実行部は、記憶部や記録媒体にアクセスしながらプログラムを実行してもよい。なお、上記実施の形態における対話装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータに、発話者の発話テキストを受け付けるステップと、発話テキストから名詞を抽出するステップと、抽出された名詞に関して、発話者の感情がポジティブであるのか、ネガティブであるのかを、抽出された名詞と係り受け関係にある形態素がポジティブであるのかネガティブであるのかによって、または、抽出された名詞を含む発話テキストの全体もしくは発話テキストの一文についての感情解析の結果によって判定するステップと、クラスまたはインスタンスであるノードの階層構造を有しており、ノードごとに、感情がポジティブ、ネガティブである程度を示すPN値が対応付けられているオントロジーにおいて、抽出された名詞に対応するノードである発話ノードを特定するステップと、判定結果に応じて、判定結果に対応する発話ノードのPN値を更新するステップと、オントロジーにおいて、PN値を用いて、発話ノードに関連したノードである関連ノードを特定するステップと、発話ノードと関連ノードとの対応関係に応じた複数の発話パターンから、特定された発話ノードと特定された関連ノードとの対応関係に応じた発話パターンを特定し、特定した発話パターンと、特定された関連ノードとを用いて発話を生成するステップと、生成された発話を出力するステップと、を実行させるためのプログラムである。
 なお、上記プログラムにおいて、上記プログラムが実現する機能には、ハードウェアでしか実現できない機能は含まれない。例えば、情報を取得する取得部や、情報を受け付ける受付部、情報を出力する出力部などにおけるモデムやインターフェースカードなどのハードウェアでしか実現できない機能は、上記プログラムが実現する機能には少なくとも含まれない。
 また、このプログラムは、サーバなどからダウンロードされることによって実行されてもよく、所定の記録媒体(例えば、CD-ROMなどの光ディスクや磁気ディスク、半導体メモリなど)に記録されたプログラムが読み出されることによって実行されてもよい。また、このプログラムは、プログラムプロダクトを構成するプログラムとして用いられてもよい。
 また、このプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、または分散処理を行ってもよい。
 図9は、上記プログラムを実行して、上記実施の形態による対話装置1を実現するコンピュータの外観の一例を示す模式図である。上記実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムによって実現されうる。
 図9において、コンピュータシステム900は、CD-ROMドライブ905を含むコンピュータ901と、キーボード902と、マウス903と、モニタ904と、マイクと、スピーカとを備える。
 図10は、コンピュータシステム900の内部構成を示す図である。図10において、コンピュータ901は、CD-ROMドライブ905に加えて、MPU(Micro Processing Unit)911と、ブートアッププログラム等のプログラムを記憶するためのROM912と、MPU911に接続され、アプリケーションプログラムの命令を一時的に記憶すると共に、一時記憶空間を提供するRAM913と、アプリケーションプログラム、システムプログラム、及びデータを記憶するハードディスク914と、MPU911、ROM912等を相互に接続するバス915とを備える。なお、コンピュータ901は、LANやWAN等への接続を提供する図示しないネットワークカードを含んでいてもよい。
 コンピュータシステム900に、上記実施の形態による対話装置1の機能を実行させるプログラムは、CD-ROM921に記憶されて、CD-ROMドライブ905に挿入され、ハードディスク914に転送されてもよい。これに代えて、そのプログラムは、図示しないネットワークを介してコンピュータ901に送信され、ハードディスク914に記憶されてもよい。プログラムは実行の際にRAM913にロードされる。なお、プログラムは、CD-ROM921、またはネットワークから直接、ロードされてもよい。また、CD-ROM921に代えて他の記録媒体(例えば、DVD等)を介して、プログラムがコンピュータシステム900に読み込まれてもよい。
 プログラムは、コンピュータ901に、上記実施の形態による対話装置1の機能を実行させるオペレーティングシステム(OS)、またはサードパーティプログラム等を必ずしも含んでいなくてもよい。プログラムは、制御された態様で適切な機能やモジュールを呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいてもよい。コンピュータシステム900がどのように動作するのかについては周知であり、詳細な説明は省略する。
 また、本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
 以上より、本発明による対話装置等によれば、機械学習モデルを用いないで発話を生成することができるという効果が得られ、例えば、発話者との対話を自動的に行う装置等として有用である。

Claims (11)

  1. 発話者の発話テキストを受け付ける受付部と、
    発話テキストから名詞を抽出する抽出部と、
    前記抽出部によって抽出された名詞に関して、発話者の感情がポジティブであるのか、ネガティブであるのかを、抽出された名詞と係り受け関係にある形態素がポジティブであるのかネガティブであるのかによって、または、抽出された名詞を含む発話テキストの全体もしくは発話テキストの一文についての感情解析の結果によって判定する感情判定部と、
    クラスまたはインスタンスであるノードの階層構造を有しており、ノードごとに、感情がポジティブ、ネガティブである程度を示すPN値が対応付けられているオントロジーにおいて、前記抽出部によって抽出された名詞に対応するノードである発話ノードを特定する発話ノード特定部と、
    前記感情判定部による判定結果に応じて、当該判定結果に対応する発話ノードのPN値を更新する更新部と、
    前記オントロジーにおいて、PN値を用いて、発話ノードに関連したノードである関連ノードを特定する関連ノード特定部と、
    発話ノードと関連ノードとの対応関係に応じた複数の発話パターンから、前記特定された発話ノードと前記特定された関連ノードとの対応関係に応じた発話パターンを特定し、当該特定した発話パターンと、前記特定された関連ノードとを用いて発話を生成する発話生成部と、
    前記発話生成部によって生成された発話を出力する発話出力部と、を備えた対話装置。
  2. 前記関連ノード特定部は、中立よりもポジティブ側のPN値に対応する発話ノードに関連する関連ノードを特定する、請求項1記載の対話装置。
  3. 前記関連ノード特定部は、中立であるPN値に対応する関連ノードを特定する、請求項1または請求項2記載の対話装置。
  4. 前記発話生成部は、発話ノードと関連ノードとの対応関係に応じた接続詞を有する発話を生成する、請求項1から請求項3のいずれか記載の対話装置。
  5. 前記更新部は、前記オントロジーにおいて、前記感情判定部による判定結果に対応する発話ノードのPN値と共に、当該発話ノードとリンクしているノードのPN値も更新する、請求項1から請求項4のいずれか記載の対話装置。
  6. 前記発話生成部による発話の生成で用いられた関連ノードと、当該関連ノードに対応する発話ノードとの対応関係に応じて、当該発話の生成に関する理由である理由情報を生成する理由情報生成部と、
    前記理由情報を出力する理由情報出力部と、をさらに備えた、請求項1から請求項5のいずれか記載の対話装置。
  7. 前記オントロジーの各ノードには、属性が対応付けられており、
    単語と、発話者の属性とを対応付けた情報を用いて、発話テキストに含まれる単語に対応する属性を取得することによって、当該発話テキストに対応する発話者の属性を取得する属性取得部をさらに備え、
    前記更新部は、前記属性取得部によって取得された属性の対応付けられているノードのPN値を変更する、請求項1から請求項6のいずれか記載の対話装置。
  8. 発話テキストの受け付けと、発話の出力とが繰り返された後に、前記オントロジーにおけるPN値のグラフであるPN値グラフを用いて、発話者の特徴を取得する特徴取得部と、
    前記特徴取得部によって取得された、発話者の特徴を出力する特徴出力部と、をさらに備えた、請求項1から請求項7のいずれか記載の対話装置。
  9. 前記受付部は、複数の発話者の発話テキストを受け付け、
    前記オントロジーにおいて、発話者ごとにPN値が対応付けられており、
    前記更新部は、複数の発話者について、発話テキストの受け付けと、発話の出力とが繰り返された後に、前記オントロジーにおける、第1の発話者に関するPN値のグラフであるPN値グラフと、第2の発話者に関するPN値グラフとが部分一致する場合に、前記第1の発話者のPN値グラフにおけるPN値が初期値である部分について、前記第2の発話者のPN値グラフにおける対応する部分の初期値以外のPN値に応じて更新する、請求項1から請求項8のいずれか記載の対話装置。
  10. 発話者の発話テキストを受け付けるステップと、
    発話テキストから名詞を抽出するステップと、
    抽出された名詞に関して、発話者の感情がポジティブであるのか、ネガティブであるのかを、抽出された名詞と係り受け関係にある形態素がポジティブであるのかネガティブであるのかによって、または、抽出された名詞を含む発話テキストの全体もしくは発話テキストの一文についての感情解析の結果によって判定するステップと、
    クラスまたはインスタンスであるノードの階層構造を有しており、ノードごとに、感情がポジティブ、ネガティブである程度を示すPN値が対応付けられているオントロジーにおいて、抽出された名詞に対応するノードである発話ノードを特定するステップと、
    前記判定結果に応じて、当該判定結果に対応する発話ノードのPN値を更新するステップと、
    前記オントロジーにおいて、PN値を用いて、発話ノードに関連したノードである関連ノードを特定するステップと、
    発話ノードと関連ノードとの対応関係に応じた複数の発話パターンから、前記特定された発話ノードと前記特定された関連ノードとの対応関係に応じた発話パターンを特定し、当該特定した発話パターンと、前記特定された関連ノードとを用いて発話を生成するステップと、
    前記生成された発話を出力するステップと、を備えた発話生成方法。
  11. コンピュータに、
    発話者の発話テキストを受け付けるステップと、
    発話テキストから名詞を抽出するステップと、
    抽出された名詞に関して、発話者の感情がポジティブであるのか、ネガティブであるのかを、抽出された名詞と係り受け関係にある形態素がポジティブであるのかネガティブであるのかによって、または、抽出された名詞を含む発話テキストの全体もしくは発話テキストの一文についての感情解析の結果によって判定するステップと、
    クラスまたはインスタンスであるノードの階層構造を有しており、ノードごとに、感情がポジティブ、ネガティブである程度を示すPN値が対応付けられているオントロジーにおいて、抽出された名詞に対応するノードである発話ノードを特定するステップと、
    前記判定結果に応じて、当該判定結果に対応する発話ノードのPN値を更新するステップと、
    前記オントロジーにおいて、PN値を用いて、発話ノードに関連したノードである関連ノードを特定するステップと、
    発話ノードと関連ノードとの対応関係に応じた複数の発話パターンから、前記特定された発話ノードと前記特定された関連ノードとの対応関係に応じた発話パターンを特定し、当該特定した発話パターンと、前記特定された関連ノードとを用いて発話を生成するステップと、
    前記生成された発話を出力するステップと、を実行させるためのプログラム。
PCT/JP2020/018981 2019-05-13 2020-05-12 対話装置、発話生成方法、及びプログラム WO2020230788A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019090968A JP6671672B1 (ja) 2019-05-13 2019-05-13 対話装置、発話生成方法、及びプログラム
JP2019-090968 2019-05-13

Publications (1)

Publication Number Publication Date
WO2020230788A1 true WO2020230788A1 (ja) 2020-11-19

Family

ID=70000833

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/018981 WO2020230788A1 (ja) 2019-05-13 2020-05-12 対話装置、発話生成方法、及びプログラム

Country Status (2)

Country Link
JP (1) JP6671672B1 (ja)
WO (1) WO2020230788A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022201955A1 (ja) * 2021-03-26 2022-09-29 ソニーグループ株式会社 情報処理装置および情報処理方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015014834A (ja) * 2013-07-03 2015-01-22 株式会社Lassic 機械対話による感情推定システム及びそのプログラム
JP2016076117A (ja) * 2014-10-07 2016-05-12 株式会社Nttドコモ 情報処理装置及び発話内容出力方法
JP2017037601A (ja) * 2015-08-14 2017-02-16 Psソリューションズ株式会社 対話インターフェース

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3997105B2 (ja) * 2002-04-11 2007-10-24 株式会社ピートゥピーエー 会話制御システム、会話制御装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015014834A (ja) * 2013-07-03 2015-01-22 株式会社Lassic 機械対話による感情推定システム及びそのプログラム
JP2016076117A (ja) * 2014-10-07 2016-05-12 株式会社Nttドコモ 情報処理装置及び発話内容出力方法
JP2017037601A (ja) * 2015-08-14 2017-02-16 Psソリューションズ株式会社 対話インターフェース

Also Published As

Publication number Publication date
JP6671672B1 (ja) 2020-03-25
JP2020187500A (ja) 2020-11-19

Similar Documents

Publication Publication Date Title
US10402501B2 (en) Multi-lingual virtual personal assistant
US11302337B2 (en) Voiceprint recognition method and apparatus
US11264006B2 (en) Voice synthesis method, device and apparatus, as well as non-volatile storage medium
CN109918627B (zh) 文本生成方法、装置、电子设备及存储介质
CN110399470B (zh) 会话消息处理
US11531693B2 (en) Information processing apparatus, method and non-transitory computer readable medium
JP2007025788A (ja) 単語用法差異情報取得プログラム及び同装置
CN105283837A (zh) 适于在语音用户界面中使用的用于找出web页面中的元素的方法(消歧)
US9684908B2 (en) Automatically generated comparison polls
CN111694940A (zh) 一种用户报告的生成方法及终端设备
CN112309365A (zh) 语音合成模型的训练方法、装置、存储介质以及电子设备
KR102104294B1 (ko) 디스플레이 장치로 읽을 수 있는 저장매체에 저장된 수화 영상 챗봇 애플리케이션
WO2022134779A1 (zh) 人物动作相关数据的提取方法、装置、设备及存储介质
CN112163560A (zh) 一种视频信息处理方法、装置、电子设备及存储介质
CN116704085B (zh) 虚拟形象生成方法、装置、电子设备和存储介质
CN115470344A (zh) 一种基于文本聚类的视频弹幕与评论主题融合的方法
JP7272060B2 (ja) 生成方法、学習方法、生成プログラム、及び生成装置
CN117216234A (zh) 基于人工智能的话术改写方法、装置、设备及存储介质
CN113923475B (zh) 一种视频合成方法及视频合成器
WO2020230788A1 (ja) 対話装置、発話生成方法、及びプログラム
CN109190116B (zh) 语义解析方法、系统、电子设备及存储介质
US20220147719A1 (en) Dialogue management
CN116978367A (zh) 语音识别方法、装置、电子设备和存储介质
US7240050B2 (en) Methods and apparatus for generating automated graphics using stored graphics examples
JP7044245B2 (ja) 対話システム補強装置及びコンピュータプログラム

Legal Events

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

Ref document number: 20805694

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20805694

Country of ref document: EP

Kind code of ref document: A1