WO2020234948A1 - Information output device, information output method, and program - Google Patents

Information output device, information output method, and program Download PDF

Info

Publication number
WO2020234948A1
WO2020234948A1 PCT/JP2019/019800 JP2019019800W WO2020234948A1 WO 2020234948 A1 WO2020234948 A1 WO 2020234948A1 JP 2019019800 W JP2019019800 W JP 2019019800W WO 2020234948 A1 WO2020234948 A1 WO 2020234948A1
Authority
WO
WIPO (PCT)
Prior art keywords
information
entity
unit
intent
acquired
Prior art date
Application number
PCT/JP2019/019800
Other languages
French (fr)
Japanese (ja)
Inventor
基光 白川
Original Assignee
ソプラ株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ソプラ株式会社 filed Critical ソプラ株式会社
Priority to JP2019539301A priority Critical patent/JP6598418B1/en
Priority to PCT/JP2019/019800 priority patent/WO2020234948A1/en
Publication of WO2020234948A1 publication Critical patent/WO2020234948A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation

Definitions

  • the present invention relates to an information output device or the like that accepts conversational sentences, searches a database in an organization such as a company for information, and outputs the results.
  • Non-Patent Document 1 a technique for searching the Internet or turning on / off a predetermined device by a word uttered by a user.
  • conversational sentences (which may be called natural language sentences) change dynamically even for inquiries that request the same search results, depending on, for example, the person who issues them or the organization of the company to which the person belongs. For example, there are many conversational sentences that inquire about the overtime hours of a specific employee in a specific month, such as "Tell me about Nakamura's overtime hours last month” and "Tell me about Nakamura's overtime hours last month.” To do.
  • the information output device of the first invention is an intent storage unit that stores one or more intents that are information managed for each business process and have an action name that specifies the business process.
  • An API information storage unit that stores one or more API information, which is information corresponding to a tent, information for performing an information search, and information having information for specifying a parameter which is one or more variables.
  • a corpus storage unit that stores one or more conversational text information that is information corresponding to the intent and is conversational text information, and one or more entities that are words that correspond to any one or more conversational text information.
  • the conversational sentence information determination unit that determines the conversational sentence information that most closely resembles the conversational sentence received by the conversational sentence reception unit, and the conversational sentence information determined by the conversational sentence information determination unit.
  • An entity acquisition unit that acquires one or more entities that are words possessed by the conversational sentence received by the conversation sentence reception unit, and one or more entities that the entity acquisition unit has acquired, corresponding to each of the one or more entities associated with.
  • the parameter acquisition unit that acquires one or more parameters corresponding to the entity, the API information acquisition unit that acquires the API information corresponding to the intent determined by the intent determination unit from the API information storage unit, and the parameter acquisition unit have acquired it.
  • the inquiry information configuration unit that constitutes the inquiry information for information retrieval and the inquiry information configured by the inquiry information configuration unit It is an information output device including a search unit that executes and acquires a search result, and a search result output unit that outputs the search result acquired by the search unit.
  • the intent determination unit acquires the text corresponding to the conversation sentence received by the conversation sentence reception unit, and one or more independence from the text. It is an information output device that acquires a word and determines an intent having an action name having a word that is the same as or similar to one or more independent words.
  • the information output device of the third invention is information about a day word which is a word related to a day and a day corresponding to the day word for the first or second invention, and constitutes inquiry information.
  • a day conversion information storage unit for storing one or more day conversion information having a day information acquisition information for acquiring day information which is information used at the time is further provided, and the parameter acquisition unit is an entity acquisition unit. It is an information output device that acquires day conversion information corresponding to a day word in one or more acquired entities from the day conversion information storage unit, and acquires day information as a parameter by using the day conversion information.
  • the parameter acquisition unit determines whether or not the day word exists in one or more entities acquired by the entity acquisition unit, and the determination means 341 determines that the day word exists.
  • the day conversion information corresponding to the day word may be acquired from the day conversion information storage unit, and the day information acquisition means for acquiring the day information which is a parameter may be provided by using the day conversion information.
  • the entity of the entity storage unit corresponds to the entity name which is the name of the entity, and the table is specified.
  • the attribute value of the translation item name acquired by the translation item name acquisition means is the entity acquisition from the table identified by the primary key identifier acquisition means that acquires the identifier from the PK item storage unit and the table identifier acquired by the table identifier acquisition means.
  • the inquiry information component unit is one or more variables contained in the API information acquired by the API information acquisition unit. This is an information output device that configures inquiry information by arranging the parameters that correspond to each location and the parameters acquired by the parameter acquisition unit.
  • the reception unit performs voice reception means for receiving the voice of the conversation sentence and voice recognition processing for the voice. It is an information output device including a voice recognition means for acquiring a conversational sentence which is a character string.
  • Block diagram of the information output device Flow chart explaining the operation of the information output device Flowchart explaining parameter acquisition process
  • Data structure diagram of table information Intent data structure diagram The figure which shows an example of the contents of the API information storage part
  • Data structure diagram of entity mapping information Data structure diagram of PK items
  • External view of computer system Diagram showing an example of the internal configuration of a computer system
  • the information output device in this embodiment is, for example, a server.
  • the server is, for example, a server in a company that provides services such as information retrieval, but may be a cloud server, an ASP server, or the like, and its type does not matter.
  • the server is communicably connected to one or more terminals (not shown) via a network such as a LAN or the Internet, a wireless or wired communication line, or the like.
  • the terminal is, for example, a mobile terminal of a user who uses a service such as information retrieval, but may be a stationary PC or the like, and the type is not limited.
  • the mobile terminal is, for example, a tablet terminal, a smartphone, a mobile phone, a notebook PC, or the like, but the type is not limited.
  • the information output device may be, for example, a stand-alone terminal, and the means for realizing it does not matter.
  • FIG. 1 is a block diagram of an information output device according to the present embodiment.
  • the information output device includes a storage unit 1, a reception unit 2, a processing unit 3, and an output unit 4.
  • the storage unit 1 includes a table storage unit 11, an intent storage unit 12, an API information storage unit 13, a corpus storage unit 14, an entity storage unit 15, an entity mapping information storage unit 16, a PK item storage unit 17, and a day conversion information storage unit.
  • the unit 18 is provided.
  • the reception unit 2 includes a conversation text reception unit 21.
  • the conversation sentence reception unit 21 includes a voice reception means 211 and a voice recognition means 212.
  • the processing unit 3 includes an intent determination unit 31, a conversation sentence information determination unit 32, an entity acquisition unit 33, a parameter acquisition unit 34, an API information acquisition unit 35, an inquiry information configuration unit 36, and a search unit 37.
  • the parameter acquisition unit 34 includes a determination unit 341, a day information acquisition unit 342, an entity name acquisition unit 343, a translation item name acquisition unit 344, a table identifier acquisition unit 345, a primary key identifier acquisition unit 346, and a conversion parameter acquisition unit 347. ..
  • the output unit 4 includes a search result output unit 41.
  • the storage unit 1 can store various types of information.
  • the various types of information include, for example, tables, intents, API information, corpora, entities, entity mapping information, PK items, and day conversion information. Information on tables and the like will be described later. In addition, other information will be explained in a timely manner.
  • the table may be, for example, a tabular database.
  • one or more item names are registered in the table, and one or two or more values are registered for each of the one or more item names.
  • the item name may be referred to as an attribute name, and each value of 1 or more corresponding to one item name may be referred to as an attribute value.
  • the table is, for example, a relational database table, TSV, Excel, CSV, or the like, but the type is not limited.
  • the stored table is, for example, an employee master, a business master, a working time table, or the like.
  • Master data about employees is registered in the employee master.
  • the master data related to an employee is, for example, data such as an employee code and an employee name, but the type does not matter.
  • Master data related to the business is registered in the business master.
  • the master data related to the business is, for example, data such as a business ID and a business name, but the type thereof does not matter.
  • Data related to working hours are registered in the working hours table.
  • the data related to working hours is, for example, variable data such as date, overtime hours, total working hours, business ID, etc., but the type is not limited.
  • the total working hours is the total of working hours up to the scheduled time and overtime hours.
  • data related to working hours as described above is registered in the working hours table in association with the employee code.
  • the information to which the data on working hours is associated may be, for example, an employee name, or any information that can identify the employee.
  • An intent is information managed for each business process.
  • the management for each business process may be, for example, stored in the intent storage unit 12 in association with the information that identifies the business process.
  • the information that identifies the business process is usually the action name described later, but the format does not matter.
  • Correspondence also includes, for example, the case where the intent has information that identifies the business process.
  • Business processing is processing related to business. It can be said that the work is, for example, a work performed by an organization such as a company or an organization.
  • the work includes, for example, work until the fixed time, overtime after the fixed time, vacation, absenteeism, A case, B case, accounting, manufacturing, etc., but the type does not matter.
  • the business process is, for example, information retrieval.
  • the search may be referred to as an inquiry, for example.
  • the information to be searched is, for example, attendance information such as overtime hours and working hours, but may be financial information such as balances and stock prices, or operating conditions of manufacturing lines, and the contents thereof are not limited.
  • the business processing may be, for example, registration of information or processing based on information (for example, payroll calculation based on attendance information, financial transaction based on financial information, etc.), and the type does not matter.
  • the intent usually has an action name that identifies the business process.
  • the action name is the name of the action.
  • An action is a business process that is usually executed via an API. However, the action may be, for example, a business process executed in response to an SQL statement.
  • action name usually corresponds to the API information described later. Therefore, it may be considered that the intent is associated with the API information, for example, via the action name.
  • Intents also usually have an intent name.
  • the intent name is the name of the intent. Therefore, the intent can be considered as information that associates the intent specified by the intent name or the intent name with the action name or the action specified by the action name.
  • the action name is, for example, "overtime hour inquiry", “working hour data inquiry”, etc., but any information that can identify the business process may be used.
  • API information is information about API.
  • the API is an interface for using the functions of the program.
  • An API is software such as a function, method, or execution module, for example.
  • the API is, for example, WebAPI, but other APIs may be used.
  • a Web API is an API constructed by using a Web communication protocol such as HTTP or HTTPS. Since APIs such as WebAPI are known techniques, detailed description thereof will be omitted.
  • API information is information that corresponds to the intent. As described above, the API information corresponds to the intent, for example, through the action name.
  • API information is usually information for performing information retrieval.
  • the API information may be, for example, information for registering information or performing processing based on the information.
  • API information has one or more parameter specific information.
  • the parameter specific information is information for specifying a parameter. It may be said that the parameter is a value having a specific attribute. The value is usually a variable. Variables may be called arguments.
  • the parameter is usually the information obtained by converting the entity, but it may be the entity itself.
  • the parameters are, for example, arguments given to the API or variables in the SQL statement.
  • the parameter may be composed of, for example, a set of an attribute name and a value.
  • the parameter specific information is, for example, a parameter name.
  • the parameter name is the name of the parameter.
  • the parameter-specific information is, for example, an attribute name, but any information that can specify the parameter may be used.
  • API information is, for example, a method.
  • the API information may be, for example, an SQL statement. It can be said that the SQL statement is a statement for making an inquiry to the database.
  • the API information may be, for example, a set of a URL and a method, and its structure does not matter.
  • this type of API information may be referred to as, for example, Web API information.
  • Conversational sentence information is information on conversational sentences.
  • the conversational sentence information is usually an example sentence of a conversational sentence.
  • Example sentences are, for example, "Tell me about Nakamura's overtime hours last month” and "Tell me about Nakamura's working hours for yesterday's A project", but the content does not matter.
  • the conversation text information may be a conversation text template.
  • the template is, for example, "Tell me ⁇ Overtime entity ⁇ of ⁇ Date entity ⁇ of ⁇ Employee entity ⁇ ” or “Tell me ⁇ Working time entity ⁇ of ⁇ Business entity ⁇ of ⁇ Date entity ⁇ of ⁇ Employee entity ⁇ ”. Etc., but the format does not matter.
  • Information expressed by " ⁇ ”, " ⁇ ” such as ⁇ employee entity ⁇ included in the template may be called a variable, for example. Further, the entity and the entity name such as "employee entity” will be described later.
  • Conversational text information usually corresponds to the intent. That is, in the corpus storage unit 14, for example, one or two or more conversational sentence information is stored for each one or more intents stored in the intent storage unit 12 (see FIG. 7: described later).
  • the corpus storage unit 14 usually stores one or more entity information for each one or more stored conversational sentence information.
  • the entity information is information about one or more entities corresponding to one conversational sentence information.
  • the entity information has, for example, an entity, a start position, an end position, and an entity name when the conversational sentence information is an example sentence.
  • the entity possessed by the entity information is a representative value among one or two or more entities corresponding to the entity name possessed by the entity information.
  • the representative value is, for example, the first entity in one or more entities corresponding to one entity name, but any entity may be used.
  • the start position is the position where the entity starts in the conversation text information.
  • the start position is represented by, for example, a value (for example, "1", "4", etc.) indicating which character the first character of the entity is in the character string constituting the conversation sentence.
  • the end position is a position where the entity ends in the conversation text information, and is, for example, a value indicating the number of the last character of the entity (for example, "2", "5", etc.). ).
  • the expression format of the start position and the end position does not matter.
  • the start position and end position may be referred to as offsets. Further, the offset may be expressed by the number of bytes, and its format does not matter.
  • the entity name is the name of the entity.
  • the entity name is, for example, "employee entity”, “date entity”, “overtime hour entity”, etc., but the format is not limited as long as it is information that can express the attributes of the entity.
  • An employee entity is an entity related to an employee.
  • a date entity is an entity related to a date.
  • the overtime hours entity is an entity related to overtime hours.
  • the entity information may have, for example, an entity name and order information.
  • the order information is a value indicating which variable the entity name corresponds to in one or more variables included in the template.
  • the structure of the entity information does not matter.
  • conversational sentence information "Tell me about Nakamura's overtime hours last month” and three corresponding entity information "Nakamura, 1, 2, employee entity", " Last month, 4, 5, date entities "and” overtime hours, 7, 10, overtime entities "may be stored.
  • the corpus in the present embodiment may be considered as, for example, each of one or more conversational sentence information stored in the corpus storage unit 14, one or more conversational sentence information, and each conversational sentence information. It can also be thought of as a set of associated entity information.
  • An entity is one or more words associated with conversational sentence information.
  • a word is a unit that makes up a sentence.
  • a word may be simply called, for example, a "word” or a "word”, or may be considered as a kind of morpheme (for example, an independent word described later).
  • entity storage unit 15 for example, one or two or more entities are stored in association with each one or more entity names.
  • the entity usually corresponds to any one or more conversational sentence information in one or more conversational sentence information stored in the corpus storage unit 14. Therefore, for example, one or more entities may be stored in the entity storage unit 15 for each one or more conversational sentence information stored in the corpus storage unit 14.
  • the word corresponding to the conversational sentence information is usually an independent word.
  • An independent word is a word that can form a phrase by itself, and is, for example, a noun, but may also be a verb, an adjective, or the like. However, the corresponding word may be an attached word.
  • An adjunct word is a word that cannot form a phrase by itself and that forms a phrase with other independent words, such as auxiliary verbs and particles. That is, the corresponding word is usually an independent word, but may be an independent word with an adjunct.
  • the corresponding words may be, for example, collocations.
  • a collocation is a word that expresses a certain meaning by connecting two or more autonomous words, and may be called a compound word.
  • the collocations are, for example, "overtime hours” in which "overtime” and “hours” are combined, "A project” in which "A” and “project” are combined, etc., but a group named "Ichiro Nakamura". However, any set of two or more words may be used.
  • the corresponding words are one or more words (that is, the information in the conversational sentence information) included in the example sentence, but when the conversational sentence information is a template. Is a word (that is, information added to conversational sentence information) to be inserted at the position of one or more variables included in the template.
  • entity mapping information is information that associates the table identifier and the translated item name with the entity name.
  • the entity mapping information has, for example, a table identifier, a translation item name, and an entity name.
  • the table identifier is information for identifying one or more tables stored in the table storage unit 11.
  • the table identifier is, for example, "MST_SHAIN” or "TRN_TIME_CARD", but any information that can identify the table may be used.
  • the translation item name is an attribute name in the table identified by the table identifier, and is information that identifies the entity to be translated.
  • the translated item name is, for example, an item name corresponding to a key other than the primary key among one or more item names of the table identified by the table identifier, and the item name to be converted into the item name corresponding to the primary key. It may be.
  • the item name corresponding to the 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 may be used.
  • the PK item is an item corresponding to the primary key.
  • the PK item has, for example, a table identifier and a primary key identifier.
  • the primary key identifier is information that identifies the primary key of the table identified by the table identifier.
  • the primary key identifier is, for example, "SHAIN_CODE” in the case of a table identified by the table identifier "MST_SHAIN” (hereinafter, employee master), and is a table (hereinafter, working hours table) identified by the table identifier "TRN_TIME_CARD”. There are two cases, “SHAIN_CODE” and “TIME_CARD_DATE”.
  • the day conversion information is information for converting a day word into a date.
  • a day word is a word about a day.
  • the day word is usually a word associated with the entity name "date entity", for example, "last month”, “yesterday”, “last week”, “this year”, “this month”, “last year”, “previous term”, For example, "this year”, but any information that can be converted into a date may be used.
  • the day conversion information includes a day word and day information acquisition information.
  • the daily information acquisition information is information for acquiring the daily information.
  • the day information is information about the day corresponding to the day word, and is information used when constructing inquiry information.
  • the day information may be, for example, information indicating a date such as "April 1" or information indicating a period from the start date to the end date such as "4/1 to 4/30", and the format thereof is It doesn't matter.
  • the day information acquisition information is, for example, a function name or a method name, but may be API information or the program itself, and its format does not matter.
  • the day information acquisition information for the day word "last month” for example, the current time information (for example, "May 10, 2019 11:15”: the same applies hereinafter) is acquired, and the current time information has the information.
  • Acquire the previous month (for example, "April") for the month (for example, "May") refer to the calendar information of the previous month, and perform the day information (for example, the first day to the last day of the previous month).
  • a program or the like for acquiring "4/1 to 4/30" etc. may be used.
  • day information acquisition information for the day word "this year” is, for example, from the first day of the year by acquiring the current time information and referring to the calendar information of the year (for example, "2019") that the current time information has. , API information or the like for acquiring day information (for example, “2019/1/1 to 2019/5/10”) up to the date of the current time information.
  • day information acquisition information for the day word "yesterday” is a method of acquiring the current time information and acquiring the day information (for example, "5/9") of the day before the day of the current time information, or The method name or the like may be used.
  • the Reception department 2 receives various information.
  • the various types of information are, for example, conversational sentences.
  • the reception unit 2 receives information such as conversational sentences from, for example, a terminal, but may receive information via an input device such as a keyboard, a touch panel, or a microphone.
  • the reception unit 2 may accept information read from a recording medium such as a disk or a semiconductor memory, and the mode of acceptance is not limited.
  • the conversation sentence reception unit 21 accepts conversation sentences.
  • a conversational sentence is a sentence in which a person speaks, and can be said to be a sentence in natural language. Conversational sentences are accepted, for example, by voice, but may be accepted by text.
  • a voice is a voice made by a person.
  • a text is a character string that voice-recognizes a voice uttered by a person.
  • a character string is composed of an array of one or more characters.
  • the voice receiving means 211 receives the voice of the conversational sentence.
  • the voice receiving means 211 receives the voice of the conversational sentence from the terminal, for example, in pairs with the terminal identifier, but may receive the voice through the microphone.
  • the terminal identifier is information that identifies a terminal.
  • the terminal identifier is, for example, a MAC address, an IP address, an ID, or the like, but any information that can identify the 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, a telephone number, or the like, but may be an ID, an address, a name, or the like, and may be any information that can identify the user.
  • the voice recognition means 212 performs voice recognition processing on the voice received by the voice reception means 211, and acquires a conversational sentence which is a character string.
  • the voice recognition process is a known technique, and detailed description thereof will be omitted.
  • the processing unit 3 performs various processes.
  • the various processes include, for example, an intent determination unit 31, a conversation sentence information determination unit 32, an entity acquisition unit 33, a parameter acquisition unit 34, an API information acquisition unit 35, an inquiry information configuration unit 36, a search unit 37, and a determination means. 341, day information acquisition means 342, entity name acquisition means 343, translation item name acquisition means 344, table identifier acquisition means 345, primary key identifier acquisition means 346, conversion parameter acquisition means 347, and the like.
  • the various processes include, for example, various discriminations described in the flowchart.
  • the processing unit 3 processes, for example, the intent determination unit 31 and the like in response to the conversation sentence reception unit 21 receiving the conversation sentence.
  • the processing unit 3 performs processing of the intent determination unit 31 and the like for each one or more terminal identifiers.
  • the intent determination unit 31 determines the intent corresponding to the conversation sentence received by the conversation sentence reception unit 21.
  • the intent determination unit 31 first acquires, for example, the text corresponding to the conversation sentence received by the conversation sentence reception unit 21.
  • the text is, for example, the result of voice recognition of the conversation sentence received by the conversation sentence reception unit 21, but may be the conversation sentence itself received by the conversation sentence reception unit 21.
  • the intent determination unit 31 when the intent determination unit 31 receives a conversational sentence that is voice, the intent determination unit 31 voice-recognizes the conversational sentence and acquires the text. When the conversational sentence which is a text is accepted, the intent determination unit 31 may acquire the text.
  • the intent determination unit 31 acquires one or more independent words from the acquired text by, for example, performing morphological analysis on the acquired text.
  • the morphological analysis is a known technique, and detailed description thereof will be omitted.
  • the intent determination unit 31 determines an intent having an action name having a word that is the same as or similar to the acquired one or more independent words.
  • a synonym dictionary is stored in the storage unit 1.
  • a synonym dictionary is a dictionary related to synonyms.
  • the word possessed by the action name and one or more synonyms of the word are registered for each action name constituting one or more intents stored in the intent storage unit 12. ing. Specifically, for example, "overtime”, “overtime hours”, and the like may be registered in association with the word "overtime hours" of the action name "overtime hours inquiry".
  • the intent determination unit 31 will use the conversation sentence "Otsuka", "last month”, or "overtime hours”. Etc. is acquired, and the intent storage unit 12 is searched using each independent word as a key, and it is determined whether or not there is an intent having an action name that matches the independent word. The match is, for example, an exact match, but may be a partial match. Then, when there is an intent having an action name having a word matching the independent word, the intent determination unit 31 determines the intent. In this example, since there is an intent having the action name "overtime hours reference” having the word "overtime hours” matching the independent word "overtime hours", the intent is determined.
  • the intent determination unit 31 refers to one synonym from one or more synonyms corresponding to the independent word from the synonym dictionary. Is acquired, the intent storage unit 12 is searched using the one synonym as a key, and it is determined whether or not there is an intent having an action name having a word matching the one synonym. Then, when there is an intent having an action name having a word matching the one synonym, the intent determination unit 31 determines the intent. If there is no such intent, the intent determination unit 31 performs the same processing for other synonyms to determine the intent. For any synonym, if there is no such intent, the intent determination unit 31 may output that the intent is not determined.
  • the conversation sentence information determination unit 32 searches the corpus storage unit 14 using the intent determined by the intent determination unit 31 as a key, and the conversation sentence reception unit 21 is selected from one or more conversation sentence information corresponding to the intent. Determines the conversational sentence information that most closely resembles the conversational sentence received by.
  • the conversational sentence information that most closely resembles the conversational sentence is, for example, the conversational sentence information that has the highest degree of similarity to the conversational sentence. That is, the conversation sentence information determination unit 32 calculates, for example, the degree of similarity between the received conversation sentence and one or more conversation sentence information corresponding to the determined intent, and the conversation sentence information having the maximum similarity degree. To decide.
  • the conversation sentence information determination unit 32 may search for a conversation template that matches the template in which the position of the noun of the accepted conversation sentence is used as a variable. That is, the corpus storage unit 14 stores a template in which one or two or more entity names are used as variables, and the conversation sentence information determination unit 32 stores one or two or more entity names of the accepted conversation sentence. Acquires the position of, and determines the template corresponding to the position of the acquired entity name as conversational sentence information. The position of one or more entity names in the conversation sentence is information indicating the number of the entity name in the template having one or more entity names.
  • the entity acquisition unit 33 corresponds to one or more entities corresponding to the conversation sentence information determined by the conversation sentence information determination unit 32, and is one or more words possessed by the conversation sentence received by the conversation sentence reception unit 21. Get an entity.
  • the entity acquisition unit 33 acquires the start position and end position of the entity from the corpus storage unit 14 for each one or more entities corresponding to the determined conversational sentence information, and from the received conversational sentence. , Gets the word specified by the start position and the end position.
  • the conversation text information "Tell me about Nakamura's overtime hours last month” and the corresponding three entity information “Nakamura, 1, 2 and employees” are sent to the corpus storage unit 14.
  • "Entity”, "last month, 4, 5, date entity”, and "overtime hours, 7, 10, overtime entity” are stored, and the conversation sentence reception department 21 tells the conversation sentence "Otsuka's overtime hours last month.
  • the conversation text information determination unit 32 determines the above conversation text information "Tell me the overtime hours of Nakamura last month”
  • the entity acquisition department 33 determines the accepted conversation text "Otsuka's overtime hours last month”.
  • the parameter acquisition unit 34 acquires one or more parameters corresponding to one or more entities acquired by the entity acquisition unit 33.
  • the acquired parameter is, for example, the acquired entity itself, but it may be information obtained by converting the acquired entity. That is, for example, when the acquired day word is included in one or more entities, the parameter acquisition unit 34 converts the day word into the parameter day information.
  • the determination means 341 constituting the parameter acquisition unit 34 determines whether or not the day word exists in one or more entities acquired by the entity acquisition unit 33. Specifically, for example, one or two or more day words are stored in the storage unit 1, and the determination means 341 matches any of the stored day words for each of the acquired one or more entities. It is determined whether or not to do so, and when the determination results for at least one entity show a match, it is determined that the day word exists in the acquired one or more entities.
  • the day information acquisition means 342 acquires the day conversion information corresponding to the day word from the day conversion information storage unit 18. , The day information which is a parameter is acquired by using the day conversion information.
  • the day word "last month” and the like are stored in the storage unit 1, and the conversational sentence "Tell me the overtime hours of last month of Otsuka” is accepted, and the three entities "Otsuka" and "
  • the determination means 341 determines that the day word exists among the acquired 3 entities because the entity "last month” matches the day word "last month”. To do.
  • the current time information is acquired and the day information (for example, "4/1 to 4/30") is acquired.
  • the day information acquisition means 342 acquires the day information acquisition information (for example, a program) corresponding to the day word "last month” from the day conversion information storage unit 18. Then, the day information acquisition means 342 acquires the current time information (for example, "May 10, 2019 11:15") from the built-in clock of the MPU, the NTP server, or the like by using the day information acquisition information, and the relevant day information acquisition means. Acquires the previous month (for example, "April”) with respect to the month (for example, "May") that the current time information has. Then, the day information acquisition means 342 acquires the day information "April 1st to April 30th" from the first day to the last day of the previous month by referring to the calendar information of the previous month.
  • the day information acquisition means 342 acquires the day information "April 1st to April 30th" from the first day to the last day of the previous month by referring to the calendar information of the previous month.
  • the day information acquisition means 342 stores the day information acquisition information (for example, API information) corresponding to the day word "this year” in the day conversion information storage unit. Obtained from 18. Then, the day information acquisition means 342 acquires the current time information from the built-in clock or the like by using the day information acquisition information, and refers to the calendar information of the year (for example, "2019") possessed by the current time information. , The day information (for example, "2019/1/1 to 2019/5/10") from the first day of the year to the day held by the current time information is acquired.
  • the day information for example, "2019/1/1 to 2019/5/10" from the first day of the year to the day held by the current time information is acquired.
  • the day information acquisition means 342 acquires the day information acquisition information (for example, a method) corresponding to the day word "yesterday” from the day conversion information storage unit 18. .. Then, the day information acquisition means 342 acquires the current time information from the built-in clock or the like by using the day information acquisition information, and the day information of the day before the day that the current time information has (for example, "5/9"). ”) Is acquired.
  • the day information acquisition information for example, a method
  • the entity name acquisition means 343 acquires the entity name corresponding to the entity from the entity storage unit 15 for each one or more entities acquired by the entity acquisition unit 33.
  • the entity name corresponding to the entity is an entity name paired with a start position and an end position that match or are similar to the position of the entity corresponding to the entity in the conversation sentence obtained by the entity.
  • the entity name acquisition means 343 acquires the entity name corresponding to the entity from the entity storage unit 15 for each one or more entities acquired by the entity acquisition unit 33, for example, using the entity information associated with the entity. You may.
  • the entity name acquisition means 343 was accepted among the three entity information stored in association with the conversational text information in the conversational text information "Tell me Nakamura's overtime hours last month” stored in the corpus storage unit 14.
  • the first entity information that has the same start position "1" and end position "2" as "Otsuka” in the conversation "Tell me about Otsuka's overtime hours last month
  • "Nakamura” is associated with "Nakamura”. Get "Employee Entity”.
  • the entity name acquisition means 343 sets the same start position "4" and end position "5" as "last month” in the conversation sentence "Tell me the overtime hours of last month of Otsuka” among the above three entity information.
  • the third entity information having "7" and the end position "10” the "overtime hours entity” corresponding to the "overtime hours” is acquired.
  • the translation item name acquisition means 344 acquires, for example, a translation item name paired with the entity name from the entity mapping information storage unit 16 for each one or more entity names acquired by the entity name acquisition means 343.
  • the entity mapping information storage unit 16 has, for example, an entity mapping information 1 having a table identifier "MST_SHAIN”, a translation item name "SHAIN_NAME”, and an entity name "employee entity”, a table identifier "TRN_TIME_CARD”, and a translation item.
  • Entity mapping information 2 having the name “TIME_CARD_DATE” and the entity name "date entity”
  • entity mapping information 3 having the table identifier "TRN_TIME_CARD”
  • the translation item name "ZIKANGAI_TIME” and the entity name "overtime entity” are stored.
  • the translation item name acquisition means 344 uses the three entity mapping informations 1 to 3. Translated item name "SHAIN_NAME” paired with the entity name “employee entity”, translated item name “TIME_CARD_DATE” paired with the entity name "date entity”, and translated item name paired with "overtime entity” Acquire "ZIKANGAI_TIM".
  • the table identifier acquisition means 345 acquires a table identifier paired with the entity name from the entity mapping information storage unit 16 for each one or more entity names acquired by the entity name acquisition means 343.
  • the table identifier acquisition means 345 uses, for example, the above three entity mapping information 1 to 3 to form a table identifier "MST_SHAIN" paired with the entity name "employee entity” and an entity name "date entity”. Acquire the paired table identifier "TRN_TIME_CARD” and the paired table identifier "TRN_TIME_CARD" with the entity name "overtime entity”.
  • the primary key identifier acquisition means 346 acquires a primary key identifier paired with the table identifier acquired by the table identifier acquisition means 345 from the PK item storage unit 17.
  • the PK item storage unit 17 has, for example, a PK item 1 having a table identifier "MST_SHAIN” and a primary key identifier "SHAIN_CODE”, and a PK item having a table identifier "TRN_TIME_CARD” and a primary key identifier "SHAIN_CODE”. 2.
  • PK item 3 having the table identifier "TRN_TIME_CARD” and the primary key identifier "TIME_CARD_DATE”, PK item 4 having the table identifier "MST_GYOUMU” and the primary key identifier "GYOUMU_ID”, etc.
  • the acquisition means 346 uses the primary key identifier "SHAIN_CODE” paired with the table identifier "MST_SHAIN”, the primary key identifier "SHAIN_CODE” paired with the table identifier "TRN_TIME_CARD”, and the table identifier " Acquires the primary key identifier "TIME_CARD_DATE” paired with "TRN_TIME_CARD” and the primary key identifier "GYOUMU_ID” paired with the table identifier "MST_GYOUMU”.
  • the attribute value of the translation item name acquired by the translation item name acquisition means 344 is the entity acquired by the entity acquisition unit 33 from the table identified by the table identifier acquired by the table identifier acquisition means 345.
  • the converted parameter which is the attribute value included in the matching record and is the attribute value of the primary key identifier acquired by the primary key identifier acquisition means 346 is acquired.
  • the API information acquisition unit 35 acquires the API information corresponding to the intent determined by the intent determination unit 31 from the API information storage unit 13.
  • the API information acquisition unit 35 acquires, for example, API information having an action name corresponding to the intent determined by the intent determination unit 31 from the API information storage unit 13.
  • the API information storage unit 13 for example, the action name "overtime time inquiry” and three or more parameter specific information “employee code, share_code”, “start date, sta_date”, “end date, end_date”, etc.
  • API information 1 having the action name "working time data inquiry”
  • API information 2 having three or more parameter specific information “employee code, share_code”, “work date, time_card_date”, "business ID, gyoumu_id”, etc.
  • the API information acquisition unit 35 has the API information 1 having the action name "overtime hour inquiry” that the intent has. To get.
  • the inquiry information configuration unit 36 configures inquiry information by using one or more parameters acquired by the parameter acquisition unit 34 and the API information acquired by the API information acquisition unit 35.
  • Inquiry information is information for searching information, and is usually feasible information.
  • the query information is, for example, a function or method in which an argument is inserted, but it may be a completed SQL statement or a set of URL and parameter.
  • the inquiry information configuration unit 36 is, for example, a parameter corresponding to each location at each of one or more variables of the API information acquired by the API information acquisition unit 35, and arranges the parameters acquired by the parameter acquisition unit 34. By doing so, inquiry information is constructed.
  • the output unit 4 outputs various information.
  • the various types of information are, for example, search results.
  • the output unit 4 obtains information such as a search result, which is the result of various processing performed by the processing unit 3 in response to the reception unit 2 receiving information such as a conversation sentence in pairs with the terminal identifier. Send to the terminal identified by the identifier.
  • the output unit 4 in response to the reception unit 2 receiving information such as a conversational sentence via an input device such as a touch panel or a microphone, the output unit 4 outputs information such as a search result to an output device such as a display or a speaker. It may be output via.
  • the output unit 4 may print out various types of information with a printer, store it in a recording medium, pass it on to another program, or transmit it to an external device, and the output unit 4 may output the output.
  • the mode does not matter.
  • the search result output unit 41 outputs the search result acquired by the search unit 37.
  • the search result output unit 41 transmits, for example, the search result acquired by the search unit 37 in response to the conversation sentence reception unit 21 receiving the conversation sentence in pairs with the terminal identifier to the terminal identified by the terminal identifier. ..
  • the search result output unit 41 outputs, for example, the search result acquired by the search unit 37 in response to the conversation sentence reception unit 21 receiving the conversation sentence via an input device such as a microphone on a display, a speaker, or the like. It may be output via a device.
  • Storage unit 1 table storage unit 11, intent storage unit 12, API information storage unit 13, corpus storage unit 14, entity storage unit 15, entity mapping information storage unit 16, PK item storage unit 17, and day conversion information storage unit No. 18 is preferably a non-volatile recording medium such as a hard disk or a flash memory, but can also be realized by a volatile recording medium such as a RAM.
  • the process of storing information in the storage unit 1 etc. does not matter.
  • information may be stored in the storage unit 1 or the like via a recording medium, or information transmitted via a network, a communication line, or the like may be stored in the storage unit 1 or the like.
  • information input via the input device may be stored in the storage unit 1 or the like.
  • the input device may be, for example, a keyboard, a mouse, a touch panel, a microphone, or the like.
  • the reception unit 2 may or may not include the input device.
  • the reception unit 2 and the like can be realized by the driver software of the input device or by the input device and its driver software.
  • Processing unit 3 intent determination unit 31, conversational text information determination unit 32, entity acquisition unit 33, parameter acquisition unit 34, API information acquisition unit 35, inquiry information configuration unit 36, search unit 37, judgment means 341, day information
  • the acquisition means 342, the entity name acquisition means 343, the translation item name acquisition means 344, the table identifier acquisition means 345, the primary key identifier acquisition means 346, and the conversion parameter acquisition means 347 can usually be realized from an API, a memory, or the like.
  • the processing procedure of the processing unit 3 and the like is usually realized by software, and the software is recorded on a recording medium such as ROM. However, the processing procedure may be realized by hardware (dedicated circuit).
  • the output unit 4 and the search result output unit 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 receiving function of the reception unit 2 or the like is usually realized by a wireless or wired communication means (for example, a communication module such as a NIC (Network interface controller) or a modem), but a means for receiving a broadcast (for example, a broadcast). It may be realized by the receiving module).
  • the transmission function of the output unit 4 or the like is usually realized by a wireless or wired communication means, but may be realized by a broadcasting means (for example, a broadcasting module).
  • FIG. 2 is a flowchart illustrating the operation of the information output device.
  • the flowcharts of FIGS. 2 and 3 are executed for each one or more terminal identifiers.
  • Step S201 The processing unit 3 determines whether or not the conversation sentence reception unit 21 has accepted the conversation sentence. If it is determined that the conversation sentence reception unit 21 has accepted the conversation sentence, the process proceeds to step S202, and if it is determined that the conversation sentence has not been accepted, the process returns to step S201.
  • Step S202 The intent determination unit 31 determines an intent corresponding to the conversational sentence received in step S201 from one or more intents stored in the intent storage unit 12.
  • Step S203 The conversation sentence information determination unit 32 determines the conversation sentence information most similar to the conversation sentence received in step S201 from one or more conversation sentence information corresponding to the intent determined in step S202. To do.
  • Step S204 The entity acquisition unit 33 corresponds to each one or more entities corresponding to the conversational sentence information determined in step S203, and stores one or more entities of the conversational sentence received in step S201. Obtained from part 15.
  • Step S205 The parameter acquisition unit 34 executes a process of acquiring one or more parameters corresponding to one or more entities acquired in step S204 (hereinafter, may be referred to as a parameter acquisition process).
  • the parameter acquisition process will be described with reference to FIG.
  • Step S206 The API information acquisition unit 35 acquires the API information corresponding to the intent determined in step S202 from the API information storage unit 13.
  • the inquiry information configuration unit 36 configures inquiry information by using one or more parameters acquired in step S205 and the API information acquired in step S206.
  • Step S208 The search unit 37 executes the inquiry information configured in step S207 and acquires the search result.
  • Step S209 The search result output unit 41 outputs the search result acquired in step S208. After that, the process returns to step S201.
  • the process starts when the power of the information output device is turned on or the program is started, and the process ends when the power is turned off or an interrupt for the end of the process occurs.
  • the trigger for the start or end of processing does not matter.
  • FIG. 3 is a flowchart illustrating the parameter acquisition process in step S205.
  • Step S301 The parameter acquisition unit 34 sets the initial value 1 in the variable i.
  • the variable i is a variable for sequentially selecting unselected entities from the one or more entities acquired in step S204.
  • Step S302 The parameter acquisition unit 34 determines whether or not there is an i-th entity. If it is determined that there is an i-th entity, the process proceeds to step S303, and if it is determined that there is no i-th entity, the process returns to higher processing.
  • Step S303 The entity name acquisition means 343 acquires the entity name corresponding to the i-th entity from the entity storage unit 15.
  • Step S304 The translation item name acquisition means 344 acquires the translation item name paired with the entity name acquired in step S303 from the entity mapping information storage unit 16.
  • Step S305 The table identifier acquisition means 345 acquires a table identifier paired with the entity name acquired in step S303 from the entity mapping information storage unit 16.
  • Step S306 The primary key identifier acquisition means 346 acquires a primary key identifier paired with the table identifier acquired in step S305 from the PK item storage unit 17.
  • Step S307 The determination means 341 determines whether or not the i-th entity is a day word. If the i-th entity is determined to be a day word, the process proceeds to step S308, and if it is determined that the entity is not a day word, the process proceeds to step S309.
  • the day information acquisition means 342 acquires the day conversion information corresponding to the day word from the day conversion information storage unit 18, and uses the acquired day conversion information to obtain the parameter day information (start date, end). Get the date etc.).
  • the conversion parameter acquisition means 347 is an attribute value included in the record in which the attribute value of the translation item name matches the i-th entity from the table identified by the table identifier acquired in step S305.
  • Step S310 The parameter acquisition unit 34 increments the variable i. After that, the process returns to step S302.
  • the information output device in this example is a stand-alone terminal.
  • three table information as shown in FIG. 4 is stored in the table storage unit 11 of the information output device.
  • FIG. 4 is a data structure diagram of table information.
  • the table information has a table identifier and a table.
  • An ID (for example, "1", "2", etc.) is associated with each stored table information.
  • the table information corresponding to the ID "1" (hereinafter, may be referred to as table information 1) has a table identifier "MST_SHAIN” and a first table (employee master).
  • MST_SHAIN a table identifier
  • a first table employee master
  • the employee master the first item name "SHAIN_CODE” and the corresponding two or more values "1", "2” ...
  • the table information 2 corresponding to the ID "2" has a table identifier "MST_GYOUMU” and a second table (business master).
  • the business master the first item name "GYOUMU_ID” and the corresponding two or more values "a", “b” ..., And the second item name "GYOUMU_NAME” and the corresponding two or more values " "A project", "B project”, etc. are registered.
  • the table information 3 has a table identifier "TRN_TIME_CARD” and a third table (working time table).
  • the working hours table the first item name “TRN_TIME_CARD” and the corresponding two or more values “4/1", “4/1” ... “4/2”, “4/2” ... “4/30”, “4/30” ...
  • the second item name "SHAIN_CODE” and the corresponding two or more values "1", “2” ... "1", “2” ... -”1", "2”
  • the third item name "ZIKANGAI_TIME” and the corresponding two or more values "2", "1” ... “1", “0” ...
  • FIG. 5 is a data structure diagram of the intent.
  • the intent has an intent name and an action name.
  • An ID (for example, "1", "2", etc.) is associated with each stored intent.
  • the intent 1 corresponding to the ID "1" has an intent name “overtime inquiry intent” and an action name “overtime hour inquiry”.
  • the intent 2 has an intent name “work inquiry data inquiry intent” and an action name “work inquiry data inquiry”.
  • the API information storage unit 13 stores, for example, a set of pairs of action names and API information as shown in FIG.
  • FIG. 6 is a diagram showing an example of the contents of the API information storage unit 13.
  • the pair of action name and API information is, for example, the pair of action name "overtime hours inquiry” and API information "search_overtime hours (employee code, start date, end date)", and the action name "working hours data inquiry”.
  • search_overtime hours employee code, start date, end date
  • the action name "working hours data inquiry”.
  • service_working hours employee code, business date, business ID
  • the corpus storage unit 14 stores one or more conversational sentence information in association with each of one or more intents, and further, each one or more conversational sentence information is stored.
  • One or more entity information is also stored in association with each other.
  • FIG. 7 is a diagram showing an example of the contents of the corpus storage unit 14.
  • the entity information has an entity, a start position, an end position, and an entity name.
  • the first intent “Overtime time inquiry intent” is associated with five conversational sentence information 1-5.
  • conversational text information 1 is “tell me the overtime hours of Nakamura last month”
  • conversational text information 2 is “tell me the overtime hours of Nakamura last month”
  • conversational text information 3 is "tell me the overtime hours of Nakamura last month”.
  • the conversational sentence information 4 is “tell me the overtime hours of last month”
  • the conversational sentence information 5 is "tell me the overtime hours”.
  • the conversation text information 1 corresponding to the "overtime hour inquiry intent” includes the first entity information having the entity “Nakamura”, the start position “1", the end position "2", and the entity name “employee entity”. , Entity "last month”, start position "4", end position "5", and second entity information with entity name “date entity”, entity “overtime”, start position "7", end position "10” , And a third entity information with the entity name “overtime entity”.
  • the conversation text information 2 includes a fourth entity information having an entity "last month”, a start position “1", an end position “2”, and an entity name “date entity”, and an entity “Nakamura”, a start position ".
  • Fifth entity information with 4 ”, end position“ 5 ”, and entity name“ employee entity ”, entity“ overtime hours ”, start position“ 7 ”, end position“ 10 ”, and entity name“ overtime entity ” Corresponds to the sixth entity information having.
  • the conversation text information 3 includes a seventh entity information having an entity “Nakamura”, a start position "1", an end position "2", and an entity name “employee entity”, and an entity “overtime hours” and a start position.
  • the eighth entity information having "4", the end position "7", and the entity name "overtime entity” is associated with each other.
  • the conversation text information 4 includes a ninth entity information having an entity "last month”, a start position "1", an end position "2", and an entity name "date entity”, and an entity “overtime hours” and a start position.
  • the tenth entity information having "4", the end position "7", and the entity name "overtime entity” is associated with each other.
  • the conversation text information 5 is associated with eleventh entity information having an entity "overtime hours”, a start position "1", an end position "4", and an entity name "overtime entity”.
  • the second intent "working time data inquiry intent" is associated with, for example, 15 conversational sentence information 1 to 15.
  • conversation sentence 1 is "Tell me the working hours of Ichiro Nakamura's A project yesterday”
  • conversation sentence 2 is "Tell me the working hours of Ichiro Nakamura's A project yesterday”
  • the last Conversational sentence 15 is "Tell me the working hours”.
  • the conversation sentence 2 and the following are sentences in which the word order is changed or some words are omitted from the conversation sentence 1.
  • the conversation text information 1 corresponding to the "working time data inquiry intent” is the first entity having the entity “Ichiro Nakamura”, the start position “1", the end position "4", and the entity name “employee entity”.
  • Second entity information with information and entity “yesterday”, start position "6", end position "7”, and entity name “date entity”, entity “working hours”, start position "13", end position Corresponds to "16" and a third entity information having the entity name "working time entity”. It should be noted that each of the conversation sentences 2 to 15 is associated with one or more entity information similarly configured.
  • FIG. 8 is a diagram showing an example of one or more entities (hereinafter, may be referred to as an entity group) corresponding to each entity name.
  • the entity group corresponding to the entity name “employee entity” includes “Ichiro Nakamura”, “Jiro Otsuka” and the like.
  • the entity group corresponding to the entity name “date entity” includes “last month”, “yesterday” and the like.
  • the entity group corresponding to the entity name “overtime entity” includes “overtime hours”, “overtime” and the like.
  • the entity group corresponding to the entity name “business entity” includes “A matter", “B matter” and the like.
  • the entity group corresponding to the entity name “working time entity” includes “working time", “working” and the like.
  • the entity mapping information storage unit 16 stores, for example, two or more entity mapping information (entity mapping information 1 to 4, etc.) as shown in FIG.
  • FIG. 9 is a data structure diagram of entity mapping information.
  • the entity mapping information has a table identifier, a translation item name, and an entity name.
  • the entity mapping information 4 has a table identifier "MST_GYOUMU", a translation item name “GYOUMU_ID”, and an entity name "business entity”.
  • FIG. 10 is a data structure diagram of PK items.
  • the PK item has a table identifier and a primary key identifier. Since PK items 1 to 4 have been described above, they will not be repeated.
  • the day conversion information storage unit 18 stores a set (not shown) of pairs of day words and day information acquisition information.
  • the pair of the day word and the day information acquisition information is, for example, a pair of the day word "last month” and the day information acquisition information 1, a pair of the day word “yesterday” and the day information acquisition information 2, and the like.
  • the day information acquisition information 1 corresponding to the day word "last month” acquires the current time information, acquires the previous month with respect to the month held by the current time information, and refers to the calendar information of the previous month. Then, it is a program to acquire the day information from the first day to the last day of the previous month.
  • the day information acquisition information 2 corresponding to the day word "yesterday” is a method of acquiring the current time information and acquiring the day information of the day before the day held by the current time information.
  • the current time is 11:15 on May 10, 2019. Now, suppose that the user voice-inputs "Tell me about Otsuka's overtime hours last month" to the terminal.
  • the voice receiving means 211 receives the above voice via the microphone, and the voice recognition means 212 performs voice recognition processing on the voice and sends a conversation sentence "Tell me about Otsuka's overtime hours last month”. get.
  • the intent determination unit 31 determines the intent corresponding to the conversation sentence from the two or more intents 1, 2, ... Stored in the intent storage unit 12. Specifically, the intent determination unit 31 acquires three independent words "Otsuka”, "last month” and "overtime hours” from the conversation sentence by, for example, morphological analysis, and uses each independent word as a key to store the intent. 12 is searched to determine an intent 1 having an action name “overtime hours reference” that partially matches “overtime hours”.
  • the conversation sentence information determination unit 32 refers to the corpus storage unit 14 (FIG. 7), and has a conversation that most closely resembles the conversation sentence from among the five conversation sentence information 1 to 5 corresponding to the determined intent 1. Determine sentence information.
  • the conversation sentence information 1 is determined, in which only the employee entity "Nakamura" specified by the start position "1" and the end position "2" is different from the conversation sentence, and the other entities are the same.
  • the entity acquisition unit 33 is an entity corresponding to the three entities "Nakamura”, “last month”, and “overtime hours” corresponding to the determined conversation sentence information 1, and is the three entities possessed by the conversation sentence. A certain "Otsuka”, “last month”, and “overtime hours” are acquired from the entity storage unit 15.
  • the conversation sentence information determination unit 32 refers to the first entity information among the first to third entity information corresponding to the conversation sentence information 1, and starts the start position “1” in the conversation sentence. And it is determined that "Otsuka” specified by the end position "2" is an employee entity. Next, the conversation sentence information determination unit 32 refers to the entity storage unit 15 and acquires the entity "Otsuka Jiro" that partially matches "Otsuka” from the entity group corresponding to the entity name "employee entity”.
  • the conversation sentence information determination unit 32 refers to the second entity information and determines that the "last month” specified by the start position "4" and the end position "5" in the conversation sentence is the date entity. , Get the entity "last month” that exactly matches "last month” from the entity group corresponding to the entity name "date entity”.
  • the conversation sentence information determination unit 32 determines that the “overtime hours” specified by the start position “7” and the end position “10” in the conversation sentence is the overtime entity by referring to the third entity information. Then, from the entity group corresponding to the entity name "overtime entity”, the entity “overtime hours” that exactly matches the "overtime hours” is acquired.
  • the parameter acquisition unit 34 acquires the three parameters corresponding to the three entities. ..
  • the entity name acquisition means 343 constituting the parameter acquisition unit 34 uses the first entity information to transfer the entity name "employee entity” from the entity storage unit 15. get.
  • the translation item name acquisition means 344 acquires the translation item name “SHAIN_NAME” paired with the acquired entity name “employee entity” from the entity mapping information storage unit 16 using the entity mapping information 1.
  • the table identifier acquisition means 345 acquires the table identifier "MST_SHAIN” paired with the acquired entity name "employee entity” from the entity mapping information storage unit 16 using the entity mapping information 1.
  • the entity name acquisition means 343 acquires the entity name "date entity” corresponding to the "last month”
  • the translation item name acquisition means 344 acquires the acquired entity name "date”.
  • the translation item name "TIME_CARD_DATE” paired with "entity” is acquired by using the entity mapping information 2.
  • the table identifier acquisition means 345 acquires the table identifier “TRN_TIME_CARD” paired with the acquired entity name “date entity” from the entity mapping information storage unit 16 using the entity mapping information 2.
  • the primary key identifier acquisition means 346 acquires two primary key identifiers "SHAIN_CODE” and "TIME_CARD_DATE" that are paired with the acquired table identifier "TRN_TIME_CARD” using the two PK items 2 and 3.
  • the determination means 341 determines that the second entity "last month” is a day word, and in response to this, the day information acquisition means 342 stores the day conversion information corresponding to the day word "last month”.
  • the day information "4/1 to 4/30" is acquired by using the acquired day conversion information acquired from the unit 18.
  • the day information acquisition means 342 acquires the current time information "May 10, 2019 11:15" from the built-in clock or the like, and April, which is the month before "May” in the current time information. With reference to the calendar information of, the day information "4/1 to 4/30" indicating 30 days from the start date "4/1" to the end date "4/30" is acquired.
  • the conversion parameter acquisition means 347 has a start date in which the attribute value of the translation item name "TIME_CARD_DATE" corresponds to the second entity "last month” from the table (working time table) identified by the acquired table identifier "TRN_TIME_CARD”.
  • the entity name acquisition means 343 acquires the entity name "overtime entity” corresponding to the "overtime hours”
  • the translation item name acquisition means 344 acquires the acquired entity name.
  • the translation item name "ZIKANGAI_TIME” paired with "overtime entity” is acquired by using the entity mapping information 3.
  • the table identifier acquisition means 345 acquires the table identifier "TRN_TIME_CARD” paired with the acquired entity name "overtime entity” by using the entity mapping information 3.
  • the primary key identifier acquisition means 346 normally does not acquire them. You may get it again.
  • the determination means 341 determines that the third entity "overtime hours” is not a day word, and the conversion parameter acquisition means 347 has a translation item name of the working hours table identified by the acquired table identifier "TRN_TIME_CARD”. Acquire the fourth converted parameter "zikangai_time” corresponding to "ZIKANGAI_TIME”.
  • the API The information acquisition unit 35 acquires the API information “sent_overtime hours (employee code, start date, end date)” corresponding to the action name “overtime time inquiry” possessed by the determined intent 1 from the API information storage unit 13. ..
  • the search unit 37 executes the configured inquiry information and acquires the search result.
  • the value of the item name "TIME_CARD_DATE” is "4/1" to "4/30”
  • the value of SHAIN_CODE is "2" 30.
  • 30 values "1,0, ... 2" corresponding to the item name "ZIKANGAI_TIME” are acquired, and the search result "20 hours” which is the sum of the 30 values is acquired.
  • the search result output unit 41 outputs a response sentence including the acquired search result "20 hours".
  • the output response text may be, for example, "20 hours” or "Otsuka-sama's overtime hours in April is 20 hours".
  • the template of the response sentence is stored in the storage unit 1, and the search result output unit 41 sets the variable of the template to the above search result "20 hours” and "obtained from the conversation sentence".
  • the response sentence may be constructed by substituting "Otsuka” and "April” obtained in the search process.
  • one or more intents which are information managed for each business process and have an action name for specifying the business process, are stored in the intent storage unit 12, and the API is
  • the information storage unit 13 stores one or more API information, which is information corresponding to the intent, information for performing an information search, and information having information for specifying a parameter which is one or more variables.
  • the corpus storage unit 14 stores one or more conversational sentence information which is information corresponding to the intent and is conversational sentence information, and the entity storage unit 15 corresponds to any one or more conversational sentence information.
  • One or more entities that are words are stored, and the information output device receives the conversation sentence, determines the intent corresponding to the received conversation sentence, and from the one or more conversation sentence information corresponding to the determined intent.
  • the information output device acquires the text corresponding to the received conversational sentence, acquires one or more independent words from the text, and creates an intent having an action name having a word that is the same as or similar to one or more independent words.
  • the day word which is a word related to the day and the day information which is the information about the day corresponding to the day word and which is the information used when constructing the inquiry information is acquired.
  • One or more day conversion information having the day information acquisition information is stored, and the information output device acquires the day conversion information corresponding to the day word in the acquired one or more entities from the day conversion information storage unit 18.
  • the information output device determines whether or not the day word exists in the acquired one or more entities, and if it determines that the day word exists, the day conversion information corresponding to the day word. May be acquired from the day conversion information storage unit 18, and the day information which is a parameter may be acquired by using the day conversion information.
  • the entity of the entity storage unit 15 corresponds to the entity name which is the name of the entity
  • the entity mapping information storage unit 16 has a table identifier for specifying the table and an attribute name in the table identified by the table identifier.
  • One or more PK items having a primary key identifier that identifies the primary key of are stored, and the information output device acquires the entity name corresponding to the acquired entity and obtains the translation item name paired with the acquired entity name.
  • the table identifier that is acquired from the entity mapping information storage unit 16 and is paired with the acquired entity name is acquired from the entity mapping information storage unit 16, and the primary key identifier that is paired with the acquired table identifier is acquired from the PK item storage unit 17. Then, from the table identified by the acquired table identifier, the attribute value of the acquired translation item name is the attribute value included in the record that matches the acquired entity, and is the attribute value of the acquired primary key identifier.
  • the information output device is a parameter corresponding to each place in each place of one or more variables possessed by the acquired API information, and the same search result is obtained by arranging the acquired parameters and constructing the inquiry information. It is possible to search for information by accepting dynamically changing conversational sentences even when inquiring about.
  • the information output device receives the voice of the conversational sentence, performs voice recognition processing on the voice, and acquires the conversational sentence which is a character string, so that even a query for the same search result can be dynamically changed by the voice. You can accept conversational sentences and search for information.
  • processing in the present embodiment may be realized by software. Then, this software may be distributed by software download or the like. Further, this software may be recorded on a recording medium such as a CD-ROM and disseminated. It should be noted that this also applies to other embodiments herein.
  • the software that realizes the information output device in this embodiment is, for example, the following program. That is, this program corresponds to the intent storage unit 12 and the intent that store one or more intents that are information managed for each business process and have an action name that specifies the business process.
  • a corpus storage unit 14 that stores one or more conversational sentence information that is attached information and is conversational sentence information, and an entity that stores one or more entities that are words corresponding to any one or more conversational sentence information.
  • the computer that can access the storage unit 15 has a conversation sentence reception unit 21 that accepts conversation sentences, an intent determination unit 31 that determines an intent corresponding to the conversation sentence received by the conversation sentence reception unit 21, and the intent. From one or more conversational sentence information corresponding to the intent determined by the determination unit 31, the conversational sentence information determination unit 32 that determines the conversational sentence information most similar to the conversational sentence received by the conversational sentence reception unit 21 Acquires one or more entities that correspond to one or more entities corresponding to the conversational sentence information determined by the conversational sentence information determination unit 32 and are words possessed by the conversational sentence received by the conversational sentence reception unit 21.
  • FIG. 11 is an external view of a computer system 900 that executes a program according to the present embodiment to realize an information output device.
  • This embodiment can be realized by computer hardware and a computer program executed on the computer hardware.
  • the computer system 900 includes a computer 901 including a disk drive 905, a keyboard 902, a mouse 903, a display 904, a microphone 917, and a speaker 918.
  • the entire system including the keyboard 902, the mouse 903, the display 904, the microphone 917, and the speaker 918 may be called a computer.
  • FIG. 12 is a diagram showing an example of the internal configuration of the computer system 900.
  • the computer 901 is connected to the MPU 911, the ROM 912 for storing a program such as a boot-up program, and the MPU 911 in addition to the disk drive 905, and temporarily stores the instructions of the application program and temporarily.
  • It provides a RAM 913 that provides a storage space, a storage 914 that stores application programs, system programs, and data, a bus 915 that interconnects the MPU 911, ROM 912, and the like, and a connection to a network such as an external network or an internal network.
  • the storage 914 is, for example, a hard disk, an SSD, a flash memory, or the like.
  • a program for causing the computer system 900 to execute the function of the information output device may be stored in a disk 921 such as a DVD or a CD-ROM, inserted into the disk drive 905, and transferred to the storage 914.
  • the program may be transmitted to computer 901 over the network and stored in storage 914.
  • the program is loaded into RAM 913 at run time.
  • the program may be loaded directly from disk 921 or the network. Further, the program may be read into the computer system 900 via another removable recording medium (for example, a DVD, a memory card, etc.) instead of the disk 921.
  • the program does not necessarily include an operating system (OS) for executing the function of the information output device, a third-party program, or the like in 901 showing the details of the computer.
  • the program may contain only a portion of instructions that call the appropriate function or module in a controlled manner to achieve the desired result. It is well known how the computer system 900 works, and detailed description thereof will be omitted.
  • the computer system 900 described above is a server or a stationary PC, but the information output device may be realized by a mobile terminal such as a tablet terminal, a smartphone, or a notebook PC.
  • the keyboard 902 and the mouse 903 may be replaced with a touch panel
  • the disk drive 905 may be replaced with a memory card slot
  • the disk 921 may be replaced with a memory card.
  • the above is an example, and the hardware configuration of the computer that realizes the information output device does not matter.
  • processing performed by hardware for example, processing performed by a modem or interface card in the transmission step (only performed by hardware). Processing that is not done) is not included.
  • the number of computers that execute the above program may be singular or plural. That is, centralized processing may be performed, or distributed processing may be performed.
  • each process may be realized by centralized processing by a single device (system), or by distributed processing by a plurality of devices. May be done.
  • the information output device has the effect of being able to accept dynamically changing conversational sentences and search for information even with an inquiry for the same search result, and is useful as an information output device or the like. is there.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Machine Translation (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

[Problem] Conventionally, it has been difficult to receive conversational sentences that dynamically change even for inquiries that require the same search result, and retrieve information. [Solution] An information output device comprising: a conversational sentence reception unit for receiving a conversational sentence; an intent determination unit for determining an intent corresponding to the conversational sentence; a conversational sentence information determination unit for determining conversational sentence information that is closest to the conversational sentence from among one or more pieces of conversational sentence information corresponding to the intent; an entity acquisition unit for acquiring one or more entities that correspond to one or more entities associated with the conversational sentence information and that are words in the conversational sentence; a parameter acquisition unit for acquiring one or more parameters corresponding to the one or more entities; an API information acquisition unit for acquiring API information corresponding to the intent; an inquiry information constitution unit for constituting inquiry information by using the one or more parameters and the API information; a search unit for executing the inquiry information to acquire a search result; and a search result output unit.

Description

情報出力装置、情報出力方法、およびプログラムInformation output device, information output method, and program
 本発明は、会話文を受け付け、会社等の組織内のデータベースに対して情報検索を行い、結果を出力する情報出力装置等に関するものである。 The present invention relates to an information output device or the like that accepts conversational sentences, searches a database in an organization such as a company for information, and outputs the results.
 従来、組織内のデータベースに対して情報検索を行うには、例えば、専用のプログラムを作成するか、検索ツールを使ってデータベースから情報を取得し、出力する技術を利用していた。
 また、近年、ユーザが発した言葉でインターネット検索や予め決められた装置のオンオフを行う技術が存在した(例えば、非特許文献1参照)。
Conventionally, in order to search information for a database in an organization, for example, a technique of creating a dedicated program or acquiring information from the database using a search tool and outputting it has been used.
Further, in recent years, there has been a technique for searching the Internet or turning on / off a predetermined device by a word uttered by a user (see, for example, Non-Patent Document 1).
 しかし、会話文(自然言語文といってもよい)は、同じ検索結果を求める問合せでも、例えば、それを発する人や人が属する会社等の組織などによって、動的に変化する。例えば、特定の社員の特定の月の残業時間を問い合わせる会話文は、「中村の先月の残業時間を教えて」や「先月の中村一郎の残業を教えて」などのように、何通りも存在する。 However, conversational sentences (which may be called natural language sentences) change dynamically even for inquiries that request the same search results, depending on, for example, the person who issues them or the organization of the company to which the person belongs. For example, there are many conversational sentences that inquire about the overtime hours of a specific employee in a specific month, such as "Tell me about Nakamura's overtime hours last month" and "Tell me about Nakamura's overtime hours last month." To do.
 上記のような従来技術では、こうした、同じ検索結果を求める問合せでも動的に変化する会話文を受け付け、情報検索することが困難であった。 With the above-mentioned conventional technology, it was difficult to accept dynamically changing conversational sentences and search for information even with such inquiries requesting the same search results.
 本第一の発明の情報出力装置は、業務処理ごとに管理される情報であり、業務処理を特定するアクション名を有する情報である1以上のインテントが格納されるインテント格納部と、インテントに対応付いている情報であり、情報検索を行うための情報であり、1以上の変数であるパラメータを特定する情報を有する情報である1以上のAPI情報が格納されるAPI情報格納部と、インテントに対応付く情報であり、会話文の情報である1以上の会話文情報が格納されるコーパス格納部と、いずれか1以上の会話文情報に対応付く単語である1以上のエンティティが格納されるエンティティ格納部と、会話文を受け付ける会話文受付部と、会話文受付部が受け付けた会話文に対応するインテントを決定するインテント決定部と、インテント決定部が決定したインテントに対応する1以上の会話文情報の中から、会話文受付部が受け付けた会話文に最も近似する会話文情報を決定する会話文情報決定部と、会話文情報決定部が決定した会話文情報に対応付いている1以上の各エンティティに対応し、会話文受付部が受け付けた会話文が有する単語である1以上のエンティティを取得するエンティティ取得部と、エンティティ取得部が取得した1以上の各エンティティに対応する1以上のパラメータを取得するパラメータ取得部と、インテント決定部が決定したインテントに対応するAPI情報をAPI情報格納部から取得するAPI情報取得部と、パラメータ取得部が取得した1以上のパラメータと、API情報取得部が取得したAPI情報とを用いて、情報検索するための問合情報を構成する問合情報構成部と、問合情報構成部が構成した問合情報を実行し、検索結果を取得する検索部と、検索部が取得した検索結果を出力する検索結果出力部とを具備する情報出力装置である。 The information output device of the first invention is an intent storage unit that stores one or more intents that are information managed for each business process and have an action name that specifies the business process. An API information storage unit that stores one or more API information, which is information corresponding to a tent, information for performing an information search, and information having information for specifying a parameter which is one or more variables. , A corpus storage unit that stores one or more conversational text information that is information corresponding to the intent and is conversational text information, and one or more entities that are words that correspond to any one or more conversational text information. The entity storage unit to be stored, the conversation sentence reception unit that accepts conversation sentences, the intent determination unit that determines the intent corresponding to the conversation sentence received by the conversation sentence reception unit, and the intent determined by the intent determination unit. From one or more conversational sentence information corresponding to, the conversational sentence information determination unit that determines the conversational sentence information that most closely resembles the conversational sentence received by the conversational sentence reception unit, and the conversational sentence information determined by the conversational sentence information determination unit. An entity acquisition unit that acquires one or more entities that are words possessed by the conversational sentence received by the conversation sentence reception unit, and one or more entities that the entity acquisition unit has acquired, corresponding to each of the one or more entities associated with. The parameter acquisition unit that acquires one or more parameters corresponding to the entity, the API information acquisition unit that acquires the API information corresponding to the intent determined by the intent determination unit from the API information storage unit, and the parameter acquisition unit have acquired it. Using one or more parameters and the API information acquired by the API information acquisition unit, the inquiry information configuration unit that constitutes the inquiry information for information retrieval and the inquiry information configured by the inquiry information configuration unit It is an information output device including a search unit that executes and acquires a search result, and a search result output unit that outputs the search result acquired by the search unit.
 かかる構成により、同じ検索結果を求める問合せでも動的に変化する会話文を受け付け、情報検索することができる。 With this configuration, it is possible to accept dynamically changing conversational sentences and search for information even with inquiries requesting the same search results.
 また、本第二の発明の情報出力装置は、第一の発明に対して、インテント決定部は、会話文受付部が受け付けた会話文に対応するテキストを取得し、テキストから1以上の自立語を取得し、1以上の自立語と同一または類似する単語を有するアクション名を有するインテントを決定する情報出力装置である。 Further, in the information output device of the second invention, with respect to the first invention, the intent determination unit acquires the text corresponding to the conversation sentence received by the conversation sentence reception unit, and one or more independence from the text. It is an information output device that acquires a word and determines an intent having an action name having a word that is the same as or similar to one or more independent words.
 かかる構成により、同じ検索結果を求める問合せでも動的に変化する会話文を受け付け、情報検索することができる。 With this configuration, it is possible to accept dynamically changing conversational sentences and search for information even with inquiries that request the same search results.
 また、本第三の発明の情報出力装置は、第一または第二の発明に対して、日に関する単語である日単語と、日単語に対応する日に関する情報であり、問合情報を構成する際に使用する情報である日情報を取得するための日情報取得情報とを有する1以上の日変換情報が格納される日変換情報格納部をさらに具備し、パラメータ取得部は、エンティティ取得部が取得した1以上のエンティティの中の日単語に対応する日変換情報を日変換情報格納部から取得し、日変換情報を用いて、パラメータである日情報を取得する情報出力装置である。 Further, the information output device of the third invention is information about a day word which is a word related to a day and a day corresponding to the day word for the first or second invention, and constitutes inquiry information. A day conversion information storage unit for storing one or more day conversion information having a day information acquisition information for acquiring day information which is information used at the time is further provided, and the parameter acquisition unit is an entity acquisition unit. It is an information output device that acquires day conversion information corresponding to a day word in one or more acquired entities from the day conversion information storage unit, and acquires day information as a parameter by using the day conversion information.
 かかる構成により、同じ検索結果を求める問合せでも動的に変化する会話文を受け付け、適切に情報検索することができる。 With such a configuration, it is possible to accept dynamically changing conversational sentences even for inquiries requesting the same search results, and to appropriately search for information.
 なお、上記構成において、パラメータ取得部は、エンティティ取得部が取得した1以上のエンティティの中に日単語が存在するか否かを判断する判断手段341と、判断手段341が日単語が存在すると判断した場合に、日単語に対応する日変換情報を日変換情報格納部から取得し、日変換情報を用いて、パラメータである日情報を取得する日情報取得手段とを具備していてもよい。これにより、日単語の有無によらず、同じ検索結果を求める問合せでも動的に変化する会話文を受け付け、適切に情報検索することができる。 In the above configuration, the parameter acquisition unit determines whether or not the day word exists in one or more entities acquired by the entity acquisition unit, and the determination means 341 determines that the day word exists. In this case, the day conversion information corresponding to the day word may be acquired from the day conversion information storage unit, and the day information acquisition means for acquiring the day information which is a parameter may be provided by using the day conversion information. As a result, it is possible to accept dynamically changing conversational sentences even in a query for the same search result regardless of the presence or absence of a Japanese word, and to appropriately search for information.
 また、本第四の発明の情報出力装置は、第一から第三いずれか1つの発明に対して、エンティティ格納部のエンティティは、エンティティの名称であるエンティティ名に対応付いており、テーブルを特定するテーブル識別子と、テーブル識別子で識別されるテーブル内の属性名であり、変換されるエンティティを特定する情報である翻訳項目名と、エンティティ名とを有する1以上のエンティティマッピング情報が格納されるエンティティマッピング情報格納部と、テーブル識別子とテーブル識別子で識別されるテーブルの主キーを特定する主キー識別子とを有する1以上のPK項目が格納されるPK項目格納部とをさらに具備し、パラメータ取得部は、エンティティ取得部が取得したエンティティに対応するエンティティ名を取得するエンティティ名取得手段と、エンティティ名取得手段が取得したエンティティ名と対になる翻訳項目名をエンティティマッピング情報格納部から取得する翻訳項目名取得手段と、エンティティ名取得手段が取得したエンティティ名と対になるテーブル識別子をエンティティマッピング情報格納部から取得するテーブル識別子取得手段と、テーブル識別子取得手段が取得したテーブル識別子と対になる主キー識別子をPK項目格納部から取得する主キー識別子取得手段と、テーブル識別子取得手段が取得したテーブル識別子で識別されるテーブルから、翻訳項目名取得手段が取得した翻訳項目名の属性値が、エンティティ取得部が取得したエンティティと一致するレコードに含まれる属性値であり、主キー識別子取得手段が取得した主キー識別子の属性値である変換されたパラメータを取得する変換パラメータ取得手段とを具備する情報出力装置である。 Further, in the information output device of the fourth invention, for any one of the first to third inventions, the entity of the entity storage unit corresponds to the entity name which is the name of the entity, and the table is specified. An entity that stores one or more entity mapping information having a translated item name and an entity name, which are the table identifier to be used, the attribute name in the table identified by the table identifier, and the information that identifies the entity to be converted. It further includes a mapping information storage unit and a PK item storage unit that stores one or more PK items having a table identifier and a primary key identifier that identifies the primary key of the table identified by the table identifier, and is a parameter acquisition unit. Is a translation item that acquires the entity name acquisition means that acquires the entity name corresponding to the entity acquired by the entity acquisition unit and the translation item name that is paired with the entity name acquired by the entity name acquisition unit from the entity mapping information storage unit. The name acquisition means, the table identifier acquisition means that acquires the table identifier that is paired with the entity name acquired by the entity name acquisition means from the entity mapping information storage unit, and the primary key that is paired with the table identifier acquired by the table identifier acquisition means. The attribute value of the translation item name acquired by the translation item name acquisition means is the entity acquisition from the table identified by the primary key identifier acquisition means that acquires the identifier from the PK item storage unit and the table identifier acquired by the table identifier acquisition means. Information output including a conversion parameter acquisition means for acquiring a converted parameter which is an attribute value included in a record matching the entity acquired by the unit and is an attribute value of the primary key identifier acquired by the primary key identifier acquisition means. It is a device.
 かかる構成により、同じ検索結果を求める問合せでも動的に変化する会話文を受け付け、適切に情報検索することができる。 With such a configuration, it is possible to accept dynamically changing conversational sentences even for inquiries requesting the same search results, and to appropriately search for information.
 また、本第五の発明の情報出力装置は、第一から第四いずれか1つの発明に対して、問合情報構成部は、API情報取得部が取得したAPI情報が有する1以上の各変数の箇所に、各箇所に対応付くパラメータであり、パラメータ取得部が取得したパラメータを配置し、問合情報を構成する情報出力装置である。 Further, in the information output device of the fifth invention, for any one of the first to fourth inventions, the inquiry information component unit is one or more variables contained in the API information acquired by the API information acquisition unit. This is an information output device that configures inquiry information by arranging the parameters that correspond to each location and the parameters acquired by the parameter acquisition unit.
 かかる構成により、同じ検索結果を求める問合せでも動的に変化する会話文を受け付け、情報検索することができる。 With this configuration, it is possible to accept dynamically changing conversational sentences and search for information even with inquiries requesting the same search results.
 また、本第六の発明の情報出力装置は、第一から第五いずれか1つの発明に対して、受付部は、会話文の音声を受け付ける音声受付手段と、音声に対して音声認識処理を行い文字列である会話文を取得する音声認識手段とを具備する情報出力装置である。 Further, in the information output device of the sixth invention, for any one of the first to fifth inventions, the reception unit performs voice reception means for receiving the voice of the conversation sentence and voice recognition processing for the voice. It is an information output device including a voice recognition means for acquiring a conversational sentence which is a character string.
 かかる構成により、同じ検索結果を求める問合せでも動的に変化する音声による会話文を受け付け、情報検索することができる。 With this configuration, it is possible to accept dynamically changing voice conversation sentences and search for information even with inquiries requesting the same search results.
 本発明によれば、同じ検索結果を求める問合せでも動的に変化する会話文を受け付け、情報検索することができる。 According to the present invention, it is possible to accept dynamically changing conversational sentences and search for information even with an inquiry requesting the same search result.
実施の形態における情報出力装置のブロック図Block diagram of the information output device according to the embodiment 情報出力装置の動作を説明するフローチャートFlow chart explaining the operation of the information output device パラメータ取得処理を説明するフローチャートFlowchart explaining parameter acquisition process テーブル情報のデータ構造図Data structure diagram of table information インテントのデータ構造図Intent data structure diagram API情報格納部の内容の一例を示す図The figure which shows an example of the contents of the API information storage part コーパス格納部の内容の一例を示す図を示す図The figure which shows the figure which shows an example of the contents of the corpus storage part 各エンティティ名に対応する1以上のエンティティの例を示す図Diagram showing an example of one or more entities corresponding to each entity name エンティティマッピング情報のデータ構造図Data structure diagram of entity mapping information PK項目のデータ構造図Data structure diagram of PK items コンピュータシステムの外観図External view of computer system コンピュータシステムの内部構成の一例を示す図Diagram showing an example of the internal configuration of a computer system
 以下、情報出力装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。 Hereinafter, embodiments of the information output device and the like will be described with reference to the drawings. In the embodiment, the components with the same reference numerals perform the same operation, and thus the description may be omitted again.
 本実施の形態における情報出力装置は、例えば、サーバである。サーバは、例えば、情報検索等のサービスを提供する企業内のサーバであるが、クラウドサーバやASPサーバ等でもよく、そのタイプは問わない。サーバは、例えば、LANやインターネット等のネットワーク、無線または有線の通信回線などを介して、1または2以上の端末(図示しない)と通信可能に接続される。端末は、例えば、情報検索等のサービスを利用するユーザの携帯端末であるが、据え置き型のPC等でもよく、そのタイプは問わない。携帯端末は、例えば、タブレット端末、スマートフォン、携帯電話機、ノートPC等であるが、その種類は問わない。 The information output device in this embodiment is, for example, a server. The server is, for example, a server in a company that provides services such as information retrieval, but may be a cloud server, an ASP server, or the like, and its type does not matter. The server is communicably connected to one or more terminals (not shown) via a network such as a LAN or the Internet, a wireless or wired communication line, or the like. The terminal is, for example, a mobile terminal of a user who uses a service such as information retrieval, but may be a stationary PC or the like, and the type is not limited. The mobile terminal is, for example, a tablet terminal, a smartphone, a mobile phone, a notebook PC, or the like, but the type is not limited.
 ただし、情報出力装置は、例えば、スタンドアロンの端末でもよく、その実現手段は問わない。 However, the information output device may be, for example, a stand-alone terminal, and the means for realizing it does not matter.
 図1は、本実施の形態における情報出力装置のブロック図である。情報出力装置は、格納部1、受付部2、処理部3、および出力部4を備える。格納部1は、テーブル格納部11、インテント格納部12、API情報格納部13、コーパス格納部14、エンティティ格納部15、エンティティマッピング情報格納部16、PK項目格納部17、および日変換情報格納部18を備える。受付部2は、会話文受付部21を備える。会話文受付部21は、音声受付手段211、および音声認識手段212を備える。 FIG. 1 is a block diagram of an information output device according to the present embodiment. The information output device includes a storage unit 1, a reception unit 2, a processing unit 3, and an output unit 4. The storage unit 1 includes a table storage unit 11, an intent storage unit 12, an API information storage unit 13, a corpus storage unit 14, an entity storage unit 15, an entity mapping information storage unit 16, a PK item storage unit 17, and a day conversion information storage unit. The unit 18 is provided. The reception unit 2 includes a conversation text reception unit 21. The conversation sentence reception unit 21 includes a voice reception means 211 and a voice recognition means 212.
 処理部3は、インテント決定部31、会話文情報決定部32、エンティティ取得部33、パラメータ取得部34、API情報取得部35、問合情報構成部36、および検索部37を備える。パラメータ取得部34は、判断手段341、日情報取得手段342、エンティティ名取得手段343、翻訳項目名取得手段344、テーブル識別子取得手段345、主キー識別子取得手段346、および変換パラメータ取得手段347を備える。出力部4は、検索結果出力部41を備える。 The processing unit 3 includes an intent determination unit 31, a conversation sentence information determination unit 32, an entity acquisition unit 33, a parameter acquisition unit 34, an API information acquisition unit 35, an inquiry information configuration unit 36, and a search unit 37. The parameter acquisition unit 34 includes a determination unit 341, a day information acquisition unit 342, an entity name acquisition unit 343, a translation item name acquisition unit 344, a table identifier acquisition unit 345, a primary key identifier acquisition unit 346, and a conversion parameter acquisition unit 347. .. The output unit 4 includes a search result output unit 41.
 格納部1は、各種の情報を格納し得る。各種の情報とは、例えば、テーブル、インテント、API情報、コーパス、エンティティ、エンティティマッピング情報、PK項目、および日変換情報などである。なお、テーブル等の情報については後述する。また、その他の情報については、適時説明する。 The storage unit 1 can store various types of information. The various types of information include, for example, tables, intents, API information, corpora, entities, entity mapping information, PK items, and day conversion information. Information on tables and the like will be described later. In addition, other information will be explained in a timely manner.
 テーブル格納部11には、1または2以上のテーブルが格納される。テーブルは、例えば、表形式のデータベースであってもよい。テーブルには、例えば、1または2以上の項目名が登録され、さらに、当該1以上の各項目名ごとに、1または2以上の値が登録される。なお、項目名は、属性名といってもよいし、一の項目名に対応する1以上の各値は、属性値といってもよい。また、テーブルは、例えば、リレーショナルデータベースのテーブル、TSV、エクセル、CSV等であるが、その種類は問わない。 One or two or more tables are stored in the table storage unit 11. The table may be, for example, a tabular database. For example, one or more item names are registered in the table, and one or two or more values are registered for each of the one or more item names. The item name may be referred to as an attribute name, and each value of 1 or more corresponding to one item name may be referred to as an attribute value. The table is, for example, a relational database table, TSV, Excel, CSV, or the like, but the type is not limited.
 格納されるテーブルは、具体的には、例えば、社員マスタ、業務マスタ、勤務時間テーブルなどである。社員マスタには、社員に関するマスタデータが登録される。社員に関するマスタデータとは、例えば、社員コード、社員名等のデータであるが、その種類は問わない。業務マスタには、業務に関するマスタデータが登録される。業務に関するマスタデータとは、例えば、業務ID、業務名等のデータであるが、その種類は問わない。 Specifically, the stored table is, for example, an employee master, a business master, a working time table, or the like. Master data about employees is registered in the employee master. The master data related to an employee is, for example, data such as an employee code and an employee name, but the type does not matter. Master data related to the business is registered in the business master. The master data related to the business is, for example, data such as a business ID and a business name, but the type thereof does not matter.
 勤務時間テーブルには、勤務時間に関するデータが登録される。勤務時間に関するデータとは、例えば、日付、残業時間、合計勤務時間、業務ID等の可変的なデータであるが、その種類は問わない。なお、合計勤務時間とは、定時までの勤務時間と残業時間との合計である。 Data related to working hours are registered in the working hours table. The data related to working hours is, for example, variable data such as date, overtime hours, total working hours, business ID, etc., but the type is not limited. The total working hours is the total of working hours up to the scheduled time and overtime hours.
 勤務時間テーブルには、通常、社員コードに対応付けて、上記のような勤務時間に関するデータが登録される。ただし、勤務時間に関するデータが対応付く情報は、例えば、社員名でもよく、社員を識別し得る情報でれば何でもよい。 Normally, data related to working hours as described above is registered in the working hours table in association with the employee code. However, the information to which the data on working hours is associated may be, for example, an employee name, or any information that can identify the employee.
 インテント格納部12には、1または2以上のインテントが格納される。インテントとは、業務処理ごとに管理される情報である。業務処理ごとに管理されることは、例えば、業務処理を特定する情報に対応付けて、インテント格納部12に格納されることであってもよい。なお、業務処理を特定する情報は、通常、後述するアクション名であるが、その形式は問わない。また、対応付くことは、例えば、インテントが、業務処理を特定する情報を有する場合も含む。 One or two or more intents are stored in the intent storage unit 12. An intent is information managed for each business process. The management for each business process may be, for example, stored in the intent storage unit 12 in association with the information that identifies the business process. The information that identifies the business process is usually the action name described later, but the format does not matter. Correspondence also includes, for example, the case where the intent has information that identifies the business process.
 業務処理とは、業務に関する処理である。業務は、例えば、会社や団体等の組織で行われる仕事である、といってもよい。業務は、例えば、定時までの勤務、定時後の残業、休暇、欠勤、A案件、B案件、経理、製造などであるが、その種類は問わない。業務処理は、例えば、情報の検索である。なお、検索は、例えば、照会といってもよい。検索される情報は、例えば、残業時間や勤務時間等の勤怠情報であるが、残高や株価等の金融情報、または製造ラインの稼働情況などでもよく、その内容は問わない。 Business processing is processing related to business. It can be said that the work is, for example, a work performed by an organization such as a company or an organization. The work includes, for example, work until the fixed time, overtime after the fixed time, vacation, absenteeism, A case, B case, accounting, manufacturing, etc., but the type does not matter. The business process is, for example, information retrieval. The search may be referred to as an inquiry, for example. The information to be searched is, for example, attendance information such as overtime hours and working hours, but may be financial information such as balances and stock prices, or operating conditions of manufacturing lines, and the contents thereof are not limited.
 ただし、業務処理は、例えば、情報の登録、または情報に基づく処理(例えば、勤怠情報に基づく給与計算、財務情報に基づく金融取引等)などでもよく、その種類は問わない。 However, the business processing may be, for example, registration of information or processing based on information (for example, payroll calculation based on attendance information, financial transaction based on financial information, etc.), and the type does not matter.
 インテントは、通常、業務処理を特定するアクション名を有する。アクション名とは、アクションの名称である。アクションとは、通常、APIを介して実行される業務処理である。ただし、アクションは、例えば、SQL文に応じて実行される業務処理であってもよい。 The intent usually has an action name that identifies the business process. The action name is the name of the action. An action is a business process that is usually executed via an API. However, the action may be, for example, a business process executed in response to an SQL statement.
 なお、アクション名は、通常、後述するAPI情報にも対応付いている。従って、インテントは、例えば、アクション名を介して、API情報に対応付けられる、と考えてもよい。 Note that the action name usually corresponds to the API information described later. Therefore, it may be considered that the intent is associated with the API information, for example, via the action name.
 また、インテントは、通常、インテント名も有する。インテント名とは、インテントの名称である。従って、インテントは、インテント名または当該インテント名で特定されるインテントと、アクション名または当該アクション名で特定されるアクションとを対応付ける情報である、と考えることもできる。 Intents also usually have an intent name. The intent name is the name of the intent. Therefore, the intent can be considered as information that associates the intent specified by the intent name or the intent name with the action name or the action specified by the action name.
 アクション名は、具体的には、例えば、「残業時間照会」、「勤務時間データ照会」等であるが、業務処理を特定し得る情報であれば何でもよい。 Specifically, the action name is, for example, "overtime hour inquiry", "working hour data inquiry", etc., but any information that can identify the business process may be used.
 API情報格納部13には、1または2以上のAPI情報が格納される。API情報とは、APIに関する情報である。APIとは、プログラムの機能を利用するためのインターフェースである。APIは、例えば、関数、メソッド、または実行モジュールなどのソフトウェアである。APIは、例えば、WebAPIであるが、それ以外のAPIでもよい。WebAPIとは、HTTPやHTTPSなどのWeb通信のプロトコルを用いて構築されたAPIである。なお、WebAPI等のAPIについては、公知技術であるので、詳しい説明を省略する。 One or two or more API information is stored in the API information storage unit 13. API information is information about API. The API is an interface for using the functions of the program. An API is software such as a function, method, or execution module, for example. The API is, for example, WebAPI, but other APIs may be used. A Web API is an API constructed by using a Web communication protocol such as HTTP or HTTPS. Since APIs such as WebAPI are known techniques, detailed description thereof will be omitted.
 API情報は、インテントに対応付いている情報である。API情報は、前述したように、例えば、アクション名を介して、インテントに対応付いている。 API information is information that corresponds to the intent. As described above, the API information corresponds to the intent, for example, through the action name.
 API情報は、通常、情報検索を行うための情報である。ただし、API情報は、例えば、情報の登録、または情報に基づく処理などを行うための情報であってもよい。 API information is usually information for performing information retrieval. However, the API information may be, for example, information for registering information or performing processing based on the information.
 API情報は、1または2以上のパラメータ特定情報を有する。パラメータ特定情報とは、パラメータを特定する情報である。パラメータとは、特定の属性を有する値である、といってもよい。値は、通常、変数である。変数は、引数といってもよい。 API information has one or more parameter specific information. The parameter specific information is information for specifying a parameter. It may be said that the parameter is a value having a specific attribute. The value is usually a variable. Variables may be called arguments.
 パラメータは、通常、エンティティを変換した情報であるが、エンティティそのものでもよい。パラメータは、例えば、APIに与える引数、またはSQL文の変数などである。 The parameter is usually the information obtained by converting the entity, but it may be the entity itself. The parameters are, for example, arguments given to the API or variables in the SQL statement.
 パラメータは、例えば、属性名と値との組で構成されてもよい。属性名と値との組とは、具体的には、例えば、“shain_code=2”、“sta_date=20190401,end_date=20190430”等であるが、その形式は問わない。 The parameter may be composed of, for example, a set of an attribute name and a value. Specifically, the set of the attribute name and the value is, for example, "shain_code = 2", "sta_date = 2019041, end_date = 20190430", but the format does not matter.
 パラメータ特定情報は、例えば、パラメータ名である。パラメータ名とは、パラメータの名称である。または、パラメータ特定情報は、例えば、属性名であるが、パラメータを特定し得る情報であれば何でもよい。 The parameter specific information is, for example, a parameter name. The parameter name is the name of the parameter. Alternatively, the parameter-specific information is, for example, an attribute name, but any information that can specify the parameter may be used.
 API情報は、例えば、メソッドである。メソッドは、例えば、“serch_残業時間(社員コード=$1,開始日付=$2,終了日付=$3)”や“serch_業務時間(社員コード=$1,作業日付=$2,業務ID=$3)”等であるが、その形式は問わない。なお、メソッドについては、公知であるので詳しい説明を省略する。 API information is, for example, a method. The methods are, for example, "search_overtime hours (employee code = $ 1, start date = $ 2, end date = $ 3)" and "search_business hours (employee code = $ 1, work date = $ 2, business ID =)". $ 3) "etc., but the format does not matter. Since the method is known, detailed description thereof will be omitted.
 または、API情報は、例えば、SQL文でもよい。SQL文とは、データベースに対して問い合わせを行うための文である、といってもよい。SQL文は、例えば、“select_残業時間_from_テーブル名=$1_where_社員コード=$2,業務日付=$3”等であるが、その構造は問わない。なお、SQL文については、公知であるので詳しい説明を省略する。 Alternatively, the API information may be, for example, an SQL statement. It can be said that the SQL statement is a statement for making an inquiry to the database. The SQL statement is, for example, "select_overtime_from_table name = $ 1_where_employee code = $ 2, business date = $ 3", but the structure does not matter. Since the SQL statement is well known, detailed description thereof will be omitted.
 または、API情報は、例えば、URLとメソッドとの組などでもよく、その構造は問わない。URLとメソッドとの組は、具体的には、例えば、“http://develop.soppra・・・?社員コード=$1&開始日付=$2&終了日付=$3”等であるが、その形式は問わない。なお、この種のAPI情報は、例えば、WebAPI情報といってもよい。 Alternatively, the API information may be, for example, a set of a URL and a method, and its structure does not matter. Specifically, the set of the URL and the method is, for example, "http://develop.soppra ...? Employee code = $ 1 & start date = $ 2 & end date = $ 3". Does not matter. Note that this type of API information may be referred to as, for example, Web API information.
 コーパス格納部14には、1または2以上の会話文情報が格納される。会話文情報とは、会話文の情報である。会話文情報は、通常、会話文の例文である。例文は、例えば、“中村の先月の残業時間を教えて”や“中村の昨日のA案件の勤務時間を教えて”等であるが、その内容は問わない。 One or more conversational sentence information is stored in the corpus storage unit 14. Conversational sentence information is information on conversational sentences. The conversational sentence information is usually an example sentence of a conversational sentence. Example sentences are, for example, "Tell me about Nakamura's overtime hours last month" and "Tell me about Nakamura's working hours for yesterday's A project", but the content does not matter.
 ただし、会話文情報は、会話文のテンプレートであってもよい。テンプレートは、例えば、“{社員エンティティ}の{日付エンティティ}の{残業エンティティ}を教えて”や“{社員エンティティ}の{日付エンティティ}の{業務エンティティ}の{勤務時間エンティティ}を教えて”等であるが、その形式は問わない。なお、テンプレートに含まれる{社員エンティティ}等の“{”,“}”で表現される情報は、例えば、変数と呼んでもよい。また、エンティティ、および「社員エンティティ」等のエンティティ名については後述する。 However, the conversation text information may be a conversation text template. The template is, for example, "Tell me {Overtime entity} of {Date entity} of {Employee entity}" or "Tell me {Working time entity} of {Business entity} of {Date entity} of {Employee entity}". Etc., but the format does not matter. Information expressed by "{", "}" such as {employee entity} included in the template may be called a variable, for example. Further, the entity and the entity name such as "employee entity" will be described later.
 会話文情報は、通常、インテントに対応付いている。すなわち、コーパス格納部14には、例えば、インテント格納部12に格納されている1以上の各インテントごとに、1または2以上の会話文情報が格納される(図7参照:後述)。 Conversational text information usually corresponds to the intent. That is, in the corpus storage unit 14, for example, one or two or more conversational sentence information is stored for each one or more intents stored in the intent storage unit 12 (see FIG. 7: described later).
 また、コーパス格納部14には、通常、格納されている1以上の各会話文情報ごとに、1または2以上のエンティティ情報も格納される。エンティティ情報とは、一の会話文情報に対応付いている1以上の各エンティティに関する情報である。エンティティ情報は、会話文情報が例文の場合、例えば、エンティティ、開始位置、終了位置、およびエンティティ名を有する。 In addition, the corpus storage unit 14 usually stores one or more entity information for each one or more stored conversational sentence information. The entity information is information about one or more entities corresponding to one conversational sentence information. The entity information has, for example, an entity, a start position, an end position, and an entity name when the conversational sentence information is an example sentence.
 エンティティ情報が有するエンティティは、当該エンティティ情報が有するエンティティ名に対応する1または2以上のエンティティの中の代表値である。代表値は、一のエンティティ名に対応する1以上のエンティティ中の、例えば、先頭のエンティティであるが、どのエンティティでもよい。 The entity possessed by the entity information is a representative value among one or two or more entities corresponding to the entity name possessed by the entity information. The representative value is, for example, the first entity in one or more entities corresponding to one entity name, but any entity may be used.
 開始位置とは、会話文情報において当該エンティティが始まる位置である。開始位置は、例えば、会話文を構成する文字列において、当該エンティティの最初の文字が何番目の文字であるかを示す値(例えば、“1”や“4”等)で表現される。同様に、終了位置とは、会話文情報において当該エンティティが終わる位置であり、例えば、当該エンティティの最後の文字が何番目の文字であるかを示す値(例えば、“2”や“5”等)で表現される。ただし、開始位置や終了位置の表現形式は問わない。なお、開始位置および終了位置は、オフセットといってもよい。また、オフセットは、バイト数で表現されてもよく、その形式は問わない。 The start position is the position where the entity starts in the conversation text information. The start position is represented by, for example, a value (for example, "1", "4", etc.) indicating which character the first character of the entity is in the character string constituting the conversation sentence. Similarly, the end position is a position where the entity ends in the conversation text information, and is, for example, a value indicating the number of the last character of the entity (for example, "2", "5", etc.). ). However, the expression format of the start position and the end position does not matter. The start position and end position may be referred to as offsets. Further, the offset may be expressed by the number of bytes, and its format does not matter.
 エンティティ名とは、エンティティの名称である。エンティティ名は、例えば、「社員エンティティ」、「日付エンティティ」、「残業時間エンティティ」等であるが、エンティティの属性を表現し得る情報であれば、その形式は問わない。社員エンティティとは、社員に関するエンティティである。日付エンティティとは、日付に関するエンティティである。残業時間エンティティとは、残業時間に関するエンティティである。 The entity name is the name of the entity. The entity name is, for example, "employee entity", "date entity", "overtime hour entity", etc., but the format is not limited as long as it is information that can express the attributes of the entity. An employee entity is an entity related to an employee. A date entity is an entity related to a date. The overtime hours entity is an entity related to overtime hours.
 または、エンティティ情報は、会話文情報がテンプレートの場合、例えば、エンティティ名、および順序情報を有していてもよい。順序情報とは、テンプレートに含まれる1以上の変数において、当該エンティティ名が何番目の変数に対応するかを示す値である。ただし、エンティティ情報の構造は問わない。 Alternatively, when the conversation text information is a template, the entity information may have, for example, an entity name and order information. The order information is a value indicating which variable the entity name corresponds to in one or more variables included in the template. However, the structure of the entity information does not matter.
 コーパス格納部14には、具体的には、例えば、会話文情報“中村の先月の残業時間を教えて”と、これに対応する3つのエンティティ情報“中村,1,2,社員エンティティ”,“先月,4,5,日付エンティティ”,および“残業時間,7,10,残業エンティティ”が格納されていてもよい。 Specifically, in the corpus storage unit 14, for example, conversational sentence information "Tell me about Nakamura's overtime hours last month" and three corresponding entity information "Nakamura, 1, 2, employee entity", " Last month, 4, 5, date entities "and" overtime hours, 7, 10, overtime entities "may be stored.
 なお、本実施の形態におけるコーパスとは、例えば、コーパス格納部14に格納されている1以上の会話文情報の各々と考えてもよいし、1以上の会話文情報、および各会話文情報に対応付いているエンティティ情報の集合と考えることもできる。 The corpus in the present embodiment may be considered as, for example, each of one or more conversational sentence information stored in the corpus storage unit 14, one or more conversational sentence information, and each conversational sentence information. It can also be thought of as a set of associated entity information.
 エンティティ格納部15には、1または2以上のエンティティが格納される。エンティティとは、会話文情報に対応付けられた1または2以上の各単語である。単語とは、文を構成する単位である。単語は、例えば、単に「語」、または「ことば」などと呼んでもよいし、形態素の一種(例えば、後述する自立語)と考えてもよい。 One or two or more entities are stored in the entity storage unit 15. An entity is one or more words associated with conversational sentence information. A word is a unit that makes up a sentence. A word may be simply called, for example, a "word" or a "word", or may be considered as a kind of morpheme (for example, an independent word described later).
 エンティティ格納部15には、例えば、1以上の各エンティティ名に対応付けて、1または2以上のエンティティが格納される。 In the entity storage unit 15, for example, one or two or more entities are stored in association with each one or more entity names.
 エンティティは、通常、コーパス格納部14に格納されている1以上の会話文情報の中のいずれか1つ又は2以上の会話文情報に対応付いている。従って、エンティティ格納部15には、例えば、コーパス格納部14に格納されている1以上の各会話文情報ごとに、1または2以上のエンティティが格納されてもよい。 The entity usually corresponds to any one or more conversational sentence information in one or more conversational sentence information stored in the corpus storage unit 14. Therefore, for example, one or more entities may be stored in the entity storage unit 15 for each one or more conversational sentence information stored in the corpus storage unit 14.
 会話文情報に対応付く単語は、通常、自立語である。自立語とは、単独でも文節を構成し得る語であり、例えば、名詞であるが、動詞、形容詞等でもよい。ただし、対応付く単語は、付属語でもよい。付属語とは、単独では文節を構成し得ず、他の自立語を伴って文節を構成する語であり、例えば、助動詞、助詞などである。つまり、対応付く単語は、通常、自立語であるが、付属語を伴った自立語であってもよい。 The word corresponding to the conversational sentence information is usually an independent word. An independent word is a word that can form a phrase by itself, and is, for example, a noun, but may also be a verb, an adjective, or the like. However, the corresponding word may be an attached word. An adjunct word is a word that cannot form a phrase by itself and that forms a phrase with other independent words, such as auxiliary verbs and particles. That is, the corresponding word is usually an independent word, but may be an independent word with an adjunct.
 また、対応付く単語は、例えば、連語でもよい。連語とは、2以上の自律語が結び付いて一定の意味を表す語であり、複合語といってもよい。連語は、例えば、“残業”と“時間”が結合した“残業時間”や、“A”と“案件”が結合した“A案件”等であるが、“中村一郎”といった氏と名の組でもよく、2以上の語の組であれば何でもよい。 Also, the corresponding words may be, for example, collocations. A collocation is a word that expresses a certain meaning by connecting two or more autonomous words, and may be called a compound word. The collocations are, for example, "overtime hours" in which "overtime" and "hours" are combined, "A project" in which "A" and "project" are combined, etc., but a group named "Ichiro Nakamura". However, any set of two or more words may be used.
 なお、対応付く単語は、会話文情報が例文の場合は、当該例文に含まれている1または2以上の各単語(つまり、会話文情報内の情報)あるが、会話文情報がテンプレートの場合は、当該テンプレートに含まれる1または2以上の各変数の位置に挿入されるべき単語(つまり、会話文情報に付加される情報)である。 When the conversational sentence information is an example sentence, the corresponding words are one or more words (that is, the information in the conversational sentence information) included in the example sentence, but when the conversational sentence information is a template. Is a word (that is, information added to conversational sentence information) to be inserted at the position of one or more variables included in the template.
 エンティティマッピング情報格納部16には、1または2以上のエンティティマッピング情報が格納される。エンティティマッピング情報とは、テーブル識別子および翻訳項目名をエンティティ名に対応付ける情報である、といってもよい。 One or two or more entity mapping information is stored in the entity mapping information storage unit 16. It can be said that the entity mapping information is information that associates the table identifier and the translated item name with the entity name.
 エンティティマッピング情報は、例えば、テーブル識別子と、翻訳項目名と、エンティティ名とを有する。テーブル識別子とは、テーブル格納部11に格納されている1以上の各テーブルを識別する情報である。テーブル識別子は、例えば、“MST_SHAIN”や“TRN_TIME_CARD”等であるが、テーブルを識別し得る情報であれば何でもよい。 The entity mapping information has, for example, a table identifier, a translation item name, and an entity name. The table identifier is information for identifying one or more tables stored in the table storage unit 11. The table identifier is, for example, "MST_SHAIN" or "TRN_TIME_CARD", but any information that can identify the table may be used.
 翻訳項目名とは、テーブル識別子で識別されるテーブル内の属性名であり、変換されるエンティティを特定する情報である。変換されるエンティティとは、パラメータに変換されるエンティティ(例えば、パラメータ“shain_code=1”に変換されるエンティティ“中村一郎”や、パラメータ“sta_date=20190401,end_date=20190430”に変換されるエンティティ“先月”等)である。 The translation item name is an attribute name in the table identified by the table identifier, and is information that identifies the entity to be translated. The converted entity is the entity converted to the parameter (for example, the entity "Ichiro Nakamura" converted to the parameter "shain_code = 1" and the entity "last month" converted to the parameter "sta_date = 2019041, end_date = 20190430". "Etc.).
 翻訳項目名は、例えば、テーブル識別子で識別されるテーブルが有する1以上の項目名のうち、主キー以外のキーに対応する項目名であり、主キーに対応する項目名に変換される項目名であってもよい。主キーに対応する項目名とは、例えば、主キー識別子である。 The translated item name is, for example, an item name corresponding to a key other than the primary key among one or more item names of the table identified by the table identifier, and the item name to be converted into the item name corresponding to the primary key. It may be. The item name corresponding to the primary key is, for example, a primary key identifier.
 翻訳項目名は、例えば、“SHAIN_CODE”や“TIME_CARD_DATE”等であるが、変換されるエンティティを特定し得る情報であれば何でもよい。 The translation item name is, for example, "SHAIN_CODE" or "TIME_CARD_DATE", but any information that can identify the entity to be converted may be used.
 PK項目格納部17には、1または2以上のPK項目が格納される。PK項目とは、主キーに対応する項目である。PK項目は、例えば、テーブル識別子と、主キー識別子とを有する。主キー識別子とは、テーブル識別子で識別されるテーブルの主キーを特定する情報である。 One or two or more PK items are stored in the PK item storage unit 17. The PK item is an item corresponding to the primary key. The PK item has, for example, a table identifier and a primary key identifier. The primary key identifier is information that identifies the primary key of the table identified by the table identifier.
 主キー識別子は、例えば、テーブル識別子“MST_SHAIN”で識別されるテーブル(以下、社員マスタ)の場合は“SHAIN_CODE”であり、テーブル識別子“TRN_TIME_CARD”で識別されるテーブル(以下、勤務時間テーブル)の場合は“SHAIN_CODE”と“TIME_CARD_DATE”の2つである。 The primary key identifier is, for example, "SHAIN_CODE" in the case of a table identified by the table identifier "MST_SHAIN" (hereinafter, employee master), and is a table (hereinafter, working hours table) identified by the table identifier "TRN_TIME_CARD". There are two cases, "SHAIN_CODE" and "TIME_CARD_DATE".
 日変換情報格納部18には、1または2以上の日変換情報が格納される。日変換情報とは、日単語を日付に変換するための情報である。日単語とは、日に関する単語である。日単語は、通常、エンティティ名「日付エンティティ」に対応付いた単語であり、例えば、「先月」、「昨日」、「先週」、「今年」、「今月」、「昨年」、「前期」、「今年度」などであるが、日付に変換し得る情報であれば何でもよい。 One or more day conversion information is stored in the day conversion information storage unit 18. The day conversion information is information for converting a day word into a date. A day word is a word about a day. The day word is usually a word associated with the entity name "date entity", for example, "last month", "yesterday", "last week", "this year", "this month", "last year", "previous term", For example, "this year", but any information that can be converted into a date may be used.
 日変換情報は、日単語と、日情報取得情報とを有する。日情報取得情報とは、日情報を取得するための情報である。日情報とは、日単語に対応する日に関する情報であり、問合情報を構成する際に使用する情報である。日情報は、例えば、“4月1日”等の日付を示す情報でもよいし、“4/1~4/30”等の開始日付から終了日付までの期間を示す情報でもよく、その形式は問わない。日情報取得情報は、例えば、関数名、またはメソッド名であるが、API情報でもよいし、プログラム自体でもよく、その形式は問わない。 The day conversion information includes a day word and day information acquisition information. The daily information acquisition information is information for acquiring the daily information. The day information is information about the day corresponding to the day word, and is information used when constructing inquiry information. The day information may be, for example, information indicating a date such as "April 1" or information indicating a period from the start date to the end date such as "4/1 to 4/30", and the format thereof is It doesn't matter. The day information acquisition information is, for example, a function name or a method name, but may be API information or the program itself, and its format does not matter.
 具体的には、日単語「先月」に対する日情報取得情報は、例えば、現在時刻情報(例えば“2019年5月10日11時15分”:以下同様)を取得し、当該現在時刻情報が有する月(例えば“5月”)に対して前の月(例えば“4月”)を取得し、当該前の月のカレンダー情報を参照して、当該前の月の初日から末日までの日情報(例えば“4/1~4/30”等)を取得するプログラム等でもよい。 Specifically, as the day information acquisition information for the day word "last month", for example, the current time information (for example, "May 10, 2019 11:15": the same applies hereinafter) is acquired, and the current time information has the information. Acquire the previous month (for example, "April") for the month (for example, "May"), refer to the calendar information of the previous month, and perform the day information (for example, the first day to the last day of the previous month). For example, a program or the like for acquiring "4/1 to 4/30" etc. may be used.
 また、日単語「今年」に対する日情報取得情報は、例えば、現在時刻情報を取得し、当該現在時刻情報が有する年(例えば“2019年”)のカレンダー情報を参照して、当該年の初日から、当該現在時刻情報が有する日までの日情報(例えば、“2019/1/1~2019/5/10”)を取得するAPI情報等でもよい。 Further, the day information acquisition information for the day word "this year" is, for example, from the first day of the year by acquiring the current time information and referring to the calendar information of the year (for example, "2019") that the current time information has. , API information or the like for acquiring day information (for example, “2019/1/1 to 2019/5/10”) up to the date of the current time information.
 さらに、日単語「昨日」に対する日情報取得情報は、現在時刻情報を取得し、当該現在時刻情報が有する日の前の日の日情報(例えば、“5/9”)を取得するメソッド、またはそのメソッド名等でもよい。 Further, the day information acquisition information for the day word "yesterday" is a method of acquiring the current time information and acquiring the day information (for example, "5/9") of the day before the day of the current time information, or The method name or the like may be used.
 受付部2は、各種の情報を受け付ける。各種の情報とは、例えば、会話文である。受付部2は、会話文等の情報を、例えば、端末から受信するが、キーボードやタッチパネルやマイクロフォン等の入力デバイスを介して受け付けてもよい。または、受付部2は、例えば、ディスクや半導体メモリ等の記録媒体から読み出された情報を受け付けてもよく、その受け付けの態様は問わない。 Reception department 2 receives various information. The various types of information are, for example, conversational sentences. The reception unit 2 receives information such as conversational sentences from, for example, a terminal, but may receive information via an input device such as a keyboard, a touch panel, or a microphone. Alternatively, the reception unit 2 may accept information read from a recording medium such as a disk or a semiconductor memory, and the mode of acceptance is not limited.
 会話文受付部21は、会話文を受け付ける。会話文とは、人が会話する文であり、自然言語による文といってもよい。会話文の受け付けは、例えば、音声での受け付けであるが、テキストでの受け付けでもよい。音声とは、人が発した声である。テキストとは、人が発した声を音声認識した文字列である。文字列は、1または2以上の文字の配列で構成される。 The conversation sentence reception unit 21 accepts conversation sentences. A conversational sentence is a sentence in which a person speaks, and can be said to be a sentence in natural language. Conversational sentences are accepted, for example, by voice, but may be accepted by text. A voice is a voice made by a person. A text is a character string that voice-recognizes a voice uttered by a person. A character string is composed of an array of one or more characters.
 音声受付手段211は、会話文の音声を受け付ける。音声受付手段211は、会話文の音声を、例えば、端末から、端末識別子と対に受信するが、マイクロフォンを介して受け付けてもよい。端末識別子とは、端末を識別する情報である。端末識別子は、例えば、MACアドレス、IPアドレス、IDなどであるが、端末を識別し得る情報であれば何でもよい。なお、端末識別子は、端末のユーザを識別するユーザ識別子でもよい。ユーザ識別子は、例えば、メールアドレス、電話番号等であるが、IDや住所・氏名等でもよく、ユーザを識別し得る情報であれば何でもよい。 The voice receiving means 211 receives the voice of the conversational sentence. The voice receiving means 211 receives the voice of the conversational sentence from the terminal, for example, in pairs with the terminal identifier, but may receive the voice through the microphone. The terminal identifier is information that identifies a terminal. The terminal identifier is, for example, a MAC address, an IP address, an ID, or the like, but any information that can identify the 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, a telephone number, or the like, but may be an ID, an address, a name, or the like, and may be any information that can identify the user.
 音声認識手段212は、音声受付手段211が受け付けた音声に対して音声認識処理を行い、文字列である会話文を取得する。なお、音声認識処理は公知技術であり、詳しい説明を省略する。 The voice recognition means 212 performs voice recognition processing on the voice received by the voice reception means 211, and acquires a conversational sentence which is a character string. The voice recognition process is a known technique, and detailed description thereof will be omitted.
 処理部3は、各種の処理を行う。各種の処理とは、例えば、インテント決定部31、会話文情報決定部32、エンティティ取得部33、パラメータ取得部34、API情報取得部35、問合情報構成部36、検索部37、判断手段341、日情報取得手段342、エンティティ名取得手段343、翻訳項目名取得手段344、テーブル識別子取得手段345、主キー識別子取得手段346、および変換パラメータ取得手段347などの処理である。また、各種の処理には、例えば、フローチャートで説明する各種の判別なども含まれる。 The processing unit 3 performs various processes. The various processes include, for example, an intent determination unit 31, a conversation sentence information determination unit 32, an entity acquisition unit 33, a parameter acquisition unit 34, an API information acquisition unit 35, an inquiry information configuration unit 36, a search unit 37, and a determination means. 341, day information acquisition means 342, entity name acquisition means 343, translation item name acquisition means 344, table identifier acquisition means 345, primary key identifier acquisition means 346, conversion parameter acquisition means 347, and the like. Further, the various processes include, for example, various discriminations described in the flowchart.
 処理部3は、例えば、会話文受付部21が会話文を受け付けたことに応じて、インテント決定部31等の処理を行う。なお、1以上の各端末から、端末識別子と対に会話文が送信される場合、処理部3は、インテント決定部31等の処理を、1以上の各端末識別子ごとに行う。 The processing unit 3 processes, for example, the intent determination unit 31 and the like in response to the conversation sentence reception unit 21 receiving the conversation sentence. When a conversational sentence is transmitted from one or more terminals to a pair with the terminal identifier, the processing unit 3 performs processing of the intent determination unit 31 and the like for each one or more terminal identifiers.
 インテント決定部31は、会話文受付部21が受け付けた会話文に対応するインテントを決定する。 The intent determination unit 31 determines the intent corresponding to the conversation sentence received by the conversation sentence reception unit 21.
 詳しくは、インテント決定部31は、最初、例えば、会話文受付部21が受け付けた会話文に対応するテキストを取得する。テキストは、前述したように、例えば、会話文受付部21が受け付けた会話文を音声認識した結果であるが、会話文受付部21が受け付けた会話文そのものでもよい。 Specifically, the intent determination unit 31 first acquires, for example, the text corresponding to the conversation sentence received by the conversation sentence reception unit 21. As described above, the text is, for example, the result of voice recognition of the conversation sentence received by the conversation sentence reception unit 21, but may be the conversation sentence itself received by the conversation sentence reception unit 21.
 すなわち、インテント決定部31は、音声である会話文が受け付けられた場合、当該会話文を音声認識し、テキストを取得する。なお、テキストである会話文が受け付けられた場合、インテント決定部31は、当該テキストを取得すればよい。 That is, when the intent determination unit 31 receives a conversational sentence that is voice, the intent determination unit 31 voice-recognizes the conversational sentence and acquires the text. When the conversational sentence which is a text is accepted, the intent determination unit 31 may acquire the text.
 次に、インテント決定部31は、取得したテキストに対して、例えば、形態素解析を行うことにより、当該テキストから1以上の自立語を取得する。なお、形態素解析は公知技術であり、詳しい説明を省略する。 Next, the intent determination unit 31 acquires one or more independent words from the acquired text by, for example, performing morphological analysis on the acquired text. The morphological analysis is a known technique, and detailed description thereof will be omitted.
 そして、インテント決定部31は、取得した1以上の自立語と同一または類似する単語を有するアクション名を有するインテントを決定する。 Then, the intent determination unit 31 determines an intent having an action name having a word that is the same as or similar to the acquired one or more independent words.
 詳しくは、例えば、格納部1に類義語辞書が格納されている。類義語辞書とは、類義語に関する辞書である。類義語辞書には、インテント格納部12に格納されている1以上の各インテントを構成するアクション名ごとに、当該アクション名が有する単語と、当該単語の1または2以上の類義語とが登録されている。具体的には、例えば、アクション名「残業時間照会」が有する単語「残業時間」に対応付けて、「時間外」、「時間外時間」などが登録されていてもよい。 For details, for example, a synonym dictionary is stored in the storage unit 1. A synonym dictionary is a dictionary related to synonyms. In the synonym dictionary, the word possessed by the action name and one or more synonyms of the word are registered for each action name constituting one or more intents stored in the intent storage unit 12. ing. Specifically, for example, "overtime", "overtime hours", and the like may be registered in association with the word "overtime hours" of the action name "overtime hours inquiry".
 例えば、会話文受付部21が会話文「大塚の先月の残業時間を教えて」を受け付けた場合、インテント決定部31は、当該会話文から、「大塚」や「先月」や「残業時間」等の1以上の自立語を取得し、各自立語をキーにインテント格納部12を検索して、当該自立語と一致するアクション名を有するインテントがあるか否かを判断する。なお、一致は、例えば、完全一致であるが、部分一致でもよい。そして、当該自立語と一致する単語を有するアクション名を有するインテントがある場合、インテント決定部31は、当該インテントを決定する。本例では、自立語「残業時間」と一致する単語「残業時間」を有するアクション名「残業時間参照」を有するインテントがあるため、当該インテントが決定される。 For example, when the conversation sentence reception unit 21 accepts the conversation sentence "Tell me about the overtime hours of Otsuka last month", the intent determination unit 31 will use the conversation sentence "Otsuka", "last month", or "overtime hours". Etc. is acquired, and the intent storage unit 12 is searched using each independent word as a key, and it is determined whether or not there is an intent having an action name that matches the independent word. The match is, for example, an exact match, but may be a partial match. Then, when there is an intent having an action name having a word matching the independent word, the intent determination unit 31 determines the intent. In this example, since there is an intent having the action name "overtime hours reference" having the word "overtime hours" matching the independent word "overtime hours", the intent is determined.
 なお、当該自立語と一致する単語を有するアクション名を有するインテントがない場合、例えば、インテント決定部31は、類義語辞書から、当該自立語に対応する1以上の類義語のうち、一の類義語を取得し、当該一の類義語をキーにインテント格納部12を検索して、当該当該一の類義語と一致する単語を有するアクション名を有するインテントがあるか否かを判断する。そして、当該一の類義語と一致する単語を有するアクション名を有するインテントがある場合、インテント決定部31は、当該インテントを決定する。かかるインテントがない場合、インテント決定部31は、他の類義語について、同様の処理を行い、インテントを決定する。どの類義語についても、かかるインテントがない場合、インテント決定部31は、インテントが決定されない旨を出力してもよい。 If there is no intent having an action name having a word that matches the independent word, for example, the intent determination unit 31 refers to one synonym from one or more synonyms corresponding to the independent word from the synonym dictionary. Is acquired, the intent storage unit 12 is searched using the one synonym as a key, and it is determined whether or not there is an intent having an action name having a word matching the one synonym. Then, when there is an intent having an action name having a word matching the one synonym, the intent determination unit 31 determines the intent. If there is no such intent, the intent determination unit 31 performs the same processing for other synonyms to determine the intent. For any synonym, if there is no such intent, the intent determination unit 31 may output that the intent is not determined.
 会話文情報決定部32は、インテント決定部31が決定したインテントをキーにコーパス格納部14を検索し、当該インテントに対応する1以上の会話文情報の中から、会話文受付部21が受け付けた会話文に最も近似する会話文情報を決定する。 The conversation sentence information determination unit 32 searches the corpus storage unit 14 using the intent determined by the intent determination unit 31 as a key, and the conversation sentence reception unit 21 is selected from one or more conversation sentence information corresponding to the intent. Determines the conversational sentence information that most closely resembles the conversational sentence received by.
 会話文に最も近似する会話文情報とは、例えば、会話文に対する類似度が最も高い会話文情報である。すなわち、会話文情報決定部32は、例えば、受け付けられた会話文と、決定されたインテントに対応する1以上の各会話文情報との類似度を算出し、類似度が最大の会話文情報を決定する。 The conversational sentence information that most closely resembles the conversational sentence is, for example, the conversational sentence information that has the highest degree of similarity to the conversational sentence. That is, the conversation sentence information determination unit 32 calculates, for example, the degree of similarity between the received conversation sentence and one or more conversation sentence information corresponding to the determined intent, and the conversation sentence information having the maximum similarity degree. To decide.
 または、会話文情報決定部32は、例えば、受け付けられた会話文の名詞の位置を変数にしたテンプレートに一致する会話テンプレートを検索してもよい。すなわち、コーパス格納部14には、1または2以上の各エンティティ名を変数にしたテンプレートが格納されており、会話文情報決定部32は、受け付けられた会話文の1または2以上の各エンティティ名の位置を取得し、取得したエンティティ名の位置に対応するテンプレートを会話文情報に決定する。なお、会話文の1以上の各エンティティ名の位置とは、1以上の各エンティティ名を有するテンプレートにおいて、当該エンティティ名が何番目のエンティティ名かを示す情報である。 Alternatively, the conversation sentence information determination unit 32 may search for a conversation template that matches the template in which the position of the noun of the accepted conversation sentence is used as a variable. That is, the corpus storage unit 14 stores a template in which one or two or more entity names are used as variables, and the conversation sentence information determination unit 32 stores one or two or more entity names of the accepted conversation sentence. Acquires the position of, and determines the template corresponding to the position of the acquired entity name as conversational sentence information. The position of one or more entity names in the conversation sentence is information indicating the number of the entity name in the template having one or more entity names.
 エンティティ取得部33は、会話文情報決定部32が決定した会話文情報に対応付いている1以上の各エンティティに対応し、会話文受付部21が受け付けた会話文が有する単語である1以上のエンティティを取得する。 The entity acquisition unit 33 corresponds to one or more entities corresponding to the conversation sentence information determined by the conversation sentence information determination unit 32, and is one or more words possessed by the conversation sentence received by the conversation sentence reception unit 21. Get an entity.
 エンティティ取得部33は、例えば、決定された会話文情報に対応付いている1以上の各エンティティごとに、当該エンティティの開始位置および終了位置をコーパス格納部14から取得し、受け付けられた会話文から、当該開始位置および当該終了位置により特定される単語を取得する。 For example, the entity acquisition unit 33 acquires the start position and end position of the entity from the corpus storage unit 14 for each one or more entities corresponding to the determined conversational sentence information, and from the received conversational sentence. , Gets the word specified by the start position and the end position.
 具体的には、前述したように、例えば、コーパス格納部14に、会話文情報“中村の先月の残業時間を教えて”と、これに対応する3つのエンティティ情報“中村,1,2、社員エンティティ”,“先月,4,5、日付エンティティ”,および“残業時間,7,10,残業エンティティ”が格納されており、会話文受付部21が会話文「大塚の先月の残業時間を教えて」を受け付け、会話文情報決定部32が上記会話文情報「中村の先月の残業時間を教えて」を決定した場合、エンティティ取得部33は、受け付けられた会話文「大塚の先月の残業時間を教えて」から、1つ目のエンティティ情報が有する開始位置“1”および終了位置“2”で特定される単語「大塚」と、2つ目のエンティティ情報が有する開始位置“4”および終了位置“5”で特定される単語「先月」と、3つ目のエンティティ情報が有する開始位置“7”および終了位置“10”で特定される単語「残業時間」とを取得する。 Specifically, as described above, for example, the conversation text information "Tell me about Nakamura's overtime hours last month" and the corresponding three entity information "Nakamura, 1, 2 and employees" are sent to the corpus storage unit 14. "Entity", "last month, 4, 5, date entity", and "overtime hours, 7, 10, overtime entity" are stored, and the conversation sentence reception department 21 tells the conversation sentence "Otsuka's overtime hours last month. When the conversation text information determination unit 32 determines the above conversation text information "Tell me the overtime hours of Nakamura last month", the entity acquisition department 33 determines the accepted conversation text "Otsuka's overtime hours last month". From "Tell me", the word "Otsuka" specified by the start position "1" and the end position "2" of the first entity information, and the start position "4" and the end position of the second entity information. The word "last month" specified by "5" and the word "overtime hours" specified by the start position "7" and the end position "10" of the third entity information are acquired.
 パラメータ取得部34は、エンティティ取得部33が取得した1以上の各エンティティに対応する1以上のパラメータを取得する。 The parameter acquisition unit 34 acquires one or more parameters corresponding to one or more entities acquired by the entity acquisition unit 33.
 取得されるパラメータは、例えば、取得されたエンティティそのものであるが、取得されたエンティティを変換した情報でもよい。すなわち、例えば、取得された1以上のエンティティの中に日単語が含まれている場合、パラメータ取得部34は、当該日単語をパラメータである日情報に変換する。 The acquired parameter is, for example, the acquired entity itself, but it may be information obtained by converting the acquired entity. That is, for example, when the acquired day word is included in one or more entities, the parameter acquisition unit 34 converts the day word into the parameter day information.
 パラメータ取得部34を構成する判断手段341は、エンティティ取得部33が取得した1以上のエンティティの中に日単語が存在するか否かを判断する。詳しくは、例えば、格納部1に、1または2以上の日単語が格納されており、判断手段341は、取得された1以上の各エンティティごとに、格納されているいずれかの日単語と一致するか否かの判別を行い、少なくとも1つのエンティティについての判別結果が一致を示す場合に、取得された1以上のエンティティの中に日単語が存在すると判断する。 The determination means 341 constituting the parameter acquisition unit 34 determines whether or not the day word exists in one or more entities acquired by the entity acquisition unit 33. Specifically, for example, one or two or more day words are stored in the storage unit 1, and the determination means 341 matches any of the stored day words for each of the acquired one or more entities. It is determined whether or not to do so, and when the determination results for at least one entity show a match, it is determined that the day word exists in the acquired one or more entities.
 日情報取得手段342は、取得された1以上のエンティティの中に日単語が存在すると判断手段341が判断した場合に、当該日単語に対応する日変換情報を日変換情報格納部18から取得し、当該日変換情報を用いて、パラメータである日情報を取得する。 When the determination means 341 determines that the day word exists in one or more acquired entities, the day information acquisition means 342 acquires the day conversion information corresponding to the day word from the day conversion information storage unit 18. , The day information which is a parameter is acquired by using the day conversion information.
 具体的には、例えば、格納部1に、日単語「先月」等が格納されており、会話文「大塚の先月の残業時間を教えて」が受け付けられて、3つのエンティティ「大塚」、「先月」、および「残業時間」が取得された場合、判断手段341は、エンティティ「先月」が日単語「先月」と一致することから、取得された3のエンティティの中に日単語が存在すると判断する。例えば、現在時刻情報を取得し、日情報(例えば“4/1~4/30”等)を取得する Specifically, for example, the day word "last month" and the like are stored in the storage unit 1, and the conversational sentence "Tell me the overtime hours of last month of Otsuka" is accepted, and the three entities "Otsuka" and " When "last month" and "overtime hours" are acquired, the determination means 341 determines that the day word exists among the acquired 3 entities because the entity "last month" matches the day word "last month". To do. For example, the current time information is acquired and the day information (for example, "4/1 to 4/30") is acquired.
 日情報取得手段342は、当該日単語「先月」に対応する日情報取得情報(例えば、プログラム)を日変換情報格納部18から取得する。そして、日情報取得手段342は、当該日情報取得情報を用いて、MPUの内蔵時計やNTPサーバ等から現在時刻情報(例えば“2019年5月10日11時15分”)を取得し、当該現在時刻情報が有する月(例えば“5月”)に対して前の月(例えば“4月”)を取得する。そして、日情報取得手段342は、当該前の月のカレンダー情報を参照して、当該前の月の初日から末日までの日情報“4月1日~4月30日”を取得する。 The day information acquisition means 342 acquires the day information acquisition information (for example, a program) corresponding to the day word "last month" from the day conversion information storage unit 18. Then, the day information acquisition means 342 acquires the current time information (for example, "May 10, 2019 11:15") from the built-in clock of the MPU, the NTP server, or the like by using the day information acquisition information, and the relevant day information acquisition means. Acquires the previous month (for example, "April") with respect to the month (for example, "May") that the current time information has. Then, the day information acquisition means 342 acquires the day information "April 1st to April 30th" from the first day to the last day of the previous month by referring to the calendar information of the previous month.
 なお、会話文から取得された日単語が「今年」である場合、日情報取得手段342は、当該日単語「今年」に対応する日情報取得情報(例えば、API情報)を日変換情報格納部18から取得する。そして、日情報取得手段342は、当該日情報取得情報を用いて、内蔵時計等から現在時刻情報を取得し、当該現在時刻情報が有する年(例えば“2019年”)のカレンダー情報を参照して、当該年の初日から、当該現在時刻情報が有する日までの日情報(例えば、“2019/1/1~2019/5/10”)を取得する。 When the day word acquired from the conversation sentence is "this year", the day information acquisition means 342 stores the day information acquisition information (for example, API information) corresponding to the day word "this year" in the day conversion information storage unit. Obtained from 18. Then, the day information acquisition means 342 acquires the current time information from the built-in clock or the like by using the day information acquisition information, and refers to the calendar information of the year (for example, "2019") possessed by the current time information. , The day information (for example, "2019/1/1 to 2019/5/10") from the first day of the year to the day held by the current time information is acquired.
 また、取得された日単語が「昨日」である場合、日情報取得手段342は、当該日単語「昨日」に対応する日情報取得情報(例えば、メソッド)を日変換情報格納部18から取得する。そして、日情報取得手段342は、当該日情報取得情報を用いて、内蔵時計等から現在時刻情報を取得し、当該現在時刻情報が有する日の前の日の日情報(例えば、“5/9”)を取得する。 Further, when the acquired day word is "yesterday", the day information acquisition means 342 acquires the day information acquisition information (for example, a method) corresponding to the day word "yesterday" from the day conversion information storage unit 18. .. Then, the day information acquisition means 342 acquires the current time information from the built-in clock or the like by using the day information acquisition information, and the day information of the day before the day that the current time information has (for example, "5/9"). ”) Is acquired.
 エンティティ名取得手段343は、エンティティ取得部33が取得した1以上の各エンティティごとに、当該エンティティに対応するエンティティ名をエンティティ格納部15から取得する。 The entity name acquisition means 343 acquires the entity name corresponding to the entity from the entity storage unit 15 for each one or more entities acquired by the entity acquisition unit 33.
 当該エンティティに対応するエンティティ名とは、当該エンティティが取得された会話文において、当該エンティティに対応するエンティティの位置に一致または類似する開始位置および終了位置と対になるエンティティ名である。エンティティ名取得手段343は、エンティティ取得部33が取得した1以上の各エンティティごとに、例えば、当該エンティティに対応付いたエンティティ情報を用いて、当該エンティティに対応するエンティティ名をエンティティ格納部15から取得してもよい。 The entity name corresponding to the entity is an entity name paired with a start position and an end position that match or are similar to the position of the entity corresponding to the entity in the conversation sentence obtained by the entity. The entity name acquisition means 343 acquires the entity name corresponding to the entity from the entity storage unit 15 for each one or more entities acquired by the entity acquisition unit 33, for example, using the entity information associated with the entity. You may.
 具体的には、例えば、受け付けられた会話文「大塚の先月の残業時間を教えて」から3つのエンティティ「大塚」、「先月」、および「残業時間」が取得された場合、エンティティ名取得手段343は、コーパス格納部14に格納されている会話文情報「中村の先月の残業時間を教えて」において、当該会話文情報に対応付けて格納されている3つのエンティティ情報のうち、受け付けられた会話文「大塚の先月の残業時間を教えて」における「大塚」と同じ開始位置“1”および終了位置“2”を有する1つ目のエンティティ情報を用いて、「中村」に対応付いた「社員エンティティ」を取得する。 Specifically, for example, when the three entities "Otsuka", "Last month", and "Overtime hours" are acquired from the accepted conversation "Tell me the overtime hours of Otsuka last month", the entity name acquisition means. 343 was accepted among the three entity information stored in association with the conversational text information in the conversational text information "Tell me Nakamura's overtime hours last month" stored in the corpus storage unit 14. Using the first entity information that has the same start position "1" and end position "2" as "Otsuka" in the conversation "Tell me about Otsuka's overtime hours last month", "Nakamura" is associated with "Nakamura". Get "Employee Entity".
 また、エンティティ名取得手段343は、例えば、上記3つのエンティティ情報のうち、会話文「大塚の先月の残業時間を教えて」における「先月」と同じ開始位置“4”および終了位置“5”を有する2つ目のエンティティ情報を用いて、「先月」に対応付いた「日付エンティティ」を取得し、さらに、会話文「大塚の先月の残業時間を教えて」における「残業時間」と同じ開始位置“7”および終了位置“10”を有する3つ目のエンティティ情報を用いて、「残業時間」に対応付いた「残業時間エンティティ」を取得する。 Further, for example, the entity name acquisition means 343 sets the same start position "4" and end position "5" as "last month" in the conversation sentence "Tell me the overtime hours of last month of Otsuka" among the above three entity information. Use the second entity information you have to get the "date entity" that corresponds to "last month", and the same start position as "overtime hours" in the conversation "Tell me about overtime hours last month in Otsuka". Using the third entity information having "7" and the end position "10", the "overtime hours entity" corresponding to the "overtime hours" is acquired.
 翻訳項目名取得手段344は、例えば、エンティティ名取得手段343が取得した1以上の各エンティティ名ごとに、当該エンティティ名と対になる翻訳項目名をエンティティマッピング情報格納部16から取得する。 The translation item name acquisition means 344 acquires, for example, a translation item name paired with the entity name from the entity mapping information storage unit 16 for each one or more entity names acquired by the entity name acquisition means 343.
 具体的には、エンティティマッピング情報格納部16に、例えば、テーブル識別子“MST_SHAIN”と翻訳項目名“SHAIN_NAME”とエンティティ名“社員エンティティ”とを有するエンティティマッピング情報1、テーブル識別子“TRN_TIME_CARD”と翻訳項目名“TIME_CARD_DATE”とエンティティ名“日付エンティティ”とを有するエンティティマッピング情報2、およびテーブル識別子“TRN_TIME_CARD”と翻訳項目名“ZIKANGAI_TIME”とエンティティ名“残業エンティティ”とを有するエンティティマッピング情報3などが格納されており、エンティティ名取得手段343が3つのエンティティ名「社員エンティティ」、「日付エンティティ」、および「残業エンティティ」を取得した場合、翻訳項目名取得手段344は、当該3つのエンティティマッピング情報1~3を用いて、エンティティ名「社員エンティティ」と対になる翻訳項目名“SHAIN_NAME”、エンティティ名「日付エンティティ」と対になる翻訳項目名“TIME_CARD_DATE”、および「残業エンティティ」と対になる翻訳項目名“ZIKANGAI_TIM”を取得する。 Specifically, the entity mapping information storage unit 16 has, for example, an entity mapping information 1 having a table identifier "MST_SHAIN", a translation item name "SHAIN_NAME", and an entity name "employee entity", a table identifier "TRN_TIME_CARD", and a translation item. Entity mapping information 2 having the name "TIME_CARD_DATE" and the entity name "date entity", entity mapping information 3 having the table identifier "TRN_TIME_CARD", the translation item name "ZIKANGAI_TIME" and the entity name "overtime entity" are stored. When the entity name acquisition means 343 acquires the three entity names "employee entity", "date entity", and "overtime entity", the translation item name acquisition means 344 uses the three entity mapping informations 1 to 3. Translated item name "SHAIN_NAME" paired with the entity name "employee entity", translated item name "TIME_CARD_DATE" paired with the entity name "date entity", and translated item name paired with "overtime entity" Acquire "ZIKANGAI_TIM".
 テーブル識別子取得手段345は、エンティティ名取得手段343が取得した1以上の各エンティティ名ごとに、当該エンティティ名と対になるテーブル識別子をエンティティマッピング情報格納部16から取得する。 The table identifier acquisition means 345 acquires a table identifier paired with the entity name from the entity mapping information storage unit 16 for each one or more entity names acquired by the entity name acquisition means 343.
 具体的には、テーブル識別子取得手段345は、例えば、上記3つのエンティティマッピング情報1~3を用いて、エンティティ名「社員エンティティ」と対になるテーブル識別子“MST_SHAIN”、エンティティ名「日付エンティティ」と対になるテーブル識別子“TRN_TIME_CARD”、およびエンティティ名「残業エンティティ」と対になるテーブル識別子“TRN_TIME_CARD”を取得する。 Specifically, the table identifier acquisition means 345 uses, for example, the above three entity mapping information 1 to 3 to form a table identifier "MST_SHAIN" paired with the entity name "employee entity" and an entity name "date entity". Acquire the paired table identifier "TRN_TIME_CARD" and the paired table identifier "TRN_TIME_CARD" with the entity name "overtime entity".
 主キー識別子取得手段346は、テーブル識別子取得手段345が取得したテーブル識別子と対になる主キー識別子をPK項目格納部17から取得する。 The primary key identifier acquisition means 346 acquires a primary key identifier paired with the table identifier acquired by the table identifier acquisition means 345 from the PK item storage unit 17.
 具体的には、PK項目格納部17に、例えば、テーブル識別子“MST_SHAIN”と主キー識別子“SHAIN_CODE”とを有するPK項目1、テーブル識別子“TRN_TIME_CARD”と主キー識別子“SHAIN_CODE”とを有するPK項目2、テーブル識別子“TRN_TIME_CARD”と主キー識別子“TIME_CARD_DATE”とを有するPK項目3、およびテーブル識別子“MST_GYOUMU”と主キー識別子“GYOUMU_ID”とを有するPK項目4などが格納されており、主キー識別子取得手段346は、当該PK項目1~4を用いて、テーブル識別子“MST_SHAIN”と対になる主キー識別子“SHAIN_CODE”、テーブル識別子“TRN_TIME_CARD”と対になる主キー識別子“SHAIN_CODE”、テーブル識別子“TRN_TIME_CARD”と対になる主キー識別子“TIME_CARD_DATE”、およびテーブル識別子“MST_GYOUMU”と対になる主キー識別子“GYOUMU_ID”を取得する。 Specifically, the PK item storage unit 17 has, for example, a PK item 1 having a table identifier "MST_SHAIN" and a primary key identifier "SHAIN_CODE", and a PK item having a table identifier "TRN_TIME_CARD" and a primary key identifier "SHAIN_CODE". 2. PK item 3 having the table identifier "TRN_TIME_CARD" and the primary key identifier "TIME_CARD_DATE", PK item 4 having the table identifier "MST_GYOUMU" and the primary key identifier "GYOUMU_ID", etc. are stored, and the primary key identifier Using the PK items 1 to 4, the acquisition means 346 uses the primary key identifier "SHAIN_CODE" paired with the table identifier "MST_SHAIN", the primary key identifier "SHAIN_CODE" paired with the table identifier "TRN_TIME_CARD", and the table identifier " Acquires the primary key identifier "TIME_CARD_DATE" paired with "TRN_TIME_CARD" and the primary key identifier "GYOUMU_ID" paired with the table identifier "MST_GYOUMU".
 変換パラメータ取得手段347は、テーブル識別子取得手段345が取得したテーブル識別子で識別されるテーブルから、翻訳項目名取得手段344が取得した翻訳項目名の属性値が、エンティティ取得部33が取得したエンティティと一致するレコードに含まれる属性値であり、主キー識別子取得手段346が取得した主キー識別子の属性値である、変換されたパラメータを取得する。 In the conversion parameter acquisition means 347, the attribute value of the translation item name acquired by the translation item name acquisition means 344 is the entity acquired by the entity acquisition unit 33 from the table identified by the table identifier acquired by the table identifier acquisition means 345. The converted parameter which is the attribute value included in the matching record and is the attribute value of the primary key identifier acquired by the primary key identifier acquisition means 346 is acquired.
 具体的には、変換パラメータ取得手段347は、取得されたテーブル識別子“MST_SHAIN”で識別される社員マスタから、取得された翻訳項目名“SHAIN_NAME”の属性値が、取得されたエンティティ“大塚”と一致するレコードに含まれる属性値であり、取得された主キー識別子“SHAIN_CODE”の属性値である、変換されたパラメータ“shain_code=2”を取得する。 Specifically, the conversion parameter acquisition means 347 has the attribute value of the translation item name “SHAIN_NAME” acquired from the employee master identified by the acquired table identifier “MST_SHAIN” as the acquired entity “Otsuka”. Acquires the converted parameter "shain_code = 2" which is an attribute value included in the matching record and is an attribute value of the acquired primary key identifier "SHAIN_CODE".
 また、変換パラメータ取得手段347は、取得されたテーブル識別子“TRN_TIME_CARD”で識別される勤務時間テーブルから、取得された2つの翻訳項目名“TIME_CARD_DATE”および“SHAIN_NAME”の属性値が、取得されたエンティティ“先月”を変換したエンティティ“4月1日~4月30日”、および取得されたエンティティ“大塚”と一致するレコードに含まれる属性値であり、取得された2つの主キー識別子“SHAIN_CODE”および“TIME_CARD_DATE”の属性値である変換されたパラメータ“shain_code=2,sta_date=20190401,end_date=20190430”を取得する。 In addition, the conversion parameter acquisition means 347 is an entity in which the attribute values of the two translation item names "TIME_CARD_DATE" and "SHAIN_NAME" acquired from the working hours table identified by the acquired table identifier "TRN_TIME_CARD" are acquired. It is an attribute value included in the record that matches the entity "April 1st to April 30th" that converted "last month" and the acquired entity "Otsuka", and the two acquired primary key identifiers "SHAIN_CODE". And the converted parameter "shan_code = 2, sta_date = 2019041, end_date = 20190430" which is the attribute value of "TIME_CARD_DATE" is acquired.
 API情報取得部35は、インテント決定部31が決定したインテントに対応するAPI情報をAPI情報格納部13から取得する。 The API information acquisition unit 35 acquires the API information corresponding to the intent determined by the intent determination unit 31 from the API information storage unit 13.
 API情報取得部35は、例えば、インテント決定部31が決定したインテントに対応するアクション名を有するAPI情報を、API情報格納部13から取得する。 The API information acquisition unit 35 acquires, for example, API information having an action name corresponding to the intent determined by the intent determination unit 31 from the API information storage unit 13.
 具体的には、API情報格納部13に、例えば、アクション名“残業時間照会”と3以上のパラメータ特定情報“社員コード,shain_code”,“開始日付,sta_date”,および“終了日付,end_date”などを有するAPI情報1、およびアクション名“勤務時間データ照会”と3以上のパラメータ特定情報“社員コード,shain_code”,“作業日付,time_card_date”,および“業務ID,gyoumu_id”などを有するAPI情報2が格納されており、インテント名「残業照会インテント」で特定されるインテントが取得された場合、API情報取得部35は、当該インテントが有するアクション名“残業時間照会”を有するAPI情報1を取得する。 Specifically, in the API information storage unit 13, for example, the action name "overtime time inquiry" and three or more parameter specific information "employee code, share_code", "start date, sta_date", "end date, end_date", etc. API information 1 having the action name "working time data inquiry" and API information 2 having three or more parameter specific information "employee code, share_code", "work date, time_card_date", "business ID, gyoumu_id", etc. When the intent that is stored and is specified by the intent name "overtime inquiry intent" is acquired, the API information acquisition unit 35 has the API information 1 having the action name "overtime hour inquiry" that the intent has. To get.
 問合情報構成部36は、パラメータ取得部34が取得した1以上のパラメータと、API情報取得部35が取得したAPI情報とを用いて、問合情報を構成する。問合情報とは、情報検索するための情報であり、通常、実行可能な情報である。問合情報は、例えば、引数が挿入された関数またはメソッドであるが、完成されたSQL文でもよいし、URLとパラメータの組でもよい。 The inquiry information configuration unit 36 configures inquiry information by using one or more parameters acquired by the parameter acquisition unit 34 and the API information acquired by the API information acquisition unit 35. Inquiry information is information for searching information, and is usually feasible information. The query information is, for example, a function or method in which an argument is inserted, but it may be a completed SQL statement or a set of URL and parameter.
 問合情報構成部36は、例えば、API情報取得部35が取得したAPI情報が有する1以上の各変数の箇所に、各箇所に対応付くパラメータであり、パラメータ取得部34が取得したパラメータを配置することにより、問合情報を構成する。 The inquiry information configuration unit 36 is, for example, a parameter corresponding to each location at each of one or more variables of the API information acquired by the API information acquisition unit 35, and arranges the parameters acquired by the parameter acquisition unit 34. By doing so, inquiry information is constructed.
 具体的には、例えば、取得されたAPI情報1が有する3以上の各変数の箇所に、“shain_code=2”、sta_date=20190401”、およびend_date”=20190430が配置された問い合わせ情報“https://develop.soppra・・・?shain_code=2&sta_date=20190401&end_date=20190430”が構成されてもよい。 Specifically, for example, the inquiry information "https: /" in which "shain_code = 2", sta_date = 2019041 ", and end_date" = 20190430 are arranged at each of the three or more variables of the acquired API information 1. /Develop.soppra ...? Shan_code = 2 & sta_date = 2019041 & end_date = 20190430 "may be configured.
 検索部37は、問合情報構成部36が構成した問合情報を実行し、検索結果を取得する。例えば、問合情報“https://develop.soppra・・・?shain_code=2&sta_date=20190401&end_date=20190430”が実行され、社員コード2で特定される社員「大塚二郎」の4月1日から4月30日までの各日付に対応する残業時間“0401=1,0402=0,・・・4030=2”が取得されてもよい。なお、SQL等の問合情報や、検索部37の詳しい動作については、具体例や変形例で説明する。 The search unit 37 executes the inquiry information configured by the inquiry information configuration unit 36 and acquires the search result. For example, the inquiry information "https://develop.soppra ...? Shanin_code = 2 & sta_date = 2019041 & end_date = 20190430" is executed, and the employee "Jiro Otsuka" specified by employee code 2 is executed from April 1 to April 30 Overtime hours "0401 = 1,0402 = 0, ... 4030 = 2" corresponding to each date up to the day may be acquired. Inquiry information such as SQL and detailed operations of the search unit 37 will be described with specific examples and modified examples.
 出力部4は、各種の情報を出力する。各種の情報とは、例えば、検索結果である。 The output unit 4 outputs various information. The various types of information are, for example, search results.
 出力部4は、例えば、受付部2が端末識別子と対に会話文等の情報を受信したことに応じて処理部3が各種の処理を行った結果である検索結果等の情報を、当該端末識別子で識別される端末に送信する。または、例えば、受付部2がタッチパネルやマイクロフォン等の入力デバイスを介して会話文等の情報を受け付けたことに応じて、出力部4は、検索結果等の情報を、ディスプレイやスピーカ等の出力デバイスを介して出力してもよい。 For example, the output unit 4 obtains information such as a search result, which is the result of various processing performed by the processing unit 3 in response to the reception unit 2 receiving information such as a conversation sentence in pairs with the terminal identifier. Send to the terminal identified by the identifier. Alternatively, for example, in response to the reception unit 2 receiving information such as a conversational sentence via an input device such as a touch panel or a microphone, the output unit 4 outputs information such as a search result to an output device such as a display or a speaker. It may be output via.
 ただし、出力部4は、各種の情報を、例えば、プリンタでプリントアウトしたり、記録媒体に蓄積したり、他のプログラムに引き渡したり、外部の装置に送信したりしてもよく、その出力の態様は問わない。 However, the output unit 4 may print out various types of information with a printer, store it in a recording medium, pass it on to another program, or transmit it to an external device, and the output unit 4 may output the output. The mode does not matter.
 検索結果出力部41は、検索部37が取得した検索結果を出力する。検索結果出力部41は、例えば、会話文受付部21が端末識別子と対に会話文を受信したことに応じて検索部37が取得した検索結果を、当該端末識別子で識別される端末に送信する。または、検索結果出力部41は、例えば、会話文受付部21がマイクロフォン等の入力デバイスを介して会話文を受け付けたことに応じて検索部37が取得した検索結果を、ディスプレイやスピーカ等の出力デバイスを介して出力してもよい。 The search result output unit 41 outputs the search result acquired by the search unit 37. The search result output unit 41 transmits, for example, the search result acquired by the search unit 37 in response to the conversation sentence reception unit 21 receiving the conversation sentence in pairs with the terminal identifier to the terminal identified by the terminal identifier. .. Alternatively, the search result output unit 41 outputs, for example, the search result acquired by the search unit 37 in response to the conversation sentence reception unit 21 receiving the conversation sentence via an input device such as a microphone on a display, a speaker, or the like. It may be output via a device.
 格納部1、テーブル格納部11、インテント格納部12、API情報格納部13、コーパス格納部14、エンティティ格納部15、エンティティマッピング情報格納部16、PK項目格納部17、および日変換情報格納部18は、例えば、ハードディスクやフラッシュメモリといった不揮発性の記録媒体が好適であるが、RAMなど揮発性の記録媒体でも実現可能である。 Storage unit 1, table storage unit 11, intent storage unit 12, API information storage unit 13, corpus storage unit 14, entity storage unit 15, entity mapping information storage unit 16, PK item storage unit 17, and day conversion information storage unit No. 18 is preferably a non-volatile recording medium such as a hard disk or a flash memory, but can also be realized by a volatile recording medium such as a RAM.
 格納部1等に情報が記憶される過程は問わない。例えば、記録媒体を介して情報が格納部1等で記憶されるようになってもよく、ネットワークや通信回線等を介して送信された情報が格納部1等で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された情報が格納部1等で記憶されるようになってもよい。入力デバイスは、例えば、キーボード、マウス、タッチパネル、マイクロフォン等、何でもよい。 The process of storing information in the storage unit 1 etc. does not matter. For example, information may be stored in the storage unit 1 or the like via a recording medium, or information transmitted via a network, a communication line, or the like may be stored in the storage unit 1 or the like. Well, or the information input via the input device may be stored in the storage unit 1 or the like. The input device may be, for example, a keyboard, a mouse, a touch panel, a microphone, or the like.
 受付部2、会話文受付部21、音声受付手段211、および音声認識手段212は、入力デバイスを含むと考えても、含まないと考えてもよい。受付部2等は、入力デバイスのドライバーソフトによって、または入力デバイスとそのドライバーソフトとで実現され得る。 The reception unit 2, the conversation text reception unit 21, the voice reception means 211, and the voice recognition means 212 may or may not include the input device. The reception unit 2 and the like can be realized by the driver software of the input device or by the input device and its driver software.
 処理部3、インテント決定部31、会話文情報決定部32、エンティティ取得部33、パラメータ取得部34、API情報取得部35、問合情報構成部36、検索部37、判断手段341、日情報取得手段342、エンティティ名取得手段343、翻訳項目名取得手段344、テーブル識別子取得手段345、主キー識別子取得手段346、および変換パラメータ取得手段347は、通常、MPUやメモリ等から実現され得る。処理部3等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。ただし、処理手順は、ハードウェア(専用回路)で実現してもよい。 Processing unit 3, intent determination unit 31, conversational text information determination unit 32, entity acquisition unit 33, parameter acquisition unit 34, API information acquisition unit 35, inquiry information configuration unit 36, search unit 37, judgment means 341, day information The acquisition means 342, the entity name acquisition means 343, the translation item name acquisition means 344, the table identifier acquisition means 345, the primary key identifier acquisition means 346, and the conversion parameter acquisition means 347 can usually be realized from an API, a memory, or the like. The processing procedure of the processing unit 3 and the like is usually realized by software, and the software is recorded on a recording medium such as ROM. However, the processing procedure may be realized by hardware (dedicated circuit).
 出力部4、および検索結果出力部41は、ディスプレイやスピーカ等の出力デバイスを含むと考えても含まないと考えてもよい。出力部4等は、出力デバイスのドライバーソフトによって、または出力デバイスとそのドライバーソフトとで実現され得る。 The output unit 4 and the search result output unit 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.
 なお、受付部2等の受信機能は、通常、無線または有線の通信手段(例えば、NIC(Network interface controller)やモデム等の通信モジュール)で実現されるが、放送を受信する手段(例えば、放送受信モジュール)で実現されてもよい。また、出力部4等の送信機能は、通常、無線または有線の通信手段で実現されるが、放送手段(例えば、放送モジュール)で実現されてもよい。 The receiving function of the reception unit 2 or the like is usually realized by a wireless or wired communication means (for example, a communication module such as a NIC (Network interface controller) or a modem), but a means for receiving a broadcast (for example, a broadcast). It may be realized by the receiving module). Further, the transmission function of the output unit 4 or the like is usually realized by a wireless or wired communication means, but may be realized by a broadcasting means (for example, a broadcasting module).
 次に、情報出力装置の動作について図2および図3のフローチャートを用いて説明する。 Next, the operation of the information output device will be described with reference to the flowcharts of FIGS. 2 and 3.
 図2は、情報出力装置の動作を説明するフローチャートである。なお、1以上の各端末から端末識別子と対に会話文が送信される場合、図2および図3のフローチャートは、1以上の各端末識別子ごとに実行される。 FIG. 2 is a flowchart illustrating the operation of the information output device. When a conversation sentence is transmitted from one or more terminals to a pair with a terminal identifier, the flowcharts of FIGS. 2 and 3 are executed for each one or more terminal identifiers.
 (ステップS201)処理部3は、会話文受付部21が会話文を受け付けたか否かを判別する。会話文受付部21が会話文を受け付けたと判断された場合はステップS202に進み、受け付けていないと判断された場合はステップS201に戻る。 (Step S201) The processing unit 3 determines whether or not the conversation sentence reception unit 21 has accepted the conversation sentence. If it is determined that the conversation sentence reception unit 21 has accepted the conversation sentence, the process proceeds to step S202, and if it is determined that the conversation sentence has not been accepted, the process returns to step S201.
 (ステップS202)インテント決定部31は、インテント格納部12に格納されている1以上のインテントの中から、ステップS201で受け付けられた会話文に対応するインテントを決定する。 (Step S202) The intent determination unit 31 determines an intent corresponding to the conversational sentence received in step S201 from one or more intents stored in the intent storage unit 12.
 (ステップS203)会話文情報決定部32は、ステップS202で決定されたインテントに対応する1以上の会話文情報の中から、ステップS201で受け付けられた会話文に最も近似する会話文情報を決定する。 (Step S203) The conversation sentence information determination unit 32 determines the conversation sentence information most similar to the conversation sentence received in step S201 from one or more conversation sentence information corresponding to the intent determined in step S202. To do.
 (ステップS204)エンティティ取得部33は、ステップS203で決定された会話文情報に対応付いている1以上の各エンティティに対応し、ステップS201で受け付けられた会話文が有する1以上のエンティティをエンティティ格納部15から取得する。 (Step S204) The entity acquisition unit 33 corresponds to each one or more entities corresponding to the conversational sentence information determined in step S203, and stores one or more entities of the conversational sentence received in step S201. Obtained from part 15.
 (ステップS205)パラメータ取得部34は、ステップS204で取得された1以上の各エンティティに対応する1以上のパラメータを取得する処理(以下、パラメータ取得処理と記す場合がある)を実行する。なお、パラメータ取得処理については、図3を用いて説明する。 (Step S205) The parameter acquisition unit 34 executes a process of acquiring one or more parameters corresponding to one or more entities acquired in step S204 (hereinafter, may be referred to as a parameter acquisition process). The parameter acquisition process will be described with reference to FIG.
 (ステップS206)API情報取得部35は、ステップS202で決定されたインテントに対応するAPI情報をAPI情報格納部13から取得する。 (Step S206) The API information acquisition unit 35 acquires the API information corresponding to the intent determined in step S202 from the API information storage unit 13.
 (ステップS207)問合情報構成部36は、ステップS205で取得された1以上のパラメータと、ステップS206で取得されたAPI情報とを用いて、問合情報を構成する。 (Step S207) The inquiry information configuration unit 36 configures inquiry information by using one or more parameters acquired in step S205 and the API information acquired in step S206.
 (ステップS208)検索部37は、ステップS207で構成された問合情報を実行し、検索結果を取得する。 (Step S208) The search unit 37 executes the inquiry information configured in step S207 and acquires the search result.
 (ステップS209)検索結果出力部41は、ステップS208で取得された検索結果を出力する。その後、ステップS201に戻る。 (Step S209) The search result output unit 41 outputs the search result acquired in step S208. After that, the process returns to step S201.
 なお、図2のフローチャートにおいて、情報出力装置の電源オンやプログラムの起動に応じて処理が開始し、電源オフや処理終了の割り込みにより処理は終了する。ただし、処理の開始または終了のトリガは問わない。 In the flowchart of FIG. 2, the process starts when the power of the information output device is turned on or the program is started, and the process ends when the power is turned off or an interrupt for the end of the process occurs. However, the trigger for the start or end of processing does not matter.
 図3は、ステップS205のパラメータ取得処理を説明するフローチャートである。 FIG. 3 is a flowchart illustrating the parameter acquisition process in step S205.
 (ステップS301)パラメータ取得部34は、変数iに初期値1をセットする。変数iとは、ステップS204で取得された1または2以上のエンティティのうち、未選択のエンティティを順番に選択していくための変数である。 (Step S301) The parameter acquisition unit 34 sets the initial value 1 in the variable i. The variable i is a variable for sequentially selecting unselected entities from the one or more entities acquired in step S204.
 (ステップS302)パラメータ取得部34は、i番目のエンティティがあるか否かを判別する。i番目のエンティティがあると判断された場合はステップS303に進み、i番目のエンティティがないと判別された場合は上位処理にリターンする。 (Step S302) The parameter acquisition unit 34 determines whether or not there is an i-th entity. If it is determined that there is an i-th entity, the process proceeds to step S303, and if it is determined that there is no i-th entity, the process returns to higher processing.
 (ステップS303)エンティティ名取得手段343は、i番目のエンティティに対応するエンティティ名をエンティティ格納部15から取得する。 (Step S303) The entity name acquisition means 343 acquires the entity name corresponding to the i-th entity from the entity storage unit 15.
 (ステップS304)翻訳項目名取得手段344は、ステップS303で取得されたエンティティ名と対になる翻訳項目名をエンティティマッピング情報格納部16から取得する。 (Step S304) The translation item name acquisition means 344 acquires the translation item name paired with the entity name acquired in step S303 from the entity mapping information storage unit 16.
 (ステップS305)テーブル識別子取得手段345は、ステップS303で取得されたエンティティ名と対になるテーブル識別子をエンティティマッピング情報格納部16から取得する。 (Step S305) The table identifier acquisition means 345 acquires a table identifier paired with the entity name acquired in step S303 from the entity mapping information storage unit 16.
 (ステップS306)主キー識別子取得手段346は、ステップS305で取得されたテーブル識別子と対になる主キー識別子をPK項目格納部17から取得する。 (Step S306) The primary key identifier acquisition means 346 acquires a primary key identifier paired with the table identifier acquired in step S305 from the PK item storage unit 17.
 (ステップS307)判断手段341は、i番目のエンティティが日単語であるか否かを判断する。i番目のエンティティが、日単語であると判断された場合はステップS308に進み、日単語でないと判断された場合はステップS309に進む。 (Step S307) The determination means 341 determines whether or not the i-th entity is a day word. If the i-th entity is determined to be a day word, the process proceeds to step S308, and if it is determined that the entity is not a day word, the process proceeds to step S309.
 (ステップS308)日情報取得手段342は、当該日単語に対応する日変換情報を日変換情報格納部18から取得し、取得した日変換情報を用いて、パラメータである日情報(開始日付,終了日付等)を取得する。 (Step S308) The day information acquisition means 342 acquires the day conversion information corresponding to the day word from the day conversion information storage unit 18, and uses the acquired day conversion information to obtain the parameter day information (start date, end). Get the date etc.).
 (ステップS309)変換パラメータ取得手段347は、ステップS305で取得されたテーブル識別子で識別されるテーブルから、翻訳項目名の属性値が、i番目のエンティティと一致するレコードに含まれる属性値であり、ステップS306で取得された主キー識別子の属性値である、変換されたパラメータ(Shain_code=1,sta_date=20190401,end_date=20190430等)を取得する。 (Step S309) The conversion parameter acquisition means 347 is an attribute value included in the record in which the attribute value of the translation item name matches the i-th entity from the table identified by the table identifier acquired in step S305. The converted parameters (Shain_code = 1, sta_date = 2019041, end_date = 20190430, etc.), which are the attribute values of the primary key identifier acquired in step S306, are acquired.
 (ステップS310)パラメータ取得部34は、変数iをインクリメントする。その後、ステップS302に戻る。 (Step S310) The parameter acquisition unit 34 increments the variable i. After that, the process returns to step S302.
 以下、本実施の形態における情報出力装置の具体的な動作例について説明する。なお、以下の説明は、種々の変更が可能であり、本発明の範囲を何ら制限するものではない。 Hereinafter, a specific operation example of the information output device according to the present embodiment will be described. The following description can be changed in various ways and does not limit the scope of the present invention.
 本例における情報出力装置は、スタンドアロンの端末である。情報出力装置のテーブル格納部11には、例えば、図4に示すような3つのテーブル情報が格納されている。図4は、テーブル情報のデータ構造図である。テーブル情報は、テーブル識別子、およびテーブルを有する。格納される各テーブル情報には、ID(例えば、“1”,“2”等)が対応付いている。 The information output device in this example is a stand-alone terminal. For example, three table information as shown in FIG. 4 is stored in the table storage unit 11 of the information output device. FIG. 4 is a data structure diagram of table information. The table information has a table identifier and a table. An ID (for example, "1", "2", etc.) is associated with each stored table information.
 例えば、ID“1”に対応するテーブル情報(以下、テーブル情報1と記す場合がある)は、テーブル識別子“MST_SHAIN”、および第一のテーブル(社員マスタ)を有する。社員マスタには、第一の項目名“SHAIN_CODE”とそれに対応する2以上の値“1”,“2”・・・、および第2の項目名“SHAIN_CODE”とそれに対応する2以上の値“中村一郎”,“大塚二郎”・・・などが登録されている。 For example, the table information corresponding to the ID "1" (hereinafter, may be referred to as table information 1) has a table identifier "MST_SHAIN" and a first table (employee master). In the employee master, the first item name "SHAIN_CODE" and the corresponding two or more values "1", "2" ..., And the second item name "SHAIN_CODE" and the corresponding two or more values " "Ichiro Nakamura", "Jiro Otsuka", etc. are registered.
 また、ID“2”に対応するテーブル情報2は、テーブル識別子“MST_GYOUMU”、および第二のテーブル(業務マスタ)を有する。業務マスタには、第一の項目名“GYOUMU_ID”とそれに対応する2以上の値“a”,“b”・・・、および第2の項目名“GYOUMU_NAME”とそれに対応する2以上の値“A案件”,“B案件”・・・などが登録されている。 Further, the table information 2 corresponding to the ID "2" has a table identifier "MST_GYOUMU" and a second table (business master). In the business master, the first item name "GYOUMU_ID" and the corresponding two or more values "a", "b" ..., And the second item name "GYOUMU_NAME" and the corresponding two or more values " "A project", "B project", etc. are registered.
 さらに、テーブル情報3は、テーブル識別子“TRN_TIME_CARD”、および第三のテーブル(勤務時間テーブル)を有する。勤務時間テーブルには、第一の項目名“TRN_TIME_CARD”とそれに対応する2以上の値“4/1”,“4/1”・・・“4/2”,“4/2”・・・“4/30”,“4/30”・・・、第2の項目名“SHAIN_CODE”とそれに対応する2以上の値“1”,“2”・・・“1”,“2” ・・・“1”,“2”、第3の項目名“ZIKANGAI_TIME”とそれに対応する2以上の値“2”,“1”・・・“1”,“0” ・・・“3”,“2”、第4の項目名“TOTAL_TIME”とそれに対応する2以上の値“10”,“9”・・・“9”,“8” ・・・“11”,“10”、および第5の項目名“GYOUMU_ID”とそれに対応する2以上の値“a”,“b”・・・“a”,“b” ・・・“b”,“b”などが登録されている。 Further, the table information 3 has a table identifier "TRN_TIME_CARD" and a third table (working time table). In the working hours table, the first item name "TRN_TIME_CARD" and the corresponding two or more values "4/1", "4/1" ... "4/2", "4/2" ... "4/30", "4/30" ..., the second item name "SHAIN_CODE" and the corresponding two or more values "1", "2" ... "1", "2" ... -"1", "2", the third item name "ZIKANGAI_TIME" and the corresponding two or more values "2", "1" ... "1", "0" ... "3", " 2 ”, the fourth item name“ TOTAL_TIME ”and the corresponding two or more values“ 10 ”,“ 9 ”・ ・ ・“ 9 ”,“ 8 ”・ ・ ・“ 11 ”,“ 10 ”, and the fifth The item name "GYOUMU_ID" and the corresponding two or more values "a", "b" ... "a", "b" ... "b", "b", etc. are registered.
 インテント格納部12には、例えば、図5に示すような2以上のインテントが格納される。図5は、インテントのデータ構造図である。インテントは、インテント名、およびアクション名を有する。格納される各インテントには、ID(例えば、“1”,“2”等)が対応付いている。 For example, two or more intents as shown in FIG. 5 are stored in the intent storage unit 12. FIG. 5 is a data structure diagram of the intent. The intent has an intent name and an action name. An ID (for example, "1", "2", etc.) is associated with each stored intent.
 例えば、ID“1”に対応するインテント1は、インテント名“残業照会インテント”、およびアクション名“残業時間照会”を有する。また、インテント2は、インテント名“勤務照会データ照会インテント”、およびアクション名“勤務照会データ照会”を有する。 For example, the intent 1 corresponding to the ID "1" has an intent name "overtime inquiry intent" and an action name "overtime hour inquiry". In addition, the intent 2 has an intent name “work inquiry data inquiry intent” and an action name “work inquiry data inquiry”.
 API情報格納部13には、例えば、図6に示すような、アクション名とAPI情報との対の集合が格納される。図6は、API情報格納部13の内容の一例を示す図である。アクション名とAPI情報との対とは、例えば、アクション名“残業時間照会”とAPI情報“serch_残業時間(社員コード,開始日付,終了日付)”との対、アクション名“勤務時間データ照会”とAPI情報“serch_勤務時間(社員コード,業務日付,業務ID)”との対などである。 The API information storage unit 13 stores, for example, a set of pairs of action names and API information as shown in FIG. FIG. 6 is a diagram showing an example of the contents of the API information storage unit 13. The pair of action name and API information is, for example, the pair of action name "overtime hours inquiry" and API information "search_overtime hours (employee code, start date, end date)", and the action name "working hours data inquiry". And the API information "service_working hours (employee code, business date, business ID)".
 コーパス格納部14には、例えば、図7に示すように、1以上の各インテントに対応付けて、1または2以上の会話文情報が格納され、さらに、当該1以上の各会話文情報に対応付けて、1または2以上のエンティティ情報も格納される。図7は、コーパス格納部14の内容の一例を示す図である。エンティティ情報は、エンティティ、開始位置、終了位置、およびエンティティ名を有する。 For example, as shown in FIG. 7, the corpus storage unit 14 stores one or more conversational sentence information in association with each of one or more intents, and further, each one or more conversational sentence information is stored. One or more entity information is also stored in association with each other. FIG. 7 is a diagram showing an example of the contents of the corpus storage unit 14. The entity information has an entity, a start position, an end position, and an entity name.
 例えば、第一のインテント“残業時間照会インテント”には、5つの会話文情報1~5が対応付いている。このうち、会話文情報1は、“中村の先月の残業時間を教えて”であり、会話文情報2は、“先月の中村の残業時間を教えて”であり、会話文情報3は、“中村の残業時間を教えて”であり、会話文情報4は、“先月の残業時間を教えて”であり、会話文情報5は、“残業時間を教えて”である。 For example, the first intent "Overtime time inquiry intent" is associated with five conversational sentence information 1-5. Of these, conversational text information 1 is "tell me the overtime hours of Nakamura last month", conversational text information 2 is "tell me the overtime hours of Nakamura last month", and conversational text information 3 is "tell me the overtime hours of Nakamura last month". "Tell me the overtime hours of Nakamura", the conversational sentence information 4 is "tell me the overtime hours of last month", and the conversational sentence information 5 is "tell me the overtime hours".
 “残業時間照会インテント”に対応付いた会話文情報1には、エンティティ“中村”,開始位置“1”,終了位置“2”,およびエンティティ名“社員エンティティ”を有する第一のエンティティ情報と、エンティティ“先月”,開始位置“4”,終了位置“5”,およびエンティティ名“日付エンティティ”を有する第二のエンティティ情報と、エンティティ“残業時間”,開始位置“7”,終了位置“10”,およびエンティティ名“残業エンティティ”を有する第三のエンティティ情報とが対応付いている。 The conversation text information 1 corresponding to the "overtime hour inquiry intent" includes the first entity information having the entity "Nakamura", the start position "1", the end position "2", and the entity name "employee entity". , Entity "last month", start position "4", end position "5", and second entity information with entity name "date entity", entity "overtime", start position "7", end position "10" , And a third entity information with the entity name “overtime entity”.
 また、会話文情報2には、エンティティ“先月”,開始位置“1”,終了位置“2”,およびエンティティ名“日付エンティティ”を有する第四のエンティティ情報と、エンティティ“中村”,開始位置“4”,終了位置“5”,およびエンティティ名“社員エンティティ”を有する第五のエンティティ情報と、エンティティ“残業時間”,開始位置“7”,終了位置“10”,およびエンティティ名“残業エンティティ”を有する第六のエンティティ情報とが対応付いている。 Further, the conversation text information 2 includes a fourth entity information having an entity "last month", a start position "1", an end position "2", and an entity name "date entity", and an entity "Nakamura", a start position ". Fifth entity information with 4 ”, end position“ 5 ”, and entity name“ employee entity ”, entity“ overtime hours ”, start position“ 7 ”, end position“ 10 ”, and entity name“ overtime entity ” Corresponds to the sixth entity information having.
 また、会話文情報3には、エンティティ“中村”,開始位置“1”,終了位置“2”,およびエンティティ名“社員エンティティ”を有する第七のエンティティ情報と、エンティティ“残業時間”,開始位置“4”,終了位置“7”,およびエンティティ名“残業エンティティ”を有する第八のエンティティ情報とが対応付いている。 Further, the conversation text information 3 includes a seventh entity information having an entity "Nakamura", a start position "1", an end position "2", and an entity name "employee entity", and an entity "overtime hours" and a start position. The eighth entity information having "4", the end position "7", and the entity name "overtime entity" is associated with each other.
 また、会話文情報4には、エンティティ“先月”,開始位置“1”,終了位置“2”,およびエンティティ名“日付エンティティ”を有する第九のエンティティ情報と、エンティティ“残業時間”,開始位置“4”,終了位置“7”,およびエンティティ名“残業エンティティ”を有する第十のエンティティ情報とが対応付いている。 Further, the conversation text information 4 includes a ninth entity information having an entity "last month", a start position "1", an end position "2", and an entity name "date entity", and an entity "overtime hours" and a start position. The tenth entity information having "4", the end position "7", and the entity name "overtime entity" is associated with each other.
 さらに、会話文情報5には、エンティティ“残業時間”,開始位置“1”,終了位置“4”,およびエンティティ名“残業エンティティ”を有する第十一のエンティティ情報が対応付いている。 Further, the conversation text information 5 is associated with eleventh entity information having an entity "overtime hours", a start position "1", an end position "4", and an entity name "overtime entity".
 他方、第二のインテント“勤務時間データ照会インテント”には、例えば、15の会話文情報1~15が対応付いている。このうち、会話文1は、“中村一郎の昨日のA案件の勤務時間を教えて”であり、会話文2は、“中村一郎のA案件の昨日の勤務時間を教えて”であり、最後の会話文15は、“勤務時間を教えて”である。なお、会話文2以下は、会話文1に対し、語順の変更、または一部の語の省略を行った文である。 On the other hand, the second intent "working time data inquiry intent" is associated with, for example, 15 conversational sentence information 1 to 15. Of these, conversation sentence 1 is "Tell me the working hours of Ichiro Nakamura's A project yesterday", and conversation sentence 2 is "Tell me the working hours of Ichiro Nakamura's A project yesterday", and the last Conversational sentence 15 is "Tell me the working hours". In addition, the conversation sentence 2 and the following are sentences in which the word order is changed or some words are omitted from the conversation sentence 1.
 “勤務時間データ照会インテント”に対応付いた会話文情報1には、エンティティ“中村一郎”,開始位置“1”,終了位置“4”,およびエンティティ名“社員エンティティ”を有する第一のエンティティ情報と、エンティティ“昨日”,開始位置“6”,終了位置“7”,およびエンティティ名“日付エンティティ”を有する第二のエンティティ情報と、エンティティ“勤務時間”,開始位置“13”,終了位置“16”,およびエンティティ名“勤務時間エンティティ”を有する第三のエンティティ情報とが対応付いている。なお、会話文2~15の各々にも、同様に構成された1以上のエンティティ情報が対応付いている。 The conversation text information 1 corresponding to the "working time data inquiry intent" is the first entity having the entity "Ichiro Nakamura", the start position "1", the end position "4", and the entity name "employee entity". Second entity information with information and entity "yesterday", start position "6", end position "7", and entity name "date entity", entity "working hours", start position "13", end position Corresponds to "16" and a third entity information having the entity name "working time entity". It should be noted that each of the conversation sentences 2 to 15 is associated with one or more entity information similarly configured.
 エンティティ格納部15には、例えば、図8に示すように、1以上の各エンティティ名に対応付けて、1または2以上のエンティティが格納される。図8は、各エンティティ名に対応する1以上のエンティティ(以下、エンティティ群と記す場合がある)の例を示す図である。 In the entity storage unit 15, for example, as shown in FIG. 8, one or two or more entities are stored in association with each one or more entity names. FIG. 8 is a diagram showing an example of one or more entities (hereinafter, may be referred to as an entity group) corresponding to each entity name.
 例えば、エンティティ名“社員エンティティ”に対応するエンティティ群は、“中村一郎”,“大塚二郎”などを含む。エンティティ名“日付エンティティ”に対応するエンティティ群は、“先月”,“昨日”などを含む。エンティティ名“残業エンティティ”に対応するエンティティ群は、“残業時間”,“残業”などを含む。エンティティ名“業務エンティティ”に対応するエンティティ群は、“A案件”,“B案件”などを含む。エンティティ名“勤務時間エンティティ”に対応するエンティティ群は、“勤務時間”,“勤務”などを含む。 For example, the entity group corresponding to the entity name "employee entity" includes "Ichiro Nakamura", "Jiro Otsuka" and the like. The entity group corresponding to the entity name "date entity" includes "last month", "yesterday" and the like. The entity group corresponding to the entity name "overtime entity" includes "overtime hours", "overtime" and the like. The entity group corresponding to the entity name "business entity" includes "A matter", "B matter" and the like. The entity group corresponding to the entity name "working time entity" includes "working time", "working" and the like.
 エンティティマッピング情報格納部16には、例えば、図9に示すような2以上のエンティティマッピング情報(エンティティマッピング情報1~4など)が格納される。図9は、エンティティマッピング情報のデータ構造図である。エンティティマッピング情報は、テーブル識別子と、翻訳項目名と、エンティティ名とを有する。 The entity mapping information storage unit 16 stores, for example, two or more entity mapping information (entity mapping information 1 to 4, etc.) as shown in FIG. FIG. 9 is a data structure diagram of entity mapping information. The entity mapping information has a table identifier, a translation item name, and an entity name.
 なお、エンティティマッピング情報1~3については、前述したので繰り返さない。エンティティマッピング情報4は、テーブル識別子“MST_GYOUMU”と、翻訳項目名“GYOUMU_ID”と、エンティティ名“業務エンティティ”とを有する。 Note that entity mapping information 1 to 3 will not be repeated as described above. The entity mapping information 4 has a table identifier "MST_GYOUMU", a translation item name "GYOUMU_ID", and an entity name "business entity".
 PK項目格納部17には、例えば、図10に示すような、2以上のPK項目(PK項目1~4など)が格納される。図10は、PK項目のデータ構造図である。PK項目は、テーブル識別子と、主キー識別子とを有する。なお、PK項目1~4については、前述したので繰り返さない。 For example, two or more PK items (PK items 1 to 4, etc.) are stored in the PK item storage unit 17, as shown in FIG. FIG. 10 is a data structure diagram of PK items. The PK item has a table identifier and a primary key identifier. Since PK items 1 to 4 have been described above, they will not be repeated.
 日変換情報格納部18には、日単語と日情報取得情報との対の集合(図示しない)が格納される。日単語と日情報取得情報との対とは、例えば、日単語「先月」と日情報取得情報1との対、日単語「昨日」と日情報取得情報2との対などである。例えば、日単語「先月」に対応する日情報取得情報1は、現在時刻情報を取得し、当該現在時刻情報が有する月に対して前の月を取得し、当該前の月のカレンダー情報を参照して、当該前の月の初日から末日までの日情報を取得するプログラムである。日単語「昨日」に対応する日情報取得情報2は、現在時刻情報を取得し、当該現在時刻情報が有する日の前の日の日情報を取得するメソッドである。 The day conversion information storage unit 18 stores a set (not shown) of pairs of day words and day information acquisition information. The pair of the day word and the day information acquisition information is, for example, a pair of the day word "last month" and the day information acquisition information 1, a pair of the day word "yesterday" and the day information acquisition information 2, and the like. For example, the day information acquisition information 1 corresponding to the day word "last month" acquires the current time information, acquires the previous month with respect to the month held by the current time information, and refers to the calendar information of the previous month. Then, it is a program to acquire the day information from the first day to the last day of the previous month. The day information acquisition information 2 corresponding to the day word "yesterday" is a method of acquiring the current time information and acquiring the day information of the day before the day held by the current time information.
 現在時刻は、2019年5月10日11時15分である。いま、ユーザが端末に対して「大塚の先月の残業時間を教えて」を音声入力したとする。 The current time is 11:15 on May 10, 2019. Now, suppose that the user voice-inputs "Tell me about Otsuka's overtime hours last month" to the terminal.
 情報出力装置において、音声受付手段211がマイクロフォンを介して上記音声を受け付け、音声認識手段212は、当該音声に対して音声認識処理を行い、会話文「大塚の先月の残業時間を教えて」を取得する。 In the information output device, the voice receiving means 211 receives the above voice via the microphone, and the voice recognition means 212 performs voice recognition processing on the voice and sends a conversation sentence "Tell me about Otsuka's overtime hours last month". get.
 インテント決定部31は、インテント格納部12に格納されている2以上のインテント1,2・・・の中から、当該会話文に対応するインテントを決定する。詳しくは、インテント決定部31は、例えば、形態素解析によって、当該会話文から3つの自立語「大塚」、「先月」および「残業時間」を取得し、各自立語をキーにインテント格納部12を検索して、「残業時間」と部分一致するアクション名“残業時間参照”を有するインテント1を決定する。 The intent determination unit 31 determines the intent corresponding to the conversation sentence from the two or more intents 1, 2, ... Stored in the intent storage unit 12. Specifically, the intent determination unit 31 acquires three independent words "Otsuka", "last month" and "overtime hours" from the conversation sentence by, for example, morphological analysis, and uses each independent word as a key to store the intent. 12 is searched to determine an intent 1 having an action name “overtime hours reference” that partially matches “overtime hours”.
 会話文情報決定部32は、コーパス格納部14(図7)を参照して、決定されたインテント1に対応する5つの会話文情報1~5の中から、当該会話文に最も近似する会話文情報を決定する。ここでは、当該会話文に対して、開始位置“1”および終了位置“2”で特定される社員エンティティである「中村」のみが異なり、その他のエンティティは同じである会話文情報1が決定される。 The conversation sentence information determination unit 32 refers to the corpus storage unit 14 (FIG. 7), and has a conversation that most closely resembles the conversation sentence from among the five conversation sentence information 1 to 5 corresponding to the determined intent 1. Determine sentence information. Here, the conversation sentence information 1 is determined, in which only the employee entity "Nakamura" specified by the start position "1" and the end position "2" is different from the conversation sentence, and the other entities are the same. Employee.
 エンティティ取得部33は、決定された会話文情報1に対応付いている3つのエンティティ「中村」、「先月」、および「残業時間」に対応するエンティティであり、当該会話文が有する3のエンティティである「大塚」、「先月」、および「残業時間」をエンティティ格納部15から取得する。 The entity acquisition unit 33 is an entity corresponding to the three entities "Nakamura", "last month", and "overtime hours" corresponding to the determined conversation sentence information 1, and is the three entities possessed by the conversation sentence. A certain "Otsuka", "last month", and "overtime hours" are acquired from the entity storage unit 15.
 詳しくは、会話文情報決定部32は、会話文情報1に対応する第一~第三の3つのエンティティ情報のうち、第一のエンティティ情報を参照して、当該会話文中の開始位置“1”および終了位置“2”で特定される「大塚」が社員エンティティであると判断する。次に、会話文情報決定部32は、エンティティ格納部15を参照して、エンティティ名「社員エンティティ」に対応するエンティティ群から、“大塚”と部分一致するエンティティ「大塚二郎」を取得する。 Specifically, the conversation sentence information determination unit 32 refers to the first entity information among the first to third entity information corresponding to the conversation sentence information 1, and starts the start position “1” in the conversation sentence. And it is determined that "Otsuka" specified by the end position "2" is an employee entity. Next, the conversation sentence information determination unit 32 refers to the entity storage unit 15 and acquires the entity "Otsuka Jiro" that partially matches "Otsuka" from the entity group corresponding to the entity name "employee entity".
 また、会話文情報決定部32は、第二のエンティティ情報を参照して、当該会話文中の開始位置“4”および終了位置“5”で特定される「先月」が日付エンティティであると判断し、エンティティ名「日付エンティティ」に対応するエンティティ群から、“先月”と完全一致するエンティティ「先月」を取得する。 Further, the conversation sentence information determination unit 32 refers to the second entity information and determines that the "last month" specified by the start position "4" and the end position "5" in the conversation sentence is the date entity. , Get the entity "last month" that exactly matches "last month" from the entity group corresponding to the entity name "date entity".
 さらに、会話文情報決定部32は、第三のエンティティ情報を参照して、当該会話文中の開始位置“7”および終了位置“10”で特定される「残業時間」が残業エンティティであると判断し、エンティティ名「残業エンティティ」に対応するエンティティ群から、“残業時間”と完全一致するエンティティ「残業時間」を取得する。 Further, the conversation sentence information determination unit 32 determines that the “overtime hours” specified by the start position “7” and the end position “10” in the conversation sentence is the overtime entity by referring to the third entity information. Then, from the entity group corresponding to the entity name "overtime entity", the entity "overtime hours" that exactly matches the "overtime hours" is acquired.
 こうして、当該会話文に対応する3のエンティティ「大塚二郎」、「先月」、および「残業時間」が取得されると、パラメータ取得部34は、当該3つのエンティティに対応する3つのパラメータを取得する。 In this way, when the three entities "Jiro Otsuka", "last month", and "overtime hours" corresponding to the conversation sentence are acquired, the parameter acquisition unit 34 acquires the three parameters corresponding to the three entities. ..
 詳しくは、まず、1番目のエンティティ「大塚二郎」に関し、パラメータ取得部34を構成するエンティティ名取得手段343が、第一のエンティティ情報を用いて、エンティティ名「社員エンティティ」をエンティティ格納部15から取得する。次に、翻訳項目名取得手段344は、取得されたエンティティ名「社員エンティティ」と対になる翻訳項目名「SHAIN_NAME」をエンティティマッピング情報格納部16からエンティティマッピング情報1を用いて取得する。また、テーブル識別子取得手段345は、取得されたエンティティ名「社員エンティティ」と対になるテーブル識別子“MST_SHAIN”をエンティティマッピング情報格納部16からエンティティマッピング情報1を用いて取得する。 Specifically, first, regarding the first entity "Jiro Otsuka", the entity name acquisition means 343 constituting the parameter acquisition unit 34 uses the first entity information to transfer the entity name "employee entity" from the entity storage unit 15. get. Next, the translation item name acquisition means 344 acquires the translation item name “SHAIN_NAME” paired with the acquired entity name “employee entity” from the entity mapping information storage unit 16 using the entity mapping information 1. Further, the table identifier acquisition means 345 acquires the table identifier "MST_SHAIN" paired with the acquired entity name "employee entity" from the entity mapping information storage unit 16 using the entity mapping information 1.
 次に、主キー識別子取得手段346は、取得されたテーブル識別子“MST_SHAIN”と対になる主キー識別子“SHAIN_CODE”を、PK項目格納部17からPK項目1を用いて取得する。また、判断手段341は、1番目のエンティティ「大塚」が日単語でないと判断し、それに応じて、変換パラメータ取得手段347は、取得されたテーブル識別子“MST_SHAIN”で識別されるテーブル(社員マスタ)から、翻訳項目名「SHAIN_NAME」の属性値が、1番目のエンティティ「大塚二郎」と一致するレコードに含まれる属性値であり、取得された主キー識別子“SHAIN_CODE”の属性値である、1つ目の変換されたパラメータ“shain_code=2”を取得する。 Next, the primary key identifier acquisition means 346 acquires the primary key identifier "SHAIN_CODE" paired with the acquired table identifier "MST_SHAIN" from the PK item storage unit 17 using the PK item 1. Further, the determination means 341 determines that the first entity "Otsuka" is not a Japanese word, and the conversion parameter acquisition means 347 corresponds to the table (employee master) identified by the acquired table identifier "MST_SHAIN". Therefore, the attribute value of the translation item name "SHAIN_NAME" is the attribute value included in the record matching the first entity "Jiro Otsuka", and is the attribute value of the acquired primary key identifier "SHAIN_CODE". Acquires the converted parameter "shain_code = 2" of the eye.
 次に、2番目のエンティティ「先月」に関し、エンティティ名取得手段343が、「先月」に対応するエンティティ名「日付エンティティ」を取得し、翻訳項目名取得手段344は、取得されたエンティティ名「日付エンティティ」と対になる翻訳項目名「TIME_CARD_DATE」をエンティティマッピング情報2を用いて取得する。テーブル識別子取得手段345は、取得されたエンティティ名「日付エンティティ」と対になるテーブル識別子“TRN_TIME_CARD”をエンティティマッピング情報格納部16からエンティティマッピング情報2を用いて取得する。 Next, regarding the second entity "last month", the entity name acquisition means 343 acquires the entity name "date entity" corresponding to the "last month", and the translation item name acquisition means 344 acquires the acquired entity name "date". The translation item name "TIME_CARD_DATE" paired with "entity" is acquired by using the entity mapping information 2. The table identifier acquisition means 345 acquires the table identifier “TRN_TIME_CARD” paired with the acquired entity name “date entity” from the entity mapping information storage unit 16 using the entity mapping information 2.
 次に、主キー識別子取得手段346は、取得されたテーブル識別子“TRN_TIME_CARD”と対になる2つの主キー識別子“SHAIN_CODE”および“TIME_CARD_DATE”を、2つのPK項目2および3を用いて取得する。判断手段341は、2番目のエンティティ「先月」が日単語であると判断し、これに応じて、日情報取得手段342が、当該日単語「先月」に対応する日変換情報を日変換情報格納部18から取得し、取得した日変換情報を用いて、日情報“4/1~4/30”を取得する。 Next, the primary key identifier acquisition means 346 acquires two primary key identifiers "SHAIN_CODE" and "TIME_CARD_DATE" that are paired with the acquired table identifier "TRN_TIME_CARD" using the two PK items 2 and 3. The determination means 341 determines that the second entity "last month" is a day word, and in response to this, the day information acquisition means 342 stores the day conversion information corresponding to the day word "last month". The day information "4/1 to 4/30" is acquired by using the acquired day conversion information acquired from the unit 18.
 詳しくは、日情報取得手段342は、内蔵時計等から現在時刻情報“2019年5月10日11時15分”を取得し、現在時刻情報が有する“5月”の前の月である4月のカレンダー情報を参照して、開始日付“4/1”から終了日付“4/30”までの30日を示す日情報“4/1~4/30”を取得する。 Specifically, the day information acquisition means 342 acquires the current time information "May 10, 2019 11:15" from the built-in clock or the like, and April, which is the month before "May" in the current time information. With reference to the calendar information of, the day information "4/1 to 4/30" indicating 30 days from the start date "4/1" to the end date "4/30" is acquired.
 変換パラメータ取得手段347は、取得されたテーブル識別子“TRN_TIME_CARD”で識別されるテーブル(勤務時間テーブル)から、翻訳項目名「TIME_CARD_DATE」の属性値が、2番目のエンティティ「先月」に対応する開始日付“4/1”および終了日付“4/30”と一致するレコードに含まれる属性値であり、取得された2つの主キー識別子“SHAIN_CODE”および“TIME_CARD_DATE”の属性値である、2つ目および3つ目の変換されたパラメータ“sta_date=20190401”および“end_date=20190430”を取得する。 The conversion parameter acquisition means 347 has a start date in which the attribute value of the translation item name "TIME_CARD_DATE" corresponds to the second entity "last month" from the table (working time table) identified by the acquired table identifier "TRN_TIME_CARD". The second and the attribute values included in the records that match "4/1" and the end date "4/30", which are the attribute values of the two acquired primary key identifiers "SHAIN_CODE" and "TIME_CARD_DATE". The third converted parameters "sta_date = 2019041" and "end_date = 20190430" are acquired.
 次に、3番目のエンティティ「残業時間」に関し、エンティティ名取得手段343が、「残業時間」に対応するエンティティ名「残業エンティティ」を取得し、翻訳項目名取得手段344は、取得されたエンティティ名「残業エンティティ」と対になる翻訳項目名「ZIKANGAI_TIME」をエンティティマッピング情報3を用いて取得する。また、テーブル識別子取得手段345は、取得されたエンティティ名「残業エンティティ」と対になるテーブル識別子“TRN_TIME_CARD”をエンティティマッピング情報3を用いて取得する。 Next, regarding the third entity "overtime hours", the entity name acquisition means 343 acquires the entity name "overtime entity" corresponding to the "overtime hours", and the translation item name acquisition means 344 acquires the acquired entity name. The translation item name "ZIKANGAI_TIME" paired with "overtime entity" is acquired by using the entity mapping information 3. Further, the table identifier acquisition means 345 acquires the table identifier "TRN_TIME_CARD" paired with the acquired entity name "overtime entity" by using the entity mapping information 3.
 なお、取得されたテーブル識別子“TRN_TIME_CARD”と対になる2つの主キー識別子“SHAIN_CODE”および“TIME_CARD_DATE”は、取得済みであるため、主キー識別子取得手段346は、通常、これらを取得しないが、再度取得してもよい。 Since the two primary key identifiers "SHAIN_CODE" and "TIME_CARD_DATE" paired with the acquired table identifier "TRN_TIME_CARD" have already been acquired, the primary key identifier acquisition means 346 normally does not acquire them. You may get it again.
 また、判断手段341は、3番目のエンティティ「残業時間」が日単語でないと判断し、変換パラメータ取得手段347は、取得されたテーブル識別子“TRN_TIME_CARD”で識別される勤務時間テーブルが有する翻訳項目名「ZIKANGAI_TIME」に対応する、4つ目の変換されたパラメータ“zikangai_time”を取得する。 Further, the determination means 341 determines that the third entity "overtime hours" is not a day word, and the conversion parameter acquisition means 347 has a translation item name of the working hours table identified by the acquired table identifier "TRN_TIME_CARD". Acquire the fourth converted parameter "zikangai_time" corresponding to "ZIKANGAI_TIME".
 こうして、当該会話文「大塚の先月の残業時間を教えて」に対応する4つのパラメータ“shain_code=2”,“sta_date=20190401”,“end_date=20190430”および“zikangai_time”が取得されると、API情報取得部35は、決定されたインテント1が有するアクション名“残業時間照会”に対応するAPI情報“serch_残業時間(社員コード,開始日付,終了日付)”をAPI情報格納部13から取得する。 In this way, when the four parameters "shain_code = 2", "sta_date = 2019041", "end_date = 20190430" and "zikangai_time" corresponding to the conversation sentence "Tell me about the overtime hours of Otsuka last month" are acquired, the API The information acquisition unit 35 acquires the API information “sent_overtime hours (employee code, start date, end date)” corresponding to the action name “overtime time inquiry” possessed by the determined intent 1 from the API information storage unit 13. ..
 問合情報構成部36は、取得された上記4つのパラメータを、取得されたAPI情報“serch_残業時間(社員コード,開始日付,終了日付)”の対応する変数に代入することにより、問合情報“serch_zikangai_time(shain_code=2,sta_date=20190401,end_date=20190430”を構成する。 The inquiry information configuration unit 36 substitutes the acquired four parameters into the corresponding variables of the acquired API information "search_overtime hours (employee code, start date, end date)" to obtain inquiry information. It constitutes "service_zikangai_time (shain_code = 2, sta_date = 2019041, end_date = 20190430".
 検索部37は、構成された問合情報を実行し、検索結果を取得する。ここでは、テーブル識別子“TRN_TIME_CARD”で識別される残業時間テーブルから、項目名“TIME_CARD_DATE”の値が“4/1”~“4/30”であり、かつSHAIN_CODEの値が“2”である30個のレコードから、項目名“ZIKANGAI_TIME”に対応する30個の値“1,0,・・・2”が取得され、当該30個の値を合計した検索結果“20時間”が取得される。 The search unit 37 executes the configured inquiry information and acquires the search result. Here, from the overtime hours table identified by the table identifier "TRN_TIME_CARD", the value of the item name "TIME_CARD_DATE" is "4/1" to "4/30", and the value of SHAIN_CODE is "2" 30. From the records, 30 values "1,0, ... 2" corresponding to the item name "ZIKANGAI_TIME" are acquired, and the search result "20 hours" which is the sum of the 30 values is acquired.
 検索結果出力部41は、取得された検索結果“20時間”を含む応答文を出力する。出力される応答文は、例えば、“20時間です”や“大塚様の4月の残業時間は20時間です”等であってもよい。詳しくは、例えば、格納部1に、応答文のテンプレートが格納されており、検索結果出力部41は、当該テンプレートの変数に、上記の検索結果“20時間”、上記会話文から取得された“大塚”、および検索の過程で取得された“4月”などを代入することによって、応答文を構成してもよい。 The search result output unit 41 outputs a response sentence including the acquired search result "20 hours". The output response text may be, for example, "20 hours" or "Otsuka-sama's overtime hours in April is 20 hours". Specifically, for example, the template of the response sentence is stored in the storage unit 1, and the search result output unit 41 sets the variable of the template to the above search result "20 hours" and "obtained from the conversation sentence". The response sentence may be constructed by substituting "Otsuka" and "April" obtained in the search process.
 なお、詳細な説明は省略するが、会話文「大塚二郎のA案件の昨日の勤務時間を教えて」に対しては、例えば、4つのパラメータ“shain_code=2”,“time_card_date=20190509”,“gyoumu_id=a”,および“total_time”が取得され、問合情報“serch_total_time(shain_code=2,time_card_date=20190509,gyoumu_id=a”が構成されてもよい。 Although detailed explanation is omitted, for the conversational sentence "Tell me yesterday's working hours of A project of Jiro Otsuka", for example, four parameters "shain_code = 2", "time_card_date = 20190509", " "Gyoumu_id = a" and "total_time" may be acquired, and the inquiry information "sent_total_time (sent_code = 2, time_card_date = 20109009, gyoumu_id = a" may be configured.
 (変形例1)
 なお、API情報がSQL文“select_残業時間_from_テーブル名_where_社員コード,業務日付”である場合、パラメータ取得部34は、4つのパラメータ“shain_code=2”,“time_caed_date=20190509”,“trn_time_card”,および“zikangai_time”を取得し、問合情報構成部36は、問合情報“select_zikangai_time_from_trn_time_card_where_shain_code=2,time_caed_date=20190509”を構成してもよい。
(Modification example 1)
When the API information is the SQL statement "select_overtime_from_table name_where_employee code, business date", the parameter acquisition unit 34 has four parameters "shain_code = 2", "time_caed_date = 20190509", "trn_time_card", And "zikangai_time" may be acquired, and the inquiry information configuration unit 36 may configure the inquiry information "select_zikangai_time_from_trans_time_card_where_shain_code = 2, time_caed_date = 20190509".
 (変形例2)
 なお、API情報がURLおよびメソッドの組“http://develop.soppra・・・?社員コード&開始日付&終了日付”である場合、パラメータ取得部34は、4つのパラメータ“shain_code=2”,“sta_date=20190401”,“end_date=20190430”,および“zikangai_time”を取得し、問合情報構成部36は、問合情報“http://develop.soppra・・・?shain_code=2&sta_date=20190401&end_date=20190430”を構成してもよい。
(Modification 2)
When the API information is a set of URL and method "http://develop.soppra ...? Employee code & start date & end date", the parameter acquisition unit 34 has four parameters "shain_code = 2", Acquiring "sta_date = 20190401", "end_date = 20190430", and "zikangai_time", the inquiry information component 36 receives the inquiry information "http://develop.soppra ...? Shan_code = 2 & start_date = 2019041 & May be configured.
 以上、本実施の形態によれば、インテント格納部12に、業務処理ごとに管理される情報であり、業務処理を特定するアクション名を有する情報である1以上のインテントが格納され、API情報格納部13に、インテントに対応付いている情報であり、情報検索を行うための情報であり、1以上の変数であるパラメータを特定する情報を有する情報である1以上のAPI情報が格納され、コーパス格納部14に、インテントに対応付く情報であり、会話文の情報である1以上の会話文情報が格納され、エンティティ格納部15に、いずれか1以上の会話文情報に対応付く単語である1以上のエンティティが格納され、情報出力装置は、会話文を受け付け、受け付けた会話文に対応するインテントを決定し、決定したインテントに対応する1以上の会話文情報の中から、受け付けた会話文に最も近似する会話文情報を決定し、決定した会話文情報に対応付いている1以上の各エンティティに対応し、受け付けた会話文が有する単語である1以上のエンティティを取得し、取得した1以上の各エンティティに対応する1以上のパラメータを取得し、決定したインテントに対応するAPI情報をAPI情報格納部13から取得し、取得した1以上のパラメータと、取得したAPI情報とを用いて、情報検索するための問合情報を構成し、構成した問合情報を実行し、検索結果を取得し、取得した検索結果を出力することにより、同じ検索結果を求める問合せでも動的に変化する会話文を受け付け、情報検索することができる。 As described above, according to the present embodiment, one or more intents, which are information managed for each business process and have an action name for specifying the business process, are stored in the intent storage unit 12, and the API is The information storage unit 13 stores one or more API information, which is information corresponding to the intent, information for performing an information search, and information having information for specifying a parameter which is one or more variables. The corpus storage unit 14 stores one or more conversational sentence information which is information corresponding to the intent and is conversational sentence information, and the entity storage unit 15 corresponds to any one or more conversational sentence information. One or more entities that are words are stored, and the information output device receives the conversation sentence, determines the intent corresponding to the received conversation sentence, and from the one or more conversation sentence information corresponding to the determined intent. , Determines the conversational sentence information that most closely resembles the received conversational sentence, corresponds to one or more entities corresponding to the determined conversational sentence information, and acquires one or more entities that are words of the received conversational sentence. Then, one or more parameters corresponding to one or more acquired entities are acquired, API information corresponding to the determined intent is acquired from the API information storage unit 13, and the acquired one or more parameters and the acquired API are acquired. Even in a query that asks for the same search result by constructing inquiry information for information search using information, executing the configured inquiry information, acquiring search results, and outputting the acquired search results. It is possible to accept dynamically changing conversational sentences and search for information.
 また、情報出力装置は、受け付けた会話文に対応するテキストを取得し、テキストから1以上の自立語を取得し、1以上の自立語と同一または類似する単語を有するアクション名を有するインテントを決定することにより、同じ検索結果を求める問合せでも動的に変化する会話文を受け付け、情報検索することができる。 Further, the information output device acquires the text corresponding to the received conversational sentence, acquires one or more independent words from the text, and creates an intent having an action name having a word that is the same as or similar to one or more independent words. By making a decision, it is possible to accept dynamically changing conversational sentences and search for information even with a query requesting the same search result.
 また、日変換情報格納部18に、日に関する単語である日単語と、日単語に対応する日に関する情報であり、問合情報を構成する際に使用する情報である日情報を取得するための日情報取得情報とを有する1以上の日変換情報が格納され、情報出力装置は、取得した1以上のエンティティの中の日単語に対応する日変換情報を日変換情報格納部18から取得し、日変換情報を用いて、パラメータである日情報を取得することにより、同じ検索結果を求める問合せでも動的に変化する会話文を受け付け、適切に情報検索することができる。 Further, in the day conversion information storage unit 18, the day word which is a word related to the day and the day information which is the information about the day corresponding to the day word and which is the information used when constructing the inquiry information is acquired. One or more day conversion information having the day information acquisition information is stored, and the information output device acquires the day conversion information corresponding to the day word in the acquired one or more entities from the day conversion information storage unit 18. By acquiring the parameter day information using the day conversion information, it is possible to accept dynamically changing conversational sentences even in a query for the same search result, and to appropriately search for information.
 なお、上記構成において、情報出力装置は、取得した1以上のエンティティの中に日単語が存在するか否かを判断し、日単語が存在すると判断した場合に、日単語に対応する日変換情報を日変換情報格納部18から取得し、日変換情報を用いて、パラメータである日情報を取得してもよい。これにより、日単語の有無によらず、同じ検索結果を求める問合せでも動的に変化する会話文を受け付け、適切に情報検索することができる。 In the above configuration, the information output device determines whether or not the day word exists in the acquired one or more entities, and if it determines that the day word exists, the day conversion information corresponding to the day word. May be acquired from the day conversion information storage unit 18, and the day information which is a parameter may be acquired by using the day conversion information. As a result, it is possible to accept dynamically changing conversational sentences even in a query for the same search result regardless of the presence or absence of a Japanese word, and to appropriately search for information.
 また、エンティティ格納部15のエンティティは、エンティティの名称であるエンティティ名に対応付いており、エンティティマッピング情報格納部16に、テーブルを特定するテーブル識別子と、テーブル識別子で識別されるテーブル内の属性名であり、変換されるエンティティを特定する情報である翻訳項目名と、エンティティ名とを有する1以上のエンティティマッピング情報が格納され、PK項目格納部17に、テーブル識別子とテーブル識別子で識別されるテーブルの主キーを特定する主キー識別子とを有する1以上のPK項目が格納され、情報出力装置は、取得したエンティティに対応するエンティティ名を取得し、取得したエンティティ名と対になる翻訳項目名をエンティティマッピング情報格納部16から取得し、取得したエンティティ名と対になるテーブル識別子をエンティティマッピング情報格納部16から取得し、取得したテーブル識別子と対になる主キー識別子をPK項目格納部17から取得し、取得したテーブル識別子で識別されるテーブルから、取得した翻訳項目名の属性値が、取得したエンティティと一致するレコードに含まれる属性値であり、取得した主キー識別子の属性値である変換されたパラメータを取得することにより、同じ検索結果を求める問合せでも動的に変化する会話文を受け付け、適切に情報検索することができる。 Further, the entity of the entity storage unit 15 corresponds to the entity name which is the name of the entity, and the entity mapping information storage unit 16 has a table identifier for specifying the table and an attribute name in the table identified by the table identifier. A table in which one or more entity mapping information having a translation item name and an entity name, which is information for identifying the entity to be converted, is stored, and is identified by a table identifier and a table identifier in the PK item storage unit 17. One or more PK items having a primary key identifier that identifies the primary key of are stored, and the information output device acquires the entity name corresponding to the acquired entity and obtains the translation item name paired with the acquired entity name. The table identifier that is acquired from the entity mapping information storage unit 16 and is paired with the acquired entity name is acquired from the entity mapping information storage unit 16, and the primary key identifier that is paired with the acquired table identifier is acquired from the PK item storage unit 17. Then, from the table identified by the acquired table identifier, the attribute value of the acquired translation item name is the attribute value included in the record that matches the acquired entity, and is the attribute value of the acquired primary key identifier. By acquiring the parameters, it is possible to accept dynamically changing conversational sentences even with a query for the same search result, and to search for information appropriately.
 また、情報出力装置は、取得したAPI情報が有する1以上の各変数の箇所に、各箇所に対応付くパラメータであり、取得したパラメータを配置し、問合情報を構成することにより、同じ検索結果を求める問合せでも動的に変化する会話文を受け付け、情報検索することができる。 Further, the information output device is a parameter corresponding to each place in each place of one or more variables possessed by the acquired API information, and the same search result is obtained by arranging the acquired parameters and constructing the inquiry information. It is possible to search for information by accepting dynamically changing conversational sentences even when inquiring about.
 また、情報出力装置は、会話文の音声を受け付け、音声に対して音声認識処理を行い、文字列である会話文を取得することにより、同じ検索結果を求める問合せでも動的に変化する音声による会話文を受け付け、情報検索することができる。 In addition, the information output device receives the voice of the conversational sentence, performs voice recognition processing on the voice, and acquires the conversational sentence which is a character string, so that even a query for the same search result can be dynamically changed by the voice. You can accept conversational sentences and search for information.
 さらに、本実施の形態における処理は、ソフトウェアで実現してもよい。そして、このソフトウェアをソフトウェアダウンロード等により配布してもよい。また、このソフトウェアをCD-ROMなどの記録媒体に記録して流布してもよい。なお、このことは、本明細書における他の実施の形態においても該当する。 Further, the processing in the present embodiment may be realized by software. Then, this software may be distributed by software download or the like. Further, this software may be recorded on a recording medium such as a CD-ROM and disseminated. It should be noted that this also applies to other embodiments herein.
 なお、本実施の形態における情報出力装置を実現するソフトウェアは、例えば、以下のようなプログラムである。つまり、このプログラムは、業務処理ごとに管理される情報であり、業務処理を特定するアクション名を有する情報である1以上のインテントが格納されるインテント格納部12、インテントに対応付いている情報であり、情報検索を行うための情報であり、1以上の変数であるパラメータを特定する情報を有する情報である1以上のAPI情報が格納されるAPI情報格納部13、インテントに対応付く情報であり、会話文の情報である1以上の会話文情報が格納されるコーパス格納部14、およびいずれか1以上の会話文情報に対応付く単語である1以上のエンティティが格納されるエンティティ格納部15にアクセス可能なコンピュータを、会話文を受け付ける会話文受付部21と、前記会話文受付部21が受け付けた会話文に対応するインテントを決定するインテント決定部31と、前記インテント決定部31が決定したインテントに対応する1以上の会話文情報の中から、前記会話文受付部21が受け付けた会話文に最も近似する会話文情報を決定する会話文情報決定部32と、前記会話文情報決定部32が決定した会話文情報に対応付いている1以上の各エンティティに対応し、前記会話文受付部21が受け付けた会話文が有する単語である1以上のエンティティを取得するエンティティ取得部33と、前記エンティティ取得部33が取得した1以上の各エンティティに対応する1以上のパラメータを取得するパラメータ取得部34と、前記インテント決定部31が決定したインテントに対応するAPI情報を前記API情報格納部13から取得するAPI情報取得部35と、前記パラメータ取得部34が取得した1以上のパラメータと、前記API情報取得部35が取得したAPI情報とを用いて、情報検索するための問合情報を構成する問合情報構成部36と、前記問合情報構成部36が構成した問合情報を実行し、検索結果を取得する検索部37と、前記検索部37が取得した検索結果を出力する検索結果出力部41として機能させるためのプログラムである。 The software that realizes the information output device in this embodiment is, for example, the following program. That is, this program corresponds to the intent storage unit 12 and the intent that store one or more intents that are information managed for each business process and have an action name that specifies the business process. Corresponds to the API information storage unit 13 and the intent in which one or more API information is stored, which is information that exists, is information for performing an information search, and is information that has information that specifies a parameter that is one or more variables. A corpus storage unit 14 that stores one or more conversational sentence information that is attached information and is conversational sentence information, and an entity that stores one or more entities that are words corresponding to any one or more conversational sentence information. The computer that can access the storage unit 15 has a conversation sentence reception unit 21 that accepts conversation sentences, an intent determination unit 31 that determines an intent corresponding to the conversation sentence received by the conversation sentence reception unit 21, and the intent. From one or more conversational sentence information corresponding to the intent determined by the determination unit 31, the conversational sentence information determination unit 32 that determines the conversational sentence information most similar to the conversational sentence received by the conversational sentence reception unit 21 Acquires one or more entities that correspond to one or more entities corresponding to the conversational sentence information determined by the conversational sentence information determination unit 32 and are words possessed by the conversational sentence received by the conversational sentence reception unit 21. The entity acquisition unit 33, the parameter acquisition unit 34 that acquires one or more parameters corresponding to one or more entities acquired by the entity acquisition unit 33, and the API corresponding to the intent determined by the intent determination unit 31. Information search using the API information acquisition unit 35 that acquires information from the API information storage unit 13, one or more parameters acquired by the parameter acquisition unit 34, and the API information acquired by the API information acquisition unit 35. The inquiry information configuration unit 36 that constitutes the inquiry information for the purpose, the search unit 37 that executes the inquiry information configured by the inquiry information configuration unit 36 and acquires the search result, and the search unit 37 acquire the information. This is a program for functioning as a search result output unit 41 that outputs the searched result.
 図11は、本実施の形態におけるプログラムを実行して、情報出力装置を実現するコンピュータシステム900の外観図である。本実施の形態は、コンピュータハードウェアおよびその上で実行されるコンピュータプログラムによって実現され得る。図11において、コンピュータシステム900は、ディスクドライブ905を含むコンピュータ901と、キーボード902と、マウス903と、ディスプレイ904と、マイクロフォン917と、スピーカ918とを備える。なお、キーボード902やマウス903やディスプレイ904やマイクロフォン917やスピーカ918をも含むシステム全体をコンピュータと呼んでもよい。 FIG. 11 is an external view of a computer system 900 that executes a program according to the present embodiment to realize an information output device. This embodiment can be realized by computer hardware and a computer program executed on the computer hardware. In FIG. 11, the computer system 900 includes a computer 901 including a disk drive 905, a keyboard 902, a mouse 903, a display 904, a microphone 917, and a speaker 918. The entire system including the keyboard 902, the mouse 903, the display 904, the microphone 917, and the speaker 918 may be called a computer.
 図12は、コンピュータシステム900の内部構成の一例を示す図である。図12において、コンピュータ901は、ディスクドライブ905に加えて、MPU911と、ブートアッププログラム等のプログラムを記憶するためのROM912と、MPU911に接続され、アプリケーションプログラムの命令を一時的に記憶すると共に、一時記憶空間を提供するRAM913と、アプリケーションプログラム、システムプログラム、およびデータを記憶するストレージ914と、MPU911、ROM912等を相互に接続するバス915と、外部ネットワークや内部ネットワーク等のネットワークへの接続を提供するネットワークカード916と、を備える。ストレージ914は、例えば、ハードディスク、SSD、フラッシュメモリなどである。 FIG. 12 is a diagram showing an example of the internal configuration of the computer system 900. In FIG. 12, the computer 901 is connected to the MPU 911, the ROM 912 for storing a program such as a boot-up program, and the MPU 911 in addition to the disk drive 905, and temporarily stores the instructions of the application program and temporarily. It provides a RAM 913 that provides a storage space, a storage 914 that stores application programs, system programs, and data, a bus 915 that interconnects the MPU 911, ROM 912, and the like, and a connection to a network such as an external network or an internal network. It includes a network card 916. The storage 914 is, for example, a hard disk, an SSD, a flash memory, or the like.
 コンピュータシステム900に、情報出力装置の機能を実行させるプログラムは、例えば、DVD、CD-ROM等のディスク921に記憶されて、ディスクドライブ905に挿入され、ストレージ914に転送されてもよい。これに代えて、そのプログラムは、ネットワークを介してコンピュータ901に送信され、ストレージ914に記憶されてもよい。プログラムは、実行の際にRAM913にロードされる。なお、プログラムは、ディスク921、またはネットワークから直接、ロードされてもよい。また、ディスク921に代えて他の着脱可能な記録媒体(例えば、DVDやメモリカード等)を介して、プログラムがコンピュータシステム900に読み込まれてもよい。 A program for causing the computer system 900 to execute the function of the information output device may be stored in a disk 921 such as a DVD or a CD-ROM, inserted into the disk drive 905, and transferred to the storage 914. Alternatively, the program may be transmitted to computer 901 over the network and stored in storage 914. The program is loaded into RAM 913 at run time. The program may be loaded directly from disk 921 or the network. Further, the program may be read into the computer system 900 via another removable recording medium (for example, a DVD, a memory card, etc.) instead of the disk 921.
 プログラムは、コンピュータの詳細を示す901に、情報出力装置の機能を実行させるオペレーティングシステム(OS)、またはサードパーティプログラム等を必ずしも含んでいなくてもよい。プログラムは、制御された態様で適切な機能やモジュールを呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいてもよい。コンピュータシステム900がどのように動作するのかについては周知であり、詳細な説明は省略する。 The program does not necessarily include an operating system (OS) for executing the function of the information output device, a third-party program, or the like in 901 showing the details of the computer. The program may contain only a portion of instructions that call the appropriate function or module in a controlled manner to achieve the desired result. It is well known how the computer system 900 works, and detailed description thereof will be omitted.
 なお、上述したコンピュータシステム900は、サーバまたは据え置き型のPCであるが、情報出力装置は、例えば、タブレット端末やスマートフォンやノートPCといった、携帯端末で実現されてもよい。この場合、例えば、キーボード902およびマウス903はタッチパネルに、ディスクドライブ905はメモリカードスロットに、ディスク921はメモリカードに、それぞれ置き換えられてもよい。ただし、以上は例示であり、情報出力装置を実現するコンピュータのハードウェア構成は問わない。 The computer system 900 described above is a server or a stationary PC, but the information output device may be realized by a mobile terminal such as a tablet terminal, a smartphone, or a notebook PC. In this case, for example, the keyboard 902 and the mouse 903 may be replaced with a touch panel, the disk drive 905 may be replaced with a memory card slot, and the disk 921 may be replaced with a memory card. However, the above is an example, and the hardware configuration of the computer that realizes the information output device does not matter.
 なお、上記プログラムにおいて、情報を送信する送信ステップや、情報を受信する受信ステップなどでは、ハードウェアによって行われる処理、例えば、送信ステップにおけるモデムやインターフェースカードなどで行われる処理(ハードウェアでしか行われない処理)は含まれない。 In the above program, in the transmission step of transmitting information and the receiving step of receiving information, processing performed by hardware, for example, processing performed by a modem or interface card in the transmission step (only performed by hardware). Processing that is not done) is not included.
 また、上記プログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。 Further, the number of computers that execute the above program may be singular or plural. That is, centralized processing may be performed, or distributed processing may be performed.
 また、上記各実施の形態において、一の装置に存在する2以上の通信手段(例えば、受付部2の受信機能、出力部4の送信機能)は、物理的に一の媒体で実現されてもよいことは言うまでもない。 Further, in each of the above embodiments, even if the two or more communication means existing in one device (for example, the reception function of the reception unit 2 and the transmission function of the output unit 4) are physically realized by one medium. Needless to say, it's good.
 また、上記各実施の形態において、各処理(各機能)は、単一の装置(システム)によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。 Further, in each of the above-described embodiments, each process (each function) may be realized by centralized processing by a single device (system), or by distributed processing by a plurality of devices. May be done.
 本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。 It goes without saying that the present invention is not limited to the above embodiments, and various modifications can be made, and these are also included in the scope of the present invention.
 以上のように、本発明にかかる情報出力装置は、同じ検索結果を求める問合せでも動的に変化する会話文を受け付け、情報検索することができるという効果を有し、情報出力装置等として有用である。 As described above, the information output device according to the present invention has the effect of being able to accept dynamically changing conversational sentences and search for information even with an inquiry for the same search result, and is useful as an information output device or the like. is there.

Claims (8)

  1. 業務処理ごとに管理される情報であり、業務処理を特定するアクション名を有する情報である1以上のインテントが格納されるインテント格納部と、
    インテントに対応付いている情報であり、情報検索を行うための情報であり、1以上の変数であるパラメータを特定する情報を有する情報である1以上のAPI情報が格納されるAPI情報格納部と、
    インテントに対応付く情報であり、会話文の情報である1以上の会話文情報が格納されるコーパス格納部と、
    いずれか1以上の会話文情報に対応付く単語である1以上のエンティティが格納されるエンティティ格納部と、
    会話文を受け付ける会話文受付部と、
    前記会話文受付部が受け付けた会話文に対応するインテントを決定するインテント決定部と、
    前記インテント決定部が決定したインテントに対応する1以上の会話文情報の中から、前記会話文受付部が受け付けた会話文に最も近似する会話文情報を決定する会話文情報決定部と、
    前記会話文情報決定部が決定した会話文情報に対応付いている1以上の各エンティティに対応し、前記会話文受付部が受け付けた会話文が有する単語である1以上のエンティティを取得するエンティティ取得部と、
    前記エンティティ取得部が取得した1以上の各エンティティに対応する1以上のパラメータを取得するパラメータ取得部と、
    前記インテント決定部が決定したインテントに対応するAPI情報を前記API情報格納部から取得するAPI情報取得部と、
    前記パラメータ取得部が取得した1以上のパラメータと、前記API情報取得部が取得したAPI情報とを用いて、情報検索するための問合情報を構成する問合情報構成部と、
    前記問合情報構成部が構成した問合情報を実行し、検索結果を取得する検索部と、
    前記検索部が取得した検索結果を出力する検索結果出力部とを具備する情報出力装置。
    An intent storage unit that stores one or more intents that are information managed for each business process and have an action name that identifies the business process.
    An API information storage unit that stores one or more API information that is information associated with an intent, information for information retrieval, and information that has information for specifying a parameter that is one or more variables. When,
    A corpus storage unit that stores one or more conversational sentence information that is information corresponding to the intent and is conversational sentence information.
    An entity storage unit that stores one or more entities that are words corresponding to any one or more conversational sentence information, and
    Conversational sentence reception department that accepts conversational sentences and
    The intent determination unit that determines the intent corresponding to the conversation sentence received by the conversation sentence reception unit, and the intent determination unit.
    From one or more conversational sentence information corresponding to the intent determined by the intent determination unit, the conversational sentence information determination unit that determines the conversational sentence information most similar to the conversational sentence received by the conversational sentence reception unit, and
    Entity acquisition that corresponds to each one or more entities corresponding to the conversational sentence information determined by the conversational sentence information determination unit, and acquires one or more entities that are words of the conversational sentence received by the conversational sentence reception unit. Department and
    A parameter acquisition unit that acquires one or more parameters corresponding to one or more entities acquired by the entity acquisition unit, and a parameter acquisition unit.
    An API information acquisition unit that acquires API information corresponding to the intent determined by the intent determination unit from the API information storage unit, and
    An inquiry information configuration unit that configures inquiry information for information retrieval using one or more parameters acquired by the parameter acquisition unit and API information acquired by the API information acquisition unit.
    A search unit that executes inquiry information configured by the inquiry information configuration unit and acquires search results,
    An information output device including a search result output unit that outputs a search result acquired by the search unit.
  2. 前記インテント決定部は、
    前記会話文受付部が受け付けた会話文に対応するテキストを取得し、当該テキストから1以上の自立語を取得し、当該1以上の自立語と同一または類似する単語を有するアクション名を有するインテントを決定する請求項1記載の情報出力装置。
    The intent determination unit
    An intent having an action name that acquires a text corresponding to a conversation sentence received by the conversation sentence reception unit, acquires one or more independent words from the text, and has a word that is the same as or similar to the one or more independent words. The information output device according to claim 1.
  3. 日に関する単語である日単語と、当該日単語に対応する日に関する情報であり、問合情報を構成する際に使用する情報である日情報を取得するための日情報取得情報とを有する1以上の日変換情報が格納される日変換情報格納部をさらに具備し、
    前記パラメータ取得部は、
    前記エンティティ取得部が取得した1以上のエンティティの中の日単語に対応する日変換情報を前記日変換情報格納部から取得し、当該日変換情報を用いて、パラメータである日情報を取得する請求項1または請求項2記載の情報出力装置。
    One or more having a day word which is a word related to a day and a day information acquisition information for acquiring day information which is information about a day corresponding to the day word and is information used when constructing inquiry information. It also has a day conversion information storage unit that stores the day conversion information of
    The parameter acquisition unit
    A claim for acquiring day conversion information corresponding to a day word in one or more entities acquired by the entity acquisition unit from the day conversion information storage unit, and using the day conversion information to acquire parameter day information. The information output device according to claim 1 or 2.
  4. 前記エンティティ格納部のエンティティは、エンティティの名称であるエンティティ名に対応付いており、
    テーブルを特定するテーブル識別子と、当該テーブル識別子で識別されるテーブル内の属性名であり、変換されるエンティティを特定する情報である翻訳項目名と、エンティティ名とを有する1以上のエンティティマッピング情報が格納されるエンティティマッピング情報格納部と、
    テーブル識別子と当該テーブル識別子で識別されるテーブルの主キーを特定する主キー識別子とを有する1以上のPK項目が格納されるPK項目格納部とをさらに具備し、
    前記パラメータ取得部は、
    前記エンティティ取得部が取得したエンティティに対応するエンティティ名を取得するエンティティ名取得手段と、
    前記エンティティ名取得手段が取得したエンティティ名と対になる翻訳項目名を前記エンティティマッピング情報格納部から取得する翻訳項目名取得手段と、
    前記エンティティ名取得手段が取得したエンティティ名と対になるテーブル識別子を前記エンティティマッピング情報格納部から取得するテーブル識別子取得手段と、
    前記テーブル識別子取得手段が取得したテーブル識別子と対になる主キー識別子を前記PK項目格納部から取得する主キー識別子取得手段と、
    前記テーブル識別子取得手段が取得したテーブル識別子で識別されるテーブルから、前記翻訳項目名取得手段が取得した翻訳項目名の属性値が、前記エンティティ取得部が取得したエンティティと一致するレコードに含まれる属性値であり、前記主キー識別子取得手段が取得した主キー識別子の属性値である変換されたパラメータを取得する変換パラメータ取得手段とを具備する請求項1から請求項3いずれか一項に記載の情報出力装置。
    The entity in the entity storage unit corresponds to the entity name which is the name of the entity.
    One or more entity mapping information having a table identifier that identifies a table, a translation item name that is an attribute name in the table identified by the table identifier and is information that identifies the entity to be converted, and an entity name. The stored entity mapping information storage unit and
    It further includes a PK item storage unit for storing one or more PK items having a table identifier and a primary key identifier that identifies the primary key of the table identified by the table identifier.
    The parameter acquisition unit
    An entity name acquisition means for acquiring an entity name corresponding to an entity acquired by the entity acquisition unit, and
    A translation item name acquisition means for acquiring a translation item name paired with an entity name acquired by the entity name acquisition means from the entity mapping information storage unit, and a translation item name acquisition means.
    A table identifier acquisition means for acquiring a table identifier paired with an entity name acquired by the entity name acquisition means from the entity mapping information storage unit, and a table identifier acquisition means.
    A primary key identifier acquisition means that acquires a primary key identifier paired with a table identifier acquired by the table identifier acquisition means from the PK item storage unit, and
    From the table identified by the table identifier acquired by the table identifier acquisition means, the attribute value of the translation item name acquired by the translation item name acquisition means is included in the record matching the entity acquired by the entity acquisition unit. The item according to any one of claims 1 to 3, further comprising a conversion parameter acquisition means for acquiring a converted parameter which is a value and is an attribute value of the primary key identifier acquired by the primary key identifier acquisition means. Information output device.
  5. 前記問合情報構成部は、
    前記API情報取得部が取得したAPI情報が有する1以上の各変数の箇所に、当該各箇所に対応付くパラメータであり、前記パラメータ取得部が取得したパラメータを配置し、問合情報を構成する請求項1から請求項4いずれか一項に記載の情報出力装置。
    The inquiry information component unit
    Claims that are parameters corresponding to each of the one or more variables possessed by the API information acquired by the API information acquisition unit, and the parameters acquired by the parameter acquisition unit are arranged to form inquiry information. The information output device according to any one of items 1 to 4.
  6. 前記受付部は、
    会話文の音声を受け付ける音声受付手段と、
    前記音声に対して音声認識処理を行い文字列である会話文を取得する音声認識手段とを具備する請求項1から請求項5いずれか一項に記載の情報出力装置。
    The reception department
    A voice reception means that accepts the voice of conversational sentences,
    The information output device according to any one of claims 1 to 5, further comprising a voice recognition means for performing voice recognition processing on the voice and acquiring a conversational sentence which is a character string.
  7. 業務処理ごとに管理される情報であり、業務処理を特定するアクション名を有する情報である1以上のインテントが格納されるインテント格納部、インテントに対応付いている情報であり、情報検索を行うための情報であり、1以上の変数であるパラメータを特定する情報を有する情報である1以上のAPI情報が格納されるAPI情報格納部、インテントに対応付く情報であり、会話文の情報である1以上の会話文情報が格納されるコーパス格納部、いずれか1以上の会話文情報に対応付く単語である1以上のエンティティが格納されるエンティティ格納部、会話文受付部、インテント決定部、会話文情報決定部、エンティティ取得部、パラメータ取得部、API情報取得部、問合情報構成部、検索部、および検索結果出力部によって実現される情報出力方法であって、
    前記会話文受付部が、会話文を受け付ける会話文受付ステップと、
    前記インテント決定部が、前記会話文受付部が受け付けた会話文に対応するインテントを決定するインテント決定ステップと、
    前記会話文情報決定部が、前記インテント決定部が決定したインテントに対応する1以上の会話文情報の中から、前記会話文受付部が受け付けた会話文に最も近似する会話文情報を決定する会話文情報決定ステップと、
    前記エンティティ取得部が、前記会話文情報決定部が決定した会話文情報に対応付いている1以上の各エンティティに対応し、前記会話文受付部が受け付けた会話文が有する単語である1以上のエンティティを取得するエンティティ取得ステップと、
    前記パラメータ取得部が、前記エンティティ取得部が取得した1以上の各エンティティに対応する1以上のパラメータを取得するパラメータ取得ステップと、
    前記API情報取得部が、前記インテント決定部が決定したインテントに対応するAPI情報を前記API情報格納部から取得するAPI情報取得ステップと、
    前記問合情報構成部が、前記パラメータ取得部が取得した1以上のパラメータと、前記API情報取得部が取得したAPI情報とを用いて、情報検索するための問合情報を構成する問合情報構成ステップと、
    前記検索部が、前記問合情報構成部が構成した問合情報を実行し、検索結果を取得する検索ステップと、
    前記出力部が、前記検索部が取得した検索結果を出力する検索結果出力ステップとを含む情報出力方法。
    Information that is managed for each business process, and is information that has an action name that identifies the business process. It is an intent storage unit that stores one or more intents, and information that corresponds to the intent. The information corresponding to the API information storage unit and the intent that stores one or more API information, which is the information that has the information to specify the parameter that is one or more variables, and is the information of the conversational sentence. A corpus storage unit that stores one or more conversational sentence information that is information, an entity storage unit that stores one or more entities that are words corresponding to any one or more conversational sentence information, a conversational sentence reception unit, and an intent. It is an information output method realized by a determination unit, a conversational sentence information determination unit, an entity acquisition unit, a parameter acquisition unit, an API information acquisition unit, an inquiry information composition unit, a search unit, and a search result output unit.
    The conversation sentence reception step in which the conversation sentence reception section accepts the conversation sentence, and
    An intent determination step in which the intent determination unit determines an intent corresponding to the conversation sentence received by the conversation sentence reception unit, and
    The conversation sentence information determination unit determines the conversation sentence information most similar to the conversation sentence received by the conversation sentence reception unit from one or more conversation sentence information corresponding to the intent determined by the intent determination unit. Conversational sentence information determination step and
    The entity acquisition unit corresponds to one or more entities corresponding to the conversation sentence information determined by the conversation sentence information determination unit, and one or more words possessed by the conversation sentence received by the conversation sentence reception unit. The entity acquisition step to acquire the entity and
    A parameter acquisition step in which the parameter acquisition unit acquires one or more parameters corresponding to one or more entities acquired by the entity acquisition unit.
    An API information acquisition step in which the API information acquisition unit acquires API information corresponding to the intent determined by the intent determination unit from the API information storage unit.
    Inquiry information that constitutes inquiry information for information retrieval by the inquiry information composition unit using one or more parameters acquired by the parameter acquisition unit and API information acquired by the API information acquisition unit. Configuration steps and
    A search step in which the search unit executes the inquiry information configured by the inquiry information configuration unit and acquires a search result.
    An information output method including a search result output step in which the output unit outputs a search result acquired by the search unit.
  8. 業務処理ごとに管理される情報であり、業務処理を特定するアクション名を有する情報である1以上のインテントが格納されるインテント格納部、インテントに対応付いている情報であり、情報検索を行うための情報であり、1以上の変数であるパラメータを特定する情報を有する情報である1以上のAPI情報が格納されるAPI情報格納部、インテントに対応付く情報であり、会話文の情報である1以上の会話文情報が格納されるコーパス格納部、およびいずれか1以上の会話文情報に対応付く単語である1以上のエンティティが格納されるエンティティ格納部にアクセス可能なコンピュータを、
    会話文を受け付ける会話文受付部と、
    前記会話文受付部が受け付けた会話文に対応するインテントを決定するインテント決定部と、
    前記インテント決定部が決定したインテントに対応する1以上の会話文情報の中から、前記会話文受付部が受け付けた会話文に最も近似する会話文情報を決定する会話文情報決定部と、
    前記会話文情報決定部が決定した会話文情報に対応付いている1以上の各エンティティに対応し、前記会話文受付部が受け付けた会話文が有する単語である1以上のエンティティを取得するエンティティ取得部と、
    前記エンティティ取得部が取得した1以上の各エンティティに対応する1以上のパラメータを取得するパラメータ取得部と、
    前記インテント決定部が決定したインテントに対応するAPI情報を前記API情報格納部から取得するAPI情報取得部と、
    前記パラメータ取得部が取得した1以上のパラメータと、前記API情報取得部が取得したAPI情報とを用いて、情報検索するための問合情報を構成する問合情報構成部と、
    前記問合情報構成部が構成した問合情報を実行し、検索結果を取得する検索部と、
    前記検索部が取得した検索結果を出力する検索結果出力部として機能させるためのプログラム。
    Information that is managed for each business process, and is information that has an action name that identifies the business process. It is an intent storage unit that stores one or more intents, and information that corresponds to the intent. The information corresponding to the API information storage unit and the intent that stores one or more API information, which is the information that has the information to specify the parameter that is one or more variables, and is the information of the conversational sentence. A computer that can access a corpus storage unit that stores one or more conversational sentence information that is information, and an entity storage unit that stores one or more entities that are words corresponding to any one or more conversational sentence information.
    Conversational sentence reception department that accepts conversational sentences and
    The intent determination unit that determines the intent corresponding to the conversation sentence received by the conversation sentence reception unit, and the intent determination unit.
    From one or more conversational sentence information corresponding to the intent determined by the intent determination unit, the conversational sentence information determination unit that determines the conversational sentence information most similar to the conversational sentence received by the conversational sentence reception unit, and
    Entity acquisition that corresponds to each one or more entities corresponding to the conversational sentence information determined by the conversational sentence information determination unit, and acquires one or more entities that are words of the conversational sentence received by the conversational sentence reception unit. Department and
    A parameter acquisition unit that acquires one or more parameters corresponding to one or more entities acquired by the entity acquisition unit, and a parameter acquisition unit.
    An API information acquisition unit that acquires API information corresponding to the intent determined by the intent determination unit from the API information storage unit, and
    An inquiry information configuration unit that configures inquiry information for information retrieval using one or more parameters acquired by the parameter acquisition unit and API information acquired by the API information acquisition unit.
    A search unit that executes inquiry information configured by the inquiry information configuration unit and acquires search results,
    A program for functioning as a search result output unit that outputs the search results acquired by the search unit.
PCT/JP2019/019800 2019-05-17 2019-05-17 Information output device, information output method, and program WO2020234948A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2019539301A JP6598418B1 (en) 2019-05-17 2019-05-17 Information output device, information output method, and program
PCT/JP2019/019800 WO2020234948A1 (en) 2019-05-17 2019-05-17 Information output device, information output method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/019800 WO2020234948A1 (en) 2019-05-17 2019-05-17 Information output device, information output method, and program

Publications (1)

Publication Number Publication Date
WO2020234948A1 true WO2020234948A1 (en) 2020-11-26

Family

ID=68383281

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/019800 WO2020234948A1 (en) 2019-05-17 2019-05-17 Information output device, information output method, and program

Country Status (2)

Country Link
JP (1) JP6598418B1 (en)
WO (1) WO2020234948A1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6753598B1 (en) * 2019-11-28 2020-09-09 ソプラ株式会社 Program code automatic generator and program
JP2021111047A (en) * 2020-01-08 2021-08-02 ソニーグループ株式会社 Information processing device, information processing method, and program
JP6889448B1 (en) * 2020-02-13 2021-06-18 ソプラ株式会社 Program code automatic generation system and program

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002108915A (en) * 2000-09-28 2002-04-12 Toshiba Corp Natural language interaction system and natural language processing method
JP2006004274A (en) * 2004-06-18 2006-01-05 Nippon Telegr & Teleph Corp <Ntt> Interactive processing device, interactive processing method, and interactive processing program
JP2014132464A (en) * 2013-01-07 2014-07-17 Samsung Electronics Co Ltd Interactive type interface device and control method of the same

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002108915A (en) * 2000-09-28 2002-04-12 Toshiba Corp Natural language interaction system and natural language processing method
JP2006004274A (en) * 2004-06-18 2006-01-05 Nippon Telegr & Teleph Corp <Ntt> Interactive processing device, interactive processing method, and interactive processing program
JP2014132464A (en) * 2013-01-07 2014-07-17 Samsung Electronics Co Ltd Interactive type interface device and control method of the same

Also Published As

Publication number Publication date
JPWO2020234948A1 (en) 2021-06-10
JP6598418B1 (en) 2019-10-30

Similar Documents

Publication Publication Date Title
US9378730B1 (en) Evaluating pronouns in context
RU2357285C2 (en) Methods and systems for translating from one language to another
WO2020234948A1 (en) Information output device, information output method, and program
US20170075985A1 (en) Query transformation for natural language queries
US9069818B2 (en) Textual search for numerical properties
US20180373494A1 (en) Ranking and boosting relevant distributable digital assistant operations
US20130124194A1 (en) Systems and methods for manipulating data using natural language commands
TW499671B (en) Method and system for providing texts for voice requests
US8862609B2 (en) Expanding high level queries
JP6799297B1 (en) Information output device, information output method, and information output program
JP6954549B1 (en) Automatic generators and programs for entities, intents and corpora
JP7065473B2 (en) Business construction system from conversational sentences
JP6635460B1 (en) Information generation apparatus, corpus production method, and program
US20210383492A1 (en) Text generation device, text generation method, and non-transitory computer-readable medium
JP5300576B2 (en) SEARCH DEVICE, SEARCH METHOD, AND SEARCH PROGRAM
TW200947241A (en) Database indexing algorithm and method and system for database searching using the same
US10579738B2 (en) System and method for generating a multi-lingual and multi-intent capable semantic parser based on automatically generated operators and user-designated utterances relating to the operators
US8990080B2 (en) Techniques to normalize names efficiently for name-based speech recognition grammars
JP4867375B2 (en) Dictionary creation system, dictionary server, portable terminal, dictionary creation method, and dictionary creation program
JP7231171B1 (en) Processing operation support device and program
WO2023100384A1 (en) Processing operation assistance device and program
JP7336869B2 (en) Information processing device, information processing method and program
JP2001022756A (en) Voice interactive information retrieval system and recording medium
JP2019021337A (en) Conference support device, conference support device control method, and program
TW202109349A (en) Communications server apparatus, communications device(s) and methods of operation thereof

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2019539301

Country of ref document: JP

Kind code of ref document: A

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

Ref document number: 19929308

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19929308

Country of ref document: EP

Kind code of ref document: A1