WO2010125709A1 - 対話制御システム、方法及びコンピュータ可読記憶媒体、並びに、多次元オントロジー処理システム、方法及びコンピュータ可読記憶媒体 - Google Patents
対話制御システム、方法及びコンピュータ可読記憶媒体、並びに、多次元オントロジー処理システム、方法及びコンピュータ可読記憶媒体 Download PDFInfo
- Publication number
- WO2010125709A1 WO2010125709A1 PCT/JP2009/070907 JP2009070907W WO2010125709A1 WO 2010125709 A1 WO2010125709 A1 WO 2010125709A1 JP 2009070907 W JP2009070907 W JP 2009070907W WO 2010125709 A1 WO2010125709 A1 WO 2010125709A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- ontology
- dimension
- user
- question
- domain knowledge
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/36—Creation of semantic tools, e.g. ontology or thesauri
- G06F16/367—Ontology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
Definitions
- the present invention relates to a dialog control system, method, and computer-readable storage medium, and a multidimensional ontology processing system, method, and computer-readable storage medium. For example, by repeatedly asking questions in a dialogue, the user's needs and values are derived, and the user's needs and values are matched from a wide variety of services and contents It can be applied to an information retrieval / analysis system that retrieves.
- Communication through IT will change from text information to moving images and conversations stored by individuals, broadcast images and movie images, product information and sensor information, production history and traffic history, Expanded to various information media such as climate information, and its usage phase is dynamic to various aspects such as information home appliances, in-vehicle terminals, electronic tags, public transportation, corporate production / distribution sites, market stores, etc. It is expected to expand.
- the trigger is not only text-based information retrieval on the current homepage on a personal computer, but next-generation information retrieval and analysis technology that meets new communication needs in every aspect of personal life and business. is there.
- Some conventional information search / analysis techniques accept input of keywords, search for information that matches the input keyword from information on the network, and introduce them in descending order of the number of hits.
- a keyword automatic expansion technology for displaying keywords used together with input keywords, a technology for recommending products and the like based on word-of-mouth information by many users, and the like.
- the user can search a lot of information including the input keyword.
- these pieces of information are information obtained by statistically collecting the results searched by many other users, and are not individual information desired or desired by the user.
- the inventor of the present application makes use of a laddering technique that draws out the needs and values of the user by repeating questions that are gradually delved into the dialogue, and the user and the system repeat the dialogue.
- a laddering technique that draws out the needs and values of the user by repeating questions that are gradually delved into the dialogue, and the user and the system repeat the dialogue.
- a question sentence is generated based on domain knowledge and presented to the user, the answer from the user is interpreted at a semantic level by intention analysis, information extracted from the user and the search target in advance
- a search is realized by matching an analysis (for example, an analysis result to be interpreted from a user's answer) and a result of analyzing the search target data.
- Ontology defines and systematizes knowledge about a specific domain, knowledge across multiple domains, or general-purpose knowledge.
- knowledge refers to a term / vocabulary and its meaning, and the relationship between other terms / vocabulary, and the domain refers to a field such as medicine, engineering, real estate, automobile, and finance.
- the current ontology can describe knowledge and information for each domain necessary for dialogue and search.
- current ontologies can only express knowledge relationships from one point of view as described above, they become static data and cannot describe the dynamics of dialogue and search. is there.
- the interactive search system it is required to instantaneously switch the semantic space to be used according to the user data and situation obtained by the dialogue, but this may not be realized.
- the role concept is a concept that indicates a role in a semantic relationship with a certain concept. Therefore, even if the relationship between concepts can be shown, the relationship between role concepts cannot be described. For example, if there are 100 types of role concepts, all 100 types of relationships must exist independently. Therefore, complication and complexity of data creation and data management can be caused.
- the present invention uses a multi-dimensional ontology to smooth the flow of responses and dialogues that give a sense of closeness to the user's remarks, and the importance of matters that should be questioned according to changes in the user's situation.
- an interactive control system, method and computer-readable storage medium, and a multi-dimensional ontology processing system, method and computer-readable storage medium are included in the user's situation.
- a dialog control system is an ontology processing system that performs predetermined processing using an ontology that systematically represents domain knowledge indicating concepts and relationships between concepts, and (1) a combination of conditions Dimensional ontology storage means for storing one or more dimensional ontology having different domain knowledge contents for each dimension, and (2) basic ontology storage means for storing basic ontology having domain knowledge contents when there is no condition. , (3) dimension priority storage means for storing a dimension priority indicating the priority for each dimension, and (4) one or more dimensions that meet the conditions set by the dimension ontology storage means when the condition is set Dimensional ontology extracting means for extracting another ontology, and (5) Dimension priority storing means among the extracted dimensional ontologies.
- a multidimensional ontology generating means for generating a multidimensional ontology to be used under a set condition by overwriting the basic ontology with the contents of each dimension ontology in descending order of the dimension priority according to the dimension priority; Processing means for performing predetermined processing using the multidimensional ontology generated by the multidimensional ontology generation means.
- a computer-readable storage medium is a computer-readable storage medium that stores an ontology processing program that performs predetermined processing using an ontology that systematically represents domain knowledge indicating concepts and relationships between concepts.
- the ontology processing (1) one or more dimension-specific ontologies having different domain knowledge contents are stored for each dimension of the condition combination, and (2) a basic ontology having the domain knowledge contents when there is no condition. And (3) store the dimension priority indicating the priority for each dimension, and (4) when the condition is set, the one or more dimensions in which one or more dimensional ontologies that meet the set condition are stored (5) Of each extracted dimension ontology, each dimension is sorted in order from the lowest stored dimension priority.
- the contents of Ntoroji by overwriting the basic ontology, and generating a multidimensional ontology to be used in the set condition includes performing predetermined processing by the multidimensional ontology generated (6).
- the dialogue control system uses an ontology that systematically represents domain knowledge indicating concepts used for questions and relationships between the questions, determines questions for the users, asks the questions, and asks the users for the questions.
- a dialogue control system for receiving an answer and controlling a dialogue according to the user answer, wherein (1) domain knowledge is a concept and a relationship between concepts, and a concept applied to a next question from a concept applied to a question (2) dimensional ontology storage means for storing one or more dimensional ontology having different domain knowledge contents for each dimension of the combination of conditions, and (3) condition Basic ontology storage means for storing basic ontology having domain knowledge contents at the time of none, and (4) dimension priority indicating priority for each dimension Dimension priority storage means for storing, (5) When the concept of user answer is set as a condition, and a dimension-specific ontology extraction means for extracting one or more dimension-specific ontologies that meet the condition from the dimension-specific ontology storage means; ) Multi-dimensions that are used in conditions by over
- the computer-readable storage medium uses a ontology that systematically represents domain knowledge indicating a concept used for a question and a relationship between the concepts, determines a question for the user, and asks the question.
- a computer-readable storage medium that stores a dialogue control program that receives a user response to a question and controls a dialogue according to the user response, and (1) domain knowledge is applied to concepts and relationships between concepts and questions Having a dialog progress information for setting a transition relationship from a concept to be applied to a concept to be applied to the next question, and controlling the dialog is as follows: (2) Content of domain knowledge differs for each dimension of condition combination Stores one or more dimensional ontology, (3) Stores basic ontology having domain knowledge contents without condition, and (4) Dimension (5) When the concept of user response is set as a condition, one or more dimensioned ontologies that meet the condition are extracted from the stored one or more dimensioned ontology.
- each ontology by dimension is overwritten on the basic ontology in order from the lowest dimension priority according to the stored dimension priority.
- An ontology processing method is an ontology processing method that performs predetermined processing using an ontology that systematically represents domain knowledge indicating concepts and relationships between concepts, and (1) a combination of conditions
- One or more dimension-specific ontologies with different domain knowledge contents are stored for each dimension, (2) a basic ontology having the domain knowledge contents when there is no condition, and (3) priority for each dimension (4)
- When a condition is set one or more dimension-specific ontologies that meet the set condition are extracted from the stored one or more dimension-specific ontologies, and (5) are extracted.
- the ontology of each dimension is sorted in order from the lowest dimension priority according to the stored dimension priority.
- Containers by overwriting the stored the basic ontology, and generating a multidimensional ontology to be used with the set the condition, performs a predetermined process with the multidimensional ontology that is the generated 6.
- the dialogue control method uses an ontology that systematically expresses domain knowledge indicating a concept used for a question and a relationship between the concepts, determines a question for the user, and asks the user for the question.
- the content of each dimension ontology is overwritten on the basic ontology to generate a multidimensional ontology to be used in the condition, and (7) the generated multidimensional A concept to be applied to the next question is determined based on the dialogue progress information of the ontology, and the question is given to the user.
- the present invention by using a multidimensional ontology, it is possible to smooth the flow of responses and dialogues that give a close feeling to the user's remarks, or importance of matters that should be questioned according to changes in the user's situation Can be changed from moment to moment.
- 1 is an overall configuration diagram illustrating an overall configuration of an interactive analysis / retrieval system according to a first embodiment. It is explanatory drawing explaining the basic concept of a multidimensional ontology (the 1). It is explanatory drawing explaining the basic concept of a multidimensional ontology (the 2). It is a flowchart which shows the whole flow of the dialog control system of 1st Embodiment. It is explanatory drawing explaining a property definition (table format). It is explanatory drawing explaining a property definition (network format). It is a flowchart which shows the intention analysis process of 1st Embodiment. It is explanatory drawing explaining the class definition and different notation definition of a "site visit purpose" class.
- the multi-dimensional ontology refers to an ontology that holds a large number of semantic spaces in a multi-dimensional manner and can instantly switch the semantic space to be used according to user data or target data / situations obtained through dialogue.
- an ontology can be maintained in a multidimensional manner, and a mechanism for automatically moving between dimensions whenever the information extracted from the user changes is proposed.
- 2 and 3 are explanatory diagrams for explaining the basic concept of the multidimensional ontology. 2 and 3 exemplify a case where the interactive search / analysis system 1 of the first embodiment is used for an occupation introduction system.
- the dimension in which the property is set is positioned according to the priority.
- the multi-dimensional ontology has a base dimension and a special dimension other than the base (hereinafter referred to as a sub dimension).
- the base dimension is the dimension with the lowest priority, and defines all classes and properties defined in the sub dimensions. In addition, only the necessary classes and properties are defined for each sub dimension. Therefore, the higher the number of conditions, the higher the priority. When the number of conditions is the same, for example, priorities are assigned in advance by the developer.
- FIGS. 2 and 3 illustrate a 6-dimensional ontology including the base dimension.
- circles on each sub dimension indicate classes and properties defined in each sub dimension.
- FIG. 2 shows “when no data (data) is acquired” by the user.
- the dialogue has not yet progressed.
- the dialogue proceeds using classes and properties (not shown in FIG. 2) defined in the base dimension.
- the interactive analysis / search system 1 includes at least a dialogue management unit 10, an intention analysis unit 20, a domain knowledge management unit 30, a matching unit 40, and a matching target analysis unit 50. .
- the interactive analysis / search system 1 is connected to a data providing server 80 that provides data to the user.
- the interactive analysis / retrieval system 1 acquires the target data held by the data providing server 80 and stores it in the expansion target data 54 of the matching target analysis unit 50.
- the user activates the interactive analysis / search system 1 by accessing the Web server 70 using the browser 90.
- the user interface can be widely applied to a PC having a communication function, a portable terminal, a dedicated terminal, and the like.
- a voice synthesizing / recognizing unit or the like for converting the voice uttered by the user into text may be provided.
- the dialogue management unit 10 manages the progress of dialogue with the user who wants to search.
- the dialog management unit 10 includes a dialog control unit 11 that controls the progress of the dialog.
- the dialogue control unit 11 receives the multidimensional ontology from the domain knowledge management unit 30, and creates a question sentence (also referred to as a system utterance sentence) related to the progress of the dialogue based on the multidimensional ontology.
- a question sentence also referred to as a system utterance sentence
- the dialogue control unit 11 gives an answer sentence (also referred to as a user utterance sentence) from the user to the question sentence to the intention analysis unit 20 to analyze the content of the user utterance sentence.
- the dialogue control unit 11 receives the intention analysis result of the user utterance, the dialogue control unit 11 stores the intention analysis result of the user utterance as user data in the extended user data 53 of the matching target analysis unit 50.
- the dialogue control unit 11 upon receiving the intention analysis result from the intention analysis unit 20, the dialogue control unit 11 gives the intention analysis result to the domain knowledge management unit 30 to generate a multidimensional ontology used for the progress of the dialogue, and the domain knowledge management unit Using the multidimensional ontology from 30, the next question sentence is determined and the dialogue proceeds.
- the dialogue control unit 11 instructs the matching unit 40 to match the user data with the target data.
- Various timings for instructing the matching are set, for example, when a matching instruction is received from the user, when an answer sentence for each question sentence is obtained, or when all question items are completed. be able to.
- the intention analysis unit 20 receives a user utterance sentence answered by the user in response to the question sentence acquired from the dialogue control unit 11, and analyzes the content of the user utterance sentence. In addition, the intention analysis unit 20 gives the analyzed intention analysis result to the dialogue control unit 11 in an ontology format.
- the intention analysis unit 20 includes an intention analysis execution unit 21 and an intention analysis dictionary 22.
- the intention analysis execution unit 21 refers to the intention analysis dictionary 22 and performs a morpheme analysis unit 211 that performs morphological analysis on the user utterance sentence, and refers to the intention analysis dictionary 22 to construct a syntax for the user utterance sentence. It has a syntax analysis unit 212 that performs analysis.
- the intention analysis execution unit 21 acquires a class defined in the property definition of the domain knowledge DB 32 by performing morphological analysis and syntax analysis on the user utterance sentence, and gives the acquired class to the domain knowledge management unit 30.
- the intention analysis dictionary 22 is a dictionary group for analyzing the contents of a user utterance sentence.
- a morpheme dictionary for example, a Japanese morpheme dictionary
- a syntax dictionary for example, a Japanese syntax dictionary
- a base dimension for example, a base dimension
- each dimension This includes domain knowledge dictionaries that are automatically generated from dimension class definitions.
- the domain knowledge management unit 30 manages domain knowledge with knowledge of multidimensional ontology for each domain.
- the domain knowledge management unit 30 includes a domain knowledge manager 31 and a domain knowledge DB 32.
- the domain knowledge DB 32 defines a base dimension for constructing a multidimensional ontology, property definitions and class definitions and inference definitions for each dimension, dimension conditions for constructing the multidimensional ontology, and priority of the dimension conditions. Stores the dimension priority definition table and the generated multidimensional ontology.
- the domain knowledge manager 31 receives the intention analysis result from the dialogue control unit 11, extracts features from the intention analysis result, and generates a multidimensional ontology while referring to the property definition and dimension priority definition table of the domain knowledge DB 32. .
- the domain knowledge manager 31 stores the generated multidimensional ontology in the domain knowledge DB 32.
- the domain knowledge manager 31 of the domain knowledge management unit 30 includes a feature extraction unit 311, a condition matching unit 312, and a multidimensional ontology generation unit 313.
- the feature extraction unit 311 confirms whether or not a feature (a value corresponding to the dimension condition) as a dimension condition is set in the intention analysis result obtained by analyzing the contents of the user utterance sentence.
- the feature is extracted.
- the condition collation unit 312 collates the dimension value extracted by the feature extraction unit 311 with the contents of the dimension priority definition table.
- the multidimensional ontology generation unit 313 generates a multidimensional ontology by superimposing the dimensional ontology on the basic ontology according to the priority of the dimension priority definition table.
- the matching unit 40 performs matching between user data stored in the user data management unit 51 and target data stored in the target data management unit 50, and matches conditions desired by the user.
- the matching unit 40 gives the multi-dimensional ontology received from the dialogue control unit 11 to the matcher 42, or gives the matched information by the matcher 42 to the dialogue control unit 11, and the user data and the target data And a matcher 42 that performs matching processing.
- the matching target analysis unit 50 stores user data and target data to be matched.
- the matching target analysis unit 50 expands to a form that facilitates matching, and stores the expanded user data and target data.
- the matching target analysis unit 50 includes a user data management unit 51, a target data management unit 52, extended user data 53, and expansion target data 54.
- the dialog control unit 11 stores user information obtained from the user utterance in a user data DB (extended user data) 53 managed by the user data management unit 51.
- This user data DB (extended user data) 53 holds a user data path indicating a storage location (storage position) of user information and a user data class name indicating a value of user information.
- FIG. 4 is a flowchart showing an overall flow of dialog control of the interactive analysis / search system 1.
- the user who uses the interactive analysis / search system 1 accesses the specified URL using the browser 90 and activates the interactive analysis / search system 1 through the Web server 70.
- the dialog control unit 11 refers to the property definition stored in the domain knowledge DB 32 through the domain knowledge manager 31 and has the highest priority among the properties having the current pointer in the domain. Select a higher property.
- FIG. 5 is a configuration diagram showing the configuration of the property definition
- FIG. 6 is a diagram showing a part of the property definition in a network format.
- the property definition shown in FIG. 5 is an example of a property definition that is a multidimensional base. For example, the property relationship of each class is described with “human” as a vertex. In addition, it describes option information related to dialogue strategies and system utterances that each property has, and defines what questions the system asks in what order.
- the property definition has items of a definition area, a property, a value area, and option information.
- the option information is provided with an importance indicating the degree of determining whether the question is an essential question and a priority indicating the degree of determining the order of questions (that is, the flow of dialogue).
- the option information defines various functions for the system to smoothly proceed with the conversation, such as a connection sentence generated before the question sentence and various received sentences generated based on the intention analysis result. Yes.
- example sentences described in the option information include, for example, a start sentence, an emotion catch sentence, a property catch sentence, an ontology catch sentence, an inference catch sentence, an inference rule catch sentence, a frequent expression catch sentence, a user data catch sentence, There are an option acceptance sentence, an explanation sentence, a connection sentence, a question sentence, an end sentence, and the like.
- the ontology acceptance sentence can be seen in FIG. 16, and here, a value of “You are doing sales work” is set for the “Sales” class.
- option information describes the type of property.
- the option information includes a group and an acquisition target.
- the property can be set without being limited to this.
- the domain knowledge manager 31 gives the basic question sentence set in the item of the basic question sentence to the dialog control unit 11, and the dialog control unit 11 uses this as a system utterance sentence. It transmits to the user side through the Web server 70.
- the domain knowledge manager 31 searches and selects a property having the range class in the domain. At this time, when there are a plurality of properties having this range class as the domain, the domain knowledge manager 31 looks at the priority of the option information and selects the property with the highest priority. If the selected property is “acquisition target”, the domain knowledge manager 31 gives the basic question sentence to the dialogue control unit 11, and the dialogue control unit 11 transmits this to the user side as a system utterance sentence. .
- the priority can be used to achieve the transition to a property having a range class in the domain.
- FIG. 6 is a configuration diagram in which a part of the property definition shown in FIG. 5 is expanded in a network format.
- circles indicate classes (that is, domain and value range in FIG. 5), and lines connecting between classes indicate properties.
- the range when “human” is the vertex and the property is “personality” is “personality”
- the range when the property is “strength” is “strength that can be used for work”.
- the value range when the property is “an opportunity to change jobs” is “reason for job change”
- the value range when the property is “work experience” is “current job”.
- the “purpose for site visit” and the user's answer “I want to know a suitable job” are in the relationship of is A.
- the definition area to be selected as the initial value is set in the property definition.
- a pointer is set for the first domain domain class “human” in FIG.
- the domain knowledge manager 31 sees the range class “personality” in the case of the “personality” having the highest priority among the properties of the domain class “human” pointed to by the initial pointer.
- the domain knowledge manager 31 has the property of the domain class “personality” —property “site visit purpose” —range class “site visit purpose” having the highest priority among the properties having the domain class “personality” as the domain.
- the domain knowledge manager 31 gives the dialog control unit 11 the basic question text of this property, “Tell me about the purpose of coming to this site”.
- the dialogue control unit 11 transmits this basic question sentence to the user side as a system utterance. In this way, a question from the system is started (step S101).
- the user who has received the system utterance sentence replies, for example, “I want to know what his / her job is”, and transmits this as a reply sentence to the dialog control unit 11 through the Web server 70 (step S102).
- the dialogue control unit 11 When the dialog control unit 11 receives the user utterance, the dialogue control unit 11 gives the user utterance to the intention analysis unit 20.
- the intention analysis execution unit 21 uses the intention analysis dictionary 22 to perform morphological analysis and syntactic analysis on the user utterance sentence, and as a result, the intention of the user “I want to know the right job” is obtained. Analyzing and giving the intention analysis result to the dialogue control unit 11 (step S103).
- the intention analysis result of the intention analysis unit 20 is given to the domain knowledge manager 31, a multidimensional ontology is generated by the domain knowledge manager 31, and the generated multidimensional ontology is stored in the domain knowledge DB 32.
- the dialogue control unit 11 Upon receiving the intention analysis result from the intention analysis unit 20, the dialogue control unit 11 inquires of the domain knowledge manager 31 about the next question and determines the next question (step S104).
- the domain knowledge manager 31 refers to the property definition and shifts to the domain class “personality” —the property “current job type” —the range class “job type”, which has the next highest priority after the range class “site visit”. Then, a basic question sentence “What is your current job type?” Is given to the dialogue control unit 11. The dialogue control unit 11 determines this as a system utterance and transmits it to the user side (step S105).
- the dialogue between the system and the user is realized by repeatedly presenting the next question sentence and receiving the answer sentence from the user.
- step S104 when the next question is not determined, that is, when all the questions are finished, the system operation is finished.
- FIG. 7 is a flowchart showing the detailed operation of the intention analysis process.
- the dialog control unit 11 that has received the user utterance gives the user utterance to the intention analysis unit 20 (step S201).
- the intention analysis execution unit 21 performs intention analysis on the user uttered sentence.
- the intention analysis execution unit 21 divides the user utterance sentence into sentence units, performs Japanese sentence separation (step S202), and the morpheme analysis unit 211 uses the Japanese morpheme dictionary of the intention analysis dictionary 22, Morphological analysis is performed on the user utterance (step S203).
- the syntax analysis unit 212 performs syntax analysis using the morphological analysis result while referring to the Japanese syntax dictionary of the intention analysis dictionary 22 (step S203).
- the intention analysis execution unit 21 uses the Japanese syntax dictionary and domain knowledge dictionary of the intention analysis dictionary 22 to perform intention analysis from the syntax analysis result by the syntax analysis unit 212 (step S205).
- FIG. 8 shows a configuration example of class definitions and different notation definitions stored in the domain knowledge dictionary.
- classes and different notations are expressed in a format having a correspondence relationship.
- a class “I want to know a suitable job” is defined as a class under the property “site visit purpose” ⁇ range class “site visit purpose”. Also, a different notation of this class, “suitable job + knowing
- the intention analysis execution unit 212 refers to the domain knowledge dictionary and acquires the class for the range class “site visit purpose” from the syntax analysis result. For example, when there is “I want to know the right job” as the class definition in the domain knowledge dictionary, this class “I want to know the right job” is acquired.
- the intention analysis execution unit 212 gives the property “site visit purpose” -class “want to know suitable job” to the dialogue control unit 11 in the ontology format as shown in FIG. 9 (S206), and ends the process.
- FIG. 10 is a flowchart showing the detailed operation of the dialogue control process.
- the intention analysis result by the intention analysis unit 20 is given to the dialogue control unit 11 (step S301).
- the intention analysis result is of ontology format.
- the dialogue control unit 11 stores the intention analysis result in the extended user data 53 of the user data management unit 51 (step S302).
- the dialogue control unit 11 gives the intention analysis result to the domain knowledge manager 31.
- the domain knowledge manager 31 acquires the class definition of the class “I want to know the right job” stored in the domain knowledge DB 32.
- the domain knowledge manager 31 determines whether or not an ontology acceptance sentence (hereinafter simply referred to as “acceptance sentence”) is described as optional information of this class definition. This is given to the dialogue control unit 11.
- the dialogue control unit 11 transmits an acceptance sentence to the user side (step S303).
- the acceptance sentence is a sentence for performing some kind of acceptance with respect to the answer from the user.
- a conventional interactive search system there is a case where the user is concerned whether the system can correctly understand the contents spoken by the user.
- an acceptance sentence corresponding to the class is defined as option information for the class definition.
- FIG. 11 is a configuration diagram showing the configuration of a class definition with option definitions.
- FIG. 11 illustrates a class definition in the case of the property “site visit purpose” -class “want to know suitable job”.
- “I want to reconfirm myself” is defined as an acceptance sentence for the property “purpose of site visit” -class “I want to know a suitable job”.
- the domain knowledge manager 31 acquires the class definition illustrated in FIG. Then, since the acceptance sentence is defined in the option information of the class definition, the acceptance sentence “I want to reconfirm myself” is given to the dialog control unit 11.
- the dialogue control unit 11 outputs the received sentence as a system utterance sentence to the user.
- the dialogue control unit 11 performs an inference process on the inference data (step S304). Details of this inference process will be described later.
- the dialogue control unit 11 gives the domain knowledge manager 31 that the current pointer is the domain class “personality” ⁇ range class “site visit purpose”.
- the domain knowledge manager 31 selects the property “current job type” having the next highest priority among the properties of the domain class “personality” pointed to by the current pointer as the next question target (step S305).
- the domain knowledge manager 31 provides the connection control unit 11 with the connection statement.
- the dialogue control unit 11 outputs a connection sentence to the user (step S306).
- no connection statement is described in the property “current job type”
- no connection statement is output in this case.
- the dialogue control unit 11 After the connection text is output, the dialogue control unit 11 outputs the basic question text of the property “current job type” having the next highest priority to the user (step S307).
- system utterance sentences are uttered in the order of “acknowledgment sentence”-“connection sentence”-“basic question sentence”. Further, a plurality of “accepting sentences” and “connecting sentences” may be uttered with various contents. By letting the system speak in this order, it can be shown to the user that the system is understood. Thereby, it is possible to allow the user to have a sense of security and to proceed with the conversation while giving the user a close feeling.
- FIG. 12 is a flowchart showing the operation of the acceptance sentence output process in the domain knowledge manager 31.
- the domain knowledge manager 31 receives the intention analysis result from the dialogue control unit 11. Moreover, the domain knowledge manager 31 acquires the user data of the user from the user data management unit 51 (step S401).
- the user data of the user from the user data management unit 51 has the contents shown in FIG. As shown in FIG. 13, the user data is described in an ontology format.
- the class of the property “nickname” is the class “ ⁇ -chan”, and similarly, the property “stage of job change activity” —the class “sent resume”, the property “life event” ”—Class“ restructuring / bankruptcy ”, property“ current industry ”—class“ pharmaceutical ”, property“ current job type ”—class“ sales ”.
- the user data indicates the case where the class for the property obtained from the user's answer is used as data for convenience of explanation.
- the user data may be expanded, such as a new class inferred from the user's answer class.
- the feature extraction unit 311 of the domain knowledge manager 31 compares the user data with the conditions of all dimensions registered in the domain knowledge DB 32, and extracts the dimension conditions that meet the conditions (step S402). That is, the feature extraction unit 311 confirms whether or not the user data includes values that serve as conditions for all dimensions, and if there is a value that serves as a condition, extracts a value that serves as a condition for that dimension. .
- condition matching unit 312 rearranges the dimension condition values extracted by the feature extraction unit 311 in descending order of predetermined priority (step S403), and checks whether there is a dimension condition value. And stored in the dimension priority definition table (step S404).
- the priority of a large number of dimension conditions is increased.
- priorities for each dimension are set in advance, and rearrangement is performed based on the priorities.
- condition matching unit 312 refers to the dimension list shown in FIG. 14, confirms the priority of the condition value of each dimension, and sorts the condition value of each dimension according to this dimension list.
- the multidimensional ontology generation unit 313 generates a multidimensional ontology by superimposing the dimensional ontology on the basic ontology according to the priority of the dimension priority definition table (step S405).
- FIG. 16 is an explanatory diagram for explaining multidimensional ontology generation processing.
- the option acceptance sentence of the class “job type” -class “sales” is defined as “You are doing sales work,” but step S405.
- the overwriting of the option “class”-“sales” option will be rewritten as “Sales will be difficult even in highly competitive industries”.
- the contents of the class option definition defined in the base dimension can be changed.
- an appropriate acceptance sentence can be output according to the job type of the user.
- the multidimensional ontology generation unit 313 outputs the generated multidimensional ontology to the dialogue control unit 11 (step S406).
- the generated multidimensional ontology is stored in the domain knowledge DB 32.
- Inference processing here means inferring another value from an answer obtained directly from the user.
- an appropriate inference result cannot be obtained unless inferring not only that one value but also another value related thereto. Therefore, in the first embodiment, processing using such a plurality of answer results as conditions is performed using a multidimensional ontology.
- This inference process (inference definition multi-dimensionalization process) can be described with reference to FIGS. 10 and 12, and will be described with reference to FIGS.
- FIGS. 17A to 17C are explanatory diagrams for explaining the configuration of inference definitions defined in the domain knowledge DB 32.
- FIG. 17A to 17C are explanatory diagrams for explaining the configuration of inference definitions defined in the domain knowledge DB 32.
- the range passed is “/ human / strength / competency”.
- the value range is “/ Human / Strength / Competency”.
- FIG. 17C shows the inference definition of the base dimension, the domain in which inference processing is performed is “/ human / personality / current job type”, and the range passed by inference is “/ human / strength / competency”. .
- the estimated values of IT skills, English proficiency, bargaining power for current job types “SE”, “sales”... are set to “0.5”, respectively.
- the ontology by dimension here, inference definition
- the ontology of the base dimension S405
- the multidimensional ontology inference definition
- the dialog control unit 11 refers to the inference definition in FIG. An estimated value whose estimated value is equal to or greater than a predetermined threshold (for example, 0.6) is extracted.
- a predetermined threshold for example, 0.6
- each estimated value is greater than or equal to a threshold value (for example, 0.6) as a strength that can be utilized for the user's work, and as illustrated in FIG.
- a threshold value for example, 0.6
- a class “English ability, negotiation ability” is generated as a class and stored in user data.
- a predetermined threshold for example, 0.6
- the estimation unit 33 estimates that each estimated value is greater than or equal to a threshold value (for example, 0.6) as a strength that can be used for the work of the user, and as illustrated in FIG. 19B, the class for the property “competency” A class “negotiating power” is generated and stored in user data.
- a threshold value for example, 0.6
- the domain knowledge manager 31 determines that the acceptance sentence (inference acceptance Sentence) is given to the dialogue control unit 11.
- the dialogue control unit 11 transmits this acceptance sentence to the user.
- next question to ask depends on whether the user's current job type is “SE” or “sales”.
- the multidimensional ontology a plurality of dimensions are defined for each job type for which the question is to be changed, and the property definition to be referred to is switched when the job type is found. Thereby, an appropriate question according to a user's occupation can be performed.
- the dialogue control unit 11 gives a domain class to the domain knowledge manager 31 in order to determine the next property in the current dimension. Also, the domain knowledge manager 31 acquires user data of the user from the user data management unit 51 (steps S301 and S302).
- FIG. 20A For example, the case where the user data acquired by the domain knowledge manager 31 is shown in FIG. 20A and the case shown in FIG. 20B will be described.
- FIG. 20A shows a case where the user's current job type is “sales”, and FIG. 20B shows a case where the user's current job type is “SE”.
- the domain knowledge manager 31 creates a dimension priority definition table according to S401 to S404 in FIG.
- the domain knowledge manager 31 superimposes (overwrites) the property definition for each dimension on the property definition of the base dimension according to the priority of the dimension priority definition table, and multi-dimensionalizes the property definition (step S405). ).
- (A-3-4) shows the case where the class option definition of the basic ontology, which is the base dimension, is changed (overwritten). However, here, the property definition of the basic ontology of the base dimension is changed (overwritten).
- FIG. 21 shows a configuration of property definitions defined in the base dimension.
- FIG. 21 shows the property definition before the change, and corresponds to a part of the property definition shown in FIG.
- “Property name importance / priority” is shown in the line connecting the classes. For example, “personality 1/1” indicates that the property name is personality, importance is 1, and priority is 1.
- the basic question sentence “what kind of customer is the target customer” in the domain “current job” -property “partner customer” -value range “customer”? Is output from the dialogue control unit 11 (step S305).
- the basic question “What is the size of the company?” In the domain “current job” -property “partner customer” -value “company size”. Is output from the dialogue control unit 11 (step S305).
- connection sentence output processing Fourthly, a connection sentence output process using a multidimensional ontology output by the dialogue control unit 11 will be described in detail with reference to the drawings.
- the user's situation is grasped from the answer from the user, and the next question to be asked differs depending on the user's situation.
- the multidimensional ontology a plurality of dimensions corresponding to the user's situation can be defined, and the basic question sentence and the connecting sentence can be switched according to the user's situation.
- the dialogue control unit 11 gives a domain class to the domain knowledge manager 31 in order to determine the next property in the current dimension. Also, the domain knowledge manager 31 acquires user data of the user from the user data management unit 51 (steps S301 and S302).
- the domain knowledge manager 31 creates a dimension priority definition table according to S401 to S404 in FIG.
- the domain knowledge manager 31 superimposes (overwrites) the property definition for each dimension on the property definition of the base dimension according to the priority of the dimension priority definition table, and multi-dimensionalizes the property definition (step S405). ).
- Example 3 in FIG. 25 shows a configuration of property definitions for dimensions without conditions.
- the domain knowledge manager 31 collates the user data shown in FIG. 23 with the dimension conditions shown in Examples 1 to 3 in FIG.
- the dimensional condition that matches the user data in FIG. 24 matches the dimensional condition in Example 2 in FIG. 25 and Example 3 in FIG.
- the domain knowledge manager 31 selects Example 2 having higher priority from Example 2 and Example 3 in FIG. 25, and overwrites the property definition of the dimension of Example 2 with the property definition of the base dimension.
- the dialogue control unit 11 outputs the connection sentence and the basic question sentence described in Example 2 of FIG. 25 to the user (step S305).
- the dialog control unit 11 says, “Nice to meet you, you have already sent a resume when you see the current job change status. It seems that you are actively changing jobs. Well, you have been checked by keywords such as bankruptcy and restructuring.Thank you for disclosing.This time we will take stock of what you can do and strengths and discover new possibilities together. Will be output.
- the dialogue control unit 11 outputs, as a basic question part, “First of all, can you tell me a little more about the situation that triggered your job change?”.
- the frequent expression subroutine is a subroutine that is fired when a special expression or class is acquired more than a specified number of times from a user's utterance.
- This frequent expression subroutine definition is stored in the domain knowledge DB 32.
- FIG. 26 shows a configuration example of the frequent expression subroutine definition. As shown in FIG. 26, the frequent expression subroutine includes SR name indicating the frequent expression class name, frequent expression character string list, and number of frequent occurrences.
- the intention analysis unit 20 analyzes the user utterance sentence and checks whether the frequent expression character strings registered in the frequent expression character string list are included.
- the intention analysis unit 20 counts the frequency of appearance of the frequent expression character string and determines whether or not the frequency of occurrence frequently defined in the frequent expression subroutine is exceeded.
- the intention analysis unit 20 stores user data as illustrated in FIG. 27 in the extended user data 53.
- the dialogue control processing is in accordance with the processing described in (A-3-4). However, the difference is that, instead of the intention analysis result of (A-3-4), the analysis result of the frequent expression subroutine becomes a dimensional condition.
- inference processing can be performed based on data obtained from the user, not only the answer directly obtained from the user but also the real intention is estimated from the user's answer. Can do.
- the ontology actually used is a one-layer ontology, and thus data can be accessed at high speed. .
- the multidimensional ontology is not only a dialogue control system program, but also a system that requires different data depending on the environment under a constantly changing environment. Valid for all programs. For example, an expert system equipped with an inference engine, a decision making system, an agent system, and the like can be given.
- the frequent expression subroutine is exemplified, but the subroutine is not limited to this, and may be an alert word, for example.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Animal Behavior & Ethology (AREA)
- Machine Translation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本発明は、概念や概念間の関係を示すドメイン知識を体系的に表現したオントロジーを用いてユーザに対する質問を決定して質問を行い、受け取ったユーザ回答に応じた対話を行う対話制御システムであって、1以上の次元別オントロジーと、基本オントロジーとを格納し、ユーザ回答の概念が条件として設定されると、この条件に合う1又は複数の次元別オントロジーを取り出し、取り出された各次元別オントロジーのうち、次元優先度に従って次元優先度の低いものから順に、各次元別オントロジーの内容を基本オントロジーに上書きして多次元オントロジーを生成し、この多次元オントロジーを用いて対話を制御する対話制御システムを提供する。
Description
本発明は、対話制御システム、方法及びコンピュータ可読記憶媒体、並びに、多次元オントロジー処理システム、方法及びコンピュータ可読記憶媒体に関する。例えば、対話の中で徐々に掘り下げた質問を繰り返すことにより、利用者のニーズや価値観を引き出し、多種多様でかつ大量のサービスやコンテンツの中から、利用者のニーズや価値観にマッチするものを検索する情報検索・解析システムに適用し得るものである。
IT(情報技術)を通じたコミュニケーションは、将来、テキスト情報から、個人の記憶する動画像や会話、放送映像や映画映像、商品情報やセンサー情報、生産履歴や交通履歴、刻一刻と変化する地理・気候情報等の様々な情報媒体に対象を広げ、その利用局面も、情報家電、車載端末、電子タグや、公共交通機関、企業の生産・流通現場、市場の店頭等の様々な局面へとダイナミック拡大していくことが予想される。
その契機となるのは、現在のパソコンによるホームページの中だけのテキスト中心の情報検索ではない、個人の生活、ビジネス等のあらゆる局面での新たなコミュニケーションニーズに応える次世代の情報検索・解析技術である。
従来の情報検索・解析技術では、キーワードの入力を受け付け、ネットワーク上の情報から入力キーワードと一致する情報を検索し、ヒット件数が多い順から紹介するものがある。この他にも、入力キーワードと一緒に使われるキーワードも表示するキーワード自動拡張技術や、多くのユーザによる口コミ情報から商品等をレコメンドする技術等もある。
前記のような技術によれば、当該利用者は入力キーワードを含む多くの情報を検索することができる。しかしながら、これらの情報は、多くの他ユーザにより検索された結果を統計的にまとめた情報であって、当該利用者の真のニーズや希望する個別化された情報ではない。
また、情報過多の時代において、情報量の爆発的な増加に対応しきれず、情報選択基準を見失い易くなっている人が増えているという現状がある。自らの欲する情報や行動を決めきれないという問題を抱えるユーザに対して、単なる検索だけではなく、検索に至るまでの考え方をシステムが一緒に探るという情報検索・解析技術が求められている。
これに対して、本願発明者は、対話の中で、徐々に掘り下げた質問を繰り返すことにより、利用者のニーズや価値観を引き出すラダリング手法を活用し、利用者とシステムとが対話を繰り返すことにより、利用者が自ら表現することが困難であったサービスやコンテンツに関するニーズを引き出し、多種多様でかつ大量のサービスやコンテンツの中からこれにマッチングするものを検索する情報検索・解析技術を提案する(特願2008-036342、特願2008-036356)。
この対話型検索システムでは、ドメイン知識に基づいて質問文を生成して利用者に提示し、利用者からの回答を意図解析によって意味レベルで解釈し、その利用者から引き出した情報及び予め検索対象解析(例えば、利用者の回答から解釈したいと解析結果)と、検索対象データを解析した結果とマッチングすることにより検索を実現している。
ところで、対話型検索システムにおいて、徐々に掘り下げた質問を繰り返して利用者の真のニーズや希望を引き出すためには、(1)意思決定プロセスを支援すること、(2)ユーザ本人だけでは言語化しきれていない「気付き」の促し、(3)情報の選択基準を正確に認識することが重要となる。
つまり、対話型検索システムでは、利用者一人一人に応じたパーソナライズが動的に行われることや、利用者の発言に対して、寄り添い感を与える応答や対話の流れや、様々な状況変化に応じて質問すべき事柄の重要度は刻々と変化する。よって、これに応じて、質問文を提示することやマッチングを行うことが求められる。
溝口理一郎他2名,「オントロジー工学基礎論-意味リンク、クラス、関係、ロールのオントロジー的意味論-」,人工知能学会誌,Vol.14,pp.1019-1032,1999年には、オントロジーの意義に関して記載されている。オントロジーとは、特定の領域についての知識、複数の領域にまたがる知識、あるいは、汎用の知識を定義し、体系化したものである。ここで、知識とは、用語・語彙とその意味、他の用語・語彙との関係を示し、領域とは、医学、工学、不動産、自動車、金融などの分野を指す。
オントロジーは、語の概念や、語と語の関係を体系的に表現することができる。従って、対話型検索システムにおいては、ドメイン毎にオントロジーで記述したものを、ドメイン知識として利用することが考えられる。
これにより、オントロジーを利用した質問文を提示することができる。また、この質問文に対する回答を関連付けることができる。よって、利用者の回答(入力)を理解することができたり、それまでの対話のモデル化が簡易になる。
しかしながら、現行のオントロジーは、語の概念や語と語の関係を表す際、1つの観点からの語の概念や語と語の関係しか表現することができない。つまり、文脈すなわちコンテキストを認識して対話を制御できる体系になっていない。
また、現行のオントロジーは、対話と検索に必要なドメイン毎の知識・情報を記述することができる。しかし、現行のオントロジーは、上記のように1つの観点からしか知識の関係を表現することができないため、静的なデータとなってしまい、対話や検索のダイナミック性を記述することができないことがある。
さらに、対話型検索システムでは、対話で得られる利用者のデータや状況に応じて、使用する意味空間を瞬時に切り替えることが求められるが、これを実現することができないことがあり得る。
上記に対応する方法として、ロール概念を用いて、コンテキストに依存したクラスやプロパティを表現することも考えられる。
ロール概念は、ある概念との間で意味関係における役割を示す概念をいう。従って、概念間の関係を示すことができても、ロール概念間の関係性を記述することができない。例えば100種類のロール概念があれば、100種類全ての関係性が独立に存在しなければならない。従って、データ作成やデータ管理の煩雑化かつ複雑化を招くことがあり得る。
本発明は、多次元オントロジーを利用することにより、ユーザの発言に対して、寄り添う感を与える応答や対話の流れを円滑にしたり、ユーザの状況変化に応じて質問すべき事柄の重要度を刻々と変化させたりすることができる対話制御システム、方法及びコンピュータ可読記憶媒体、並びに、多次元オントロジー処理システム、方法及びコンピュータ可読記憶媒体を提供する。
本発明の一態様に係る対話制御システムは、概念や概念間の関係を示すドメイン知識を体系的に表現したオントロジーを用いて所定の処理を行うオントロジー処理システムであって、(1)条件の組み合わせの次元ごとにドメイン知識の内容が異なる1以上の次元別オントロジーを格納する次元別オントロジー格納手段と、(2)条件なしの時のドメイン知識の内容を有する基本オントロジーを格納する基本オントロジー格納手段と、(3)次元毎の優先度を示す次元優先度を格納する次元優先度格納手段と、(4)条件が設定されると、次元別オントロジー格納手段から設定された条件に合う1以上の次元別オントロジーを取り出す次元別オントロジー取出手段と、(5)取り出された各次元別オントロジーのうち、次元優先度格納手段の次元優先度に従って次元優先度の低いものから順に、各次元別オントロジーの内容を基本オントロジーに上書きして、設定された条件で使用する多次元オントロジーを生成する多次元オントロジー生成手段と、(6)多次元オントロジー生成手段により生成された多次元オントロジーを用いて所定の処理を行う処理手段とを備える。
本発明の一態様に係るコンピュータ可読記憶媒体は、概念や概念間の関係を示すドメイン知識を体系的に表現したオントロジーを用いて所定の処理を行うオントロジー処理プログラムを記憶するコンピュータ可読記憶媒体であって、前記オントロジー処理は、(1)条件の組み合わせの次元ごとにドメイン知識の内容が異なる1以上の次元別オントロジーを格納し、(2)条件なしの時のドメイン知識の内容を有する基本オントロジーを格納し、(3)次元毎の優先度を示す次元優先度を格納し、(4)条件が設定されると、設定された条件に合う1以上の次元別オントロジーを格納された1以上の次元別オントロジーから取り出し、(5)取り出された各次元別オントロジーのうち、格納された次元優先度の低いものから順に、各次元別オントロジーの内容を基本オントロジーに上書きして、設定された条件で使用する多次元オントロジーを生成し、(6)生成された多次元オントロジーを用いて所定の処理を行うことを含む。
本発明の一態様に係る対話制御システムは、質問に用いる概念や概念間の関係を示すドメイン知識を体系的に表現したオントロジーを用いて、ユーザに対する質問を定めて質問を行い、その質問に対するユーザ回答を受け取り、そのユーザ回答に応じた対話を制御する対話制御システムであって、(1)ドメイン知識は、概念や概念間の関係、及び、質問に適用する概念から次の質問に適用する概念への移行関係を設定する対話進行情報を有し、(2)条件の組み合わせの次元ごとにドメイン知識の内容が異なる1以上の次元別オントロジーを格納する次元別オントロジー格納手段と、(3)条件なしの時のドメイン知識の内容を有する基本オントロジーを格納する基本オントロジー格納手段と、(4)次元毎の優先度を示す次元優先度を格納する次元優先度格納手段と、(5)ユーザ回答の概念が条件として設定されると、次元別オントロジー格納手段から条件に合う1以上の次元別オントロジーを取り出す次元別オントロジー取出手段と、(6)取り出された各次元別オントロジーのうち、次元優先度格納手段の次元優先度に従って次元優先度の低いものから順に、各次元別オントロジーの内容を基本オントロジーに上書きして、条件で使用する多次元オントロジーを生成する多次元オントロジー生成手段と、(7)多次元オントロジー生成手段により生成された多次元オントロジーの対話進行情報に基づいて次の質問に適用する概念を決定して、ユーザに質問を与える対話制御手段とを備える。
本発明の一態様に係るコンピュータ可読記憶媒体は、は、質問に用いる概念や概念間の関係を示すドメイン知識を体系的に表現したオントロジーを用いて、ユーザに対する質問を定めて質問を行い、その質問に対するユーザ回答を受け取り、そのユーザ回答に応じた対話を制御する対話制御プログラムを記憶するコンピュータ可読記憶媒体であって、(1)ドメイン知識は、概念や概念間の関係、及び、質問に適用する概念から次の質問に適用する概念への移行関係を設定する対話進行情報を有するものであり、前記対話を制御することは、(2)条件の組み合わせの次元ごとにドメイン知識の内容が異なる1以上の次元別オントロジーを格納し、(3)条件なしの時のドメイン知識の内容を有する基本オントロジーを格納し、(4)次元毎の優先度を示す次元優先度を格納し、(5)ユーザ回答の概念が条件として設定されると、条件に合う1以上の次元別オントロジーを、前記格納された1以上の次元別オントロジーから取り出させ、(6)取り出された各次元別オントロジーのうち、格納された次元優先度に従って次元優先度の低いものから順に、各次元別オントロジーの内容を基本オントロジーに上書きして、条件で使用する多次元オントロジーを生成し、(7)生成された多次元オントロジーの対話進行情報に基づいて次の質問に適用する概念を決定して、ユーザに質問を与える、ことを含む。
本発明の一態様に係るオントロジー処理方法は、概念や概念間の関係を示すドメイン知識を体系的に表現したオントロジーを用いて所定の処理を行うオントロジー処理方法であって、(1)条件の組み合わせの次元ごとに前記ドメイン知識の内容が異なる1以上の次元別オントロジーを格納し、(2)条件なしの時の前記ドメイン知識の内容を有する基本オントロジーを格納し、(3)前記次元毎の優先度を示す次元優先度を格納し、(4)条件が設定されると、設定された前記条件に合う1以上の次元別オントロジーを格納された1以上の次元別オントロジーから取り出し、(5)取り出された前記各次元別オントロジーのうち、前記格納された前記次元優先度に従って前記次元優先度の低いものから順に、前記各次元別オントロジーの内容を前記格納された前記基本オントロジーに上書きして、設定された前記条件で使用する多次元オントロジーを生成し、(6)前記生成された前記多次元オントロジーを用いて所定の処理を行う。
本発明の一態様に係る対話制御方法は、質問に用いる概念や概念間の関係を示すドメイン知識を体系的に表現したオントロジーを用いて、ユーザに対する質問を定めて質問を行い、その質問に対するユーザ回答を受け取り、そのユーザ回答に応じた対話を制御する方法であって、(1)前記ドメイン知識は、概念や概念間の関係、及び、質問に適用する概念から次の質問に適用する概念への移行関係を設定する対話進行情報を有するものであり、(2)条件の組み合わせの次元ごとに前記ドメイン知識の内容が異なる1以上の次元別オントロジーを格納し、(3)条件なしの時の前記ドメイン知識の内容を有する基本オントロジーを格納し、(4)前記次元毎の優先度を示す次元優先度を格納し、(5)ユーザ回答の概念が条件として設定されると、前記条件に合う1以上の前記次元別オントロジーを前記格納された前記1以上の次元別オントロジーから取り出し、(6)取り出された前記各次元別オントロジーのうち、前記格納された前記次元優先度に従って前記次元優先度の低いものから順に、前記各次元別オントロジーの内容を前記基本オントロジーに上書きして、前記条件で使用する多次元オントロジーを生成し、(7)前記生成された前記多次元オントロジーの前記対話進行情報に基づいて次の質問に適用する概念を決定して、ユーザに質問を与える。
本発明によれば、多次元オントロジーを利用することにより、ユーザの発言に対して、寄り添い感を与える応答や対話の流れを円滑にしたり、ユーザの状況変化に応じて質問すべき事柄の重要度を刻々と変化させたりすることができる。
(A)第1の実施形態
以下では、本発明の対話制御システム、方法及びコンピュータ可読記憶媒体、並びに、多次元オントロジー処理システム、方法及びコンピュータ可読記憶媒体の第1の実施形態について図面を参照しながら詳細に説明する。
以下では、本発明の対話制御システム、方法及びコンピュータ可読記憶媒体、並びに、多次元オントロジー処理システム、方法及びコンピュータ可読記憶媒体の第1の実施形態について図面を参照しながら詳細に説明する。
第1の実施形態では、ユーザに対して質問を繰り返してユーザの真のニーズや希望を引き出すラダリングを利用した対話型解析・検索システムに本発明を適用した実施形態を例示して説明する。
(A-1)多次元オントロジーの基本概念
まず、第1の実施形態において利用する多次元オントロジーの概念を、図面を参照しながら説明する。
まず、第1の実施形態において利用する多次元オントロジーの概念を、図面を参照しながら説明する。
多次元オントロジーとは、多数の意味空間を多次元化して保持し、対話で得られるユーザのデータ又は対象データ/状況に応じて、使用する意味空間を瞬時に切り替えることができるオントロジーをいう。
上述したように、現行のオントロジーは、ある1つの観点からしか語の概念や語と語の関係を表現していない。よって、現行のオントロジーを対話型検索システムに利用しても、静的なデータしか得られない。
そこで、第1の実施形態では、オントロジーを多次元化して保持できるようし、さらにユーザから引き出した情報が変化するたびに次元間を自動的に移動する仕組みを提案する。
これにより、対話で得られるユーザデータや状況に応じて瞬時に、意味空間を切り替えたり、対話のための情報を切り替えることができる。これにより、対話や検索がもつダイナミック性をシステムとして実現できる。また、次元間でデータを継承できるようにする。これにより、記述性とその省力性(最小限の記述)を同時に実現した。多次元化の最大の特徴である記述したいところだけを詳細に記述することができる。
図2及び図3は、多次元オントロジーの基本概念を説明する説明図である。図2及び図3では、第1の実施形態の対話型検索・解析システム1を職業紹介システムに利用した場合を例示する。
図2及び図3に示すように、多次元オントロジーは、それぞれプロパティが設定されている次元が、優先度に従って位置づけされている。多次元オントロジーは、ベースの次元と、ベース以外の特別な次元(以下、サブ次元という)とを有して構成される。
ベースの次元及びサブ次元には、それぞれ様々なオントロジーが定義されている。ベースの次元とは、最も優先度が低い次元であり、サブ次元に定義される全てのクラス及びプロパティが定義されているものである。また、サブ次元は、それぞれ必要なクラス及びプロパティだけが定義されている。よって、条件の数が多いものほど優先度が高くなる。なお、条件の数が同数の場合には、例えば、開発者により予め優先度付けしておく。
例えば、図2及び図3では、ベースの次元を含めて6次元オントロジーを例示する。「業種=IT」のサブ次元、「職種=営業」のサブ次元、「職種=SE」のサブ次元はそれぞれ、条件が1個であり、条件数が同数である。しかし、「業種=IT」のサブ次元、「職種=営業」のサブ次元、「職種=SE」のサブ次元の順に優先度を高く設定したものとする。
また「職種=営業&&業種=IT(この表記は「職種が営業であり、かつ、業種がITである」ことを示す、以下同様である)」のサブ次元、「職種=SE&&業種=IT」サブ次元はそれぞれ条件が2個であり、条件数が同数である。しかし、「職種=営業&&業種=IT」のサブ次元、「職種=SE&&業種=IT」の順に優先度を高く設定したものとする。
従って、これらの次元を重ねると、「ベースの次元」は優先度が最も低いので、次元の優先度は、「ベースの次元」→「業種=IT」のサブ次元→「職種=営業」のサブ次元→「職種=SE」のサブ次元→「職種=営業&&業種」のサブ次元→「職種=SE&&業種=IT」サブ次元の順に高くなる。
また、図2及び図3において、各サブ次元上の丸は、各サブ次元で定義されているクラス及びプロパティを示す。
図2は、ユーザが「何も(データを)取得していない時」を示す。この場合、まだ対話が進行していない。このとき、ベース次元に定義されているクラス及びプロパティ(図2には図示しない)を用いて対話進行する。
対話が進行して、ユーザが「業種=IT」とする条件を取得したとする。この場合、図3に示すように、適用される次元は「業種=IT」のサブ次元となる。そして、この「業種=IT」のサブ次元に定義されているクラス及びプロパティを用いた対話に切り替る。
さらに対話が進行して、ユーザが「職業=営業かつ業種=IT」とする条件を取得したとする。この場合、図3に示すように、適用される次元は「職種=営業&&業種=IT」のサブ次元となる。そして、この「職種=営業&&業種=IT」のサブ次元に定義されているクラス及びプロパティを用いた対話に切り替る。
ここで、対話に適用された次元は、「業種=IT」と「職業=営業かつ業種=IT」の2個のサブ次元であり、適用された各サブ次元のクラス及びプロパティは、ベースの次元に上書きされて継承される。このとき、優先度の高いサブ次元のクラス及びプロパティが記憶されるように、優先度が低いサブ次元から順に継承される。つまり、ベースの次元には、「業種=IT」のサブ次元のクラス及びプロパティが記憶されてから、「職業=営業かつ業種=IT」のサブ次元のクラス及びプロパティが上書きされる。
このように多次元オントロジーを用いることにより、次元間でデータを継承することができる。
(A-2)第1の実施形態の構成
以下では、第1の実施形態の対話型解析・検索システムの全体構成について、図1を参照しながら説明する。
以下では、第1の実施形態の対話型解析・検索システムの全体構成について、図1を参照しながら説明する。
図1において、第1の実施形態の対話型解析・検索システム1は、対話管理部10、意図解析部20、ドメイン知識管理部30、マッチング部40、マッチング対象分析部50を少なくとも有している。
対話型解析・検索システム1は、ユーザにデータを提供するデータ提供サーバ80と接続している。対話型解析・検索システム1は、データ提供サーバ80が保持する対象データを取得し、マッチング対象分析部50の拡張対象データ54に格納する。
ユーザは、ブラウザ90を用いてWebサーバ70にアクセスすることで、対話型解析・検索システム1を起動させる。なお、ユーザ側のインターフェースとしては、通信機能を有するPCや携帯端末や専用端末など広く適用することができる。しかし、ユーザが発した音声をテキスト変換する音声合成・認識部等を備えるようにしてもよい。
対話管理部10は、検索を希望するユーザとの間の対話進行を管理する。対話管理部10は、対話進行を制御する対話制御部11を有する。
対話制御部11は、ドメイン知識管理部30から多次元オントロジーを受け取り、この多次元オントロジーに基づいて、対話進行に係る質問文(システム発話文ともいう)を作成する。
また、対話制御部11は、質問文に対するユーザからの回答文(ユーザ発話文ともいう)を意図解析部20に与えてユーザ発話文の内容を解析させる。なお、対話制御部11は、ユーザ発話文の意図解析結果を受け取ると、そのユーザ発話文の意図解析結果をユーザデータとして、マッチング対象分析部50の拡張ユーザデータ53に格納する。
さらに、対話制御部11は、意図解析部20から意図解析結果を受け取ると、その意図解析結果をドメイン知識管理部30に与えて、対話進行に利用する多次元オントロジーを生成させ、ドメイン知識管理部30からの多次元オントロジーを利用して、次の質問文を決定して対話を進行させる。
また、対話制御部11は、マッチング部40に対してユーザのデータと対象データとのマッチングを指示する。このマッチングを指示するタイミングは、例えば、ユーザからのマッチング指示を受けたときや、各質問文に対する回答文が得られたときや、全ての質問項目が終了したときなどと種々のタイミングを設定することができる。
意図解析部20は、対話制御部11から取得した質問文に対してユーザが回答したユーザ発話文を受け取り、ユーザ発話文の内容を解析する。また、意図解析部20は、解析した意図解析結果をオントロジー形式にして対話制御部11に与える。意図解析部20は、意図解析実行部21、意図解析用辞書22を有する。
意図解析実行部21は、意図解析用辞書22を参照して、ユーザ発話文に対して形態素解析を行う形態素解析部211と、意図解析用辞書22を参照して、ユーザ発話文に対して構文解析を行う構文解析部212を有する。
意図解析実行部21は、ユーザ発話文に対して形態素解析や構文解析を行うことで、ドメイン知識DB32のプロパティ定義に定義されるクラスを取得し、取得したクラスをドメイン知識管理部30に与える。
意図解析用辞書22は、ユーザ発話文の内容を解析するための辞書群であり、例えば、形態素辞書(例えば、日本語形態素辞書)、構文辞書(例えば、日本語構文辞書)、ベース次元及び各次元のクラス定義から自動生成されたドメイン知識辞書等が該当する。
ドメイン知識管理部30は、ドメイン毎の多次元オントロジーを知識とするドメイン知識を管理する。ドメイン知識管理部30は、ドメイン知識マネージャ31、ドメイン知識DB32を有する。
ドメイン知識DB32には、多次元オントロジーを構築するためのベース次元及び各次元のプロパティ定義及びクラス定義及び推論定義、多次元オントロジーを構成するための次元の条件、次元の条件の優先度を定義する次元優先度定義テーブル、生成された多次元オントロジーを格納する。
ドメイン知識マネージャ31は、対話制御部11から意図解析結果を受け取り、意図解析結果から特徴を抽出して、ドメイン知識DB32のプロパティ定義及び次元優先度定義テーブルを参照しながら、多次元オントロジーを生成する。ドメイン知識マネージャ31は、生成した多次元オントロジーをドメイン知識DB32に格納する。
ドメイン知識管理部30のドメイン知識マネージャ31は、特徴抽出部311、条件照合部312、多次元オントロジー生成部313を有する。
特徴抽出部311は、ユーザ発話文の内容を解析した意図解析結果に、次元の条件となる特徴(次元条件にあたる値)がセットされているか否かを確認し、セットされている場合には、その特徴を抽出する。
条件照合部312は、特徴抽出部311が抽出した次元の値と次元優先度定義テーブルの内容を照合する。
多次元オントロジー生成部313は、次元優先度定義テーブルの優先度に従って、次元別オントロジーを基本オントロジーに重ねて、多次元オントロジーを生成する。
マッチング部40は、ユーザデータ管理部51に格納されるユーザデータと、対象データ管理部50に格納される対象データとのマッチングを行い、ユーザが希望する条件のマッチングを行う。
マッチング部40は、対話制御部11から受け取った多次元オントロジーをマッチャー42に与えたり、マッチャー42によりマッチングされた情報を対話制御部11に与えたりするマッチングマネージャ41と、ユーザデータと対象データとのマッチング処理を行うマッチャー42とを有する。
マッチング対象分析部50は、マッチング対象とするユーザデータや対象データを格納する。マッチング対象分析部50は、マッチングしやすい形に拡張し、拡張したユーザデータ及び対象データを格納する。マッチング対象分析部50は、ユーザデータ管理部51、対象データ管理部52、拡張ユーザデータ53、拡張対象データ54を有する。
ここで、ユーザデータ管理部51が管理するユーザデータDB(拡張ユーザデータ)53に対話制御部11がユーザ発話から得られたユーザ情報を格納する。このユーザデータDB(拡張ユーザデータ)53には、ユーザ情報の格納場所(格納位置)を示すユーザデータパスと、ユーザ情報の値を示すユーザデータクラス名とを保持する。
(A-3)第1の実施形態の動作
次に、第1の実施形態の対話型解析・検索システム1における対話制御システムの動作について図面を参照しながら説明する。
次に、第1の実施形態の対話型解析・検索システム1における対話制御システムの動作について図面を参照しながら説明する。
(A-3-1)全体動作
まず、対話型解析・検索システム1における対話制御の全体の流れについて図面を参照しながら説明する。
まず、対話型解析・検索システム1における対話制御の全体の流れについて図面を参照しながら説明する。
図4は、対話型解析・検索システム1の対話制御の全体の流れを示すフローチャートである。
対話型解析・検索システム1を利用するユーザは、ブラウザ90を用いて指定のURLにアクセスし、Webサーバ70を通じて対話型解析・検索システム1を起動する。
対話型解析・検索システム1が起動すると、対話制御部11が、ドメイン知識マネージャ31を通じて、ドメイン知識DB32に格納されるプロパティ定義を参照し、現在のポインタを定義域に持つプロパティで最も優先度が高いプロパティを選択する。
ここで、図5は、プロパティ定義の構成を示す構成図であり、図6は、プロパティ定義の一部をネットワーク形式で示した図である。
図5に示すプロパティ定義は、多次元のベースとなるプロパティ定義の例であり、例えば、「人間」を頂点として、各クラスのプロパティ関係を記述する。また、各プロパティが有する対話戦略やシステム発話に関するオプション情報を記述し、システムがどのような質問をどの順番でするかを規定する。
図5において、プロパティ定義は、定義域、プロパティ、値域、オプション情報の項目を有する。また、オプション情報には、必須の質問かどうかを決定する度合いを示す重要度、質問の順序(すなわち対話の流れ)を決定する度合いを示す優先度が設けられている。
さらに、オプション情報には、システム1が生成する基本質問文が定義されている。なお、図5には、オプション情報には、質問文の前に生成するつなぎ文、意図解析結果に基づき生成する各種受け止め文など、システムが円滑に対話を進行するための各種機能が定義されている。
なお、オプション情報に記述される例文の種類としては、例えば、開始文、感情受け止め文、プロパティ受け止め文、オントロジー受け止め文、推論受け止め文、推論ルール受け止め文、頻出表現受け止め文、ユーザデータ受け止め文、選択肢受け止め文、説明文、つなぎ文、質問文、終了文等がある。例えば、オントロジー受け止め文は、図16に見ることができ、ここでは「営業」クラスに対して、「営業のお仕事をされているんですね。」という値がセットされている。
また、オプション情報には、プロパティの種類が記述されている。例えば、オプション情報には、グループ、取得対象がある。なお、ここではプロパティの種類を2種類の場合を例示したが、これに限定されることなく、設定することができる。
プロパティの種類が「取得対象」の場合、ドメイン知識マネージャ31は、基本質問文の項目に設定されている基本質問文を対話制御部11に与え、対話制御部11が、これをシステム発話文としてWebサーバ70を通じてユーザ側に送信する。
一方、プロパティの種類が「グループ」の場合、ドメイン知識マネージャ31は、その値域クラスを定義域に持つプロパティを探索して選択する。このとき、この値域クラスを定義域とするプロパティが複数個ある場合、ドメイン知識マネージャ31は、オプション情報の優先度を見て、最も優先度が高いプロパティを選択する。そして、この選択したプロパティが「取得対象」ならば、ドメイン知識マネージャ31は、その基本質問文を対話制御部11に与えて、対話制御部11が、これをシステム発話文としてユーザ側に送信する。
このように、プロパティの種類がグループの場合に、優先度を利用することで、値域クラスを定義域に持つプロパティへの移行を実現することができる。
図6は、図5に示すプロパティ定義の一部をネットワーク形式に展開した構成図である。
図6において、丸はクラス(すなわち、図5の定義域及び値域)を示し、クラスとクラスとの間を結ぶ線はプロパティを示す。
例えば、図6おいて、「人間」を頂点とし、プロパティを「パーソナリティ」とする場合の値域は「パーソナリティ」であり、プロパティを「強み」とする場合の値域は「仕事に活かせる強み」であり、プロパティを「転職をしようと思ったきっかけ」とする場合の値域は「転職理由」であり、プロパティを「仕事の経験」とする場合の値域は「現在の仕事」である。
また、例えば、「パーソナリティ」を定義域とする場合にも、上記と同様に、例えばプロパティを「サイト訪問目的」とする場合の値域は「サイト訪問目的」である等の関係を持つ。また、「パーソナリティ」と「サイト訪問目的」等とはhas partの関係にある。そして、「サイト訪問目的」とユーザの回答である「適職を知りたい」とはis Aの関係にある。
システム開始時の場合、プロパティ定義では、初期値として選択する定義域が設定されている。図5の第1段目の定義域クラス「人間」に対してポインタが設定されている。
従って、ドメイン知識マネージャ31は、初期のポインタが指す定義域クラス「人間」のプロパティで最も優先度の高い「パーソナリティ」とする場合の値域クラス「パーソナリティ」を見る。
このとき、この値域クラス「パーソナリティ」のプロパティの種類は「グループ」である。よって、ドメイン知識マネージャ31は、値域クラス「パーソナリティ」を定義域とするプロパティのうち、優先度が最も高い定義域クラス「パーソナリティ」-プロパティ「サイト訪問目的」-値域クラス「サイト訪問目的」のプロパティに選択する。
そして、ドメイン知識マネージャ31は、このプロパティの基本質問文である「このサイトに来た目的を教えて下さい」を対話制御部11に与える。対話制御部11は、この基本質問文をシステム発話としてユーザ側に送信する。このようにして、システムからの質問を開始する(ステップS101)。
このシステム発話文を受信したユーザは、例えば「自分の適職が何かを知りたいので」と回答し、これを回答文としてWebサーバ70を通じて対話制御部11に送信する(ステップS102)。
対話制御部11は、ユーザ発話文を受信すると、このユーザ発話文を意図解析部20に与える。意図解析部20では、意図解析実行部21が、意図解析用辞書22を用いて、ユーザ発話文に対して、形態素解析や構文解析を行い、その結果「適職を知りたい」というユーザの意図を解析し、その意図解析結果を対話制御部11に与える(ステップS103)。
このとき、意図解析部20の意図解析結果は、ドメイン知識マネージャ31に与えられ、ドメイン知識マネージャ31により多次元オントロジーが生成され、生成された多次元オントロジーがドメイン知識DB32に記憶される。
対話制御部11は、意図解析部20からの意図解析結果を受け取ると、ドメイン知識マネージャ31に対して次の質問の問い合わせを行い、次の質問を決定する(ステップS104)。
このとき、ドメイン知識マネージャ31は、プロパティ定義を参照し、値域クラス「サイト訪問」の次に優先度が高い、定義域クラス「パーソナリティ」-プロパティ「現在の職種」-値域クラス「職種」に移行して、基本質問文「現在のあなたの職種は何ですか?」を対話制御部11に与える。対話制御部11は、これをシステム発話文として決定してユーザ側に送信する(ステップS105)。
このように、次の質問文の提示とユーザからの回答文の受信とを繰り返し行うことで、システムとユーザとの間の対話が実現される。
なお、ステップS104において、次の質問が決定されなかった場合、すなわち全ての
質問が終了した場合、システム動作は終了する。
質問が終了した場合、システム動作は終了する。
(A-3-2)意図解析処理
次に、図4のステップS104における意図解析処理の詳細な動作について、図面を参
照しながら説明する。
次に、図4のステップS104における意図解析処理の詳細な動作について、図面を参
照しながら説明する。
図7は、意図解析処理の詳細な動作を示すフローチャートである。
ユーザ発話文を受信した対話制御部11は、このユーザ発話文を意図解析部20に与える(ステップS201)。意図解析実行部21は、このユーザ発話文を意図解析する。
例えば、値域クラス「サイト訪問目的」に対するユーザ回答文が「自分の適職が何かを知りたいので」とする。
まず、意図解析実行部21では、ユーザ発話文に対して文単位で区切り、日本語文区切りを行い(ステップS202)、形態素解析部211が、意図解析用辞書22の日本語形態素辞書を用いて、ユーザ発話文に対して形態素解析を行う(ステップS203)。
次に、構文解析部212が、意図解析辞書22の日本語構文辞書を参照しながら、形態素解析結果を用いて構文解析を行う(ステップS203)。
意図解析実行部21は、意図解析用辞書22の日本語構文辞書及びドメイン知識辞書を用いて、構文解析部212による構文解析結果から意図解析を行う(ステップS205)。
ここで、ドメイン知識辞書には、事前にクラスとその異表記に関する情報(異表記定義ともいう)が、例えば図8に示すクラス定義及び異表記定義から予め自動生成されて、格納されている。
図8は、ドメイン知識辞書に格納されるクラス定義及び異表記定義の構成例を示す。図8は、クラスと異表記とを対応関係を持たせた形式で表記している。
図8に示すように、例えば、ドメイン知識辞書には、プロパティ「サイト訪問目的」-値域クラス「サイト訪問目的」の配下にあるクラスとしてクラス「適職が知りたい」が定義されている。また、このクラスの異表記「適職+知る|自分に合った職業+知る」が定義されている(|は「又は」を意味する)。
意図解析実行部212は、ドメイン知識辞書を参照して、値域クラス「サイト訪問目的」に対するクラスを構文解析結果から取得する。例えば、ドメイン知識辞書のクラス定義として「適職が知りたい」がある場合、このクラス「適職が知りたい」を取得する。
さらに、意図解析実行部212は、プロパティ「サイト訪問目的」-クラス「適職が知りたい」を、図9に示すようにオントロジー形式にして対話制御部11に与えて(S206)処理を終了する。
(A-3-3)対話制御処理
次に、図4のステップS105における対話制御処理の詳細な動作について、図面を参照しながら説明する。
次に、図4のステップS105における対話制御処理の詳細な動作について、図面を参照しながら説明する。
図10は、対話制御処理の詳細な動作を示すフローチャートである。
意図解析部20による意図解析結果は、対話制御部11に与えられる(ステップS301)。
例えば、意図解析結果はオントロジー形式のものであり、例えば、プロパティ「サイト訪問目的」-クラス「適職が知りたい」の場合、「/人間/サイト訪問目的=適職が知りたい」という意図解析結果が与えられる。
対話制御部11は、この意図解析結果をユーザデータ管理部51の拡張ユーザデータ53に格納する(ステップS302)。
また、対話制御部11は、意図解析結果を、ドメイン知識マネージャ31に与える。ドメイン知識マネージャ31は、ドメイン知識DB32に格納されているクラス「適職が知りたい」のクラス定義を取得する。
そして、ドメイン知識マネージャ31は、このクラス定義のオプション情報として、オントロジー受け止め文(以下、単に受け止め文という)が記述されているか否かを判断し、記述されている場合には、その受け止め文を対話制御部11に与える。対話制御部11は、ユーザ側に受け止め文を送信する(ステップS303)。
ここで、受け止め文は、ユーザからの回答に対して何らかの受け止めを行うための文である。従来の対話型検索システムの場合、ユーザが発話した内容をシステムが正しく理解できているのかどうか不安にさせることがある。これに対して、本実施例ではユーザに安心感をもってもらうために、クラス定義のオプション情報としてクラスに対応した受け止め文を定義する。
図11は、オプション定義をしたクラス定義の構成を示す構成図である。図11は、プロパティ「サイト訪問目的」-クラス「適職が知りたい」の場合のクラス定義を例示する。図11では、プロパティ「サイト訪問目的」-クラス「適職が知りたい」に対して、「自分自身を再確認したいのですね。」が受け止め文として定義されている。
ドメイン知識マネージャ31は、図11に例示するクラス定義を取得する。すると、クラス定義のオプション情報には、受け止め文が定義されているので、受け止め文「自分自身を再確認したいのですね。」を対話制御部11に与える。対話制御部11は、この受け止め文をシステム発話文としてユーザに出力する。
さらに、意図解析結果である「/人間/サイト訪問目的=適職が知りたい」に関する推論データが存在する場合、対話制御部11は、その推論データについて推論処理を行う(ステップS304)。この推論処理の詳細については後述する。
次に、対話制御部11は、現在のポインタが定義域クラス「パーソナリティ」-値域クラス「サイト訪問目的」であることをドメイン知識マネージャ31に与える。ドメイン知識マネージャ31は、現在のポインタが指している定義域クラス「パーソナリティ」のプロパティのうち、次に優先度が高いプロパティ「現在の職種」を次の質問対象として選択する(ステップS305)
このとき、プロパティ「現在の職種」のオプション情報としてつなぎ文が記述されている場合、ドメイン知識マネージャ31は、このつなぎ文を対話制御部11に与える。そして、対話制御部11は、つなぎ文をユーザに出力する(ステップS306)。なお、プロパティ「現在の職種」には、つなぎ文が記述されていないので、この場合、つなぎ文の出力をしない。
このとき、プロパティ「現在の職種」のオプション情報としてつなぎ文が記述されている場合、ドメイン知識マネージャ31は、このつなぎ文を対話制御部11に与える。そして、対話制御部11は、つなぎ文をユーザに出力する(ステップS306)。なお、プロパティ「現在の職種」には、つなぎ文が記述されていないので、この場合、つなぎ文の出力をしない。
そして、つなぎ文の出力後、対話制御部11は、次に優先度が高いプロパティ「現在の
職種」の基本質問文をユーザに出力する(ステップS307)。
職種」の基本質問文をユーザに出力する(ステップS307)。
上記のように、システム発話文は、「受け止め文」-「つなぎ文」-「基本質問文」の順番で発話される。また、「受け止め文」、「つなぎ文」は種々の内容のものを複数発話させるようにしても良い。このような順序でシステムが発話させることで、システムが理解できていることをユーザに示すことができる。これにより、ユーザに対する安心感を持たせ、かつ、寄り添い感をユーザに与えながら対話を進行させることができる。
(A-3-4)オントロジー受け止め文出力処理
次に、多次元オントロジーを用いたドメイン知識マネージャ31の処理について説明する。
次に、多次元オントロジーを用いたドメイン知識マネージャ31の処理について説明する。
第一は、図10のステップS303における、ドメイン知識マネージャ31が対話制御部11に出力する受け止め文出力処理の詳細について図面を参照しながら説明する。
図12は、ドメイン知識マネージャ31における受け止め文出力処理の動作を示すフローチャートである。
ドメイン知識マネージャ31は、対話制御部11から意図解析結果を受け取る。また、ドメイン知識マネージャ31は、当該ユーザのユーザデータをユーザデータ管理部51から取得する(ステップS401)。
例えば、対話制御部11からの意図解析結果が、「/人間/パーソナリティ/現在の職種=営業」とする。
また、ユーザデータ管理部51からの当該ユーザのユーザデータが、図13に示す内容であるとする。図13に示すように、ユーザデータは、オントロジー形式で記述されている。図13の場合、当該ユーザのユーザデータとしては、プロパティ「ニックネーム」のクラスがクラス「○ちゃん」であり、同様に、プロパティ「転職活動のステージ」-クラス「履歴書送付」、プロパティ「ライフイベント」-クラス「リストラ・倒産」、プロパティ「現在の業種」-クラス「医薬品」、プロパティ「現在の職種」-クラス「営業」であるとする。
なお、ユーザデータは、説明便宜上のため、ユーザの回答から得られたプロパティに対するクラスをデータとする場合を示す。しかし、例えば、ユーザの回答クラスから推論された新たなクラスをデータとする等、ユーザデータを拡張した内容であってよい。
ドメイン知識マネージャ31の特徴抽出部311が、ユーザデータと、ドメイン知識DB32に登録されている全ての次元の条件と照合し、条件に合う次元条件を抽出する(ステップS402)。つまり、特徴抽出部311は、ユーザデータに全ての次元の条件となる値が含まれているか否かを確認し、条件となる値がある場合には、その次元の条件となる値を抽出する。
例えば、ドメイン知識DB32に格納されている次元の条件として、「/人間/パーソナリティ/現在の職種=営業」、「/人間/パーソナリティ/現在の業種=医薬品」、「/人間/パーソナリティ/ライフイベント=リストラ・倒産&&/人間/パーソナリティ/現在の職種=営業」があるとする。
特徴抽出部311は、上記のような次元の条件とマッチングして、「/人間/パーソナリティ/現在の職種=営業」、「/人間/パーソナリティ/現在の業種=医薬品」、「/人間/パーソナリティ/ライフイベント=リストラ・倒産&&/人間/パーソナリティ/現在の職種=営業」という特徴をユーザデータから抽出する。
次に、条件照合部312は、特徴抽出部311が抽出した次元の条件となる値を、所定の優先度の高い順に並べ替え(ステップS403)、次元の条件となる値の有無を確認して、次元優先度定義テーブルに格納する(ステップS404)。
このとき、例えば、次元の条件の数が多いものの優先度を高くする。また、次元の条件の数が同じ場合には、事前に次元毎の優先度を設定しておき、この優先度に基づいて並べ替えをする。
例えば、特徴抽出部311が抽出した次元の条件の値のうち、「/人間/パーソナリティ/ライフイベント=リストラ・倒産&&/人間/パーソナリティ/現在の職種=営業」は条件数が2個であるから、最も優先度が高い。
次に、「/人間/パーソナリティ/現在の職種=営業」と「/人間/パーソナリティ/現在の業種=医薬品」とは、次元の条件の数が1個であり、同数である。
そこで、条件照合部312は、例えば、図14に示す次元リストを参照して、各次元の条件の値の優先度を確認し、この次元リストに従って各次元の条件の値をソートする。
図14の次元リストでは、上に記述されているものほど優先度が高い。例えば、「/人間/パーソナリティ/ライフイベント」は、「/人間/パーソナリティ/現在の職種」よりも優先度が高い。また、次元を表すパスが同じ場合、「/人間/パーソナリティ/現在の職種=営業」は、「/人間/パーソナリティ/現在の職種=SE」よりも優先度が高い。
従って、「/人間/パーソナリティ/現在の職種=営業」と「/人間/パーソナリティ/現在の業種=医薬品」について、条件照合部312は、「/人間/パーソナリティ/現在の職種=営業」が「/人間/パーソナリティ/現在の業種=医薬品」より優先度が高くなるように並べ替える。
その結果、図15に示すように、「/人間/パーソナリティ/ライフイベント=リストラ・倒産&&/人間/パーソナリティ/現在の職種=営業」、「/人間/パーソナリティ/現在の職種=営業」、「/人間/パーソナリティ/現在の業種=医薬品」の順にソートされる。
次に、多次元オントロジー生成部313は、次元優先度定義テーブルの優先度に従って、次元別オントロジーを基本オントロジーに重ね合わせて多次元オントロジーを生成する(ステップS405)。
図16は、多次元オントロジーの生成処理を説明する説明図である。図16は、ベース次元に定義されている職種クラス及びクラスオプションならびに「業種クラス=医薬品」の次元の職種クラス及びクラスオプションの定義を示す。
多次元オントロジー生成部313は、ベース次元に定義されている職種クラス及びクラスオプションに対して、「業種=医薬品」の次元の職種クラス及びクラスオプションの内容を上書きする。
このとき、図16のベース次元の職種クラスでは、クラス「職種」-クラス「営業」のオプションの受け止め文が「営業のお仕事をされているんですね。」と定義されているが、ステップS405の上書きにより、クラス「職種」-クラス「営業」のオプションの受け止め文が「競争の激しい業界でも営業は大変でしょう。」に書き換えされる。
このように、多次元オントロジーによれば、ベース次元に定義されるクラスオプション定義の内容を変更することができる。これにより、例えばユーザの職種などに応じて適切な受け止め文を出力することができる。
多次元オントロジー生成部313は、生成した多次元オントロジーを対話制御部11に出力する(ステップS406)。なお、この生成された多次元オントロジーは、ドメイン知識DB32に格納される。
(A-3-5)推論処理
第二に、図10のステップS304における、ドメイン知識マネージャ31が対話制御部に出力する推論処理の詳細について、図面を参照しながら説明する。
第二に、図10のステップS304における、ドメイン知識マネージャ31が対話制御部に出力する推論処理の詳細について、図面を参照しながら説明する。
ここでの推論処理とは、ユーザから直接得られた回答から別の値を推論することを意味する。一般に、ある値から別の値を推論する場合、その1つの値だけでなく、それに関係する別の値に鑑みて推論しなければ、適切な推論結果を得られることはできない。そこで、第1の実施形態では、このような複数の回答結果を条件とする処理を、多次元オントロジーを用いて行う。
この推理処理(推論定義の多次元化処理)は、図10及び図12を用いて説明できるので、図10及び図12を参照しながら説明する。
図17A~Cは、ドメイン知識DB32に定義されている推論定義の構成を説明する説明図である。
例えば、図17Aは、「/人間/パーソナリティ/現在の会社形態=外資系」の次元の推論定義であり、推論処理を行う定義域は「/人間/パーソナリティ/現在の職種」であり、推論により渡される値域は「/人間/強み/コンピテンシー」である。
図17Aにおいて、現在の職種が「SE」の場合と「営業」の場合の、「ITスキル」、「英語力」、「交渉力」の推定値が定義されている。
例えば、外資系に勤務しているユーザの現在の職種が「SE」の場合には、ITスキルや英語力は高いと考えられる。よって、「ITスキル=0.7」、「英語力=0.8」と高い推定値を設定する。その一方で、交渉力についてはそれほど高くないと考えられるので、「交渉力=0.2」と低めの推定値を設定する。
同様にして、外資系に勤務しているユーザの現在の職種が「営業」の場合には、英語力や交渉力は高いと考えられる。よって、例えば「英語力=0.9」、「交渉力=0.6」と高い推定値を設定する。その一方で、ITスキルについてはそれほど高くないと考えられる。よって、「ITスキル=0.1」と低めの推定値を設定する。
また図17Bは、「/人間/パーソナリティ/現在の会社形態=ベンチャー系」の次元の推論定義であり、推論処理を行う定義域は「/人間/パーソナリティ/現在の職種」であり、推論により渡される値域は「/人間/強み/コンピテンシー」とする。
例えば、ベンチャー企業に勤務しているユーザの現在の職種が「SE」の場合には、ITスキルや交渉力は高いと考えられる。よって、「ITスキル=0.9」、「交渉力=0.7」と高い推定値を設定する。その一方で、英語力についてはそれほど高くないと考えられる。よって、「英語力=0.2」と低めの推定値を設定する。
同様にして、ベンチャー企業に勤務しているユーザの現在の職種が「営業」の場合には、交渉力はきわめて高いと考えられる。よって、例えば「交渉力=0.9」と高い推定値を設定する。その一方で、ITスキルや英語力についてはそれほど高くないと考えられる。よって、「ITスキル=0.2」、「英語力=0.3」と低めの推定値を設定する。
また、図17Cは、ベース次元の推論定義であり、推論処理を行う定義域は「/人間/パーソナリティ/現在の職種」であり、推論により渡される値域は「/人間/強み/コンピテンシー」とする。
図17Cのベース次元の推論定義は、例えば現在の職種「SE」、「営業」…に対するITスキル、英語力、交渉力…の推定値はそれぞれ「0.5」と設定されている。
ドメイン知識マネージャ31は、「/人間/パーソナリティ/現在の職種=営業」という意図解析結果として図18Aに示すユーザデータを取得したとする(S401)。ドメイン知識マネージャ31は、(A-3-4)で説明した対話制御処理と同様に、次元条件と拡張ユーザデータと照合し(S402)、次元の条件を優先度順に並べ替える(S403)。
次に、ドメイン知識マネージャ31は、「/人間/パーソナリティ/現在の職種=営業」を定義域にもつ推論定義のみを抽出し(S404)、それらの推論定義を次元優先度定義テーブルの優先度順に従って、次元別のオントロジー(ここでは推論定義)を、ベースの次元のオントロジーに重ねて(S405)、多次元オントロジー(推論定義)を生成する(S406)。
ここでは、図18Aのユーザデータより、図17Aの「/人間/パーソナリティ/現在の会社形態=外資系」次元の推論定義を、図17Cのベース次元の推論定義に上書きして、多次元オントロジーを生成する。これにより、図17Aとまったく同じ内容の推論定義がドメイン知識DB32から対話制御部11に渡される。
対話制御部11は、意図解析結果が「/人間/パーソナリティ/現在の職種=営業」なので、図17Aの推論定義を参照して、外資系に勤務する「現在の職種=営業」である場合の推定値が所定の閾値(例えば0.6)以上である推定値を抽出する。
例えば、この場合、「英語力=0.9」、「交渉力=0.6」を抽出する。対話制御部11は、各推定値が閾値(例えば、0.6)以上であるものは、当該ユーザの仕事に活かせる強みであると推定し、図18Bに示すように、プロパティ「コンピテンシー」に対するクラスとしてクラス「英語力、交渉力」を生成して、ユーザデータに格納する。
また同様に、ドメイン知識マネージャ31が「/人間/パーソナリティ/現在の職種=営業」の意図解析結果として図19Aに示すユーザデータを取得したとする。図19Aのユーザデータより、「/人間/パーソナリティ/現在の会社形態=ベンチャー系」であるため、推論定義に対する多次元オントロジーの生成処理(S405)により、図17Bの推論定義を生成する。
そして、対話制御部11は、「/人間/パーソナリティ/現在の職種=営業」の意図解析結果から、図17Bの推論定義を参照して、外資系に勤務する「現在の職種=営業」である場合の推定値が所定の閾値(例えば0.6)以上である推定値を抽出する。
例えば、この場合、「交渉力=0.9」を抽出する。推定部33は、各推定値が閾値(例えば、0.6)以上であるものは、当該ユーザの仕事に活かせる強みであると推定し、図19Bに示すように、プロパティ「コンピテンシー」に対するクラスとしてクラス「交渉力」を生成して、ユーザデータに格納する。
なお、推論結果がクラスとして生成し、ユーザデータに格納されるので、推論結果としてのクラス定義のオプションに受け止め文が定義されている場合には、ドメイン知識マネージャ31は、その受け止め文(推論受け止め文)を対話制御部11に与える。対話制御部11はこの受け止め文をユーザに送信する。
(A-3-6)プロパティ定義による質問の多次元化処理
第三は、ドメイン知識マネージャ31が、プロパティ定義を多次元化する処理について図面を参照しながら説明する。
第三は、ドメイン知識マネージャ31が、プロパティ定義を多次元化する処理について図面を参照しながら説明する。
このプロパティ定義の多次元化処理は、図10及び図12を用いて説明できる。よって、ここでも図10及び図12を参照して説明する。
例えば、ユーザの現在の職種が「SE」の場合と「営業」の場合とで、次に聞くべき質問が違ってくる。しかし、多次元オントロジーでは、質問を変えたい職種毎に次元を複数定義しておき、職種が判明した時点で参照するプロパティ定義を切り替える。これにより、ユーザの職種に応じた適正な質問を行うことができる。
まず、対話制御部11は、現次元における次のプロパティを決定するために、ドメイン知識マネージャ31に定義域クラスを与える。また、ドメイン知識マネージャ31は、当該ユーザのユーザデータをユーザデータ管理部51から取得する(ステップS301、S302)。
例えば、ドメイン知識マネージャ31が取得したユーザデータが図20Aの場合と、図20Bの場合について説明する。
図20Aは、ユーザの現在の職種が「営業」である場合であり、図20Bは、ユーザの現在の職種が「SE」である場合を示す。なお、共に、意図解析結果は「/人間/パーソナリティ/転職理由=キャリアアップ」であり、現在のポインタが示す定義域クラスは「人間」クラスであるとする。
ドメイン知識マネージャ31は、図12のS401~S404に従って、次元優先度定義テーブルを作成する。
このとき、ドメイン知識マネージャ31は、次元優先度定義テーブルの優先度に従って、次元別のプロパティ定義を、ベース次元のプロパティ定義に重ね合わせ(上書きし)、プロパティ定義の多次元化を行う(ステップS405)。
すなわち、(A-3-4)では、ベース次元である基本オントロジーのクラスオプション定義を変更(上書き変更)した場合を示した。しかし、ここでは、ベース次元の基本オントロジーのプロパティ定義を変更(上書き変更)する。
例えば、図21は、ベース次元に定義されているプロパティ定義の構成を示す。図21は、変更前のプロパティ定義であり、図5に示すプロパティ定義の一部に対応する。
図21において、クラス間を結ぶ線には、「プロパティ名 重要度/優先度」が示されている。例えば、「パーソナリティ 1/1」は、プロパティ名がパーソナリティ、重要度が1、優先度が1を示す。
図20A及び図20Bの例では、「/人間/パーソナリティ/転職理由」まで意図解析されているので、図20A~Bに示すように、次に優先度の高いプロパティ「仕事の経験」が選択される。
図20Aの場合、ユーザデータが「/人間/パーソナリティ/現在の職種=営業」である。よって、ドメイン知識マネージャ31は、「/人間/パーソナリティ/現在の職種=営業」次元のプロパティ定義をドメイン知識DB32から取得する。
図22は、「/人間/パーソナリティ/現在の職種=営業」次元のプロパティ定義を表形式およびネットワーク表現にしたときの例、ならびに図21に示すベース次元と「/人間/パーソナリティ/現在の職種=営業」次元が重ね合わされたプロパティ定義をネットワーク表現にしたときの例を示す。
図22に例示するプロパティ定義は、「/人間/パーソナリティ/現在の職種=営業」次元のプロパティ定義である。よって、所属企業の規模やクライアント業界などよりも、相手顧客や経験業態について質問することが重要と考えられる。従って、プロパティ「相手顧客」の重要度/優先度を「1/1」とし、プロパティ「経験業態」の重要度/優先度を「1/0.9」と定義している。
そして、多次元オントロジー生成部313は、図21に示すベース次元のプロパティ定義に、図22に示す「/人間/パーソナリティ/現在の職種=営業」次元のプロパティ定義を上書きする。これにより、図22に図示されているように、ベース次元と「/人間/パーソナリティ/現在の職種=営業」次元が重ね合わされたプロパティ定義を生成する。
これにより、図20Aのユーザデータを有するユーザに対する次の質問文として、定義域「現在の仕事」-プロパティ「相手顧客」-値域「顧客」の基本質問文「対象となる顧客はどのような方ですか?」が、対話制御部11から出力される(ステップS305)。
また例えば、図20Bの場合、ユーザデータが「/人間/パーソナリティ/現在の職種=SE」であるから、ドメイン知識マネージャ31は、「/人間/パーソナリティ/現在の職種=SE」次元のプロパティ定義をドメイン知識DB32から取得する。
図23は、「/人間/パーソナリティ/現在の職種=SE」次元のプロパティ定義を表形式およびネットワーク表現にしたときの例、ならびに図21に示すベース次元と「/人間/パーソナリティ/現在の職種=SE」次元が重ね合わされたプロパティ定義をネットワーク表現にしたときの例を示す。
図23に示すプロパティ定義は、「/人間/パーソナリティ/現在の職種=SE」次元のプロパティ定義である。よって、相手顧客や経験業態などよりも、所属企業の規模やクライアント業界について質問することが重要と考えられる。従って、プロパティ「所属企業規模」の重要度/優先度を「1/1」とし、プロパティ「クライアント業界」の重要度/優先度を「1/0.9」と定義している。
そして、多次元オントロジー生成部313は、図21に示すベース次元のプロパティ定義に、図23に示す「/人間/パーソナリティ」/現在の職種=営業」次元のプロパティ定義を上書きすることにより、図23に図示されているようにベース次元と「/人間/パーソナリティ/現在の職種=SE」次元が重ね合わされたプロパティ定義を生成する。
これにより、図20Bのユーザデータを有するユーザに対する次の質問文として、定義域「現在の仕事」-プロパティ「相手顧客」-値域「企業規模」の基本質問文「会社の規模はどのくらいですか?」が、対話制御部11から出力される(ステップS305)。
(A-3-7)つなぎ文の出力処理
第四は、対話制御部11が出力する多次元オントロジーを用いたつなぎ文出力処理について図面を参照しながら詳細に説明する。
第四は、対話制御部11が出力する多次元オントロジーを用いたつなぎ文出力処理について図面を参照しながら詳細に説明する。
この基本質問文及びつなぎ文の多次元化処理は、図10及び図12を用いて説明できる。よって、ここでも図10及び図12を参照して説明する。
例えば、ユーザからの回答からユーザの状況を把握し、ユーザの状況に応じて次に聞くべき質問が違ってくる。しかし、多次元オントロジーでは、ユーザの状況に応じた次元を複数定義しておき、ユーザの状況に応じた基本質問文及びつなぎ文を切り替えることができる。
まず、対話制御部11は、現次元における次のプロパティを決定するために、ドメイン知識マネージャ31に定義域クラスを与える。また、ドメイン知識マネージャ31は、当該ユーザのユーザデータをユーザデータ管理部51から取得する(ステップS301、S302)。
例えば、ドメイン知識マネージャ31が取得したユーザデータが図24の場合について説明する。
図24は、意図解析結果が「/人間/パーソナリティ/ライフイベント=リストラ・倒産」であり、現在のポインタが示す定義域クラスは「パーソナリティ」クラスであるとする。
ドメイン知識マネージャ31は、図12のS401~S404に従って、次元優先度定義テーブルを作成する。
このとき、ドメイン知識マネージャ31は、次元優先度定義テーブルの優先度に従って、次元別のプロパティ定義を、ベース次元のプロパティ定義に重ね合わせ(上書きし)、プロパティ定義の多次元化を行う(ステップS405)。
例えば、図25の例1は、「転職活動のステージ=履歴書送付&&ライフイベント=リストラ・倒産&&年代=40歳以上」次元のプロパティ定義の構成を示す。
図25の例2は、「転職活動のステージ=履歴書送付&&ライフイベント=リストラ・倒産」次元のプロパティ定義の構成を示す。
図25の例3は、条件のない次元のプロパティ定義の構成を示す。
ドメイン知識マネージャ31は、図23に示すユーザデータと図25の例1~3に示す次元条件とを照合する。次元条件にマッチする次元条件は、「転職活動のステージ=履歴書送付&&ライフイベント=リストラ・倒産」である。
従って、図25の例1に示す次元のプロパティ定義は適用しない。
一方、図24のユーザデータがマッチする次元条件は、図25の例2及び図25の例3の次元条件にはマッチする。
また、次元優先度定義テーブルでは、次元条件数が多いものについて優先度を高くしている。よって、ドメイン知識マネージャ31は、図25の例2及び例3のうち、優先度が高い例2を選択し、例2の次元のプロパティ定義を、ベース次元のプロパティ定義に上書きする。
これにより、対話制御部11は、図25の例2に記述されているつなぎ文及び基本質問文をユーザに出力する(ステップS305)。
すなわち、対話制御部11は、つなぎ文として「はじめまして○ちゃんさん、現在の転職活動状況を見ますと、すでに履歴書を送付しているとのこと。積極的に転職活動を行なっていらっしゃるようですね。さてあなたは、倒産やリストラといったキーワードにチェックされていますね。開示していただきありがとうございます。今回はあなたのできることや強みをきちんと棚卸ししながら、ぜひ一緒に、新しい可能性を見つけていきましょう。」を出力する。
さらに、その後、対話制御部11は、基本質問部として「まずは、転職をするきっかけとなった状況について、もう少し詳しく教えていただけますか?」をユーザに出力する。
(A-3-8)頻出表現サブルーチン
最後に、対話制御部11による頻出表現サブルーチン処理について図面を参照しながら説明する。
最後に、対話制御部11による頻出表現サブルーチン処理について図面を参照しながら説明する。
頻出表現サブルーチンは、ユーザ発話から、特別な表現又はクラスが指定した回数を超えて取得された場合に発火するサブルーチンである。
この頻出表現サブルーチン定義は、ドメイン知識DB32に格納されている。図26は、頻出表現サブルーチン定義の構成例を示す。図26に示すように、頻出表現サブルーチンは、頻出表現クラス名を示すSR名、頻出表現文字列リスト、頻出回数を項目とする。
まず、意図解析部20は、ユーザ発話文を解析して、頻出表現文字列リストに登録されている頻出表現文字列が含まれているかチェックする。
そして、頻出表現文字列が含まれている場合、意図解析部20は、頻出表現文字列の出現頻度をカウントし、頻出表現サブルーチンに定義されている頻出回数を超えるか否かを判断する。
頻出表現文字列の出現頻度が頻出回数を超えている場合、意図解析部20は、図27に示すようなユーザデータを拡張ユーザデータ53に格納する。
例えば、図26のクラス「不安」の頻出表現文字列リストに登録されている「心配」、「不安だ」、「心細い」等の表現が3回以上出現した場合、図27に示すユーザデータクラス名「不安」のユーザデータが、ユーザデータ管理部51の拡張ユーザデータ53に格納される(ステップS103)。
ドメイン知識マネージャ31は、図27に示す「状態=不安」クラスが、拡張ユーザデータ53に格納されている場合、次の対話制御として処理を行う(ステップS104)。
ここで、対話制御処理は、(A-3-4)で説明した処理に準じる。しかし、異なる点は、(A-3-4)の意図解析結果に代えて、頻出表現サブルーチンの解析結果が次元の条件となる点である。
つまり、ドメイン知識マネージャ31は、図28Bに示す「転職理由」-「倒産」のベース次元のクラス定義の内容に、図28Aに示す「状態=不安」の次元のクラス定義の内容を上書きをし、多次元オントロジーを生成する。
これにより、最終的に、図28Aで定義した受け止め文が出力される。なお、「状態=不安」の次元のクラスがセットされていない場合には、図28Bのクラス定義は、上書きされないので、図28Bで定義した受け止め文が出力される。
(A-4)第1の実施形態の効果
以上のように、従来のオントロジーでは静的なデータの取得及び提示となっていたが、第1の実施形態によれば、多次元オントロジーを利用することにより、対話で取得したデータに応じて意味空間を瞬時に切り替えることができるので、ダイナミックな対話を実現することができる。
以上のように、従来のオントロジーでは静的なデータの取得及び提示となっていたが、第1の実施形態によれば、多次元オントロジーを利用することにより、対話で取得したデータに応じて意味空間を瞬時に切り替えることができるので、ダイナミックな対話を実現することができる。
また、第1の実施形態によれば、多次元オントロジーを利用することにより、ユーザの発言に対して、寄り添う感を与える応答や対話の流れを円滑にしたり、ユーザの状況変化に応じて質問すべき事柄の重要度を刻々と変化させたりすることができる。
さらに、第1の実施形態によれば、ユーザから得られたデータを基にして推論処理を行うことができるので、ユーザから直接得られた回答だけでなく、ユーザの回答から真意を推定することができる。
また、第1の実施形態によれば、ユーザが数多く発話する頻出表現を検出することにより、ユーザの真意を把握し、これに応じた応答を実現することができる。
また、第1の実施形態によれば、大量の次元の設定(細かな条件の設定)をしても、実際に使用されるオントロジーは、1層のオントロジーであるため、高速にデータにアクセスできる。
(B)他の実施形態
(B-1)多次元オントロジーは、対話制御システム・プログラムだけでなく、常に環境が変化する状態のもとで、その環境に応じてデータを使い分ける必要があるシステム・プログラム全てに有効である。例えば、推論エンジンを備えたエキスパートシステム、意思決定システム、エージェントシステム等が挙げられる。
(B-1)多次元オントロジーは、対話制御システム・プログラムだけでなく、常に環境が変化する状態のもとで、その環境に応じてデータを使い分ける必要があるシステム・プログラム全てに有効である。例えば、推論エンジンを備えたエキスパートシステム、意思決定システム、エージェントシステム等が挙げられる。
(B-2)第1の実施形態では、ユーザ発話を解析するための意図解析部を備えた例を示したが、意図解析部はなくてもよい。例えば、システムが予め用意した選択肢をユーザが選び、選択結果に応じて、次元が切り替わるシステムでも動作原理は同じである。
(B-3)第1の実施形態では、次元に応じて、オプション定義の受け止め文、つなぎ文の値や、推論定義で用いる類似度の値が変わる例を示したが、次元に応じて変化する値は、どんなものでも構わない。クラスの値自身も次元に応じて変わるようにしてもよい(例えば、あるクラスのサブクラスを次元によって変わるようにすることもできる)。
(B-3)第1の実施形態の(A-3-8)では、頻出表現のサブルーチンを例示したが、これに限定されるものではなく、例えばアラートワードであってもいい。
Claims (12)
- 概念や概念間の関係を示すドメイン知識を体系的に表現したオントロジーを用いて所定の処理を行うオントロジー処理システムであって、
条件の組み合わせの次元ごとに前記ドメイン知識の内容が異なる1以上の次元別オントロジーを格納する次元別オントロジー格納手段と、
条件なしの時の前記ドメイン知識の内容を有する基本オントロジーを格納する基本オントロジー格納手段と、
前記次元毎の優先度を示す次元優先度を格納する次元優先度格納手段と、
条件が設定されると、前記次元別オントロジー格納手段から設定された前記条件に合う1以上の前記次元別オントロジーを取り出す次元別オントロジー取出手段と、
取り出された前記各次元別オントロジーのうち、前記次元優先度格納手段の前記次元優先度に従って前記次元優先度の低いものから順に、前記各次元別オントロジーの内容を前記基本オントロジーに上書きして、設定された前記条件で使用する多次元オントロジーを生成する多次元オントロジー生成手段と、
前記多次元オントロジー生成手段により生成された前記多次元オントロジーを用いて所定の処理を行う処理手段と
を備えるオントロジー処理システム。 - 前記ドメイン知識は、概念や概念間の関係、及び、質問に適用する概念から次の質問に適用する概念への移行関係を設定する対話進行情報を有し、
前記所定の処理は、
ユーザに対する質問を定めて質問を行い、その質問に対するユーザ回答を受け取り、そのユーザ回答に応じた条件に従って前記多次元オントロジー生成手段により生成された前記多次元オントロジーに基づいて次の質問に適用する概念を決定して、ユーザに質問を与えることを含む、
請求項1に記載のオントロジー処理システム。 - 概念や概念間の関係を示すドメイン知識を体系的に表現したオントロジーを用いて所定の処理を行うオントロジー処理プログラムが記憶されたコンピュータ可読記憶媒体であって、
前記オントロジー処理は、
条件の組み合わせの次元ごとに前記ドメイン知識の内容が異なる1以上の次元別オントロジーを格納し、
条件なしの時の前記ドメイン知識の内容を有する基本オントロジーを格納し、
前記次元毎の優先度を示す次元優先度を格納し、
条件が設定されると、設定された前記条件に合う1以上の前記次元別オントロジーを前記格納された1以上の前記次元別オントロジーから取り出し、
取り出された前記各次元別オントロジーのうち、前記格納された前記次元優先度に従って前記次元優先度の低いものから順に、前記各次元別オントロジーの内容を前記基本オントロジーに上書きして、設定された前記条件で使用する多次元オントロジーを生成し、
前記生成された前記多次元オントロジーを用いて所定の処理を行う、
ことを含む、
コンピュータ可読記憶媒体。 - 質問に用いる概念や概念間の関係を示すドメイン知識を体系的に表現したオントロジーを用いて、ユーザに対する質問を定めて質問を行い、その質問に対するユーザ回答を受け取り、そのユーザ回答に応じた対話を制御する対話制御システムであって、
前記ドメイン知識は、概念や概念間の関係、及び、質問に適用する概念から次の質問に適用する概念への移行関係を設定する対話進行情報を有し、
条件の組み合わせの次元ごとに前記ドメイン知識の内容が異なる1以上の次元別オントロジーを格納する次元別オントロジー格納手段と、
条件なしの時の前記ドメイン知識の内容を有する基本オントロジーを格納する基本オントロジー格納手段と、
前記次元毎の優先度を示す次元優先度を格納する次元優先度格納手段と、
ユーザ回答の概念が条件として設定されると、前記次元別オントロジー格納手段から前記条件に合う1以上の前記次元別オントロジーを取り出す次元別オントロジー取出手段と、
取り出された前記各次元別オントロジーのうち、前記次元優先度格納手段の前記次元優先度に従って前記次元優先度の低いものから順に、前記各次元別オントロジーの内容を前記基本オントロジーに上書きして、前記条件で使用する多次元オントロジーを生成する多次元オントロジー生成手段と、
前記多次元オントロジー生成手段により生成された前記多次元オントロジーの前記対話進行情報に基づいて次の質問に適用する概念を決定して、ユーザに質問を与える対話制御手段と
を備える対話制御処理システム。 - 前記ドメイン知識は、概念間の関係に質問文が設定されており、
前記対話制御手段は、次の質問に適用する概念に設定されている前記質問文をユーザに出力する請求項4に記載の対話制御システム。 - 前記ドメイン知識は、概念間の関係に、少なくとも受け止め文やつなぎ文が設定されており、
前記多次元オントロジー生成手段が、前記ユーザ回答の概念を条件として前記多次元オントロジーを生成することにより、前記受け止め文や前記つなぎ文を動的に変更し、
前記対話制御手段は、動的に変更した前記受け止め文や前記つなぎ文をユーザに出力する
請求項4に記載の対話制御システム。 - 前記基本オントロジー及び前記各次元別オントロジーは、ある概念から他の概念を推論する推論定義情報を有し、
前記多次元オントロジー生成手段が、前記ユーザ回答の概念を条件として前記多次元オントロジーを生成することにより、前記推論定義を動的に変更し、
前記対話制御手段は、動的に変更した前記推論定義に基づいて、前記ユーザ回答の概念に応じた概念を推論する
請求項4に記載の対話制御システム。 - 前記対話制御手段の前段に、ユーザに対して行った質問に対して取得した前記ユーザ回答の概念からユーザの意図解析を行う意図解析手段を備える請求項4に記載の対話制御システム。
- 前記意図解析手段が、前記ユーザ回答の概念に基づいて、ある特別な表現や単語を所定回数以上だけ検出した場合に、前記多次元オントロジー生成手段は、前記ある特別な表現や単語を条件とした多次元オントロジーを生成する請求項8に記載の対話制御システム。
- 質問に用いる概念や概念間の関係を示すドメイン知識を体系的に表現したオントロジーを用いて、ユーザに対する質問を定めて質問を行い、その質問に対するユーザ回答を受け取り、そのユーザ回答に応じた対話を制御する対話制御プログラムが記憶されたコンピュータ可読記憶媒体であって、
前記ドメイン知識は、概念や概念間の関係、及び、質問に適用する概念から次の質問に適用する概念への移行関係を設定する対話進行情報を有し、
前記対話を制御することは、
条件の組み合わせの次元ごとに前記ドメイン知識の内容が異なる1以上の次元別オントロジーを格納し、
条件なしの時の前記ドメイン知識の内容を有する基本オントロジーを格納し、
前記次元毎の優先度を示す次元優先度を格納し、
ユーザ回答の概念が条件として設定されると、前記条件に合う1以上の前記次元別オントロジーを前記格納された1以上の前記次元別オントロジーから取り出し、
取り出された前記各次元別オントロジーのうち、前記格納された前記次元優先度に従って前記次元優先度の低いものから順に、前記各次元別オントロジーの内容を前記基本オントロジーに上書きして、前記条件で使用する多次元オントロジーを生成し、
前記生成された前記多次元オントロジーの前記対話進行情報に基づいて次の質問に適用する概念を決定させて、ユーザに質問を与える、ことを含む、
コンピュータ可読記憶媒体。 - 概念や概念間の関係を示すドメイン知識を体系的に表現したオントロジーを用いて所定の処理を行うオントロジー処理方法であって、
条件の組み合わせの次元ごとに前記ドメイン知識の内容が異なる1以上の次元別オントロジーを格納し、
条件なしの時の前記ドメイン知識の内容を有する基本オントロジーを格納し、
前記次元毎の優先度を示す次元優先度を格納し、
条件が設定されると、設定された前記条件に合う1以上の次元別オントロジーを前記格納された1以上の前記次元別オントロジーから取り出し、
取り出された前記各次元別オントロジーのうち、前記格納された前記次元優先度に従って前記次元優先度の低いものから順に、前記各次元別オントロジーの内容を前記格納された前記基本オントロジーに上書きして、設定された前記条件で使用する多次元オントロジーを生成し、
前記生成された前記多次元オントロジーを用いて所定の処理を行う
オントロジー処理方法。 - 質問に用いる概念や概念間の関係を示すドメイン知識を体系的に表現したオントロジーを用いて、ユーザに対する質問を定めて質問を行い、その質問に対するユーザ回答を受け取り、そのユーザ回答に応じた対話を制御する方法であって、
前記ドメイン知識は、概念や概念間の関係、及び、質問に適用する概念から次の質問に適用する概念への移行関係を設定する対話進行情報を有するものであり、
条件の組み合わせの次元ごとに前記ドメイン知識の内容が異なる1以上の次元別オントロジーを格納し、
条件なしの時の前記ドメイン知識の内容を有する基本オントロジーを格納し、
前記次元毎の優先度を示す次元優先度を格納し、
ユーザ回答の概念が条件として設定されると、前記条件に合う1以上の前記次元別オントロジーを前記格納された前記1以上の次元別オントロジーから取り出し、
取り出された前記各次元別オントロジーのうち、前記格納された前記次元優先度に従って前記次元優先度の低いものから順に、前記各次元別オントロジーの内容を前記基本オントロジーに上書きして、前記条件で使用する多次元オントロジーを生成し、
前記生成された前記多次元オントロジーの前記対話進行情報に基づいて次の質問に適用する概念を決定して、ユーザに質問を与える
対話制御処理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/145,516 US8694453B2 (en) | 2009-04-30 | 2009-12-15 | Dialogue control system, method and computer readable storage medium, and multidimensional ontology processing system, method and computer readable storage medium |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009-110637 | 2009-04-30 | ||
JP2009110637A JP4890585B2 (ja) | 2009-04-30 | 2009-04-30 | 対話制御システム及びプログラム、並びに、多次元オントロジー処理システム及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2010125709A1 true WO2010125709A1 (ja) | 2010-11-04 |
Family
ID=43031869
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2009/070907 WO2010125709A1 (ja) | 2009-04-30 | 2009-12-15 | 対話制御システム、方法及びコンピュータ可読記憶媒体、並びに、多次元オントロジー処理システム、方法及びコンピュータ可読記憶媒体 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8694453B2 (ja) |
JP (1) | JP4890585B2 (ja) |
WO (1) | WO2010125709A1 (ja) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9047611B2 (en) * | 2010-01-25 | 2015-06-02 | Yahoo! Inc. | System and method for finding relative score and enhancing one or more scores associated with data objects |
US8688453B1 (en) * | 2011-02-28 | 2014-04-01 | Nuance Communications, Inc. | Intent mining via analysis of utterances |
WO2013140767A1 (ja) * | 2012-03-23 | 2013-09-26 | 日本電気株式会社 | コンテキスト処理装置、情報処理装置、コンテキスト処理方法、および、コンピュータ・プログラム |
JP2014229180A (ja) * | 2013-05-24 | 2014-12-08 | 学校法人東京電機大学 | 内省支援装置、内省支援方法、内省支援プログラム、対話装置、対話方法および対話プログラム |
US10042902B2 (en) * | 2014-01-29 | 2018-08-07 | International Business Machines Corporation | Business rules influenced quasi-cubes with higher diligence of data optimization |
US9898527B2 (en) | 2014-03-24 | 2018-02-20 | Wipro Limited | Methods for retrieving information and devices thereof |
JP6578685B2 (ja) * | 2015-03-16 | 2019-09-25 | 富士通株式会社 | 関係推定方法、関係推定プログラムおよび情報処理装置 |
JP6544131B2 (ja) * | 2015-08-14 | 2019-07-17 | 富士ゼロックス株式会社 | 情報処理装置及び情報処理プログラム |
CN107742178A (zh) * | 2017-09-18 | 2018-02-27 | 上海量明科技发展有限公司 | 任务量化方法及装置 |
JP6805112B2 (ja) | 2017-11-08 | 2020-12-23 | 株式会社東芝 | 対話システム、対話方法および対話プログラム |
US11252113B1 (en) * | 2021-06-15 | 2022-02-15 | Drift.com, Inc. | Proactive and reactive directing of conversational bot-human interactions |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7249117B2 (en) * | 2002-05-22 | 2007-07-24 | Estes Timothy W | Knowledge discovery agent system and method |
US20050278362A1 (en) * | 2003-08-12 | 2005-12-15 | Maren Alianna J | Knowledge discovery system |
JP2008036356A (ja) | 2006-08-10 | 2008-02-21 | Olympus Corp | 電子内視鏡装置及び電子内視鏡システム |
JP2008036342A (ja) | 2006-08-10 | 2008-02-21 | Masayuki Matsumoto | 生体伝達装置 |
US20090228439A1 (en) * | 2008-03-07 | 2009-09-10 | Microsoft Corporation | Intent-aware search |
-
2009
- 2009-04-30 JP JP2009110637A patent/JP4890585B2/ja active Active
- 2009-12-15 WO PCT/JP2009/070907 patent/WO2010125709A1/ja active Application Filing
- 2009-12-15 US US13/145,516 patent/US8694453B2/en active Active
Non-Patent Citations (2)
Title |
---|
KAZUNORI KOMATANI ET AL.: "Onsei Taiwa System ni Okeru Tekioteki na Oto Seisei o Okonau Tameno User Model", THE TRANSACTIONS OF THE INSTITUTE OF ELECTRONICS, INFORMATION AND COMMUNICATION ENGINEERS, vol. J87-D-II, no. 10, 1 October 2004 (2004-10-01), pages 1921 - 1928 * |
SAYORI SHIMOHATA ET AL.: "Laddering-gata Kensaku Service no Tameno Domain Chishiki Kochiku, Oyobi, Jissho Jikken", IPSJ SIG NOTES, vol. 2008, no. 67, 10 July 2008 (2008-07-10), pages 103 - 108 * |
Also Published As
Publication number | Publication date |
---|---|
US20110282913A1 (en) | 2011-11-17 |
US8694453B2 (en) | 2014-04-08 |
JP2010262343A (ja) | 2010-11-18 |
JP4890585B2 (ja) | 2012-03-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2010125709A1 (ja) | 対話制御システム、方法及びコンピュータ可読記憶媒体、並びに、多次元オントロジー処理システム、方法及びコンピュータ可読記憶媒体 | |
US11036774B2 (en) | Knowledge-based question answering system for the DIY domain | |
US11315560B2 (en) | Method for conducting dialog between human and computer | |
US10540965B2 (en) | Semantic re-ranking of NLU results in conversational dialogue applications | |
KR102189855B1 (ko) | 다이얼로그 시스템들에서의 파라미터 수집 및 자동 다이얼로그 생성 | |
US20170337261A1 (en) | Decision Making and Planning/Prediction System for Human Intention Resolution | |
US7822699B2 (en) | Adaptive semantic reasoning engine | |
KR101751113B1 (ko) | 기억 능력을 이용하는 다중 사용자 기반의 대화 관리 방법 및 이를 수행하는 장치 | |
US20150286943A1 (en) | Decision Making and Planning/Prediction System for Human Intention Resolution | |
AU2019219717B2 (en) | System and method for analyzing partial utterances | |
JP2002259372A (ja) | 計画に基づくダイアログを実行する方法および装置 | |
JP2009528621A (ja) | 適応的セマンティックプラットフォームアーキテクチャ | |
WO2014164484A2 (en) | Communicating context across different components of multi-modal dialog applications | |
KR101677859B1 (ko) | 지식 베이스를 이용하는 시스템 응답 생성 방법 및 이를 수행하는 장치 | |
KR20090000442A (ko) | 범용 대화서비스 장치 및 그 방법 | |
JP2001357053A (ja) | 対話装置 | |
US20230103313A1 (en) | User assistance system | |
US8775459B2 (en) | Method and apparatus for robust input interpretation by conversation systems | |
JP6882975B2 (ja) | 対話ログ群からコンテキストを決定可能な対話シナリオ生成装置、プログラム及び方法 | |
JP4795452B2 (ja) | 検索システム及び検索プログラム | |
Bose | Natural Language Processing: Current state and future directions | |
Wantroba et al. | A method for designing dialogue systems by using ontologies | |
JP2014229180A (ja) | 内省支援装置、内省支援方法、内省支援プログラム、対話装置、対話方法および対話プログラム | |
CN111046151A (zh) | 一种消息处理方法及装置 | |
Litvin et al. | Development of natural language dialogue software systems |
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: 09844052 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 13145516 Country of ref document: US |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 09844052 Country of ref document: EP Kind code of ref document: A1 |