WO2023100384A1 - 処理動作支援装置及びプログラム - Google Patents

処理動作支援装置及びプログラム Download PDF

Info

Publication number
WO2023100384A1
WO2023100384A1 PCT/JP2022/010009 JP2022010009W WO2023100384A1 WO 2023100384 A1 WO2023100384 A1 WO 2023100384A1 JP 2022010009 W JP2022010009 W JP 2022010009W WO 2023100384 A1 WO2023100384 A1 WO 2023100384A1
Authority
WO
WIPO (PCT)
Prior art keywords
entity
intent
processing operation
text data
natural language
Prior art date
Application number
PCT/JP2022/010009
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 WO2023100384A1 publication Critical patent/WO2023100384A1/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/30Semantic analysis

Definitions

  • the present invention relates to a processing operation support device and program suitable for automatically executing various processing operations based on text data acquired from documents or conversational sentences.
  • Patent Document 1 In recent years, techniques have been proposed for outputting appropriate search results even when conversational sentences seeking the same search results change dynamically (see Patent Document 1, for example).
  • an entity included in one or more received conversational sentences is parameterized, or an intent having an action name specifying a processing operation and a webhook corresponding to the conversational sentence is determined, and further The database is searched through an API using information for executing processing operations specified by these entities, intents, etc. as parameters.
  • the present invention has been devised in view of the above-mentioned problems, and its object is to automatically execute various processing operations based on text data acquired from a document or conversational sentence.
  • a processing operation support device and program capable of specifying a processing operation based on the history of a conversation so far by simply acquiring only verbs, nouns (noun phrases), and case components in the operation support device and program. is to provide
  • a processing operation support device includes reception means for receiving input of text data via voice or an input terminal, and natural language analysis of the text data received by the reception means to obtain an entity value and an intent. and a natural language analysis means for extracting either or both of, and if the intent cannot be identified as a result of the natural language analysis of the text data by the natural language analysis means, the text data that has already been processed Inheritance means for inheriting the intent from the newer one chronologically, and inheriting the entity value of the text data for which the processing operation has already been executed from the newer one chronologically if the entity value is insufficient; Identification by supplementing one or both of the intent and the entity inherited by the inheritance means in addition to one or both of the entity value and the intent extracted by the natural language analysis means and an executing means for executing the processing operation to be performed.
  • a processing operation support device is the processing operation support device according to the first invention, wherein the inheritance means inputs either or both of the entity value and the intent extracted by the natural language analysis means, and the output is the inheritance Either one or both of the intent to be inherited and the entity to be inherited are specified by referring to the learning data set as the entity value to be inherited and/or the intent to be inherited.
  • a processing operation support device is the processing operation support device according to the first aspect, wherein when the succession means cannot specify the intent as a result of the natural language analysis of the text data by the natural language analysis means, the intent is executed immediately before. Inherit the above intent necessary to identify the processing operation executed immediately before, and inherit the above entity value necessary to identify the processing operation executed immediately before if the entity value is insufficient. Characterized by
  • a processing operation support device is, in any one of the first to third aspects of the invention, the entity and the intent that specify the processing operation to be executed by the execution means in chronological order. It is characterized by further comprising storage means for storing as a tent.
  • a processing operation support apparatus is the processing operation support device according to any one of the first to fourth aspects, wherein the execution means can identify the intent in the inheritance means and it is determined that the entity value is satisfied.
  • the method is executed, a processing operation specified only by the entity value extracted by the natural language analysis means and the intent is executed.
  • a processing operation support program includes a receiving step of receiving input of text data via voice or an input terminal, and a natural language analysis of the text data received in the receiving step to obtain an entity value and an intent.
  • a natural language analysis step for extracting one or both of them, and if the intent cannot be identified as a result of the natural language analysis of the text data in the natural language analysis step, the index of the text data for which the processing operation has already been executed an inheritance step of inheriting the tent from the newer one chronologically and, if the entity value is insufficient, inheriting the entity value of the text data for which the processing operation has already been performed from the newer one chronologically;
  • FIG. 1 is a block configuration diagram of a processing operation support device to which the present invention is applied.
  • FIG. 2 is a diagram showing an example of intents, entity values, and actions stored in a storage unit.
  • FIG. 3 is a diagram showing the operation flow executed by the processing operation support device to which the present invention is applied.
  • FIG. 4 is a diagram showing a flowchart of a processing operation support device to which the present invention is applied.
  • FIG. 5 is a diagram showing an example of inheriting entity values.
  • FIG. 6 is a diagram for explaining a type that inherits neither intent nor entity.
  • FIG. 7 is a diagram for explaining a type that inherits both intent and entity.
  • FIG. 8 is a diagram for explaining a type in which intents are inherited but entities are not inherited.
  • FIG. 9 is a diagram for explaining a type in which intents are not inherited but entities are inherited.
  • FIG. 10 is a diagram for explaining an example of using learning data by artificial intelligence in a processing operation support
  • the processing operation support device in the embodiment is, for example, a server.
  • the server is, for example, a server in a company that provides services such as information retrieval, but it may be a cloud server, an ASP server, or the like, and the type is not limited.
  • the server is communicably connected to one or more terminals (not shown) via a network such as a LAN or the Internet, or a wireless or wired communication line.
  • the terminal is, for example, a mobile terminal of a user who uses services such as information retrieval, but it may be a stationary PC or the like, and the type is not limited.
  • the mobile terminal is, for example, a tablet terminal, a smart phone, a mobile phone, a notebook PC, etc., but is not limited to these.
  • FIG. 1 is a block diagram of a processing operation support device 100 according to an embodiment.
  • the processing operation support device 100 includes a basic information unit 1 , a reception unit 2 , a processing unit 3 and an output unit 4 .
  • the basic information section 1 includes an intent information section 12 , an API information section 13 and an entity information section 15 .
  • the reception unit 2 includes conversation sentence reception means 21 and character string reception means 213 .
  • Conversational sentence accepting means 21 includes voice accepting means 211 and voice recognizing means 212 .
  • the processing unit 3 includes intent determination means 31 , entity acquisition means 33 , parameter acquisition means 34 , API information acquisition means 35 , API parameter setting means 36 , and search result acquisition means 37 .
  • the output unit 4 includes search result output means 41 .
  • the basic information section 1 is a database that stores various types of information.
  • Various types of information are, for example, tables, intents, API information, corpora, entities, entity mapping information, PK items, and date conversion information. Information such as the table will be described later. Other information will be explained as appropriate.
  • the basic information section 1 stores one or more tables.
  • the table may be, for example, a tabular database.
  • one or more item names are registered in the table, and one or more values are registered for each of the one or more item names.
  • An item name may be called an attribute name, and one or more values corresponding to one item name may be called attribute values.
  • the table is, for example, a relational database table, TSV, Excel, CSV, neural network, etc., but the type is not limited to these.
  • the intent information section 12 stores one or more intents.
  • An intent is information managed for each processing operation.
  • the management for each processing operation may be stored in the intent information section 12 in association with information specifying the processing operation, for example.
  • Information specifying a processing operation is usually an action name and a webhook, which will be described later, but the format is not limited to these.
  • Corresponding also includes, for example, the case where an intent has information specifying a processing operation.
  • the intent information section 12 also stores action determination information and instruction actions, which will be described later.
  • Processing operations include not only work-related processes, but also all kinds of actions and life-related processes.
  • the work includes, for example, working until the fixed time, overtime work after the fixed time, leave, absenteeism, A project, B project, accounting, manufacturing, etc., but the types are not limited to these.
  • a processing operation is, for example, a retrieval of information. It should be noted that the search may also be referred to as inquiry, for example.
  • the information to be searched is, for example, attendance information such as overtime hours and working hours, but may also be financial information such as balances and stock prices, or the operational status of production lines, and is not limited to these.
  • the processing operation may be, for example, registration of information or processing based on information (for example, payroll calculation based on attendance information, financial transactions based on financial information, etc.), etc., and is not limited to these.
  • An intent usually has an action name and a webhook that specify the processing operation.
  • An action name is the name of an action.
  • Actions are processing operations that are typically performed via an API. However, an action may be, for example, a processing operation executed in response to an SQL statement.
  • the action name is usually associated with the API information described later.
  • intents may be thought of as being associated with API information via, for example, action names.
  • Intents also usually have an intent name.
  • An intent name is the name of an intent. Therefore, an intent can also be considered as information that associates an intent name or an intent specified by the intent name with an action name or an action specified by the action name.
  • the action name is, for example, "inquiry of overtime hours", “inquiry of working hour data”, etc., but any information that can specify the processing operation can be used.
  • the API information part 13 stores one or more API information.
  • API information is information about an API.
  • API is an interface for using program functions.
  • An API is software such as, for example, functions, methods, or execution modules.
  • the API is, for example, Web API, but may be other API.
  • a Web API is an API built using a Web communication protocol such as HTTP or HTTPS. Since the API such as WebAPI is a well-known technology, a detailed description thereof will be omitted.
  • API information is information associated with an intent.
  • API information is associated with intents, for example, via action names and webhooks, as described above.
  • API information is usually information for performing information searches.
  • the API information may be, for example, information for registering information or performing processing based on the information.
  • the API information has one or more parameter specific information.
  • Parameter identification information is information that identifies a parameter.
  • a parameter can be said to be a value having a specific attribute. Values are usually variables.
  • a variable can be called an argument.
  • a parameter is usually information converted from an entity, but it can also be the entity itself.
  • a parameter is, for example, an argument given to an API or a variable of an SQL statement.
  • the parameter identification information is, for example, the parameter name.
  • a parameter name is the name of a parameter.
  • the parameter identification information is, for example, an attribute name, but any information that can identify a parameter may be used.
  • the API information may be, for example, an SQL statement. It can be said that an SQL statement is a statement for querying a database.
  • the API information may be, for example, a combination of a URL and a method, and its structure is not limited to this.
  • the entity that entity information has is a representative value among one or more entities that correspond to the entity name that the entity information has.
  • the representative value is, for example, the top entity among one or more entities corresponding to one entity name, but any entity may be used.
  • Entity name is the name of an entity. Entity names are, for example, “employee entity”, “date entity”, “overtime hours entity”, “weather entity”, etc. However, if the information can express the attributes of an entity, its format is limited to these. not something.
  • An employee entity is an entity related to an employee.
  • a date entity is an entity related to dates.
  • the overtime hours entity is an entity related to overtime hours.
  • the entity information may include, for example, the entity name and order information.
  • the order information is a value indicating to which variable the entity name corresponds among one or more variables included in the template.
  • the structure of entity information is not limited to this.
  • the corpus in the embodiment may be considered, for example, each of one or more text data stored in the intent information section 12, or one or more text data and each text data It can also be thought of as a collection of entity information.
  • the entity information section 15 stores one or more entities.
  • An entity is one or more words associated with text data.
  • a word is a unit that constitutes a sentence.
  • a word for example, may simply be referred to as a "word” or "word”, or may be considered as a type of morpheme (for example, an independent word to be described later).
  • the entity information section 15 stores, for example, one or more entities in association with one or more entity names.
  • An entity usually corresponds to one or more text data out of the one or more text data stored in the intent information section 12. Therefore, the entity information section 15 may store one or more entities for each piece of text data stored in the intent information section 12, for example.
  • the above-mentioned “employee entity”, “date entity”, “balance entity”, “bank name entity”, etc. are stored in this entity information section 15.
  • Words associated with text data are usually independent words.
  • An independent word is a word that can form a clause by itself. For example, although it is a noun, it may be a verb, an adjective, or the like. However, the associated word may be an attached word.
  • Auxiliary words are words that cannot form a clause by themselves but that form a clause together with other independent words, such as auxiliary verbs and particles. In other words, the associated word is usually an independent word, but it may be an independent word with attached words.
  • the corresponding words may be collocations, for example.
  • a compound word is a word that expresses a certain meaning by combining two or more autonomous words, and may be called a compound word.
  • the collocations are, for example, "overtime hours” which is a combination of "overtime” and “time”, and "A project” which is a combination of "A” and “project”. Any combination of two or more words may be used.
  • the associated words are one or more words included in the example sentence (that is, information in the text data). It is a word (that is, information added to text data) to be inserted at the position of each of one or more variables included in the template.
  • Entity mapping information has, for example, a table identifier, a translation item name, and an entity name.
  • a table identifier is information for identifying one or more stored tables. The table identifier is, for example, "MST_SHAIN” or "TRN_TIME_CARD", but any information that can identify the table may be used.
  • a translation item name is an attribute name in a table identified by a table identifier, and is information that identifies an entity to be converted.
  • a translation item name is, for example, an item name corresponding to a key other than a primary key among one or more item names of a table identified by a table identifier, and is an item name that is converted to an item name corresponding to the primary key.
  • An item name corresponding to a primary key is, for example, a primary key identifier.
  • the translation item name is, for example, "SHAIN_CODE” or "TIME_CARD_DATE", but any information that can identify the entity to be converted can be used.
  • a PK item is an item corresponding to a primary key.
  • a PK entry for example, has a table identifier and a primary key identifier.
  • a primary key identifier is information specifying the primary key of the table identified by the table identifier.
  • the primary key identifier is, for example, "SHAIN_CODE” for the table identified by the table identifier "MST_SHAIN” (hereinafter referred to as employee master), and for the table identified by the table identifier "TRN_TIME_CARD” (hereinafter referred to as the working hours table). There are two cases, “SHAIN_CODE” and “TIME_CARD_DATE”.
  • Fig. 2 shows examples of intents, entity values, and actions stored in the basic information section 1.
  • text data of "Tell me the balance of bank A last month” is recorded in association with an intent of "inquiry of balance” as an intent.
  • entities a date entity, a bank name entity, a balance entity, and an action entity are associated and stored.
  • the entity value of "last month” as the date entity, the entity value of "Bank A” as the bank name entity, the entity value of "balance” as the balance entity, and the entity value of "tell me” as the action entity are all associated with each other. It is recorded in the information section 1.
  • action#balance for executing the balance inquiry action is also recorded for these intents, entities, and entity values.
  • This action name can be uniquely identified by specifying the intent or entity value. Since this action name is associated with each processing operation to be executed, it is possible to uniquely identify the processing operation to be executed by specifying the intent or entity value from the text data.
  • the reception unit 2 receives various types of information. Various types of information are, for example, electronic data consisting of conversational sentences and character strings.
  • the reception unit 2 receives information such as conversational sentences, for example, from a terminal, but may also receive information via an input device such as a keyboard, touch panel, or microphone. Alternatively, the reception unit 2 may receive information read from a recording medium such as a disk or a semiconductor memory, and the mode of reception is not particularly limited.
  • the conversational sentence reception means 21 accepts the conversational sentence.
  • a conversational sentence is a sentence spoken by a person, and may be said to be a sentence in a natural language. Conversation sentences are accepted, for example, in voice form, but text data may also be accepted.
  • a voice is a voice uttered by a person.
  • Text data is a character string obtained by recognizing a voice uttered by a person.
  • a string consists of an array of one or more characters.
  • the voice reception means 211 receives the voice of the conversation sentence.
  • the voice reception means 211 receives the voice of the conversation sentence from the terminal, for example, in pairs with the terminal identifier, but may also receive the voice via a microphone.
  • a terminal identifier is information for identifying a terminal.
  • a terminal identifier is, for example, a MAC address, an IP address, an ID, or the like, but any information that can identify a terminal may be used.
  • the terminal identifier may be a user identifier that identifies the user of the terminal.
  • the user identifier is, for example, an e-mail address, telephone number, etc., but may be an ID, address, name, etc., or any information that can identify the user.
  • the speech recognition means 212 performs speech recognition processing on the speech received by the speech reception means 211, and acquires a conversational sentence, which is a character string, as text data. It should be noted that the speech recognition processing is a known technology, and a detailed description thereof will be omitted.
  • the character string acceptance means 213 acquires text data from character strings written on paper or electronic media.
  • the character string reception unit 213 may convert a character string read from a paper medium into text data by character recognition using OCR technology, or may acquire a character string contained in an electronic medium as text data as it is.
  • the text data acquired by the character string reception unit 213 may be acquired from data in a database, e-mail sentences, document files, or the like.
  • a character string as electronic data may be directly obtained, for example, directly captured from a chat or posting on a bulletin board.
  • the processing unit 3 performs various types of processing.
  • the various processes are, for example, the processes of the intent determining means 31, the entity acquiring means 33, the parameter acquiring means 34, the API information acquiring means 35, the API parameter setting means 36, the search result acquiring means 37, and the like.
  • Various types of processing also include, for example, various types of discrimination described in flowcharts.
  • the processing unit 3 performs the processing of the intent determination unit 31 and the like in response to the conversational sentence reception unit 21 accepting the conversational sentence.
  • the processing unit 3 performs the processing of the intent determining means 31 and the like for each one or more terminal identifiers.
  • the processing unit 3 parameterizes one or more entities included in one or more conversational sentences received by the conversational sentence receiving means 21 .
  • the processing unit 3 parameterizes entities included in conversational sentences input as speech, for example, independent words. For example, if you compare the sentence “Tell me the balance of Bank A last month” and the sentence “Tell me the balance of Bank B last month”, the words “Bank A” and “Bank B” are interchanged. Other than that, there is no difference between the two conversations. However, in the search results so far, conversational sentences with different meanings are not always recognized as having the same meaning and content. Therefore, the processing unit 3 parametrizes independent words, that is, entities such as "A bank,” “B bank,” “last month,” and "balance,” included in these conversational sentences.
  • the intent determining means 31 determines the intent corresponding to the conversational sentence received by the conversational sentence receiving means 21 .
  • the intent determining means 31 first acquires, for example, the text corresponding to the conversation received by the conversation receiving means 21 .
  • the text is, for example, the result of speech recognition of the conversational sentence received by the conversational sentence receiving means 21, but may be the conversational sentence itself received by the conversational sentence receiving means 21.
  • the intent determination means 31 performs speech recognition of the conversation sentence and acquires the text. It should be noted that, when a conversational sentence that is text is accepted, the intent determining means 31 may obtain the text.
  • the intent determination means 31 acquires one or more independent words from the acquired text by, for example, performing natural language analysis on the text.
  • natural language analysis is a well-known technology, and detailed description thereof will be omitted.
  • the intent determining means 31 determines intents having action names and webhooks that have words that are the same as or similar to the one or more acquired independent words.
  • the intent is determined and the entity is derived as a result of analysis via the trained language analysis model.
  • the intent is ⁇ balance inquiry ⁇ , and the entities are ⁇ date entity ⁇ and ⁇ balance entity ⁇ .
  • the parameter acquisition means 34 acquires one or more parameters corresponding to one or more entities acquired by the entity acquisition means 33.
  • the processing unit 3 has, for example, the same start position "4" and end position "6" as "Bank A” in the conversational sentence "Tell me the balance of Bank A last month” among the above three entity information.
  • the second entity information get the "bank name entity” associated with "A bank”, and furthermore, the same start position as "balance” in the conversation "Tell me the balance of bank A last month”
  • the third entity information with "8" and end position "9” get the "balance entity” associated with the "balance”.
  • the API information acquisition means 35 acquires API information corresponding to the intent determined by the intent determination means 31 from the API information section 13 .
  • the API information acquisition means 35 acquires API information having an action name and a webhook corresponding to the intent determined by the intent determination means 31 from the API information section 13 .
  • the API parameter setting means 36 uses the one or more parameters acquired by the parameter acquisition means 34 and the API information acquired by the API information acquisition means 35 to construct inquiry information.
  • Inquiry information is information for information retrieval, and is usually executable information.
  • the query information is, for example, a function or method into which arguments are inserted, but may be a complete SQL statement or a combination of a URL and parameters.
  • the API parameter setting means 36 for example, arranges parameters acquired by the parameter acquisition means 34, which are parameters associated with each of the one or more variable locations of the API information acquired by the API information acquisition means 35. Inquiry information is constructed by this.
  • the output unit 4 outputs various information.
  • Various types of information are, for example, search results.
  • the output unit 4 outputs information such as a search result, which is the result of various processes performed by the processing unit 3 in response to the receiving unit 2 receiving information such as a conversational sentence paired with a terminal identifier, to the terminal. Send to the terminal identified by the identifier.
  • the output unit 4 in response to the reception unit 2 receiving information such as conversational sentences via an input device such as a touch panel or a microphone, the output unit 4 outputs information such as search results to an output device such as a display or speaker. can be output via
  • the output unit 4 may, for example, print out various information with a printer, store it in a recording medium, deliver it to another program, or transmit it to an external device. Aspects are not particularly limited.
  • the search result output means 41 outputs the search results obtained via the search result obtaining means 37.
  • the search result output means 41 for example, sends the search result acquired by the search result acquisition means 37 in response to the conversation sentence receiving means 21 receiving the conversation sentence paired with the terminal identifier to the terminal identified by the terminal identifier. Send.
  • the search result output unit 41 outputs the search results obtained by the search result obtaining unit 37 in response to the conversational text receiving unit 21 receiving the conversational text via an input device such as a microphone, for example, on a display, speaker, or the like. may be output via any output device.
  • the basic information section 1, the intent information section 12, the API information section 13, and the entity information section 15 are preferably implemented by a non-volatile recording medium such as a hard disk or a flash memory, but can also be implemented by a volatile recording medium such as a RAM. is.
  • the process by which information is stored in the basic information section 1, etc. is not particularly limited.
  • information may be stored in the basic information section 1 or the like via a recording medium, and information transmitted via a network, a communication line, or the like may be stored in the basic information section 1 or the like.
  • information input via an input device may be stored in the basic information unit 1 or the like. Any input device such as a keyboard, mouse, touch panel, microphone, or the like may be used.
  • the receiving unit 2 conversational text receiving means 21, voice receiving means 211, voice recognition means 212, and character string receiving means 213 may or may not include input devices.
  • the reception unit 2 and the like can be realized by driver software of the input device, or by the input device and its driver software.
  • the output unit 4 and search result output means 41 may or may not include output devices such as displays and speakers.
  • the output unit 4 and the like can be realized by the driver software of the output device, or by the output device and its driver software.
  • the reception function of the reception unit 2 etc. is usually realized by wireless or wired communication means (for example, communication modules such as NIC (Network interface controller) and modem), but means for receiving broadcasts (for example, broadcast receiving module).
  • wireless or wired communication means for example, communication modules such as NIC (Network interface controller) and modem
  • means for receiving broadcasts for example, broadcast receiving module
  • the transmission function of the output unit 4 and the like is usually realized by wireless or wired communication means, but may be realized by broadcasting means (for example, a broadcasting module).
  • processing operations described below are realized by a processor such as a CPU or MPU reading a program stored in a storage medium such as an HDD or a nonvolatile memory (for example, flash memory).
  • a processor such as a CPU or MPU reading a program stored in a storage medium such as an HDD or a nonvolatile memory (for example, flash memory).
  • the processing operation support device 100 to which the present invention is applied first receives input of text data from the user via voice or an input terminal. If the first received text data is "Tell me the balance of Bank A last month" as the utterance sentence 1, the processing operation support device 100 outputs a message such as "The balance of Bank A last month is ⁇ 3,677,935.” is answered by voice through the output unit 4, or balance inquiry data is output.
  • the processing operation support device 100 responds by voice via the output unit 4, such as "Bank B's balance last month was ⁇ 2,960,819.” , or output balance inquiry data.
  • the output unit 4 such as "Bank B's balance last month was ⁇ 2,960,819.”
  • the processing operation support device 100 responds by voice via the output unit 4, such as "Bank B's balance for this month is ⁇ 1,875,748.” , or output balance inquiry data.
  • the entity value other than the entity value "this month” consists of "Bank B", "balance”, and "tell me”. and inherit the intent from before.
  • step S11 the reception unit 2 acquires text data.
  • This text data may be acquired by converting from voice, but may also be acquired via an input terminal such as a smartphone, tablet terminal, personal computer, or the like.
  • the electroencephalogram signal may be acquired via an input terminal and converted into text data.
  • step S11 the reception unit 2 acquires text data.
  • step S12 a known natural language analysis is performed.
  • intent and entity values are extracted by performing morphological analysis and, if necessary, syntactic analysis.
  • the intent is mainly a pointing action, Alternatively, it is extracted based on the pointing action and the case component depending on it, and the entity value is mainly extracted based on the case component.
  • step S13 determines whether the intent can be specified and whether the entity value is insufficient in specifying the action for executing the processing operation, in other words, whether the entity value is sufficient. determine whether or not there is For example, as shown in FIG. 2, if the sentence is "Tell me the balance of Bank A last month", the intent is to inquire about the balance. , bank name entity, balance entity, and action entity, and entity values (“last month”, “A bank”, “balance”, “tell me”) are satisfied for each entity. In such a case, it can be said that the intent can be specified and the entity value is sufficient to specify the action for executing the processing operation. In such a case, the process proceeds to step S14.
  • the natural language analysis performed in step S12 found that the phrase "What about Bank B?” is extracted, only the bank name entity can be extracted, and the entity value corresponding to other entities is insufficient, and the intent cannot be specified.
  • the natural language analysis performed in step S12 if the phrase "tell me your balance" is extracted, the intent can be specified as a balance query intent, but the entity value of the corresponding entity is insufficient. It is in a state where the processing operation cannot be specified.
  • step S15 If the intent cannot be specified in this way, or if the entity value is insufficient, or in both cases, the action itself that defines the processing operation cannot be specified. In such a case, the process proceeds to step S15.
  • step S14 the text data that has undergone the natural language analysis in step S12 is in a state where the intent can be specified and the entity value is sufficient to specify the action for executing the processing operation. Identify actions. Any conventional method may be applied to identify this action, for example, the technique disclosed in Japanese Patent Application Laid-Open No. 2021-68399 may be applied. After executing the processing operation based on the specified action, the process proceeds to step S18.
  • step S15 the previous conversation history is acquired because the action itself cannot be identified only from the text data that was analyzed by natural language in step S12.
  • the previous conversation history may be recorded in the basic information section 1 in a state classified in advance into intent, entity value, and action as shown in FIG. 2, or the text data may be recorded as it is. good too.
  • intents, entity values, and actions associated with the text data may also be recorded.
  • step S15 After acquiring such a conversation history in step S15, the process proceeds to step S16 to inherit the necessary intents and entity values.
  • step S16 for example, as shown in FIG. 5, the conversation history already has the conversation sentence of history number 1 "Tell me the balance of bank A last month", and the date entity (" last month”), a bank name entity (“A bank”), a balance entity (“balance”), and an action entity (“tell me”) are linked and recorded.
  • the intent is inherited from the newer intent of the text data for which the processing operation has already been executed.
  • the entity values of text data that have already had processing operations executed are inherited from newer ones in chronological order.
  • the intent is inherited from the balance inquiry intent of history number 1.
  • the date entity (“Last month”), balance entity (“Balance”), and action entity (“Tell me”) can be inherited as entity values other than the satisfying bank entity.
  • step S16 in addition to either or both of the entity value and the intent extracted in the natural language analysis of step S12, either or both of the inherited intent and entity are supplemented.
  • the intents and entities necessary to specify actions that define processing behavior can be obtained.
  • a balance inquiry intent can be obtained as an intent, and "last month”, “B bank”, “balance”, and “tell me” can be obtained as entity values. As a result, it is possible to specify the processing operation of the required action.
  • step S17 the processing operation of the action specified in step S16 is executed.
  • the processing operation of the action specified in step S16 is executed.
  • FIG. 5 by newly obtaining the text data "What about Bank B?" of history number 2, various processing operations are actually executed to notify the user of the balance of Bank B for the last month. It will happen.
  • step S18 move to step S18 and perform additional registration in the conversation history.
  • the intent inherited and captured based on the above-described method entity value, and action may be linked and recorded.
  • it is not limited to this method and only the text data of history number 2 and either or both of the intent and entity value acquired from this, and other inherited intents are additionally registered. , or both entity values may not be registered. This is because even in such a case, the necessary intent and entity value can be obtained by going back from history number 2 to history number 1 in chronological order.
  • step S19 the search results are displayed through the search result output means 41 described above, and the flow ends.
  • step S18 by additionally registering in step S18, it is possible to utilize this in subsequent natural language analysis.
  • step S15 the process proceeds to step S15 to acquire the conversation history.
  • the entity values of the bank name entity, the balance entity, and the action entity other than "this month" as the date entity are insufficient, and the intent cannot be specified. These are inherited from the previous conversation history because they are not in the same situation. In such cases, it inherits from the chronologically newer one.
  • History number 2 is chronologically newer than history number 3.
  • the intent in this history number 2 is balance inquiry, the entity value of the bank name entity is "B Bank”, the entity value of the balance entity is "balance”, and the entity value of the action entity is "inquiry”. It is. If the intent cannot be specified, or if the entity value is insufficient, inherit from the newer history number 2.
  • entities can be classified into the following four types according to the inheritance relationship between entities and intents.
  • Figure 6 is a type that inherits neither intents nor entities.
  • the intent, entity value, and action corresponding to the text data "Tell me the balance of Bank A last month” shown in history number 1 have already been recorded as a conversation history.
  • the phrase "Could you show me the balance sheet of the previous year?" is newly analyzed in natural language.
  • the entity value (“previous year” as a date entity, “balance sheet” as a balance sheet entity, and “show me” as an action entity) and intent (balance sheet in Since the tent can be specified, the process proceeds to step S14.
  • the action (action#reports#trial#bs) is specified based on the specified intent and entity value.
  • Fig. 7 shows a pattern that inherits intents and entities.
  • the phrase "B bank is” is subjected to natural language analysis.
  • the process proceeds to step S15.
  • history number 1 is obtained as the conversation history, and the necessary intent and entity are inherited in step S16.
  • the intent cannot be specified, it is inherited from the conversation history of history number 1.
  • a balance inquiry intent can be obtained as an intent, and "last month”, “B bank”, “balance”, and "tell me” can be obtained as entity values.
  • Fig. 8 is a type that inherits intents and does not inherit entities.
  • S12 it is newly assumed that the phrase "B bank of this month" is subjected to natural language analysis.
  • the entity can be specified in step S13, the intent cannot be specified, so the process proceeds to step S15.
  • the history number 1 is obtained as the conversation history, and the necessary entity is inherited in step S16.
  • the date entity and bank name entity can be specified as a result of the natural language analysis of "This month's bank B", so these entities are not particularly inherited.
  • Other balance entities and action entities constitute intents, so they are not subject to determination of inheritance of entities.
  • Figure 9 is a type that does not inherit intents but inherits entities.
  • S12 it is assumed that the phrase "tell me your income and expenditure" is newly subjected to natural language analysis.
  • the process proceeds to step S15.
  • the history number 1 is obtained as the conversation history, and the necessary entity is inherited in step S16.
  • the intent can be obtained from the words "Tell me your balance” to obtain a balance inquiry intent. Since the date entity and bank entity cannot be specified, they are inherited from the conversation history of history number 1. Since the income/expenditure (balance) entity and the action entity constitute an intent, they are excluded from determination of inheritance of entities.
  • the intent of the text data for which the processing operation has already been executed is inherited from the newer one chronologically, and the entity value of the text data for which the processing operation has already been executed is chronologically more recent.
  • chronologically newer does not necessarily mean inheriting the intent and entity value of the text data that caused the most recent processing operation to be executed. If there is no inheritable intent or entity value in the text data on which the latest processing operation is executed, the intent and entity value of the text data on which the previous processing operation is executed are inherited in chronological order.
  • chronologically newer is not necessarily limited to inheriting the intent and entity value of the text data that caused the most recent processing operation to be executed, and is not limited to inheriting the previous processing operation. It can be said that intents and entity values of all executed text data can be candidates for inheritance.
  • the intent and entity value of only the text data for which the immediately preceding processing operation was executed may be inherited.
  • the intent and entity value necessary for identifying the processing operation executed immediately before are registered each time.
  • the intent and entity value of history number 1 that is most recent in chronological order are registered in advance, and only this Inherits intent, entity value from .
  • the intent and entity values of history number 2 which is most recent in chronological order, are registered in advance. Inherit value.
  • both intents and entity values may be inherited, but either intents or entity values that are missing may be inherited.
  • learning data by artificial intelligence may be used.
  • the input is one or both of the entity value and the intent extracted by the natural language analysis
  • the output is the entity value for inheritance and/or the learning data for the intent for inheritance.
  • this learning data is used when natural language analysis is performed on the text data in history number 2 to specify either or both of the intent and the entity to be inherited.
  • the learning data consists of input data such as verbs, nouns (noun phrases), and words such as only case components, just like the text data shown in history number 2, and the output data is the intent (balance Inquiry intent, etc.), so-called entity values for inheritance and intents for inheritance, such as each entity (date entity, bank name entity, balance entity, etc.), are learned in advance.

Abstract

【課題】単に動詞や名詞(名詞句)、格成分のみを取得するのみで、今までの会話の経緯を以って処理動作を特定することが可能な処理動作支援装置及びプログラムを提供する。【解決手段】受け付けたテキストデータを自然言語解析することにより、エンティティ値及びインテントの何れか一方又は両方を抽出し、テキストデータを自然言語解析した結果、インテントを特定できない場合には、既に処理動作を実行させたテキストデータのインテントを時系列的により新しいものから継承し、エンティティ値が不足している場合には、既に処理動作を実行させたテキストデータのエンティティ値を時系列的により新しいものから継承し、抽出した上記エンティティ値及び上記インテントの何れか一方又は両方に加え、継承したインテント及びエンティティの何れか一方又は両方を補足することにより特定される処理動作を実行する。

Description

処理動作支援装置及びプログラム
 本発明は、文書又は会話文から取得したテキストデータに基づいて各種処理動作を自動的に実行させる上で好適な処理動作支援装置及びプログラムに関するものである。
 近年において、同じ検索結果を求める会話文が動的に変化した場合であっても、適切な検索結果を出力する技術が提案されている(例えば、特許文献1参照。)。この特許文献1の開示技術では、受け付けた1以上の会話文に含まれるエンティティをパラメータ化し、或いは会話文に対応する、処理動作を特定するアクション名およびウェブフックを有するインテントを決定し、更にこれらエンティティやインテント等により特定される処理動作を実行するための情報をパラメータとしたAPIを介してデータベースを検索する。
特開2021-68399号公報
 このような特許文献1の開示技術では、受け付けた会話文からインテントを特定する上で、「先月のA銀行の残高を教えて」等のように、動詞の「教えて」に対して、これに係り受けする「先月の」、「A銀行の残高」等のような名詞句(格成分)が明確な場合、エンティティやインテントを容易に特定できるため、これに応じた処理動作を容易に特定することができる。
 しかしながら、その後に引き続いて「B銀行は?」等のように同じ残高照会のインテントでありがならも、エンティティ値が異なる会話文を受け付ける場合がある。通常の人間同士の日常会話であれば、今までの会話の経緯から先月のB銀行の残高照会を求められていることを容易に理解できるが、コンピュータプログラム上では、テキストデータからこのようなエンティティ値のみしか抽出できない場合には、業務処理(処理動作)を特定できなくなる。
 同様に、「収支を教えて」等のように同じ「先月の」、「A銀行の残高」のエンティティ値を持ちつつも、インテントが異なる会話文を受け付ける場合がある。通常の人間同士の日常会話であれば、今までの会話の経緯から先月のA銀行の収支照会を求められていることを容易に理解できるが、コンピュータプログラム上では、テキストデータからこのようなインテントのみしか抽出できない場合には、処理動作を特定できなくなる。
 即ち、現在の自然言語解析技術では、発話された会話文の意図、即ちインテントを特定するためには必要なエンティティが完全に揃った会話文のテキストデータを取得しない限り、そのインテントに紐付いたアクション、ひいては処理動作を特定することができない。換言すれば、テキストデータの中で動詞やこれに係り受けする名詞句(格成分)を情報として正確に与えなければ、正確な意図の認識ができないものとなっていた。
 このように、単に動詞や名詞(名詞句)、格成分のみでも今までの会話の経緯から容易に意思疎通ができる通常の日常会話と異なり、コンピュータプログラムでは、今までの会話の経緯や文脈を参酌することができないため、単発な動詞や名詞句が会話文として発せられた場合に動作の実行が不可能になる。
 一方、通常の日常会話では、最初に「先月のA銀行の残高を教えて」の後に、都度「先月のB銀行の残高を教えて」と動詞や名詞(名詞句)を含めた全文で意思疎通を図るのは煩わしいものであり、本来であれば「B銀行は?」、「収支を教えて」等のように単発な動詞や名詞句のみで意思疎通を図れることが理想的である。
 しかしながら、上述した特許文献1の開示技術も含めて、従来においてこのような単に動詞や名詞(名詞句)、格成分のみを取得し、今までの会話の経緯を以って処理動作を特定する技術は未だ案出されていないのが現状であった。
 そこで、本発明は、上述した問題点に鑑みて案出されたものであり、その目的とするところは、文書又は会話文から取得したテキストデータに基づいて各種処理動作を自動的に実行させる処理動作支援装置及びプログラムにおいて、単に動詞や名詞(名詞句)、格成分のみを取得するのみで、今までの会話の経緯を以って処理動作を特定することが可能な処理動作支援装置及びプログラムを提供することにある。
 第1発明に係る処理動作支援装置は、音声又は入力端末を介してテキストデータの入力を受け付ける受付手段と、上記受付手段により受け付けられたテキストデータを自然言語解析することにより、エンティティ値及びインテントの何れか一方又は両方を抽出する自然言語解析手段と、上記自然言語解析手段により上記テキストデータを自然言語解析した結果、インテントを特定できない場合には、既に処理動作を実行させたテキストデータのインテントを時系列的により新しいものから継承し、エンティティ値が不足している場合には、既に処理動作を実行させたテキストデータのエンティティ値を時系列的により新しいものから継承する継承手段と、上記自然言語解析手段により抽出された上記エンティティ値及び上記インテントの何れか一方又は両方に加え、上記継承手段により継承された上記インテント及び上記エンティティの何れか一方又は両方を補足することにより特定される処理動作を実行する実行手段とを備えることを特徴とする。
 第2発明に係る処理動作支援装置は、第1発明において、上記継承手段は、入力が、上記自然言語解析手段により抽出されたエンティティ値及びインテントの何れか一方又は両方とし、出力が、継承するためのエンティティ値及び/又は継承するためのインテントとした学習データを参照することにより、継承すべき上記インテント及び上記エンティティの何れか一方又は両方を特定することを特徴とする。
 第3発明に係る処理動作支援装置は、第1発明において、上記継承手段は、上記自然言語解析手段により上記テキストデータを自然言語解析した結果、インテントを特定できない場合には、直前に実行された処理動作を特定する上で必要な上記インテントを継承し、エンティティ値が不足している場合には、直前に実行された処理動作を特定する上で必要な上記エンティティ値を継承することを特徴とする。
 第4発明に係る処理動作支援装置は、第1発明~第3発明の何れかにおいて、上記実行手段により実行すべき処理動作を特定したエンティティ及びインテントをそれぞれ時系列的に直前のエンティティ及びインテントとして蓄積する蓄積手段を更に備えることを特徴とする。
 第5発明に係る処理動作支援装置は、第1発明~第4発明の何れかにおいて、上記実行手段は、上記継承手段においてインテントを特定でき、かつエンティティ値が充足している旨が判別された場合には、上記自然言語解析手段により抽出された上記エンティティ値及び上記インテントのみにより特定される処理動作を実行することを特徴とする。
 第6発明に係る処理動作支援プログラムは、音声又は入力端末を介してテキストデータの入力を受け付ける受付ステップと、上記受付ステップにおいて受け付けたテキストデータを自然言語解析することにより、エンティティ値及びインテントの何れか一方又は両方を抽出する自然言語解析ステップと、上記自然言語解析ステップにおいて上記テキストデータを自然言語解析した結果、インテントを特定できない場合には、既に処理動作を実行させたテキストデータのインテントを時系列的により新しいものから継承し、エンティティ値が不足している場合には、既に処理動作を実行させたテキストデータのエンティティ値を時系列的により新しいものから継承する継承ステップと、上記自然言語解析ステップにおいて抽出した上記エンティティ値及び上記インテントの何れか一方又は両方に加え、上記継承ステップにおいて継承した上記インテント及び上記エンティティの何れか一方又は両方を補足することにより特定される処理動作を実行する実行ステップとをコンピュータに実行させることを特徴とする。
 上述した構成からなる本発明によれば、通常の日常会話において、単発な動詞や名詞句のみで意思疎通を図る場合であっても、既に処理動作を実行させたテキストデータのインテントを時系列的により新しいものから継承し、また既に処理動作を実行させたテキストデータのエンティティ値を時系列的により新しいものから継承することで、より日常会話に近い状態で各種処理動作を実行させることが可能となる。このため、本発明によれば、文書又は会話文から取得したテキストデータに基づいて各種処理動作を自動的に実行させる上で、単に動詞や名詞(名詞句)、格成分のみを取得するのみで、今までの会話の経緯を以って処理動作を特定することが可能となる。
図1は、本発明を適用した処理動作支援装置のブロック構成図である。 図2は、格納部に格納されるインテント、エンティティ値、アクションの例を示す図である。 図3は、本発明を適用した処理動作支援装置により実行される動作フローを示す図である。 図4は、本発明を適用した処理動作支援装置のフローチャートを示す図である。 図5は、エンティティ値を継承する例を示す図である。 図6は、インテントもエンティティも継承しない類型について説明するための図である。 図7は、インテントも継承し、エンティティも継承する類型について説明するための図である。 図8は、インテントを継承し、エンティティは継承しない類型について説明するための図である。 図9は、インテントは継承せず、エンティティを継承する類型について説明するための図である。 図10は、本発明を適用した処理動作支援装置において、人工知能による学習データを利用する例について説明するための図である。
 以下、本発明の実施形態における処理動作支援装置の一例について、図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
 実施形態における処理動作支援装置は、例えば、サーバである。サーバは、例えば、情報検索等のサービスを提供する企業内のサーバであるが、クラウドサーバやASPサーバ等でもよく、そのタイプは問わない。サーバは、例えば、LANやインターネット等のネットワーク、無線または有線の通信回線などを介して、1または2以上の端末(図示しない)と通信可能に接続される。端末は、例えば、情報検索等のサービスを利用するユーザの携帯端末であるが、据え置き型のPC等でもよく、そのタイプは問わない。携帯端末は、例えば、タブレット端末、スマートフォン、携帯電話機、ノートPC等であるが、これらに限定されるものではない。
 ただし、処理動作支援装置は、例えば、スタンドアロンの端末でもよく、その実現手段はこれらに限定されるものではない。図1は、実施形態における処理動作支援装置100のブロック図である。処理動作支援装置100は、基本情報部1、受付部2、処理部3、および出力部4を備える。基本情報部1は、インテント情報部12、API情報部13、エンティティ情報部15を備える。受付部2は、会話文受付手段21と文字列受付手段213を備える。会話文受付手段21は、音声受付手段211、および音声認識手段212を備える。
 処理部3は、インテント決定手段31、エンティティ取得手段33、パラメータ取得手段34、API情報取得手段35、APIパラメータセット手段36、および検索結果取得手段37を備える。出力部4は、検索結果出力手段41を備える。
 基本情報部1は、各種の情報を格納するデータベースである。各種の情報とは、例えば、テーブル、インテント、API情報、コーパス、エンティティ、エンティティマッピング情報、PK項目、および日変換情報などである。なお、テーブル等の情報については後述する。また、その他の情報については、適時説明する。
 基本情報部1には、1または2以上のテーブルが格納される。テーブルは、例えば、表形式のデータベースであってもよい。テーブルには、例えば、1または2以上の項目名が登録され、さらに、当該1以上の項目名ごとに、1または2以上の値が登録される。なお、項目名は、属性名といってもよいし、一の項目名に対応する1以上の各値は、属性値といってもよい。また、テーブルは、例えば、リレーショナルデータベースのテーブル、TSV、エクセル、CSV、ニューラルネットワーク等であるが、その種類はこれらに限定されるものではない。
 インテント情報部12には、1または2以上のインテントが格納される。インテントとは、処理動作ごとに管理される情報である。処理動作ごとに管理されることは、例えば、処理動作を特定する情報に対応付けて、インテント情報部12に格納されることであってもよい。なお、処理動作を特定する情報は、通常、後述するアクション名およびウェブフックであるが、その形式はこれらに限定されるものではない。また、対応付くことは、例えば、インテントが、処理動作を特定する情報を有する場合も含む。インテント情報部12には、インテントに加え、後述するアクション決定情報や指示動作も格納される。
 処理動作とは、業務に関する処理以外に、あらゆる行動や生活に関する処理も含む。業務は、例えば、定時までの勤務、定時後の残業、休暇、欠勤、A案件、B案件、経理、製造などであるが、その種類はこれらに限定されるものではない。処理動作は、例えば、情報の検索である。なお、検索は、例えば、照会といってもよい。検索される情報は、例えば、残業時間や勤務時間等の勤怠情報であるが、残高や株価等の金融情報、または製造ラインの稼働情況などでもよく、これらに限定されるものではない。
 ただし、処理動作は、例えば、情報の登録、または情報に基づく処理(例えば、勤怠情報に基づく給与計算、財務情報に基づく金融取引等)などでもよく、これらに限定されるものではない。
 インテントは、通常、処理動作を特定するアクション名およびウェブフックを有する。アクション名とは、アクションの名称である。アクションとは、通常、APIを介して実行される処理動作である。ただし、アクションは、例えば、SQL文に応じて実行される処理動作であってもよい。
 なお、アクション名は、通常、後述するAPI情報にも対応付いている。従って、インテントは、例えば、アクション名を介して、API情報に対応付けられる、と考えてもよい。
 また、インテントは、通常、インテント名も有する。インテント名とは、インテントの名称である。従って、インテントは、インテント名または当該インテント名で特定されるインテントと、アクション名または当該アクション名で特定されるアクションとを対応付ける情報である、と考えることもできる。
 アクション名は、具体的には、例えば、「残業時間照会」、「勤務時間データ照会」等であるが、処理動作を特定し得る情報であれば何でもよい。
 API情報部13には、1または2以上のAPI情報が格納される。API情報とは、APIに関する情報である。APIとは、プログラムの機能を利用するためのインターフェースである。APIは、例えば、関数、メソッド、または実行モジュールなどのソフトウェアである。APIは、例えば、WebAPIであるが、それ以外のAPIでもよい。WebAPIとは、HTTPやHTTPSなどのWeb通信のプロトコルを用いて構築されたAPIである。なお、WebAPI等のAPIについては、公知技術であるので、詳しい説明を省略する。
 API情報は、インテントに対応付いている情報である。API情報は、前述したように、例えば、アクション名およびウェブフックを介して、インテントに対応付いている。
 API情報は、通常、情報検索を行うための情報である。ただし、API情報は、例えば、情報の登録、または情報に基づく処理などを行うための情報であってもよい。
 API情報は、1または2以上のパラメータ特定情報を有する。パラメータ特定情報とは、パラメータを特定する情報である。パラメータとは、特定の属性を有する値である、といってもよい。値は、通常、変数である。変数は、引数といってもよい。
 パラメータは、通常、エンティティを変換した情報であるが、エンティティそのものでもよい。パラメータは、例えば、APIに与える引数、またはSQL文の変数などである。
 パラメータ特定情報は、例えば、パラメータ名である。パラメータ名とは、パラメータの名称である。または、パラメータ特定情報は、例えば、属性名であるが、パラメータを特定し得る情報であれば何でもよい。
 またAPI情報は、例えば、SQL文でもよい。SQL文とは、データベースに対して問い合わせを行うための文である、といってもよい。または、API情報は、例えば、URLとメソッドとの組などでもよく、その構造はこれらに限定されるものではない。
 エンティティ情報が有するエンティティは、当該エンティティ情報が有するエンティティ名に対応する1または2以上のエンティティの中の代表値である。代表値は、一のエンティティ名に対応する1以上のエンティティ中の、例えば、先頭のエンティティであるが、どのエンティティでもよい。
 エンティティ名とは、エンティティの名称である。エンティティ名は、例えば、「社員エンティティ」、「日付エンティティ」、「残業時間エンティティ」、「天候エンティティ」等であるが、エンティティの属性を表現し得る情報であれば、その形式はこれらに限定されるものではない。社員エンティティとは、社員に関するエンティティである。日付エンティティとは、日付に関するエンティティである。残業時間エンティティとは、残業時間に関するエンティティである。
 またエンティティ情報は、テキストデータがテンプレートの場合、例えば、エンティティ名、および順序情報を有していてもよい。順序情報とは、テンプレートに含まれる1以上の変数において、当該エンティティ名が何番目の変数に対応するかを示す値である。ただし、エンティティ情報の構造は、これに限定されるものではない。
 なお、実施形態におけるコーパスとは、例えば、インテント情報部12に格納されている1以上のテキストデータの各々と考えてもよいし、1以上のテキストデータ、および各テキストデータに対応付いているエンティティ情報の集合と考えることもできる。
 エンティティ情報部15には、1または2以上のエンティティが格納される。エンティティとは、テキストデータに対応付けられた1または2以上の各単語である。単語とは、文を構成する単位である。単語は、例えば、単に「語」、または「ことば」などと呼んでもよいし、形態素の一種(例えば、後述する自立語)と考えてもよい。
 エンティティ情報部15には、例えば、1以上の各エンティティ名に対応付けて、1または2以上のエンティティが格納される。
 エンティティは、通常、インテント情報部12に格納されている1以上のテキストデータの中のいずれか1つ又は2以上のテキストデータに対応付いている。従って、エンティティ情報部15には、例えば、インテント情報部12に格納されている1以上のテキストデータごとに、1または2以上のエンティティが格納されてもよい。上述した「社員エンティティ」、「日付エンティティ」、「残高エンティティ」、「銀行名エンティティ」等がこのエンティティ情報部15に格納される。
 テキストデータに対応付く単語は、通常、自立語である。自立語とは、単独でも文節を構成し得る語であり、例えば、名詞であるが、動詞、形容詞等でもよい。ただし、対応付く単語は、付属語でもよい。付属語とは、単独では文節を構成し得ず、他の自立語を伴って文節を構成する語であり、例えば、助動詞、助詞などである。つまり、対応付く単語は、通常、自立語であるが、付属語を伴った自立語であってもよい。
 また、対応付く単語は、例えば、連語でもよい。連語とは、2以上の自律語が結び付いて一定の意味を表す語であり、複合語といってもよい。連語は、例えば、“残業”と“時間”が結合した“残業時間”や、“A”と“案件”が結合した“A案件”等であるが、“中村一郎”といった氏と名の組でもよく、2以上の語の組であれば何でもよい。
 なお、対応付く単語は、テキストデータが例文の場合は、当該例文に含まれている1または2以上の各単語(つまり、テキストデータ内の情報)あるが、テキストデータがテンプレートの場合は、当該テンプレートに含まれる1または2以上の各変数の位置に挿入されるべき単語(つまり、テキストデータに付加される情報)である。
 エンティティマッピング情報は、例えば、テーブル識別子と、翻訳項目名と、エンティティ名とを有する。テーブル識別子とは、格納されている1以上の各テーブルを識別する情報である。テーブル識別子は、例えば、“MST_SHAIN”や“TRN_TIME_CARD”等であるが、テーブルを識別し得る情報であれば何でもよい。
 翻訳項目名とは、テーブル識別子で識別されるテーブル内の属性名であり、変換されるエンティティを特定する情報である。変換されるエンティティとは、パラメータに変換されるエンティティ(例えば、パラメータ“shain_code=1”に変換されるエンティティ“中村一郎”や、パラメータ“sta_date=20190401,end_date=20190430”に変換されるエンティティ“先月”等)である。
 翻訳項目名は、例えば、テーブル識別子で識別されるテーブルが有する1以上の項目名のうち、主キー以外のキーに対応する項目名であり、主キーに対応する項目名に変換される項目名であってもよい。主キーに対応する項目名とは、例えば、主キー識別子である。
 翻訳項目名は、例えば、“SHAIN_CODE”や“TIME_CARD_DATE”等であるが、変換されるエンティティを特定し得る情報であれば何でもよい。
 基本情報部1には、1または2以上のPK項目が格納される。PK項目とは、主キーに対応する項目である。PK項目は、例えば、テーブル識別子と、主キー識別子とを有する。主キー識別子とは、テーブル識別子で識別されるテーブルの主キーを特定する情報である。
 主キー識別子は、例えば、テーブル識別子“MST_SHAIN”で識別されるテーブル(以下、社員マスタ)の場合は“SHAIN_CODE”であり、テーブル識別子“TRN_TIME_CARD”で識別されるテーブル(以下、勤務時間テーブル)の場合は“SHAIN_CODE”と“TIME_CARD_DATE”の2つである。
 図2に、基本情報部1に格納されるインテント、エンティティ値、アクションの例を示す。会話文として、「先月のA銀行の残高を教えて」というテキストデータに対して、インテントとして「残高照会」インテントが対応つけて記録される。またエンティティとして日付エンティティ、銀行名エンティティ、残高エンティティ、動作エンティティが対応付けて格納されている。日付エンティティとして「先月」なるエンティティ値が、銀行名エンティティとして「A銀行」なるエンティティ値が、残高エンティティとして「残高」なるエンティティ値が、動作エンティティとして「教えて」なるエンティティ値が対応つけて基本情報部1に記録される。
 さらにこれらのインテント、エンティティ、エンティティ値に対して、残高照会のアクションを行わせるためのアクション名(action#balance)も記録される。インテントやエンティティ値が特定されることにより、このアクション名を一義的に特定することができる。このアクション名は、それぞれ実行させる処理動作に紐付けられていることから、テキストデータからインテントやエンティティ値を特定することにより、実行させる処理動作を一義的に特定することが可能となる。
 受付部2は、各種の情報を受け付ける。各種の情報とは、例えば、会話文や文字列からなる電子データである。受付部2は、会話文等の情報を、例えば、端末から受信するが、キーボードやタッチパネルやマイクロフォン等の入力デバイスを介して受け付けてもよい。または、受付部2は、例えば、ディスクや半導体メモリ等の記録媒体から読み出された情報を受け付けてもよく、その受け付けの態様は特に限定されるものではない。
 会話文受付手段21は、会話文を受け付ける。会話文とは、人が会話する文であり、自然言語による文といってもよい。会話文の受け付けは、例えば、音声での受け付けであるが、テキストデータでの受け付けでもよい。音声とは、人が発した声である。テキストデータとは、人が発した声を音声認識した文字列である。文字列は、1または2以上の文字の配列で構成される。
 音声受付手段211は、会話文の音声を受け付ける。音声受付手段211は、会話文の音声を、例えば、端末から、端末識別子と対に受信するが、マイクロフォンを介して受け付けてもよい。端末識別子とは、端末を識別する情報である。端末識別子は、例えば、MACアドレス、IPアドレス、IDなどであるが、端末を識別し得る情報であれば何でもよい。なお、端末識別子は、端末のユーザを識別するユーザ識別子でもよい。ユーザ識別子は、例えば、メールアドレス、電話番号等であるが、IDや住所・氏名等でもよく、ユーザを識別し得る情報であれば何でもよい。
 音声認識手段212は、音声受付手段211が受け付けた音声に対して音声認識処理を行い、文字列である会話文をテキストデータとして取得する。なお、音声認識処理は公知技術であり、詳しい説明を省略する。
 文字列受付手段213は、紙媒体や電子媒体に記載されている文字列からテキストデータを取得する。文字列受付手段213は、紙媒体から読み取った文字列をOCR技術で文字認識してテキストデータ化してもよいし、電子媒体に含まれる文字列をそのままテキストデータとして取得してもよい。文字列受付手段213により取得されるテキストデータは、データベース内にあるデータ、もしくはメール文章、ドキュメントファイル等から取得するようにしてもよい。あるいは電子データとしての文字列を直接取得するようにしてもよく、例えばチャットや掲示板の書き込み等から直接取り込むようにしてもよい。
 処理部3は、各種の処理を行う。各種の処理とは、例えば、インテント決定手段31、エンティティ取得手段33、パラメータ取得手段34、API情報取得手段35、APIパラメータセット手段36、検索結果取得手段37などの処理である。また、各種の処理には、例えば、フローチャートで説明する各種の判別なども含まれる。
 処理部3は、例えば、会話文受付手段21が会話文を受け付けたことに応じて、インテント決定手段31等の処理を行う。なお、1以上の各端末から、端末識別子と対に会話文が送信される場合、処理部3は、インテント決定手段31等の処理を、1以上の端末識別子ごとに行う。
 処理部3は、会話文受付手段21が受け付けた1以上の会話文に含まれる1以上のエンティティをパラメータ化する。
 詳しくは、処理部3は、音声として入力された会話文に含まれるエンティティ、一例として自立語をパラメータ化する。例えば、「先月のA銀行の残高を教えて」という会話文と「先月のB銀行の残高を教えて」という会話文を比較すると、「A銀行」と「B銀行」の単語が入れ替わっている点以外、2つの会話文に異なる点は無い。しかしながら、これまでの検索結果では、異なる意味を持つ会話文として、必ずしも同じ意味内容であると認識されていないことがあった。そこで処理部3は、これらの会話文に含まれる「A銀行、「B銀行」、「先月」、「残高」という自立語、即ちエンティティをパラメータ化する。
 インテント決定手段31は、会話文受付手段21が受け付けた会話文に対応するインテントを決定する。
 詳しくは、インテント決定手段31は、最初、例えば、会話文受付手段21が受け付けた会話文に対応するテキストを取得する。テキストは、前述したように、例えば、会話文受付手段21が受け付けた会話文を音声認識した結果であるが、会話文受付手段21が受け付けた会話文そのものでもよい。
 すなわち、インテント決定手段31は、音声である会話文が受け付けられた場合、当該会話文を音声認識し、テキストを取得する。なお、テキストである会話文が受け付けられた場合、インテント決定手段31は、当該テキストを取得すればよい。
 次に、インテント決定手段31は、取得したテキストに対して、例えば、自然言語解析を行うことにより、当該テキストから1以上の自立語を取得する。なお、自然言語解析は公知技術であり、詳しい説明を省略する。
 そして、インテント決定手段31は、取得した1以上の自立語と同一または類似する単語を有するアクション名およびウェブフックを有するインテントを決定する。
 詳しくは、学習済み言語解析モデルを介して解析された結果、インテントが決定されるとともにエンティティも導出される。インテントは{残高照会}、エンティティは、{日付エンティティ}と{残高エンティティ}が導出される。
 パラメータ取得手段34は、エンティティ取得手段33が取得した1以上の各エンティティに対応する1以上のパラメータを取得する。
 具体的には、例えば、受け付けられた会話文「先月のA銀行の残高を教えて」から3つのエンティティ「先月」、「A銀行」、および「残高」が取得された場合、処理部3は、インテント情報部12に格納されているテキストデータ「先月のA銀行の残高を教えて」において、当該テキストデータに対応付けて格納されている3つのエンティティ情報のうち、受け付けられた会話文「先月のA銀行の残高を教えて」における「先月」と同じ開始位置“1”および終了位置“2”を有する1つ目のエンティティ情報を用いて、「先月」に対応付いた「日付エンティティ」を取得する。
 また、処理部3は、例えば、上記3つのエンティティ情報のうち、会話文「先月のA銀行の残高を教えて」における「A銀行」と同じ開始位置“4”および終了位置“6”を有する2つ目のエンティティ情報を用いて、「A銀行」に対応付いた「銀行名エンティティ」を取得し、さらに、会話文「先月のA銀行の残高を教えて」における「残高」と同じ開始位置“8”および終了位置“9”を有する3つ目のエンティティ情報を用いて、「残高」に対応付いた「残高エンティティ」を取得する。
 API情報取得手段35は、インテント決定手段31が決定したインテントに対応するAPI情報をAPI情報部13から取得する。
 API情報取得手段35は、例えば、インテント決定手段31が決定したインテントに対応するアクション名およびウェブフックを有するAPI情報を、API情報部13から取得する。
 APIパラメータセット手段36は、パラメータ取得手段34が取得した1以上のパラメータと、API情報取得手段35が取得したAPI情報とを用いて、問合情報を構成する。問合情報とは、情報検索するための情報であり、通常、実行可能な情報である。問合情報は、例えば、引数が挿入された関数またはメソッドであるが、完成されたSQL文でもよいし、URLとパラメータの組でもよい。
 APIパラメータセット手段36は、例えば、API情報取得手段35が取得したAPI情報が有する1以上の各変数の箇所に、各箇所に対応付くパラメータであり、パラメータ取得手段34が取得したパラメータを配置することにより、問合情報を構成する。
 出力部4は、各種の情報を出力する。各種の情報とは、例えば、検索結果である。
 出力部4は、例えば、受付部2が端末識別子と対に会話文等の情報を受信したことに応じて処理部3が各種の処理を行った結果である検索結果等の情報を、当該端末識別子で識別される端末に送信する。または、例えば、受付部2がタッチパネルやマイクロフォン等の入力デバイスを介して会話文等の情報を受け付けたことに応じて、出力部4は、検索結果等の情報を、ディスプレイやスピーカ等の出力デバイスを介して出力してもよい。
 ただし、出力部4は、各種の情報を、例えば、プリンタでプリントアウトしたり、記録媒体に蓄積したり、他のプログラムに引き渡したり、外部の装置に送信したりしてもよく、その出力の態様は特に限定されるものではない。
 検索結果出力手段41は、検索結果取得手段37を介して取得した検索結果を出力する。検索結果出力手段41は、例えば、会話文受付手段21が端末識別子と対に会話文を受信したことに応じて検索結果取得手段37が取得した検索結果を、当該端末識別子で識別される端末に送信する。または、検索結果出力手段41は、例えば、会話文受付手段21がマイクロフォン等の入力デバイスを介して会話文を受け付けたことに応じて検索結果取得手段37が取得した検索結果を、ディスプレイやスピーカ等の出力デバイスを介して出力してもよい。
 基本情報部1、インテント情報部12、API情報部13、エンティティ情報部15は、例えば、ハードディスクやフラッシュメモリといった不揮発性の記録媒体が好適であるが、RAMなど揮発性の記録媒体でも実現可能である。
 基本情報部1等に情報が記憶される過程は、特に限定されるものではない。例えば、記録媒体を介して情報が基本情報部1等で記憶されるようになってもよく、ネットワークや通信回線等を介して送信された情報が基本情報部1等で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された情報が基本情報部1等で記憶されるようになってもよい。入力デバイスは、例えば、キーボード、マウス、タッチパネル、マイクロフォン等、何でもよい。
 受付部2、会話文受付手段21、音声受付手段211、および音声認識手段212、文字列受付手段213は、入力デバイスを含むと考えても、含まないと考えてもよい。受付部2等は、入力デバイスのドライバーソフトによって、または入力デバイスとそのドライバーソフトとで実現され得る。
 出力部4、および検索結果出力手段41は、ディスプレイやスピーカ等の出力デバイスを含むと考えても含まないと考えてもよい。出力部4等は、出力デバイスのドライバーソフトによって、または出力デバイスとそのドライバーソフトとで実現され得る。
 なお、受付部2等の受信機能は、通常、無線または有線の通信手段(例えば、NIC(Network interface controller)やモデム等の通信モジュール)で実現されるが、放送を受信する手段(例えば、放送受信モジュール)で実現されてもよい。また、出力部4等の送信機能は、通常、無線または有線の通信手段で実現されるが、放送手段(例えば、放送モジュール)で実現されてもよい。
 次に、処理動作支援装置100の動作について説明する。以下において説明する処理動作は、CPUやMPU等のプロセッサが、HDDや不揮発性メモリ(例えば、フラッシュメモリ)等の記憶媒体に格納されているプログラムを読み込むことにより実現される。
 本発明を適用した処理動作支援装置100は、図3に示すように、音声又は入力端末を介してユーザから先ずテキストデータの入力を受け付ける。最初に受け付けたテキストデータが、発話文1として「先月のA銀行の残高を教えて」である場合、処理動作支援装置100は、「先月のA銀行の残高は\3,677,935円です」等のように出力部4を介して音声で回答し、或いは残高照会のデータを出力する。
 次に、ユーザから発話文2として「B銀行は?」等のように、処理動作を特定する上で必要なエンティティ値やインテントが完全に揃っていないテキストデータを受信した場合であっても、以前の会話文1のエンティティ値やインテントを参照し、処理動作支援装置100は、「先月のB銀行の残高は\2,960,819円です」等のように出力部4を介して音声で回答し、或いは残高照会のデータを出力する。つまり、発話文2は、発話文1に対して「B銀行」というエンティティ値のみが異なるため、この「B銀行」というエンティティ値以外の「先月の」、「残高」、「教えて」からなるエンティティ値及びインテントを以前から継承する。
 次にユーザから発話文3として「今月は」等のように、同じく処理動作を特定する上で必要なエンティティ値やインテントが完全に揃っていないテキストデータを受信した場合であっても、以前の会話文1、2のエンティティ値やインテントを参照し、処理動作支援装置100は、「今月のB銀行の残高は\1,875,748円です」等のように出力部4を介して音声で回答し、或いは残高照会のデータを出力する。つまり、発話文3は、発話文2に対して「今月」というエンティティ値のみが異なるため、この「今月」というエンティティ値以外の「B銀行」、「残高」、「教えて」からなるエンティティ値及びインテントを以前から継承する。
 以下、処理動作支援装置100の詳細な処理動作フローについて説明をする。
 先ずステップS11において、受付部2は、テキストデータを取得する。このテキストデータは、音声から変換することで取得してもよいが、例えばスマートフォンやタブレット端末、パーソナルコンピュータ等を始めとする入力端末を介して取得してもよい。これ以外に、脳波信号を入力端末を介して取得し、これをテキストデータに変換したものであってもよい。
 図4に示すように、先ずステップS11において、受付部2は、テキストデータを取得する。次にステップS12に移行し、公知の自然言語解析を行う。この自然言語解析では、形態素解析、必要に応じて構文解析を行うことにより、インテントとエンティティ値を抽出する。この自然言語解析において、テキストデータに含まれる指示動作(動詞)と、これに係り受けする少なくとも単語(名詞又は名詞句)等の格成分が存在していた場合、インテントは、主として指示動作、又は指示動作とこれに係り受けする格成分に基づいて抽出し、エンティティ値は、主として格成分に基づいて抽出する。
 次に、ステップS13に移行し、処理動作を実行するためのアクションを特定する上で、インテントを特定できるか、エンティティ値が不足しているか否か、換言すれば、エンティティ値が充足しているか否かを判別する。例えば、図2に示すように、「先月のA銀行の残高を教えて」という文言であれば、インテントとしては残高照会であり、そのインテントを特定する上で必要なエンティティは、日付エンティティ、銀行名エンティティ、残高エンティティ、動作エンティティであり、各エンティティに対してエンティティ値(「先月」、「A銀行」、「残高」、「教えて」)が充足している状態にある。このようなケースは、処理動作を実行するためのアクションを特定する上で、インテントが特定でき、エンティティ値が充足している状態にあるといえる。かかる場合には、ステップS14へ移行する。
 これに対して、処理動作を特定する上で必要なエンティティ値やインテントが完全に揃っていないテキストデータを受信した結果、ステップS12において行った自然言語解析において、「B銀行は?」という文言が抽出された場合、銀行名エンティティのみが抽出できただけで、他のエンティティに応じたエンティティ値が不足しており、インテントが特定できない。同様にステップS12において行った自然言語解析において、「収支を教えて」いう文言を抽出した場合、インテントは、収支照会インテントとして特定できるものの、これに対応するエンティティのエンティティ値が不足している状態であり、処理動作が特定できない。
 このようにインテントを特定できない場合、エンティティ値が不足している場合、の何れか一方、又は両方の場合には、処理動作を規定するアクション自体が特定できない。かかる場合にはステップS15に移行する。
 S14に移行した場合、ステップS12において自然言語解析したテキストデータが、処理動作を実行するためのアクションを特定する上で、インテントが特定でき、エンティティ値が充足している状態にあるので、そのままアクションを特定する。このアクションを特定する方法は従来のいかなる手法を適用するようにしてもよく、例えば、特開2021-68399号公報に開示技術を適用するようにしてもよい。特定したアクションに基づいて処理動作を実行した後、ステップS18に移行する。
 ステップS15に移行した場合は、ステップS12において自然言語解析したテキストデータのみからではアクション自体が特定できないため、以前の会話履歴を取得する。
 以前の会話履歴は、図2に示すようなインテント、エンティティ値、アクションに予め分類された状態で基本情報部1において記録されていてもよいし、テキストデータがそのまま記録されるものであってもよい。またテキストデータに加え、これ紐付けられたインテント、エンティティ値、アクションが共に記録されるものであってもよい。
 ステップS15では、このような会話履歴を取得した後、ステップS16へ移行し、必要なインテントやエンティティ値を継承する。
 ステップS16では、例えば図5に示すように、既に会話履歴として、履歴番号1の会話文として「先月のA銀行の残高を教えて」であり、これに対してエンティティ値として、日付エンティティ(「先月」)、銀行名エンティティ(「A銀行」)、残高エンティティ(「残高」)、動作エンティティ(「教えて」)がそれぞれ紐付けられて記録されているものとする。
 今回のステップS12における自然言語解析されたテキストデータが履歴番号2に示す「B銀行は」であると仮定する。この場合、日付エンティティ、残高エンティティ、動作エンティティにおける各エンティティ値がそれぞれ不足となっており、銀行名エンティティのエンティティ値のみが充足されている状態となっている。
 かかる場合には、インテントについては、既に処理動作を実行させたテキストデータのインテントを時系列的により新しいものから継承する。同様に、エンティティについては、既に処理動作を実行させたテキストデータのエンティティ値を時系列的により新しいものから継承する。
 図5の例の場合、インテントについては、履歴番号1の残高照会インテントをそのまま継承する。同様に、エンティティについては、その不足している日付エンティティ、残高エンティティ、動作エンティティにおける各エンティティ値を履歴番号1のエンティティ値から継承する。その結果、充足している銀行エンティティ以外のエンティティ値として、日付エンティティ(「先月」)、残高エンティティ(「残高」)、動作エンティティ(「教えて」)を継承することができる。
 このようにして、ステップS16において、ステップS12における自然言語解析において抽出したエンティティ値及び上記インテントの何れか一方又は両方に加え、継承されたインテント及びエンティティの何れか一方又は両方を補足する。その結果、処理動作を規定するアクションを特定する上で必要なインテント及びエンティティを得ることができる。
 図5の例の場合、インテントとして、残高照会インテントを得ることができ、エンティティ値として、「先月」、「B銀行」、「残高」、「教えて」を得ることができる。その結果、必要なアクションの処理動作を特定することができる。
 次にステップS17へ移行する。ステップS17においては、ステップS16において特定したアクションの処理動作を実行する。図5の例の場合、新たに履歴番号2の「B銀行は?」というテキストデータを得ることにより、実際に、先月のB銀行の残高をユーザに通知するための各種処理動作が実行されることとなる。
 次にステップS18に移行し、会話履歴への追加登録を行う。かかる場合には、図5に示すように、履歴番号2のテキストデータ及びこれから取得されたインテント、エンティティ値の何れか一方又は両方に加え、上述した方法に基づいて継承し、捕捉したインテント、エンティティ値、アクションを紐付けて記録するようにしてもよい。但し、かかる方法に限定されるものではなく、追加登録するのは、あくまで履歴番号2のテキストデータ及びこれから取得されたインテント、エンティティ値の何れか一方又は両方のみとし、その他の継承したインテント、エンティティ値の何れか一方又は両方は、登録しなくてもよい。かかる場合であっても、履歴番号2から更に履歴番号1に時系列的にさかのぼることで必要なインテントやエンティティ値を取得することができるためである。
 ステップS19に移行した場合、上述した検索結果出力手段41を通じて検索結果を表示し、フローが終了となる。
 このようにして、ステップS18において追加登録をすることにより、次回以降の自然言語解析時において、これを活用することができる。
 例えば次回受け付けたテキストデータを自然言語解析した結果、図5に示すように、履歴番号3の「今月は」である場合、ステップS13において、これのみではエンティティ値、インテントを共に特定できない状況であるため、ステップS15に移行し、会話履歴を取得する。ステップS16におけるインテント、エンティティを継承する場合には、日付エンティティとしての「今月は」以外の、銀行名エンティティ、残高エンティティ、動作エンティティの各エンティティ値が不足しており、またインテントが特定できていない状況であることから、これらを以前の会話履歴から継承する。かかる場合には、時系列的により新しいものから継承する。
 履歴番号3に対して最も時系列的により新しいのは、履歴番号2になる。この履歴番号2におけるインテントは残高照会であり、銀行名エンティティのエンティティ値は、「B銀行」であり、残高エンティティのエンティティ値は、「残高」であり、動作エンティティのエンティティ値は、「教えて」である。インテントが特定できない場合、またエンティティ値が不足している場合には、より新しい履歴番号2から継承する。
 特に通常の日常会話において、このような「先月のA銀行の残高を教えて」の後に、「B銀行は?」のように単発な動詞や名詞句のみで意思疎通を図る場合は、通常は直近の会話の内容を継承している場合が殆どであり、時系列的にそれよりも前の会話の内容を継承することは殆どない。このため、本発明においては、既に処理動作を実行させたテキストデータのインテントを時系列的により新しいものから継承し、また既に処理動作を実行させたテキストデータのエンティティ値を時系列的により新しいものから継承することで、より日常会話に近い状態で各種処理動作を実行させることが可能となる。
 このため、本発明によれば、文書又は会話文から取得したテキストデータに基づいて各種処理動作を自動的に実行させる上で、単に動詞や名詞(名詞句)、格成分のみを取得するのみで、今までの会話の経緯を以って処理動作を特定することが可能となる。
 なお、本発明においては、エンティティとインテントの継承関係に応じて以下に説明する4つの類型に分類することができる。
 図6は、インテントもエンティティも継承しない類型である。以下の例においては、履歴番号1に示すテキストデータ「先月のA銀行の残高教えて」に応じたインテント、エンティティ値、アクションが既に会話履歴として記録されている場合を想定する。かかる場合において新たにS12において、「前年度の貸借対照表を見せて?」という文言を自然言語解析したものとする。かかる場合は、何れもステップS13においてエンティティ値(日付エンティティとしての「前年度」、貸借対照表エンティティとしての「貸借対照表」、動作エンティティとしての「見せて」)とインテント(貸借対照表インテント)が特定できるものとなるため、ステップS14に移行する。
 ステップS14に移行した場合には、これら特定したインテントとエンティティ値に基づいて、アクション(action#reports#trial#bs)を特定する。
 図7は、インテントも継承し、エンティティも継承する類型である。新たにS12において、「B銀行は」という文言を自然言語解析したものとする。かかる場合は、ステップS13において全てのエンティティ、インテントが共に特定できないので、ステップS15に移行する。ステップS15に移行した場合には、会話履歴として履歴番号1を取得し、ステップS16において必要なインテント、エンティティを継承する。図7の例の場合、「B銀行は」を自然言語解析した結果、銀行名エンティティのみは特定できるが、それ以外の日付エンティティ、残高エンティティ、動作エンティティは特定できないため、これを履歴番号1の会話履歴から継承する。またインテントも同様に特定できないため、履歴番号1の会話履歴から継承する。その結果、インテントとして、残高照会インテントを得ることができ、エンティティ値として、「先月」、「B銀行」、「残高」、「教えて」を得ることができる。その結果、必要なアクションの処理動作を特定することができる。
 図8は、インテントを継承し、エンティティは継承しない類型である。新たにS12において、「今月のB銀行は」という文言を自然言語解析したものとする。かかる場合は、ステップS13においてエンティティは特定できるものの、インテントが共に特定できないので、ステップS15に移行する。ステップS15に移行した場合には、会話履歴として履歴番号1を取得し、ステップS16において必要なエンティティを継承する。図8の例の場合、「今月のB銀行は」を自然言語解析した結果、日付エンティティ、銀行名エンティティは特定できるので、これらのエンティティについては特段継承することは行わない。それ以外の残高エンティティ、動作エンティティは、インテントを構成するものであることから、エンティティの継承の判断の対象外となる。
 またインテントは特定できないため、履歴番号1の会話履歴から継承する。その結果、インテントとして、残高照会インテントを得ることができ、エンティティ値として、「今月」、「B銀行」、「残高」、「教えて」を得ることができる。その結果、必要なアクションの処理動作を特定することができる。
 図9は、インテントは継承せず、エンティティを継承する類型である。新たにS12において、「収支を教えて」という文言を自然言語解析したものとする。かかる場合は、ステップS13において全てのエンティティが特定できないので、ステップS15に移行する。ステップS15に移行した場合には、会話履歴として履歴番号1を取得し、ステップS16において必要なエンティティを継承する。図9の例の場合、「収支を教えて」を自然言語解析した結果、インテントは「収支を教えて」という文言から、収支照会インテントを得ることができる。日付エンティティ、銀行エンティティは特定できないものであるから、履歴番号1の会話履歴から継承する。収支(残高)エンティティ、動作エンティティは、インテントを構成するものであることから、エンティティの継承の判断の対象外となる。
 なお、上述した実施の形態では、既に処理動作を実行させたテキストデータのインテントを時系列的により新しいものから継承し、また既に処理動作を実行させたテキストデータのエンティティ値を時系列的により新しいものから継承する場合を例に挙げて説明した。ここでいう時系列的により新しいものとは、必ずしも直近の処理動作を実行させたテキストデータのインテントとエンティティ値を継承するという意味ではない。仮に直近の処理動作を実行させたテキストデータにおいて継承可能なインテント又はエンティティ値が存在しない場合、時系列的にその前の処理動作を実行させたテキストデータのインテントとエンティティ値を継承する。更に当該その前の処理動作を実行させたテキストデータにおいて継承可能なインテント又はエンティティ値が存在しない場合、時系列的に更にその前の処理動作を実行させたテキストデータのインテントとエンティティ値を継承する。このようにして継承可能なインテント又はエンティティ値が存在しない場合、時系列的にさかのぼり、継承することになる。但し、継承可能なインテント、又はエンティティが複数の時系列において存在する場合には、時系列的により新しいインテント、又はエンティティを優先して承継する。
 このため、本発明において、時系列的により新しいものとは、必ずしも直近の処理動作を実行させたテキストデータのインテントとエンティティ値を継承する場合に限定されるものではなく、以前において処理動作を実行させた全てのテキストデータのインテントとエンティティ値が、その継承対象の候補になりえるといえる。
 一方、本発明においては、直前に実行された処理動作を実行させたテキストデータのみのインテントとエンティティ値を継承するものであってもよい。かかる場合には、直前に実行された処理動作を特定する上で必要な上記インテント、上記エンティティ値を都度登録しておく。図5の例の場合、履歴番号2において「B銀行は」というテキストデータを自然言語解析した場合、時系列的に直近の履歴番号1のインテント、エンティティ値を予め登録しておき、これのみからインテント、エンティティ値を継承する。同様に、履歴番号3において「今月は」というテキストデータを自然言語解析した場合、時系列的に直近の履歴番号2のインテント、エンティティ値を予め登録しておき、これのみからインテント、エンティティ値を継承する。かかる場合も同様に、インテント及びエンティティ値の双方を継承してもよいが、不足しているインテント又はエンティティ値の何れかを継承するものであってもよい。
 なお、本発明は、上述した実施の形態に限定されるものではない。例えば、図10に示すように、人工知能による学習データを利用するようにしてもよい。入力は、自然言語解析により抽出されたエンティティ値及びインテントの何れか一方又は両方とし、出力が、継承するためのエンティティ値及び/又は継承するためのインテントとした学習データとする。つまり図5の例の場合、履歴番号2においてテキストデータを自然言語解析し、継承すべきインテント及びエンティティの何れか一方又は両方を特定する場合に、この学習データを利用する。学習データは、まさに履歴番号2に示すテキストデータのように動詞や名詞(名詞句)、格成分のみのような単語が入力データとして、また出力データは履歴番号1に示すようなインテント(残高照会インテント等)や、各エンティティ(日付エンティティ、銀行名エンティティ、残高エンティティ等)等のような、いわゆる継承するためのエンティティ値及び継承するためのインテントが予め学習されている。
 このような学習データを利用することにより、新たに上記自然言語解析手段により抽出されたエンティティ値及びインテントの何れか一方又は両方が入力された場合に、上述した学習データを通じて、継承すべき上記インテント及び上記エンティティの何れか一方又は両方を特定することが可能となる。
1 基本情報部
2 受付部
3 処理部
4 出力部
12 インテント情報部
13 API情報部
15 エンティティ情報部
21 会話文受付手段
31 インテント決定手段
33 エンティティ取得手段
34 パラメータ取得手段
35 API情報取得手段
36 APIパラメータセット手段
37 検索結果取得手段
41 検索結果出力手段
100 処理動作支援装置
211 音声受付手段
212 音声認識手段
213 文字列受付手段

Claims (6)

  1.  音声又は入力端末を介してテキストデータの入力を受け付ける受付手段と、
     上記受付手段により受け付けられたテキストデータを自然言語解析することにより、エンティティ値及びインテントの何れか一方又は両方を抽出する自然言語解析手段と、
     上記自然言語解析手段により上記テキストデータを自然言語解析した結果、インテントを特定できない場合には、既に処理動作を実行させたテキストデータのインテントを時系列的により新しいものから継承し、エンティティ値が不足している場合には、既に処理動作を実行させたテキストデータのエンティティ値を時系列的により新しいものから継承する継承手段と、
     上記自然言語解析手段により抽出された上記エンティティ値及び上記インテントの何れか一方又は両方に加え、上記継承手段により継承された上記インテント及び上記エンティティの何れか一方又は両方を補足することにより特定される処理動作を実行する実行手段とを備えること
     を特徴とする処理動作支援装置。
  2.  上記継承手段は、入力が、上記自然言語解析手段により抽出されたエンティティ値及びインテントの何れか一方又は両方とし、出力が、継承するためのエンティティ値及び/又は継承するためのインテントとした学習データを参照することにより、継承すべき上記インテント及び上記エンティティの何れか一方又は両方を特定すること
     を特徴とする請求項1記載の処理動作支援装置。
  3.  上記継承手段は、上記自然言語解析手段により上記テキストデータを自然言語解析した結果、インテントを特定できない場合には、直前に実行された処理動作を特定する上で必要な上記インテントを継承し、エンティティ値が不足している場合には、直前に実行された処理動作を特定する上で必要な上記エンティティ値を継承すること
     を特徴とする請求項1記載の処理動作支援装置。
  4.  上記実行手段により実行すべき処理動作を特定したエンティティ及びインテントをそれぞれ時系列的に直前のエンティティ及びインテントとして蓄積する蓄積手段を更に備えること
     を特徴とする請求項1~3のうち何れか1項記載の処理動作支援装置。
  5.  上記実行手段は、上記継承手段においてインテントを特定でき、かつエンティティ値が充足している旨が判別された場合には、上記自然言語解析手段により抽出された上記エンティティ値及び上記インテントのみにより特定される処理動作を実行すること
     を特徴とする請求項1~4のうち何れか1項記載の処理動作支援装置。
  6.  音声又は入力端末を介してテキストデータの入力を受け付ける受付ステップと、
     上記受付ステップにおいて受け付けたテキストデータを自然言語解析することにより、エンティティ値及びインテントの何れか一方又は両方を抽出する自然言語解析ステップと、
     上記自然言語解析ステップにおいて上記テキストデータを自然言語解析した結果、インテントを特定できない場合には、既に処理動作を実行させたテキストデータのインテントを時系列的により新しいものから継承し、エンティティ値が不足している場合には、既に処理動作を実行させたテキストデータのエンティティ値を時系列的により新しいものから継承する継承ステップと、
     上記自然言語解析ステップにおいて抽出した上記エンティティ値及び上記インテントの何れか一方又は両方に加え、上記継承ステップにおいて継承した上記インテント及び上記エンティティの何れか一方又は両方を補足することにより特定される処理動作を実行する実行ステップとをコンピュータに実行させること
     を特徴とする処理動作支援プログラム。
PCT/JP2022/010009 2021-12-03 2022-03-08 処理動作支援装置及びプログラム WO2023100384A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021197341 2021-12-03
JP2021-197341 2021-12-03

Publications (1)

Publication Number Publication Date
WO2023100384A1 true WO2023100384A1 (ja) 2023-06-08

Family

ID=86611764

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/010009 WO2023100384A1 (ja) 2021-12-03 2022-03-08 処理動作支援装置及びプログラム

Country Status (2)

Country Link
JP (1) JP2023083241A (ja)
WO (1) WO2023100384A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998013771A1 (fr) * 1996-09-26 1998-04-02 Mitsubishi Denki Kabushiki Kaisha Processeur interactif
JP2014106927A (ja) * 2012-11-29 2014-06-09 Toyota Motor Corp 情報処理システム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998013771A1 (fr) * 1996-09-26 1998-04-02 Mitsubishi Denki Kabushiki Kaisha Processeur interactif
JP2014106927A (ja) * 2012-11-29 2014-06-09 Toyota Motor Corp 情報処理システム

Also Published As

Publication number Publication date
JP2023083241A (ja) 2023-06-15

Similar Documents

Publication Publication Date Title
WO2020186778A1 (zh) 错词纠正方法、装置、计算机装置及存储介质
JP5796496B2 (ja) 入力支援システム、方法、およびプログラム
US11049493B2 (en) Spoken dialog device, spoken dialog method, and recording medium
US8452772B1 (en) Methods, systems, and articles of manufacture for addressing popular topics in a socials sphere
CN109685056B (zh) 获取文档信息的方法及装置
US7243069B2 (en) Speech recognition by automated context creation
US20220222441A1 (en) Machine learning based named entity recognition for natural language processing
CN113051362A (zh) 数据的查询方法、装置和服务器
US11531821B2 (en) Intent resolution for chatbot conversations with negation and coreferences
JP6598418B1 (ja) 情報出力装置、情報出力方法、およびプログラム
JP2013190985A (ja) 知識応答システム、方法およびコンピュータプログラム
WO2023100384A1 (ja) 処理動作支援装置及びプログラム
CN110347696B (zh) 数据转换方法、装置、计算机设备以及存储介质
JP6954549B1 (ja) エンティティとインテントとコーパスの自動生成装置及びプログラム
WO2023007791A1 (ja) プログラムコード自動生成システム
JP7231171B1 (ja) 処理動作支援装置及びプログラム
WO2023035529A1 (zh) 基于意图识别的信息智能查询方法、装置、设备及介质
KR102492008B1 (ko) 회의록 관리 방법 및 장치
JP3691773B2 (ja) 文章解析方法とその方法を利用可能な文章解析装置
JP6635460B1 (ja) 情報生成装置、コーパスの生産方法、およびプログラム
CN114586021B (zh) 信息输出装置、信息输出方法以及记录介质
JP2019144755A (ja) 対話管理サーバ、対話管理方法、及びプログラム
CN114676244B (zh) 信息处理方法、信息处理装置以及计算机可读存储介质
CN111428018B (zh) 智能问答方法及装置
JP2022021552A (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: 22900820

Country of ref document: EP

Kind code of ref document: A1