WO2020250426A1 - Information generation device, corpus production method, and program - Google Patents

Information generation device, corpus production method, and program Download PDF

Info

Publication number
WO2020250426A1
WO2020250426A1 PCT/JP2019/023681 JP2019023681W WO2020250426A1 WO 2020250426 A1 WO2020250426 A1 WO 2020250426A1 JP 2019023681 W JP2019023681 W JP 2019023681W WO 2020250426 A1 WO2020250426 A1 WO 2020250426A1
Authority
WO
WIPO (PCT)
Prior art keywords
entity
information
name
intent
storage unit
Prior art date
Application number
PCT/JP2019/023681
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 PCT/JP2019/023681 priority Critical patent/WO2020250426A1/en
Priority to JP2019549495A priority patent/JP6635460B1/en
Publication of WO2020250426A1 publication Critical patent/WO2020250426A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types

Definitions

  • the present invention relates to an information generator or the like that generates information such as a corpus.
  • Non-Patent Document 1 there has been a technique for performing an Internet search and turning on / off a predetermined device using words (which may be called conversational sentences) uttered by a user (see, for example, Non-Patent Document 1).
  • 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 the overtime hours of Nakamura last month” and "Tell me about the overtime hours of Ichiro Nakamura last month.” To do.
  • an information output device capable of performing such information retrieval by converting words in a conversational sentence into API parameters using an intent, one or more entities, and one or more conversational sentence information. ..
  • An object of the present invention is to provide an apparatus for automatically generating a corpus for natural language processing of words used in an organization by using one or more documents such as a document file or a database owned by the organization, and in particular, for example, An object of the above information output device is to provide an information generation device capable of automatically generating a corpus containing one or more entity information and one or more conversational sentence information, which is an intent used to convert such words into API parameters. To do.
  • the information generator of the first invention stores one or more documents including an action name or a first document having a part of the action name and a second document having an attribute name, which are information specifying business processing.
  • An intent generation unit that acquires an action name using the first document stored in the document storage unit and generates an intent that is information that specifies a business process and has an action name.
  • the entity generation unit that generates the entity name that is the attribute name and the entity name generated by the entity generation unit are stored in the template storage unit that stores the initial template of the conversation sentence that has the variable.
  • the processing unit that generates the template with the variables associated with the entity names, the intent generated by the intent generation unit, the entity name generated by the entity generation unit, and the processing unit It is an information generation device including a storage unit for storing the generated template.
  • intents, entity names, and templates that make up a corpus for natural language processing of words used in the organization can be automatically generated using one or more documents owned by the organization.
  • the second document further has one or more words corresponding to the attribute name
  • the entity generation unit is one or more words.
  • the storage unit is an information generation device that further generates the above entities and further stores one or more entities in association with the entity name.
  • one or more entities corresponding to the entity name can be automatically generated.
  • the information generator of the third invention inserts one or more of the one or more entities generated by the entity generator into the variables associated with the entity names in the template.
  • a conversation sentence information generation unit that generates one or more conversation sentence information that is information on conversation sentences related to business processing is further provided, and the storage unit is one or more conversation sentence information generated by the conversation sentence information generation unit.
  • the storage unit is one or more conversation sentence information generated by the conversation sentence information generation unit.
  • one or more conversational sentence information corresponding to the intent can be automatically generated. Therefore, using one or more documents possessed by the organization, it is possible to automatically generate intents, entity information, and one or more conversational sentence information that constitute a corpus for converting words used in the organization into API parameters.
  • the initial template has one or more variables
  • the processing unit uses one or more entity names generated by the entity generation unit as the initial template.
  • the document storage unit stores one or more table information including an attribute name, a table having one or more words corresponding to the attribute name, and a table identifier that identifies the table.
  • the first document is an API design document which is a design document having an action name and is a design document related to API, or a design document having a table name or an attribute name including information which can form at least a part of the action name.
  • the second document is each one or more table information stored in the table storage unit
  • the intent generation unit acquires the action name from the API design document.
  • the table name or attribute name is acquired from the DB design document, the action name having at least a part of the table name or attribute name is configured, and the intent is the information having the acquired or configured action name.
  • the entity generation unit acquires the attribute name and one or more words corresponding to the attribute name from the table held by the table information for each one or more table information, and the entity name which is the acquired attribute name.
  • the conversational sentence information generation unit acquires one entity from one or more entities generated for each table information of one or more by the entity generation unit. Then, by inserting the acquired one or more entities into one or more variables associated with one or more entity names in the template, one or more conversational sentence information is generated, and the storage unit is intented. One or more conversational sentences generated by the conversational sentence information generation unit, and the intents generated by the generation unit are accumulated, and one or more entities are associated with each one or more entity names generated by the entity generation part. It is an information generation device that stores information in association with the intent.
  • a table is a type of database.
  • the table is, for example, a tabular database.
  • the tabular database is, for example, a relational database table, a file such as Excel, but the type does not matter.
  • the table does not have to have a tabular format in advance, and may be, for example, a database such as a document file that has been converted into a tabular format or can be converted into a tabular format.
  • the document file that can be converted to the tabular format is, for example, a word file, but the type does not matter. In the case of a document file such as a word, for example, by providing a delimiter in the document, conversion to a tabular format is possible.
  • the table may be of any type as long as it is a database in tabular form, converted to tabular form, or convertible to tabular form.
  • one or more of the document storage unit, the table storage unit, and the template storage unit may exist outside the information generation device. It should be noted that such a matter also applies to an intent storage unit, an entity storage unit, a conversation sentence information storage unit, an entity mapping information storage unit, a PK item storage unit, and the like.
  • API design document or DB design document which is a kind of first document
  • table information which is a kind of second document
  • intent which is information for converting words into API parameters
  • Information and one or more conversational text information can be automatically generated.
  • the information generation device of the fifth invention further includes an intent storage unit for storing one or more intents with respect to the fourth invention, and the intent generation unit is described from the API design document.
  • the API information extraction means for extracting one or more API information which is information having an action name and is information about the API
  • the action name acquisition means for acquiring the action name from each one or more API information
  • the action name acquisition means It is provided with an intent generation means for generating an intent having one or more acquired action names
  • the storage unit stores one or more intents generated by the intent generation means in the intent storage unit. It is an information generation device provided with storage means.
  • intents can be automatically generated from the API design document.
  • the information generation device of the sixth invention further includes an intent storage unit for storing one or more intents with respect to the fourth invention, and the intent generation unit is 1 from the DB design document. At least a part of the table name or attribute name is extracted and extracted for each of the above table names or one or more attribute names and one or more table names or one or more attribute names. It includes an action name generating means for generating an action name having a part and an intent generating means for generating an intent having one or more action names generated by the action name generating means, and the storage unit generates an intent. It is an information generation device including an intent storage means for accumulating one or more intents generated by the means in an intent storage unit.
  • the information generation device of the seventh invention further includes an entity storage unit for storing one or more entities for the fifth or sixth invention, and the entity generation unit is one or more tables.
  • the entity name generating means that acquires the attribute name from the table information and generates the entity name that is the attribute name, and the table corresponding to the entity name for each one or more entity names generated by the entity name generating means.
  • the storage unit corresponds to each one or more entity names and corresponds to the entity name.
  • an entity name and entity information that is a set of one or more entities corresponding to the entity name can be automatically generated from each of one or more tables.
  • the information generation device of the eighth invention further includes a conversational sentence information storage unit for storing one or more conversational sentence information with respect to the seventh invention, and the template storage unit has an entity name. It is a template having one or more associated variables, two or more templates having different positions or numbers of variables are stored, and the conversation sentence information generation unit has one or more for each of the two or more templates.
  • An entity acquisition means for acquiring one entity corresponding to the entity name associated with each variable of the above from the entity storage unit, and an entity at the position of one or more variables of the template for each of two or more templates.
  • a conversation sentence generation means that generates one or more conversation sentence information by inserting an entity acquired by the acquisition means, and the storage unit inserts one or more conversation sentence information generated by the conversation sentence generation means.
  • an information generation device further provided with a conversational sentence information storage means that is associated with a tent and stored in a conversational sentence information storage unit.
  • the information generation device of the ninth invention has an entity mapping information storage unit for storing one or more entity mapping information and one or more table information for each of the seventh or eighth invention. From the table information, obtain the table identifier, the translation item name that is the attribute name in the table identified by the table identifier and is the information that identifies the entity to be converted, and one entity corresponding to the translation item.
  • the storage unit further includes an entity mapping information generation unit that acquires an entity name corresponding to one entity from the entity storage unit and generates entity mapping information having a table identifier, a translation item name, and an entity name.
  • An information generation device further comprising an entity mapping information storage unit that stores one or more entity mapping information generated by the entity mapping information generation unit in the entity mapping information storage unit.
  • one or more entity mapping information having a table identifier, a translation item name, and an entity name can be automatically generated from one or more table information.
  • the information generator of the tenth invention has a PK item storage unit for storing one or more PK items and one or more table information for each of the fourth to ninth inventions.
  • PK item generator that acquires a table identifier that identifies a table and a primary key identifier that identifies a primary key of a table from the table information, and generates a PK item that is information having the table identifier and the primary key identifier.
  • the storage unit is an information generation device further comprising a PK item storage unit that stores one or more PK items generated by the PK item generation unit in the PK item storage unit.
  • one or more PK items having a table identifier and a primary key identifier can be automatically generated from one or more table information.
  • a corpus for natural language processing of words used in an organization by using one or more documents such as a document file or a database owned by the organization.
  • it is a conversational sentence used in the organization, and it is a corpus used by an information output device that accepts a conversational sentence that changes dynamically even in a query for the same search result and searches for information, and is used to convert words into API parameters.
  • An information generator is realized that automatically generates a corpus including intents that are information, one or more entity information, and one or more conversational sentence information.
  • Block diagram of the information output device Flow chart explaining the operation of the information output device Flow chart explaining the parameter acquisition process
  • Data structure diagram of the table information Data structure diagram of the intent 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 conversation sentence information storage part The figure which shows the example of one or more entities corresponding to each entity name.
  • Data structure diagram of the same entity mapping information Data structure diagram of the same PK item
  • External view of the computer system Diagram showing an example of the internal configuration of the computer system Block diagram of the information generator according to the second embodiment
  • the figure which shows an example of the contents of the template storage part Flow chart explaining the operation of the information generator
  • Diagram showing an example of the document file Data structure diagram of the intent name dictionary Data structure diagram of the same entity name dictionary
  • an information output device that is a conversational sentence used in an organization and can accept a conversational sentence that dynamically changes even in an inquiry for the same search result and perform an information search will be described.
  • the corpus used by the information output device is an intent for converting words used in the organization into API parameters, and a corpus including one or more entity information and one or more conversational sentence information.
  • a device that automatically generates using one or more documents possessed by an organization will be described.
  • an information generator that automatically generates such a corpus using an API design document, which is a kind of first document, and table information, which is a kind of second document, will be described.
  • the DB design document which is a kind of the first document, and the information generation device that automatically generates the corpus using the table information will be described.
  • the API design document and the table information are used to automatically generate a corpus containing intent, one or more entity information, and one or more conversational sentence information, and the corpus is used in the organization.
  • An information processing device that is a conversational sentence to be used and can accept a conversational sentence that changes dynamically even in a query for the same search result and search for information will be described.
  • an information processing device capable of automatically generating the corpus using the DB design document and the table information, accepting the conversational sentence, and searching for information using the corpus will be described.
  • the information output device 500 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 500 may be, for example, a stand-alone terminal, and the means for realizing it does not matter.
  • FIG. 1 is a block diagram of the information output device 500 according to the present embodiment.
  • the information output device 500 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 conversation text information 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.
  • the information storage 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.
  • a table is a type of database used for business processing. It can be said that a database is a set of information structured so that a computer can easily search and store it.
  • 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, a search for information.
  • 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 database used for business processing is, for example, a local database in the organization.
  • 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. It can be said that the attribute name is the name of the attribute and the attribute value is a value that the attribute can take.
  • An attribute is a property of data and may be an item of a field in a relational database.
  • the table does not have to have a tabular format in advance, and may be, for example, a database of document files that have been converted to a tabular format or can be converted to a tabular format.
  • the document file that can be converted to the tabular format is, for example, a word file, but it may be a file such as an email, chat, or text, and the type is not limited. In the case of a document file such as a word, conversion to a tabular format is possible by providing a delimiter in the character string, for example.
  • the table is a database used for business processing, and any type of database can be used as long as it is a database in tabular form, converted to tabular form, or convertible to tabular form.
  • 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 an 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.
  • 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.
  • 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.
  • 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. It can be said that the API is an application programming interface and 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. It can be said that an entity is a word included in a conversational sentence. The entity will be described later.
  • 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 Web API information, for example.
  • Conversational sentence information storage unit 14 stores one or more conversational sentence 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 conversational sentence information may be a template of the conversational sentence.
  • 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, for example, one or more conversational sentence information is stored in the conversational sentence information storage unit 14 for each one or more intents stored in the intent storage unit 12 (see FIG. 7: described later). ).
  • the conversation sentence information storage unit 14 usually stores one or more entity information for each one or more stored conversation sentence information.
  • Entity information is information about an entity.
  • the entity information is, for example, information about one or more entities corresponding to one conversational sentence information.
  • the entity information may be, for example, an entity, an entity name, or information indicating the position or order of the entity in a conversational sentence.
  • the entity information has, for example, an entity and an entity name.
  • 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 name of the entity may be, for example, the attribute 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, an entity, and an order information when the conversational sentence information is a template.
  • the order information is a value indicating which variable the entity name corresponds to in one or more variables included in the template.
  • the entity information may be, for example, an entity name and a set of one or two or more entities corresponding to the entity name, and the structure thereof does not matter.
  • conversation text information "Tell me about Nakamura's overtime hours last month” and three corresponding entity information “Nakamura, 1, 2, employee entities” , “Last month, 4, 5, date entity”, and "overtime hours, 7, 10, overtime entity” may be stored.
  • the corpus in the present embodiment is a set of information for the computer to perform natural language processing, and is a set of information related to conversational sentences used in the organization.
  • the corpus may be considered as each of one or more conversational sentence information stored in the conversational sentence information storage unit 14, for example, one or more conversational sentence information, and entity information corresponding to each conversational sentence information. Can be thought of as a set of.
  • the corpus also includes, for example, an intent for generating the one or more conversational sentence information, an entity name, and one or more entities corresponding to the entity name. It may be considered to include.
  • 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 of the conversational text information stored in the conversational text information 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 conversational sentence information 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 a start date to an 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” is, for example, the current time information (for example, "May 10, 2019 11:15”: the same applies hereinafter), and the current time information has the information.
  • the previous month (for example, "April") is acquired for the month (for example, "May"), and the day information (for example, the first day to the last day of the previous month) is referred to by referring to the calendar information 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 of the day before the day held by the current time information (for example, "5/9"), 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.
  • a 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 conversation sentence information storage unit 14 using the intent determined by the intent determination unit 31 as a key, and receives the conversation sentence from one or more conversation sentence information corresponding to the intent. The conversation sentence information most similar to the conversation sentence received by the part 21 is determined.
  • the conversational sentence information that most closely resembles the conversational sentence is, for example, the conversational sentence information having 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 conversation sentence information 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 of the received conversation sentences.
  • the position of the entity name is acquired, and the template corresponding to the position of the acquired entity name is determined as the 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 the end position of each one or more entities corresponding to the determined conversation sentence information from the conversation sentence information storage unit 14, and receives the conversation. Obtain the word specified by the start position and the end position from the sentence.
  • the conversation sentence information "Tell me the overtime hours of Nakamura last month” and the corresponding three entity information "Nakamura, 1, 2" are sent to the conversation sentence information storage unit 14.
  • the conversation sentence information determination unit 32 determines the above conversation sentence information "Tell me the overtime work hours of Nakamura last month”
  • the entity acquisition unit 33 receives the conversation sentence "Otsuka's overtime work 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 342. 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 accepts among the three entity information stored in association with the conversational sentence information in the conversational sentence information "Tell me Nakamura's overtime hours last month” stored in the conversational sentence information storage unit 14. Corresponds to "Nakamura” using the first entity information that has the same start position "1" and end position "2" as "Otsuka” in the conversation sentence "Tell me about the overtime hours of Otsuka last month". To get the "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 hour 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 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, conversational text information storage unit 14, entity storage unit 15, entity mapping information storage unit 16, PK item storage unit 17, and day conversion information.
  • the storage unit 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.
  • 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.
  • the above items regarding the storage unit 1 and the like also apply to the storage unit 10 and the like described in the second embodiment.
  • the storage unit 1 and the like may be outside the information output device 500. That is, the information such as the table may be stored in an external recording medium accessible to the computer of the information output device 500. Further, such a matter also applies to the storage unit 10 and the like described in the second embodiment.
  • 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. It should be noted that such a matter also applies to the reception unit 20 described in the second embodiment.
  • 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). It should be noted that such a matter also applies to the processing unit 30 and the like described in the second embodiment and the intent generation unit 301a and the like described in the third embodiment.
  • 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. It should be noted that such a matter also applies to the output unit 40 described in the second embodiment.
  • 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). It should be noted that such a matter also applies to the reception function of the reception unit 20 described in the second embodiment.
  • 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). It should be noted that such a matter also applies to the transmission function of the output unit 40 described in the second embodiment.
  • FIG. 2 is a flowchart illustrating the operation of the information output device 500.
  • 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 500 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 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-level 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 500 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 500.
  • 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 conversation sentence information storage unit 14 stores one or more conversation sentence information in association with each one or more intents, and further, each one or more conversation sentences.
  • One or more entity information is also stored in association with the information.
  • FIG. 7 is a diagram showing an example of the contents of the conversation text information 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. As described above, the pair of the entity name and the entity group may be considered as the entity information.
  • 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 possessed 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 for 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, the voice recognition means 212 performs voice recognition processing on the voice, and the conversation sentence "Tell me the overtime hours of Otsuka last month”. To 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 conversational sentence information determination unit 32 refers to the conversational sentence information storage unit 14 (FIG. 7), and is the closest to the conversational sentence from the five conversational sentence information 1 to 5 corresponding to the determined intent 1. Determine the conversational text information to be used.
  • 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 refers to the conversational sentence information storage unit 14 (FIG. 7), and is the closest to the conversational sentence from the five conversational sentence information 1 to 5 corresponding to the determined intent 1. Determine the conversational text information to be used.
  • 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 is the conversational sentence information storage unit 14 (FIG. 7), and is the closest to the conversational sentence from the five conversational sentence
  • 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 obtains the acquired entity name.
  • the translation item name "ZIKANGAI_TIME” paired with the "overtime entity” is acquired 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” obtained by totaling 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 conversation sentence information storage unit 14 stores one or more conversation sentence information which is information corresponding to the intent and is the conversation sentence information
  • the entity storage unit 15 stores any one or more conversation sentence information.
  • One or more entities that are words to be associated with each other are stored, and the information output device 500 receives a conversation sentence, determines an intent corresponding to the received conversation sentence, and one or more conversation sentence information corresponding to the determined intent.
  • the conversational sentence information that most closely resembles the received conversational sentence, and correspond to one or more entities corresponding to the determined conversational sentence information, and one or more words that the received conversational sentence has.
  • the entity acquire one or more parameters corresponding to each of the acquired one or more entities, acquire the API information corresponding to the determined intent from the API information storage unit 13, and acquire the acquired one or more parameters.
  • the same search result can be obtained by constructing the inquiry information for information search using the acquired API information, executing the configured inquiry information, acquiring the search result, and outputting the acquired search result.
  • Information can be searched by accepting dynamically changing conversational sentences even for the requested inquiry.
  • the information output device 500 acquires a text corresponding to the received conversational sentence, acquires one or more independent words from the text, and has an intent having an action name having a word that is the same as or similar to one or more independent words. By deciding, it is possible to accept dynamically changing conversational sentences and search for information even with a query for the same search result.
  • 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 500 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 500 determines whether or not the day word exists in one or more acquired entities, and when it is determined that the day word exists, the day conversion corresponding to the day word is performed.
  • the information 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 the above are stored, and the information output device 500 acquires the entity name corresponding to the acquired entity, and the translation item name paired with the acquired entity name.
  • the table identifier paired with the acquired entity name is acquired from the entity mapping information storage unit 16
  • the primary key identifier paired with the acquired table identifier is obtained from the PK item storage unit 17. Conversion that the attribute value of the acquired translation item name from the acquired table identified by the acquired table identifier 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 500 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 is performed by arranging the acquired parameters and configuring the inquiry information. Information can be searched by accepting dynamically changing conversational sentences even when inquiring for results.
  • the information output device 500 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 the voice dynamically changes even in the inquiry for the same search result. You can search for information by accepting conversational sentences.
  • 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 500 according to the present 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.
  • Conversational sentence information storage unit 14 that stores one or more conversational sentence information that is attached information and is conversational sentence information, and one or more entities that are words corresponding to any one or more conversational sentence information are stored.
  • the computer that can access the entity storage unit 15 is the conversation sentence reception unit 21 that accepts conversation sentences, the intent determination unit 31 that determines the intent corresponding to the conversation sentence received by the conversation sentence reception unit 21, and the above.
  • Conversational sentence information determination unit 32 that determines the conversational sentence information that most closely resembles the conversational sentence received by the conversational sentence reception unit 21 from among one or more conversational sentence information corresponding to the intent determined by the intent determination unit 31. And one or more entities corresponding to each one or more entities corresponding to the conversational sentence information determined by the conversational sentence information determination unit 32, and one or more entities which are words possessed by the conversational sentence received by the conversational sentence reception unit 21.
  • 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 intent determined by the intent determination unit 31.
  • the API information acquisition unit 35 that acquires the API information to be generated 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 are used.
  • the inquiry information configuration unit 36 that constitutes inquiry information for information search
  • the search unit 37 that executes inquiry information configured by the inquiry information configuration unit 36 and acquires search results
  • This is a program for functioning as a search result output unit 41 that outputs the search results acquired by.
  • FIG. 11 is an external view of a computer system 900 that executes the program according to the present embodiment to realize the information output device 500.
  • 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 bootup 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 500 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 have to include an operating system (OS) for executing the function of the information output device 500, 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 500 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 500 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.
  • the computer system 900 described above can also realize the information generation devices of the second and third embodiments described below and the information processing devices of the fourth and fifth embodiments.
  • the information generation device 100 in the present embodiment is communicably connected to the information output device 500 described in the first embodiment via, for example, a network or a communication line.
  • the information generation device 100 is also a server in a company that provides services such as information retrieval, but it may be a stand-alone terminal, and the means for realizing the information may be limited. It should be noted that such matters are also common to the third embodiment.
  • the information generation device 100 is a device that generates information such as an intent, one or more conversational sentence information, and one or more entities used by the information output device 500 described in the first embodiment.
  • the generated information such as one or more conversational text information and one or more entities is passed or transmitted from the information generation device 100 to the information output device 500, and the intent storage unit 12 of the information output device 500, the conversation. It is stored in the statement information storage unit 14, the entity storage unit 15, and the like.
  • FIG. 13 is a block diagram of the information generation device 100 according to the present embodiment.
  • the information generation device 100 includes a storage unit 10, a reception unit 20, a processing unit 30, and an output unit 40.
  • the storage unit 10 stores the document storage unit 101, the template storage unit 102, the intent storage unit 12a, the API information storage unit 13a, the conversation text information storage unit 14a, the entity storage unit 15a, the entity mapping information storage unit 16a, and the PK item storage.
  • a portion 17a is provided.
  • the table storage unit 11a may be considered to be included in the document storage unit 101. That is, the table may be considered as a kind of document described later.
  • the processing unit 30 includes an intent generation unit 301, an entity generation unit 302, a conversational sentence information generation unit 303, an entity mapping information generation unit 304, a PK item generation unit 305, and a storage unit 306.
  • the intent generation unit 301 includes API information extraction means 3011, action name acquisition means 3012, and intent generation means 3013.
  • the entity generation unit 302 includes an entity name generation means 3021 and an entity generation means 3022.
  • the conversation sentence information generation unit 303 includes an entity acquisition unit 3031 and a conversation sentence generation unit 3032.
  • the storage unit 306 includes an intent storage means 3061, an entity storage means 3062, a conversational sentence information storage means 3063, an entity mapping information storage means 3064, and a PK item storage means 3065.
  • the various types of information include, for example, documents, design documents, templates, tables, intents, conversational text information, entities, entity mapping information, PK items, and the like.
  • the document, API design document, and template will be described later.
  • the table, the intent, the conversational sentence information, the entity, the entity mapping information, and the PK item have been described in the first embodiment and will not be repeated.
  • a document is a set of information processed by a computer, and may be said to be a set of information including one or more character strings constituting a sentence or word in a natural language.
  • the document contains, for example, an action name or a character string having a part of the action name. Since the action name has been described in the first embodiment, it will not be repeated.
  • a document containing an action name or a character string having a part of the action name may be referred to as a "first document”.
  • the first document is, for example, a document file.
  • a document file is a file related to a document.
  • the document is, for example, a design document.
  • the design document is a document related to software design, and may be referred to as a specification document, a definition document, or the like.
  • the software is, for example, API, but may be a database or the like, and the type thereof does not matter.
  • the API and database have been described above and will not be repeated.
  • the design document is, for example, an API design document described later, but may be a DB design document.
  • the DB design document will be described in the third embodiment.
  • the document is not limited to the design document, and may be an in-house document such as a daily report, a business instruction, or a plan, or a document exchanged with the outside such as an order form or a delivery note. It doesn't matter.
  • the document file is, for example, a file such as Word or Excel, but it may be hypertext, and its format does not matter.
  • Hypertext is a document written in a markup language such as HTML or XML, and can be said to be a document file having a set (also referred to as a link) for associating words in the document with other documents. ..
  • the document may have, for example, an attribute name and one or more words corresponding to the attribute name.
  • the attribute names, etc. will not be repeated as described above.
  • the attribute name and one or more words corresponding to the attribute name may be said to be, for example, an entity name and a word capable of generating one or more entities corresponding thereto.
  • a document having an attribute name and one or more words corresponding to the attribute name may be referred to as a "second document".
  • the second document may have, for example, only the attribute name and may not have one or more words corresponding to the attribute name.
  • the second document is, for example, a database other than one or more tables stored in the table storage unit 11a. However, it may be considered that the second document also includes one or more tables stored in the table storage unit 11a. Alternatively, the second document may be, for example, a document file, regardless of its type.
  • the first document may be hypertext and the second document may be one or more document files linked to one or more words in the first document.
  • the first document and the second document may be one document.
  • the first document and the second document may be, for example, one document file. That is, one document (for example, one document file) may have an action name or a part of the action name and an attribute name, and further, one or more words corresponding to the attribute name. You may also have.
  • a specific example 2 is a document file which is an example of a document having an action name or a part of the action name and an attribute name, and an operation example of generating a corpus such as an intent, an entity name, and a template from the document file. It will be explained in.
  • either the first or second document has a tabular format, but it is not necessary to have a tabular format.
  • a document having a tabular format is, for example, a document created by spreadsheet software such as Excel, but a document created by a document creation software such as Word may be converted into a tabular format, and the format and creation method may be used. Does not matter.
  • the document that does not have a tabular format is, for example, a Word document file, but it may be a document file such as an email or chat.
  • the document file such as a word is preferably structured, for example, but does not have to be structured. What is structured is that it is described in a markup language such as HTML or XML.
  • the structuring may be realized by, for example, adding a heading or a number, inserting a symbol or a space, a line break, or the like, and the method of realizing the structure does not matter.
  • the document stored in the document storage unit 101 is, for example, an API design document.
  • the API design document is a design document related to API.
  • the API design document has, for example, one or more API information. Since the API information has been described in the first embodiment, it will not be repeated.
  • the API information usually corresponds to the action name.
  • the API design document may include, for example, a set of pairs of action names and API information as shown in FIG. Note that FIG. 6 and the pair of the action name and the API information will not be repeated because they have been described in the first embodiment.
  • the API design document usually includes information such as parameter names, table identifiers, and primary key identifiers.
  • the parameter name, table identifier, primary key identifier, etc. are not repeated as described above.
  • the structure of the API design document does not matter.
  • the stored template is a conversational sentence template and has one or more variables. For example, as described in the first embodiment, if the variable is " ⁇ ", the template may be, for example, "Tell me ⁇ of ⁇ of ⁇ ".
  • one or more templates may be stored in association with the action name.
  • the information associated with one or more templates may be, for example, an intent name, a table name, an attribute name, or the like.
  • each one or more variables of the template are associated with entity names such as “employee entity”, “date entity”, and “overtime entity”. Specifically, for example, if the variables associated with the entity names are " ⁇ employee entity ⁇ ”, “ ⁇ date entity ⁇ ”, and “ ⁇ overtime entity ⁇ ”, the template is, for example, ⁇ employee entity ⁇ ⁇ Tell me the ⁇ overtime entity ⁇ of the date entity ⁇ .
  • the template storage unit 102 is, for example, a template having one or more variables associated with entity names as shown in FIG. 14, and two or more templates having different positions or numbers of variables are, for example, action names. Can be stored in association with.
  • Two or more templates corresponding to the action name "Overtime time inquiry” are, for example, the first template “Tell me the ⁇ Overtime entity ⁇ of the ⁇ Date entity ⁇ of the ⁇ Employee entity ⁇ ” and the second template “ ⁇ Date”. Tell me ⁇ overtime entity ⁇ of ⁇ employee entity ⁇ of entity ⁇ , "tell me ⁇ overtime entity ⁇ of ⁇ employee entity ⁇ ", ⁇ overtime entity ⁇ of the fourth template " ⁇ date entity ⁇ ” Tell me ", and the fifth template” Tell me ⁇ overtime entity ⁇ ".
  • Two or more templates corresponding to the action name "working time data inquiry” are, for example, the first template “Tell me the ⁇ working time entity ⁇ of the ⁇ business entity ⁇ of the ⁇ date entity ⁇ of the ⁇ employee entity ⁇ ", The second template “Tell me the ⁇ working time entity ⁇ of the ⁇ date entity ⁇ of the ⁇ business entity ⁇ of the ⁇ employee entity ⁇ ", and the ⁇ business entity ⁇ of the ⁇ employee entity ⁇ of the third template " ⁇ date entity ⁇ " "Tell me ⁇ working time entity ⁇ ", 4th template "Tell me ⁇ working time entity ⁇ of ⁇ employee entity ⁇ of ⁇ business entity ⁇ of ⁇ date entity ⁇ ", 5th template " ⁇ business entity ⁇ Tell me the ⁇ working time entity ⁇ of the ⁇ employee entity ⁇ of the ⁇ date entity ⁇ ", the sixth template" tell me the ⁇ working time entity ⁇ of the ⁇ date entity ⁇ of the ⁇ employee entity ⁇ of the ⁇
  • a template (hereinafter, may be referred to as an initial template) in which an entity name does not correspond to each variable, such as "Tell me ⁇ of ⁇ of ⁇ " at the beginning, is stored.
  • the processing unit 30 is generated in response to the fact that the entity generation unit 302 described later generates one or more entity names (for example, "employee entity”, "date entity”, "overtime template”, etc.).
  • entity names for example, "employee entity”, "date entity”, “overtime template”, etc.
  • the first template "Tell me the ⁇ overtime entity ⁇ of the ⁇ date entity ⁇ of the ⁇ employee entity ⁇ ” may be generated.
  • the processing unit 30 generates one or more templates (for example, the second to fifth templates) having different positions or numbers of variables from the generated first template, and stores them in the template storage unit 102. You may.
  • a template in which each variable is associated with an entity name may be considered as a type of conversational sentence information.
  • the template storage unit 102 stores in advance an initial template in which the entity name does not correspond to each variable, and the conversation sentence information which is a template in which the entity name is associated with each variable is, for example, a conversation sentence. It may be stored in the information storage unit 14a.
  • the table storage unit 11a stores one or more table information.
  • the one or more table information stored is usually the same information as the one or more table information stored in the table storage unit 11 in the first embodiment.
  • the table information is not repeated as described above.
  • the table information 1 to 3 shown in FIG. 4 may be stored in the table storage unit 11a.
  • the table information may also have a table name, for example.
  • the table name is the name of the table.
  • the table name contains, for example, information that may form at least a portion of the action name.
  • the information that can form at least a part of the action name is, for example, "employee", “working time”, "business”, and the like.
  • the table names included in the table information 1 to 3 are, for example, “employee master”, “business master”, “overtime time table”, etc., but the format does not matter.
  • One or two or more intents are stored in the intent storage unit 12a.
  • the intent will not be repeated as described above.
  • the stored one or more intents are usually the same information as the one or more intents stored in the intent storage unit 12 in the first embodiment.
  • One or more intents are generated by the intent generation unit 301 described later, and are stored in the intent storage unit 12a by the intent storage means 3061 described later.
  • the intents 1 and 2 shown in FIG. 5 may be stored in the intent storage unit 12a.
  • One or two or more API information is stored in the API information storage unit 13a. Since the API information has been described above, it will not be repeated.
  • the one or more API information stored is usually the same information as the one or more API information stored in the API information storage unit 13 in the first embodiment.
  • One or more API information is extracted from the API design document by the API information extraction means 3011 described later, and is stored in the API information storage unit 13a by the storage unit 306 described later. Specifically, for example, two or more API information shown in FIG. 6 may be stored in the API information storage unit 13a.
  • the conversation sentence information storage unit 14a stores one or more conversation sentence information in association with the intent.
  • the conversational text information is not repeated as described above.
  • the one or more conversational sentence information stored is usually the same information as the one or more conversational sentence information stored in the conversational sentence information storage unit 14 in the first embodiment.
  • One or more conversational sentence information is generated by the conversational sentence information generation unit 303 described later, and is stored in the conversational sentence information storage unit 14a by the conversational sentence information storage means 3063 described later.
  • conversation sentence information storage unit 14a for example, as shown in FIG. 7, two or more conversation sentence information (here, five) are associated with the intent “overtime time inquiry intent”. Conversational sentence information 1 to 5) may be stored. Further, in the conversation sentence information storage unit 14a, two or more conversation sentence information (here, conversation sentence information 1, 2, etc.) may be stored in association with the intent "working time data inquiry intent”. ..
  • One or more entities are stored in the entity storage unit 15a in association with the entity name.
  • the entity name and entity are not repeated as described above.
  • the one or more entities stored in association with the entity name are usually the same information as the one or more entities stored in the entity storage unit 15 in association with the entity name in the first embodiment.
  • the entity name is generated by the entity name generation means 3021 described later, and one or more entities are generated by the entity generation means 3022 described later.
  • the generated one or more entities are stored in the entity storage unit 15a by the entity storage means 3062 in association with the generated entity name.
  • one or more entities “Ichiro Nakamura” and “Jiro Otsuka” are stored in the entity storage unit 15a in association with the entity name "employee entity”.
  • one or more entities “last month” and “yesterday” are stored in association with the entity name "date entity”
  • one or more entities “overtime hours” are associated with the entity name "overtime entity”.
  • “And” overtime "etc. may be stored.
  • one or more entities corresponding to the "employee entity” may be a part of the name.
  • a part of the name may be, for example, a surname such as "Nakamura” or “Otsuka”, or an m character from the front (for example, “Nakamura Ichi” or “Otsuka Ni” which is three characters from the front).
  • One or two or more entity mapping information is stored in the entity mapping information storage unit 16a.
  • the entity mapping information will not be repeated as described above.
  • the one or more entity mapping information stored is usually the same information as the one or more entity mapping information stored in the entity mapping information storage unit 16 in the first embodiment.
  • One or more entity mapping information is generated by the entity mapping information generation unit 304 described later, and is stored in the entity mapping information storage unit 16a by the entity mapping information storage means 3064 described later.
  • the entity mapping information storage unit 16a may store one or more entity mapping information (for example, entity mapping information 1 to 4, etc.) as shown in FIG. 9, for example.
  • One or two or more PK items are stored in the PK item storage unit 17a.
  • the PK items are not repeated as described above.
  • the one or more PK items stored are usually the same information as the one or more PK items stored in the PK item storage unit 17 in the first embodiment.
  • One or more PK items are generated by the PK item generation unit 305 described later, and are stored in the PK item storage unit 17a by the PK item storage means 3065 described later.
  • the PK item storage unit 17a may store, for example, two or more PK items (for example, PK items 1 to 4, etc.) as shown in FIG.
  • the reception unit 20 receives various types of information.
  • the various types of information include, for example, API design documents and templates.
  • the reception unit 20 receives information such as an API design document from a terminal, for example, but may receive information via an input device such as a keyboard or a touch panel.
  • the reception unit 20 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 processing unit 30 performs various processes.
  • the various processes include, for example, intent generation unit 301, API information extraction means 3011, action name acquisition means 3012, intent generation means 3013, entity generation unit 302, entity name generation means 3021, entity generation means 3022, and conversational text.
  • processing unit 30 also performs processing for accumulating information such as API design documents received by the reception unit 20 in the document storage unit 101 or the like.
  • the processing unit 30 performs the document file.
  • a process of converting the document file into a tabular format may be performed based on the delimiter provided in the character string of.
  • the process of converting a document file such as a word into a tabular format is known, and the description thereof will be omitted.
  • the processing unit 30 may perform a process of generating the first template by associating one or more entity names generated by the entity generation unit 302 described later with the initial template. For example, if the initial template is "Tell me ⁇ of ⁇ of ⁇ " and the three entity names "employee entity", "date entity”, and "overtime entity” are acquired, the processing unit 30 , The three entity names may be associated with the initial template to generate the first template "Tell me the ⁇ overtime entity ⁇ of the ⁇ date entity ⁇ of the ⁇ employee entity ⁇ ".
  • the processing unit 30 generates one or more templates (for example, second to fifth templates) having different positions or numbers of variables from the generated first template, and stores them in the template storage unit 102. You may.
  • the processing unit 30 generates a second template by exchanging the first variable and the second variable with respect to the first template, for example. Further, the template generation unit generates a third template by deleting the second variable and the particle "no" following the first template, for example. Further, the template generation unit generates a fourth template by deleting the first variable and the subsequent particle "no" from the first template, for example. Further, the template generation unit deletes the first variable and the subsequent particle "no" and the second variable and the subsequent particle "no" from the first template, for example, so that the fifth template can be used. Generate a template for. Then, the processing unit 30 associates the generated first to fifth templates with, for example, the action name acquired by the action name acquisition means 3012 or the intent name generated by the intent generation means 3013, and the template storage unit 30. Accumulate in 102.
  • the intent generation unit 301 acquires an action name using the first document stored in the document storage unit 101, and generates an intent having the acquired action name.
  • the generated intent may be the same as the acquired action name. That is, the intent may be generated, for example, by acquiring the action name.
  • the first document has an action name or a part of the action name.
  • the intent generation unit 301 acquires an action name from the first document having the action name, and generates an intent having the acquired action name, for example.
  • the intent generation unit 301 may acquire a part of the action name from the first document, modify the part to form the action name, and acquire the intent having the action name.
  • the transformation is, for example, the addition of a predetermined character string to the part, but the conversion of the character string constituting the part to another type of character string may be performed, and the mode thereof does not matter.
  • the addition is, for example, an addition to the end of the character string constituting the part, but may be an addition to the beginning of the character string, an addition to the inside of the character string, and the position thereof does not matter.
  • the conversion includes, for example, conversion from a kanji character string to a kana character string, conversion from a kanji / kana mixed character string to an alphabetic character string, and the like, but the type does not matter.
  • the action name dictionary is stored in the storage unit 10.
  • the action name dictionary is a dictionary related to action names. For example, one or more action names are registered in the action name dictionary. Alternatively, one or more pairs of action names and one or more vocabularies may be registered in the action name dictionary.
  • the action name dictionary may be, for example, the intent name dictionary described in Specific Example 2.
  • the intent generation unit 301 performs morphological analysis on the first document, for example, and acquires one or more words. Next, the intent generation unit 301 includes the word and one or more action names (or one or more corresponding to the action name) registered in the action name dictionary for each one or more acquired words. Get the similarity with each vocabulary). Next, the intent generation unit 301 performs the word and action corresponding to the highest similarity among the one or more similarity acquired for all combinations of one or more words and one or more action names and the like. Specify the combination with the name etc. Then, the intent generation unit 301 generates an intent having a word, an action name, or the like that constitutes the specified combination.
  • the intent generation unit 301 acquires an action name from the API design document stored in the document storage unit 101, for example, by the above procedure, and generates an intent having the acquired action name. For example, when the stored API design document has the action name "overtime hours inquiry", the intent generation unit 301 acquires the action name "overtime hours inquiry” from the API design document and obtains the action name "overtime hours inquiry". By adding "inquiry” to the end, an intent "overtime hour inquiry intent" having the action name "overtime hour inquiry” may be generated.
  • the API information extracting means 3011 constituting the unit 301 extracts one or more API information from the API design document.
  • the information that can form a part of the action name is the API information included in the API design document, for example, "search_overtime hours (employee code, start date, end date)” or “search_work” shown in FIG.
  • search_overtime hours employee code, start date, end date
  • search_work shown in FIG.
  • search_overtime hours employee code, start date, end date
  • search_work shown in FIG.
  • the action name acquisition means 3012 acquires information that can form a part of the action name from the API information for each of the extracted one or more API information. For example, from the API information "search_overtime hours (employee code, start date, end date)", the character string “overtime hours” sandwiched between "search” and "(" is acquired. Action name acquisition means 3012 Acquires the action name "overtime hours inquiry” by adding "inquiry” to the end of the information acquired in this way.
  • the intent generation means 3013 generates an intent having the action name by adding "intent” to the end of each one or more action names acquired by the action name acquisition means 3012. For example, the intent generation means 3013 adds "intent” to the end of the acquired action name "overtime hour inquiry” to add an intent "overtime hour inquiry intent” having the action name. Generate. Similarly, from the action name "working time data inquiry”, an intent “working time data inquiry intent” having the action name is generated.
  • the entity generation unit 302 generates an entity name which is an attribute name by using, for example, a second document stored in the document storage unit 101.
  • the entity name may be generated, for example, by acquiring the attribute name from the second document.
  • the entity generation unit 302 may acquire the attribute name from the second document having the attribute name and generate the entity name which is the acquired attribute name, for example.
  • the entity generation unit 302 acquires the attribute name and one or more words corresponding to the attribute name from the second document having the attribute name and one or more words corresponding to the attribute name, and the acquired attribute. You may generate an entity name that is a name and one or more entities that are one or more acquired words.
  • the entity generation unit 302 may generate an entity name which is an attribute name by using, for example, one or more table information stored in the table storage unit 11a.
  • the attribute name dictionary is stored in the storage unit 10.
  • the attribute name dictionary is a dictionary related to attribute names. For example, one or more attribute names are registered in the attribute name dictionary. Alternatively, one or more pairs of attribute names and one or more vocabularies may be registered in the attribute name dictionary.
  • the attribute name dictionary may be, for example, the entity name dictionary described in Specific Example 2.
  • the entity generation unit 302 performs morphological analysis on the second document, for example, and acquires one or more words. Next, the entity generation unit 302 includes the word and one or more attribute names (or one or more corresponding to the attribute name) registered in the attribute name dictionary for each of the acquired one or more words. Get the similarity with each vocabulary). Next, the entity generation unit 302 performs the word and attribute name corresponding to the highest similarity among the one or more similarity acquired for all combinations of one or more words and one or more entity names and the like. Specify the combination with etc. Then, the entity generation unit 302 generates an entity name having a word, an attribute name, or the like that constitutes the specified combination.
  • the entity generation unit 302 corresponds to the attribute name and the attribute name from the table of the table information for each one or more table information stored in the table storage unit 11a by the above procedure.
  • the above words are acquired, and an entity name that is an acquired attribute name and one or more entities that are one or more acquired words are generated.
  • the entity name that is the attribute name includes, for example, the case where the entity name is an attribute name that includes only a part of the acquired attribute name. That is, the entity generation unit 302 acquires an attribute name and one or more words corresponding to the attribute name from the table of the table information for each one or more table information, and is a part of the acquired attribute name. You may generate an entity name and one or more entities that are one or more acquired words.
  • the generated entity may also be a part of the acquired entity.
  • the entity generation unit 302 may generate the entity “Nakamura” containing the first two characters of the word, the entity “Nakamura Ichi” including the preceding three characters, and the like. Good.
  • the entity name which is the acquired attribute name includes the case where the entity name is, for example, an attribute name obtained by converting at least a part of the acquired attribute name.
  • the conversion is not limited to conversion to a different language (for example, translation), but may be conversion from alphabetical notation to kanji display (for example, conversion from "SHAIN" to "employee”). .. That is, the entity generation unit 302 acquires an attribute name and one or more words corresponding to the attribute name from the table possessed by the table information for each one or more table information, and at least a part of the acquired attribute name is acquired.
  • An entity name that is a converted attribute name and one or more entities that are one or more acquired words may be generated.
  • the attribute name “SHAIN_NAME” and one or more words “Ichiro Nakamura”, “Jiro Otsuka” corresponding to the attribute name are acquired, and a part of the attribute name is obtained.
  • An entity name “employee entity” including the attribute name “employee” converted from “SHAIN”, and one or more entities “Ichiro Nakamura", “Jiro Otsuka”, etc., which are one or more acquired words, may be generated. ..
  • the entity name generation means 3021 constituting the entity generation unit 302 acquires an attribute name from the table information for each one or more table information, and generates an entity name which is the attribute name.
  • the generated entity name is stored in the entity storage unit 15a by, for example, the entity storage means 3062 described later.
  • the entity generation means 3022 acquires one or more words corresponding to the acquired attribute names from the table corresponding to the entity name for each one or more entity names generated by the entity name generation means 3021. Generate one or more entities that are the one or more words. The generated one or more entities are stored in the entity storage unit 15a in association with the entity name by, for example, the entity storage means 3062 described later.
  • the entity name generation means 3021 acquires the attribute name "SHAIN_NAME" from the table information 1, and converts "SHAIN”, which is a part of the attribute name, into an "employee”. Generate the entity name "employee entity” with "" added.
  • the entity storage means 3062 stores the generated entity name “employee entity” in the entity storage unit 15a.
  • the entity generation means 3022 selects one or more words “Ichiro Nakamura”, “Jiro Otsuka”, etc. corresponding to the attribute name from the table (that is, the employee master) corresponding to the generated entity name "employee entity”. Acquire and generate one or more entities “Nakamura”, “Otsuka”, etc. that are a part of them (for example, the first two characters).
  • the entity storage means 3062 stores one or more generated entities "Nakamura”, “Otsuka”, etc. in the entity storage unit 15a in association with the entity name "employee entity”.
  • the entity name generating means 3021 acquires the attribute name "GYOUMU_NAME", and the entity name "business entity” is obtained by adding "entity” to the "business” obtained by partially converting "GYOUMU”. To generate.
  • the generated entity name "business entity” is stored in the entity storage unit 15a.
  • the entity generation means 3022 acquires "A business", “B business”, etc. corresponding to the attribute name from the table (that is, business master) corresponding to the generated entity name "business entity”, and has one or more. Generate entities "A business", “B business”, etc.
  • the one or more generated entities “A business", “B business”, etc. are stored in the entity storage unit 15a in association with the entity name "business entity”.
  • the entity generation means 3022 acquires one or more words “last month”, “yesterday”, etc. corresponding to the word “date” included in the "date entity” from the storage unit 10, and the acquired word entity "last month”, Generate “yesterday” etc.
  • one or more entities “overtime hours”, “overtime”, etc. are accumulated in association with the entity name "overtime entity”, and one or more entities “working hours” are associated with the entity name “working hours entity”.
  • “Work” etc. are accumulated, and one or more entities “last month”, “yesterday” etc. are accumulated in association with the entity name "date entity”.
  • the entity storage unit 15a stores, for example, an entity name and a set of one or more sets of entities corresponding to the entity name, as shown in FIG.
  • the conversational sentence information generation unit 303 inserts one or more of the one or more entities generated by the entity generation unit 302 into the variables of the template stored in the template storage unit 102, thereby causing one or more. Generates conversational text information.
  • the conversation sentence information generation unit 303 acquires one entity from one or more entities generated by the entity generation unit 302 for each of the two or more table information, and the acquired entity is obtained.
  • One or more conversational sentence information may be generated by sequentially inserting two or more entities into two or more variables of one template stored in the template storage unit 102.
  • the initial template " ⁇ ⁇ ⁇ of ⁇ " having three variables is stored in the template storage unit 102, and the table information 1 to 3 are stored in the table storage unit 11a.
  • the conversation sentence information generation unit 303 acquires one entity "Ichiro Nakamura” among one or more entities “Ichiro Nakamura", “Jiro Otsuka”, etc. generated from the table information 1, and table information.
  • One or more entities "last month”, “yesterday”, etc. generated from 2 get one entity "last month”, and one or more entities “overtime hours”, “overtime”, etc. generated from table information 3 Get one of the entities "overtime hours”.
  • the conversation sentence information generation unit 303 sets the acquired three entities "Ichiro Nakamura", "last month”, and "overtime hours” into the three variables (first variable, second variable, and 3) of the above template. By inserting in order in the second variable), the conversational sentence information "Tell me the overtime hours of last month of Ichiro Nakamura" is acquired.
  • an ID for example, "1", “2”, etc.
  • the storage unit 10 has an ID of the variable and an ID of table information (for example, "2").
  • table information for example, "2"
  • correspondence information indicating correspondence may be stored.
  • the conversational sentence information generation unit 303 refers to the corresponding information, and the entity concerned obtains each of the two or more entities acquired from the two or more table information (for example, table information 1, table information 2, etc.). You can insert it in the variable corresponding to the acquired table information.
  • the conversation sentence information generation unit 303 inserts the acquired three entities "Ichiro Nakamura", "last month”, and "overtime hours” into the three variables of the above template by changing the order of the previous two. , Generate conversational text information "Tell me about the overtime hours of Ichiro Nakamura last month”.
  • the entity inserted in the variable may be a part of the acquired entity.
  • the preceding two characters “Nakamura” or the preceding three characters “Nakamura Ichi” may be inserted.
  • the entity acquisition means 3031 constituting the conversational sentence information generation unit 303 corresponds to the entity name associated with each of the one or more variables of the template for each of the two or more templates stored in the table storage unit 11a. Acquire one entity to be executed from the entity storage unit 15a.
  • the first to fifth templates as shown in FIG. 14 are stored in the template storage unit 102 in association with the action name “overtime hours inquiry”, and are stored in the table storage unit 11a as described above.
  • the entity acquisition means 3031 has one or more entities "Nakamura” corresponding to the entity name "employee entity” associated with the first variable with respect to the first template. Acquire one entity “Ichiro Nakamura” from “Ichiro”, “Jiro Otsuka”, etc., and one or more entities "last month”, “yesterday” corresponding to the entity name "date entity” associated with the second variable.
  • the entity acquisition means 3031 is one of one or more entities "last month”, “yesterday”, etc. corresponding to the entity name "date entity” associated with the first variable with respect to the second template. Acquire the entity "last month” and select one entity “Ichiro Nakamura” from one or more entities “Ichiro Nakamura", “Jiro Otsuka”, etc. corresponding to the entity name "employee entity” associated with the second variable. Acquires and acquires one entity “overtime hours” such as one or more entities “overtime hours” and “overtime work” corresponding to the entity name "overtime work entity” associated with the third variable.
  • the entity acquisition means 3031 may acquire one or more entities corresponding to one or more entity names by using, for example, the entity mapping information generated by the entity mapping information generation unit 304 described later. That is, the entity acquisition means 3031 refers to the entity mapping information having the entity name for each one or more entity names, and from the table identified by the table identifier having the entity mapping information, the entity mapping is performed. One or more entities corresponding to the translation item name of the information may be acquired.
  • the entity acquisition means 3031 refers to the entity mapping information 1 including the entity name and identifies it by the table identifier "MST_SHAIN” possessed by the entity mapping information 1.
  • MST_SHAIN the table identifier
  • One or more entities “Ichiro Nakamura”, “Jiro Otsuka”, etc. corresponding to the translation item name "SHAIN_NAME" possessed by the entity mapping information 1 may be acquired from the table (that is, the business master).
  • the conversation sentence generation means 3032 inserts the entity acquired by the entity acquisition means 3031 at the position of one or more variables of each of the two or more templates stored in the template storage unit 102. Generate one or more conversational sentence information.
  • the conversation sentence generation means 3032 has three of the first template.
  • the preceding two characters “Nakamura” of the entity “Ichiro Nakamura” acquired by the entity acquisition means 3031 are inserted at the position of the first variable among the variables.
  • the conversation sentence generation means 3032 inserts the acquired entity "last month” at the position of the second variable, and further inserts the acquired entity "overtime hours” at the position of the third variable.
  • the first conversational sentence information "Tell me about Nakamura's overtime hours last month" is generated.
  • the conversation sentence generation means 3032 has the acquired entity "at the position of the first variable.” Insert “Last month”, insert the previous two characters “Nakamura” of the acquired entity “Ichiro Nakamura” at the position of the second variable, and further insert the acquired entity “Overtime hours” at the position of the third variable. By inserting "”, the second conversational text information "Tell me about Nakamura's overtime hours last month” is generated.
  • the third conversational text information "Tell me the overtime hours of Nakamura” is generated, and the fourth template " ⁇ For "Tell me ⁇ overtime entity ⁇ of the date entity ⁇ ”, the fourth conversation information "Tell me the overtime hours of last month” is generated, and for the fifth template “Tell me ⁇ overtime entity ⁇ ” Then, the fifth conversational sentence information "Tell me about overtime hours” is generated.
  • the conversation sentence generation means 3032 may also generate one or more entity information for each one or more generated conversation sentence information, for example. Since the entity information has been described in the first embodiment, it will not be repeated.
  • the conversation sentence generation means 3032 extracts one or more entities possessed by one conversation sentence information, and acquires a start position, an end position, and an entity name for each of the extracted one or more entities. Then, one or more entity information having an entity, a start position and an end position, and an entity name is generated. In addition, one or more entity information generated for one conversational sentence information is associated with the one conversational sentence information by, for example, the conversational sentence information storage means 3063 described later, and is stored in the conversational sentence information storage unit 14a. It may be accumulated.
  • the conversational sentence generation means 3032 has three entities “Nakamura”, “Last month”, and “Overtime hours” is extracted, and the start position "1" and the end position "2" of the first entity “Nakamura” and the entity name "employee entity” are acquired. Further, the conversation sentence generation means 3032 acquires the start position "4" and the end position "5" of the second entity “last month” and the entity name "date entity”, and further, the third entity “overtime work”. The start position "7” and the end position "10" of "time” and the entity name “overtime entity” are acquired.
  • the conversation sentence generation means 3032 has the entity “Nakamura”, the start position “1", the end position "2", and the first entity information "Nakamura, 1, 2, employee” having the entity name "employee entity”. Create an "entity”. Further, the conversation sentence generation means 3032 has a second entity information "last month, 4, 5, date” having an entity “last month”, a start position "4", an end position "5", and an entity name "date entity”. Create an "entity”. Further, the conversation sentence generation means 3032 has a third entity information “overtime hours, 7, 10” having an entity “overtime hours”, a start position “7”, an end position “20”, and an entity name “overtime entity”. "Generate.
  • the first to third entity information generated in this way is associated with the first conversational sentence information "Tell me Nakamura's overtime hours last month" by, for example, the conversational sentence information storage means 3063 described later, and the conversational sentence. It is stored in the information storage unit 14a.
  • the conversational sentence generation means 3032 extracts three entities "last month”, “Nakamura”, and "overtime hours”.
  • the start position "1" and the end position "2" of the first entity “last month” and the entity name "date entity” are acquired.
  • the conversation sentence generation means 3032 acquires the start position "4" and the end position "5" of the second entity “Nakamura” and the entity name "employee entity", and further, the third entity "overtime work”.
  • the start position "7” and the end position "10" of "time” and the entity name "overtime entity” are acquired.
  • the conversation sentence generation means 3032 uses the first entity information "last month, 1, 2, date entity”, the second entity information “Nakamura, 4, 5, employee entity", and the third entity information "overtime hours”. , 7, 10, Overtime entity "is generated.
  • the generated first to third entity information is stored in the conversation text information storage unit 14a in association with the second conversation text information "Tell me the overtime hours of Nakamura last month”.
  • the fourth conversational text information “Tell me about overtime hours last month” the first entity information "Last month, 1, 2, date entity” and the second entity information "Overtime hours, 4, 7" , Overtime entity ”is acquired, and the acquired first and second entity information is stored in the conversation text information storage unit 14a in association with the fourth conversation text information.
  • the first entity information "overtime hours, 1, 4, overtime entities” is acquired for the fifth conversational sentence information "tell me overtime hours”, and the acquired first entity information is the fifth. It is stored in the conversation sentence information storage unit 14a in association with the conversation sentence information of.
  • the conversation sentence information storage unit 14a for example, as shown in FIG. 7, five conversation sentence information 1 to 5 are stored in association with the intent "overtime time inquiry intent", and further, the said One or more entity information is stored in association with each of the five conversational sentence information 1 to 5.
  • 16 conversational sentence information 1 to 15 are stored in association with the intent "working time data inquiry intent", and one or more conversational sentence information 1 to 15 are associated with each of the 16 conversational sentence information 1 to 15. Entity information is stored.
  • the entity mapping information generation unit 304 is a table identifier and an attribute name in the table identified by the table identifier from the table information for each one or more table information stored in the table storage unit 11a.
  • the translation item name which is the information for identifying the entity to be converted and the one entity corresponding to the translation item are acquired, and the entity name corresponding to one entity is acquired from the entity storage unit 15a, and the table identifier is obtained.
  • the generated one or more entity mapping information is stored in the entity mapping information storage unit 16a by, for example, the entity mapping information storage means 3064 described later.
  • the entity mapping information generation unit 304 has the table identifier "MST_SHAIN” from the table information 1 and the table (that is, the employee master) identified by the table identifier.
  • the entity name "employee entity” corresponding to the one entity is acquired from the entity storage unit 15a.
  • the entity mapping information generation unit 304 generates the entity mapping information 1 having the acquired table identifier "MST_SHAIN”, the acquired translation item name "SHAIN_NAME”, and the acquired entity name "employee entity”.
  • the entity mapping information generation unit 304 has the table identifier "MST_GYOUMU” from the table information 2 and the attribute name in the table (that is, the business master) identified by the table identifier. , Acquire the translation item name "GYOUMU_NAME" which is the information that identifies the entity to be converted (that is, “A matter", “B matter”, etc.) and one entity “A matter” corresponding to the translation item. At the same time, the entity name "business entity” corresponding to the one entity is acquired from the entity storage unit 15a. Then, the entity mapping information generation unit 304 generates the entity mapping information 4 having the table identifier "MST_GYOUMU", the translation item name "GYOUMU_NAME", and the entity name "business entity”.
  • the entity mapping information 3 having the table identifier "TRN_TIME_CARD", the translation item name “TIME_CARD_DATE” and the entity name "date entity”, and the table identifier "TRN_TIME_CARD” and the translation item name "ZIKANGAI_TIME” Entity mapping information 3 having the entity name "overtime entity” is generated.
  • the entity mapping information 1 to 4 and the like thus generated are stored in the entity mapping information storage unit 16a by the entity mapping information storage means 3064.
  • the entity mapping information 1 to 4 shown in FIG. 9 is stored in the entity mapping information storage unit 16a.
  • the PK item generation unit 305 specifies a table identifier and a primary key of the table identified by the table identifier from the table information for each one or more table information stored in the table storage unit 11a.
  • the identifier is acquired, and a PK item which is information having the acquired table identifier and the acquired primary key identifier is generated.
  • the PK item generation unit 305 uses the table identifier "MST_SHAIN” from the table information 1 and the main of the table (that is, the employee master) identified by the table identifier.
  • the key identifier "SHAIN_CODE” is acquired, and PK item 1 which is information having the table identifier "MST_SHAIN” and the primary key identifier "SHAIN_CODE” is generated.
  • the PK item generation unit 305 uses the table identifier "MST_GYOUMU” and the primary key identifier "GYOUMU_ID" of the table (that is, the business master) identified by the table identifier. To generate PK item 4, which is information having the table identifier "MST_GYOUMU” and the primary key identifier "GYOUMU_ID”.
  • a PK item 2 having a table identifier "TRN_TIME_CARD” and a primary key identifier "SHAIN_CODE” and a PK item 3 having a table identifier "TRN_TIME_CARD” and a primary key identifier "TIME_CARD_DATE” are generated. Will be done.
  • the PK items 1 to 4 and the like thus generated are stored in the PK item storage unit 17a by the PK item storage means 3065.
  • the PK items 1 to 4 shown in FIG. 10 are stored in the PK item storage unit 17a.
  • the storage unit 306 stores the intent generated by the intent generation unit 301 in the intent storage unit 12a, stores the entity name generated by the entity generation unit 302 in the entity storage unit 15a, and stores conversational text information.
  • One or more conversational sentence information generated by the generation unit 303 is associated with the intent and stored in the conversational sentence information storage unit 14a. It should be noted that associating the conversational sentence information with the intent includes, for example, the case where the conversational sentence information has an intent.
  • the storage unit 306 stores the intent generated by the intent generation unit 301 in the intent storage unit 12a, and associates one or more entities with one or more entity names generated by the entity generation unit 302.
  • One or more conversational sentence information stored in the entity storage unit 15a and generated by the conversational sentence information generation unit 303 may be stored in the conversational sentence information storage unit 14a in association with the intent.
  • the intent storage means 3061 constituting the storage unit 306 stores one or more intents generated by the intent generation means 3013 in the intent storage unit 12a.
  • the entity storage means 3062 is one or more entities generated by the entity generation means 3022 in association with the entity name for each one or more entity names generated by the entity name generation means 3021, and corresponds to the entity name.
  • One or more entities that are one or more words acquired from the table to be stored are stored in the entity storage unit 15a.
  • the conversational sentence information storage means 3063 associates one or more conversational sentence information generated by the conversational sentence generating means 3032 with the intent for each one or more intents generated by the intent generation means 3013. It accumulates in the storage unit 14a.
  • the conversation sentence information storage means 3063 associates one or more entity information generated by the conversation sentence generation means 3032 with the conversation sentence information for each one or more conversation sentence information generated by the conversation sentence generation means 3032, for example. It may be stored in the conversation text information storage unit 14a.
  • the entity mapping information storage unit 3064 stores one or more entity mapping information generated by the entity mapping information generation unit 304 in the entity mapping information storage unit 16a.
  • the PK item storage unit 3065 stores one or more PK items generated by the PK item generation unit 305 in the PK item storage unit 17a.
  • the output unit 40 outputs various information.
  • the various types of information include, for example, intents, entities, conversational text information, entity mapping information, PK items, and the like.
  • the output unit 40 transmits information such as an intent to the information output device 500 described in the first embodiment, but may output information via an output device such as a display or a speaker.
  • the output unit 40 is stored in, for example, one or more intents stored in the intent storage unit 12a, one or more conversational sentence information stored in the conversational sentence information storage unit 14a, and an entity storage unit 15a.
  • One or more entities, one or more entity mapping information stored in the entity mapping information storage unit 16a, and one or more PK items stored in the PK item storage unit 17a are transmitted to the information output device 500.
  • the reception unit 2 receives the information such as one or more intents
  • the processing unit 3 receives the received information such as one or more intents in the intent storage unit 12. It also performs processing to accumulate in the like.
  • FIG. 15 is a flowchart illustrating the operation of the information generation device 100.
  • Step S1501 The intent generation unit 301 acquires an action name from the first document stored in the document storage unit 101, and generates an intent having the action name.
  • Step S1502 The storage unit 306 stores the intent generated in step 1501 in the intent storage unit 12a.
  • the entity generation unit 302 acquires an attribute name from the second document stored in the document storage unit 101, and generates an entity name which is the acquired attribute name.
  • the second document may be the same document as the first document.
  • Step S1504 The storage unit 306 stores the entity name generated in step S1503 in the entity storage unit 15a.
  • Step S1505 The processing unit 30 generates a template having a variable associated with the entity name by associating the entity name generated in step 1503 with the variable of the initial template.
  • Step S1506 The storage unit 306 stores the template generated in step S1505 in the conversation text information storage unit 14a in association with the intent accumulated in step S1502. After that, the process ends.
  • the initial template has two or more variables.
  • the entity generation unit 302 generates one or more entities, and in step S1505, the processing unit 30 steps.
  • the intent generated in 1501 is associated with the last variable among the two or more variables of the initial template, and the one or more entity names generated in step 1503 are associated with the last of the two or more variables.
  • a template having one or more variables associated with entity names and variables associated with intents may be generated.
  • steps S1503 and S1506 may be replaced with the following steps S1503a and S1506a.
  • Step S1503a The entity generation unit 302 acquires an attribute name and one or more words corresponding to the attribute name from the second document stored in the document storage unit 101, and the entity name which is the acquired attribute name, And generate one or more entities that are one or more acquired words.
  • Step S1506a The storage unit 306 stores the entity name generated in step S1503a and a set of one or more entities in the entity storage unit 15a.
  • step S1507 and S1508 may be added after step S1506a.
  • Step S1507 The conversational sentence information generation unit 303 inserts one or more of the one or more entities generated in step S1503a into the variables associated with the entity names in the template accumulated in step S1506. By doing so, one or more conversational sentence information is generated.
  • Step S1508 The storage unit 306 stores one or more conversational sentence information generated in step S1507 in the conversational sentence information storage unit 14a in association with the intent accumulated in step S1502.
  • FIG. 16 is a flowchart illustrating an operation example of the information generation device 100 when the first document is an API design document and the second document is table information. Note that this flowchart is a process for one action name among one or more action names included in the API design document, and the same process is performed for other action names.
  • Step S1601 The intent generation unit 301 acquires an action name from the API design document stored in the API information storage unit 13a, and generates an intent having the action name.
  • Step S1602 The intent storage means 3061 stores the intent generated in step 1501 in the intent storage unit 12a.
  • Step S1603 The entity generation unit 302 sets the initial value "1" in the variable i.
  • the variable i in this flowchart is a variable for sequentially selecting unselected table information from one or more table information stored in the table storage unit 11a.
  • Step S1604 The entity generation unit 302 determines whether or not there is the i-th table information. If there is the i-th table information, the process proceeds to step S1605. If not, the process proceeds to step S1608.
  • Step S1605 The entity generation unit 302 acquires the attribute name and one or more words corresponding to the attribute name from the table of the i-th table information, the entity name which is the acquired attribute name, and the acquired 1 Generate one or more entities that are the above words.
  • Step S1606 The entity storage means 3062 stores one or more entities generated in step S1605 in the entity storage unit 15a in association with the entity name stored in step S1602.
  • Step S1607 The entity generation unit 302 increments the variable i. After that, the process returns to step S1604.
  • Step S1608 The processing unit 30 associates one or more entity names generated by one or more executions of steps S1604 to S1607 with one or more variables of the initial template, and makes the number or position of the variables different. Generate one or more templates.
  • Step S1609 The conversation sentence information generation unit 303 sets the initial value "1" in the variable j.
  • the variable j in this flowchart is a variable for sequentially selecting an unselected template from the one or more templates generated in step S1608.
  • Step S1610 The conversation sentence information generation unit 303 determines whether or not there is a j-th template. If there is a j-th template, the process proceeds to step S1611, otherwise the process proceeds to step S1613.
  • the conversational sentence information generation unit 303 acquires one word from each of one or more tables stored in the table storage unit 11a and inserts it at the position of one or more variables of the j-th template. Generates conversational sentence information.
  • Step S1612 The conversational sentence information generation unit 303 increments the variable j. After that, the process returns to step S1610.
  • Step S1613 The conversation sentence information generation unit 303 associates one or more conversation sentence information generated by one or more executions of steps S1610 to S1612 with the intent accumulated in step S1602 and stores the conversation sentence information. Accumulate in part 14a. After that, the process ends.
  • Specific Example 1 an intent, a set of an entity name and one or more entities, and an example sentence of a conversation sentence are used using an API design document which is a kind of the first document and table information which is a kind of the second document.
  • One or more conversational sentence information and the like are generated, but in the specific example 2 described next, an intent, an entity name, and a conversational sentence are used by using one document that also serves as the first document and the second document.
  • One or more conversational sentence information that is a template of is generated.
  • the document storage unit 101 stores, for example, a document file as shown in FIG.
  • This document file is a kind of one document that doubles as a first document and a second document.
  • This document file has a character string "expense settlement report” including an action name "expense settlement”, and also has a character string "expense” which is a part of the action name.
  • this document file also has the attribute name "employee”.
  • the action name "expense settlement” is one of one or more pre-registered intents
  • the attribute name "employee” is one of one or more pre-registered entity names. ..
  • an intent name dictionary as shown in FIG. 18 is stored in advance.
  • the intent name dictionary is a dictionary related to intent names.
  • the intent name dictionary for example, one set or two or more sets of intent names and one or more vocabulary sets are registered.
  • the registered intent name may be an action name. Therefore, the intent name dictionary may be called, for example, an action name dictionary.
  • the pair of intent name and one or more vocabulary is, for example, the pair of intent name "expense settlement” and one or more vocabulary “expense settlement, expense statement", intent name “daily work report” and one or more vocabulary " Daily work report, daily report, intent name “monthly work report” and one or more vocabulary “monthly work report, monthly report”, intent name "working hours” and one or more vocabulary “working hours, working hours” , The intent name "overtime hours” and one or more vocabulary “overtime hours, overtime”, the intent name "vacation days” and one or more vocabulary “vacation days, holidays”, etc.
  • an entity name dictionary as shown in FIG. 19 is also stored in advance.
  • the entity name dictionary is a dictionary related to entity names.
  • the registered entity name may be an attribute name. Therefore, the entity name dictionary may be called, for example, an attribute name dictionary.
  • the entity name dictionary for example, one or more pairs of entity names and one or more vocabularies are stored.
  • a pair of an entity name and one or more vocabularies is, for example, a pair of an entity name "employee” and one or more vocabulary “employees”, a pair of an entity name “workplace” and one or more vocabularies "workplace, work place”.
  • the entity name "transportation cost” and one or more vocabulary “transportation cost” the entity name "working time” and one or more vocabulary “working time, working time”, and the like.
  • the processing unit 30 extracts one or more character strings from the document file stored in the document storage unit 101.
  • the character string is usually an array of two or more characters, but includes the case of only one character.
  • the character string may also include symbols.
  • the first character string " ⁇ Be sure to get the confirmation mark of your boss on the approval list.”
  • the second character string “ ⁇ Please be sure to fill in the settlement on this form on a monthly basis.”
  • 3rd character string “[Expense settlement report]”
  • 4th character string “Target period”
  • 5th character string “June 1, 2016-June 30, 2016”
  • 6th character string “Creator”
  • 7th character string “Ichiro Nakamura”
  • 8th character string “Employee CD”
  • 9th character string “053”
  • 10th character string "creation date 11th character string "July 9, 2016"
  • the processing unit 30 performs morphological analysis on each of the extracted one or more character strings, acquires one or two or more words or symbols constituting the character string, and has a part of speech of each of the one or more words. Or specify the type of symbol. Then, the processing unit 30 uses information such as the specified part of speech to exclude one or more character strings that satisfy a predetermined condition from the extracted one or more character strings.
  • the predetermined condition is, for example, the first condition that "the extracted character string is a sentence". Whether or not the first condition is satisfied is determined based on, for example, the type and number of words constituting the character string, the part of speech of the word at the end of the character string, or the type of the symbol at the end.
  • the technique for determining whether or not a character string is a sentence is known, and detailed description thereof will be omitted.
  • the predetermined condition may be, for example, a second condition that "the extracted character string is a numerical value or a date". Whether or not the second condition is satisfied is determined based on, for example, the part of speech and the format of the character string.
  • a technique for determining whether or not a character string is a numerical value or a date is known, and detailed description thereof will be omitted.
  • the processing unit 30 excludes the character strings that meet either the first or second condition from the extracted one or more character strings. Therefore, among the 19 character strings of the first to nineteenth, the five character strings of the first, second, fifth, ninth and eleventh are excluded.
  • the processing unit 30 excludes the character strings corresponding to either the first or second condition from the extracted one or more character strings, and for each of the remaining one or more character strings, the character concerned. Determine if the column contains one or more of the symbols or punctuation marks. Then, when it is determined that one or more pieces of information among the symbols or punctuation marks are included, the processing unit 30 deletes the one or more pieces of information from the character string.
  • the intent generation unit 301 determines the degree of similarity between the character string and each of the one or more intent names registered in the intent name dictionary, or the said, for each of the remaining one or more character strings.
  • the similarity between the intent name and one or more vocabularies paired with each other is acquired, and the intent name corresponding to the highest similarity among the acquired one or more similarity is specified.
  • the similarity may be, for example, the ratio of matching characters in the character string (for example, when y characters in x characters match, the similarity degree is “y / x”, etc.), or the cosine similarity degree or the like. , The type does not matter.
  • the intent generation unit 301 determines whether or not the highest similarity is equal to or greater than or greater than the threshold value, and when it is determined that the highest similarity is equal to or greater than the threshold value or is greater than the threshold value, the intent generation unit 301 has the character string. Get the tent name.
  • the intent generation unit 301 normally does not generate an intent. However, even when it is determined that the highest similarity is less than or equal to the threshold value, the intent generation unit 301 may generate an intent having the character string.
  • the output unit 40 outputs the intent thus generated, and the reception unit 20 receives a user's instruction indicating whether or not the intent can be accumulated, and when the instruction indicating whether or not the intent can be accumulated is received, the storage unit 306 May accumulate the intent.
  • the similarity is the ratio of matching characters between the character string and the entity name or vocabulary, and the threshold value is "1/2".
  • the ratio of matching characters may be, for example, a value obtained by dividing the number of matching characters by the number of characters in a character string or the number of characters such as an entity name, whichever is larger.
  • the similarity may be, for example, the number of matching characters between the character string and the entity name or vocabulary, and the acquisition method is not limited.
  • the intent generation unit 301 first acquires the similarity between the first character string "expense settlement report” and the six intent names registered in the intent name dictionary among the remaining 14 character strings. To do. Since 4 out of 5 characters of the first character string "expense settlement report” match the first intent name "accounting settlement", the similarity "4/5" is acquired.
  • the intent generation unit 301 includes each of the two vocabularies "accounting settlement” and "accounting statement” paired with the first character string "expense settlement report” and the first intent name "accounting settlement”. You may get the similarity of. In this case, the degree of similarity "4/5" with the former vocabulary “accounting settlement” and the degree of similarity "2/5" with the latter vocabulary "accounting statement” are acquired.
  • the first character string "Expense Report” does not match any of the other five intent names, nor does it match one or more vocabularies paired with each intent name.
  • the similarity "0" is acquired for each of the five intent names and the like.
  • the intent generation unit 301 the highest similarity "4/5" among the 6 similarity or 12 similarity acquired for the first character string "expense settlement report” is the threshold value "1/2". Since it is larger than, the intent name "expense settlement” corresponding to the highest similarity is specified, and the intent including the first character string "expense settlement report” is generated.
  • the intent including the "expense settlement report” is, for example, the “expense settlement report”, but may be the "expense settlement report intent", the "expense settlement report search intent", etc., regardless of the format. ..
  • the storage unit 306 stores one or more intents generated by the intent generation unit 301 in the intent storage unit 12a.
  • the two generated intents "Expense Report” and "Expense” are accumulated.
  • the entity generation unit 302 uses the remaining one or more character strings for each one or more character strings excluding the one or more character strings that are the target of intent generation by the intent generation unit 301.
  • the similarity between the character string and one or more entity names registered in the entity name dictionary, or the similarity with one or more vocabularies paired with the entity name is acquired.
  • the entity generation unit 302 determines whether or not the highest similarity among the acquired 1 or more similarity is equal to or greater than the threshold value or greater than the threshold value, and when it is determined that the degree is equal to or greater than the threshold value or greater than the threshold value. Generates the entity name corresponding to the character string.
  • the entity generation unit 302 If it is determined that the highest degree of similarity is less than or equal to the threshold value, the entity generation unit 302 normally does not generate the entity name. However, even if it is determined that the highest similarity is less than or equal to the threshold value, the entity generation unit 302 may generate an entity name including the character string.
  • the output unit 40 outputs the entity name generated in this way, and the reception unit 20 receives a user's instruction indicating whether or not the entity name can be stored, and when the instruction indicating whether or not the storage is possible is received, the storage unit 306 May accumulate the entity name.
  • the entity generation unit 302 matches the fourth entity name "working hours” with one of the four characters, so that the similarity is "1 /”. Get 4 ".
  • the similarity "0" is acquired for each of the other entity names and the like.
  • the entity generation unit 302 determines whether or not the highest similarity “1/4” among the acquired 4 or 6 similarity is equal to or greater than the threshold value “1/2”.
  • the threshold value “1/2” since it is determined that the highest similarity "1/4" is less than the threshold value "1/2", the entity name including the first character string "target period” is not generated.
  • the fourth character string "employee CD” includes the fourth character string because the similarity with the first entity name “employee” is "2/4" and the threshold value is "1/2" or more.
  • the entity name is retrieved.
  • the entity name including the fourth character string is, for example, “employee CD”, but may be “employee CD entity” or the like, and its format does not matter.
  • the storage unit 306 stores one or more entity names generated by the entity generation unit 302 in the entity storage unit 15a.
  • the generated entity name "Employee entity is accumulated.
  • the processing unit 30 associates the generated intent "expense settlement report” with the second variable in the initial template, and assigns the generated entity name "employee CD" to the first variable.
  • the processing unit 30 associates the generated intent "expense” with the second variable in the initial template, and associates the generated entity name "employee CD” with the first variable " ⁇ .
  • the template “Show ⁇ expense ⁇ of ⁇ employee CD ⁇ ” is generated.
  • the storage unit 306 displays the two generated templates "Show ⁇ expense settlement ⁇ of ⁇ employee CD ⁇ " and “Show ⁇ expense ⁇ of ⁇ employee CD ⁇ " with the specified intent name "expense”. It is stored in the conversation text information storage unit 14a in association with "payment”.
  • the entity mapping information storage unit 16 stores entity mapping information 5 (for example, “MST_SHAIN, SHAIN_CODE, employee CD entity”, etc.), and the entity generation unit 302 stores the entity mapping.
  • entity mapping information 5 for example, “MST_SHAIN, SHAIN_CODE, employee CD entity”, etc.
  • the entity generation unit 302 stores the entity mapping.
  • the attribute values "1", “2”, etc. corresponding to the attribute name "SHAIN_CODE” are acquired from the table information 1 (that is, the employee master: see FIG. 4) identified by the table identifier "MST_SHAIN”. Then, it may be stored in the entity storage unit 15a in association with the entity name "employee CD entity”.
  • one or more entities "1", “2”, etc. corresponding to the entity name "employee CD” are also generated by using the table information 1.
  • the document file of FIG. 17 also has an attribute value "053" corresponding to the attribute name "employee CD", and the entity generation unit 302 uses this document file to correspond to the entity name "employee CD”. You may generate the entity "053".
  • the conversation sentence information generation unit 303 inserts each of the generated one or more entities into the variable ⁇ employee CD ⁇ of each of the two generated templates, thereby causing one or more conversation sentence information “employee code”.
  • the storage unit 306 stores one or more generated conversational sentence information in the conversational sentence information storage unit 14a in association with the specified intent name “expense settlement”. Thereby, the intent is supported.
  • One or more conversational sentence information is also generated.
  • the document storage unit 101 is a kind of first document having an action name which is information managed for each business process and is information for specifying the business process, and is a design related to API.
  • An API design document that is a document is stored, and one or more including a table that is a kind of a second document having an attribute name and one or more words corresponding to the attribute name, and a table identifier that identifies the table in the table storage unit 11a.
  • Table information is stored, and a template that is a conversational sentence template and has one or more variables is stored in the template storage unit 102, and the information generator 100 acquires an action name from the API design document and acquires it.
  • An intent that is information having an action name is generated, and for each one or more table information, one or more words corresponding to the attribute name and the attribute name are acquired from the table possessed by the table information, and the acquired attribute name.
  • Generate one or more entities that are the entity name and one or more words acquired acquire one entity from one or more entities generated for each one or more table information, and acquire one or more entities.
  • one or more conversation sentence information which is the information of the conversation sentence is generated, the generated intents are accumulated, and one or more for each one or more generated entity names. It is information for converting words into API parameters from API design document and table information by accumulating by associating entities and accumulating one or more generated conversational sentence information by associating with intents.
  • Intent, one or more entity information, and one or more conversational sentence information can be automatically generated.
  • one or more intents are stored in the intent storage unit 12a, and the information generation device 100 extracts one or more API information which is information having an action name and is information about API from the API design document.
  • API information which is information having an action name and is information about API from the API design document.
  • one or more entities are stored in the entity storage unit 15a, and the information generation device 100 acquires an attribute name from the table information for each one or more table information and generates an entity name which is an attribute name. For each one or more generated entity names, obtain one or more words from the table corresponding to the entity name, generate one or more entities that are one or more words, and associate them with each one or more entity names. By accumulating one or more entities, which are one or more words obtained from the table corresponding to the entity name, in the entity storage unit 15a, the entity name and the one corresponding to the entity name are stored from each of the one or more tables. The above entities can be automatically generated.
  • the conversation text information storage unit 14a stores one or more conversation text information
  • the template storage unit 102 is a template having one or more variables associated with the entity names, and the positions or numbers of the variables are set. Two or more different templates are stored, and the information generator 100 stores one entity corresponding to the entity name associated with each one or more variables of the template for each of the two or more templates in the entity storage unit 15a.
  • One or more conversation text information is generated by inserting the acquired entity at the position of one or more variables of the template for each of two or more templates obtained from, and one or more conversations generated.
  • Various conversational sentence information can be automatically generated by using.
  • one or more entity mapping information is stored in the entity mapping information storage unit 16a, and the information generation device 100 stores the table identifier and the table identified by the table identifier from the table information for each one or more table information.
  • the translation item name which is the attribute name in the above and is the information that identifies the entity to be converted, and one entity corresponding to the translation item are acquired, and the entity name corresponding to one entity is obtained from the entity storage unit 15a.
  • one or more PK items are stored in the PK item storage unit 17a, and the information generation device 100 stores a table identifier for identifying the table and a table primary key from the table information for each one or more table information.
  • the information generation device 100 stores a table identifier for identifying the table and a table primary key from the table information for each one or more table information.
  • the software that realizes the information processing device in this embodiment is, for example, the following program. That is, this program is a document storage unit that stores API design documents that are information managed for each business process, design documents having action names that are information that identifies business processes, and API design documents. 101, a table having an attribute name and one or more words corresponding to the attribute name, a table storage unit 11a for storing one or more table information including a table identifier that identifies the table, and a conversation sentence template.
  • a computer that can access the template storage unit 102 that stores a template having one or more variables acquires an action name from the API design document and generates an intent that is information having the acquired action name.
  • an attribute name and one or more words corresponding to the attribute name are acquired from the table of the table information, and the entity name which is the acquired attribute name, And, one entity is acquired from the entity generation unit 302 that generates one or more entities that are one or more acquired words, and the one or more entities that the entity generation unit 302 generates for each of the one or more table information.
  • the conversation sentence information generation unit 303 that generates one or more conversation sentence information that is the information of the conversation sentence, and the intent generation
  • the intent generated by the unit 301 is accumulated, and one or more entities are associated with each one or more entity names generated by the entity generation unit 302 and accumulated, and the conversation sentence information generation unit 303 generates 1
  • FIG. 16 is a block diagram of the information generator 200 according to the present embodiment.
  • the information generation device 200 in the present embodiment replaces the intent generation unit 301 with the intent generation unit 301a in the information generation device 100 of the second embodiment.
  • the intent generation unit 301a includes a table name extraction unit 3011a, an action name generation unit 3012a, and an intent generation unit 3013a.
  • the DB design document is stored in the document storage unit 101.
  • the DB design document is a design document related to the database.
  • the DB design document has, for example, the table name of one or more tables stored in the table storage unit 11a. Since the table name has been described in the second embodiment, it will not be repeated.
  • the DB design document usually includes one or more attribute names included in the stored table. However, the structure of the DB design document does not matter.
  • the intent generation unit 301a acquires a table name or attribute name from the DB design document stored in the document storage unit 101, and constitutes an action name having at least a part of the acquired table name or attribute name. , Generates an intent that is information with the configured action name.
  • the intent generation unit 301a acquires one or two or more attribute names from the DB design document, and configures an action name having at least a part of the attribute names for each of the acquired one or more attribute names. You may also generate an intent that is information with the configured action name.
  • the table name extracting means 3011a extracts one or more table names or one or more attribute names from the DB design document.
  • the action name generation means 3012a extracts at least a part from the table name or the attribute name for each of the extracted one or more table names or one or more attribute names, and generates an action name having the extracted part. To do.
  • the intent generation means 3013a generates an intent having one or more generated action names.
  • the DB design document includes the table name "working time table”, and the table name extracting means 3011a acquires the table name "working time table” and the like from the DB design document.
  • the action name generation means 3012a extracts a part of "working hours” from the extracted table name "working hours table”, and generates an action name "working hours inquiry” having the extracted part.
  • the intent generation means 3013a generates an intent "working data inquiry intent" having the generated action name.
  • the DB design document has, for example, one or more attribute names "ZIKANGAI_TIME”, “TOTAL_TIME”, etc. included in the table (that is, working hours table) included in the table information 3 stored in the table storage unit 11a.
  • the table name extracting means 3011a acquires the one or more attribute names "ZIKANGAI_TIME", "TOTAL_TIME”, etc. from the DB design document.
  • the action name generating means 3012a constitutes an action name "overtime hours inquiry” including the "overtime hours” obtained by converting the attribute name, and the intent generating means 3013a is Generate an intent "Overtime Inquiry Intent” with the configured action name.
  • the action name generating means 3012a constitutes an action name "working time data inquiry” including the "working hours” obtained by converting the attribute name, and the intent generating means 3013a , You may generate an intent "working time data inquiry intent" with the configured action name.
  • step S1501 is replaced with the following step S1501a (not shown) in the flowchart of FIG.
  • Step S1501a The intent generation unit 301a acquires the table name or attribute name from the DB design document stored in the document storage unit 101, and constitutes an action name having at least a part of the table name or attribute name. , Generates an intent that is information with the configured action name.
  • the document storage unit 101 is a table name including information managed for each business process and which can form at least a part of an action name which is information for specifying the business process.
  • a DB design document which is a kind of first document having an attribute name and is a design document related to a database is stored, and a second document having an attribute name and one or more words corresponding to the attribute name in the table storage unit 11a.
  • a table that is a kind, and one or more table information including a table identifier that identifies the table are stored, and a template that is a conversational sentence template and has one or more variables is stored in the template storage unit 102, and is an information generator.
  • Reference numeral 200 denotes a table name or an attribute name obtained from a DB design document, an action name having at least a part of the table name or the attribute name, and an intent which is information having the configured action name.
  • one or more words corresponding to the attribute name and the attribute name are acquired from the table of the table information, the entity name which is the acquired attribute name, and the acquired one or more words 1 Conversation by generating the above entities, acquiring one entity from one or more entities generated for each one or more table information, and inserting the acquired one or more entities into one or more variables that the template has.
  • One or more conversational sentence information that is sentence information is generated, the generated intents are accumulated, and one or more entities are associated with each one or more generated entity names and accumulated, and one or more generated entities.
  • Intent which is information for converting words into API parameters from DB design document and table information by accumulating conversation sentence information in association with intent, one or more entity information, and one or more conversation.
  • Statement information can be automatically generated.
  • one or more intents are stored in the intent storage unit 12a, and the information generation device 200 extracts one or more table names or one or more attribute names from the DB design document, and one or more table names or one or more table names or For each one or more attribute names, at least a part is extracted from the table name or the attribute name, an action name having the extracted part is generated, and an intent having each one or more generated action names is generated.
  • intents can be automatically generated from the DB design document.
  • the information generator 200 also exhibits the other effects described in the second embodiment.
  • the software that realizes the information processing device in this embodiment is, for example, the following program. That is, this program is a kind of first document having a table name or attribute name including information that can form at least a part of an action name that is information managed for each business process and is information that identifies the business process. Identifyes a document storage unit 101 that stores a DB design document, which is a design document related to a database, a table that is a kind of a second document having an attribute name and one or more words corresponding to the attribute name, and the table. A computer that can access the table storage unit 11a that stores one or more table information including the table identifier to be used, and the template storage unit 102 that is a conversational sentence template and stores a template having one or more variables.
  • An intent generator that acquires a table name or attribute name from the DB design document, configures an action name having at least a part of the table name or attribute name, and generates an intent that is information having the configured action name. For 301a and each of the above 1 or more table information, the attribute name and one or more words corresponding to the attribute name are acquired from the table of the table information, and the acquired attribute name, the entity name, and the acquired. One entity is acquired from the entity generation unit 302 that generates one or more entities that are one or more words, and the one or more entities that the entity generation unit 302 generates for each of the one or more table information.
  • the conversation sentence information generation unit 303 and the intent generation unit 301a that generate one or more conversation sentence information which is the information of the conversation sentence are generated.
  • One or more conversational sentences generated by the conversational sentence information generation unit 303, and one or more entities are associated with each one or more entity names generated by the entity generation unit 302.
  • This is a program for functioning as a storage unit 306 that stores information in association with the intent.
  • the information processing device 300 in the present embodiment is obtained by adding the function of the information generation device 100 of the second embodiment to the information output device 500 of the first embodiment.
  • the information processing device 300 may be considered as, for example, an information output device or an information generation device. Further, such a matter also applies to the information processing apparatus 400 of the fifth embodiment.
  • the information processing device 300 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 conversation text information 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. It includes a storage unit 18, a document storage unit 101, and a template storage unit 102.
  • 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, a search unit 37, and an intent generation unit 301. , Entity generation unit 302, conversational sentence information generation unit 303, entity mapping information generation unit 304, PK item generation unit 305, and storage unit 306.
  • 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 intent generation unit 301 includes API information extraction means 3011, action name acquisition means 3012, and intent generation means 3013.
  • the entity generation unit 302 includes an entity name generation means 3021 and an entity generation means 3022.
  • the conversation sentence information generation unit 303 includes an entity acquisition unit 3031 and a conversation sentence generation unit 3032.
  • the storage unit 306 includes an intent storage means 3061, an entity storage means 3062, a conversational sentence information storage means 3063, an entity mapping information storage means 3064, and a PK item storage means 3065.
  • the storage destination of the storage unit 306 is the storage unit 1.
  • the storage destination of the intent storage means 3061 is the intent storage unit 12
  • the storage destination of the entity storage means 3062 is the entity storage unit 15
  • the storage destination of the conversation text information storage means 3063 is the conversation text information storage unit.
  • the storage destination of the entity mapping information storage means 3064 is the entity mapping information storage unit 16
  • the storage destination of the PK item storage means 3065 is the PK item storage unit 17.
  • the information processing apparatus 300 automatically generates intents, one or more entity information, and one or more conversational sentence information from the API design document and the table information, and obtains the same search result.
  • Information can be searched by accepting conversational sentences that change dynamically even with inquiries.
  • the information processing device 400 according to the present embodiment is obtained by adding the function of the information generation device 200 of the third embodiment to the information output device 500 of the first embodiment.
  • the information processing device 400 replaces the intent generation unit 301 with the intent generation unit 301a.
  • the information processing apparatus 400 automatically generates intent, one or more entity information, and one or more conversational sentence information from the DB design document and the table information, and obtains the same search result.
  • Information can be searched by accepting conversational sentences that change dynamically even with inquiries.
  • the information generation device has an effect that information for converting words used in the organization into API parameters can be automatically generated by using one or more documents possessed in the organization. , Useful as an information generator, etc.

Abstract

[Problem] To automatically generate, from documents belonging to an organization, a corpus for converting organization-internal words to API parameters. [Solution] An information generation device comprising: an intent generation unit that uses a first document to acquire an action name and generates an intent, said first document having the action name or a portion of the action name, said action name being information that specifies a business process, and said intent being information that specifies a business process and being information that has an action name; an entity generation unit that uses a second document to generate an entity name, said second document having an attribute name and said entity name being an attribute name; a processing unit that associates the generated entity name with a variable in an initial template of a conversational sentence having a variable, thereby generating a template having a variable with which the entity name is associated; and an accumulation unit that accumulates intents, entity names, and templates. With this information generation device, a corpus for converting organization-internal words to API parameters can be automatically generated from documents belonging to the organization.

Description

情報生成装置、コーパスの生産方法、およびプログラムInformation generators, corpus production methods, and programs
 本発明は、コーパス等の情報を生成する情報生成装置等に関するものである。 The present invention relates to an information generator or the like that generates information such as a corpus.
 従来、企業や団体等の組織内のデータベースに対して情報検索を行うには、例えば、専用のプログラムを作成するか、検索ツールを使ってデータベースから情報を取得し、出力する技術を利用していた。 Conventionally, in order to search information in a database in an organization such as a company or an organization, for example, a technology for creating a dedicated program or acquiring information from the database using a search tool and outputting it has been used. It was.
 また、近年、ユーザが発した言葉(会話文といってもよい)でインターネット検索や予め決められた装置のオンオフを行う技術が存在した(例えば、非特許文献1参照)。 Further, in recent years, there has been a technique for performing an Internet search and turning on / off a predetermined device using words (which may be called conversational sentences) uttered by a user (see, for example, Non-Patent Document 1).
 さらに、従来、コンピュータが会話文を自然言語処理して検索や応答を行うためのコーパスは、例えば、人が手作業で入力する必要があった。 Furthermore, conventionally, a corpus for a computer to process a conversational sentence in natural language to perform a search and a response had to be manually input by a person, for example.
 しかし、会話文(自然言語文といってもよい)は、同じ検索結果を求める問合せでも、例えば、それを発する人や人が属する会社等の組織などによって、動的に変化する。例えば、特定の社員の特定の月の残業時間を問い合わせる会話文は、「中村の先月の残業時間を教えて」や「先月の中村一郎の残業を教えて」などのように、何通りも存在する。 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 the overtime hours of Nakamura last month" and "Tell me about the overtime hours of Ichiro Nakamura last month." To do.
 上記のような従来技術では、こうした、同じ検索結果を求める問合せでも動的に変化する会話文を受け付け、情報検索することが困難であった。そこで、本願発明者は、インテント、1以上のエンティティ、および1以上の会話文情報を用いて、会話文中の言葉をAPIパラメータに変換することにより、かかる情報検索が行える情報出力装置を発案した。 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. Therefore, the inventor of the present application has devised an information output device capable of performing such information retrieval by converting words in a conversational sentence into API parameters using an intent, one or more entities, and one or more conversational sentence information. ..
 この発明は、組織が持つ文書ファイルやデータベース等の1以上のドキュメントを用いて、組織内で使われる言葉を自然言語処理するためのコーパスを自動生成する装置の提供を目的とし、特に、例えば、上記情報出力装置が、かかる言葉をAPIパラメータに変換するために用いるインテント、1以上のエンティティ情報、および1以上の会話文情報を含むコーパスを自動生成できる情報生成装置を提供することを目的とする。 An object of the present invention is to provide an apparatus for automatically generating a corpus for natural language processing of words used in an organization by using one or more documents such as a document file or a database owned by the organization, and in particular, for example, An object of the above information output device is to provide an information generation device capable of automatically generating a corpus containing one or more entity information and one or more conversational sentence information, which is an intent used to convert such words into API parameters. To do.
 本第一の発明の情報生成装置は、業務処理を特定する情報であるアクション名またはアクション名の一部を有する第一ドキュメント、属性名を有する第二ドキュメント、を含む1以上のドキュメントが格納されるドキュメント格納部に格納されている第一ドキュメントを用いて、アクション名を取得し、業務処理を特定する情報であり、アクション名を有する情報であるインテントを生成するインテント生成部と、第二ドキュメントを用いて、属性名であるエンティティ名を生成するエンティティ生成部と、エンティティ生成部が生成したエンティティ名を、変数を有する会話文の初期テンプレートが格納されるテンプレート格納部に格納されている初期テンプレートが有する変数に対応付けることにより、エンティティ名が対応付いた変数を有するテンプレートを生成する処理部と、インテント生成部が生成したインテント、エンティティ生成部が生成したエンティティ名、および処理部が生成したテンプレートを蓄積する蓄積部とを具備する情報生成装置である。 The information generator of the first invention stores one or more documents including an action name or a first document having a part of the action name and a second document having an attribute name, which are information specifying business processing. An intent generation unit that acquires an action name using the first document stored in the document storage unit and generates an intent that is information that specifies a business process and has an action name. (2) Using the document, the entity generation unit that generates the entity name that is the attribute name and the entity name generated by the entity generation unit are stored in the template storage unit that stores the initial template of the conversation sentence that has the variable. By associating with the variables of the initial template, the processing unit that generates the template with the variables associated with the entity names, the intent generated by the intent generation unit, the entity name generated by the entity generation unit, and the processing unit It is an information generation device including a storage unit for storing the generated template.
 かかる構成により、組織が持つ1以上のドキュメントを用いて、組織内で使われる言葉を自然言語処理するためのコーパスを構成するインテント、エンティティ名、およびテンプレートを自動生成できる。 With this configuration, intents, entity names, and templates that make up a corpus for natural language processing of words used in the organization can be automatically generated using one or more documents owned by the organization.
 本第二の発明の情報生成装置は、第一の発明に対して、第二ドキュメントは、属性名に対応する1以上の単語をさらに有し、エンティティ生成部は、1以上の単語である1以上のエンティティをさらに生成し、蓄積部は、エンティティ名に対応付けて1以上のエンティティをさらに蓄積する情報生成装置である。 In the information generator of the second invention, with respect to the first invention, the second document further has one or more words corresponding to the attribute name, and the entity generation unit is one or more words. The storage unit is an information generation device that further generates the above entities and further stores one or more entities in association with the entity name.
 かかる構成により、エンティティ名に対応する1以上のエンティティをも自動生成できる。 With such a configuration, one or more entities corresponding to the entity name can be automatically generated.
 本第三の発明の情報生成装置は、第二の発明に対して、エンティティ生成部が生成した1以上のエンティティのうち1以上の各エンティティを、テンプレートの、エンティティ名が対応付いた変数に挿入することにより、業務処理に関する会話文の情報である1以上の会話文情報を生成する会話文情報生成部をさらに具備し、蓄積部は、会話文情報生成部が生成した1以上の会話文情報をインテントに対応付けてさらに蓄積する情報生成装置である。 For the second invention, the information generator of the third invention inserts one or more of the one or more entities generated by the entity generator into the variables associated with the entity names in the template. By doing so, a conversation sentence information generation unit that generates one or more conversation sentence information that is information on conversation sentences related to business processing is further provided, and the storage unit is one or more conversation sentence information generated by the conversation sentence information generation unit. Is an information generation device that stores more information in association with intents.
 かかる構成により、インテントに対応する1以上の会話文情報をも自動生成できる。従って、組織が持つ1以上のドキュメントを用いて、組織内で使われる言葉をAPIパラメータに変換するためのコーパスを構成するインテント、エンティティ情報、および1以上の会話文情報を自動生成できる。 With such a configuration, one or more conversational sentence information corresponding to the intent can be automatically generated. Therefore, using one or more documents possessed by the organization, it is possible to automatically generate intents, entity information, and one or more conversational sentence information that constitute a corpus for converting words used in the organization into API parameters.
 本第四の発明の情報生成装置は、第三の発明に対して、初期テンプレートは、1以上の変数を有し、処理部は、エンティティ生成部が生成した1以上のエンティティ名を初期テンプレートが有する1以上の変数に対応付け、ドキュメント格納部には、属性名および当該属性名に対応する1以上の単語を有するテーブル、および当該テーブルを識別するテーブル識別子を含む1以上のテーブル情報が格納され、第一ドキュメントは、アクション名を有する設計書であり、APIに関する設計書であるAPI設計書、または、アクション名の少なくとも一部を構成し得る情報を含むテーブル名または属性名を有する設計書であり、データベースに関する設計書であるDB設計書であり、第二ドキュメントは、テーブル格納部に格納されている1以上の各テーブル情報であり、インテント生成部は、API設計書からアクション名を取得して、または、DB設計書からテーブル名または属性名を取得し、テーブル名または属性名の少なくとも一部を有するアクション名を構成して、取得した又は構成したアクション名を有する情報であるインテントを生成し、エンティティ生成部は、1以上の各テーブル情報ごとに、当該テーブル情報が有するテーブルから属性名および当該属性名に対応する1以上の単語を取得し、取得した属性名であるエンティティ名、および、取得した1以上の単語である1以上のエンティティを生成し、会話文情報生成部は、エンティティ生成部が1以上の各テーブル情報ごとに生成した1以上のエンティティから一のエンティティを取得し、当該取得した1以上のエンティティを、テンプレートが有する、1以上のエンティティ名が対応付いた1以上の変数に挿入することにより、1以上の会話文情報を生成し、蓄積部は、インテント生成部が生成したインテントを蓄積し、かつエンティティ生成部が生成した1以上の各エンティティ名に1以上のエンティティを対応付けて蓄積し、かつ会話文情報生成部が生成した1以上の会話文情報を当該インテントに対応付けて蓄積する情報生成装置である。 In the information generator of the fourth invention, with respect to the third invention, the initial template has one or more variables, and the processing unit uses one or more entity names generated by the entity generation unit as the initial template. Corresponding to one or more variables having, the document storage unit stores one or more table information including an attribute name, a table having one or more words corresponding to the attribute name, and a table identifier that identifies the table. , The first document is an API design document which is a design document having an action name and is a design document related to API, or a design document having a table name or an attribute name including information which can form at least a part of the action name. Yes, it is a DB design document which is a design document related to the database, the second document is each one or more table information stored in the table storage unit, and the intent generation unit acquires the action name from the API design document. Or, the table name or attribute name is acquired from the DB design document, the action name having at least a part of the table name or attribute name is configured, and the intent is the information having the acquired or configured action name. Is generated, and the entity generation unit acquires the attribute name and one or more words corresponding to the attribute name from the table held by the table information for each one or more table information, and the entity name which is the acquired attribute name. , And one or more entities that are one or more acquired words are generated, and the conversational sentence information generation unit acquires one entity from one or more entities generated for each table information of one or more by the entity generation unit. Then, by inserting the acquired one or more entities into one or more variables associated with one or more entity names in the template, one or more conversational sentence information is generated, and the storage unit is intented. One or more conversational sentences generated by the conversational sentence information generation unit, and the intents generated by the generation unit are accumulated, and one or more entities are associated with each one or more entity names generated by the entity generation part. It is an information generation device that stores information in association with the intent.
 なお、上記構成において、テーブルとは、データベースの一種である。テーブルは、例えば、表形式のデータベースである。表形式のデータベースは、例えば、リレーショナルデータベースのテーブル、エクセル等のファイルであるが、その種類は問わない。ただし、テーブルは、予め表形式を有していなくてもよく、例えば、表形式に変換された又は表形式への変換が可能な文書ファイル等のデータベースであってもよい。表形式への変換が可能な文書ファイルは、例えば、ワードファイルであるが、その種類は問わない。ワード等の文書ファイルの場合、例えば、文書中に区切りを設けることにより、表形式への変換が可能となる。さらに、テーブルは、表形式の又は表形式に変換された又は表形式への変換が可能なデータベースであれば、その種類は問わない。 In the above configuration, a table is a type of database. The table is, for example, a tabular database. The tabular database is, for example, a relational database table, a file such as Excel, but the type does not matter. However, the table does not have to have a tabular format in advance, and may be, for example, a database such as a document file that has been converted into a tabular format or can be converted into a tabular format. The document file that can be converted to the tabular format is, for example, a word file, but the type does not matter. In the case of a document file such as a word, for example, by providing a delimiter in the document, conversion to a tabular format is possible. Further, the table may be of any type as long as it is a database in tabular form, converted to tabular form, or convertible to tabular form.
 なお、上記構成において、ドキュメント格納部、テーブル格納部、テンプレート格納部のうち1以上は、情報生成装置の外部に存在してもよい。なお、かかる事項は、インテント格納部、エンティティ格納部、会話文情報格納部、エンティティマッピング情報格納部、PK項目格納部等についても当てはまる。 In the above configuration, one or more of the document storage unit, the table storage unit, and the template storage unit may exist outside the information generation device. It should be noted that such a matter also applies to an intent storage unit, an entity storage unit, a conversation sentence information storage unit, an entity mapping information storage unit, a PK item storage unit, and the like.
 かかる構成により、第一ドキュメントの一種であるAPI設計書またはDB設計書、および第二ドキュメントの一種であるテーブル情報から、言葉をAPIパラメータに変換するための情報であるインテント、1以上のエンティティ情報、および1以上の会話文情報を自動生成できる。 With this configuration, API design document or DB design document which is a kind of first document, and table information which is a kind of second document, intent which is information for converting words into API parameters, one or more entities. Information and one or more conversational text information can be automatically generated.
 また、本第五の発明の情報生成装置は、第四の発明に対して、1以上のインテントが格納されるインテント格納部をさらに具備し、インテント生成部は、API設計書から、アクション名を有する情報であり、APIに関する情報である1以上のAPI情報を抽出するAPI情報抽出手段と、1以上の各API情報からアクション名を取得するアクション名取得手段と、アクション名取得手段が取得した1以上の各アクション名を有するインテントを生成するインテント生成手段とを具備し、蓄積部は、インテント生成手段が生成した1以上のインテントをインテント格納部に蓄積するインテント蓄積手段を具備する情報生成装置である。 Further, the information generation device of the fifth invention further includes an intent storage unit for storing one or more intents with respect to the fourth invention, and the intent generation unit is described from the API design document. The API information extraction means for extracting one or more API information which is information having an action name and is information about the API, the action name acquisition means for acquiring the action name from each one or more API information, and the action name acquisition means It is provided with an intent generation means for generating an intent having one or more acquired action names, and the storage unit stores one or more intents generated by the intent generation means in the intent storage unit. It is an information generation device provided with storage means.
 かかる構成により、API設計書からインテントを自動生成できる。 With this configuration, intents can be automatically generated from the API design document.
 また、本第六の発明の情報生成装置は、第四の発明に対して、1以上のインテントが格納されるインテント格納部をさらに具備し、インテント生成部は、DB設計書から1以上のテーブル名または1以上の属性名を抽出するテーブル名抽出手段と、1以上の各テーブル名または1以上の各属性名ごとに、テーブル名または属性名から少なくとも一部を抽出し、抽出した部分を有するアクション名を生成するアクション名生成手段と、アクション名生成手段が生成した1以上の各アクション名を有するインテントを生成するインテント生成手段とを具備し、蓄積部は、インテント生成手段が生成した1以上のインテントをインテント格納部に蓄積するインテント蓄積手段を具備する情報生成装置である。 Further, the information generation device of the sixth invention further includes an intent storage unit for storing one or more intents with respect to the fourth invention, and the intent generation unit is 1 from the DB design document. At least a part of the table name or attribute name is extracted and extracted for each of the above table names or one or more attribute names and one or more table names or one or more attribute names. It includes an action name generating means for generating an action name having a part and an intent generating means for generating an intent having one or more action names generated by the action name generating means, and the storage unit generates an intent. It is an information generation device including an intent storage means for accumulating one or more intents generated by the means in an intent storage unit.
 かかる構成により、DB設計書からインテントを自動生成できる。 With this configuration, intents can be automatically generated from the DB design document.
 また、本第七の発明の情報生成装置は、第五または第六の発明に対して、1以上のエンティティが格納されるエンティティ格納部をさらに具備し、エンティティ生成部は、1以上の各テーブル情報ごとに、テーブル情報から属性名を取得し、属性名であるエンティティ名を生成するエンティティ名生成手段と、エンティティ名生成手段が生成した1以上の各エンティティ名ごとに、エンティティ名に対応するテーブルから1以上の単語を取得し、一以上の単語である1以上のエンティティを生成するエンティティ生成手段とを具備し、蓄積部は、1以上の各エンティティ名に対応付けて、エンティティ名に対応するテーブルから取得された1以上の単語である1以上のエンティティをエンティティ格納部に蓄積するエンティティ蓄積手段をさらに具備する情報生成装置である。 Further, the information generation device of the seventh invention further includes an entity storage unit for storing one or more entities for the fifth or sixth invention, and the entity generation unit is one or more tables. For each information, the entity name generating means that acquires the attribute name from the table information and generates the entity name that is the attribute name, and the table corresponding to the entity name for each one or more entity names generated by the entity name generating means. It is provided with an entity generation means for acquiring one or more words from and generating one or more entities which are one or more words, and the storage unit corresponds to each one or more entity names and corresponds to the entity name. It is an information generation device further comprising an entity storage means for storing one or more entities, which are one or more words acquired from a table, in an entity storage unit.
 かかる構成により、1以上の各テーブルから、エンティティ名、および当該エンティティ名に対応する1以上のエンティティの組であるエンティティ情報を自動生成できる。 With such a configuration, an entity name and entity information that is a set of one or more entities corresponding to the entity name can be automatically generated from each of one or more tables.
 また、本第八の発明の情報生成装置は、第七の発明に対して、1以上の会話文情報が格納される会話文情報格納部をさらに具備し、テンプレート格納部には、エンティティ名が対応付けられた1以上の変数を有するテンプレートであり、変数の位置または数が異なる2以上のテンプレートが格納され、会話文情報生成部は、2以上の各テンプレートごとに、当該テンプレートが有する1以上の各変数に対応付けられたエンティティ名に対応する一のエンティティをエンティティ格納部から取得するエンティティ取得手段と、2以上の各テンプレートごとに、当該テンプレートが有する1以上の各変数の位置に、エンティティ取得手段が取得したエンティティを挿入することにより、1以上の会話文情報を生成する会話文生成手段とを具備し、蓄積部は、会話文生成手段が生成した1以上の会話文情報を、インテントに対応付けて会話文情報格納部に蓄積する会話文情報蓄積手段をさらに具備する情報生成装置である。 Further, the information generation device of the eighth invention further includes a conversational sentence information storage unit for storing one or more conversational sentence information with respect to the seventh invention, and the template storage unit has an entity name. It is a template having one or more associated variables, two or more templates having different positions or numbers of variables are stored, and the conversation sentence information generation unit has one or more for each of the two or more templates. An entity acquisition means for acquiring one entity corresponding to the entity name associated with each variable of the above from the entity storage unit, and an entity at the position of one or more variables of the template for each of two or more templates. It is provided with a conversation sentence generation means that generates one or more conversation sentence information by inserting an entity acquired by the acquisition means, and the storage unit inserts one or more conversation sentence information generated by the conversation sentence generation means. It is an information generation device further provided with a conversational sentence information storage means that is associated with a tent and stored in a conversational sentence information storage unit.
 かかる構成により、エンティティ名が対応付けられた1以上の変数を有するテンプレートであり、変数の位置または数が異なる2以上のテンプレートを用いて、多様な会話文情報を自動生成できる。 With such a configuration, it is a template having one or more variables associated with entity names, and various conversational sentence information can be automatically generated by using two or more templates having different positions or numbers of variables.
 また、本第九の発明の情報生成装置は、第七または第八の発明に対して、1以上のエンティティマッピング情報が格納されるエンティティマッピング情報格納部と、1以上の各テーブル情報ごとに、テーブル情報から、テーブル識別子と、テーブル識別子で識別されるテーブル内の属性名であり、変換されるエンティティを特定する情報である翻訳項目名と、翻訳項目に対応する一のエンティティとを取得し、かつエンティティ格納部から一のエンティティに対応するエンティティ名を取得して、テーブル識別子と翻訳項目名とエンティティ名とを有するエンティティマッピング情報を生成するエンティティマッピング情報生成部とをさらに具備し、蓄積部は、エンティティマッピング情報生成部が生成した1以上のエンティティマッピング情報をエンティティマッピング情報格納部に蓄積するエンティティマッピング情報蓄積手段をさらに具備する情報生成装置である。 Further, the information generation device of the ninth invention has an entity mapping information storage unit for storing one or more entity mapping information and one or more table information for each of the seventh or eighth invention. From the table information, obtain the table identifier, the translation item name that is the attribute name in the table identified by the table identifier and is the information that identifies the entity to be converted, and one entity corresponding to the translation item. In addition, the storage unit further includes an entity mapping information generation unit that acquires an entity name corresponding to one entity from the entity storage unit and generates entity mapping information having a table identifier, a translation item name, and an entity name. , An information generation device further comprising an entity mapping information storage unit that stores one or more entity mapping information generated by the entity mapping information generation unit in the entity mapping information storage unit.
 かかる構成により、1以上のテーブル情報から、テーブル識別子と翻訳項目名とエンティティ名とを有する1以上のエンティティマッピング情報を自動生成できる。 With such a configuration, one or more entity mapping information having a table identifier, a translation item name, and an entity name can be automatically generated from one or more table information.
 また、本第十の発明の情報生成装置は、第四から第九いずれか1つの発明に対して、1以上のPK項目が格納されるPK項目格納部と、1以上の各テーブル情報ごとに、テーブル情報から、テーブルを識別するテーブル識別子と、テーブルの主キーを特定する主キー識別子とを取得して、テーブル識別子と主キー識別子とを有する情報であるPK項目を生成するPK項目生成部とをさらに具備し、蓄積部は、PK項目生成部が生成した1以上のPK項目をPK項目格納部に蓄積するPK項目蓄積手段をさらに具備する情報生成装置である。 Further, the information generator of the tenth invention has a PK item storage unit for storing one or more PK items and one or more table information for each of the fourth to ninth inventions. , PK item generator that acquires a table identifier that identifies a table and a primary key identifier that identifies a primary key of a table from the table information, and generates a PK item that is information having the table identifier and the primary key identifier. The storage unit is an information generation device further comprising a PK item storage unit that stores one or more PK items generated by the PK item generation unit in the PK item storage unit.
 かかる構成により、1以上のテーブル情報から、テーブル識別子と主キー識別子とを有する1以上のPK項目を自動生成できる。 With such a configuration, one or more PK items having a table identifier and a primary key identifier can be automatically generated from one or more table information.
 本発明によれば、組織が持つ文書ファイルやデータベース等の1以上のドキュメントを用いて、組織内で使われる言葉を自然言語処理するためのコーパスを自動生成できる。また、組織内で使われる会話文であり、同じ検索結果を求める問合せでも動的に変化する会話文を受け付け、情報検索する情報出力装置が用いるコーパスであり、言葉をAPIパラメータに変換するための情報であるインテント、1以上のエンティティ情報、および1以上の会話文情報を含むコーパスを自動生成する情報生成装置が実現される。 According to the present invention, it is possible to automatically generate a corpus for natural language processing of words used in an organization by using one or more documents such as a document file or a database owned by the organization. In addition, it is a conversational sentence used in the organization, and it is a corpus used by an information output device that accepts a conversational sentence that changes dynamically even in a query for the same search result and searches for information, and is used to convert words into API parameters. An information generator is realized that automatically generates a corpus including intents that are information, one or more entity information, and one or more conversational sentence information.
実施の形態1における情報出力装置のブロック図Block diagram of the information output device according to the first embodiment 同情報出力装置の動作を説明するフローチャートFlow chart explaining the operation of the information output device 同パラメータ取得処理を説明するフローチャートFlow chart explaining the parameter acquisition process 同テーブル情報のデータ構造図Data structure diagram of the table information 同インテントのデータ構造図Data structure diagram of the intent 同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 conversation sentence information storage part 同各エンティティ名に対応する1以上のエンティティの例を示す図The figure which shows the example of one or more entities corresponding to each entity name. 同エンティティマッピング情報のデータ構造図Data structure diagram of the same entity mapping information 同PK項目のデータ構造図Data structure diagram of the same PK item 同コンピュータシステムの外観図External view of the computer system 同コンピュータシステムの内部構成の一例を示す図Diagram showing an example of the internal configuration of the computer system 実施の形態2における情報生成装置のブロック図Block diagram of the information generator according to the second embodiment 同テンプレート格納部の内容の一例を示す図The figure which shows an example of the contents of the template storage part 同情報生成装置の動作を説明するフローチャートFlow chart explaining the operation of the information generator 同情報生成装置の詳細な動作例を説明するフローチャートA flowchart illustrating a detailed operation example of the information generator. 同文書ファイルの一例を示す図Diagram showing an example of the document file 同インテント名辞書のデータ構造図Data structure diagram of the intent name dictionary 同エンティティ名辞書のデータ構造図Data structure diagram of the same entity name dictionary 実施の形態3における情報生成装置のブロック図Block diagram of the information generator according to the third embodiment 実施の形態4における情報処理装置のブロック図Block diagram of the information processing device according to the fourth embodiment 実施の形態5における情報処理装置のブロック図Block diagram of the information processing device according to the fifth embodiment
 以下、情報生成装置、情報出力装置等の実施形態について図面を参照して説明する。なお、各実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。 Hereinafter, embodiments of the information generation device, information output device, etc. will be described with reference to the drawings. Since the components with the same reference numerals perform the same operation in each embodiment, the description may be omitted again.
 実施の形態1では、組織内で使われる会話文であり、同じ検索結果を求める問合せでも動的に変化する会話文を受け付け、情報検索が行える情報出力装置について説明する。 In the first embodiment, an information output device that is a conversational sentence used in an organization and can accept a conversational sentence that dynamically changes even in an inquiry for the same search result and perform an information search will be described.
 実施の形態2では、上記情報出力装置が用いるコーパスであり、組織内で使われる言葉をAPIパラメータに変換するためのインテント、1以上のエンティティ情報、および1以上の会話文情報を含むコーパスを、組織が持つ1以上のドキュメントを用いて自動生成する装置について説明する。特に、かかるコーパスを、第一ドキュメントの一種であるAPI設計書、および第二ドキュメントの一種であるテーブ情報を用いて自動生成する情報生成装置について説明する。 In the second embodiment, the corpus used by the information output device is an intent for converting words used in the organization into API parameters, and a corpus including one or more entity information and one or more conversational sentence information. , A device that automatically generates using one or more documents possessed by an organization will be described. In particular, an information generator that automatically generates such a corpus using an API design document, which is a kind of first document, and table information, which is a kind of second document, will be described.
 実施の形態3では、上記コーパスを、第一ドキュメントの一種であるDB設計書、および上記テーブ情報を用いて自動生成する情報生成装置について説明する。 In the third embodiment, the DB design document, which is a kind of the first document, and the information generation device that automatically generates the corpus using the table information will be described.
 実施の形態4では、API設計書、およびテーブ情報を用いて、インテント、1以上のエンティティ情報、および1以上の会話文情報を含むコーパスを自動生成し、当該コーパスを用いて、組織内で使われる会話文であり、同じ検索結果を求める問合せでも動的に変化する会話文を受け付け、情報検索することができる情報処理装置について説明する。 In the fourth embodiment, the API design document and the table information are used to automatically generate a corpus containing intent, one or more entity information, and one or more conversational sentence information, and the corpus is used in the organization. An information processing device that is a conversational sentence to be used and can accept a conversational sentence that changes dynamically even in a query for the same search result and search for information will be described.
 実施の形態5では、DB設計書、およびテーブ情報を用いて上記コーパスを自動生成し、当該コーパスを用いて、上記会話文を受け付け、情報検索することができる情報処理装置について説明する。 In the fifth embodiment, an information processing device capable of automatically generating the corpus using the DB design document and the table information, accepting the conversational sentence, and searching for information using the corpus will be described.
 (実施の形態1)
 本実施の形態における情報出力装置500は、例えば、サーバである。サーバは、例えば、情報検索等のサービスを提供する企業内のサーバであるが、クラウドサーバやASPサーバ等でもよく、そのタイプは問わない。サーバは、例えば、LANやインターネット等のネットワーク、無線または有線の通信回線などを介して、1または2以上の端末(図示しない)と通信可能に接続される。端末は、例えば、情報検索等のサービスを利用するユーザの携帯端末であるが、据え置き型のPC等でもよく、そのタイプは問わない。携帯端末は、例えば、タブレット端末、スマートフォン、携帯電話機、ノートPC等であるが、その種類は問わない。
(Embodiment 1)
The information output device 500 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.
 ただし、情報出力装置500は、例えば、スタンドアロンの端末でもよく、その実現手段は問わない。 However, the information output device 500 may be, for example, a stand-alone terminal, and the means for realizing it does not matter.
 図1は、本実施の形態における情報出力装置500のブロック図である。情報出力装置500は、格納部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 the information output device 500 according to the present embodiment. The information output device 500 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 conversation text information 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. The information storage 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以上のテーブルが格納される。テーブルとは、業務処理に用いられるデータベースの一種である。データベースとは、コンピュータが検索や蓄積等を容易に行えるように構造化された情報の集合である、といってもよい。 One or two or more tables are stored in the table storage unit 11. A table is a type of database used for business processing. It can be said that a database is a set of information structured so that a computer can easily search and store it.
 業務処理とは、業務に関する処理である。業務は、例えば、会社や団体等の組織で行われる仕事である、といってもよい。業務は、例えば、定時までの勤務、定時後の残業、休暇、欠勤、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, a search for information. 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. Further, it may be said that the database used for business processing is, for example, a local database in the organization.
 テーブルは、例えば、表形式のデータベースであってもよい。テーブルには、例えば、1または2以上の項目名が登録され、さらに、当該1以上の各項目名ごとに、1または2以上の値が登録される。なお、項目名は、属性名といってもよいし、一の項目名に対応する1以上の各値は、属性値といってもよい。また、テーブルは、例えば、リレーショナルデータベースのテーブル、TSV、エクセル、CSV等であるが、その種類は問わない。属性名とは、属性の名称であり、属性値とは、属性が取り得る値である、といってもよい。属性とは、データが持つ性質であり、リレーショナルデータベースにおけるフィールドの各項目である、といてもよい。 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. It can be said that the attribute name is the name of the attribute and the attribute value is a value that the attribute can take. An attribute is a property of data and may be an item of a field in a relational database.
 ただし、テーブルは、予め表形式を有していなくてもよく、例えば、表形式に変換された又は表形式への変換が可能な文書ファイルのデータベースであってもよい。表形式への変換が可能な文書ファイルは、例えば、ワードファイルであるが、メールやチャットやテキスト等のファイルでもよく、その種類は問わない。ワード等の文書ファイルの場合、例えば、文字列中に区切りを設けることにより、表形式への変換が可能となる。さらに、テーブルは、業務処理に用いられるデータベースであり、表形式の又は表形式に変換された又は表形式への変換が可能なデータベースであれば、その種類は問わない。 However, the table does not have to have a tabular format in advance, and may be, for example, a database of document files that have been converted to a tabular format or can be converted to a tabular format. The document file that can be converted to the tabular format is, for example, a word file, but it may be a file such as an email, chat, or text, and the type is not limited. In the case of a document file such as a word, conversion to a tabular format is possible by providing a delimiter in the character string, for example. Further, the table is a database used for business processing, and any type of database can be used as long as it is a database in tabular form, converted to tabular form, or convertible to tabular form.
 格納されるテーブルは、具体的には、例えば、社員マスタ、業務マスタ、勤務時間テーブルなどである。社員マスタには、社員に関するマスタデータが登録される。社員に関するマスタデータとは、例えば、社員コード、社員名等のデータであるが、その種類は問わない。業務マスタには、業務に関するマスタデータが登録される。業務に関するマスタデータとは、例えば、業務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 an 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.
 インテントは、通常、業務処理を特定するアクション名を有する。アクション名とは、アクションの名称である。アクションとは、通常、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情報に対応付けられる、と考えてもよい。 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. It can be said that the API is an application programming interface and 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. It can be said that an entity is a word included in a conversational sentence. The entity will be described later. 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 Web API information, for example.
 会話文情報格納部14には、1または2以上の会話文情報が格納される。会話文情報とは、会話文の情報である。会話文情報は、通常、会話文の例文である。例文は、例えば、“中村の先月の残業時間を教えて”や“中村の昨日のA案件の勤務時間を教えて”等であるが、その内容は問わない。 Conversational sentence information storage unit 14 stores one or more conversational sentence 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.
 ただし、会話文情報は、会話文のテンプレートであってもよい。テンプレートは、例えば、“{社員エンティティ}の{日付エンティティ}の{残業エンティティ}を教えて”や“{社員エンティティ}の{日付エンティティ}の{業務エンティティ}の{勤務時間エンティティ}を教えて”等であるが、その形式は問わない。なお、テンプレートに含まれる{社員エンティティ}等の“{”,“}”で表現される情報は、例えば、変数と呼んでもよい。また、エンティティ、および「社員エンティティ」等のエンティティ名については後述する。 However, the conversational sentence information may be a template of the conversational sentence. 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, for example, one or more conversational sentence information is stored in the conversational sentence information storage unit 14 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 conversation sentence information storage unit 14 usually stores one or more entity information for each one or more stored conversation sentence information. Entity information is information about an entity. The entity information is, for example, information about one or more entities corresponding to one conversational sentence information. The entity information may be, for example, an entity, an entity name, or information indicating the position or order of the entity in a conversational sentence. The entity information has, for example, an entity and an entity name. 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 name of the entity may be, for example, the attribute 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以上の変数において、当該エンティティ名が何番目の変数に対応するかを示す値である。ただし、エンティティ情報は、例えば、エンティティ名、および当該エンティティ名に対応付いた1または2以上のエンティティの組などでもよく、その構造は問わない。 Alternatively, the entity information may have, for example, an entity name, an entity, and an order information when the conversational sentence information is a template. 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 entity information may be, for example, an entity name and a set of one or two or more entities corresponding to the entity name, and the structure thereof does not matter.
 会話文情報格納部14には、具体的には、例えば、会話文情報“中村の先月の残業時間を教えて”と、これに対応する3つのエンティティ情報“中村,1,2,社員エンティティ”,“先月,4,5,日付エンティティ”,および“残業時間,7,10,残業エンティティ”が格納されていてもよい。 Specifically, in the conversation text information storage unit 14, for example, conversation text information "Tell me about Nakamura's overtime hours last month" and three corresponding entity information "Nakamura, 1, 2, employee entities" , "Last month, 4, 5, date entity", and "overtime hours, 7, 10, overtime entity" may be stored.
 なお、本実施の形態におけるコーパスとは、コンピュータが自然言語処理を行うための情報の集合であり、組織内で使われる会話文に関する情報の集合である。コーパスは、例えば、会話文情報格納部14に格納されている1以上の会話文情報の各々と考えてもよいし、1以上の会話文情報、および各会話文情報に対応付いているエンティティ情報の集合と考えることもできる。または、コーパスは、1以上の会話文情報等に加えて、例えば、当該1以上の会話文情報等を生成するためのインテント、エンティティ名、当該エンティティ名に対応付いた1以上のエンティティなども含むと考えてもよい。 The corpus in the present embodiment is a set of information for the computer to perform natural language processing, and is a set of information related to conversational sentences used in the organization. The corpus may be considered as each of one or more conversational sentence information stored in the conversational sentence information storage unit 14, for example, one or more conversational sentence information, and entity information corresponding to each conversational sentence information. Can be thought of as a set of. Alternatively, in addition to one or more conversational sentence information, the corpus also includes, for example, an intent for generating the one or more conversational sentence information, an entity name, and one or more entities corresponding to the entity name. It may be considered to include.
 エンティティ格納部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 of the conversational text information stored in the conversational text information 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 conversational sentence information 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 a start date to an 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, the day information acquisition information for the day word "last month" is, for example, the current time information (for example, "May 10, 2019 11:15": the same applies hereinafter), and the current time information has the information. The previous month (for example, "April") is acquired for the month (for example, "May"), and the day information (for example, the first day to the last day of the previous month) is referred to by referring to the calendar information 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 of the day before the day held by the current time information (for example, "5/9"), 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 conversation 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, a 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 conversation sentence information storage unit 14 using the intent determined by the intent determination unit 31 as a key, and receives the conversation sentence from one or more conversation sentence information corresponding to the intent. The conversation sentence information most similar to the conversation sentence received by the part 21 is determined.
 会話文に最も近似する会話文情報とは、例えば、会話文に対する類似度が最も高い会話文情報である。すなわち、会話文情報決定部32は、例えば、受け付けられた会話文と、決定されたインテントに対応する1以上の各会話文情報との類似度を算出し、類似度が最大の会話文情報を決定する。 The conversational sentence information that most closely resembles the conversational sentence is, for example, the conversational sentence information having 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 conversation sentence information 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 of the received conversation sentences. The position of the entity name is acquired, and the template corresponding to the position of the acquired entity name is determined as the 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 the end position of each one or more entities corresponding to the determined conversation sentence information from the conversation sentence information storage unit 14, and receives the conversation. Obtain the word specified by the start position and the end position from the sentence.
 具体的には、前述したように、例えば、会話文情報格納部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 sentence information "Tell me the overtime hours of Nakamura last month" and the corresponding three entity information "Nakamura, 1, 2" are sent to the conversation sentence information storage unit 14. , Employee entity "," Last month, 4, 5, Date entity ", and" Overtime hours, 7, 10, Overtime entity "are stored, and the conversation sentence reception department 21 stores the conversation sentence" Otsuka's last month's overtime hours. When "Tell me" is accepted and the conversation sentence information determination unit 32 determines the above conversation sentence information "Tell me the overtime work hours of Nakamura last month", the entity acquisition unit 33 receives the conversation sentence "Otsuka's overtime work last month". From "Tell me the time", the word "Otsuka" specified by the start position "1" and the end position "2" of the first entity information, the start position "4" of the second entity information, and The word "last month" specified by the end position "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 342. 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 sentence "Tell me the overtime hours of Otsuka last month", the entity name acquisition means. 343 accepts among the three entity information stored in association with the conversational sentence information in the conversational sentence information "Tell me Nakamura's overtime hours last month" stored in the conversational sentence information storage unit 14. Corresponds to "Nakamura" using the first entity information that has the same start position "1" and end position "2" as "Otsuka" in the conversation sentence "Tell me about the overtime hours of Otsuka last month". To get the "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 hour 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 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, conversational text information storage unit 14, entity storage unit 15, entity mapping information storage unit 16, PK item storage unit 17, and day conversion information. The storage unit 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等で記憶されるようになってもよい。入力デバイスは、例えば、キーボード、マウス、タッチパネル、マイクロフォン等、何でもよい。なお、格納部1等に関する上記事項は、実施の形態2で説明する格納部10等にも当てはまる。 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. The above items regarding the storage unit 1 and the like also apply to the storage unit 10 and the like described in the second embodiment.
 なお、格納部1等は、情報出力装置500の外部にあってもよい。つまり、テーブル等の情報は、情報出力装置500のコンピュータがアクセス可能な外部の記録媒体に格納されてもよい。また、かかる事項は、実施の形態2で説明する格納部10等にも当てはまる。 The storage unit 1 and the like may be outside the information output device 500. That is, the information such as the table may be stored in an external recording medium accessible to the computer of the information output device 500. Further, such a matter also applies to the storage unit 10 and the like described in the second embodiment.
 受付部2、会話文受付部21、音声受付手段211、および音声認識手段212は、入力デバイスを含むと考えても、含まないと考えてもよい。受付部2等は、入力デバイスのドライバーソフトによって、または入力デバイスとそのドライバーソフトとで実現され得る。なお、かかる事項は、実施の形態2で説明する受付部20にも当てはまる。 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. It should be noted that such a matter also applies to the reception unit 20 described in the second embodiment.
 処理部3、インテント決定部31、会話文情報決定部32、エンティティ取得部33、パラメータ取得部34、API情報取得部35、問合情報構成部36、検索部37、判断手段341、日情報取得手段342、エンティティ名取得手段343、翻訳項目名取得手段344、テーブル識別子取得手段345、主キー識別子取得手段346、および変換パラメータ取得手段347は、通常、MPUやメモリ等から実現され得る。処理部3等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。ただし、処理手順は、ハードウェア(専用回路)で実現してもよい。なお、かかる事項は、実施の形態2で説明する処理部30等、および実施の形態3で説明するインテント生成部301a等にも当てはまる。 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). It should be noted that such a matter also applies to the processing unit 30 and the like described in the second embodiment and the intent generation unit 301a and the like described in the third embodiment.
 出力部4、および検索結果出力部41は、ディスプレイやスピーカ等の出力デバイスを含むと考えても含まないと考えてもよい。出力部4等は、出力デバイスのドライバーソフトによって、または出力デバイスとそのドライバーソフトとで実現され得る。なお、かかる事項は、実施の形態2で説明する出力部40にも当てはまる。 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. It should be noted that such a matter also applies to the output unit 40 described in the second embodiment.
 なお、受付部2等の受信機能は、通常、無線または有線の通信手段(例えば、NIC(Network interface controller)やモデム等の通信モジュール)で実現されるが、放送を受信する手段(例えば、放送受信モジュール)で実現されてもよい。なお、かかる事項は、実施の形態2で説明する受付部20の受信機能にも当てはまる。また、出力部4等の送信機能は、通常、無線または有線の通信手段で実現されるが、放送手段(例えば、放送モジュール)で実現されてもよい。なお、かかる事項は、実施の形態2で説明する出力部40の送信機能にも当てはまる。 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). It should be noted that such a matter also applies to the reception function of the reception unit 20 described in the second embodiment. 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). It should be noted that such a matter also applies to the transmission function of the output unit 40 described in the second embodiment.
 次に、情報出力装置500の動作について図2および図3のフローチャートを用いて説明する。 Next, the operation of the information output device 500 will be described with reference to the flowcharts of FIGS. 2 and 3.
 図2は、情報出力装置500の動作を説明するフローチャートである。なお、1以上の各端末から端末識別子と対に会話文が送信される場合、図2および図3のフローチャートは、1以上の各端末識別子ごとに実行される。 FIG. 2 is a flowchart illustrating the operation of the information output device 500. When a conversational sentence is transmitted from one or more terminals to a pair with the 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のフローチャートにおいて、情報出力装置500の電源オンやプログラムの起動に応じて処理が開始し、電源オフや処理終了の割り込みにより処理は終了する。ただし、処理の開始または終了のトリガは問わない。 In the flowchart of FIG. 2, the process starts when the power of the information output device 500 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 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-level 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.
 以下、本実施の形態における情報出力装置500の具体的な動作例について説明する。なお、以下の説明は、種々の変更が可能であり、本発明の範囲を何ら制限するものではない。 Hereinafter, a specific operation example of the information output device 500 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.
 本例における情報出力装置500は、スタンドアロンの端末である。情報出力装置500のテーブル格納部11には、例えば、図4に示すような3つのテーブル情報が格納されている。図4は、テーブル情報のデータ構造図である。テーブル情報は、テーブル識別子、およびテーブルを有する。格納される各テーブル情報には、ID(例えば、“1”,“2”等)が対応付いている。 The information output device 500 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 500. 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 conversation sentence information storage unit 14 stores one or more conversation sentence information in association with each one or more intents, and further, each one or more conversation sentences. One or more entity information is also stored in association with the information. FIG. 7 is a diagram showing an example of the contents of the conversation text information 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. As described above, the pair of the entity name and the entity group may be considered as the entity information.
 例えば、エンティティ名“社員エンティティ”に対応するエンティティ群は、“中村一郎”,“大塚二郎”などを含む。エンティティ名“日付エンティティ”に対応するエンティティ群は、“先月”,“昨日”などを含む。エンティティ名“残業エンティティ”に対応するエンティティ群は、“残業時間”,“残業”などを含む。エンティティ名“業務エンティティ”に対応するエンティティ群は、“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 possessed 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 for 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.
 情報出力装置500において、音声受付手段211がマイクロフォンを介して上記音声を受け付け、音声認識手段212は、当該音声に対して音声認識処理を行い、会話文「大塚の先月の残業時間を教えて」を取得する。 In the information output device 500, the voice receiving means 211 receives the above voice via the microphone, the voice recognition means 212 performs voice recognition processing on the voice, and the conversation sentence "Tell me the overtime hours of Otsuka last month". To 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 conversational sentence information determination unit 32 refers to the conversational sentence information storage unit 14 (FIG. 7), and is the closest to the conversational sentence from the five conversational sentence information 1 to 5 corresponding to the determined intent 1. Determine the conversational text information to be used. 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". Acquire the third converted parameters "sta_date = 2019041" and "end_date = 20190430".
 次に、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 obtains the acquired entity name. The translation item name "ZIKANGAI_TIME" paired with the "overtime entity" is acquired 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" that are 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" obtained by totaling 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 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" and "time_caed_date = 20190509". , "Trn_time_card", and "zikangai_time" are acquired, and the inquiry information configuration unit 36 may configure the inquiry information "select_zikangai_time_from_trans_time_card_where_shine_code = 2, time_code = 2, time_code = 2, time_code".
 (変形例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 " "Shin_code = 2", "sta_date = 2019041", "end_date = 20190430", and "zikangai_time" are acquired, and the inquiry information configuration unit 36 acquires the inquiry information "http://develop.soppra ...? Shan_code =" 2 & sta_date = 2019041 & end_date = 20190430 ”may be configured.
 以上、本実施の形態によれば、インテント格納部12に、業務処理ごとに管理される情報であり、業務処理を特定するアクション名を有する情報である1以上のインテントが格納され、API情報格納部13に、インテントに対応付いている情報であり、情報検索を行うための情報であり、1以上の変数であるパラメータを特定する情報を有する情報である1以上のAPI情報が格納され、会話文情報格納部14に、インテントに対応付く情報であり、会話文の情報である1以上の会話文情報が格納され、エンティティ格納部15に、いずれか1以上の会話文情報に対応付く単語である1以上のエンティティが格納され、情報出力装置500は、会話文を受け付け、受け付けた会話文に対応するインテントを決定し、決定したインテントに対応する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 conversation sentence information storage unit 14 stores one or more conversation sentence information which is information corresponding to the intent and is the conversation sentence information, and the entity storage unit 15 stores any one or more conversation sentence information. One or more entities that are words to be associated with each other are stored, and the information output device 500 receives a conversation sentence, determines an intent corresponding to the received conversation sentence, and one or more conversation sentence information corresponding to the determined intent. From among them, determine the conversational sentence information that most closely resembles the received conversational sentence, and correspond to one or more entities corresponding to the determined conversational sentence information, and one or more words that the received conversational sentence has. Acquire the entity, acquire one or more parameters corresponding to each of the acquired one or more entities, acquire the API information corresponding to the determined intent from the API information storage unit 13, and acquire the acquired one or more parameters. The same search result can be obtained by constructing the inquiry information for information search using the acquired API information, executing the configured inquiry information, acquiring the search result, and outputting the acquired search result. Information can be searched by accepting dynamically changing conversational sentences even for the requested inquiry.
 また、情報出力装置500は、受け付けた会話文に対応するテキストを取得し、テキストから1以上の自立語を取得し、1以上の自立語と同一または類似する単語を有するアクション名を有するインテントを決定することにより、同じ検索結果を求める問合せでも動的に変化する会話文を受け付け、情報検索することができる。 Further, the information output device 500 acquires a text corresponding to the received conversational sentence, acquires one or more independent words from the text, and has an intent having an action name having a word that is the same as or similar to one or more independent words. By deciding, it is possible to accept dynamically changing conversational sentences and search for information even with a query for the same search result.
 また、日変換情報格納部18に、日に関する単語である日単語と、日単語に対応する日に関する情報であり、問合情報を構成する際に使用する情報である日情報を取得するための日情報取得情報とを有する1以上の日変換情報が格納され、情報出力装置500は、取得した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 500 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 day information, which is a parameter, 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.
 なお、上記構成において、情報出力装置500は、取得した1以上のエンティティの中に日単語が存在するか否かを判断し、日単語が存在すると判断した場合に、日単語に対応する日変換情報を日変換情報格納部18から取得し、日変換情報を用いて、パラメータである日情報を取得してもよい。これにより、日単語の有無によらず、同じ検索結果を求める問合せでも動的に変化する会話文を受け付け、適切に情報検索することができる。 In the above configuration, the information output device 500 determines whether or not the day word exists in one or more acquired entities, and when it is determined that the day word exists, the day conversion corresponding to the day word is performed. The information 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項目が格納され、情報出力装置500は、取得したエンティティに対応するエンティティ名を取得し、取得したエンティティ名と対になる翻訳項目名をエンティティマッピング情報格納部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 the above are stored, and the information output device 500 acquires the entity name corresponding to the acquired entity, and the translation item name paired with the acquired entity name. Is acquired from the entity mapping information storage unit 16, the table identifier paired with the acquired entity name is acquired from the entity mapping information storage unit 16, and the primary key identifier paired with the acquired table identifier is obtained from the PK item storage unit 17. Conversion that the attribute value of the acquired translation item name from the acquired table identified by the acquired table identifier 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 obtained parameters, it is possible to accept dynamically changing conversational sentences even in a query for the same search result, and to appropriately search for information.
 また、情報出力装置500は、取得したAPI情報が有する1以上の各変数の箇所に、各箇所に対応付くパラメータであり、取得したパラメータを配置し、問合情報を構成することにより、同じ検索結果を求める問合せでも動的に変化する会話文を受け付け、情報検索することができる。 Further, the information output device 500 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 is performed by arranging the acquired parameters and configuring the inquiry information. Information can be searched by accepting dynamically changing conversational sentences even when inquiring for results.
 また、情報出力装置500は、会話文の音声を受け付け、音声に対して音声認識処理を行い、文字列である会話文を取得することにより、同じ検索結果を求める問合せでも動的に変化する音声による会話文を受け付け、情報検索することができる。 Further, the information output device 500 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 the voice dynamically changes even in the inquiry for the same search result. You can search for information by accepting conversational sentences.
 さらに、本実施の形態における処理は、ソフトウェアで実現してもよい。そして、このソフトウェアをソフトウェアダウンロード等により配布してもよい。また、このソフトウェアを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.
 なお、本実施の形態における情報出力装置500を実現するソフトウェアは、例えば、以下のようなプログラムである。つまり、このプログラムは、業務処理ごとに管理される情報であり、業務処理を特定するアクション名を有する情報である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 500 according to the present 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. Conversational sentence information storage unit 14 that stores one or more conversational sentence information that is attached information and is conversational sentence information, and one or more entities that are words corresponding to any one or more conversational sentence information are stored. The computer that can access the entity storage unit 15 is the conversation sentence reception unit 21 that accepts conversation sentences, the intent determination unit 31 that determines the intent corresponding to the conversation sentence received by the conversation sentence reception unit 21, and the above. Conversational sentence information determination unit 32 that determines the conversational sentence information that most closely resembles the conversational sentence received by the conversational sentence reception unit 21 from among one or more conversational sentence information corresponding to the intent determined by the intent determination unit 31. And one or more entities corresponding to each one or more entities corresponding to the conversational sentence information determined by the conversational sentence information determination unit 32, and one or more entities which are words possessed by the conversational sentence received by the conversational sentence reception unit 21. Corresponds to the entity acquisition unit 33 to be acquired, 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 intent determined by the intent determination unit 31. The API information acquisition unit 35 that acquires the API information to be generated 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 are used. The inquiry information configuration unit 36 that constitutes inquiry information for information search, the search unit 37 that executes inquiry information configured by the inquiry information configuration unit 36 and acquires search results, and the search unit 37. This is a program for functioning as a search result output unit 41 that outputs the search results acquired by.
 図11は、本実施の形態におけるプログラムを実行して、情報出力装置500を実現するコンピュータシステム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 the program according to the present embodiment to realize the information output device 500. 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 bootup 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に、情報出力装置500の機能を実行させるプログラムは、例えば、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 500 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に、情報出力装置500の機能を実行させるオペレーティングシステム(OS)、またはサードパーティプログラム等を必ずしも含んでいなくてもよい。プログラムは、制御された態様で適切な機能やモジュールを呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいてもよい。コンピュータシステム900がどのように動作するのかについては周知であり、詳細な説明は省略する。 The program does not necessarily have to include an operating system (OS) for executing the function of the information output device 500, 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であるが、情報出力装置500は、例えば、タブレット端末やスマートフォンやノートPCといった、携帯端末で実現されてもよい。この場合、例えば、キーボード902およびマウス903はタッチパネルに、ディスクドライブ905はメモリカードスロットに、ディスク921はメモリカードに、それぞれ置き換えられてもよい。ただし、以上は例示であり、情報出力装置500を実現するコンピュータのハードウェア構成は問わない。 The computer system 900 described above is a server or a stationary PC, but the information output device 500 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 500 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.
 なお、上述したコンピュータシステム900は、以下で説明する実施の形態2および3の情報生成装置、ならびに実施の形態4および5の情報処理装置も実現し得る。 The computer system 900 described above can also realize the information generation devices of the second and third embodiments described below and the information processing devices of the fourth and fifth embodiments.
 (実施の形態2)
 本実施の形態における情報生成装置100は、例えば、ネットワークや通信回線等を介して、実施の形態1で説明した情報出力装置500と通信可能に接続される。情報生成装置100も、情報出力装置500と同様、例えば、情報検索等のサービスを提供する企業内のサーバであるが、スタンドアロンの端末でもよく、その実現手段は問わない。なお、かかる事項は、実施の形態3にも共通する。
(Embodiment 2)
The information generation device 100 in the present embodiment is communicably connected to the information output device 500 described in the first embodiment via, for example, a network or a communication line. Like the information output device 500, the information generation device 100 is also a server in a company that provides services such as information retrieval, but it may be a stand-alone terminal, and the means for realizing the information may be limited. It should be noted that such matters are also common to the third embodiment.
 情報生成装置100は、実施の形態1で説明した情報出力装置500が用いるインテント、1以上の会話文情報、および1以上のエンティティ等の情報を生成する装置である。生成されたンテント、1以上の会話文情報、および1以上のエンティティ等の情報は、情報生成装置100から情報出力装置500に引き渡され又は送信され、情報出力装置500のインテント格納部12、会話文情報格納部14、およびエンティティ格納部15等に蓄積される。 The information generation device 100 is a device that generates information such as an intent, one or more conversational sentence information, and one or more entities used by the information output device 500 described in the first embodiment. The generated information such as one or more conversational text information and one or more entities is passed or transmitted from the information generation device 100 to the information output device 500, and the intent storage unit 12 of the information output device 500, the conversation. It is stored in the statement information storage unit 14, the entity storage unit 15, and the like.
 図13は、本実施の形態における情報生成装置100のブロック図である。情報生成装置100は、格納部10、受付部20、処理部30、および出力部40を備える。格納部10は、ドキュメント格納部101、テンプレート格納部102、インテント格納部12a、API情報格納部13a、会話文情報格納部14a、エンティティ格納部15a、エンティティマッピング情報格納部16a、およびPK項目格納部17aを備える。なお、テーブル格納部11aは、ドキュメント格納部101に含まれると考えてもよい。つまり、テーブルは、後述するドキュメントの一種と考えてもよい。 FIG. 13 is a block diagram of the information generation device 100 according to the present embodiment. The information generation device 100 includes a storage unit 10, a reception unit 20, a processing unit 30, and an output unit 40. The storage unit 10 stores the document storage unit 101, the template storage unit 102, the intent storage unit 12a, the API information storage unit 13a, the conversation text information storage unit 14a, the entity storage unit 15a, the entity mapping information storage unit 16a, and the PK item storage. A portion 17a is provided. The table storage unit 11a may be considered to be included in the document storage unit 101. That is, the table may be considered as a kind of document described later.
 処理部30は、インテント生成部301、エンティティ生成部302、会話文情報生成部303、エンティティマッピング情報生成部304、PK項目生成部305、および蓄積部306を備える。インテント生成部301は、API情報抽出手段3011、アクション名取得手段3012、およびインテント生成手段3013を備える。エンティティ生成部302は、エンティティ名生成手段3021、およびエンティティ生成手段3022を備える。会話文情報生成部303は、エンティティ取得手段3031、および会話文生成手段3032を備える。蓄積部306は、インテント蓄積手段3061、エンティティ蓄積手段3062、会話文情報蓄積手段3063、エンティティマッピング情報蓄積手段3064、およびPK項目蓄積手段3065を備える。 The processing unit 30 includes an intent generation unit 301, an entity generation unit 302, a conversational sentence information generation unit 303, an entity mapping information generation unit 304, a PK item generation unit 305, and a storage unit 306. The intent generation unit 301 includes API information extraction means 3011, action name acquisition means 3012, and intent generation means 3013. The entity generation unit 302 includes an entity name generation means 3021 and an entity generation means 3022. The conversation sentence information generation unit 303 includes an entity acquisition unit 3031 and a conversation sentence generation unit 3032. The storage unit 306 includes an intent storage means 3061, an entity storage means 3062, a conversational sentence information storage means 3063, an entity mapping information storage means 3064, and a PK item storage means 3065.
 格納部10には、各種の情報が格納される。各種の情報とは、例えば、ドキュメント、設計書、テンプレート、テーブル、インテント、会話文情報、エンティティ、エンティティマッピング情報、PK項目などである。なお、ドキュメント、API設計書、およびテンプレートについては後述する。また、テーブル、インテント、会話文情報、エンティティ、エンティティマッピング情報、およびPK項目については、実施の形態1で説明したので繰り返さない。 Various information is stored in the storage unit 10. The various types of information include, for example, documents, design documents, templates, tables, intents, conversational text information, entities, entity mapping information, PK items, and the like. The document, API design document, and template will be described later. Further, the table, the intent, the conversational sentence information, the entity, the entity mapping information, and the PK item have been described in the first embodiment and will not be repeated.
 格納部10を構成するドキュメント格納部101には、1または2以上のドキュメントが格納される。ドキュメントとは、コンピュータによって処理される情報の集合であり、自然言語の文または単語を構成する1または2以上の文字列を含む情報の集合である、といってもよい。 One or two or more documents are stored in the document storage unit 101 that constitutes the storage unit 10. A document is a set of information processed by a computer, and may be said to be a set of information including one or more character strings constituting a sentence or word in a natural language.
 ドキュメントは、例えば、アクション名またはアクション名の一部を有する文字列を含むことは好適である。なお、アクション名については、実施の形態1で説明したので繰り返さない。以下では、アクション名またはアクション名の一部を有する文字列を含むドキュメントを「第一ドキュメント」と記す場合がある。 It is preferable that the document contains, for example, an action name or a character string having a part of the action name. Since the action name has been described in the first embodiment, it will not be repeated. In the following, a document containing an action name or a character string having a part of the action name may be referred to as a "first document".
 第一ドキュメントは、例えば、文書ファイルである。文書ファイルとは、文書に関するファイルである。文書は、例えば、設計書である。設計書とは、ソフトウェアの設計に関する文書であり、例えば、仕様書、定義書などといってもよい。ソフトウェアは、例えば、APIであるが、データベース等でもよく、その種類は問わない。なお、API、およびデータベースについては、前述したので繰り返さない。設計書は、例えば、後述するAPI設計書であるが、DB設計書でもよい。なお、DB設計書については、実施の形態3で説明する。ただし、文書は、設計書に限らず、例えば、日報や業務指示書や企画書等の社内文書でもよいし、注文書や納品書のような、社外とやり取りされる文書でもよく、その種類は問わない。 The first document is, for example, a document file. A document file is a file related to a document. The document is, for example, a design document. The design document is a document related to software design, and may be referred to as a specification document, a definition document, or the like. The software is, for example, API, but may be a database or the like, and the type thereof does not matter. The API and database have been described above and will not be repeated. The design document is, for example, an API design document described later, but may be a DB design document. The DB design document will be described in the third embodiment. However, the document is not limited to the design document, and may be an in-house document such as a daily report, a business instruction, or a plan, or a document exchanged with the outside such as an order form or a delivery note. It doesn't matter.
 なお、文書ファイルは、前述したように、例えば、ワードやエクセル等のファイルであるが、ハイパーテキストでもよく、その形式は問わない。ハイパーテキストとは、HTMLやXML等のマークアップ言語で記述された文書であり、当該文書中の単語を他の文書と関連付ける組み(リンクともいう)を有する文書ファイルである、といってもよい。 As mentioned above, the document file is, for example, a file such as Word or Excel, but it may be hypertext, and its format does not matter. Hypertext is a document written in a markup language such as HTML or XML, and can be said to be a document file having a set (also referred to as a link) for associating words in the document with other documents. ..
 または、ドキュメントは、例えば、属性名および当該属性名に対応する1以上の単語を有していてもよい。なお、属性名等については、前述したので繰り返さない。属性名および当該属性名に対応する1以上の単語は、例えば、エンティティ名およびそれに対応する1以上のエンティティを生成し得る単語、といってもよい。以下では、属性名および当該属性名に対応する1以上の単語を有するドキュメントを「第二ドキュメント」と記す場合がある。ただし、第二ドキュメントは、例えば、属性名のみを有し、当該属性名に対応する1以上の単語を有していなくてもよい。 Alternatively, the document may have, for example, an attribute name and one or more words corresponding to the attribute name. The attribute names, etc. will not be repeated as described above. The attribute name and one or more words corresponding to the attribute name may be said to be, for example, an entity name and a word capable of generating one or more entities corresponding thereto. In the following, a document having an attribute name and one or more words corresponding to the attribute name may be referred to as a "second document". However, the second document may have, for example, only the attribute name and may not have one or more words corresponding to the attribute name.
 第二ドキュメントは、例えば、テーブル格納部11aに格納されている1以上のテーブル以外のデータベースである。ただし、第二ドキュメントは、テーブル格納部11aに格納されている1以上のテーブルも含む、と考えてもよい。または、第二ドキュメントは、例えば、文書ファイルでもよく、その種類は問わない。例えば、第一ドキュメントがハイパーテキストであり、第二ドキュメントは、第一ドキュメント中の1または2以上の単語とリンクされた1または2以上の各文書ファイルでもよい。 The second document is, for example, a database other than one or more tables stored in the table storage unit 11a. However, it may be considered that the second document also includes one or more tables stored in the table storage unit 11a. Alternatively, the second document may be, for example, a document file, regardless of its type. For example, the first document may be hypertext and the second document may be one or more document files linked to one or more words in the first document.
 ただし、第一ドキュメントと第二ドキュメントとは、一のドキュメントでもよい。第一ドキュメントと第二ドキュメントとは、例えば、一の文書ファイルでもよい。つまり、一のドキュメント(例えば、一の文書ファイル)が、アクション名またはアクション名の一部と、属性名とを有していてもよいし、さらに、当該属性名に対応する1以上の単語をも有していてもよい。なお、アクション名またはアクション名の一部と属性名とを有するドキュメントの一例である文書ファイル、および当該文書ファイルからインテント、エンティティ名、およびテンプレート等のコーパスを生成する動作例について、具体例2で説明する。 However, the first document and the second document may be one document. The first document and the second document may be, for example, one document file. That is, one document (for example, one document file) may have an action name or a part of the action name and an attribute name, and further, one or more words corresponding to the attribute name. You may also have. A specific example 2 is a document file which is an example of a document having an action name or a part of the action name and an attribute name, and an operation example of generating a corpus such as an intent, an entity name, and a template from the document file. It will be explained in.
 また、第一または第二のいずれのドキュメントも、表形式を有することは好適であるが、表形式を有さなくてもよい。表形式を有するドキュメントは、例えば、エクセル等の表計算ソフトで作成されたドキュメントであるが、ワード等の文書作成ソフトで作成された文書を表形式に変換したドキュメントでもよく、その形式や作成方法は問わない。 Further, it is preferable that either the first or second document has a tabular format, but it is not necessary to have a tabular format. A document having a tabular format is, for example, a document created by spreadsheet software such as Excel, but a document created by a document creation software such as Word may be converted into a tabular format, and the format and creation method may be used. Does not matter.
 表形式を有さないドキュメントは、例えば、ワードの文書ファイルであるが、メールやチャット等の文書ファイルでも構わない。ワード等の文書ファイルは、例えば、構造化されていることは好適であるが、構造化されてなくてもよい。構造化されていることは、例えば、HTMLやXML等のマークアップ言語で記述されていることである。または、構造化は、例えば、見出しや番号等の付与、記号やスペース等の挿入、改行などによって実現されてもよく、その実現方法は問わない。 The document that does not have a tabular format is, for example, a Word document file, but it may be a document file such as an email or chat. The document file such as a word is preferably structured, for example, but does not have to be structured. What is structured is that it is described in a markup language such as HTML or XML. Alternatively, the structuring may be realized by, for example, adding a heading or a number, inserting a symbol or a space, a line break, or the like, and the method of realizing the structure does not matter.
 本実施の形態において、ドキュメント格納部101に格納されるドキュメントは、例えば、API設計書である。API設計書とは、APIに関する設計書である。API設計書は、例えば、1または2以上のAPI情報を有する。なお、API情報については、実施の形態1で説明したので繰り返さない。API情報は、通常、アクション名に対応付いている。 In the present embodiment, the document stored in the document storage unit 101 is, for example, an API design document. The API design document is a design document related to API. The API design document has, for example, one or more API information. Since the API information has been described in the first embodiment, it will not be repeated. The API information usually corresponds to the action name.
 API設計書は、例えば、図6に示したような、アクション名とAPI情報との対の集合を含んでいてもよい。なお、図6、およびアクション名とAPI情報との対については、実施の形態1で説明したので繰り返さない。 The API design document may include, for example, a set of pairs of action names and API information as shown in FIG. Note that FIG. 6 and the pair of the action name and the API information will not be repeated because they have been described in the first embodiment.
 また、API設計書は、通常、パラメータ名、テーブル識別子、主キー識別子等の情報も含む。なお、パラメータ名、テーブル識別子、主キー識別子等については前述したので繰り返さない。ただし、API設計書の構造は問わない。 In addition, the API design document usually includes information such as parameter names, table identifiers, and primary key identifiers. The parameter name, table identifier, primary key identifier, etc. are not repeated as described above. However, the structure of the API design document does not matter.
 テンプレート格納部102には、1または2以上のテンプレートが格納される。格納されるテンプレートは、会話文のテンプレートであり、1または2以上の変数を有する。例えば、実施の形態1で説明したように、変数を“{}”とすると、テンプレートは、例えば、“{}の{}の{}を教えて”等であってもよい。 One or two or more templates are stored in the template storage unit 102. The stored template is a conversational sentence template and has one or more variables. For example, as described in the first embodiment, if the variable is "{}", the template may be, for example, "Tell me {} of {} of {}".
 テンプレート格納部102には、例えば、アクション名に対応付けて、1以上のテンプレートが格納されてもよい。ただし、1以上のテンプレートが対応付く情報は、例えば、インテント名でもよいし、テーブル名や属性名等でも構わない。 In the template storage unit 102, for example, one or more templates may be stored in association with the action name. However, the information associated with one or more templates may be, for example, an intent name, a table name, an attribute name, or the like.
 テンプレートが有する1以上の各変数には、例えば、“社員エンティティ”,“日付エンティティ”,“残業エンティティ”等のエンティティ名が対応付いていることは好適である。具体的には、例えば、エンティティ名が対応付いた変数を“{社員エンティティ}”,“{日付エンティティ}”,“{残業エンティティ}”とすると、テンプレートは、例えば、“{社員エンティティ}の{日付エンティティ}の{残業エンティティ}を教えて”であってもよい。 It is preferable that each one or more variables of the template are associated with entity names such as "employee entity", "date entity", and "overtime entity". Specifically, for example, if the variables associated with the entity names are "{employee entity}", "{date entity}", and "{overtime entity}", the template is, for example, {{employee entity} { Tell me the {overtime entity} of the date entity}.
 テンプレート格納部102には、例えば、図14に示すような、エンティティ名が対応付けられた1以上の変数を有するテンプレートであり、変数の位置または数が異なる2以上のテンプレートが、例えば、アクション名に対応付けて格納され得る。 The template storage unit 102 is, for example, a template having one or more variables associated with entity names as shown in FIG. 14, and two or more templates having different positions or numbers of variables are, for example, action names. Can be stored in association with.
 アクション名“残業時間照会”に対応付いた2以上のテンプレートは、例えば、第一のテンプレート“{社員エンティティ}の{日付エンティティ}の{残業エンティティ}を教えて”、第二のテンプレート“{日付エンティティ}の{社員エンティティ}の{残業エンティティ}を教えて”、第三のテンプレート“{社員エンティティ}の{残業エンティティ}を教えて”、第四のテンプレート“{日付エンティティ}の{残業エンティティ}を教えて”、および第五のテンプレート“{残業エンティティ}を教えて”であってもよい。 Two or more templates corresponding to the action name "Overtime time inquiry" are, for example, the first template "Tell me the {Overtime entity} of the {Date entity} of the {Employee entity}" and the second template "{Date". Tell me {overtime entity} of {employee entity} of entity}, "tell me {overtime entity} of {employee entity}", {overtime entity} of the fourth template "{date entity}" Tell me ", and the fifth template" Tell me {overtime entity} ".
 アクション名“勤務時間データ照会”に対応付いた2以上のテンプレートは、例えば、第一のテンプレート“{社員エンティティ}の{日付エンティティ}の{業務エンティティ}の{勤務時間エンティティ}を教えて”、第二のテンプレート“{社員エンティティ}の{業務エンティティ}の{日付エンティティ}の{勤務時間エンティティ}を教えて”、第三のテンプレート“{日付エンティティ}の{社員エンティティ}の{業務エンティティ}の{勤務時間エンティティ}を教えて”、第四のテンプレート“{日付エンティティ}の{業務エンティティ}の{社員エンティティ}の{勤務時間エンティティ}を教えて”、第五のテンプレート“{業務エンティティ}の{日付エンティティ}の{社員エンティティ}の{勤務時間エンティティ}を教えて”、第六のテンプレート“{業務エンティティ}の{社員エンティティ}の{日付エンティティ}の{勤務時間エンティティ}を教えて”、第七のテンプレート“{社員エンティティ}の{日付エンティティ}の{勤務時間エンティティ}を教えて”、第八のテンプレート“{社員エンティティ}の{業務エンティティ}の{勤務時間エンティティ}を教えて”、第九のテンプレート“{日付エンティティ}の{社員エンティティ}の{勤務時間エンティティ}を教えて”、第十のテンプレート“{日付エンティティ}の{業務エンティティ}の{勤務時間エンティティ}を教えて”、第十一のテンプレート“{業務エンティティ}の{日付エンティティ}の{勤務時間エンティティ}を教えて”、第十二のテンプレート“{業務エンティティ}の{社員エンティティ}の{勤務時間エンティティ}を教えて”、第十三のテンプレート“{社員エンティティ}の{勤務時間エンティティ}を教えて”、第十四のテンプレート“{日付エンティティ}の{勤務時間エンティティ}を教えて”、第十五のテンプレート“{業務エンティティ}の{勤務時間エンティティ}を教えて”、第十六のテンプレート“{勤務時間エンティティ}を教えて”であってもよい。 Two or more templates corresponding to the action name "working time data inquiry" are, for example, the first template "Tell me the {working time entity} of the {business entity} of the {date entity} of the {employee entity}", The second template "Tell me the {working time entity} of the {date entity} of the {business entity} of the {employee entity}", and the {business entity} of the {employee entity} of the third template "{date entity}" "Tell me {working time entity}", 4th template "Tell me {working time entity} of {employee entity} of {business entity} of {date entity}", 5th template "{business entity} Tell me the {working time entity} of the {employee entity} of the {date entity} ", the sixth template" tell me the {working time entity} of the {date entity} of the {employee entity} of the {business entity} ", Seventh template "Tell me {working time entity} of {date entity} of {employee entity}", eighth template "tell {working time entity} of {business entity} of {employee entity}", Ninth template "Tell me {working time entity} of {employee entity} of {date entity}", tenth template "tell {working time entity} of {business entity} of {date entity}", Tell me the {working time entity} of the {date entity} of the eleventh template "{business entity}" and the {working time entity} of the {employee entity} of the twelfth template "{business entity}" "Tell me the {working time entity} of the thirteenth template" {employee entity} ", the fourteenth template" tell me the {working time entity} of the {date entity} ", the fifteenth template" It may be "Tell me {working time entity} of {business entity}" and "Tell me {working time entity}" of the sixteenth template.
 テンプレート格納部102には、例えば、当初、“{}の{}の{}を教えて”といった、各変数にエンティティ名が対応付いていないテンプレート(以下、初期テンプレートと記す場合がある)が格納されており、後述するエンティティ生成部302が1以上のエンティティ名(例えば、“社員エンティティ”,“日付エンティティ”,“残業エンティテ”等)を生成したことに応じて、処理部30が、生成された1以上のエンティティ名を初期テンプレートに対応付けることにより、上記第一のテンプレート“{社員エンティティ}の{日付エンティティ}の{残業エンティティ}を教えて”を生成してもよい。さらに、処理部30は、生成した第一のテンプレートから、変数の位置または数を異ならせた1以上のテンプレート(例えば、上記第二~第五のテンプレート)を生成し、テンプレート格納部102に蓄積してもよい。 In the template storage unit 102, for example, a template (hereinafter, may be referred to as an initial template) in which an entity name does not correspond to each variable, such as "Tell me {} of {} of {}" at the beginning, is stored. The processing unit 30 is generated in response to the fact that the entity generation unit 302 described later generates one or more entity names (for example, "employee entity", "date entity", "overtime template", etc.). By associating one or more entity names with the initial template, the first template "Tell me the {overtime entity} of the {date entity} of the {employee entity}" may be generated. Further, the processing unit 30 generates one or more templates (for example, the second to fifth templates) having different positions or numbers of variables from the generated first template, and stores them in the template storage unit 102. You may.
 なお、各変数にエンティティ名が対応付いたテンプレートは、会話文情報の一種と考えてもよい。この場合、テンプレート格納部102には、各変数にエンティティ名が対応付いていない初期テンプレートが予め格納され、当該各変数にエンティティ名が対応付けられたテンプレートである会話文情報は、例えば、会話文情報格納部14aに蓄積されてもよい。 Note that a template in which each variable is associated with an entity name may be considered as a type of conversational sentence information. In this case, the template storage unit 102 stores in advance an initial template in which the entity name does not correspond to each variable, and the conversation sentence information which is a template in which the entity name is associated with each variable is, for example, a conversation sentence. It may be stored in the information storage unit 14a.
 テーブル格納部11aは、1または2以上のテーブル情報が格納される。格納される1以上のテーブル情報は、通常、実施の形態1でテーブル格納部11に格納された1以上のテーブル情報と同じ情報である。なお、テーブル情報については、前述したので繰り返さない。テーブル格納部11aには、具体的には、例えば、図4に示したテーブル情報1~3が格納されてもよい。 The table storage unit 11a stores one or more table information. The one or more table information stored is usually the same information as the one or more table information stored in the table storage unit 11 in the first embodiment. The table information is not repeated as described above. Specifically, for example, the table information 1 to 3 shown in FIG. 4 may be stored in the table storage unit 11a.
 なお、テーブル情報は、例えば、テーブル名をも有していてもよい。テーブル名とは、テーブルの名称である。テーブル名は、例えば、アクション名の少なくとも一部を構成し得る情報を含む。アクション名の少なくとも一部を構成し得る情報とは、例えば、“社員”,“勤務時間”,“業務”等である。テーブル情報1~3が有するテーブル名は、具体的には、例えば、“社員マスタ”,“業務マスタ”,“残業時間テーブル”等であるが、その形式は問わない。 Note that the table information may also have a table name, for example. The table name is the name of the table. The table name contains, for example, information that may form at least a portion of the action name. The information that can form at least a part of the action name is, for example, "employee", "working time", "business", and the like. Specifically, the table names included in the table information 1 to 3 are, for example, "employee master", "business master", "overtime time table", etc., but the format does not matter.
 インテント格納部12aには、1または2以上のインテントが格納される。なお、インテントについては、前述したので繰り返さない。格納される1以上のインテントは、通常、実施の形態1でインテント格納部12に格納された1以上のインテントと同じ情報である。1以上のインテントは、後述するインテント生成部301により生成され、後述するインテント蓄積手段3061によりインテント格納部12aに蓄積される。インテント格納部12aには、具体的には、例えば、図5に示したインテント1および2等が格納されてもよい。 One or two or more intents are stored in the intent storage unit 12a. The intent will not be repeated as described above. The stored one or more intents are usually the same information as the one or more intents stored in the intent storage unit 12 in the first embodiment. One or more intents are generated by the intent generation unit 301 described later, and are stored in the intent storage unit 12a by the intent storage means 3061 described later. Specifically, for example, the intents 1 and 2 shown in FIG. 5 may be stored in the intent storage unit 12a.
 API情報格納部13aには、1または2以上のAPI情報が格納される。なお、API情報については、前述したので繰り返さない。格納される1以上のAPI情報は、通常、実施の形態1でAPI情報格納部13に格納された1以上のAPI情報と同じ情報である。1以上のAPI情報は、後述するAPI情報抽出手段3011によりAPI設計書から抽出され、後述する蓄積部306によりAPI情報格納部13aに蓄積される。API情報格納部13aには、具体的には、例えば、図6に示した2以上のAPI情報が格納されてもよい。 One or two or more API information is stored in the API information storage unit 13a. Since the API information has been described above, it will not be repeated. The one or more API information stored is usually the same information as the one or more API information stored in the API information storage unit 13 in the first embodiment. One or more API information is extracted from the API design document by the API information extraction means 3011 described later, and is stored in the API information storage unit 13a by the storage unit 306 described later. Specifically, for example, two or more API information shown in FIG. 6 may be stored in the API information storage unit 13a.
 会話文情報格納部14aには、インテントに対応付けて、1または2以上の会話文情報が格納される。なお、会話文情報については、前述したので繰り返さない。格納される1以上の会話文情報は、通常、実施の形態1で会話文情報格納部14に格納された1以上の会話文情報と同じ情報である。1以上の会話文情報は、後述する会話文情報生成部303により生成され、後述する会話文情報蓄積手段3063により会話文情報格納部14aに蓄積される。 The conversation sentence information storage unit 14a stores one or more conversation sentence information in association with the intent. The conversational text information is not repeated as described above. The one or more conversational sentence information stored is usually the same information as the one or more conversational sentence information stored in the conversational sentence information storage unit 14 in the first embodiment. One or more conversational sentence information is generated by the conversational sentence information generation unit 303 described later, and is stored in the conversational sentence information storage unit 14a by the conversational sentence information storage means 3063 described later.
 具体的には、会話文情報格納部14aには、例えば、図7に示したように、インテント“残業時間照会インテント”に対応付けて、2以上の会話文情報(ここでは、5つの会話文情報1~5)が格納されてもよい。また、会話文情報格納部14aには、インテント“勤務時間データ照会インテント”に対応付けて、2以上の会話文情報(ここでは、会話文情報1,2等)も格納されてもよい。 Specifically, in the conversation sentence information storage unit 14a, for example, as shown in FIG. 7, two or more conversation sentence information (here, five) are associated with the intent “overtime time inquiry intent”. Conversational sentence information 1 to 5) may be stored. Further, in the conversation sentence information storage unit 14a, two or more conversation sentence information (here, conversation sentence information 1, 2, etc.) may be stored in association with the intent "working time data inquiry intent". ..
 エンティティ格納部15aには、エンティティ名に対応付けて、1以上のエンティティが格納される。なお、エンティティ名およびエンティティについては、前述したので繰り返さない。エンティティ名に対応付けて格納される1以上のエンティティは、通常、実施の形態1でエンティティ名に対応付けてエンティティ格納部15に格納された1以上のエンティティと同じ情報である。 One or more entities are stored in the entity storage unit 15a in association with the entity name. The entity name and entity are not repeated as described above. The one or more entities stored in association with the entity name are usually the same information as the one or more entities stored in the entity storage unit 15 in association with the entity name in the first embodiment.
 エンティティ名は、後述するエンティティ名生成手段3021によって生成され、1以上のエンティティは、後述するエンティティ生成手段3022によって生成される。生成された1以上のエンティティは、生成されたエンティティ名に対応付けて、エンティティ蓄積手段3062によりエンティティ格納部15aに蓄積される。 The entity name is generated by the entity name generation means 3021 described later, and one or more entities are generated by the entity generation means 3022 described later. The generated one or more entities are stored in the entity storage unit 15a by the entity storage means 3062 in association with the generated entity name.
 具体的には、エンティティ格納部15aには、例えば、図8に示したように、エンティティ名“社員エンティティ”に対応付けて、1以上のエンティティ“中村一郎”および“大塚二郎”等が格納され、また、エンティティ名“日付エンティティ”に対応付けて、1以上のエンティティ“先月”および“昨日”等が格納され、さらに、エンティティ名“残業エンティティ”に対応付けて、1以上のエンティティ“残業時間”および“残業”等が格納されてもよい。なお、“社員エンティティ”に対応する1以上のエンティティは、氏名の一部でもよい。氏名の一部とは、例えば、“中村”,“大塚”等の苗字でもよいし、前からm文字(例えば、前から3文字である“中村一”,“大塚二”等)でもよい。 Specifically, as shown in FIG. 8, for example, one or more entities "Ichiro Nakamura" and "Jiro Otsuka" are stored in the entity storage unit 15a in association with the entity name "employee entity". In addition, one or more entities "last month" and "yesterday" are stored in association with the entity name "date entity", and one or more entities "overtime hours" are associated with the entity name "overtime entity". "And" overtime "etc. may be stored. In addition, one or more entities corresponding to the "employee entity" may be a part of the name. A part of the name may be, for example, a surname such as "Nakamura" or "Otsuka", or an m character from the front (for example, "Nakamura Ichi" or "Otsuka Ni" which is three characters from the front).
 エンティティマッピング情報格納部16aには、1または2以上のエンティティマッピング情報が格納される。なお、エンティティマッピング情報については、前述したので繰り返さない。格納される1以上のエンティティマッピング情報は、通常、実施の形態1でエンティティマッピング情報格納部16に格納された1以上のエンティティマッピング情報と同じ情報である。1以上のエンティティマッピング情報は、後述するエンティティマッピング情報生成部304により生成され、後述するエンティティマッピング情報蓄積手段3064によりエンティティマッピング情報格納部16aに蓄積される。 One or two or more entity mapping information is stored in the entity mapping information storage unit 16a. The entity mapping information will not be repeated as described above. The one or more entity mapping information stored is usually the same information as the one or more entity mapping information stored in the entity mapping information storage unit 16 in the first embodiment. One or more entity mapping information is generated by the entity mapping information generation unit 304 described later, and is stored in the entity mapping information storage unit 16a by the entity mapping information storage means 3064 described later.
 具体的には、エンティティマッピング情報格納部16aは、例えば、図9に示したような1以上のエンティティマッピング情報(例えば、エンティティティマッピング情報1~4等)が格納されてもよい。 Specifically, the entity mapping information storage unit 16a may store one or more entity mapping information (for example, entity mapping information 1 to 4, etc.) as shown in FIG. 9, for example.
 PK項目格納部17aには、1または2以上のPK項目が格納される。なお、PK項目については、前述したので繰り返さない。格納される1以上のPK項目は、通常、実施の形態1でPK項目格納部17に格納された1以上のPK項目と同じ情報である。1以上のPK項目は、後述するPK項目生成部305により生成され、後述するPK項目蓄積手段3065によりPK項目格納部17aに蓄積される。 One or two or more PK items are stored in the PK item storage unit 17a. The PK items are not repeated as described above. The one or more PK items stored are usually the same information as the one or more PK items stored in the PK item storage unit 17 in the first embodiment. One or more PK items are generated by the PK item generation unit 305 described later, and are stored in the PK item storage unit 17a by the PK item storage means 3065 described later.
 具体的には、PK項目格納部17aには、例えば、図10に示したような2以上のPK項目(例えば、PK項目1~4等)が格納されてもよい。 Specifically, the PK item storage unit 17a may store, for example, two or more PK items (for example, PK items 1 to 4, etc.) as shown in FIG.
 受付部20は、各種の情報を受け付ける。各種の情報とは、例えば、API設計書、テンプレートなどである。受付部20は、API設計書等の情報を、例えば、端末から受信するが、キーボードやタッチパネル等の入力デバイスを介して受け付けてもよい。または、受付部20は、例えば、ディスクや半導体メモリ等の記録媒体から読み出された情報を受け付けてもよく、その受け付けの態様は問わない。 The reception unit 20 receives various types of information. The various types of information include, for example, API design documents and templates. The reception unit 20 receives information such as an API design document from a terminal, for example, but may receive information via an input device such as a keyboard or a touch panel. Alternatively, the reception unit 20 may accept information read from a recording medium such as a disk or a semiconductor memory, and the mode of acceptance is not limited.
 処理部30は、各種の処理を行う。各種の処理とは、例えば、インテント生成部301、API情報抽出手段3011、アクション名取得手段3012、インテント生成手段3013、エンティティ生成部302、エンティティ名生成手段3021、エンティティ生成手段3022、会話文情報生成部303、エンティティ取得手段3031、会話文生成手段3032、エンティティマッピング情報生成部304、PK項目生成部305、蓄積部306、インテント蓄積手段3061、エンティティ蓄積手段3062、会話文情報蓄積手段3063、エンティティマッピング情報蓄積手段3064、およびPK項目蓄積手段3065などの処理である。 The processing unit 30 performs various processes. The various processes include, for example, intent generation unit 301, API information extraction means 3011, action name acquisition means 3012, intent generation means 3013, entity generation unit 302, entity name generation means 3021, entity generation means 3022, and conversational text. Information generation unit 303, entity acquisition means 3031, conversation sentence generation means 3032, entity mapping information generation unit 304, PK item generation unit 305, storage unit 306, intent storage means 3061, entity storage means 3062, conversation sentence information storage means 3063. , Entity mapping information storage means 3064, PK item storage means 3065, and the like.
 なお、処理部30は、例えば、受付部20が受け付けたAPI設計書等の情報を、ドキュメント格納部101等に蓄積する処理も行う。 Note that the processing unit 30 also performs processing for accumulating information such as API design documents received by the reception unit 20 in the document storage unit 101 or the like.
 また、テーブル格納部11に格納されているテーブ情報が有するテーブルが、例えば、ワード等の文書ファイルであり、表形式に変換されていない文書ファイルである場合に、処理部30は、当該文書ファイルの文字列中に設けられた区切りを基に、当該文書ファイルを表形式に変換する処理を行ってもよい。なお、ワード等の文書ファイルを表形式に変換する処理は公知であり、説明を省略する。 Further, when the table contained in the table information stored in the table storage unit 11 is, for example, a document file such as a word and is not converted into a tabular format, the processing unit 30 performs the document file. A process of converting the document file into a tabular format may be performed based on the delimiter provided in the character string of. The process of converting a document file such as a word into a tabular format is known, and the description thereof will be omitted.
 また、処理部30は、例えば、後述するエンティティ生成部302が生成した1以上のエンティティ名を初期テンプレートに対応付けて、第一のテンプレートを生成する処理を行ってもよい。例えば、初期テンプレートが“{}の{}の{}を教えて”であり、3つのエンティティ名“社員エンティティ”,“日付エンティティ”,および“残業エンティティ”が取得された場合、処理部30は、当該3つのエンティティ名を当該初期テンプレートに対応付けて、第一のテンプレート“{社員エンティティ}の{日付エンティティ}の{残業エンティティ}を教えて”を生成してもよい。 Further, the processing unit 30 may perform a process of generating the first template by associating one or more entity names generated by the entity generation unit 302 described later with the initial template. For example, if the initial template is "Tell me {} of {} of {}" and the three entity names "employee entity", "date entity", and "overtime entity" are acquired, the processing unit 30 , The three entity names may be associated with the initial template to generate the first template "Tell me the {overtime entity} of the {date entity} of the {employee entity}".
 さらに、処理部30は、生成した第一のテンプレートから、変数の位置または数を異ならせた1以上のテンプレート(例えば、第二~第五のテンプレート等)を生成し、テンプレート格納部102に蓄積してもよい。 Further, the processing unit 30 generates one or more templates (for example, second to fifth templates) having different positions or numbers of variables from the generated first template, and stores them in the template storage unit 102. You may.
 詳しくは、処理部30は、例えば、第一のテンプレートに対して、1番目の変数と2番目の変数とを入れ換えることにより、第二のテンプレートを生成する。また、テンプレート生成部は、例えば、第一のテンプレートに対して、2番目の変数およびそれに続く助詞“の”を削除することにより、第三のテンプレートを生成する。また、テンプレート生成部は、例えば、第一のテンプレートに対して、1番目の変数およびそれに続く助詞“の”を削除することにより、第四のテンプレートを生成する。さらに、テンプレート生成部は、例えば、第一のテンプレートに対して、1番目の変数およびそれに続く助詞“の”と、2番目の変数およびそれに続く助詞“の”とを削除することにより、第五のテンプレートを生成する。そして、処理部30は、生成した第一~第五のテンプレートを、例えば、アクション名取得手段3012が取得したアクション名またはインテント生成手段3013が生成したインテント名に対応付けて、テンプレート格納部102に蓄積する。 Specifically, the processing unit 30 generates a second template by exchanging the first variable and the second variable with respect to the first template, for example. Further, the template generation unit generates a third template by deleting the second variable and the particle "no" following the first template, for example. Further, the template generation unit generates a fourth template by deleting the first variable and the subsequent particle "no" from the first template, for example. Further, the template generation unit deletes the first variable and the subsequent particle "no" and the second variable and the subsequent particle "no" from the first template, for example, so that the fifth template can be used. Generate a template for. Then, the processing unit 30 associates the generated first to fifth templates with, for example, the action name acquired by the action name acquisition means 3012 or the intent name generated by the intent generation means 3013, and the template storage unit 30. Accumulate in 102.
 インテント生成部301は、ドキュメント格納部101に格納されている第一ドキュメントを用いて、アクション名を取得し、取得したアクション名を有するインテントを生成する。なお、生成されるインテントは、取得されたアクション名と同じでもよい。つまり、インテントの生成は、例えば、アクション名の取得でもよい。 The intent generation unit 301 acquires an action name using the first document stored in the document storage unit 101, and generates an intent having the acquired action name. The generated intent may be the same as the acquired action name. That is, the intent may be generated, for example, by acquiring the action name.
 前述したように、第一ドキュメントは、アクション名またはアクション名の一部を有する。インテント生成部301は、例えば、アクション名を有する第一ドキュメントからアクション名を取得し、当該取得したアクション名を有するインテントを生成する。または、インテント生成部301は、第一ドキュメントからアクション名の一部を取得し、当該一部を変形してアクション名を構成し、当該アクション名を有するインテントを取得してもよい。 As mentioned above, the first document has an action name or a part of the action name. The intent generation unit 301 acquires an action name from the first document having the action name, and generates an intent having the acquired action name, for example. Alternatively, the intent generation unit 301 may acquire a part of the action name from the first document, modify the part to form the action name, and acquire the intent having the action name.
 変形は、例えば、当該一部に対する予め決められた文字列の付加であるが、当該一部を構成する文字列の別の種類の文字列への変換でもよく、その態様は問わない。付加は、例えば、当該一部を構成する文字列の末尾への付加であるが、当該文字列の先頭への付加でもよいし、当該文字列内への付加でもよく、その位置は問わない。変換は、例えば、漢字の文字列から仮名の文字列への変換、漢字・仮名混じりの文字列からアルファベットの文字列への変換等であるが、その種類は問わない。 The transformation is, for example, the addition of a predetermined character string to the part, but the conversion of the character string constituting the part to another type of character string may be performed, and the mode thereof does not matter. The addition is, for example, an addition to the end of the character string constituting the part, but may be an addition to the beginning of the character string, an addition to the inside of the character string, and the position thereof does not matter. The conversion includes, for example, conversion from a kanji character string to a kana character string, conversion from a kanji / kana mixed character string to an alphabetic character string, and the like, but the type does not matter.
 例えば、格納部10に、アクション名辞書が格納されている。アクション名辞書とは、アクション名に関する辞書である。アクション名辞書には、例えば、1または2以上のアクション名が登録されている。または、アクション名辞書には、アクション名と1または2以上の語彙の組が、1組または2組以上、登録されていてもよい。アクション名辞書は、例えば、具体例2で説明するインテント名辞書でもよい。 For example, the action name dictionary is stored in the storage unit 10. The action name dictionary is a dictionary related to action names. For example, one or more action names are registered in the action name dictionary. Alternatively, one or more pairs of action names and one or more vocabularies may be registered in the action name dictionary. The action name dictionary may be, for example, the intent name dictionary described in Specific Example 2.
 インテント生成部301は、例えば、第一ドキュメントに対して形態素解析を行い、1以上の単語を取得する。次に、インテント生成部301は、取得した1以上の各単語ごとに、当該単語と、アクション名辞書に登録されている1以上の各アクション名(または、当該アクション名に対応する1以上の各語彙)との類似度を取得する。次に、インテント生成部301は、こうして1以上の単語と1以上のアクション名等との全ての組み合わせに対して取得した1以上の類似度のうち、最も高い類似度に対応する単語とアクション名等との組み合わせを特定する。そして、インテント生成部301は、当該特定した組み合わせを構成する単語またはアクション名等を有するインテントを生成する。 The intent generation unit 301 performs morphological analysis on the first document, for example, and acquires one or more words. Next, the intent generation unit 301 includes the word and one or more action names (or one or more corresponding to the action name) registered in the action name dictionary for each one or more acquired words. Get the similarity with each vocabulary). Next, the intent generation unit 301 performs the word and action corresponding to the highest similarity among the one or more similarity acquired for all combinations of one or more words and one or more action names and the like. Specify the combination with the name etc. Then, the intent generation unit 301 generates an intent having a word, an action name, or the like that constitutes the specified combination.
 インテント生成部301は、例えば、ドキュメント格納部101に格納されているAPI設計書から、例えば、上記のような手順でアクション名を取得し、取得したアクション名を有するインテントを生成する。例えば、格納されているAPI設計書がアクション名“残業時間照会”を有している場合、インテント生成部301は、当該API設計書から当該アクション名“残業時間照会”を取得して、その末尾に“照会”を付加することにより、当該アクション名“残業時間照会”を有するインテント“残業時間照会インテント”を生成してもよい。 The intent generation unit 301 acquires an action name from the API design document stored in the document storage unit 101, for example, by the above procedure, and generates an intent having the acquired action name. For example, when the stored API design document has the action name "overtime hours inquiry", the intent generation unit 301 acquires the action name "overtime hours inquiry" from the API design document and obtains the action name "overtime hours inquiry". By adding "inquiry" to the end, an intent "overtime hour inquiry intent" having the action name "overtime hour inquiry" may be generated.
 または、例えば、格納されているAPI設計書が1または2以上のAPI情報を含んでおり、当該1以上の各API情報が、アクション名の一部を構成し得る情報を含む場合、インテント生成部301を構成するAPI情報抽出手段3011は、当該API設計書から当該1以上のAPI情報を抽出する。アクション名の一部を構成し得る情報とは、API設計書に含まれるAPI情報が、例えば、図6に示された“serch_残業時間(社員コード、開始日付,終了日付)”や“serch_勤務時間(社員コード、作業日付,業務ID)”等のようなSQL文である場合、“serch”と“(”とで挟まれた“残業時間”や“勤務時間”等の文字列である。 Or, for example, when the stored API design document contains one or more API information, and each of the one or more API information includes information that can form a part of the action name, an intent is generated. The API information extracting means 3011 constituting the unit 301 extracts one or more API information from the API design document. The information that can form a part of the action name is the API information included in the API design document, for example, "search_overtime hours (employee code, start date, end date)" or "search_work" shown in FIG. In the case of an API statement such as "time (employee code, work date, business ID)", it is a character string such as "overtime hours" or "working hours" sandwiched between "search" and "(".
 アクション名取得手段3012は、抽出された1以上の各API情報ごとに、当該API情報から、アクション名の一部を構成し得る情報を取得する。例えば、API情報“serch_残業時間(社員コード、開始日付,終了日付)”からは、“serch”と“(”とで挟まれた文字列“残業時間”が取得される。アクション名取得手段3012は、こうして取得した情報の末尾に“照会”を付加することで、アクション名“残業時間照会”を取得する。 The action name acquisition means 3012 acquires information that can form a part of the action name from the API information for each of the extracted one or more API information. For example, from the API information "search_overtime hours (employee code, start date, end date)", the character string "overtime hours" sandwiched between "search" and "(" is acquired. Action name acquisition means 3012 Acquires the action name "overtime hours inquiry" by adding "inquiry" to the end of the information acquired in this way.
 インテント生成手段3013は、アクション名取得手段3012が取得した1以上の各アクション名ごとに、その末尾に“インテント”を付加することで、当該アクション名を有するインテントを生成する。例えば、取得されたアクション名“残業時間照会”に対し、インテント生成手段3013は、その末尾に“インテント”を付加することで、当該アクション名を有するインテント“残業時間照会インテント”を生成する。同様に、アクション名“勤務時間データ照会”からは、当該アクション名を有するインテント“勤務時間データ照会インテント”が生成される。 The intent generation means 3013 generates an intent having the action name by adding "intent" to the end of each one or more action names acquired by the action name acquisition means 3012. For example, the intent generation means 3013 adds "intent" to the end of the acquired action name "overtime hour inquiry" to add an intent "overtime hour inquiry intent" having the action name. Generate. Similarly, from the action name "working time data inquiry", an intent "working time data inquiry intent" having the action name is generated.
 エンティティ生成部302は、例えば、ドキュメント格納部101に格納されている第二ドキュメントを用いて、属性名であるエンティティ名を生成する。なお、エンティティ名の生成は、例えば、第二ドキュメントからの属性名の取得でもよい。 The entity generation unit 302 generates an entity name which is an attribute name by using, for example, a second document stored in the document storage unit 101. The entity name may be generated, for example, by acquiring the attribute name from the second document.
 詳しくは、エンティティ生成部302は、例えば、属性名を有する第二ドキュメントから属性名を取得し、取得した属性名であるエンティティ名を生成してもよい。または、エンティティ生成部302は、例えば、属性名および当該属性名に対応する1以上の単語を有する第二ドキュメントから、属性名および当該属性名に対応する1以上の単語を取得し、取得した属性名であるエンティティ名、および、取得した1以上の単語である1以上のエンティティを生成してもよい。 Specifically, the entity generation unit 302 may acquire the attribute name from the second document having the attribute name and generate the entity name which is the acquired attribute name, for example. Alternatively, the entity generation unit 302 acquires the attribute name and one or more words corresponding to the attribute name from the second document having the attribute name and one or more words corresponding to the attribute name, and the acquired attribute. You may generate an entity name that is a name and one or more entities that are one or more acquired words.
 または、エンティティ生成部302は、例えば、テーブル格納部11aに格納されている1以上のテーブル情報を用いて、属性名であるエンティティ名を生成してもよい。 Alternatively, the entity generation unit 302 may generate an entity name which is an attribute name by using, for example, one or more table information stored in the table storage unit 11a.
 例えば、格納部10に、属性名辞書が格納されている。属性名辞書とは、属性名に関する辞書である。属性名辞書には、例えば、1または2以上の属性名が登録されている。または、属性名辞書には、属性名と1または2以上の語彙の組が、1組または2組以上、登録されていてもよい。属性名辞書は、例えば、具体例2で説明するエンティティ名辞書でもよい。 For example, the attribute name dictionary is stored in the storage unit 10. The attribute name dictionary is a dictionary related to attribute names. For example, one or more attribute names are registered in the attribute name dictionary. Alternatively, one or more pairs of attribute names and one or more vocabularies may be registered in the attribute name dictionary. The attribute name dictionary may be, for example, the entity name dictionary described in Specific Example 2.
 エンティティ生成部302は、例えば、第二ドキュメントに対して形態素解析を行い、1以上の単語を取得する。次に、エンティティ生成部302は、当該取得した1以上の各単語ごとに、当該単語と、属性名辞書に登録されている1以上の各属性名(または、当該属性名に対応する1以上の各語彙)との類似度を取得する。次に、エンティティ生成部302は、こうして1以上の単語と1以上のエンティティ名等との全ての組み合わせに対して取得した1以上の類似度のうち、最も高い類似度に対応する単語と属性名等との組み合わせを特定する。そして、エンティティ生成部302は、当該特定した組み合わせを構成する単語または属性名等を有するエンティティ名を生成する。 The entity generation unit 302 performs morphological analysis on the second document, for example, and acquires one or more words. Next, the entity generation unit 302 includes the word and one or more attribute names (or one or more corresponding to the attribute name) registered in the attribute name dictionary for each of the acquired one or more words. Get the similarity with each vocabulary). Next, the entity generation unit 302 performs the word and attribute name corresponding to the highest similarity among the one or more similarity acquired for all combinations of one or more words and one or more entity names and the like. Specify the combination with etc. Then, the entity generation unit 302 generates an entity name having a word, an attribute name, or the like that constitutes the specified combination.
 エンティティ生成部302は、例えば、上記のような手順で、テーブル格納部11aに格納されている1以上の各テーブル情報ごとに、当該テーブル情報が有するテーブルから属性名および当該属性名に対応する1以上の単語を取得し、取得した属性名であるエンティティ名、および、取得した1以上の単語である1以上のエンティティを生成する。 For example, the entity generation unit 302 corresponds to the attribute name and the attribute name from the table of the table information for each one or more table information stored in the table storage unit 11a by the above procedure. The above words are acquired, and an entity name that is an acquired attribute name and one or more entities that are one or more acquired words are generated.
 例えば、属性名“社員”、および当該属性名に対応する1以上の単語“中村一郎”,“大塚二郎”等が登録されたテーブル(図示しない)からは、当該属性名“社員”および当該1以上の単語“中村一郎”,“大塚二郎”等が取得され、取得された属性名であるエンティティ名“社員”、および取得された1以上の単語である1以上のエンティティ“中村一郎”,“大塚二郎”等が生成されてもよい。 For example, from a table (not shown) in which the attribute name "employee" and one or more words "Ichiro Nakamura", "Jiro Otsuka", etc. corresponding to the attribute name are registered, the attribute name "employee" and the relevant 1 The above words "Ichiro Nakamura", "Jiro Otsuka", etc. are acquired, the acquired entity name "employee", and one or more acquired words "Ichiro Nakamura", " Jiro Otsuka "etc. may be generated.
 なお、属性名であるエンティティ名とは、エンティティ名が、例えば、取得された属性名の一部のみを含む属性名である場合も含む。すなわち、エンティティ生成部302は、1以上の各テーブル情報ごとに、当該テーブル情報が有するテーブルから属性名および当該属性名に対応する1以上の単語を取得し、取得した属性名の一部であるエンティティ名、および、取得した1以上の単語である1以上のエンティティを生成してもよい。例えば、属性名“社員名”、および当該属性名に対応する1以上の単語“中村一郎”,“大塚二郎”等が登録されたテーブル(図示しない)からは、当該属性名“社員名”および当該1以上の単語“中村一郎”,“大塚二郎”等が取得され、取得された属性名の一部であるエンティティ名“社員”、および取得された1以上の単語である1以上のエンティティ“中村一郎”,“大塚二郎”等が生成されてもよい。 Note that the entity name that is the attribute name includes, for example, the case where the entity name is an attribute name that includes only a part of the acquired attribute name. That is, the entity generation unit 302 acquires an attribute name and one or more words corresponding to the attribute name from the table of the table information for each one or more table information, and is a part of the acquired attribute name. You may generate an entity name and one or more entities that are one or more acquired words. For example, from a table (not shown) in which the attribute name "employee name" and one or more words "Ichiro Nakamura", "Jiro Otsuka" corresponding to the attribute name are registered, the attribute name "employee name" and the attribute name "employee name" The one or more words "Ichiro Nakamura", "Jiro Otsuka", etc. are acquired, and the entity name "employee" that is a part of the acquired attribute name, and one or more entities that are one or more acquired words " "Ichiro Nakamura", "Jiro Otsuka", etc. may be generated.
 なお、生成されるエンティティもまた、取得されたエンティティの一部であってもよい。例えば、単語“中村一郎”が取得された場合に、エンティティ生成部302は、当該単語の前2文字を含むエンティティ“中村”、または前3文字を含むエンティティ“中村一”等を生成してもよい。 Note that the generated entity may also be a part of the acquired entity. For example, when the word "Ichiro Nakamura" is acquired, the entity generation unit 302 may generate the entity "Nakamura" containing the first two characters of the word, the entity "Nakamura Ichi" including the preceding three characters, and the like. Good.
 また、取得した属性名であるエンティティ名とは、エンティティ名が、例えば、取得された属性名の少なくとも一部を変換した属性名である場合も含む。変換とは、異なる言語への変換(例えば、翻訳といってもよい)に限らず、例えば、アルファベット表記から漢字表示への変換(例えば、“SHAIN”から“社員”への変換)等でもよい。すなわち、エンティティ生成部302は、1以上の各テーブル情報ごとに、当該テーブル情報が有するテーブルから属性名および当該属性名に対応する1以上の単語を取得し、取得した属性名の少なくとも一部を変換した属性名であるエンティティ名、および、取得した1以上の単語である1以上のエンティティを生成してもよい。 Further, the entity name which is the acquired attribute name includes the case where the entity name is, for example, an attribute name obtained by converting at least a part of the acquired attribute name. The conversion is not limited to conversion to a different language (for example, translation), but may be conversion from alphabetical notation to kanji display (for example, conversion from "SHAIN" to "employee"). .. That is, the entity generation unit 302 acquires an attribute name and one or more words corresponding to the attribute name from the table possessed by the table information for each one or more table information, and at least a part of the acquired attribute name is acquired. An entity name that is a converted attribute name and one or more entities that are one or more acquired words may be generated.
 例えば、図4に示したテーブル情報1からは、属性名“SHAIN_NAME”、および当該属性名に対応する1以上の単語“中村一郎”,“大塚二郎”等が取得され、当該属性名の一部“SHAIN”を変換した属性名“社員”を含むエンティティ名“社員エンティティ”、および取得された1以上の単語である1以上のエンティティ“中村一郎”,“大塚二郎”等が生成されてもよい。 For example, from the table information 1 shown in FIG. 4, the attribute name “SHAIN_NAME” and one or more words “Ichiro Nakamura”, “Jiro Otsuka” corresponding to the attribute name are acquired, and a part of the attribute name is obtained. An entity name "employee entity" including the attribute name "employee" converted from "SHAIN", and one or more entities "Ichiro Nakamura", "Jiro Otsuka", etc., which are one or more acquired words, may be generated. ..
 詳しくは、例えば、エンティティ生成部302を構成するエンティティ名生成手段3021が、1以上の各テーブル情報ごとに、当該テーブル情報から属性名を取得し、当該属性名であるエンティティ名を生成する。なお、生成されたエンティティ名は、例えば、後述するエンティティ蓄積手段3062によって、エンティティ格納部15aに蓄積される。 Specifically, for example, the entity name generation means 3021 constituting the entity generation unit 302 acquires an attribute name from the table information for each one or more table information, and generates an entity name which is the attribute name. The generated entity name is stored in the entity storage unit 15a by, for example, the entity storage means 3062 described later.
 エンティティ生成手段3022は、例えば、エンティティ名生成手段3021が生成した1以上の各エンティティ名ごとに、当該エンティティ名に対応するテーブルから、取得された属性名に対応する1以上の単語を取得し、当該一以上の単語である1以上のエンティティを生成する。なお、生成された1以上のエンティティは、例えば、後述するエンティティ蓄積手段3062によって、上記エンティティ名に対応付けてエンティティ格納部15aに蓄積される。 For example, the entity generation means 3022 acquires one or more words corresponding to the acquired attribute names from the table corresponding to the entity name for each one or more entity names generated by the entity name generation means 3021. Generate one or more entities that are the one or more words. The generated one or more entities are stored in the entity storage unit 15a in association with the entity name by, for example, the entity storage means 3062 described later.
 例えば、テーブル情報1に対して、エンティティ名生成手段3021が、当該テーブル情報1から属性名“SHAIN_NAME”を取得し、当該属性名の一部である“SHAIN”を変換した“社員”に“エンティティ”を付加したエンティティ名“社員エンティティ”を生成する。エンティティ蓄積手段3062は、生成されたエンティティ名“社員エンティティ”をエンティティ格納部15aに蓄積する。 For example, for table information 1, the entity name generation means 3021 acquires the attribute name "SHAIN_NAME" from the table information 1, and converts "SHAIN", which is a part of the attribute name, into an "employee". Generate the entity name "employee entity" with "" added. The entity storage means 3062 stores the generated entity name “employee entity” in the entity storage unit 15a.
 エンティティ生成手段3022は、生成されたエンティティ名“社員エンティティ”に対応するテーブル(つまり、社員マスタ)から、当該属性名に対応する1以上の単語である“中村一郎”,“大塚二郎”等を取得し、その一部(例えば、前2文字)である1以上のエンティティ“中村”,“大塚”等を生成する。エンティティ蓄積手段3062は、エンティティ名“社員エンティティ”に対応付けて、生成された1以上のエンティティ“中村”,“大塚”等をエンティティ格納部15aに蓄積する。 The entity generation means 3022 selects one or more words "Ichiro Nakamura", "Jiro Otsuka", etc. corresponding to the attribute name from the table (that is, the employee master) corresponding to the generated entity name "employee entity". Acquire and generate one or more entities "Nakamura", "Otsuka", etc. that are a part of them (for example, the first two characters). The entity storage means 3062 stores one or more generated entities "Nakamura", "Otsuka", etc. in the entity storage unit 15a in association with the entity name "employee entity".
 また、テーブル情報2に対して、エンティティ名生成手段3021が、属性名“GYOUMU_NAME”を取得し、その一部“GYOUMU”を変換した“業務”に“エンティティ”を付加したエンティティ名“業務エンティティ”を生成する。生成されたエンティティ名“業務エンティティ”は、エンティティ格納部15aに蓄積される。エンティティ生成手段3022は、生成されたエンティティ名“業務エンティティ”に対応するテーブル(つまり、業務マスタ)から、当該属性名に対応する“A業務”,“B業務”等を取得し、1以上のエンティティ“A業務”,“B業務”等を生成する。生成された1以上のエンティティ“A業務”,“B業務”等は、エンティティ名“業務エンティティ”に対応付けてエンティティ格納部15aに蓄積される。 Further, for the table information 2, the entity name generating means 3021 acquires the attribute name "GYOUMU_NAME", and the entity name "business entity" is obtained by adding "entity" to the "business" obtained by partially converting "GYOUMU". To generate. The generated entity name "business entity" is stored in the entity storage unit 15a. The entity generation means 3022 acquires "A business", "B business", etc. corresponding to the attribute name from the table (that is, business master) corresponding to the generated entity name "business entity", and has one or more. Generate entities "A business", "B business", etc. The one or more generated entities "A business", "B business", etc. are stored in the entity storage unit 15a in association with the entity name "business entity".
 なお、テーブル情報3に対しては、3つの属性名“ZIKANGAI_TIME”,“TOTAL_TIME”,および“TIME_CARD_DATE”が取得され、そのうち1つ目の属性名“ZIKANGAI_TIME”の一部“ZIKANGAI”を変換した“残業”に“エンティティ”を付加したエンティティ名“残業エンティティ”が生成される。また、2つ目の属性名“TOTAL_TIME”を変換した“勤務時間”に“エンティティ”を付加したエンティティ名“勤務時間エンティティ”が生成され、さらに、3つ目の属性名“TIME_CARD_DATE”の一部“DATE”を変換した“日付”に“エンティティ”を付加したエンティティ名“日付エンティティ”が生成される。生成された3つのエンティティ名“残業エンティティ”,“勤務時間エンティティ”,および“日付エンティティ”は、エンティティ格納部15aに蓄積される。 For the table information 3, three attribute names "ZIKANGAI_TIME", "TOTAL_TIME", and "TIME_CARD_DATE" are acquired, and a part "ZIKANGAI" of the first attribute name "ZIKANGAI_TIME" is converted to "ZIKANGAI". The entity name "overtime entity" is generated by adding "entity" to "overtime". In addition, an entity name "working time entity" is generated by adding "entity" to "working hours" obtained by converting the second attribute name "TOTAL_TIME", and a part of the third attribute name "TIME_CARD_DATE". An entity name "date entity" is generated by adding "entity" to "date" converted from "DATE". The three generated entity names "overtime entity", "working time entity", and "date entity" are stored in the entity storage unit 15a.
 次に、エンティティ名“残業エンティティ”に対して、当該1つ目の属性名“ZIKANGAI_TIME”を変換したエンティティ“残業時間”、およびその一部を変換したエンティティ“残業”等が生成される。また、エンティティ名“勤務時間エンティティ”に対して、当該2つ目の属性名“TOTAL_TIME”を変換したエンティティ“勤務時間”、およびその一部を変換したエンティティ“勤務”等が生成される。 Next, for the entity name "overtime entity", the entity "overtime hours" in which the first attribute name "ZIKANGAI_TIME" is converted, and the entity "overtime" in which a part thereof is converted are generated. Further, for the entity name "working time entity", the entity "working time" obtained by converting the second attribute name "TOTAL_TIME" and the entity "working" obtained by converting a part thereof are generated.
 なお、エンティティ名“日付エンティティ”に対しては、例えば、格納部10に、“日付”、およびそれに対応する1または2以上の単語“先月”,“昨日”等の組が格納されており、エンティティ生成手段3022は、“日付エンティティ”に含まれる単語“日付”に対応する1以上の単語“先月”,“昨日”等を格納部10から取得し、取得した単語であるエンティティ“先月”,“昨日”等を生成する。 For the entity name "date entity", for example, a set of "date" and one or more corresponding words "last month", "yesterday", etc. are stored in the storage unit 10. The entity generation means 3022 acquires one or more words "last month", "yesterday", etc. corresponding to the word "date" included in the "date entity" from the storage unit 10, and the acquired word entity "last month", Generate "yesterday" etc.
 そして、エンティティ名“残業エンティティ”に対応付けて、1以上のエンティティ“残業時間”,“残業”等が蓄積され、エンティティ名“勤務時間エンティティ”に対応付けて、1以上のエンティティ“勤務時間”,“勤務”等が蓄積され、エンティティ名“日付エンティティ”に対応付けて、1以上のエンティティ“先月”,“昨日”等が蓄積される。 Then, one or more entities "overtime hours", "overtime", etc. are accumulated in association with the entity name "overtime entity", and one or more entities "working hours" are associated with the entity name "working hours entity". , "Work" etc. are accumulated, and one or more entities "last month", "yesterday" etc. are accumulated in association with the entity name "date entity".
 これによって、エンティティ格納部15aには、例えば、図8に示すような、エンティティ名および当該エンティティ名に対応する1以上のエンティティの組の集合が格納される結果となる。 As a result, the entity storage unit 15a stores, for example, an entity name and a set of one or more sets of entities corresponding to the entity name, as shown in FIG.
 会話文情報生成部303は、例えば、エンティティ生成部302が生成した1以上のエンティティのうち1以上の各エンティティを、テンプレート格納部102に格納されているテンプレートの変数に挿入することにより、1以上の会話文情報を生成する。 The conversational sentence information generation unit 303 inserts one or more of the one or more entities generated by the entity generation unit 302 into the variables of the template stored in the template storage unit 102, thereby causing one or more. Generates conversational text information.
 テンプレートが2以上の変数を有する場合、会話文情報生成部303は、例えば、エンティティ生成部302が2以上の各テーブル情報ごとに生成した1以上のエンティティから一のエンティティを取得し、当該取得した2以上のエンティティを、テンプレート格納部102に格納されている一のテンプレートが有する2以上の変数に順番に挿入することにより、1以上の会話文情報を生成してもよい。 When the template has two or more variables, for example, the conversation sentence information generation unit 303 acquires one entity from one or more entities generated by the entity generation unit 302 for each of the two or more table information, and the acquired entity is obtained. One or more conversational sentence information may be generated by sequentially inserting two or more entities into two or more variables of one template stored in the template storage unit 102.
 具体的には、例えば、テンプレート格納部102に、3つの変数を有する初期テンプレート“{}の{}の{}を教えて”が格納され、テーブル格納部11aに、上記テーブル情報1~3が格納されている場合、会話文情報生成部303は、テーブル情報1から生成された1以上のエンティティ“中村一郎”,“大塚二郎”等のうち一のエンティティ“中村一郎”を取得し、テーブル情報2から生成された1以上のエンティティ“先月”,“昨日”等のうち一のエンティティ“先月”を取得し、テーブル情報3から生成された1以上のエンティティ“残業時間”,“残業”等のうち一のエンティティ“残業時間”を取得する。そして、会話文情報生成部303は、取得した3つのエンティティ“中村一郎”,“先月”,および“残業時間”を、上記テンプレートの3つの変数(1番目の変数,2番目の変数,および3番目の変数)に順番に挿入することにより、会話文情報“中村一郎の先月の残業時間を教えて”を取得する。 Specifically, for example, the initial template "{} {} {} of {}" having three variables is stored in the template storage unit 102, and the table information 1 to 3 are stored in the table storage unit 11a. When stored, the conversation sentence information generation unit 303 acquires one entity "Ichiro Nakamura" among one or more entities "Ichiro Nakamura", "Jiro Otsuka", etc. generated from the table information 1, and table information. One or more entities "last month", "yesterday", etc. generated from 2 get one entity "last month", and one or more entities "overtime hours", "overtime", etc. generated from table information 3 Get one of the entities "overtime hours". Then, the conversation sentence information generation unit 303 sets the acquired three entities "Ichiro Nakamura", "last month", and "overtime hours" into the three variables (first variable, second variable, and 3) of the above template. By inserting in order in the second variable), the conversational sentence information "Tell me the overtime hours of last month of Ichiro Nakamura" is acquired.
 なお、例えば、初期テンプレートが有する2以上の各変数にID(例えば、“1”,“2”等)が対応付けられており、格納部10には、変数のIDとテーブル情報のID(例えば、“1”,“2”等)との対応を示す対応情報が格納されていてもよい。この場合、会話文情報生成部303は、対応情報を参照することにより、2以上のテーブル情報(例えば、テーブル情報1,テーブル情報2等)から取得された2以上の各エンティティを、当該エンティティが取得されたテーブル情報に対応する変数に挿入すればよい。これにより、テンプレートが有する2以上の変数の順序と、テーブル格納部11aに格納されている2以上のテーブル情報の順序とが予め対応付いていなくても、取得された2以上のエンティティを2以上の変数に的確に挿入できる。 For example, an ID (for example, "1", "2", etc.) is associated with each of two or more variables of the initial template, and the storage unit 10 has an ID of the variable and an ID of table information (for example, "2"). , "1", "2", etc.) and correspondence information indicating correspondence may be stored. In this case, the conversational sentence information generation unit 303 refers to the corresponding information, and the entity concerned obtains each of the two or more entities acquired from the two or more table information (for example, table information 1, table information 2, etc.). You can insert it in the variable corresponding to the acquired table information. As a result, even if the order of the two or more variables possessed by the template and the order of the two or more table information stored in the table storage unit 11a do not correspond in advance, two or more acquired two or more entities can be obtained. Can be accurately inserted into the variable of.
 また、会話文情報生成部303は、取得した3つのエンティティ“中村一郎”,“先月”,および“残業時間”を、上記テンプレートの3つの変数に、前2つの順番を入れ換えて挿入することにより、会話文情報“先月の中村一郎の残業時間を教えて”を生成する。 In addition, the conversation sentence information generation unit 303 inserts the acquired three entities "Ichiro Nakamura", "last month", and "overtime hours" into the three variables of the above template by changing the order of the previous two. , Generate conversational text information "Tell me about the overtime hours of Ichiro Nakamura last month".
 こうして、一のテンプレート“{}の{}の{}を教えて”と、テーブル情報1~3とを基に、2つの会話文情報“中村一郎の先月の残業時間を教えて”,および“先月の中村一郎の残業時間を教えて”が生成される。 In this way, based on one template "Tell me {} of {} of {}" and table information 1 to 3, two conversational sentence information "Tell me the overtime hours of Ichiro Nakamura last month", and " "Tell me about the overtime hours of Ichiro Nakamura last month" is generated.
 なお、変数に挿入されるエンティティは、取得されたエンティティの一部でもよい。例えば、テーブル情報1から取得されたエンティティ“中村一郎”については、前2文字“中村”または前3文字“中村一”等が挿入されてもよい。 Note that the entity inserted in the variable may be a part of the acquired entity. For example, for the entity "Ichiro Nakamura" acquired from the table information 1, the preceding two characters "Nakamura" or the preceding three characters "Nakamura Ichi" may be inserted.
 会話文情報生成部303を構成するエンティティ取得手段3031は、テーブル格納部11aに格納されている2以上の各テンプレートごとに、当該テンプレートが有する1以上の各変数に対応付けられたエンティティ名に対応する一のエンティティをエンティティ格納部15aから取得する。 The entity acquisition means 3031 constituting the conversational sentence information generation unit 303 corresponds to the entity name associated with each of the one or more variables of the template for each of the two or more templates stored in the table storage unit 11a. Acquire one entity to be executed from the entity storage unit 15a.
 具体的には、例えば、テンプレート格納部102に、図14に示したような、第一~第五のテンプレートがアクション名“残業時間照会”に対応付けて格納され、テーブル格納部11aに、上記テーブル情報1~3が格納されている場合、エンティティ取得手段3031は、第一のテンプレートに対して、1番目の変数に対応付けられたエンティティ名“社員エンティティ”に対応する1以上のエンティティ“中村一郎”,“大塚二郎”等のうち一のエンティティ“中村一郎”を取得し、2番目の変数に対応付けられたエンティティ名“日付エンティティ”に対応する1以上のエンティティ“先月”,“昨日”等のうち一のエンティティ“先月”を取得し、3番目の変数に対応付けられたエンティティ名“残業エンティティ”に対応する1以上のエンティティ“残業時間”,“残業”等のうち一のエンティティ“残業時間”を取得する。 Specifically, for example, the first to fifth templates as shown in FIG. 14 are stored in the template storage unit 102 in association with the action name “overtime hours inquiry”, and are stored in the table storage unit 11a as described above. When the table information 1 to 3 is stored, the entity acquisition means 3031 has one or more entities "Nakamura" corresponding to the entity name "employee entity" associated with the first variable with respect to the first template. Acquire one entity "Ichiro Nakamura" from "Ichiro", "Jiro Otsuka", etc., and one or more entities "last month", "yesterday" corresponding to the entity name "date entity" associated with the second variable. One or more entities "overtime hours", "overtime", etc. that correspond to the entity name "overtime entity" associated with the third variable by acquiring one entity "last month", etc. Get "overtime hours".
 また、エンティティ取得手段3031は、第二のテンプレートに対して、1番目の変数に対応付けられたエンティティ名“日付エンティティ”に対応する1以上のエンティティ“先月”,“昨日”等のうち一のエンティティ“先月”を取得し、2番目の変数に対応付けられたエンティティ名“社員エンティティ”に対応する1以上のエンティティ“中村一郎”,“大塚二郎”等のうち一のエンティティ“中村一郎”を取得し、3番目の変数に対応付けられたエンティティ名“残業エンティティ”に対応する1以上のエンティティ“残業時間”,“残業”等のうち一のエンティティ“残業時間”を取得する。 Further, the entity acquisition means 3031 is one of one or more entities "last month", "yesterday", etc. corresponding to the entity name "date entity" associated with the first variable with respect to the second template. Acquire the entity "last month" and select one entity "Ichiro Nakamura" from one or more entities "Ichiro Nakamura", "Jiro Otsuka", etc. corresponding to the entity name "employee entity" associated with the second variable. Acquires and acquires one entity "overtime hours" such as one or more entities "overtime hours" and "overtime work" corresponding to the entity name "overtime work entity" associated with the third variable.
 同様に、第三のテンプレートに対しては、1番目の変数に対応付けられたエンティティ名“社員エンティティ”に対応する1以上のエンティティ“中村一郎”,“大塚二郎”等のうち“中村一郎”が取得され、2番目の変数に対応付けられたエンティティ名“残業エンティティ”に対応する1以上のエンティティ“残業時間”,“残業”等のうち“残業時間”が取得される。 Similarly, for the third template, "Ichiro Nakamura" among one or more entities "Ichiro Nakamura", "Jiro Otsuka", etc. corresponding to the entity name "employee entity" associated with the first variable. Is acquired, and "overtime hours" among one or more entities "overtime hours", "overtime hours", etc. corresponding to the entity name "overtime work entity" associated with the second variable is acquired.
 また、第四のテンプレートに対しては、1番目の変数に対応付けられたエンティティ名“残業エンティティ”に対応する1以上のエンティティ“残業時間”,“残業”等のうち“残業時間”が取得され、2番目の変数に対応付けられたエンティティ名“社員エンティティ”に対応する1以上のエンティティ“中村一郎”,“大塚二郎”等のうち“中村一郎”が取得される。 Also, for the fourth template, "overtime hours" out of one or more entities "overtime hours", "overtime hours", etc. corresponding to the entity name "overtime entity" associated with the first variable is acquired. Then, "Ichiro Nakamura" is acquired from one or more entities "Ichiro Nakamura", "Jiro Otsuka", etc. corresponding to the entity name "employee entity" associated with the second variable.
 さらに、第五のテンプレートに対しては、1番目の変数に対応付けられたエンティティ名“残業エンティティ”に対応する1以上のエンティティ“残業時間”,“残業”等のうち“残業時間”が取得される。 Further, for the fifth template, "overtime hours" among one or more entities "overtime hours", "overtime hours", etc. corresponding to the entity name "overtime work entity" associated with the first variable is acquired. Will be done.
 なお、エンティティ取得手段3031は、例えば、後述するエンティティマッピング情報生成部304が生成したエンティティマッピング情報を用いて、1以上のエンティティ名に対応する1以上のエンティティを取得してもよい。つまり、エンティティ取得手段3031は、例えば、1以上の各エンティティ名ごとに、当該エンティティ名を有するエンティティマッピング情報を参照して、当該エンティティマッピング情報が有するテーブル識別子で識別されるテーブルから、当該エンティティマッピング情報が有する翻訳項目名に対応する1以上のエンティティを取得してもよい。 Note that the entity acquisition means 3031 may acquire one or more entities corresponding to one or more entity names by using, for example, the entity mapping information generated by the entity mapping information generation unit 304 described later. That is, the entity acquisition means 3031 refers to the entity mapping information having the entity name for each one or more entity names, and from the table identified by the table identifier having the entity mapping information, the entity mapping is performed. One or more entities corresponding to the translation item name of the information may be acquired.
 具体的には、例えば、エンティティ名“社員エンティティ”に対し、エンティティ取得手段3031は、当該エンティティ名を含むエンティティマッピング情報1を参照して、当該エンティティマッピング情報1が有するテーブル識別子“MST_SHAIN”で識別されるテーブル(つまり、業務マスタ)から、当該エンティティマッピング情報1が有する翻訳項目名“SHAIN_NAME”に対応する1以上のエンティティ“中村一郎”,“大塚二郎”等を取得してもよい。 Specifically, for example, for the entity name "employee entity", the entity acquisition means 3031 refers to the entity mapping information 1 including the entity name and identifies it by the table identifier "MST_SHAIN" possessed by the entity mapping information 1. One or more entities "Ichiro Nakamura", "Jiro Otsuka", etc. corresponding to the translation item name "SHAIN_NAME" possessed by the entity mapping information 1 may be acquired from the table (that is, the business master).
 会話文生成手段3032は、テンプレート格納部102に格納されている2以上の各テンプレートごとに、当該テンプレートが有する1以上の各変数の位置に、エンティティ取得手段3031が取得したエンティティを挿入することにより、1以上の会話文情報を生成する。 The conversation sentence generation means 3032 inserts the entity acquired by the entity acquisition means 3031 at the position of one or more variables of each of the two or more templates stored in the template storage unit 102. Generate one or more conversational sentence information.
 具体的には、例えば、第一のテンプレート“{社員エンティティ}の{日付エンティティ}の{残業エンティティ}を教えて”に対して、会話文生成手段3032は、当該第一のテンプレートが有する3つの変数のうち、1番目の変数の位置に、エンティティ取得手段3031が取得したエンティティ“中村一郎”の前2文字“中村”を挿入する。また、会話文生成手段3032は、2番目の変数の位置に、取得されたエンティティ“先月”を挿入し、さらに、3番目の変数の位置に、取得されたエンティティ“残業時間”を挿入する。これにより、1番目の会話文情報“中村の先月の残業時間を教えて”が生成される。 Specifically, for example, in contrast to the first template "Tell me the {overtime entity} of the {date entity} of the {employee entity}", the conversation sentence generation means 3032 has three of the first template. The preceding two characters "Nakamura" of the entity "Ichiro Nakamura" acquired by the entity acquisition means 3031 are inserted at the position of the first variable among the variables. Further, the conversation sentence generation means 3032 inserts the acquired entity "last month" at the position of the second variable, and further inserts the acquired entity "overtime hours" at the position of the third variable. As a result, the first conversational sentence information "Tell me about Nakamura's overtime hours last month" is generated.
 また、第二のテンプレート“{社員エンティティ}の{日付エンティティ}の{残業エンティティ}を教えて”に対して、会話文生成手段3032は、その1番目の変数の位置に、取得されたエンティティ“先月”を挿入し、2番目の変数の位置に、取得されたエンティティ“中村一郎”の前2文字“中村”を挿入し、さらに、3番目の変数の位置に、取得されたエンティティ“残業時間”を挿入することにより、2番目の会話文情報“先月の中村の残業時間を教えて”を生成する。 Also, in contrast to the second template "Tell me the {overtime entity} of the {date entity} of the {employee entity}", the conversation sentence generation means 3032 has the acquired entity "at the position of the first variable." Insert "Last month", insert the previous two characters "Nakamura" of the acquired entity "Ichiro Nakamura" at the position of the second variable, and further insert the acquired entity "Overtime hours" at the position of the third variable. By inserting "", the second conversational text information "Tell me about Nakamura's overtime hours last month" is generated.
 同様に、第三のテンプレート“{社員エンティティ}の{残業エンティティ}を教えて”に対して、3番目の会話文情報“中村の残業時間を教えて”が生成され、第四のテンプレート“{日付エンティティ}の{残業エンティティ}を教えて”に対して、4番目の会話文情報“先月の残業時間を教えて”が生成され、第五のテンプレート“{残業エンティティ}を教えて”に対して、5番目の会話文情報“残業時間を教えて”が生成される。 Similarly, for the third template "Tell me the {overtime entity} of the {employee entity}", the third conversational text information "Tell me the overtime hours of Nakamura" is generated, and the fourth template "{ For "Tell me {overtime entity} of the date entity}", the fourth conversation information "Tell me the overtime hours of last month" is generated, and for the fifth template "Tell me {overtime entity}" Then, the fifth conversational sentence information "Tell me about overtime hours" is generated.
 また、会話文生成手段3032は、例えば、生成した1以上の各会話文情報ごとに、1または2以上のエンティティ情報をも生成してもよい。なお、エンティティ情報については、実施の形態1で説明したので繰り返さない。 Further, the conversation sentence generation means 3032 may also generate one or more entity information for each one or more generated conversation sentence information, for example. Since the entity information has been described in the first embodiment, it will not be repeated.
 詳しくは、会話文生成手段3032は、一の会話文情報が有する1以上のエンティティを抽出し、抽出した1以上の各エンティティごとに、開始位置および終了位置とエンティティ名とを取得する。そして、エンティティと、開始位置および終了位置と、エンティティ名とを有する1または2以上のエンティティ情報を生成する。なお、一の会話文情報に対して生成された1以上のエンティティ情報は、例えば、後述する会話文情報蓄積手段3063によって、当該一の会話文情報に対応付けて、会話文情報格納部14aに蓄積されてもよい。 Specifically, the conversation sentence generation means 3032 extracts one or more entities possessed by one conversation sentence information, and acquires a start position, an end position, and an entity name for each of the extracted one or more entities. Then, one or more entity information having an entity, a start position and an end position, and an entity name is generated. In addition, one or more entity information generated for one conversational sentence information is associated with the one conversational sentence information by, for example, the conversational sentence information storage means 3063 described later, and is stored in the conversational sentence information storage unit 14a. It may be accumulated.
 具体的には、例えば、1番目の会話文情報“中村の先月の残業時間を教えて”に対して、会話文生成手段3032は、それが有する3つのエンティティ“中村”,“先月”,および“残業時間”を抽出し、1つ目のエンティティ“中村”の開始位置“1”および終了位置“2”とエンティティ名“社員エンティティ”とを取得する。また、会話文生成手段3032は、2つ目のエンティティ“先月”の開始位置“4”および終了位置“5”とエンティティ名“日付エンティティ”とを取得し、さらに、3つ目のエンティティ“残業時間”の開始位置“7”および終了位置“10”とエンティティ名“残業エンティティ”とを取得する。 Specifically, for example, for the first conversational sentence information "Tell me about Nakamura's overtime hours last month", the conversational sentence generation means 3032 has three entities "Nakamura", "Last month", and "Overtime hours" is extracted, and the start position "1" and the end position "2" of the first entity "Nakamura" and the entity name "employee entity" are acquired. Further, the conversation sentence generation means 3032 acquires the start position "4" and the end position "5" of the second entity "last month" and the entity name "date entity", and further, the third entity "overtime work". The start position "7" and the end position "10" of "time" and the entity name "overtime entity" are acquired.
 そして、会話文生成手段3032は、エンティティ“中村”と、開始位置“1”および終了位置“2”と、エンティティ名“社員エンティティ”とを有する第一のエンティティ情報“中村,1,2,社員エンティティ”を生成する。また、会話文生成手段3032は、エンティティ“先月”と、開始位置“4”および終了位置“5”と、エンティティ名“日付エンティティ”とを有する第二のエンティティ情報“先月,4,5,日付エンティティ”を生成する。さらに、会話文生成手段3032は、エンティティ“残業時間”と、開始位置“7”および終了位置“20”と、エンティティ名“残業エンティティ”とを有する第三のエンティティ情報“残業時間,7,10”を生成する。こうして生成された第一~第三のエンティティ情報は、例えば、後述する会話文情報蓄積手段3063によって、1番目の会話文情報“中村の先月の残業時間を教えて”に対応付けて、会話文情報格納部14aに蓄積される。 Then, the conversation sentence generation means 3032 has the entity "Nakamura", the start position "1", the end position "2", and the first entity information "Nakamura, 1, 2, employee" having the entity name "employee entity". Create an "entity". Further, the conversation sentence generation means 3032 has a second entity information "last month, 4, 5, date" having an entity "last month", a start position "4", an end position "5", and an entity name "date entity". Create an "entity". Further, the conversation sentence generation means 3032 has a third entity information “overtime hours, 7, 10” having an entity “overtime hours”, a start position “7”, an end position “20”, and an entity name “overtime entity”. "Generate. The first to third entity information generated in this way is associated with the first conversational sentence information "Tell me Nakamura's overtime hours last month" by, for example, the conversational sentence information storage means 3063 described later, and the conversational sentence. It is stored in the information storage unit 14a.
 また、2番目の会話文情報“先月の中村の残業時間を教えて”に対して、会話文生成手段3032は、3つのエンティティ“先月”,“中村”,および“残業時間”を抽出し、1つ目のエンティティ“先月”の開始位置“1”および終了位置“2”とエンティティ名“日付エンティティ”とを取得する。また、会話文生成手段3032は、2つ目のエンティティ“中村”の開始位置“4”および終了位置“5”とエンティティ名“社員エンティティ”とを取得し、さらに、3つ目のエンティティ“残業時間”の開始位置“7”および終了位置“10”とエンティティ名“残業エンティティ”とを取得する。 In response to the second conversational sentence information "Tell me about Nakamura's overtime hours last month", the conversational sentence generation means 3032 extracts three entities "last month", "Nakamura", and "overtime hours". The start position "1" and the end position "2" of the first entity "last month" and the entity name "date entity" are acquired. Further, the conversation sentence generation means 3032 acquires the start position "4" and the end position "5" of the second entity "Nakamura" and the entity name "employee entity", and further, the third entity "overtime work". The start position "7" and the end position "10" of "time" and the entity name "overtime entity" are acquired.
 そして、会話文生成手段3032は、第一のエンティティ情報“先月,1,2,日付エンティティ”、第二のエンティティ情報“中村,4,5,社員エンティティ”、および第三のエンティティ情報“残業時間,7,10,残業エンティティ”を生成する。生成された第一~第三のエンティティ情報は、2番目の会話文情報“先月の中村の残業時間を教えて”に対応付けて会話文情報格納部14aに蓄積される。 Then, the conversation sentence generation means 3032 uses the first entity information "last month, 1, 2, date entity", the second entity information "Nakamura, 4, 5, employee entity", and the third entity information "overtime hours". , 7, 10, Overtime entity "is generated. The generated first to third entity information is stored in the conversation text information storage unit 14a in association with the second conversation text information "Tell me the overtime hours of Nakamura last month".
 同様に、3番目の会話文情報“中村の残業時間を教えて”に対して、第一のエンティティ情報“中村,1,2,社員エンティティ”、および第二のエンティティ情報“残業時間,4,7,残業エンティティ”が取得され、取得された第一および第二のエンティティ情報は、3番目の会話文情報に対応付けて会話文情報格納部14aに蓄積される。また、4番目の会話文情報“先月の残業時間を教えて”に対して、第一のエンティティ情報“先月,1,2,日付エンティティ”、および第二のエンティティ情報“残業時間,4,7,残業エンティティ”が取得され、取得された第一および第二のエンティティ情報は、4番目の会話文情報に対応付けて会話文情報格納部14aに蓄積される。さらに、5番目の会話文情報“残業時間を教えて”に対して、第一のエンティティ情報“残業時間,1,4,残業エンティティ”が取得され、取得された第一エンティティ情報は、5番目の会話文情報に対応付けて会話文情報格納部14aに蓄積される。 Similarly, for the third conversational text information "Tell me about Nakamura's overtime hours", the first entity information "Nakamura, 1, 2, employee entity" and the second entity information "Overtime hours, 4," 7. Overtime entity ”is acquired, and the acquired first and second entity information is stored in the conversation sentence information storage unit 14a in association with the third conversation sentence information. In addition, for the fourth conversational text information "Tell me about overtime hours last month", the first entity information "Last month, 1, 2, date entity" and the second entity information "Overtime hours, 4, 7" , Overtime entity ”is acquired, and the acquired first and second entity information is stored in the conversation text information storage unit 14a in association with the fourth conversation text information. Furthermore, the first entity information "overtime hours, 1, 4, overtime entities" is acquired for the fifth conversational sentence information "tell me overtime hours", and the acquired first entity information is the fifth. It is stored in the conversation sentence information storage unit 14a in association with the conversation sentence information of.
 なお、インテント“残業時間照会”に対しては、例えば、16個の会話文情報1~15が生成され、そのうち会話文情報1に対して、4つのエンティティ情報“中村一郎”,“1,4,社員エンティティ”,“昨日,6,7,日付エンティティ”,“A案件,9,11,業務エンティティ”,および“勤務時間,13,16,勤務時間エンティティ”が生成される。また、会話文情報2~15に対しても、1以上のエンティティ情報が生成される。 For the intent "overtime work time inquiry", for example, 16 conversation sentence information 1 to 15 are generated, and 4 entity information "Ichiro Nakamura", "1, for the conversation sentence information 1". 4, Employee entity "," Yesterday, 6, 7, Date entity "," A matter, 9, 11, Business entity ", and" Working hours, 13, 16, Working hours entity "are generated. Further, one or more entity information is generated for the conversational sentence information 2 to 15.
 こうして、会話文情報格納部14aには、例えば、図7に示したように、インテント“残業時間照会インテント”に対応付けて、5つの会話文情報1~5が格納され、さらに、当該5つの会話文情報1~5の各々に対応付けて、1以上のエンティティ情報が格納される。また、インテント“勤務時間データ照会インテント”に対応付けて、16個の会話文情報1~15が格納され、当該16個の会話文情報1~15の各々に対応付けて、1以上のエンティティ情報が格納される。 In this way, in the conversation sentence information storage unit 14a, for example, as shown in FIG. 7, five conversation sentence information 1 to 5 are stored in association with the intent "overtime time inquiry intent", and further, the said One or more entity information is stored in association with each of the five conversational sentence information 1 to 5. In addition, 16 conversational sentence information 1 to 15 are stored in association with the intent "working time data inquiry intent", and one or more conversational sentence information 1 to 15 are associated with each of the 16 conversational sentence information 1 to 15. Entity information is stored.
 エンティティマッピング情報生成部304は、テーブル格納部11aに格納されている1以上の各テーブル情報ごとに、当該テーブル情報から、テーブル識別子と、当該テーブル識別子で識別されるテーブル内の属性名であり、変換されるエンティティを特定する情報である翻訳項目名と、当該翻訳項目に対応する一のエンティティとを取得し、かつエンティティ格納部15aから一のエンティティに対応するエンティティ名を取得して、テーブル識別子と翻訳項目名とエンティティ名とを有するエンティティマッピング情報を生成する。なお、生成された1以上のエンティティティマッピング情報は、例えば、後述するエンティティマッピング情報蓄積手段3064によって、エンティティマッピング情報格納部16aに蓄積される。 The entity mapping information generation unit 304 is a table identifier and an attribute name in the table identified by the table identifier from the table information for each one or more table information stored in the table storage unit 11a. The translation item name which is the information for identifying the entity to be converted and the one entity corresponding to the translation item are acquired, and the entity name corresponding to one entity is acquired from the entity storage unit 15a, and the table identifier is obtained. And generate entity mapping information with translation item name and entity name. The generated one or more entity mapping information is stored in the entity mapping information storage unit 16a by, for example, the entity mapping information storage means 3064 described later.
 具体的には、例えば、テーブル情報1に対して、エンティティマッピング情報生成部304は、当該テーブル情報1から、テーブル識別子“MST_SHAIN”と、当該テーブル識別子で識別されるテーブル(つまり、社員マスタ)内の属性名であり、変換されるエンティティ(つまり、“中村一郎”,“大塚二郎”等)を特定する情報である翻訳項目名“SHAIN_NAME”と、当該翻訳項目に対応する一のエンティティ“中村一郎”とを取得すると共に、エンティティ格納部15aから当該一のエンティティに対応するエンティティ名“社員エンティティ”を取得する。そして、エンティティマッピング情報生成部304は、取得したテーブル識別子“MST_SHAIN”と、取得した翻訳項目名“SHAIN_NAME”と、取得したエンティティ名“社員エンティティ”とを有するエンティティマッピング情報1を生成する。 Specifically, for example, for the table information 1, the entity mapping information generation unit 304 has the table identifier "MST_SHAIN" from the table information 1 and the table (that is, the employee master) identified by the table identifier. The translation item name "SHAIN_NAME", which is the attribute name of the above and is the information that identifies the entity to be converted (that is, "Ichiro Nakamura", "Jiro Otsuka", etc.), and the one entity "Ichiro Nakamura" corresponding to the translation item. And, the entity name "employee entity" corresponding to the one entity is acquired from the entity storage unit 15a. Then, the entity mapping information generation unit 304 generates the entity mapping information 1 having the acquired table identifier "MST_SHAIN", the acquired translation item name "SHAIN_NAME", and the acquired entity name "employee entity".
 また、テーブル情報2に対して、エンティティマッピング情報生成部304は、当該テーブル情報2から、テーブル識別子“MST_GYOUMU”と、当該テーブル識別子で識別されるテーブル(つまり、業務マスタ)内の属性名であり、変換されるエンティティ(つまり、“A案件”,“B案件”等)を特定する情報である翻訳項目名“GYOUMU_NAME”と、当該翻訳項目に対応する一のエンティティ“A案件”とを取得すると共に、エンティティ格納部15aから当該一のエンティティに対応するエンティティ名“業務エンティティ”を取得する。そして、エンティティマッピング情報生成部304は、テーブル識別子“MST_GYOUMU”と翻訳項目名“GYOUMU_NAME”とエンティティ名“業務エンティティ”とを有するエンティティマッピング情報4を生成する。 Further, with respect to the table information 2, the entity mapping information generation unit 304 has the table identifier "MST_GYOUMU" from the table information 2 and the attribute name in the table (that is, the business master) identified by the table identifier. , Acquire the translation item name "GYOUMU_NAME" which is the information that identifies the entity to be converted (that is, "A matter", "B matter", etc.) and one entity "A matter" corresponding to the translation item. At the same time, the entity name "business entity" corresponding to the one entity is acquired from the entity storage unit 15a. Then, the entity mapping information generation unit 304 generates the entity mapping information 4 having the table identifier "MST_GYOUMU", the translation item name "GYOUMU_NAME", and the entity name "business entity".
 なお、テーブル情報3に対しては、テーブル識別子“TRN_TIME_CARD”と翻訳項目名“TIME_CARD_DATE”とエンティティ名“日付エンティティ”とを有するエンティティマッピング情報3、およびテーブル識別子“TRN_TIME_CARD”と翻訳項目名“ZIKANGAI_TIME”とエンティティ名“残業エンティティ”とを有するエンティティマッピング情報3が生成される。 For the table information 3, the entity mapping information 3 having the table identifier "TRN_TIME_CARD", the translation item name "TIME_CARD_DATE" and the entity name "date entity", and the table identifier "TRN_TIME_CARD" and the translation item name "ZIKANGAI_TIME" Entity mapping information 3 having the entity name "overtime entity" is generated.
 こうして生成されたエンティティマッピング情報1~4等は、エンティティマッピング情報蓄積手段3064によってエンティティマッピング情報格納部16aに蓄積される。これにより、エンティティマッピング情報格納部16aには、例えば、図9に示したエンティティマッピング情報1~4等が格納される。 The entity mapping information 1 to 4 and the like thus generated are stored in the entity mapping information storage unit 16a by the entity mapping information storage means 3064. As a result, for example, the entity mapping information 1 to 4 shown in FIG. 9 is stored in the entity mapping information storage unit 16a.
 PK項目生成部305は、テーブル格納部11aに格納されている1以上の各テーブル情報ごとに、当該テーブル情報から、テーブル識別子と、当該テーブル識別子で識別されるテーブルの主キーを特定する主キー識別子とを取得して、取得したテーブル識別子と、取得した主キー識別子とを有する情報であるPK項目を生成する。 The PK item generation unit 305 specifies a table identifier and a primary key of the table identified by the table identifier from the table information for each one or more table information stored in the table storage unit 11a. The identifier is acquired, and a PK item which is information having the acquired table identifier and the acquired primary key identifier is generated.
 具体的には、例えば、テーブル情報1に対して、PK項目生成部305は、当該テーブル情報1から、テーブル識別子“MST_SHAIN”と、当該テーブル識別子で識別されるテーブル(つまり、社員マスタ)の主キー識別子“SHAIN_CODE”とを取得して、当該テーブル識別子“MST_SHAIN”と当該主キー識別子“SHAIN_CODE”とを有する情報であるPK項目1を生成する。 Specifically, for example, with respect to the table information 1, the PK item generation unit 305 uses the table identifier "MST_SHAIN" from the table information 1 and the main of the table (that is, the employee master) identified by the table identifier. The key identifier "SHAIN_CODE" is acquired, and PK item 1 which is information having the table identifier "MST_SHAIN" and the primary key identifier "SHAIN_CODE" is generated.
 また、テーブル情報2に対して、PK項目生成部305は、当該テーブル情報2から、テーブル識別子“MST_GYOUMU”と、当該テーブル識別子で識別されるテーブル(つまり、業務マスタ)の主キー識別子“GYOUMU_ID”とを取得して、当該テーブル識別子“MST_GYOUMU”と当該主キー識別子“GYOUMU_ID”とを有する情報であるPK項目4を生成する。 Further, with respect to the table information 2, the PK item generation unit 305 uses the table identifier "MST_GYOUMU" and the primary key identifier "GYOUMU_ID" of the table (that is, the business master) identified by the table identifier. To generate PK item 4, which is information having the table identifier "MST_GYOUMU" and the primary key identifier "GYOUMU_ID".
 なお、テーブル情報3に対しては、テーブル識別子“TRN_TIME_CARD”と主キー識別子“SHAIN_CODE”とを有するPK項目2、およびテーブル識別子“TRN_TIME_CARD”と主キー識別子“TIME_CARD_DATE”とを有するPK項目3が生成される。 For the table information 3, a PK item 2 having a table identifier "TRN_TIME_CARD" and a primary key identifier "SHAIN_CODE" and a PK item 3 having a table identifier "TRN_TIME_CARD" and a primary key identifier "TIME_CARD_DATE" are generated. Will be done.
 こうして生成されたPK項目1~4等は、PK項目蓄積手段3065によってPK項目格納部17aに蓄積される。これにより、PK項目格納部17aには、例えば、図10に示したPK項目1~4等が格納される。 The PK items 1 to 4 and the like thus generated are stored in the PK item storage unit 17a by the PK item storage means 3065. As a result, for example, the PK items 1 to 4 shown in FIG. 10 are stored in the PK item storage unit 17a.
 蓄積部306は、例えば、インテント生成部301が生成したインテントをインテント格納部12aに蓄積し、かつエンティティ生成部302が生成したエンティティ名をエンティティ格納部15aに蓄積し、かつ会話文情報生成部303が生成した1以上の会話文情報を当該インテントに対応付けて会話文情報格納部14aに蓄積する。なお、会話文情報をインテントに対応付けることは、例えば、会話文情報がインテントを有する場合も含む。 For example, the storage unit 306 stores the intent generated by the intent generation unit 301 in the intent storage unit 12a, stores the entity name generated by the entity generation unit 302 in the entity storage unit 15a, and stores conversational text information. One or more conversational sentence information generated by the generation unit 303 is associated with the intent and stored in the conversational sentence information storage unit 14a. It should be noted that associating the conversational sentence information with the intent includes, for example, the case where the conversational sentence information has an intent.
 または、蓄積部306は、インテント生成部301が生成したインテントをインテント格納部12aに蓄積し、かつエンティティ生成部302が生成した1以上の各エンティティ名に1以上のエンティティを対応付けてエンティティ格納部15aに蓄積し、かつ会話文情報生成部303が生成した1以上の会話文情報を当該インテントに対応付けて会話文情報格納部14aに蓄積してもよい。 Alternatively, the storage unit 306 stores the intent generated by the intent generation unit 301 in the intent storage unit 12a, and associates one or more entities with one or more entity names generated by the entity generation unit 302. One or more conversational sentence information stored in the entity storage unit 15a and generated by the conversational sentence information generation unit 303 may be stored in the conversational sentence information storage unit 14a in association with the intent.
 蓄積部306を構成するインテント蓄積手段3061は、インテント生成手段3013が生成した1以上のインテントをインテント格納部12aに蓄積する。 The intent storage means 3061 constituting the storage unit 306 stores one or more intents generated by the intent generation means 3013 in the intent storage unit 12a.
 エンティティ蓄積手段3062は、エンティティ名生成手段3021が生成した1以上の各エンティティ名ごとに、当該エンティティ名に対応付けて、エンティティ生成手段3022が生成した1以上のエンティティであり、当該エンティティ名に対応するテーブルから取得された1以上の単語である1以上のエンティティを、エンティティ格納部15aに蓄積する。 The entity storage means 3062 is one or more entities generated by the entity generation means 3022 in association with the entity name for each one or more entity names generated by the entity name generation means 3021, and corresponds to the entity name. One or more entities that are one or more words acquired from the table to be stored are stored in the entity storage unit 15a.
 会話文情報蓄積手段3063は、インテント生成手段3013が生成した1以上の各インテントごとに、会話文生成手段3032が生成した1以上の会話文情報を当該インテントに対応付けて会話文情報格納部14aに蓄積する。 The conversational sentence information storage means 3063 associates one or more conversational sentence information generated by the conversational sentence generating means 3032 with the intent for each one or more intents generated by the intent generation means 3013. It accumulates in the storage unit 14a.
 また、会話文情報蓄積手段3063は、例えば、会話文生成手段3032が生成した1以上の会話文情報ごとに、会話文生成手段3032が生成した1以上のエンティティ情報を当該会話文情報に対応付けて会話文情報格納部14aに蓄積してもよい。 Further, the conversation sentence information storage means 3063 associates one or more entity information generated by the conversation sentence generation means 3032 with the conversation sentence information for each one or more conversation sentence information generated by the conversation sentence generation means 3032, for example. It may be stored in the conversation text information storage unit 14a.
 エンティティマッピング情報蓄積手段3064は、エンティティマッピング情報生成部304が生成した1以上のエンティティマッピング情報をエンティティマッピング情報格納部16aに蓄積する。 The entity mapping information storage unit 3064 stores one or more entity mapping information generated by the entity mapping information generation unit 304 in the entity mapping information storage unit 16a.
 PK項目蓄積手段3065は、PK項目生成部305が生成した1以上のPK項目をPK項目格納部17aに蓄積する。 The PK item storage unit 3065 stores one or more PK items generated by the PK item generation unit 305 in the PK item storage unit 17a.
 出力部40は、各種の情報を出力する。各種の情報とは、例えば、インテント、エンティティ、会話文情報、エンティティマッピング情報、PK項目などである。出力部40は、インテント等の情報を、例えば、実施の形態1で説明した情報出力装置500に送信するが、ディスプレイやスピーカ等の出力デバイスを介して出力してもよい。 The output unit 40 outputs various information. The various types of information include, for example, intents, entities, conversational text information, entity mapping information, PK items, and the like. The output unit 40 transmits information such as an intent to the information output device 500 described in the first embodiment, but may output information via an output device such as a display or a speaker.
 出力部40は、例えば、インテント格納部12aに格納されている1以上のインテント、会話文情報格納部14aに格納されている1以上の会話文情報、エンティティ格納部15aに格納されている1以上のエンティティ、エンティティマッピング情報格納部16aに格納されている1以上のエンティティマッピング情報、およびPK項目格納部17aに格納されている1以上のPK項目を、情報出力装置500に送信する。 The output unit 40 is stored in, for example, one or more intents stored in the intent storage unit 12a, one or more conversational sentence information stored in the conversational sentence information storage unit 14a, and an entity storage unit 15a. One or more entities, one or more entity mapping information stored in the entity mapping information storage unit 16a, and one or more PK items stored in the PK item storage unit 17a are transmitted to the information output device 500.
 なお、情報出力装置500において、例えば、受付部2が、上記1以上のインテント等の情報を受信し、処理部3は、受信された1以上のインテント等の情報をインテント格納部12等に蓄積する処理も行う。 In the information output device 500, for example, the reception unit 2 receives the information such as one or more intents, and the processing unit 3 receives the received information such as one or more intents in the intent storage unit 12. It also performs processing to accumulate in the like.
 次に、情報生成装置100の動作について、図15のフローチャートを用いて説明する。図15は、情報生成装置100の動作を説明するフローチャートである。 Next, the operation of the information generation device 100 will be described with reference to the flowchart of FIG. FIG. 15 is a flowchart illustrating the operation of the information generation device 100.
 (ステップS1501)インテント生成部301は、ドキュメント格納部101に格納されている第一ドキュメントからアクション名を取得し、当該アクション名を有するインテントを生成する。 (Step S1501) The intent generation unit 301 acquires an action name from the first document stored in the document storage unit 101, and generates an intent having the action name.
 (ステップS1502)蓄積部306は、ステップ1501で生成されたインテントをインテント格納部12aに蓄積する。 (Step S1502) The storage unit 306 stores the intent generated in step 1501 in the intent storage unit 12a.
 (ステップS1503)エンティティ生成部302は、ドキュメント格納部101に格納されている第二ドキュメントから属性名を取得し、取得した属性名であるエンティティ名を生成する。なお、第二ドキュメントは、前述したように、第一ドキュメントと同じドキュメントでもよい。 (Step S1503) The entity generation unit 302 acquires an attribute name from the second document stored in the document storage unit 101, and generates an entity name which is the acquired attribute name. As described above, the second document may be the same document as the first document.
 (ステップS1504)蓄積部306は、ステップS1503で生成されたエンティティ名をエンティティ格納部15aに蓄積する。 (Step S1504) The storage unit 306 stores the entity name generated in step S1503 in the entity storage unit 15a.
 (ステップS1505)処理部30は、ステップ1503で生成されたエンティティ名を、初期テンプレートの変数に対応付けることにより、エンティティ名が対応付いた変数を有するテンプレートを生成する。 (Step S1505) The processing unit 30 generates a template having a variable associated with the entity name by associating the entity name generated in step 1503 with the variable of the initial template.
 (ステップS1506)蓄積部306は、ステップS1505で生成されたテンプレートを、ステップS1502で蓄積されたインテントに対応付けて会話文情報格納部14aに蓄積する。その後、処理を終了する。 (Step S1506) The storage unit 306 stores the template generated in step S1505 in the conversation text information storage unit 14a in association with the intent accumulated in step S1502. After that, the process ends.
 なお、図15のフローチャートにおいて、初期テンプレートは、2以上の変数を有しており、ステップS1503では、エンティティ生成部302は、1以上のエンティティを生成し、ステップS1505では、処理部30は、ステップ1501で生成されたインテントを、初期テンプレートが有する2以上の変数のうち最後の変数に対応付け、かつステップ1503で生成された1以上のエンティティ名を、当該2以上の変数のうち、最後の変数を除く1以上の変数に対応付けることにより、エンティティ名が対応付いた1以上の変数、およびインテントが対応付いた変数を有するテンプレートを生成してもよい。 In the flowchart of FIG. 15, the initial template has two or more variables. In step S1503, the entity generation unit 302 generates one or more entities, and in step S1505, the processing unit 30 steps. The intent generated in 1501 is associated with the last variable among the two or more variables of the initial template, and the one or more entity names generated in step 1503 are associated with the last of the two or more variables. By associating with one or more variables excluding variables, a template having one or more variables associated with entity names and variables associated with intents may be generated.
 また、図15のフローチャートにおいて、ステップS1503およびS1506は、下記のステップS1503aおよびS1506aの置き換えられてもよい。 Further, in the flowchart of FIG. 15, steps S1503 and S1506 may be replaced with the following steps S1503a and S1506a.
 (ステップS1503a)エンティティ生成部302は、ドキュメント格納部101に格納されている第二ドキュメントから、属性名および当該属性名に対応する1以上の単語を取得し、取得した属性名であるエンティティ名、および取得した1以上の単語である1以上のエンティティを生成する。 (Step S1503a) The entity generation unit 302 acquires an attribute name and one or more words corresponding to the attribute name from the second document stored in the document storage unit 101, and the entity name which is the acquired attribute name, And generate one or more entities that are one or more acquired words.
 (ステップS1506a)蓄積部306は、ステップS1503aで生成されたエンティティ名と1以上のエンティティの組を、エンティティ格納部15aに蓄積する。 (Step S1506a) The storage unit 306 stores the entity name generated in step S1503a and a set of one or more entities in the entity storage unit 15a.
 さらに、ステップS1506aの後に、下記2つのステップS1507およびS1508が追加されてもよい。 Further, the following two steps S1507 and S1508 may be added after step S1506a.
 (ステップS1507)会話文情報生成部303は、ステップS1503aで生成された1以上のエンティティのうち1以上の各エンティティを、ステップS1506で蓄積されたテンプレートの、エンティティ名が対応付いた変数に挿入することにより、1以上の会話文情報を生成する。 (Step S1507) The conversational sentence information generation unit 303 inserts one or more of the one or more entities generated in step S1503a into the variables associated with the entity names in the template accumulated in step S1506. By doing so, one or more conversational sentence information is generated.
 (ステップS1508)蓄積部306は、ステップS1507で生成された1以上の会話文情報を、ステップS1502で蓄積されたインテントに対応付けて、会話文情報格納部14aに蓄積する。 (Step S1508) The storage unit 306 stores one or more conversational sentence information generated in step S1507 in the conversational sentence information storage unit 14a in association with the intent accumulated in step S1502.
 図16は、第一ドキュメントがAPI設計書であり、第二ドキュメントがテーブル情報である場合における、情報生成装置100の動作例を説明するフローチャートである。なお、このフローチャートは、API設計書に含まれる1以上のアクション名のうち、一のアクション名に対する処理であり、他のアクション名に対しても、同様の処理が行われる。 FIG. 16 is a flowchart illustrating an operation example of the information generation device 100 when the first document is an API design document and the second document is table information. Note that this flowchart is a process for one action name among one or more action names included in the API design document, and the same process is performed for other action names.
 (ステップS1601)インテント生成部301は、API情報格納部13aに格納されているAPI設計書からアクション名を取得し、当該アクション名を有するインテントを生成する。 (Step S1601) The intent generation unit 301 acquires an action name from the API design document stored in the API information storage unit 13a, and generates an intent having the action name.
 (ステップS1602)インテント蓄積手段3061は、ステップ1501で生成されたインテントをインテント格納部12aに蓄積する。 (Step S1602) The intent storage means 3061 stores the intent generated in step 1501 in the intent storage unit 12a.
 (ステップS1603)エンティティ生成部302は、変数iに初期値“1”をセットする。なお、このフローチャートにおける変数iは、テーブル格納部11aに格納されている1以上のテーブル情報のうち、未選択のテーブル情報を順番に選択していくための変数である。 (Step S1603) The entity generation unit 302 sets the initial value "1" in the variable i. The variable i in this flowchart is a variable for sequentially selecting unselected table information from one or more table information stored in the table storage unit 11a.
 (ステップS1604)エンティティ生成部302は、i番目のテーブル情報があるか否かを判別する。i番目のテーブル情報がある場合はステップS1605に進み、ない場合はステップS1608に進む。 (Step S1604) The entity generation unit 302 determines whether or not there is the i-th table information. If there is the i-th table information, the process proceeds to step S1605. If not, the process proceeds to step S1608.
 (ステップS1605)エンティティ生成部302は、i番目のテーブル情報が有するテーブルから属性名および当該属性名に対応する1以上の単語を取得し、取得した属性名であるエンティティ名、および、取得した1以上の単語である1以上のエンティティを生成する。 (Step S1605) The entity generation unit 302 acquires the attribute name and one or more words corresponding to the attribute name from the table of the i-th table information, the entity name which is the acquired attribute name, and the acquired 1 Generate one or more entities that are the above words.
 (ステップS1606)エンティティ蓄積手段3062は、ステップS1605で生成された1以上のエンティティを、ステップS1602で蓄積されたエンティティ名に対応付けて、エンティティ格納部15aに蓄積する。 (Step S1606) The entity storage means 3062 stores one or more entities generated in step S1605 in the entity storage unit 15a in association with the entity name stored in step S1602.
 (ステップS1607)エンティティ生成部302は、変数iをインクリメントする。その後、ステップS1604に戻る。 (Step S1607) The entity generation unit 302 increments the variable i. After that, the process returns to step S1604.
 (ステップS1608)処理部30は、ステップS1604~S1607の1回以上の実行により生成された1以上のエンティティ名を、初期テンプレートの1以上の変数に対応付け、変数の数または位置を異ならせた1以上のテンプレートを生成する。 (Step S1608) The processing unit 30 associates one or more entity names generated by one or more executions of steps S1604 to S1607 with one or more variables of the initial template, and makes the number or position of the variables different. Generate one or more templates.
 (ステップS1609)会話文情報生成部303は、変数jに初期値“1”をセットする。なお、このフローチャートにおける変数jは、ステップS1608で生成された1以上のテンプレートのうち、未選択のテンプレートを順番に選択していくための変数である。 (Step S1609) The conversation sentence information generation unit 303 sets the initial value "1" in the variable j. The variable j in this flowchart is a variable for sequentially selecting an unselected template from the one or more templates generated in step S1608.
 (ステップS1610)会話文情報生成部303は、j番目のテンプレートがあるか否かを判別する。j番目のテンプレートがある場合はステップS1611に進み、ない場合はステップS1613に進む。 (Step S1610) The conversation sentence information generation unit 303 determines whether or not there is a j-th template. If there is a j-th template, the process proceeds to step S1611, otherwise the process proceeds to step S1613.
 (ステップS1611)会話文情報生成部303は、テーブル格納部11aに格納されている1以上の各テーブルから一の単語を取得し、j番目のテンプレートが有する1以上の変数の位置に挿入することにより、会話文情報を生成する。 (Step S1611) The conversational sentence information generation unit 303 acquires one word from each of one or more tables stored in the table storage unit 11a and inserts it at the position of one or more variables of the j-th template. Generates conversational sentence information.
 (ステップS1612)会話文情報生成部303は、変数jをインクリメントする。その後、ステップS1610に戻る。 (Step S1612) The conversational sentence information generation unit 303 increments the variable j. After that, the process returns to step S1610.
 (ステップS1613)会話文情報生成部303は、ステップS1610~S1612の1回以上の実行により生成された1以上の会話文情報を、ステップS1602で蓄積されたインテントに対応付けて会話文情報格納部14aに蓄積する。その後、処理を終了する。 (Step S1613) The conversation sentence information generation unit 303 associates one or more conversation sentence information generated by one or more executions of steps S1610 to S1612 with the intent accumulated in step S1602 and stores the conversation sentence information. Accumulate in part 14a. After that, the process ends.
 なお、情報生成装置100の具体的な動作例の1つ(以下、具体例1)は、ブロック図説明において述べたので繰り返さない。なお、具体例1では、第一ドキュメントの一種であるAPI設計書、および第二ドキュメントの一種であるテーブル情報を用いて、インテント、エンティティ名と1以上のエンティティの組、および会話文の例文である1以上の会話文情報などが生成されたが、次に説明する具体例2では、第一ドキュメントと第二ドキュメントとを兼ねる一のドキュメントを用いて、インテント、エンティティ名、および会話文のテンプレートである1以上の会話文情報が生成される。 Note that one of the specific operation examples of the information generation device 100 (hereinafter, specific example 1) is described in the explanation of the block diagram and will not be repeated. In Specific Example 1, an intent, a set of an entity name and one or more entities, and an example sentence of a conversation sentence are used using an API design document which is a kind of the first document and table information which is a kind of the second document. One or more conversational sentence information and the like are generated, but in the specific example 2 described next, an intent, an entity name, and a conversational sentence are used by using one document that also serves as the first document and the second document. One or more conversational sentence information that is a template of is generated.
 (具体例2)
 本例において、ドキュメント格納部101には、例えば、図17に示すような文書ファイルが格納される。この文書ファイルは、第一ドキュメントと第二ドキュメントとを兼ねる一のドキュメントの一種である。この文書ファイルは、アクション名“経費精算”を含む文字列“経費精算書”を有し、また、当該アクション名の一部である文字列“経費”も有する。さらに、この文書ファイルは、属性名である“社員”をも有する。アクション名“経費精算”は、予め登録された1または2以上のインテントのうち1つであり、属性名“社員”は、予め登録された1または2以上のエンティティ名のうち1つである。
(Specific example 2)
In this example, the document storage unit 101 stores, for example, a document file as shown in FIG. This document file is a kind of one document that doubles as a first document and a second document. This document file has a character string "expense settlement report" including an action name "expense settlement", and also has a character string "expense" which is a part of the action name. In addition, this document file also has the attribute name "employee". The action name "expense settlement" is one of one or more pre-registered intents, and the attribute name "employee" is one of one or more pre-registered entity names. ..
 格納部10には、例えば、図18に示すようなインテント名辞書が予め格納されている。インテント名辞書とは、インテント名に関する辞書である。インテント名辞書には、例えば、インテント名と1または2以上の語彙の組が、1組または2組以上、登録されている。なお、登録されるインテント名は、アクション名でもよい。従って、インテント名辞書は、例えば、アクション名辞書と呼んでもよい。 In the storage unit 10, for example, an intent name dictionary as shown in FIG. 18 is stored in advance. The intent name dictionary is a dictionary related to intent names. In the intent name dictionary, for example, one set or two or more sets of intent names and one or more vocabulary sets are registered. The registered intent name may be an action name. Therefore, the intent name dictionary may be called, for example, an action name dictionary.
 インテント名と1以上の語彙との組は、例えば、インテント名“経費精算”と1以上の語彙“経費精算、経費明細”の組、インテント名“作業日報”と1以上の語彙“作業日報、日報”の組、インテント名“作業月報”と1以上の語彙“作業月報、月報”の組、インテント名“勤務時間”と1以上の語彙“勤務時間、作業時間”の組、インテント名“残業時間”と1以上の語彙“残業時間、残業”の組、インテント名“休暇日数”と1以上の語彙“休暇日数、休み”の組などである。 The pair of intent name and one or more vocabulary is, for example, the pair of intent name "expense settlement" and one or more vocabulary "expense settlement, expense statement", intent name "daily work report" and one or more vocabulary " Daily work report, daily report, intent name "monthly work report" and one or more vocabulary "monthly work report, monthly report", intent name "working hours" and one or more vocabulary "working hours, working hours" , The intent name "overtime hours" and one or more vocabulary "overtime hours, overtime", the intent name "vacation days" and one or more vocabulary "vacation days, holidays", etc.
 また、格納部10には、例えば、図19に示すようなエンティティ名辞書も予め格納されている。エンティティ名辞書とは、エンティティ名に関する辞書である。なお、登録されるエンティティ名は、属性名でもよい。従って、エンティティ名辞書は、例えば、属性名辞書と呼んでもよい。エンティティ名辞書には、例えば、エンティティ名と1または2以上の語彙の組が、1組または2組以上、格納されている。 Further, in the storage unit 10, for example, an entity name dictionary as shown in FIG. 19 is also stored in advance. The entity name dictionary is a dictionary related to entity names. The registered entity name may be an attribute name. Therefore, the entity name dictionary may be called, for example, an attribute name dictionary. In the entity name dictionary, for example, one or more pairs of entity names and one or more vocabularies are stored.
 エンティティ名と1以上の語彙との組は、例えば、エンティティ名“社員”と1以上の語彙“社員”の組、エンティティ名“作業場所”と1以上の語彙“作業場所、勤務場所”の組、エンティティ名“交通費”と1以上の語彙“交通費”の組、エンティティ名“勤務時間”と1以上の語彙“勤務時間、作業時間”の組などである。 A pair of an entity name and one or more vocabularies is, for example, a pair of an entity name "employee" and one or more vocabulary "employees", a pair of an entity name "workplace" and one or more vocabularies "workplace, work place". , The entity name "transportation cost" and one or more vocabulary "transportation cost", the entity name "working time" and one or more vocabulary "working time, working time", and the like.
 最初、処理部30は、ドキュメント格納部101に格納されている文書ファイルから1または2以上の文字列を抽出する。なお、文字列とは、通常、2以上の文字の配列であるが、ただ1つの文字の場合も含む。また、文字列は、記号も含んでもよい。 First, the processing unit 30 extracts one or more character strings from the document file stored in the document storage unit 101. The character string is usually an array of two or more characters, but includes the case of only one character. The character string may also include symbols.
 本例では、例えば、第一文字列“・必ず承認覧に上司の確認の印を受ける事。”、第二文字列“・精算は、必ずこの用紙で1ヶ月単位で記入してください。”、第三文字列“[経費精算書]”、第四文字列“対象期間”、第五文字列“2016年6月1日~2016年6月30日”、第六文字列“作成者”、第七文字列“中村 一郎”、第八文字列“社員CD”、第九文字列“053”、第十文字列“作成日”、第十一文字列“2016年7月9日”、第十二文字列“再査者”、第十三文字列“承認者”、第十四文字列“日”、第十五文字列“適用”、第十六文字列“経費”、第十七文字列“仮払”、第十八文字列“項目”、第十九字列“金額”などが抽出される。 In this example, for example, the first character string "・ Be sure to get the confirmation mark of your boss on the approval list.", The second character string "・ Please be sure to fill in the settlement on this form on a monthly basis.", 3rd character string "[Expense settlement report]", 4th character string "Target period", 5th character string "June 1, 2016-June 30, 2016", 6th character string "Creator", 7th character string "Ichiro Nakamura", 8th character string "Employee CD", 9th character string "053", 10th character string "creation date", 11th character string "July 9, 2016", No. Twelve strings "re-examiner", thirteenth string "approver", fourteenth string "day", fifteenth string "apply", sixteenth string "expense", seventeenth The character string "temporary payment", the eighteenth character string "item", the nineteenth character string "amount", etc. are extracted.
 次に、処理部30は、抽出した1以上の各文字列に対して形態素解析を行い、当該文字列を構成する1または2以上の語または記号を取得し、当該1以上の各語の品詞または記号の種類を特定する。そして、処理部30は、特定した品詞等の情報を用いて、抽出した1以上の文字列のうち、予め決められた条件を満たす1以上の文字列を除外する。 Next, the processing unit 30 performs morphological analysis on each of the extracted one or more character strings, acquires one or two or more words or symbols constituting the character string, and has a part of speech of each of the one or more words. Or specify the type of symbol. Then, the processing unit 30 uses information such as the specified part of speech to exclude one or more character strings that satisfy a predetermined condition from the extracted one or more character strings.
 予め決められた条件は、例えば、“抽出された文字列が文である”旨の第一条件である。第一条件を満たすか否かは、例えば、当該文字列を構成する単語の種類や数、当該文字列の末尾の語の品詞または末尾の記号の種類などに基づいて判断される。なお、文字列が文か否かを判断する技術は公知であり、詳しい説明を省略する。 The predetermined condition is, for example, the first condition that "the extracted character string is a sentence". Whether or not the first condition is satisfied is determined based on, for example, the type and number of words constituting the character string, the part of speech of the word at the end of the character string, or the type of the symbol at the end. The technique for determining whether or not a character string is a sentence is known, and detailed description thereof will be omitted.
 または、予め決められた条件は、例えば、“抽出された文字列が数値または日付である”旨の第二条件でもよい。第二条件を満たすか否かは、例えば、当該文字列の品詞や書式等を基に判断される。なお、文字列が数値または日付であるか否かを判断する技術は公知であり、詳しい説明を省略する。 Alternatively, the predetermined condition may be, for example, a second condition that "the extracted character string is a numerical value or a date". Whether or not the second condition is satisfied is determined based on, for example, the part of speech and the format of the character string. A technique for determining whether or not a character string is a numerical value or a date is known, and detailed description thereof will be omitted.
 本例では、処理部30は、抽出された1以上の文字列のうち、第一または第二のいずれかの条件に該当する文字列を除外する。従って、上記第一~第十九の19文字列のうち、第一,第二,第五,第九および第十一の5文字列が除外される。 In this example, the processing unit 30 excludes the character strings that meet either the first or second condition from the extracted one or more character strings. Therefore, among the 19 character strings of the first to nineteenth, the five character strings of the first, second, fifth, ninth and eleventh are excluded.
 次に、処理部30は、抽出した1以上の文字列のうち、第一または第二のいずれかの条件に該当する文字列を除外して残った1以上の各文字列ごとに、当該文字列中に、記号または句読点のうち1以上の情報が含まれるか否かを判断する。そして、記号または句読点のうち1以上の情報が含まれると判断した場合に、処理部30は、当該文字列から当該1以上の情報を削除する。 Next, the processing unit 30 excludes the character strings corresponding to either the first or second condition from the extracted one or more character strings, and for each of the remaining one or more character strings, the character concerned. Determine if the column contains one or more of the symbols or punctuation marks. Then, when it is determined that one or more pieces of information among the symbols or punctuation marks are included, the processing unit 30 deletes the one or more pieces of information from the character string.
 本例では、残された第三,第四,第六~第八,第十,第十二~第十九の14文字列のうち、第三文字列だけが、2つの記号“[”および“]”を含んでおり、当第三文字列から当該2つの記号“[”および“]”が削除される。 In this example, of the remaining 14 character strings of the third, fourth, sixth to eighth, tenth, twelfth to nineteenth, only the third character string has two symbols "[" and It contains "]" and the two symbols "[" and "]" are deleted from the third character string.
 次に、インテント生成部301は、残された1以上の各文字列ごとに、当該文字列と、インテント名辞書に登録されている1以上の各インテント名との類似度、または当該インテント名と対になる1以上の各語彙との類似度を取得し、取得した1以上の類似度のうち、最も高い類似度に対応するインテント名を特定する。なお、類似度は、例えば、文字列中の一致する文字の割合(例えば、x文字中y文字が一致する場合は、類似度“y/x”など)でもよいし、コサイン類似度等でもよく、その種類は問わない。 Next, the intent generation unit 301 determines the degree of similarity between the character string and each of the one or more intent names registered in the intent name dictionary, or the said, for each of the remaining one or more character strings. The similarity between the intent name and one or more vocabularies paired with each other is acquired, and the intent name corresponding to the highest similarity among the acquired one or more similarity is specified. The similarity may be, for example, the ratio of matching characters in the character string (for example, when y characters in x characters match, the similarity degree is “y / x”, etc.), or the cosine similarity degree or the like. , The type does not matter.
 次に、インテント生成部301は、当該最も高い類似度が閾値以上または閾値より大か否かを判断し、閾値以上または閾値より大であると判断された場合に、当該文字列を有するインテント名を取得する。 Next, the intent generation unit 301 determines whether or not the highest similarity is equal to or greater than or greater than the threshold value, and when it is determined that the highest similarity is equal to or greater than the threshold value or is greater than the threshold value, the intent generation unit 301 has the character string. Get the tent name.
 なお、当該最も高い類似度が閾値に満たない又は閾値以下であると判断された場合、インテント生成部301は、通常、インテントの生成を行わない。ただし、当該最も高い類似度が閾値に満たない又は閾値以下であると判断された場合でも、インテント生成部301は、当該文字列を有するインテントの生成を行ってもよい。出力部40は、こうして生成されたインテントを出力し、受付部20は、当該インテントの蓄積の可否を示すユーザの指示を受け付け、蓄積可を示す指示が受け付けられた場合に、蓄積部306は、当該インテントを蓄積してもよい。 If it is determined that the highest similarity is less than or equal to the threshold value, the intent generation unit 301 normally does not generate an intent. However, even when it is determined that the highest similarity is less than or equal to the threshold value, the intent generation unit 301 may generate an intent having the character string. The output unit 40 outputs the intent thus generated, and the reception unit 20 receives a user's instruction indicating whether or not the intent can be accumulated, and when the instruction indicating whether or not the intent can be accumulated is received, the storage unit 306 May accumulate the intent.
 本例の場合、類似度は、文字列と、エンティティ名または語彙との間で、一致する文字の割合であり、その閾値は“1/2”であるとする。一致する文字の割合とは、例えば、一致する文字の数を、文字列の文字数またはエンティティ名等の文字数のうち大きい方の文字数で除した値であってもよい。または、類似度は、例えば、文字列と、エンティティ名または語彙との間で、一致する文字の数などであってもよく、その取得方法は問わない。 In the case of this example, the similarity is the ratio of matching characters between the character string and the entity name or vocabulary, and the threshold value is "1/2". The ratio of matching characters may be, for example, a value obtained by dividing the number of matching characters by the number of characters in a character string or the number of characters such as an entity name, whichever is larger. Alternatively, the similarity may be, for example, the number of matching characters between the character string and the entity name or vocabulary, and the acquisition method is not limited.
 インテント生成部301は、残された14文字列のうち、まず、1番目の文字列“経費精算書”について、インテント名辞書に登録されている6つのインテント名との類似度を取得する。1番目の文字列“経費精算書”は、1番目のインテント名“経理精算”に対して、5文字中4文字が一致することから、類似度“4/5”が取得される。 The intent generation unit 301 first acquires the similarity between the first character string "expense settlement report" and the six intent names registered in the intent name dictionary among the remaining 14 character strings. To do. Since 4 out of 5 characters of the first character string "expense settlement report" match the first intent name "accounting settlement", the similarity "4/5" is acquired.
 または、インテント生成部301は、1番目の文字列“経費精算書”と、1番目のインテント名“経理精算”と対になる2つの語彙“経理精算”および“経理明細”の各々との類似度を取得してもよい。この場合、前者の語彙“経理精算”との類似度“4/5”と、後者の語彙“経理明細”との類似度“2/5”とが取得される。なお、1番目の文字列“経費精算書”は、他の5つのインテント名とは1文字も一致せず、各インテント名と対になる1以上の各語彙とも一致しないことから、他の5つの各インテント名等に対しては、類似度“0”が取得される。 Alternatively, the intent generation unit 301 includes each of the two vocabularies "accounting settlement" and "accounting statement" paired with the first character string "expense settlement report" and the first intent name "accounting settlement". You may get the similarity of. In this case, the degree of similarity "4/5" with the former vocabulary "accounting settlement" and the degree of similarity "2/5" with the latter vocabulary "accounting statement" are acquired. The first character string "Expense Report" does not match any of the other five intent names, nor does it match one or more vocabularies paired with each intent name. The similarity "0" is acquired for each of the five intent names and the like.
 インテント生成部301は、1番目の文字列“経費精算書”について取得された6つの類似度または12個の類似度のうち、最も高い類似度“4/5”が閾値“1/2”よりも大であることから、当該最も高い類似度に対応するインテント名“経費精算”を特定すると共に、1番目の文字列“経費精算書”を含むインテントを生成する。なお、“経費精算書”を含むインテントとは、例えば、“経費精算書”であるが、“経費精算書インテント”や“経費精算書探索インテント”等でもよく、その形式は問わない。 In the intent generation unit 301, the highest similarity "4/5" among the 6 similarity or 12 similarity acquired for the first character string "expense settlement report" is the threshold value "1/2". Since it is larger than, the intent name "expense settlement" corresponding to the highest similarity is specified, and the intent including the first character string "expense settlement report" is generated. The intent including the "expense settlement report" is, for example, the "expense settlement report", but may be the "expense settlement report intent", the "expense settlement report search intent", etc., regardless of the format. ..
 2番目の以降の各文字列についても、上記と同様の処理が行われ、11番目の文字列“経費”と1番目のインテント名“経理精算”との類似度が“2/4”であり、閾値“1/2”以上であるため、11番目の文字列“経費”を含むインテントがさらに生成される。“経費”を含むインテントは、例えば、“経費”であるが、“経費インテント”や“経費探索インテント”等でもよい。なお、その他の文字列については、登録されているインテント名等との類似度が“0”であため、インテントは生成されない。 The same processing as above is performed for each of the second and subsequent character strings, and the similarity between the 11th character string "expense" and the first intent name "accounting settlement" is "2/4". Since there is a threshold of "1/2" or more, an intent including the eleventh character string "expense" is further generated. The intent including "expense" is, for example, "expense", but may be "expense intent", "expense search intent", or the like. For other character strings, the intent is not generated because the similarity with the registered intent name or the like is "0".
 蓄積部306は、インテント生成部301が生成した1以上のインテントをインテント格納部12aに蓄積する。本例では、生成された2つのインテント“経費精算書”および“経費”が蓄積される。 The storage unit 306 stores one or more intents generated by the intent generation unit 301 in the intent storage unit 12a. In this example, the two generated intents "Expense Report" and "Expense" are accumulated.
 次に、エンティティ生成部302は、残された1以上の文字列のうち、インテント生成部301によるインテント生成の対象となった1以上の文字列を除く1以上の各文字列ごとに、当該文字列と、エンティティ名辞書に登録されている1以上の各エンティティ名との類似度、または当該エンティティ名と対になる1以上の各語彙との類似度を取得する。そして、エンティティ生成部302は、取得した1以上の類似度のうち、最も高い類似度が、閾値以上または閾値より大か否かを判断し、閾値以上または閾値より大であると判断された場合に、当該文字列に対応するエンティティ名を生成する。 Next, the entity generation unit 302 uses the remaining one or more character strings for each one or more character strings excluding the one or more character strings that are the target of intent generation by the intent generation unit 301. The similarity between the character string and one or more entity names registered in the entity name dictionary, or the similarity with one or more vocabularies paired with the entity name is acquired. Then, the entity generation unit 302 determines whether or not the highest similarity among the acquired 1 or more similarity is equal to or greater than the threshold value or greater than the threshold value, and when it is determined that the degree is equal to or greater than the threshold value or greater than the threshold value. Generates the entity name corresponding to the character string.
 なお、当該最も高い類似度が、閾値に満たない又は閾値以下であると判断された場合、エンティティ生成部302は、通常、エンティティ名の生成を行わない。ただし、当該最も高い類似度が閾値に満たない又は閾値以下であると判断された場合でも、エンティティ生成部302は、当該文字列を含むエンティティ名を生成してもよい。出力部40は、こうして生成されたエンティティ名を出力し、受付部20は、当該エンティティ名の蓄積の可否を示すユーザの指示を受け付け、蓄積可を示す指示が受け付けられた場合に、蓄積部306は、当該エンティティ名を蓄積してもよい。 If it is determined that the highest degree of similarity is less than or equal to the threshold value, the entity generation unit 302 normally does not generate the entity name. However, even if it is determined that the highest similarity is less than or equal to the threshold value, the entity generation unit 302 may generate an entity name including the character string. The output unit 40 outputs the entity name generated in this way, and the reception unit 20 receives a user's instruction indicating whether or not the entity name can be stored, and when the instruction indicating whether or not the storage is possible is received, the storage unit 306 May accumulate the entity name.
 本例では、残された上記14文字列のうち、インテント生成の対象となった2つの文字列“経費精算”および“経費”を除く12文字列の各々について、当該文字列と、エンティティ名辞書に登録されている1以上の各エンティティ名“社員”,“作業場所”,“交通費”,“勤務時間”等との類似度が取得される。 In this example, of the remaining 14 character strings, for each of the 12 character strings excluding the two character strings "expense settlement" and "expense" that were the targets of intent generation, the character string and the entity name. The degree of similarity with each one or more entity names "employee", "work place", "transportation expense", "working time", etc. registered in the dictionary is acquired.
 詳しくは、まず、1番目の文字列“対象期間”について、エンティティ生成部302は、4番目のエンティティ名“勤務時間”に対し、4文字中1文字が一致することから、類似度“1/4”を取得する。他の各エンティティ名等に対しては、類似度“0”が取得される。次に、エンティティ生成部302は、取得した4つの又は6つの類似度のうち、最も高い類似度“1/4”について、閾値“1/2”以上か否かを判断する。ここでは、当該最も高い類似度“1/4”は、閾値“1/2”未満であると判断されるため、当該1番目の文字列“対象期間”を含むエンティティ名は生成されない。 Specifically, first, regarding the first character string "target period", the entity generation unit 302 matches the fourth entity name "working hours" with one of the four characters, so that the similarity is "1 /". Get 4 ". The similarity "0" is acquired for each of the other entity names and the like. Next, the entity generation unit 302 determines whether or not the highest similarity “1/4” among the acquired 4 or 6 similarity is equal to or greater than the threshold value “1/2”. Here, since it is determined that the highest similarity "1/4" is less than the threshold value "1/2", the entity name including the first character string "target period" is not generated.
 2番目、3番目の各文字列については、登録されているどのエンティティ名とも1文字も一致しないため、“0”以外の類似度は取得されず、当該文字列を含むエンティティ名は生成されない。 For each of the second and third character strings, no character matches any of the registered entity names, so similarity other than "0" is not acquired, and the entity name including the character string is not generated.
 4番目の文字列“社員CD”については、1番目のエンティティ名“社員”との類似度が“2/4”で、閾値“1/2”以上であるため、4番目の文字列を含むエンティティ名が取得される。4番目の文字列を含むエンティティ名は、例えば、“社員CD” であるが、“社員CDエンティティ”等でもよく、その形式は問わない。 The fourth character string "employee CD" includes the fourth character string because the similarity with the first entity name "employee" is "2/4" and the threshold value is "1/2" or more. The entity name is retrieved. The entity name including the fourth character string is, for example, "employee CD", but may be "employee CD entity" or the like, and its format does not matter.
 なお、5番目以降の各文字列については、“0”以外の類似度は取得されず、当該文字列を含むエンティティ名は生成されない。 For each character string after the 5th, the similarity other than "0" is not acquired, and the entity name including the character string is not generated.
 蓄積部306は、エンティティ生成部302が生成した1以上のエンティティ名をエンティティ格納部15aに蓄積する。本例では、生成されたエンティティ名“社員エンティティが蓄積される。 The storage unit 306 stores one or more entity names generated by the entity generation unit 302 in the entity storage unit 15a. In this example, the generated entity name "Employee entity is accumulated.
 テンプレート格納部102には、変数“{}”を2つ有する初期テンプレート“{}の{}を見せて”が格納されており、処理部30は、生成されたインテント(例えば“$1”)を、当該初期テンプレート“{}の{}を見せて”中の2つ目の変数“{}”に対応付け、生成されたエンティティ名(例えば“$2”)を1番目の変数“{}”に対応付けることにより、エンティティ名が対応付いた変数“{$2}”およびインテントが対応付いた変数“$1”を有するテンプレート“{$2}の{$1}を見せて”を生成する。 In the template storage unit 102, "show {} of the initial template" {} "that has two variables" {} "is stored, and the processing unit 30 stores the generated intent (for example," $ 1 "". ) Is associated with the second variable "{}" in "Show {} of the initial template" {} ", and the generated entity name (for example," $ 2 ") is associated with the first variable" {{. } ”, The template“ {$ 1} of {$ 2}, which has the variable “{$ 2}” with the entity name and the variable “$ 1” with the intent, is displayed. Generate.
 本例では、処理部30は、生成されたインテント“経費精算書”を、当該初期テンプレート中の2つ目の変数に対応付け、かつ、生成されたエンティティ名“社員CD”を1つ目の変数“{}”に対応付けることにより、テンプレート“{社員CD}の{経費精算書}を見せて”を生成する。また、処理部30は、生成されたインテント“経費”を、当該初期テンプレート中の2つ目の変数に対応付け、かつ、生成されたエンティティ名“社員CD”を1番目の変数“{}”に対応付けることにより、テンプレート“{社員CD}の{経費}を見せて”を生成する。 In this example, the processing unit 30 associates the generated intent "expense settlement report" with the second variable in the initial template, and assigns the generated entity name "employee CD" to the first variable. By associating with the variable "{}" of, the template "Show {expense settlement statement} of {employee CD}" is generated. Further, the processing unit 30 associates the generated intent "expense" with the second variable in the initial template, and associates the generated entity name "employee CD" with the first variable "{}. By associating with "", the template "Show {expense} of {employee CD}" is generated.
 蓄積部306は、生成された2つのテンプレート“{社員CD}の{経費精算書}を見せて”および“{社員CD}の{経費}を見せて”を、特定されたインテント名“経費精算”に対応付けて会話文情報格納部14aに蓄積する。 The storage unit 306 displays the two generated templates "Show {expense settlement} of {employee CD}" and "Show {expense} of {employee CD}" with the specified intent name "expense". It is stored in the conversation text information storage unit 14a in association with "payment".
 こうして、文書ファイルを用いて、インテント“経費精算書”、エンティティ名“社員CD”、およびテンプレート“{社員CD}の{経費精算書}を見せて”が生成され、さらに、インテント“経費”、エンティティ名“社員CD”、およびテンプレート“{社員CD}の{経費精算書}を見せて”も生成される。 In this way, using the document file, the intent "Expense Report", the entity name "Employee CD", and the template "Show {Expense Report} of {Employee CD}" are generated, and the intent "Expense" is generated. , Entity name "employee CD", and template "show {expense reimbursement} of {employee CD}" are also generated.
 なお、本例において、例えば、エンティティマッピング情報格納部16に、図示しないエンティティマッピング情報5(例えば、“MST_SHAIN,SHAIN_CODE,社員CDエンティティ”など)が格納されており、エンティティ生成部302は、エンティティマッピング情報5を用いて、テーブル識別子“MST_SHAIN”で識別されるテーブル情報1(つまり、社員マスタ:図4参照)から、属性名“SHAIN_CODE”に対応する属性値“1”,“2”等を取得し、エンティティ名“社員CDエンティティ”に対応付けてエンティティ格納部15aに蓄積してもよい。 In this example, for example, the entity mapping information storage unit 16 stores entity mapping information 5 (for example, “MST_SHAIN, SHAIN_CODE, employee CD entity”, etc.), and the entity generation unit 302 stores the entity mapping. Using the information 5, the attribute values "1", "2", etc. corresponding to the attribute name "SHAIN_CODE" are acquired from the table information 1 (that is, the employee master: see FIG. 4) identified by the table identifier "MST_SHAIN". Then, it may be stored in the entity storage unit 15a in association with the entity name "employee CD entity".
 これによって、テーブル情報1を用いて、当該エンティティ名“社員CD”に対応する1以上のエンティティ“1”,“2”等も生成される。なお、図17の文書ファイルは、属性名“社員CD”に対応する属性値“053”も有しており、エンティティ生成部302は、この文書ファイルを用いて、エンティティ名“社員CD”に対応するエンティティ“053”を生成してもよい。 As a result, one or more entities "1", "2", etc. corresponding to the entity name "employee CD" are also generated by using the table information 1. The document file of FIG. 17 also has an attribute value "053" corresponding to the attribute name "employee CD", and the entity generation unit 302 uses this document file to correspond to the entity name "employee CD". You may generate the entity "053".
 さらに、会話文情報生成部303が、生成された1以上の各エンティティを、生成された上記2つの各テンプレートが有する変数{社員CD}に挿入することにより、1以上の会話文情報“社員コード1の経費精算書を見せて”,“社員コード2の経費精算書を見せて”、社員コード1の経費を見せて”,“社員コード2の経費を見せて”等を生成してもよい。蓄積部306は、生成された1以上の会話文情報を、特定されたインテント名“経費精算”に対応付けて、会話文情報格納部14aに蓄積する。これによって、当該インテントに対応する1以上の会話文情報をも生成される。 Further, the conversation sentence information generation unit 303 inserts each of the generated one or more entities into the variable {employee CD} of each of the two generated templates, thereby causing one or more conversation sentence information “employee code”. You may generate "Show me the expense report of 1", "Show me the expense report of employee code 2", "Show me the expense of employee code 1", "Show me the expense of employee code 2", etc. The storage unit 306 stores one or more generated conversational sentence information in the conversational sentence information storage unit 14a in association with the specified intent name “expense settlement”. Thereby, the intent is supported. One or more conversational sentence information is also generated.
 以上、本実施の形態によれば、ドキュメント格納部101に、業務処理ごとに管理される情報であり、業務処理を特定する情報であるアクション名を有する第一ドキュメントの一種であり、APIに関する設計書であるAPI設計書が格納され、テーブル格納部11aに、属性名および属性名に対応する1以上の単語を有する第二ドキュメントの一種であるテーブル、およびテーブルを識別するテーブル識別子を含む1以上のテーブル情報が格納され、テンプレート格納部102に、会話文のテンプレートであり、1以上の変数を有するテンプレートが格納され、情報生成装置100は、API設計書からアクション名を取得して、取得したアクション名を有する情報であるインテントを生成し、1以上の各テーブル情報ごとに、テーブル情報が有するテーブルから属性名および属性名に対応する1以上の単語を取得し、取得した属性名であるエンティティ名、および、取得した1以上の単語である1以上のエンティティを生成し、1以上の各テーブル情報ごとに生成した1以上のエンティティから一のエンティティを取得し、取得した1以上のエンティティをテンプレートが有する1以上の変数に挿入することにより、会話文の情報である1以上の会話文情報を生成し、生成したインテントを蓄積し、かつ生成した1以上の各エンティティ名に1以上のエンティティを対応付けて蓄積し、かつ生成した1以上の会話文情報をインテントに対応付けて蓄積することにより、API設計書、およびテーブル情報から、言葉をAPIパラメータに変換するための情報であるインテント、1以上のエンティティ情報、および1以上の会話文情報を自動生成できる。 As described above, according to the present embodiment, the document storage unit 101 is a kind of first document having an action name which is information managed for each business process and is information for specifying the business process, and is a design related to API. An API design document that is a document is stored, and one or more including a table that is a kind of a second document having an attribute name and one or more words corresponding to the attribute name, and a table identifier that identifies the table in the table storage unit 11a. Table information is stored, and a template that is a conversational sentence template and has one or more variables is stored in the template storage unit 102, and the information generator 100 acquires an action name from the API design document and acquires it. An intent that is information having an action name is generated, and for each one or more table information, one or more words corresponding to the attribute name and the attribute name are acquired from the table possessed by the table information, and the acquired attribute name. Generate one or more entities that are the entity name and one or more words acquired, acquire one entity from one or more entities generated for each one or more table information, and acquire one or more entities. By inserting into one or more variables of the template, one or more conversation sentence information which is the information of the conversation sentence is generated, the generated intents are accumulated, and one or more for each one or more generated entity names. It is information for converting words into API parameters from API design document and table information by accumulating by associating entities and accumulating one or more generated conversational sentence information by associating with intents. Intent, one or more entity information, and one or more conversational sentence information can be automatically generated.
 また、インテント格納部12aに、1以上のインテントが格納され、情報生成装置100は、API設計書から、アクション名を有する情報であり、APIに関する情報である1以上のAPI情報を抽出し、1以上の各API情報からアクション名を取得し、取得した1以上の各アクション名を有するインテントを生成し、生成した1以上のインテントをインテント格納部12aに蓄積することにより、API設計書からインテントを自動生成できる。 Further, one or more intents are stored in the intent storage unit 12a, and the information generation device 100 extracts one or more API information which is information having an action name and is information about API from the API design document. By acquiring action names from one or more API information, generating intents having one or more acquired action names, and accumulating the generated one or more intents in the intent storage unit 12a, APIs are used. Intents can be automatically generated from the design document.
 また、エンティティ格納部15aに、1以上のエンティティが格納され、情報生成装置100は、1以上の各テーブル情報ごとに、テーブル情報から属性名を取得し、属性名であるエンティティ名を生成し、生成した1以上の各エンティティ名ごとに、エンティティ名に対応するテーブルから1以上の単語を取得し、一以上の単語である1以上のエンティティを生成し、1以上の各エンティティ名に対応付けて、エンティティ名に対応するテーブルから取得された1以上の単語である1以上のエンティティをエンティティ格納部15aに蓄積することにより、1以上の各テーブルから、エンティティ名、および当該エンティティ名に対応する1以上のエンティティを自動生成できる。 Further, one or more entities are stored in the entity storage unit 15a, and the information generation device 100 acquires an attribute name from the table information for each one or more table information and generates an entity name which is an attribute name. For each one or more generated entity names, obtain one or more words from the table corresponding to the entity name, generate one or more entities that are one or more words, and associate them with each one or more entity names. By accumulating one or more entities, which are one or more words obtained from the table corresponding to the entity name, in the entity storage unit 15a, the entity name and the one corresponding to the entity name are stored from each of the one or more tables. The above entities can be automatically generated.
 また、会話文情報格納部14aに、1以上の会話文情報が格納され、テンプレート格納部102には、エンティティ名が対応付けられた1以上の変数を有するテンプレートであり、変数の位置または数が異なる2以上のテンプレートが格納され、情報生成装置100は、2以上の各テンプレートごとに、当該テンプレートが有する1以上の各変数に対応付けられたエンティティ名に対応する一のエンティティをエンティティ格納部15aから取得し、2以上の各テンプレートごとに、当該テンプレートが有する1以上の各変数の位置に、取得したエンティティを挿入することにより、1以上の会話文情報を生成し、生成した1以上の会話文情報を、インテントに対応付けて会話文情報格納部14aに蓄積することにより、エンティティ名が対応付けられた1以上の変数を有するテンプレートであり、変数の位置または数が異なる2以上のテンプレートを用いて、多様な会話文情報を自動生成できる。 Further, the conversation text information storage unit 14a stores one or more conversation text information, and the template storage unit 102 is a template having one or more variables associated with the entity names, and the positions or numbers of the variables are set. Two or more different templates are stored, and the information generator 100 stores one entity corresponding to the entity name associated with each one or more variables of the template for each of the two or more templates in the entity storage unit 15a. One or more conversation text information is generated by inserting the acquired entity at the position of one or more variables of the template for each of two or more templates obtained from, and one or more conversations generated. It is a template having one or more variables to which the entity name is associated by accumulating the sentence information in the conversation sentence information storage unit 14a in association with the intent, and two or more templates having different positions or numbers of variables. Various conversational sentence information can be automatically generated by using.
 また、エンティティマッピング情報格納部16aに、1以上のエンティティマッピング情報が格納され、情報生成装置100は、1以上の各テーブル情報ごとに、テーブル情報から、テーブル識別子と、テーブル識別子で識別されるテーブル内の属性名であり、変換されるエンティティを特定する情報である翻訳項目名と、翻訳項目に対応する一のエンティティとを取得し、かつエンティティ格納部15aから一のエンティティに対応するエンティティ名を取得して、テーブル識別子と翻訳項目名とエンティティ名とを有するエンティティマッピング情報を生成し、生成した1以上のエンティティマッピング情報をエンティティマッピング情報格納部16aに蓄積することにより、1以上のテーブル情報から、テーブル識別子と翻訳項目名とエンティティ名とを有する1以上のエンティティマッピング情報を自動生成できる。 Further, one or more entity mapping information is stored in the entity mapping information storage unit 16a, and the information generation device 100 stores the table identifier and the table identified by the table identifier from the table information for each one or more table information. The translation item name, which is the attribute name in the above and is the information that identifies the entity to be converted, and one entity corresponding to the translation item are acquired, and the entity name corresponding to one entity is obtained from the entity storage unit 15a. By acquiring, generating entity mapping information having a table identifier, a translation item name, and an entity name, and accumulating one or more generated entity mapping information in the entity mapping information storage unit 16a, from one or more table information. , One or more entity mapping information having a table identifier, a translation item name and an entity name can be automatically generated.
 また、PK項目格納部17aに、1以上のPK項目が格納され、情報生成装置100は、1以上の各テーブル情報ごとに、テーブル情報から、テーブルを識別するテーブル識別子と、テーブルの主キーを特定する主キー識別子とを取得して、テーブル識別子と主キー識別子とを有する情報であるPK項目を生成し、生成した1以上のPK項目をPK項目格納部17aに蓄積することにより、1以上のテーブル情報から、テーブル識別子と主キー識別子とを有する1以上のPK項目を自動生成できる。 Further, one or more PK items are stored in the PK item storage unit 17a, and the information generation device 100 stores a table identifier for identifying the table and a table primary key from the table information for each one or more table information. By acquiring the specified primary key identifier, generating PK items that are information having the table identifier and the primary key identifier, and accumulating the generated one or more PK items in the PK item storage unit 17a, one or more. One or more PK items having a table identifier and a primary key identifier can be automatically generated from the table information of.
 なお、本実施の形態における情報処理装置を実現するソフトウェアは、例えば、以下のようなプログラムである。つまり、このプログラムは、業務処理ごとに管理される情報であり、業務処理を特定する情報であるアクション名を有する設計書であり、APIに関する設計書であるAPI設計書が格納されるドキュメント格納部101、属性名および当該属性名に対応する1以上の単語を有するテーブル、および当該テーブルを識別するテーブル識別子を含む1以上のテーブル情報が格納されるテーブル格納部11a、および、会話文のテンプレートであり、1以上の変数を有するテンプレートが格納されるテンプレート格納部102にアクセス可能なコンピュータを、前記API設計書からアクション名を取得して、取得したアクション名を有する情報であるインテントを生成するインテント生成部301と、前記1以上の各テーブル情報ごとに、当該テーブル情報が有するテーブルから属性名および当該属性名に対応する1以上の単語を取得し、取得した属性名であるエンティティ名、および、取得した1以上の単語である1以上のエンティティを生成するエンティティ生成部302と、前記エンティティ生成部302が前記1以上の各テーブル情報ごとに生成した1以上のエンティティから一のエンティティを取得し、取得した1以上のエンティティを前記テンプレートが有する1以上の変数に挿入することにより、会話文の情報である1以上の会話文情報を生成する会話文情報生成部303と、前記インテント生成部301が生成したインテントを蓄積し、かつ前記エンティティ生成部302が生成した1以上の各エンティティ名に1以上のエンティティを対応付けて蓄積し、かつ前記会話文情報生成部303が生成した1以上の会話文情報を当該インテントに対応付けて蓄積する蓄積部306として機能させるためのプログラムである。 The software that realizes the information processing device in this embodiment is, for example, the following program. That is, this program is a document storage unit that stores API design documents that are information managed for each business process, design documents having action names that are information that identifies business processes, and API design documents. 101, a table having an attribute name and one or more words corresponding to the attribute name, a table storage unit 11a for storing one or more table information including a table identifier that identifies the table, and a conversation sentence template. A computer that can access the template storage unit 102 that stores a template having one or more variables acquires an action name from the API design document and generates an intent that is information having the acquired action name. For each of the intent generation unit 301 and one or more table information, an attribute name and one or more words corresponding to the attribute name are acquired from the table of the table information, and the entity name which is the acquired attribute name, And, one entity is acquired from the entity generation unit 302 that generates one or more entities that are one or more acquired words, and the one or more entities that the entity generation unit 302 generates for each of the one or more table information. Then, by inserting the acquired one or more entities into one or more variables possessed by the template, the conversation sentence information generation unit 303 that generates one or more conversation sentence information that is the information of the conversation sentence, and the intent generation The intent generated by the unit 301 is accumulated, and one or more entities are associated with each one or more entity names generated by the entity generation unit 302 and accumulated, and the conversation sentence information generation unit 303 generates 1 This is a program for functioning as a storage unit 306 that stores the above conversational text information in association with the intent.
 (実施の形態3)
 図16は、本実施の形態における情報生成装置200のブロック図である。本実施の形態における情報生成装置200は、実施の形態2の情報生成装置100において、インテント生成部301をインテント生成部301aに置き換えたものである。インテント生成部301aは、テーブル名抽出手段3011a、アクション名生成手段3012a、およびインテント生成手段3013aを具備する。
(Embodiment 3)
FIG. 16 is a block diagram of the information generator 200 according to the present embodiment. The information generation device 200 in the present embodiment replaces the intent generation unit 301 with the intent generation unit 301a in the information generation device 100 of the second embodiment. The intent generation unit 301a includes a table name extraction unit 3011a, an action name generation unit 3012a, and an intent generation unit 3013a.
 ドキュメント格納部101には、DB設計書が格納される。DB設計書とは、データベースに関する設計書である。DB設計書は、例えば、テーブル格納部11aに格納されている1または2以上の各テーブルのテーブル名を有する。なお、テーブル名については、実施の形態2で説明したので繰り返さない。また、DB設計書は、通常、格納されているテーブルに含まれる1または2以上の属性名も含んでいる。ただし、DB設計書の構造は問わない。 The DB design document is stored in the document storage unit 101. The DB design document is a design document related to the database. The DB design document has, for example, the table name of one or more tables stored in the table storage unit 11a. Since the table name has been described in the second embodiment, it will not be repeated. In addition, the DB design document usually includes one or more attribute names included in the stored table. However, the structure of the DB design document does not matter.
 インテント生成部301aは、例えば、ドキュメント格納部101に格納されているDB設計書からテーブル名または属性名を取得し、取得したテーブル名または属性名の少なくとも一部を有するアクション名を構成して、構成したアクション名を有する情報であるインテントを生成する。 For example, the intent generation unit 301a acquires a table name or attribute name from the DB design document stored in the document storage unit 101, and constitutes an action name having at least a part of the acquired table name or attribute name. , Generates an intent that is information with the configured action name.
 または、インテント生成部301aは、当該DB設計書から1または2以上の属性名を取得し、取得した1以上の各属性名ごとに、当該属性名の少なくとも一部を有するアクション名を構成して、構成したアクション名を有する情報であるインテントを生成してもよい。 Alternatively, the intent generation unit 301a acquires one or two or more attribute names from the DB design document, and configures an action name having at least a part of the attribute names for each of the acquired one or more attribute names. You may also generate an intent that is information with the configured action name.
 テーブル名抽出手段3011aは、DB設計書から1以上のテーブル名または1以上の属性名を抽出する。 The table name extracting means 3011a extracts one or more table names or one or more attribute names from the DB design document.
 アクション名生成手段3012aは、抽出された1以上の各テーブル名または1以上の各属性名ごとに、当該テーブル名または当該属性名から少なくとも一部を抽出し、抽出した部分を有するアクション名を生成する。 The action name generation means 3012a extracts at least a part from the table name or the attribute name for each of the extracted one or more table names or one or more attribute names, and generates an action name having the extracted part. To do.
 インテント生成手段3013aは、生成された1以上の各アクション名を有するインテントを生成する。 The intent generation means 3013a generates an intent having one or more generated action names.
 例えば、DB設計書には、テーブル名“勤務時間テーブル”が含まれており、テーブル名抽出手段3011aは、当該DB設計書から当該テーブル名“勤務時間テーブル”等を取得する。アクション名生成手段3012aは、抽出されたテーブル名“勤務時間テーブル”から一部“勤務時間”を抽出し、抽出した部分を有するアクション名“勤務時間照会”を生成する。インテント生成手段3013aは、生成されたアクション名を有するインテント“勤務時データ照会インテント”を生成する。 For example, the DB design document includes the table name "working time table", and the table name extracting means 3011a acquires the table name "working time table" and the like from the DB design document. The action name generation means 3012a extracts a part of "working hours" from the extracted table name "working hours table", and generates an action name "working hours inquiry" having the extracted part. The intent generation means 3013a generates an intent "working data inquiry intent" having the generated action name.
 または、DB設計書は、例えば、テーブル格納部11aに格納されているテーブル情報3に含まれるテーブル(つまり、勤務時間テーブル)に含まれる1以上の属性名“ZIKANGAI_TIME”,“TOTAL_TIME”等を有しており、テーブル名抽出手段3011aは、当該DB設計書から当該1以上の属性名“ZIKANGAI_TIME”,“TOTAL_TIME”等を取得する。 Alternatively, the DB design document has, for example, one or more attribute names "ZIKANGAI_TIME", "TOTAL_TIME", etc. included in the table (that is, working hours table) included in the table information 3 stored in the table storage unit 11a. The table name extracting means 3011a acquires the one or more attribute names "ZIKANGAI_TIME", "TOTAL_TIME", etc. from the DB design document.
 そして、取得された属性名“ZIKANGAI_TIME”に対し、アクション名生成手段3012aは、当該属性名を変換した“残業時間”を含むアクション名“残業時間照会”を構成し、インテント生成手段3013aは、構成されたアクション名を有するインテント“残業時間照会インテント”を生成する。 Then, for the acquired attribute name "ZIKANGAI_TIME", the action name generating means 3012a constitutes an action name "overtime hours inquiry" including the "overtime hours" obtained by converting the attribute name, and the intent generating means 3013a is Generate an intent "Overtime Inquiry Intent" with the configured action name.
 また、取得された属性名“TOTAL_TIME”に対し、アクション名生成手段3012aは、当該属性名を変換した“勤務時間”を含むアクション名“勤務時間データ照会”を構成し、インテント生成手段3013aは、構成されたアクション名を有するインテント“勤務時間データ照会インテント”を生成してもよい。 Further, for the acquired attribute name "TOTAL_TIME", the action name generating means 3012a constitutes an action name "working time data inquiry" including the "working hours" obtained by converting the attribute name, and the intent generating means 3013a , You may generate an intent "working time data inquiry intent" with the configured action name.
 他の要素の動作は、実施の形態2と同様であり、説明を省略する。 The operation of the other elements is the same as that of the second embodiment, and the description thereof will be omitted.
 この情報生成装置200の動作は、図15のフローチャートにおいて、ステップS1501を下記ステップS1501a(図示しない)に置き換えたものである。 The operation of the information generator 200 is such that step S1501 is replaced with the following step S1501a (not shown) in the flowchart of FIG.
 (ステップS1501a)インテント生成部301aは、ドキュメント格納部101に格納されているDB設計書からテーブル名または属性名を取得し、テーブル名または属性名の少なくとも一部を有するアクション名を構成して、構成したアクション名を有する情報であるインテントを生成する。 (Step S1501a) The intent generation unit 301a acquires the table name or attribute name from the DB design document stored in the document storage unit 101, and constitutes an action name having at least a part of the table name or attribute name. , Generates an intent that is information with the configured action name.
 以上、本実施の形態によれば、ドキュメント格納部101に、業務処理ごとに管理される情報であり、業務処理を特定する情報であるアクション名の少なくとも一部を構成し得る情報を含むテーブル名または属性名を有する第一ドキュメントの一種であり、データベースに関する設計書であるDB設計書が格納され、テーブル格納部11aに、属性名および属性名に対応する1以上の単語を有する第二ドキュメントの一種であるテーブル、およびテーブルを識別するテーブル識別子を含む1以上のテーブル情報が格納され、テンプレート格納部102に、会話文のテンプレートであり、1以上の変数を有するテンプレートが格納され、情報生成装置200は、DB設計書からテーブル名または属性名を取得し、テーブル名または属性名の少なくとも一部を有するアクション名を構成して、構成したアクション名を有する情報であるインテントを生成し、1以上の各テーブル情報ごとに、テーブル情報が有するテーブルから属性名および属性名に対応する1以上の単語を取得し、取得した属性名であるエンティティ名、および、取得した1以上の単語である1以上のエンティティを生成し、1以上の各テーブル情報ごとに生成した1以上のエンティティから一のエンティティを取得し、取得した1以上のエンティティをテンプレートが有する1以上の変数に挿入することにより、会話文の情報である1以上の会話文情報を生成し、生成したインテントを蓄積し、かつ生成した1以上の各エンティティ名に1以上のエンティティを対応付けて蓄積し、かつ生成した1以上の会話文情報をインテントに対応付けて蓄積することにより、DB設計書、およびテーブル情報から、言葉をAPIパラメータに変換するための情報であるインテント、1以上のエンティティ情報、および1以上の会話文情報を自動生成できる。 As described above, according to the present embodiment, the document storage unit 101 is a table name including information managed for each business process and which can form at least a part of an action name which is information for specifying the business process. Alternatively, a DB design document which is a kind of first document having an attribute name and is a design document related to a database is stored, and a second document having an attribute name and one or more words corresponding to the attribute name in the table storage unit 11a. A table that is a kind, and one or more table information including a table identifier that identifies the table are stored, and a template that is a conversational sentence template and has one or more variables is stored in the template storage unit 102, and is an information generator. Reference numeral 200 denotes a table name or an attribute name obtained from a DB design document, an action name having at least a part of the table name or the attribute name, and an intent which is information having the configured action name. For each of the above table information, one or more words corresponding to the attribute name and the attribute name are acquired from the table of the table information, the entity name which is the acquired attribute name, and the acquired one or more words 1 Conversation by generating the above entities, acquiring one entity from one or more entities generated for each one or more table information, and inserting the acquired one or more entities into one or more variables that the template has. One or more conversational sentence information that is sentence information is generated, the generated intents are accumulated, and one or more entities are associated with each one or more generated entity names and accumulated, and one or more generated entities. Intent, which is information for converting words into API parameters from DB design document and table information by accumulating conversation sentence information in association with intent, one or more entity information, and one or more conversation. Statement information can be automatically generated.
 また、インテント格納部12aに、1以上のインテントが格納され、情報生成装置200は、DB設計書から1以上のテーブル名または1以上の属性名を抽出し、1以上の各テーブル名または1以上の各属性名ごとに、当該テーブル名または当該属性名から少なくとも一部を抽出し、抽出した部分を有するアクション名を生成し、生成した1以上の各アクション名を有するインテントを生成し、生成した1以上のインテントをインテント格納部12aに蓄積することにより、DB設計書からインテントを自動生成できる。 Further, one or more intents are stored in the intent storage unit 12a, and the information generation device 200 extracts one or more table names or one or more attribute names from the DB design document, and one or more table names or one or more table names or For each one or more attribute names, at least a part is extracted from the table name or the attribute name, an action name having the extracted part is generated, and an intent having each one or more generated action names is generated. By accumulating one or more generated intents in the intent storage unit 12a, intents can be automatically generated from the DB design document.
 さらに、情報生成装置200は、実施の形態2に記載したその他の効果も奏する。 Further, the information generator 200 also exhibits the other effects described in the second embodiment.
 なお、本実施の形態における情報処理装置を実現するソフトウェアは、例えば、以下のようなプログラムである。つまり、このプログラムは、業務処理ごとに管理される情報であり、業務処理を特定する情報であるアクション名の少なくとも一部を構成し得る情報を含むテーブル名または属性名を有する第一ドキュメントの一種であり、データベースに関する設計書であるDB設計書が格納されるドキュメント格納部101、属性名および当該属性名に対応する1以上の単語を有する第二ドキュメントの一種であるテーブル、および当該テーブルを識別するテーブル識別子を含む1以上のテーブル情報が格納されるテーブル格納部11a、および、会話文のテンプレートであり、1以上の変数を有するテンプレートが格納されるテンプレート格納部102にアクセス可能なコンピュータを、前記DB設計書からテーブル名または属性名を取得し、テーブル名または属性名の少なくとも一部を有するアクション名を構成して、構成したアクション名を有する情報であるインテントを生成するインテント生成部301aと、前記1以上の各テーブル情報ごとに、当該テーブル情報が有するテーブルから属性名および当該属性名に対応する1以上の単語を取得し、取得した属性名であるエンティティ名、および、取得した1以上の単語である1以上のエンティティを生成するエンティティ生成部302と、前記エンティティ生成部302が前記1以上の各テーブル情報ごとに生成した1以上のエンティティから一のエンティティを取得し、取得した1以上のエンティティを前記テンプレートが有する1以上の変数に挿入することにより、会話文の情報である1以上の会話文情報を生成する会話文情報生成部303と、前記インテント生成部301aが生成したインテントを蓄積し、かつ前記エンティティ生成部302が生成した1以上の各エンティティ名に1以上のエンティティを対応付けて蓄積し、かつ前記会話文情報生成部303が生成した1以上の会話文情報を当該インテントに対応付けて蓄積する蓄積部306として機能させるためのプログラムである。 The software that realizes the information processing device in this embodiment is, for example, the following program. That is, this program is a kind of first document having a table name or attribute name including information that can form at least a part of an action name that is information managed for each business process and is information that identifies the business process. Identifyes a document storage unit 101 that stores a DB design document, which is a design document related to a database, a table that is a kind of a second document having an attribute name and one or more words corresponding to the attribute name, and the table. A computer that can access the table storage unit 11a that stores one or more table information including the table identifier to be used, and the template storage unit 102 that is a conversational sentence template and stores a template having one or more variables. An intent generator that acquires a table name or attribute name from the DB design document, configures an action name having at least a part of the table name or attribute name, and generates an intent that is information having the configured action name. For 301a and each of the above 1 or more table information, the attribute name and one or more words corresponding to the attribute name are acquired from the table of the table information, and the acquired attribute name, the entity name, and the acquired. One entity is acquired from the entity generation unit 302 that generates one or more entities that are one or more words, and the one or more entities that the entity generation unit 302 generates for each of the one or more table information. By inserting one or more entities into one or more variables of the template, the conversation sentence information generation unit 303 and the intent generation unit 301a that generate one or more conversation sentence information which is the information of the conversation sentence are generated. One or more conversational sentences generated by the conversational sentence information generation unit 303, and one or more entities are associated with each one or more entity names generated by the entity generation unit 302. This is a program for functioning as a storage unit 306 that stores information in association with the intent.
 (実施の形態4)
 本実施の形態における情報処理装置300は、実施の形態1の情報出力装置500に、実施の形態2の情報生成装置100の機能を付加したものである。なお、この情報処理装置300は、例えば、情報出力装置と考えても、情報生成装置と考えてもよい。また、かかる事項は、実施の形態5の情報処理装置400にも当てはまる。
(Embodiment 4)
The information processing device 300 in the present embodiment is obtained by adding the function of the information generation device 100 of the second embodiment to the information output device 500 of the first embodiment. The information processing device 300 may be considered as, for example, an information output device or an information generation device. Further, such a matter also applies to the information processing apparatus 400 of the fifth embodiment.
 この情報処理装置300は、格納部1、受付部2、処理部3、および出力部4を備える。格納部1は、テーブル格納部11、インテント格納部12、API情報格納部13、会話文情報格納部14、エンティティ格納部15、エンティティマッピング情報格納部16、PK項目格納部17、日変換情報格納部18、ドキュメント格納部101、およびテンプレート格納部102を備える。受付部2は、会話文受付部21を備える。会話文受付部21は、音声受付手段211、および音声認識手段212を備える。 The information processing device 300 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 conversation text information 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. It includes a storage unit 18, a document storage unit 101, and a template storage unit 102. 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、インテント生成部301、エンティティ生成部302、会話文情報生成部303、エンティティマッピング情報生成部304、PK項目生成部305、および蓄積部306を備える。パラメータ取得部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, a search unit 37, and an intent generation unit 301. , Entity generation unit 302, conversational sentence information generation unit 303, entity mapping information generation unit 304, PK item generation unit 305, and storage unit 306. 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.
 インテント生成部301は、API情報抽出手段3011、アクション名取得手段3012、およびインテント生成手段3013を備える。エンティティ生成部302は、エンティティ名生成手段3021、およびエンティティ生成手段3022を備える。会話文情報生成部303は、エンティティ取得手段3031、および会話文生成手段3032を備える。蓄積部306は、インテント蓄積手段3061、エンティティ蓄積手段3062、会話文情報蓄積手段3063、エンティティマッピング情報蓄積手段3064、およびPK項目蓄積手段3065を備える。 The intent generation unit 301 includes API information extraction means 3011, action name acquisition means 3012, and intent generation means 3013. The entity generation unit 302 includes an entity name generation means 3021 and an entity generation means 3022. The conversation sentence information generation unit 303 includes an entity acquisition unit 3031 and a conversation sentence generation unit 3032. The storage unit 306 includes an intent storage means 3061, an entity storage means 3062, a conversational sentence information storage means 3063, an entity mapping information storage means 3064, and a PK item storage means 3065.
 上記各要素は、実施の形態1、および実施の形態2と同様の動作を行う。ただし、蓄積部306の蓄積先は、格納部1である。同様に、インテント蓄積手段3061の蓄積先はインテント格納部12であり、エンティティ蓄積手段3062の蓄積先はエンティティ格納部15であり、会話文情報蓄積手段3063の蓄積先は会話文情報格納部14であり、エンティティマッピング情報蓄積手段3064の蓄積先はエンティティマッピング情報格納部16であり、PK項目蓄積手段3065の蓄積先はPK項目格納部17である。 Each of the above elements operates in the same manner as in the first and second embodiments. However, the storage destination of the storage unit 306 is the storage unit 1. Similarly, the storage destination of the intent storage means 3061 is the intent storage unit 12, the storage destination of the entity storage means 3062 is the entity storage unit 15, and the storage destination of the conversation text information storage means 3063 is the conversation text information storage unit. The storage destination of the entity mapping information storage means 3064 is the entity mapping information storage unit 16, and the storage destination of the PK item storage means 3065 is the PK item storage unit 17.
 以上、本実施の形態によれば、情報処理装置300は、API設計書、およびテーブ情報からインテント、1以上のエンティティ情報、および1以上の会話文情報を自動生成し、同じ検索結果を求める問合せでも動的に変化する会話文を受け付け、情報検索することができる。 As described above, according to the present embodiment, the information processing apparatus 300 automatically generates intents, one or more entity information, and one or more conversational sentence information from the API design document and the table information, and obtains the same search result. Information can be searched by accepting conversational sentences that change dynamically even with inquiries.
 (実施の形態5)
 本実施の形態における情報処理装置400は、実施の形態1の情報出力装置500に、実施の形態3の情報生成装置200の機能を付加したものである。この情報処理装置400は、実施の形態4の情報処理装置300において、インテント生成部301をインテント生成部301aに置き換えたものである。
(Embodiment 5)
The information processing device 400 according to the present embodiment is obtained by adding the function of the information generation device 200 of the third embodiment to the information output device 500 of the first embodiment. In the information processing device 300 of the fourth embodiment, the information processing device 400 replaces the intent generation unit 301 with the intent generation unit 301a.
 以上、本実施の形態によれば、情報処理装置400は、DB設計書、およびテーブ情報からインテント、1以上のエンティティ情報、および1以上の会話文情報を自動生成し、同じ検索結果を求める問合せでも動的に変化する会話文を受け付け、情報検索することができる。 As described above, according to the present embodiment, the information processing apparatus 400 automatically generates intent, one or more entity information, and one or more conversational sentence information from the DB design document and the table information, and obtains the same search result. Information can be searched by accepting conversational sentences that change dynamically even with inquiries.
 以上のように、本発明にかかる情報生成装置は、組織内が持つ1以上のドキュメントを用いて、組織内で用いられる言葉をAPIパラメータに変換するための情報を自動生成できるという効果を有し、情報生成装置等として有用である。 As described above, the information generation device according to the present invention has an effect that information for converting words used in the organization into API parameters can be automatically generated by using one or more documents possessed in the organization. , Useful as an information generator, etc.

Claims (12)

  1. 業務処理を特定する情報であるアクション名またはアクション名の一部を有する第一ドキュメント、属性名を有する第二ドキュメント、を含む1以上のドキュメントが格納されるドキュメント格納部に格納されている第一ドキュメントを用いて、アクション名を取得し、業務処理を特定する情報であり、前記アクション名を有する情報であるインテントを生成するインテント生成部と、
    前記第二ドキュメントを用いて、前記属性名であるエンティティ名を生成するエンティティ生成部と、
    前記エンティティ生成部が生成したエンティティ名を、変数を有する会話文の初期テンプレートが格納されるテンプレート格納部に格納されている初期テンプレートが有する変数に対応付けることにより、エンティティ名が対応付いた変数を有するテンプレートを生成する処理部と、
    前記インテント生成部が生成したインテント、前記エンティティ生成部が生成したエンティティ名、および前記処理部が生成したテンプレートを蓄積する蓄積部とを具備する情報生成装置。
    A first document stored in a document storage unit that stores one or more documents including an action name or a part of the action name which is information for specifying a business process, and a second document having an attribute name. An intent generation unit that generates an intent that is information that acquires an action name and identifies a business process using a document and is information that has the action name.
    Using the second document, an entity generation unit that generates an entity name that is the attribute name, and
    By associating the entity name generated by the entity generation unit with the variable of the initial template stored in the template storage unit in which the initial template of the conversation sentence having the variable is stored, the entity name has a corresponding variable. The processing unit that generates the template and
    An information generation device including an intent generated by the intent generation unit, an entity name generated by the entity generation unit, and a storage unit for accumulating templates generated by the processing unit.
  2. 前記第二ドキュメントは、前記属性名に対応する1以上の単語をさらに有し、
    前記エンティティ生成部は、
    前記1以上の単語である1以上のエンティティをさらに生成し、
    前記蓄積部は、
    前記エンティティ名に対応付けて前記1以上のエンティティをさらに蓄積する請求項1記載の情報生成装置。
    The second document further comprises one or more words corresponding to the attribute name.
    The entity generation unit
    Further generate one or more entities that are one or more words,
    The accumulation part is
    The information generation device according to claim 1, wherein one or more entities are further accumulated in association with the entity name.
  3. 前記エンティティ生成部が生成した1以上のエンティティのうち1以上の各エンティティを、前記テンプレートの、前記エンティティ名が対応付いた変数に挿入することにより、業務処理に関する会話文の情報である1以上の会話文情報を生成する会話文情報生成部をさらに具備し、
    前記蓄積部は、
    前記会話文情報生成部が生成した1以上の会話文情報を前記インテントに対応付けてさらに蓄積する請求項2記載の情報生成装置。
    By inserting each one or more entities out of one or more entities generated by the entity generation unit into the variables associated with the entity names in the template, one or more information of conversational sentences related to business processing. It is further equipped with a conversational sentence information generation unit that generates conversational sentence information.
    The accumulation part is
    The information generation device according to claim 2, wherein one or more conversational sentence information generated by the conversational sentence information generation unit is associated with the intent and further accumulated.
  4. 前記初期テンプレートは、1以上の変数を有し、
    前記処理部は、
    前記エンティティ生成部が生成した1以上のエンティティ名を前記初期テンプレートが有する1以上の変数に対応付け、
    前記ドキュメント格納部は、
    属性名および当該属性名に対応する1以上の単語を有するテーブル、および当該テーブルを識別するテーブル識別子を含む1以上のテーブル情報が格納されるテーブル格納部を含み、
    前記第一ドキュメントは、アクション名を有する設計書であり、APIに関する設計書であるAPI設計書、または、アクション名の少なくとも一部を構成し得る情報を含むテーブル名または属性名を有する設計書であり、データベースに関する設計書であるDB設計書であり、
    前記第二ドキュメントは、前記テーブル格納部に格納されている1以上の各テーブル情報であり、
    前記インテント生成部は、
    前記API設計書からアクション名を取得して、または、前記DB設計書からテーブル名または属性名を取得し、テーブル名または属性名の少なくとも一部を有するアクション名を構成して、取得した又は構成したアクション名を有する情報であるインテントを生成し、
    前記エンティティ生成部は、
    前記1以上の各テーブル情報ごとに、当該テーブル情報が有するテーブルから属性名および当該属性名に対応する1以上の単語を取得し、取得した属性名であるエンティティ名、および、取得した1以上の単語である1以上のエンティティを生成し、
    前記会話文情報生成部は、
    前記エンティティ生成部が前記1以上の各テーブル情報ごとに生成した1以上のエンティティから一のエンティティを取得し、当該取得した1以上のエンティティを、前記テンプレートが有する、1以上のエンティティ名が対応付いた1以上の変数に挿入することにより、1以上の会話文情報を生成し、
    前記蓄積部は、
    前記インテント生成部が生成したインテントを蓄積し、かつ前記エンティティ生成部が生成した1以上の各エンティティ名に1以上のエンティティを対応付けて蓄積し、かつ前記会話文情報生成部が生成した1以上の会話文情報を当該インテントに対応付けて蓄積する請求項3記載の情報生成装置。
    The initial template has one or more variables
    The processing unit
    One or more entity names generated by the entity generation unit are associated with one or more variables of the initial template.
    The document storage unit is
    A table having an attribute name and one or more words corresponding to the attribute name, and a table storage unit for storing one or more table information including a table identifier that identifies the table.
    The first document is a design document having an action name, an API design document which is a design document related to API, or a design document having a table name or an attribute name including information which can form at least a part of the action name. Yes, it is a DB design document that is a design document related to the database,
    The second document is information on each of one or more tables stored in the table storage unit.
    The intent generator
    The action name is acquired from the API design document, or the table name or attribute name is acquired from the DB design document, and the action name having at least a part of the table name or attribute name is configured and acquired or configured. Generate an intent that is information with the action name
    The entity generation unit
    For each of the above 1 or more table information, the attribute name and one or more words corresponding to the attribute name are acquired from the table possessed by the table information, the acquired entity name which is the attribute name, and the acquired one or more. Generate one or more entities that are words and
    The conversation sentence information generation unit
    The entity generation unit acquires one entity from one or more entities generated for each of the one or more table information, and the acquired one or more entities are associated with one or more entity names of the template. Generate one or more conversational text information by inserting it into one or more variables.
    The accumulation part is
    The intent generated by the intent generation unit is accumulated, and one or more entities are associated with each one or more entity names generated by the entity generation unit and accumulated, and the conversation sentence information generation unit generates the intent. The information generation device according to claim 3, wherein one or more conversational sentence information is stored in association with the intent.
  5. 1以上のインテントが格納されるインテント格納部をさらに具備し、
    前記インテント生成部は、
    前記API設計書から、アクション名を有する情報であり、APIに関する情報である1以上のAPI情報を抽出するAPI情報抽出手段と、
    前記1以上の各API情報からアクション名を取得するアクション名取得手段と、
    前記アクション名取得手段が取得した1以上の各アクション名を有するインテントを生成するインテント生成手段とを具備し、
    前記蓄積部は、
    前記インテント生成手段が生成した1以上のインテントを前記インテント格納部に蓄積するインテント蓄積手段を具備する請求項4記載の情報生成装置。
    Further provided with an intent storage unit for storing one or more intents,
    The intent generator
    An API information extraction means for extracting one or more API information which is information having an action name and is information about API from the API design document.
    An action name acquisition means for acquiring an action name from each of the above 1 or more API information,
    It is provided with an intent generation means for generating an intent having one or more action names acquired by the action name acquisition means.
    The accumulation part is
    The information generation device according to claim 4, further comprising an intent storage unit that stores one or more intents generated by the intent generation means in the intent storage unit.
  6. 1以上のインテントが格納されるインテント格納部をさらに具備し、
    前記インテント生成部は、
    前記DB設計書から1以上のテーブル名または1以上の属性名を抽出するテーブル名抽出手段と、
    前記1以上の各テーブル名または前記1以上の各属性名ごとに、当該テーブル名または属性名から少なくとも一部を抽出し、抽出した部分を有するアクション名を生成するアクション名生成手段と、
    前記アクション名生成手段が生成した1以上の各アクション名を有するインテントを生成するインテント生成手段とを具備し、
    前記蓄積部は、
    前記インテント生成手段が生成した1以上のインテントを前記インテント格納部に蓄積するインテント蓄積手段を具備する請求項4記載の情報生成装置。
    Further provided with an intent storage unit for storing one or more intents,
    The intent generator
    A table name extraction means for extracting one or more table names or one or more attribute names from the DB design document, and
    An action name generating means that extracts at least a part from the table name or the attribute name for each one or more table names or each one or more attribute names and generates an action name having the extracted part.
    It is provided with an intent generating means for generating an intent having one or more action names generated by the action name generating means.
    The accumulation part is
    The information generation device according to claim 4, further comprising an intent storage unit that stores one or more intents generated by the intent generation means in the intent storage unit.
  7. 1以上のエンティティが格納されるエンティティ格納部をさらに具備し、
    前記エンティティ生成部は、
    1以上の各テーブル情報ごとに、当該テーブル情報から属性名を取得し、当該属性名であるエンティティ名を生成するエンティティ名生成手段と、
    前記エンティティ名生成手段が生成した1以上の各エンティティ名ごとに、当該エンティティ名に対応するテーブルから1以上の単語を取得し、当該一以上の単語である1以上のエンティティを生成するエンティティ生成手段とを具備し、
    前記蓄積部は、
    前記1以上の各エンティティ名に対応付けて、当該エンティティ名に対応するテーブルから取得された1以上の単語である1以上のエンティティを前記エンティティ格納部に蓄積するエンティティ蓄積手段をさらに具備する請求項5または請求項6記載の情報生成装置。
    Further provided with an entity storage unit for storing one or more entities,
    The entity generation unit
    For each one or more table information, an entity name generation means that acquires an attribute name from the table information and generates an entity name that is the attribute name, and
    For each one or more entity names generated by the entity name generation means, one or more words are acquired from the table corresponding to the entity name, and one or more entities that are the one or more words are generated. And equipped
    The accumulation part is
    A claim further comprising an entity storage means for accumulating one or more entities, which are one or more words acquired from a table corresponding to the entity name, in the entity storage unit in association with each of the one or more entity names. 5 or the information generator according to claim 6.
  8. 1以上の会話文情報が格納される会話文情報格納部をさらに具備し、
    前記テンプレート格納部には、
    エンティティ名が対応付けられた1以上の変数を有するテンプレートであり、変数の位置または数が異なる2以上のテンプレートが格納され、
    前記会話文情報生成部は、
    前記2以上の各テンプレートごとに、当該テンプレートが有する1以上の各変数に対応付けられたエンティティ名に対応する一のエンティティを前記エンティティ格納部から取得するエンティティ取得手段と、
    前記2以上の各テンプレートごとに、当該テンプレートが有する1以上の各変数の位置に、前記エンティティ取得手段が取得したエンティティを挿入することにより、1以上の会話文情報を生成する会話文生成手段とを具備し、
    前記蓄積部は、
    前記会話文生成手段が生成した1以上の会話文情報を、前記インテントに対応付けて前記会話文情報格納部に蓄積する会話文情報蓄積手段をさらに具備する請求項7記載の情報生成装置。
    Further equipped with a conversational sentence information storage unit for storing one or more conversational sentence information,
    In the template storage unit,
    A template that has one or more variables associated with entity names, and stores two or more templates that differ in the position or number of variables.
    The conversation sentence information generation unit
    For each of the two or more templates, an entity acquisition means for acquiring one entity corresponding to the entity name associated with each one or more variables of the template from the entity storage unit.
    For each of the two or more templates, a conversation sentence generation means that generates one or more conversation sentence information by inserting an entity acquired by the entity acquisition means at the position of one or more variables of the template. Equipped with
    The accumulation part is
    The information generation device according to claim 7, further comprising a conversational sentence information storage unit that associates one or more conversational sentence information generated by the conversational sentence generation means with the intent and stores it in the conversational sentence information storage unit.
  9. 1以上のエンティティマッピング情報が格納されるエンティティマッピング情報格納部と、
    前記1以上の各テーブル情報ごとに、当該テーブル情報から、テーブル識別子と、当該テーブル識別子で識別されるテーブル内の属性名であり、変換されるエンティティを特定する情報である翻訳項目名と、当該翻訳項目に対応する一のエンティティとを取得し、かつ前記エンティティ格納部から当該一のエンティティに対応するエンティティ名を取得して、当該テーブル識別子と当該翻訳項目名と当該エンティティ名とを有するエンティティマッピング情報を生成するエンティティマッピング情報生成部とをさらに具備し、
    前記蓄積部は、
    前記エンティティマッピング情報生成部が生成した1以上のエンティティマッピング情報を前記エンティティマッピング情報格納部に蓄積するエンティティマッピング情報蓄積手段をさらに具備する請求項7または請求項8記載の情報生成装置。
    An entity mapping information storage unit that stores one or more entity mapping information,
    For each of the above 1 or more table information, from the table information, a table identifier, a translation item name which is an attribute name in the table identified by the table identifier and is information for specifying the entity to be converted, and the relevant translation item name. An entity mapping having the table identifier, the translation item name, and the entity name by acquiring one entity corresponding to the translation item and acquiring the entity name corresponding to the one entity from the entity storage unit. It also has an entity mapping information generator that generates information.
    The accumulation part is
    The information generation device according to claim 7 or 8, further comprising an entity mapping information storage unit that stores one or more entity mapping information generated by the entity mapping information generation unit in the entity mapping information storage unit.
  10. 1以上のPK項目が格納されるPK項目格納部と、
    前記1以上の各テーブル情報ごとに、当該テーブル情報から、テーブルを識別するテーブル識別子と、当該テーブルの主キーを特定する主キー識別子とを取得して、当該テーブル識別子と当該主キー識別子とを有する情報であるPK項目を生成するPK項目生成部とをさらに具備し、
    前記蓄積部は、
    前記PK項目生成部が生成した1以上のPK項目を前記PK項目格納部に蓄積するPK項目蓄積手段をさらに具備する請求項4から請求項9いずれか一項に記載の情報生成装置。
    A PK item storage unit that stores one or more PK items,
    For each of the one or more table information, the table identifier that identifies the table and the primary key identifier that identifies the primary key of the table are acquired from the table information, and the table identifier and the primary key identifier are obtained. It further includes a PK item generation unit that generates PK items that are information to have.
    The accumulation part is
    The information generation device according to any one of claims 4 to 9, further comprising a PK item storage unit that stores one or more PK items generated by the PK item generation unit in the PK item storage unit.
  11. インテント生成部、エンティティ生成部、処理部、および蓄積部によって実現されるコーパスの生産方法であって、
    前記インテント生成部が、業務処理を特定する情報であるアクション名またはアクション名の一部を有する第一ドキュメント、属性名を有する第二ドキュメント、を含む1以上のドキュメントが格納されるドキュメント格納部に格納されている第一ドキュメントを用いて、アクション名を取得し、業務処理を特定する情報であり、前記アクション名を有する情報であるインテントを生成するインテント生成ステップと、
    前記エンティティ生成部が、前記第二ドキュメントを用いて、前記属性名であるエンティティ名を生成するエンティティ生成ステップと、
    前記処理部が、前記エンティティ生成部が生成したエンティティ名を、変数を有する会話文の初期テンプレートが格納されるテンプレート格納部に格納されている初期テンプレートが有する変数に対応付けることにより、エンティティ名が対応付いた変数を有するテンプレートを生成する処理ステップと、
    前記蓄積部が、前記インテント生成部が生成したインテント、前記エンティティ生成部が生成したエンティティ名、および前記処理部が生成したテンプレートを蓄積する蓄積ステップとを含むコーパスの生産方法。
    A corpus production method realized by an intent generation unit, an entity generation unit, a processing unit, and a storage unit.
    A document storage unit in which the intent generation unit stores one or more documents including an action name or a part of the action name which is information for specifying a business process, and a second document having an attribute name. Using the first document stored in, the intent generation step of acquiring the action name, specifying the business process, and generating the intent which is the information having the action name,
    An entity generation step in which the entity generation unit generates an entity name, which is the attribute name, using the second document.
    The processing unit associates the entity name generated by the entity generation unit with the variable of the initial template stored in the template storage unit in which the initial template of the conversation sentence having the variable is stored, so that the entity name corresponds. Processing steps to generate a template with variables with
    A method for producing a corpus, wherein the storage unit includes an intent generated by the intent generation unit, an entity name generated by the entity generation unit, and a storage step for accumulating a template generated by the processing unit.
  12. 業務処理を特定する情報であるアクション名またはアクション名の一部を有する第一ドキュメント、属性名を有する第二ドキュメント、を含む1以上のドキュメントが格納されるドキュメント格納部にアクセス可能なコンピュータを、
    前記ドキュメント格納部に格納されている第一ドキュメントを用いて、アクション名を取得し、業務処理を特定する情報であり、前記アクション名を有する情報であるインテントを生成するインテント生成部と、
    前記第二ドキュメントを用いて、前記属性名であるエンティティ名を生成するエンティティ生成部と、
    前記エンティティ生成部が生成したエンティティ名を、変数を有する会話文の初期テンプレートが格納されるテンプレート格納部に格納されている初期テンプレートが有する変数に対応付けることにより、エンティティ名が対応付いた変数を有するテンプレートを生成する処理部と、
    前記インテント生成部が生成したインテント、前記エンティティ生成部が生成したエンティティ名、および前記処理部が生成したテンプレートを蓄積する蓄積部として機能させるためのプログラム。
    A computer that can access a document storage unit that stores one or more documents including an action name or a part of the action name that is information that identifies a business process, and a second document that has an attribute name.
    Using the first document stored in the document storage unit, an intent generation unit that acquires an action name, is information for specifying a business process, and generates an intent that is information having the action name,
    Using the second document, an entity generation unit that generates an entity name that is the attribute name, and
    By associating the entity name generated by the entity generation unit with the variable of the initial template stored in the template storage unit in which the initial template of the conversation sentence having the variable is stored, the entity name has a corresponding variable. The processing unit that generates the template and
    A program for functioning as a storage unit for accumulating intents generated by the intent generation unit, entity names generated by the entity generation unit, and templates generated by the processing unit.
PCT/JP2019/023681 2019-06-14 2019-06-14 Information generation device, corpus production method, and program WO2020250426A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/JP2019/023681 WO2020250426A1 (en) 2019-06-14 2019-06-14 Information generation device, corpus production method, and program
JP2019549495A JP6635460B1 (en) 2019-06-14 2019-06-14 Information generation apparatus, corpus production method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/023681 WO2020250426A1 (en) 2019-06-14 2019-06-14 Information generation device, corpus production method, and program

Publications (1)

Publication Number Publication Date
WO2020250426A1 true WO2020250426A1 (en) 2020-12-17

Family

ID=69166821

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/023681 WO2020250426A1 (en) 2019-06-14 2019-06-14 Information generation device, corpus production method, and program

Country Status (2)

Country Link
JP (1) JP6635460B1 (en)
WO (1) WO2020250426A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012078647A (en) * 2010-10-04 2012-04-19 National Institute Of Information & Communication Technology Language model learning device and computer program
US9898512B1 (en) * 2013-03-15 2018-02-20 Google Inc. Factual query pattern learning
US20180293302A1 (en) * 2017-04-06 2018-10-11 International Business Machines Corporation Natural question generation from query data using natural language processing system

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007207127A (en) * 2006-02-04 2007-08-16 Fuji Xerox Co Ltd Question answering system, question answering processing method and question answering program
JP2014199475A (en) * 2013-03-29 2014-10-23 株式会社エヌ・ティ・ティ・データ Language expression extraction apparatus, language expression extraction method and program
US9916348B1 (en) * 2014-08-13 2018-03-13 Google Llc Answer facts from structured content

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012078647A (en) * 2010-10-04 2012-04-19 National Institute Of Information & Communication Technology Language model learning device and computer program
US9898512B1 (en) * 2013-03-15 2018-02-20 Google Inc. Factual query pattern learning
US20180293302A1 (en) * 2017-04-06 2018-10-11 International Business Machines Corporation Natural question generation from query data using natural language processing system

Also Published As

Publication number Publication date
JP6635460B1 (en) 2020-01-22
JPWO2020250426A1 (en) 2021-09-13

Similar Documents

Publication Publication Date Title
WO2011093025A1 (en) Input support system, method, and program
JP2018533126A (en) Method, system, and computer program product for a natural language interface to a database
CN107209757B (en) Natural language understanding buffer
US20130124194A1 (en) Systems and methods for manipulating data using natural language commands
TWI661349B (en) Method and system for generating conversational user interface
TW499671B (en) Method and system for providing texts for voice requests
JP6598418B1 (en) Information output device, information output method, and program
JP7208872B2 (en) Systems and methods for generating proposals based on request for proposals (RFPs)
CN109727592A (en) O&M instruction executing method, medium and terminal based on natural language speech interaction
CN109344374B (en) Report generation method and device based on big data, electronic equipment and storage medium
US8862609B2 (en) Expanding high level queries
US11620282B2 (en) Automated information retrieval system and semantic parsing
WO2020250426A1 (en) Information generation device, corpus production method, and program
JP6954549B1 (en) Automatic generators and programs for entities, intents and corpora
JP2014229275A (en) Query answering device and method
JP6799297B1 (en) Information output device, information output method, and information output program
KR102492008B1 (en) Apparatus for managing minutes and method thereof
JP5300576B2 (en) SEARCH DEVICE, SEARCH METHOD, AND SEARCH PROGRAM
JP7065473B2 (en) Business construction system from conversational sentences
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
JP7231171B1 (en) Processing operation support device and program
JP2011134264A (en) Device and method for converting screen data, and program
WO2023100384A1 (en) Processing operation assistance device and program
US20210109960A1 (en) Electronic apparatus and controlling method thereof
JP2007213109A (en) Dictionary preparation system, dictionary server, portable terminal, dictionary preparation method and dictionary preparation program

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2019549495

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

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

Country of ref document: EP

Kind code of ref document: A1