WO2019059185A1 - 情報処理装置、情報処理システム、情報処理方法及びプログラム - Google Patents

情報処理装置、情報処理システム、情報処理方法及びプログラム Download PDF

Info

Publication number
WO2019059185A1
WO2019059185A1 PCT/JP2018/034508 JP2018034508W WO2019059185A1 WO 2019059185 A1 WO2019059185 A1 WO 2019059185A1 JP 2018034508 W JP2018034508 W JP 2018034508W WO 2019059185 A1 WO2019059185 A1 WO 2019059185A1
Authority
WO
WIPO (PCT)
Prior art keywords
answer
information processing
text information
character string
unit
Prior art date
Application number
PCT/JP2018/034508
Other languages
English (en)
French (fr)
Inventor
昌男 安井
田中 裕
高彬 花田
智幸 五十嵐
洋佑 鈴木
駿介 阿嘉
Original Assignee
株式会社 豆蔵
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社 豆蔵 filed Critical 株式会社 豆蔵
Publication of WO2019059185A1 publication Critical patent/WO2019059185A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/268Morphological analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/55Rule-based translation
    • G06F40/56Natural language generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor

Definitions

  • the present invention relates to an information processing apparatus that provides chat bots, an information processing system, an information processing method, and a program.
  • chat bots In recent years, technology related to chatbots in which computers interact on behalf of humans has been developed. Algorithms used for chat bots include rule-based algorithms and AI (Artificial Intelligence) -based algorithms.
  • Patent Document 1 discloses a rule-based dialogue system. Specifically, Patent Document 1 includes a database in which a question, an answer, and the theme of conversation between the question and the answer are associated with each other. An invention is disclosed that searches for answers to questions from a database based on the decomposed and decomposed words and the database.
  • Patent Document 2 discloses an AI-based dialog system. Specifically, Patent Document 2 discloses an invention of grasping a user's intention by analyzing an input (a question) from the user, and outputting an answer according to the user's intention. In Patent Document 2, when analyzing user's input, use a short-term memory system for storing short-term dialogue history between human and machine, and a long-term memory system similar to the endurance memory area of human brain. Is disclosed.
  • the present disclosure has been made in view of the above problems, and provides an information processing apparatus, an information processing system, an information processing method, and a program that can reduce predetermined costs such as time and effort while improving the accuracy of answers.
  • the purpose is
  • An information processing apparatus searches for an answer associated with the predetermined character string, when an input unit that receives an input of text information and the predetermined character string is included in the text information.
  • a second engine unit for inferring a search based on a keyword extracted by morphological analysis of the text information when the text information does not include the predetermined character string;
  • An output unit for outputting the search response selected by the first engine unit or the second engine unit.
  • the second engine unit is configured to include information serving as a candidate for an answer or a plurality of keywords associated with each sentence, and the text information received by an input unit.
  • the answer may be selected from the plurality of answer candidates based on the degree of coincidence with a plurality of keywords extracted based on the analyzed result.
  • the second engine unit transmits the answer based on a high priority keyword among a plurality of keywords extracted based on a result of morphological analysis of the text information. It may be characterized by selection.
  • the priority of the keyword may be set in advance by a user.
  • a first storage unit that stores the predetermined character string and an answer to the text information including the predetermined character string in association with each other; and the predetermined keyword.
  • the information processing apparatus may further include a second storage unit that associates and stores an answer related to the keyword.
  • the information processing method searches for an answer corresponding to the predetermined character string, in the case of an input step of receiving an input of text information, and when the text information includes a predetermined character string.
  • a plurality of predetermined keywords associated with each of a plurality of answer candidates and a plurality extracted based on a result of morphological analysis of the text information in the second search step The answer may be searched and selected from the plurality of answer candidates based on the degree to which it is inferred that the keywords in the table are matched.
  • the answer is made based on a keyword having a high priority among a plurality of keywords extracted based on a result of morphological analysis of the text information. It may be characterized by searching and selecting.
  • the priority of the keyword may be set in advance by a user.
  • a first storage step for storing the predetermined character string and an answer to the text information including the predetermined character string in association with each other, and the predetermined keyword.
  • the information processing apparatus may further include a second storage step of associating and storing an answer related to the keyword.
  • a program includes an input function for receiving an input of text information in a computer, and, when the text information includes a predetermined character string, an answer associated with the predetermined character string.
  • an output function for outputting the search selected answer.
  • An information processing system includes an information processing terminal that receives an input of text information, and an information processing apparatus that searches for an answer to the text information received from the information processing terminal, and the information processing apparatus Is a first engine unit that searches for an answer associated with the predetermined character string when the predetermined character string is included, and the case where the predetermined character string is not included in the text information, A second engine unit for searching for an answer based on a keyword extracted by morphological analysis of text information, and an output unit for transmitting the searched answer to the information processing terminal.
  • an information processing apparatus an information processing system, an information processing method, and a program that can reduce predetermined costs such as time and effort while improving the accuracy of answers.
  • FIG. 1 illustrates an exemplary configuration of a system according to an embodiment of the present invention. It is a block diagram showing an example of the information processor by one embodiment of the present invention. It is a block diagram showing an example of an information processing terminal according to an embodiment of the present invention. It is an example of the screen display displayed on the information processing terminal by one embodiment of this invention. It is an example of composition of data memorized by a storage part by one embodiment of the present invention. It is another structural example of the data memorize
  • the information processing system is a service that provides chat bots, and includes text information input by a user by a “hybrid structure” using both a rule-based algorithm and an AI-based algorithm.
  • a prompt and optimal answer is presented to (for example, a question sentence).
  • the information processing system 1 searches for an answer associated with the predetermined character string (rule-based search), When the text information does not include a predetermined character string, the answer to the user is presented by searching for an answer based on a keyword extracted by morphological analysis of the text information (AI-based search).
  • the information processing system 1 outputs an optimal answer in a short time by the rule-based function in order to present an answer to a question (text information) from the user by the “hybrid structure (AI base + rule base)”.
  • AI base + rule base the “hybrid structure
  • FIG. 1 is a diagram showing an example of the configuration of an information processing system 1 according to the first embodiment of the present invention.
  • the information processing system 1 includes an information processing apparatus (server) 10, an information processing terminal 20, and a network 30.
  • the information processing apparatus 10 provides a service for realizing a chat system to the information processing terminal 20 used by the user via the network 30.
  • the number of information processing terminals 20 may be plural as exemplified in FIG. 1.
  • the information processing apparatus 10 and the information processing terminal 20 are configured as separate apparatuses via the network 30, but these apparatuses are included in the same apparatus, It is also good.
  • each configuration for providing the functions of the information processing apparatus 10 and the information processing terminal 20 may be incorporated in the communication robot, and the communication robot may provide a service for realizing the chat system to the user. Good. In this case, by changing the learning data in the communication robot, it is possible to construct a system capable of responding to various specialized knowledge.
  • Each configuration for providing the functions of the information processing apparatus 10 and the information processing terminal 20 is not limited to the communication robot, and may be included in any apparatus.
  • the network 30 plays a role of connecting the information processing apparatus 10 and the information processing terminal 20.
  • the network 30 may be, for example, a wired network or a wireless network.
  • the network 30 may be an intranet, a virtual private network (VPN), a local area network (LAN), a wireless LAN (WLAN), a wireless WAN (WWAN), the Internet Part of the network, part of the Public Switched Telephone Network (PSTN), mobile phone network, ISDNs (integrated service digital networks), wireless LANs, long term evolution (LTE) CDMA (code division multiple acce) s), it can include a satellite communication.
  • VPN virtual private network
  • LAN local area network
  • WLAN wireless LAN
  • WWAN wireless WAN
  • PSTN Public Switched Telephone Network
  • PSTN Public Switched Telephone Network
  • PSTN Public Switched Telephone Network
  • PSTN Public Switched Telephone Network
  • PSTN Public Switched Telephone Network
  • PSTN Public Switched Telephone Network
  • PSTN Public Switched Telephone Network
  • the information processing apparatus 10 has a function of providing a service related to chat to the information processing terminal 20.
  • the information processing apparatus 10 is, for example, a server apparatus, but is not limited to the server apparatus, and may be a computer such as a desktop, a laptop, or a tablet.
  • the information processing apparatus 10 is not limited to these apparatuses, and may be any apparatus.
  • the information processing terminal 20 (the information processing terminal 20A, the information processing terminal 20B, the information processing terminal 20C) is, for example, a smartphone, a mobile phone, a computer such as a desktop, a laptop or a tablet, a PDA (personal digital assistant), a wearable terminal (glasses Type device, clock type device, etc.).
  • the information processing terminal 20 is not limited to these devices, and may be any device.
  • FIG. 2 is a block diagram showing a configuration example of the information processing apparatus 10.
  • the information processing apparatus 10 includes a control unit 11 (CPU), a communication unit 12, an input / output unit 13, and a storage unit 15.
  • the components of the HW of the information processing apparatus 10 are connected to one another via, for example, a bus.
  • the control unit 11 may be, for example, a central processing unit (CPU), a microprocessor, an ASIC, an FPGA, or the like.
  • the control part 11 is not restricted to these examples, What kind of thing may be used. The functional configuration of the control unit 11 will be described later.
  • the communication unit 12 is a communication interface that transmits and receives various data via the network 30.
  • the communication unit 12 has a function of executing communication with the information processing terminal 20 via the network 30.
  • the communication unit 12 transmits various data to the terminal 20 in accordance with an instruction from the control unit 11.
  • the communication unit 12 also receives various data transmitted from the information processing terminal 20 and transmits the data to the control unit 11.
  • the input / output unit 13 is realized by a device that inputs various operations on the information processing device 10.
  • the input / output unit 13 has a function of receiving an input from a user and transmitting information related to the input to the control unit 11.
  • the input / output unit 13 is a keyboard, a mouse, a touch panel, a microphone, or the like.
  • the input / output unit 13 is not limited to these examples, and may be any device.
  • the display unit 14 is, for example, a liquid crystal display or an OELD (organic electroluminescence display).
  • the display unit 14 is not limited to these examples, and may be a head mounted display (HDM) or the like.
  • the storage unit 15 has a function of storing various programs and various data required for the information processing apparatus 10 to operate.
  • the storage unit 15 is realized by, for example, various storage media such as an HDD, an SSD, and a flash memory.
  • the information processing apparatus 10 may store a program in the storage unit 15 and execute the program, and the control unit 11 may execute processing as each unit included in the control unit 11.
  • the program causes the information processing apparatus 10 to realize each function executed by the control unit 11.
  • FIG. 3 is a block diagram showing a configuration example of the information processing terminal 20.
  • the information processing terminal 20 includes a control unit 21 (CPU), a communication unit 22, an input / output unit 23, a display unit 24, a microphone / speaker 25, and a storage unit 26.
  • the components of the HW of the information processing terminal 20 are mutually connected, for example, via a bus.
  • the control unit 21 may be, for example, a central processing unit (CPU), a microprocessor, an ASIC, an FPGA, or the like.
  • the control part 21 is not restricted to these examples, What kind of thing may be used. The functional configuration of the control unit 21 will be described later.
  • the communication unit 22 is a communication interface that transmits and receives various data via the network 30.
  • the communication unit 22 has a function of executing communication with the information processing apparatus 10 via the network 30.
  • the communication unit 22 transmits various data to the information processing apparatus 10 in accordance with an instruction from the control unit 21.
  • the communication unit 22 also receives various data transmitted from the information processing apparatus 10 and transmits the data to the control unit 21.
  • the input / output unit 23 is realized by a device that inputs various operations on the information processing terminal 20.
  • the input / output unit 23 has a function of receiving an input from a user and transmitting information related to the input to the control unit 21.
  • the input / output unit 23 is a keyboard, a mouse, a touch panel, a microphone or the like.
  • the input / output unit 23 detects a touch by the user's finger or a pointing tool such as a stylus and the touch position, and transmits the coordinates of the touch position to the control unit 21.
  • the input / output unit 23 is not limited to these examples, and may be any device.
  • the display unit 24 is, for example, a liquid crystal display or an OELD.
  • the display unit 24 is not limited to these examples, and may be a head mounted display (HDM) or the like.
  • the display unit 24 can display display data such as an image, text information, and 3D according to the display data written in the frame buffer.
  • the microphone / speaker 25 is used to input audio data or output audio data.
  • the information processing terminal 20 can input and output predetermined data using voice data by the microphone / speaker 25.
  • the storage unit 26 has a function of storing various programs and various data required for the information processing terminal 20 to operate.
  • the storage unit 26 is realized by, for example, various storage media such as an HDD, an SSD, and a flash memory.
  • the information processing terminal 20 may store a program in the storage unit 26 and execute the program, and the control unit 21 may execute processing as each unit included in the control unit 21.
  • the program causes the information processing terminal 20 to realize each function executed by the control unit 21.
  • the program of each embodiment of this indication may be provided in the state memorize
  • the storage medium can store the program in the “non-transitory tangible medium”.
  • the storage medium may comprise any suitable storage medium, such as HDD or SDD, or any combination of two or more thereof.
  • the storage medium may be volatile, non-volatile, or a combination of volatile and non-volatile.
  • the storage medium is not limited to these examples, and may be any device or medium as long as the program can be stored.
  • the information processing apparatus 10 and / or the information processing terminal 20 read the program stored in the storage medium, for example, and execute the read program to realize the functions of the plurality of functional units shown in each embodiment. be able to. Further, the program may be provided to the information processing apparatus 10 and / or the information processing terminal 20 via any transmission medium (communication network, broadcast wave, etc.). The information processing apparatus 10 and / or the information processing terminal 20 realize the functions of the plurality of functional units shown in each embodiment, for example, by executing the downloaded program via the Internet or the like.
  • the program can be implemented using, for example, a script language such as ActionScript or JavaScript (registered trademark), an object-oriented programming language such as Objective-C or Java (registered trademark), or a markup language such as HTML5.
  • a script language such as ActionScript or JavaScript (registered trademark)
  • an object-oriented programming language such as Objective-C or Java (registered trademark)
  • a markup language such as HTML5.
  • At least part of the processing in the information processing device 10 and / or the information processing terminal 20 may be realized by cloud computing configured by one or more computers.
  • the information processing terminal 20 includes an input processing unit 210, a communication processing unit 211, and a display processing unit 212 as functions implemented by the control unit 21. .
  • the input processing unit 210 receives an input from the user via the input / output unit 23.
  • the input processing unit 210 receives an input of text information from the user via the input / output unit 23 which is a keyboard or a touch panel.
  • the input processing unit 210 receives an input of audio data from the user via, for example, the microphone / speaker 25.
  • the text information and voice data input from the user include the content that the user wants to inquire, the content that the user wants to solve, and the content that he wants to ask (question text).
  • the information input from the user is, for example, business-related content such as a business inquiry or question.
  • the information input from the user is the content related to the business, such as "Tell me about the method of paying premiums" and "Tell me what point of view about the investment criteria".
  • the information input from the user is, for example, an inquiry or a question regarding the content of a law or an in-house rule.
  • the information input from the user is the contents related to laws and regulations or company rules such as "I want to know the contents of the text on obtaining vacation in the Labor Standards Act” or “Tell me about how to request expenses”.
  • the information input from the user is, for example, content related to specialized technology and specifications (standardization).
  • the information input from the user is a content related to specialized techniques and specifications (standardization) such as “I want to know the principle of the capacitance method” and “I want to know the handover standard in LTE”.
  • the information input from the user is related to business information such as investment standards, internal rules for employees, etc., information related to information already owned and managed by companies, laws and expertise, etc. It may include information related to information prepared, managed, and held by governments and public organizations, such as standardized contents.
  • text information and voice data input from the user may include contents such as greetings and chats.
  • the information input from the user is, for example, "What is your name?", "My name is ⁇ ⁇ .”, "What is your favorite color?”, Etc. It may contain questions such as chat and chat level.
  • the information input from the user may include general greetings and chats.
  • the information input from the user is not limited to these examples, and may be any information or data.
  • the input processing unit 210 transmits the received information and data from the user to the communication processing unit 211 and the display processing unit 212.
  • the input processing unit 210 may convert voice data and the like received from the user into text information and transmit the text information to the communication processing unit 211 and the display processing unit 212.
  • the input processing unit 210 may have a function of detecting a contact position of the touch when an operation body such as a human finger or a stylus contacts the touch panel (input / output unit 23).
  • the input processing unit 210 detects, for example, a touch point which is a position at which the operating body contacts the touch panel.
  • An operating body that performs operation input such as a finger or a stylus, performs predetermined operation input by touching an arbitrary position of the display unit 24.
  • the predetermined operation input may be, for example, any type of touch, tap, flick, or swipe on the display screen.
  • the operating body causes the terminal 20 to execute various processes such as inputting characters and selecting a predetermined icon by performing a predetermined operation input.
  • the communication processing unit 211 executes processing for transmitting the information and data transmitted from the input processing unit 210 to the information processing apparatus 10 via the communication unit 22. Further, the communication processing unit 211 transfers information and data received from the information processing apparatus 10 via the communication unit 22 to the display processing unit 212. The communication processing unit 211 may transmit the audio data to the microphone / speaker 25 when the audio data is received from the information processing apparatus 10.
  • the display processing unit 212 executes, for example, a process of displaying information input from the user on the display unit 24 in accordance with a predetermined format.
  • the display processing unit 212 executes, for example, a process of displaying information input from the user on the display unit 24 in accordance with the chat format. Note that the display processing unit 212 does not necessarily have to be displayed in a chat format, and may be displayed in any format.
  • the display processing unit 212 also executes processing for displaying information and data received from the information processing apparatus 10 on the display unit 24.
  • the display processing unit 212 performs processing for displaying on the display unit 24 predetermined information or data, which is an answer to information input by the user, received from the information processing apparatus 10 according to a predetermined format.
  • the display processing unit 212 executes, for example, processing for displaying predetermined information and data received from the information processing apparatus 10 on the display unit 24 in accordance with the chat format.
  • FIG. 4 is an example of a display screen displayed on the display unit 24 by the display processing unit 212.
  • the display processing unit 212 displays the information 40 input from the user on the right side (or left side) of the screen according to the chat format.
  • the display processing unit 212 uses the information 40 input from the user as “right, I want you to tell me what point of view about the investment standard” and “(1)”. indicate.
  • the display processing unit 212 displays the predetermined information and data 41 received from the information processing apparatus 10 on the left side (or right side) of the screen according to the chat format.
  • the display processing unit 212 sets “predetermined information or data 41 received from the information processing apparatus 10,“ which content is it? (1) economic criteria, (2) technical criteria, (3) "Others” and “Economic criteria. Are there three perspectives? Which is the content? (1) IRR hurdle rate, (2) payback period, (3) NPV", the left side of the screen Display on
  • the information processing device 10 has an input processing unit 110, a first engine unit 111, and a second engine unit as functions implemented by the control unit 11. And an output processing unit 113.
  • the input processing unit 110 receives an input of text information received from the information processing terminal 20 via the communication unit 12.
  • the input processing unit 110 receives, for example, an input of text information that “I want to know how to confirm the payment”. Also, the input processing unit 110 receives, for example, an input of text information “What is your name”.
  • the input processing unit 110 outputs the text information for which the input has been received to the first engine unit 111.
  • the first engine unit 111 executes a process of searching for whether a predetermined character string is included in the text information input from the input processing unit 110.
  • the predetermined character string is a predetermined character string, and is, for example, "name is” or "introduction”.
  • the predetermined character string is not limited to these examples, and may be any character string.
  • Each of the predetermined character strings is associated with an answer to text information including the predetermined character string.
  • the first engine unit 111 outputs a response to the predetermined character string to the output processing unit 113.
  • the first engine unit 111 refers to the storage unit 15 and specifies an answer associated with a predetermined character string.
  • FIG. 5 is a diagram showing a configuration example of correspondence between each of the predetermined character strings and an answer to text information including the predetermined character string.
  • the correspondence in FIG. 5 is stored in the first storage unit 150 of the storage unit 15.
  • "Hanako" is associated with the predetermined character string "Name is” as an answer.
  • a predetermined character string of "Hello” is associated with "Hello, please enter a question sentence” as an answer.
  • prescribed character string is an illustration to the last, and what kind of content may be sufficient.
  • a plurality of answers may be associated with one predetermined character string, or one answer may be associated with a plurality of predetermined character strings.
  • the correspondence illustrated in FIG. 5 is created in advance by a system administrator or the like and stored in the first storage unit 150.
  • the system administrator creates a correspondence between a predetermined character string and an answer to text information including the predetermined character string, and stores the correspondence in the first storage unit 150.
  • the system administrator may store the correspondence in the first storage unit 150 at an arbitrary timing such as, for example, at the time of updating the system.
  • the first engine unit 111 refers to the first storage unit 150 to specify the answer “Hanako” based on the fact that the text information includes a predetermined character string “name is”.
  • the first engine unit 111 outputs the identified answer to the output processing unit 113.
  • the first engine unit 111 when the predetermined character string is not included in the text information, the first engine unit 111 outputs the text information to the second engine unit 112. The first engine unit 111 outputs the text information to the second engine unit 112 based on, for example, that the predetermined character string is not included in the text information that “I want to know how to confirm the payment”.
  • the first engine unit 111 may have a function of causing the external device (not shown) to execute various processes using the contents of the answer as an input parameter, when the user answers the predetermined question.
  • the various processes are, for example, execution of an external program (plug-in), call of a cloud API, an instruction to various robots, and the like.
  • the various processes are not limited to these examples, and may be any process.
  • the first engine unit 111 can execute an interactive computer program called a wizard, and the user can execute, for example, complicated processing in stages by interacting with the information processing system 1 It becomes.
  • the first engine unit 111 When the first engine unit 111 causes the external device to execute processing, the first engine unit 111 refers to the first storage unit 150 in which the correspondence between the reply from the user and the processing content to be executed by the external device is stored.
  • the external device is made to execute predetermined processing.
  • the processing content stored in the first storage unit 150 is, for example, a program or a code that describes processing to be executed by a robot as an external device. Note that the processing content stored in the first storage unit 150 may be anything, such as, for example, link information for connecting to a predetermined external site.
  • the first engine unit 111 searches for an answer associated with the predetermined character string (rule-based search), The search result can be presented to the user as an answer. Since the response associated with the predetermined character string is prepared in advance by the system administrator, it is possible to present an answer according to the system administrator's intention, and to present a highly accurate answer to the user. It becomes possible.
  • the second engine unit 112 decomposes the text information input from the first engine unit 111 into a plurality of words by morphological analysis.
  • the second engine unit 112 uses, for example, “Payment”, “To”, “Confirm”, “Perform”, “Method”, and “Text” that “I want to know how to confirm the payment” by morphological analysis. "I know”, "I want”, and break up into multiple words. Note that the method of decomposing text information into a plurality of words is not limited to morphological analysis, and any method may be used.
  • the second engine unit 112 performs filtering on the plurality of morphologically analyzed words to extract, for example, “noun”, “verb”, and “adverb”.
  • the second engine unit 112 filters, for example, “Payment”, “To”, “Confirm”, “Perform”, “Method”, “Ga”, “Know”, “To”, and the like by filtering. Extract “confirmation”, “method” and "know”.
  • Filtering is processing for extracting a predetermined part of speech based on, for example, part of speech information.
  • the filtering may include the following conditions.
  • the condition (1) is that when the word is a noun, words of the type “number” or “non-independent word” are not extracted. According to the condition (1), for example, the words “see”, “to”, “sanana” are not extracted.
  • Condition (2) is that, when nouns are adjacent, the adjacent nouns are extracted as compound nouns. According to the condition (2), for example, when “benefit” and “claim” are adjacent to each other, it is extracted as a compound noun “claim for benefit”.
  • Condition (3) is that when the word is a verb, "do”, “become”, “le” and “tea” are not extracted. Condition (3) prevents these words from being extracted.
  • Condition (4) is to extract the verb by replacing it with the original form when the word is a verb. According to the condition (4), for example, the verb "claimed” is extracted by being replaced with the prototype "claim".
  • condition (5) is to extract a predetermined word from among the synonyms if a synonym is present in the extracted word.
  • Data on synonyms is stored in advance in the storage unit 15 (not shown).
  • a plurality of words having synonym relationships with each other and words to be extracted (representative words) are stored in association with each other.
  • the second engine unit 112 compares a word (extracted word: extracted keyword) extracted by filtering with a word (feature word: predetermined keyword) associated with an answer, and a plurality of answers , Determine the answers presented to the user. For example, the second engine unit 112 presents, to the user, an answer having a high degree of matching between the extracted word (extracted keyword) and the characteristic word (predetermined keyword) among the plurality of answers.
  • FIG. 6 is a table showing an example of a predetermined feature word (predetermined keyword) for each of a plurality of answers.
  • the correspondence illustrated in FIG. 6 is stored in the second storage unit 151 of the storage unit 15.
  • “Payment”, “Account transfer”, and “Confirmation” are associated with the response 1 as the characteristic words (predetermined keywords).
  • “Payment”, “Account transfer”, and “Cancellation” are associated with the response 2 as the characteristic words (predetermined keywords).
  • “Reduction proof”, “Procedure”, and “Sending” are associated with the answer 3 as the characteristic words (predetermined keywords).
  • “Payment”, “Credit card”, and “Cancellation” are associated with the response N as the characteristic words (predetermined keywords).
  • the characteristic word is predetermined for each of the plurality of answers.
  • three feature words predetermined keywords
  • the number of feature words need not be three, but at least one. If there are, it may be any number.
  • the characteristic words (predetermined keywords) illustrated in FIG. 6 are determined based on, for example, the results of morphological analysis of each of the answers.
  • the feature words (predetermined keywords) associated with each of the answers may include words determined by the system administrator or the like, regardless of the result of the morphological analysis.
  • the second engine unit 112 calculates whether or not the word (extracted word (extracted keyword)) extracted by the filtering matches the feature word (predetermined keyword) associated with each answer, Calculate the degree of agreement of the answers.
  • the matching degree is, for example, the number of times the extracted word (extracted keyword) matches the feature word (predetermined keyword).
  • the second engine unit 112 for example, the characteristic word (predetermined keyword) of answer 1 (predetermined keyword) “confirmation” and “confirmation” for the extracted words (extracted keywords) “payment”, “confirmation”, “method”, and “know”.
  • the matching degree is calculated as "2”.
  • the second engine unit 112 matches the feature word (predetermined keyword) “payment” of the answer 2 for the extracted words (extracted keywords) “payment”, “confirmation”, “method”, and “know”. Therefore, the matching degree for the answer 2 is calculated as “1”.
  • the second engine unit 112 does not have a matching feature word (predetermined keyword) in the answer 3 for the extracted words (extracted keywords) “payment”, “confirmation”, “method”, and “know”.
  • the degree of coincidence for answer 3 is calculated as “0”. Furthermore, the second engine unit 112 matches the feature word (predetermined keyword) “payment” of the answer 4 for the extracted words (extracted keywords) “payment”, “confirmation”, “method”, and “know”. Therefore, the matching degree of the answer 4 is calculated as “1”. As a result, the second engine unit 112 determines the answer 1 with the highest degree of matching as an answer to be presented to the user.
  • the second engine unit 112 calculates a score for each of a plurality of words based on the degree of matching between the extracted word (extracted keyword) and the characteristic word (predetermined keyword), and the score is high. The answer may be presented to the user.
  • FIG. 7 is a table showing an example where a score is set for a feature word (predetermined keyword).
  • the correspondence illustrated in FIG. 7 is stored in the second storage unit 151 of the storage unit 15.
  • a score “2” is associated with the characteristic word (predetermined keyword) “payment” of the answer 1.
  • a score “2” is associated with the characteristic word (predetermined keyword) “debit transfer” of the answer 1.
  • a score “1” is associated with the feature word (predetermined keyword) “confirmation” of the answer 1.
  • a score “2” is associated with the characteristic word (predetermined keyword) “payment” of the answer 2.
  • a score “2” is associated with the feature word (predetermined keyword) “debit transfer” of the answer 2.
  • a score "1” is associated with the feature word (predetermined keyword) "cancellation” of the answer 2.
  • the characteristic word (predetermined keyword) illustrated in FIG. 7 is determined based on the result of morphological analysis of each of the answers, for example. Further, the score associated with each of the characteristic words (predetermined keywords) is determined based on the number of times of use and the importance of the characteristic words (predetermined keywords) in the answer. Also, the system administrator or the like may associate a high score with a specific feature word (predetermined keyword) regardless of the number of times and the degree of use of the feature word (predetermined keyword) in the answer.
  • the system administrator or the like may set an arbitrary score (that is, any priority) including not only a high score but also a low score for a specific feature word (predetermined keyword) .
  • the specific feature word set by the system administrator or the like does not have to be used in the answer, and may be any feature word such as a word not used at all in the answer.
  • the second engine unit 112 for example, the characteristic word (predetermined keyword) of answer 1 (predetermined keyword) “confirmation” and “confirmation” for the extracted words (extracted keywords) “payment”, “confirmation”, “method”, and “know”.
  • the score for Answer 1 is calculated to be “3” which is the sum of “2” and “1”.
  • the second engine unit 112 sets feature word (predetermined keyword) “reply” of answer 2 In order to match, the score for the answer 2 is calculated as “1”.
  • the second engine unit 112 does not have a matching feature word (predetermined keyword) in the answer 3 for the extracted words (extracted keywords) “payment”, “confirmation”, “method”, and “know”. , And the score for answer 3 is calculated as “0”. Furthermore, the second engine unit 112 matches the feature word (predetermined keyword) “payment” of the answer 4 for the extracted words (extracted keywords) “payment”, “confirmation”, “method”, and “know”. Therefore, the score for the answer 4 is calculated as "2". As a result, the second engine unit 112 determines the answer 1 with the highest score as an answer to be presented to the user.
  • the second engine unit 112 may present, for example, a response having a score equal to or higher than a predetermined value (for example, “2” or more) as the response to be presented to the user, instead of the response having the highest score.
  • the second engine unit 112 may also present the user with the answer with the lowest score.
  • the second engine unit 112 outputs the determined answer to the output processing unit 113.
  • the second engine unit 112 presents an answer to the user by searching for an answer based on a keyword extracted by morphological analysis of text information (AI-based search). Therefore, it is possible to extract an answer with high accuracy with respect to the question sentence input by the user from the plurality of answer candidates, and present the answer to the user.
  • AI-based search morphological analysis of text information
  • the output processing unit 113 transmits the response determined by the first engine unit 111 or the second engine unit 112 to the information processing terminal 20 via the communication unit 12.
  • FIG. 8 is a flowchart showing an operation example of the information processing apparatus 10.
  • the input processing unit 110 of the information processing apparatus 10 receives an input of text information received from the information processing terminal 20 via the communication unit 12 (S101).
  • the input processing unit 110 outputs the received text information to the first engine unit 111.
  • the first engine unit 111 searches for whether a predetermined character string is included in the text information input from the input processing unit 110 (S102).
  • the first engine unit 111 determines an answer corresponding to the predetermined character string as an answer to be presented to the user, It is output to the output processing unit 113 (S103). On the other hand, the first engine unit 111 outputs the text information to the second engine unit 112 when the input text information does not include the predetermined character string (NO in S102).
  • the second engine unit 112 decomposes the text information input from the first engine unit 111 into a plurality of words by morphological analysis (S104). Subsequently, the second engine unit 112 performs filtering on the plurality of morphologically analyzed words to extract a predetermined word (S105).
  • the second engine unit 112 compares a word (extracted word: extracted keyword) extracted by filtering with a word (feature word: predetermined keyword) associated with an answer, and a plurality of answers
  • the answer to be presented to the user is determined (S106). For example, the second engine unit 112 calculates whether a word extracted by filtering (extracted word (extracted keyword)) matches a feature word (predetermined keyword) associated with each answer. The match degree of each answer is calculated, and the answer to be presented to the user is determined based on the calculated match degree.
  • the second engine unit 112 calculates a score for each of a plurality of words based on the degree of matching between the extracted word (extracted keyword) and the characteristic word (predetermined keyword), and the score is high. The answer may be presented to the user.
  • the second engine unit 112 outputs the determined answer to the output processing unit 113.
  • the output processing unit 113 transmits the response determined by the first engine unit 111 or the second engine unit 112 to the information processing terminal 20 via the communication unit 12 (S107).
  • the information processing apparatus 10 uses the “hybrid structure (AI base + rule base)” to present an answer to a question (text information) from the user, so the information processing apparatus 10 has a short time by the rule base function (first engine unit 111). While outputting the optimal answer in time, it is possible to output a highly accurate answer by the AI base function (second engine unit 112).
  • the second engine unit 112 calculates whether or not the words (extracted words (extracted keywords)) extracted by the filtering match the feature words (predetermined keywords) associated with the respective answers, When calculating the score of an answer, there may be a plurality of answers having the same score among a plurality of answer candidates.
  • the second engine unit 112 determines a plurality of answers as the answers to be presented to the user when the answers having the same score are not more than a predetermined number. As a result, the user is presented with a plurality of answers.
  • the predetermined number is the maximum number of presented answer candidates, for example "2", and two answers are presented to the user's question.
  • the predetermined number does not have to be 2, but may be any number.
  • the second engine unit 112 selects at least one feature word (predetermined one) selected from feature words (predetermined keywords) commonly included in a plurality of answers.
  • the user is presented with a question sentence of “keyword (characteristic word)?” For the keyword). For example, if the common feature word is "Payment”, the question sentence "Payment?" Is presented to the user.
  • the common feature word does not have to be included in all of the plurality of answers, and may be included in part of the plurality of answers.
  • the second engine unit 112 excludes common feature words and calculates scores for a plurality of answers again.
  • the second engine unit 112 determines the answer 1 with the highest score as the answer to be presented to the user, based on the recalculated score.
  • the second engine unit 112 asks the user a question sentence “Is it ⁇ (feature word)?” For the other feature words in common I will present to you. The second engine unit 112 repeats this until the number of answers having the same score becomes equal to or less than a predetermined number, and determines the answer to be presented to the user.
  • the second engine unit 112 can determine an answer to be presented to the user even when there is an answer with the same score.
  • a feature word predetermined keyword
  • the word (predetermined keyword) may be one having a high score or a characteristic word (predetermined keyword) included only in a specific answer.
  • the second engine unit 112 presents the specific response to the user if an answer “YES” is obtained from the user. .
  • each means, functions included in each step, etc. can be rearranged so as not to be logically contradictory, and it is possible to combine or divide a plurality of means, steps, etc. into one. .
  • the configurations shown in the respective embodiments may be combined as appropriate.

Landscapes

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

Abstract

本発明の一実施形態における情報処理装置は、テキスト情報の入力を受け付ける入力部と、前記テキスト情報に所定の文字列が含まれている場合、前記所定の文字列に対応付けられた回答を探索する第1エンジン部と、前記テキスト情報に前記所定の文字列が含まれていない場合、前記テキスト情報を形態素解析して抽出されたキーワードに基づいて回答を推論し選択する第2エンジン部と、前記第1エンジン部又は前記第2エンジン部により選択された前記回答を出力する出力部と、を含む。

Description

情報処理装置、情報処理システム、情報処理方法及びプログラム
 本発明は、チャットボットを提供する情報処理装置、情報処理システム、情報処理方法及びプログラムに関する。
 近年、コンピュータが人間に代わって対話を行うチャットボットに関する技術が開発されている。チャットボットに用いられるアルゴリズムには、ルールベースのアルゴリズムと、AI(Artificial Intelligence)ベースのアルゴリズムとがあった。
 例えば、特許文献1には、ルールベースの対話システムが開示されている。具体的には、特許文献1には、質問と、回答と、質問と回答との間の会話のテーマとを対応付けたデータベースを備え、ユーザから質問の入力を受け付けた場合、質問を単語に分解し、分解された単語とデータベースとに基づいて、データベースから質問に対する回答を探索する発明が開示されている。
 また、特許文献2には、AIベースの対話システムについて開示されている。具体的には、特許文献2には、ユーザからの入力(質問)を分析することにより、ユーザの意図を把握し、当該ユーザの意図に沿った回答を出力する発明が開示されている。そして、特許文献2には、ユーザの入力を分析する際に、ヒューマン・マシン間の短期対話履歴を記憶する短期記憶システムと、人間の脳の持久記憶エリアに類似する長期記憶システムとを用いることが開示されている。
特開2016-126452号公報 特開2017-10517号公報
 しかしながら、特許文献1に例示するようなルールベースのチャットボットでは、ルールに合致しない回答は出力できないうえ、回答を人間が作成しなければならず、回答の精度を上げるためには手間がかかるという問題がある。一方、特許文献2に例示するようなAIベースのチャットボットでは、学習データが少ないと精度が低くなってしまい、適切な回答を出力できないという問題がある。
 そのため、既存のシステムでは、ユーザの質問に対して、適切な回答を出力できない恐れがあるうえ、回答の精度を上げるためには所定のコスト(時間や手間など)が必要となるという問題が生じる。
 本開示は、上記問題に鑑みてなされたものであり、回答の精度を上げつつ、時間や手間などの所定のコストを削減可能な情報処理装置、情報処理システム、情報処理方法及びプログラムを提供することを目的とする。
 本発明の一実施形態における情報処理装置は、テキスト情報の入力を受け付ける入力部と、前記テキスト情報に所定の文字列が含まれている場合、前記所定の文字列に対応付けられた回答を探索する第1エンジン部と、前記テキスト情報に前記所定の文字列が含まれていない場合、前記テキスト情報を形態素解析して抽出されたキーワードに基づいて回答を推論し探索選択する第2エンジン部と、前記第1エンジン部又は前記第2エンジン部により選択された探索前記回答を出力する出力部と、を含む。
 本発明の一実施形態における情報処理装置において、前記第2エンジン部は、回答の候補となる情報あるいは文章ごとに対応付けられている複数のキーワードと、入力部で受け付けられた前記テキスト情報を形態素解析した結果に基づいて抽出された複数のキーワードとの一致度に基づいて、前記複数の回答候補から前記回答を選択することを特徴としてもよい。
 本発明の一実施形態における情報処理装置において、前記第2エンジン部は、前記テキスト情報を形態素解析した結果に基づいて抽出された複数のキーワードのうち優先度の高いキーワードに基づいて、前記回答を選択することを特徴としてもよい。
 本発明の一実施形態における情報処理装置において、前記キーワードの優先度は、ユーザにより予め設定可能であることを特徴としてもよい。
 本発明の一実施形態における情報処理装置において、前記所定の文字列と、前記所定の文字列を含む前記テキスト情報に対する回答とを対応付けて記憶する第1記憶部と、前記所定のキーワードと、前記キーワードに関連する回答とを対応付けて記憶する第2記憶部と、を含むことを特徴としてもよい。
 本発明の一実施形態における情報処理方法は、テキスト情報の入力を受け付ける入力ステップと、前記テキスト情報に所定の文字列が含まれている場合、前記所定の文字列に対応付けられた回答を探索する第1探索ステップと、前記テキスト情報に前記所定の文字列が含まれていない場合、前記テキスト情報を形態素解析して抽出されたキーワードに基づいて回答を推論し選択探索する第2探索ステップと、探索された前記回答を出力する出力ステップと、を含む。
 本発明の一実施形態における情報処理方法において、前記第2探索ステップにおいて、複数の回答候補ごとに対応付けられている所定のキーワードと、前記テキスト情報を形態素解析した結果に基づいて抽出された複数のキーワードが一致していると推論される程度に基づいて、前記複数の回答候補から前記回答を探索選択することを特徴としてもよい。
 本発明の一実施形態における情報処理方法において、前記第2探索ステップにおいて、前記テキスト情報を形態素解析した結果に基づいて抽出された複数のキーワードのうち優先度の高いキーワードに基づいて、前記回答を探索選択することを特徴としてもよい。
 本発明の一実施形態における情報処理方法において、前記キーワードの優先度は、ユーザが予め設定可能であることを特徴としてもよい。
 本発明の一実施形態における情報処理方法において、前記所定の文字列と、前記所定の文字列を含む前記テキスト情報に対する回答とを対応付けて記憶する第1記憶ステップと、前記所定のキーワードと、前記キーワードに関連する回答とを対応付けて記憶する第2記憶ステップと、を含むことを特徴としてもよい。
 本発明の一実施形態におけるプログラムは、コンピュータに、テキスト情報の入力を受け付ける入力機能と、前記テキスト情報に所定の文字列が含まれている場合、前記所定の文字列に対応付けられた回答を探索する第1探索機能と、前記テキスト情報に前記所定の文字列が含まれていない場合、前記テキスト情報を形態素解析して抽出されたキーワードに基づいて回答を推論し選択探索する第2探索機能と、探索選択された前記回答を出力する出力機能と、を実行させる。
 本発明の一実施形態における情報処理システムは、テキスト情報の入力を受け付ける情報処理端末と、前記情報処理端末から受信した前記テキスト情報に対する回答を探索する情報処理装置と、を含み、前記情報処理装置は、所定の文字列が含まれている場合、前記所定の文字列に対応付けられた回答を探索する第1エンジン部と、前記テキスト情報に前記所定の文字列が含まれていない場合、前記テキスト情報を形態素解析して抽出されたキーワードに基づいて回答を探索する第2エンジン部と、探索された前記回答を前記情報処理端末に送信する出力部と、を備えることを特徴とする。
 本開示によれば、回答の精度を上げつつ、時間や手間などの所定のコストを削減可能な情報処理装置、情報処理システム、情報処理方法及びプログラムを提供することができる。
本発明の一実施態様によるシステムの構成例を示す図である。 本発明の一実施態様による情報処理装置の一例を示すブロック図である。 本発明の一実施態様による情報処理端末の一例を示すブロック図である。 本発明の一実施態様による情報処理端末に表示される画面表示の例である。 本発明の一実施態様による記憶部に記憶されるデータの構成例である。 本発明の一実施態様による記憶部に記憶されるデータの他の構成例である。 本発明の一実施態様による記憶部に記憶されるデータの他の構成例である。 本発明の一実施態様による情報処理装置の動作例を示すフローチャートである。
 本発明の第1の実施形態について、図面を参照して説明する。
 本発明の第1の実施形態における情報処理システムは、チャットボットを提供するサービスにおいて、ルールベースのアルゴリズムと、AIベースのアルゴリズムとの双方を利用する“ハイブリッド構造”により、ユーザが入力したテキスト情報(例えば、質問文)に対して、迅速かつ最適な回答を提示するものである。
 具体的には、情報処理システム1は、ユーザによって入力されたテキスト情報に所定の文字列が含まれている場合、所定の文字列に対応付けられた回答を探索し(ルールベースの探索)、当該テキスト情報に所定の文字列が含まれていない場合、当該テキスト情報を形態素解析して抽出されたキーワードに基づいて回答を探索する(AIベースの探索)ことによって、ユーザに対する回答を提示する。
 上記の通り、情報処理システム1は、“ハイブリット構造(AIベース+ルールベース)”により、ユーザからの質問(テキスト情報)に対する回答を提示するため、ルールベース機能により短時間で最適な回答を出力しつつ、AIベース機能により精度の高い回答を出力することが可能となる。
<システム構成>
 図1は、本発明の第1の実施形態における情報処理システム1の構成例を示す図である。図1に示すように、情報処理システム1は、情報処理装置(サーバ)10と、情報処理端末20と、ネットワーク30とを含む。情報処理装置10は、ネットワーク30を介して、ユーザが利用する情報処理端末20に、チャットシステムを実現するサービスを提供する。なお、情報処理端末20の数は、図1に例示するように複数であってもよい。
 なお、図1の例では、情報処理装置10と、情報処理端末20とが、ネットワーク30を介した別の装置として構成されているが、これらの装置は同一の装置に含まれるものであってもよい。例えば、情報処理装置10と、情報処理端末20との機能を提供する各構成が、コミュニケーションロボット内に組み込まれ、当該コミュニケーションロボットが、ユーザに対して、チャットシステムを実現するサービスを提供してもよい。この場合、コミュニケーションロボット内の学習データを変更することで、様々な専門知識に対して回答可能なシステムを構築することができる。なお、情報処理装置10と、情報処理端末20との機能を提供する各構成は、コミュニケーションロボットに限らず、どのような装置に同一に含まれていてもよい。
 ネットワーク30は、情報処理装置10と情報処理端末20とを接続する役割を担う。ネットワーク30は、例えば、有線ネットワークや無線ネットワークであってもよい。ネットワーク30は、イントラネット、仮想プライベート・ネットワーク(virtual private network:VPN)、ローカル・エリア・ネットワーク(local area network:LAN)、ワイヤレスLAN(wireless LAN:WLAN)、ワイヤレスWAN(wireless WAN:WWAN)、インターネットの一部、公衆交換電話網(Public Switched Telephone Network:PSTN)の一部、携帯電話網、ISDNs(integrated service digital networks)、無線LANs、LTE(long term evolution)CDMA(code division multiple access)、衛星通信を含むことができる。
 情報処理装置10は、情報処理端末20に対して、チャットに関するサービスを提供する機能を備える。情報処理装置10は、例えば、サーバ装置であるが、サーバ装置に限らず、デスクトップ、ラップトップ、タブレットなどのコンピュータであってもよい。なお、情報処理装置10は、これらの装置に限られず、どのような装置であってもよい。
 情報処理端末20(情報処理端末20A、情報処理端末20B、情報処理端末20C)は、例えば、スマートフォンや携帯電話、デスクトップ、ラップトップ、タブレットなどのコンピュータ、PDA(personal digital assistant)、ウェアラブル端末(メガネ型デバイス、時計型デバイスなど)であってもよい。なお、情報処理端末20は、これらの装置に限られず、どのような装置であってもよい。
 <ハードウェア(HW)構成>
 (1)情報処理装置10のHW構成
 図2は、情報処理装置10の構成例を示すブロック図である。情報処理装置10は、制御部11(CPU)、通信部12、入出力部13、記憶部15を備える。情報処理装置10のHWの各構成要素は、例えば、バスを介して相互に接続される。
 制御部11は、例えば、中央処理装置(CPU)やマイクロプロセッサ、ASIC、FPGAなどであってもよい。なお、制御部11は、これらの例に限られず、どのようなものであってもよい。なお、制御部11の機能構成については、後述する。
 通信部12は、ネットワーク30を介して各種データの送受信を行う通信インタフェースである。通信部12は、ネットワーク30を介して、情報処理端末20との通信を実行する機能を有する。通信部12は、各種データを制御部11からの指示に従って、端末20に送信する。また、通信部12は、情報処理端末20から送信された各種データを受信し、制御部11に伝達する。
 入出力部13は、情報処理装置10に対する各種操作を入力する装置により実現される。入出力部13は、ユーザからの入力を受け付けて、当該入力に係る情報を制御部11に伝達する機能を有する。入出力部13は、キーボードやマウス、タッチパネル、マイクなどである。なお、入出力部13は、これらの例に限定されず、どのような装置であってもよい。
 表示部14は、例えば、液晶ディスプレイやOELD(organic electroluminescence display)である。なお、表示部14は、これらの例に限定されず、ヘッドマウントディスプレイ(HDM)などであってもよい。
 記憶部15は、情報処理装置10が動作するうえで必要とする各種プログラムや各種データを記憶する機能を有する。記憶部15は、例えば、HDD、SSD、フラッシュメモリなど各種の記憶媒体により実現される。なお、情報処理装置10は、プログラムを記憶部15に記憶し、当該プログラムを実行して、制御部11が、当該制御部11に含まれる各部としての処理を実行してもよい。当該プログラムは、情報処理装置10に、制御部11が実行する各機能を実現させる。
 (2)情報処理端末20のHW構成
 図3は、情報処理端末20の構成例を示すブロック図である。情報処理端末20は、制御部21(CPU)、通信部22、入出力部23、表示部24、マイク/スピーカ25、記憶部26を備える。情報処理端末20のHWの各構成要素は、例えば、バスを介して相互に接続される。
 制御部21は、例えば、中央処理装置(CPU)やマイクロプロセッサ、ASIC、FPGAなどであってもよい。なお、制御部21は、これらの例に限られず、どのようなものであってもよい。なお、制御部21の機能構成については、後述する。
 通信部22は、ネットワーク30を介して各種データの送受信を行う通信インタフェースである。通信部22は、ネットワーク30を介して、情報処理装置10との通信を実行する機能を有する。通信部22は、各種データを制御部21からの指示に従って、情報処理装置10に送信する。また、通信部22は、情報処理装置10から送信された各種データを受信し、制御部21に伝達する。
 入出力部23は、情報処理端末20に対する各種操作を入力する装置により実現される。入出力部23は、ユーザからの入力を受け付けて、当該入力に係る情報を制御部21に伝達する機能を有する。入出力部23は、キーボードやマウス、タッチパネル、マイクなどである。入出力部23がタッチパネルの場合、当該入出力部23は、ユーザの指やスタイラスなどの指示具による接触とその接触位置を検出し、当該接触位置の座標を制御部21に伝達する。なお、入出力部23は、これらの例に限定されず、どのような装置であってもよい。
 表示部24は、例えば、液晶ディスプレイやOELDである。なお、表示部24は、これらの例に限定されず、ヘッドマウントディスプレイ(HDM)などであってもよい。表示部24は、フレームバッファに書き込まれた表示データに従って、画像やテキスト情報、3Dなどの表示データを表示可能である。
 マイク/スピーカ25は、音声データの入力又は音声データの出力に利用される。情報処理端末20は、マイク/スピーカ25によって、音声データを用いて、所定のデータの入出力を行うことが可能である。
 記憶部26は、情報処理端末20が動作するうえで必要とする各種プログラムや各種データを記憶する機能を有する。記憶部26は、例えば、HDD、SSD、フラッシュメモリなど各種の記憶媒体により実現される。なお、情報処理端末20は、プログラムを記憶部26に記憶し、当該プログラムを実行して、制御部21が、当該制御部21に含まれる各部としての処理を実行してもよい。当該プログラムは、情報処理端末20に、制御部21が実行する各機能を実現させる。
 また、本開示の各実施形態のプログラムは、コンピュータに読み取り可能な記憶媒体に記憶された状態で提供されてもよい。 記憶媒体は、「一時的でない有形の媒体」に、プログラムを記憶可能である。記憶媒体は、HDDやSDDなどの任意の適切な記憶媒体、またはこれらの2つ以上の適切な組合せを含むことができる。記憶媒体は、揮発性、不揮発性、または揮発性と不揮発性の組合せでよい。なお、記憶媒体はこれらの例に限られず、プログラムを記憶可能であれば、どのようなデバイスまたは媒体であってもよい。
 なお、情報処理装置10および/または情報処理端末20は、例えば、記憶媒体に記憶されたプログラムを読み出し、読み出したプログラムを実行することによって、各実施形態に示す複数の機能部の機能を実現することができる。また、当該プログラムは、任意の伝送媒体(通信ネットワークや放送波等)を介して、情報処理装置10および/または情報処理端末20に提供されてもよい。情報処理装置10および/または情報処理端末20は、例えば、インターネット等を介してダウンロードしたプログラムを実行することにより、各実施形態に示す複数の機能部の機能を実現する。
 なお、当該プログラムは、例えば、ActionScript、JavaScript(登録商標)などのスクリプト言語、Objective-C、Java(登録商標)などのオブジェクト指向プログラミング言語、HTML5などのマークアップ言語などを用いて実装できる。
 情報処理装置10および/または情報処理端末20における処理の少なくとも一部は、1以上のコンピュータにより構成されるクラウドコンピューティングにより実現されていてもよい。
 <機能構成>
 (1)情報処理端末20の機能構成
 図3に示すように、情報処理端末20は、制御部21により実現される機能として、入力処理部210と、通信処理部211、表示処理部212を有する。
 入力処理部210は、入出力部23を介して、ユーザからの入力を受け付ける。例えば、入力処理部210は、キーボードやタッチパネルである入出力部23を介して、ユーザからテキスト情報の入力を受け付ける。また、入力処理部210は、例えば、マイク/スピーカ25を介して、ユーザから音声データの入力を受け付ける。
 ここで、ユーザから入力されるテキスト情報や音声データは、ユーザが問い合わせしたい内容や解決したい内容、質問したい内容(質問文)を含む。ユーザから入力される情報は、例えば、ビジネス上の問い合わせや質問など、ビジネスに関する内容である。例えば、ユーザから入力される情報は、「保険料の支払い方法について教えてください。」や「投資基準についてどんな観点があるか教えて欲しい。」など、ビジネスに関する内容である。また、ユーザから入力される情報は、例えば、法令の内容や社内規則に関する問い合わせや質問である。例えば、ユーザから入力される情報は、「労働基準法の休暇取得に関する条文の内容を知りたい。」や「経費の請求方法について教えて欲しい。」など、法令や社内規則に関する内容である。また、ユーザから入力される情報は、例えば、専門技術や仕様(標準化)に関する内容である。例えば、ユーザから入力される情報は、「静電容量方式の原理を知りたい。」や「LTEにおけるハンドオーバの標準について知りたい。」など、専門技術や仕様(標準化)に関する内容である。
 これらの例のように、ユーザから入力される情報は、投資基準などのビジネスに関する内容や従業員向けの社内規則など、すでに企業が保有・管理している情報に関するものや、法令や専門技術、標準化内容など、政府や公的機関などが作成・管理・保有している情報に関するものを含んでいてもよい。
 また、ユーザから入力されるテキスト情報や音声データは、あいさつや雑談などの内容を含んでいてもよい。ユーザから入力される情報は、例えば、「あなたの名前は何ですか。」や「私の名前は○○です。」、「あなたの好きな色は何ですか。」など、一般的なあいさつや雑談レベルの質問などを含んでいてもよい。
 これらの例のように、ユーザから入力される情報は、一般的なあいさつや雑談などを含んでいてもよい。なお、ユーザから入力される情報は、これらの例に限られず、どのような情報やデータであってもよい。
 入力処理部210は、受け付けたユーザからの情報やデータを、通信処理部211および表示処理部212に伝達する。なお、入力処理部210は、ユーザから受け付けた音声データなどをテキスト情報に変換して、通信処理部211および表示処理部212に伝達してもよい。
 また、入力処理部210は、人間の指やスタイラスなどの操作体がタッチパネル(入出力部23)に接触すると、該接触の接触位置を検出する機能を備えていてもよい。入力処理部210は、例えば、操作体がタッチパネルに接触した位置である接触点を検出する。
 指やスタイラスなどの操作入力を行う操作体は、表示部24の任意の位置に接触することにより、所定の操作入力を行う。所定の操作入力は、例えば、表示画面に対するタッチやタップ、フリック、スワイプなど、どのようなものであってもよい。操作体は、所定の操作入力を行うことにより、例えば、文字を入力することや所定のアイコンを選択することなど、端末20に各種処理を実行させる。
 なお、操作体がタッチパネルに接触することは例えば「タップ」や「タッチ」と、操作体がタッチパネル上で接触したまま移動することは例えば「スライド」や「スワイプ」と、操作体がタッチパネルから離れることは例えば「リリース」と表現される。
 通信処理部211は、入力処理部210から伝達された情報やデータを、通信部22を介して、情報処理装置10に送信する処理を実行する。また、通信処理部211は、通信部22を介して情報処理装置10から受信した情報やデータを、表示処理部212に転送する。なお、通信処理部211は、情報処理装置10から音声データを受信した場合には、マイク/スピーカ25に当該音声データを伝達してもよい。
 表示処理部212は、例えば、ユーザから入力される情報を、所定の形式に従って、表示部24に表示する処理を実行する。表示処理部212は、例えば、ユーザから入力される情報を、チャット形式に従って、表示部24に表示する処理を実行する。なお、表示処理部212は、必ずしもチャット形式で表示する必要はなく、どのような形式で表示してもよい。
 また、表示処理部212は、情報処理装置10から受信した情報やデータを、表示部24に表示するための処理を実行する。表示処理部212は、情報処理装置10から受信した、ユーザが入力される情報に対する回答である所定の情報やデータを、所定の形式に従って、表示部24に表示するための処理を行う。表示処理部212は、例えば、情報処理装置10から受信した所定の情報やデータを、チャット形式に従って、表示部24に表示する処理を実行する。
 図4は、表示処理部212により表示部24に表示される表示画面の例である。図4に示すように、表示処理部212は、チャット形式に従って、ユーザから入力される情報40を、画面の右側(又は左側)に表示させる。図4に例示するように、表示処理部212は、ユーザから入力される情報40として、「投資基準についてどんな観点があるか教えて欲しいんだけど」や「(1)です」を、画面に右側表示する。
 また、図4に例示するように、表示処理部212は、チャット形式に従って、情報処理装置10から受信した所定の情報やデータ41を、画面の左側(又は右側)に表示させる。図4に例示するように、表示処理部212は、情報処理装置10から受信した所定の情報やデータ41として、「どちらの内容でしょうか? (1)経済的基準、(2)技術的基準、(3)その他」や「経済的基準についてですね。3つの観点がありますがどちらの内容でしょうか? (1)IRRハードルレート、(2)投資回収期間、(3)NPV」を、画面の左側に表示する。
 (2)情報処理装置10の機能構成
 図2に示すように、情報処理装置10は、制御部11により実現される機能として、入力処理部110と、第1エンジン部111と、第2エンジン部112と、出力処理部113と、を有する。
 入力処理部110は、情報処理端末20から通信部12を介して受信したテキスト情報の入力を受け付ける。入力処理部110は、例えば、「支払いを確認する方法が知りたい」というテキスト情報の入力を受け付ける。また、入力処理部110は、例えば、「あなたの名前は何ですか」というテキスト情報の入力を受け付ける。入力処理部110は、入力を受け付けたテキスト情報を、第1エンジン部111に出力する。
 第1エンジン部111は、入力処理部110から入力されたテキスト情報に、所定の文字列が含まれていないか探索する処理を実行する。所定の文字列は、予め定められた文字列であり、例えば、「名前は」や「はじめまして」である。なお、所定の文字列は、これらの例に限られず、どのような文字列であってもよい。
 所定の文字列の各々は、当該所定の文字列を含むテキスト情報に対する回答に対応付けられている。第1エンジン部111は、入力されたテキスト情報に、所定の文字列が含まれている場合、当該所定の文字列に対する回答を、出力処理部113に出力する。第1エンジン部111は、記憶部15を参照して、所定の文字列に対応付けられた回答を特定する。
 図5は、所定の文字列の各々と、当該所定の文字列を含むテキスト情報に対する回答との対応付けの構成例を示す図である。図5の対応関係は、記憶部15の第1記憶部150に記憶される。図5に示すように、「名前は」という所定の文字列には、回答として「花子です」が対応付けられている。また、「はじめまして」という所定の文字列には、回答として「はじめまして。質問文をご入力ください。」が対応付けられている。なお、所定の文字列に対応付けられている回答は、あくまでも例示であって、どのような内容であってもよい。また、1つの所定の文字列に対して、複数の回答が対応付けられていてもよいし、複数の所定の文字列に対して、1つの回答が対応付けられていてもよい。
 図5に例示する対応関係は、システムの管理者などが予め作成し、第1記憶部150に記憶される。システム管理者は、例えば、サービスの開始時に、所定の文字列と、当該所定の文字列を含むテキスト情報に対する回答との対応付けを作成し、第1記憶部150に記憶する。また、システム管理者は、例えば、システムの更新時など任意のタイミングで、対応関係を第1記憶部150に記憶してもよい。
 第1エンジン部111は、例えば、テキスト情報に「名前は」という所定の文字列が含まれていることに基づいて、第1記憶部150を参照して、回答「花子です」を特定する。第1エンジン部111は、特定した回答を出力処理部113に出力する。
 一方、第1エンジン部111は、テキスト情報に所定の文字列が含まれてない場合、当該テキスト情報を第2エンジン部112に出力する。第1エンジン部111は、例えば、「支払いを確認する方法が知りたい」というテキスト情報に所定の文字列が含まれていないことに基づいて、当該テキスト情報を第2エンジン部112に出力する。
 なお、第1エンジン部111は、所定の質問にユーザが回答することで、当該回答内容を入力パラメータとして、外部装置(図示しない)に対して種々の処理を実行させる機能を備えていてもよい。種々の処理は、例えば、外部プログラム(プラグイン)の実行や、クラウドAPIの呼び出し、各種ロボットへの命令などである。なお、種々の処理は、これらの例に限られず、どのような処理であってもよい。第1エンジン部111は、ウィザードと呼ばれる、対話型のコンピュータプログラムを実行することができ、ユーザは、例えば複雑な処理を、情報処理システム1と対話することで、段階的に実行することが可能となる。
 第1エンジン部111は、外部装置に対して処理を実行させる場合、ユーザからの回答と、外部装置に実行させる処理内容との対応関係が記憶された第1記憶部150を参照して、当該外部装置に所定の処理を実行させる。第1記憶部150に記憶される処理内容は、例えば、外部装置としてのロボットに実行させる処理を記載したプログラムやコードなどである。なお、第1記憶部150に記憶される処理内容は、どのようなものであってもよく、例えば、所定の外部サイトへ接続するためのリンク情報等であってもよい。
 上記の通り、第1エンジン部111は、ユーザによって入力されたテキスト情報に所定の文字列が含まれている場合、所定の文字列に対応付けられた回答を探索し(ルールベースの探索)、当該探索結果を回答としてユーザに提示することができる。所定の文字列に対応付けられた回答は、システム管理者が予め作成したものであるため、システム管理者の意図に沿った回答を提示でき、精度の高い回答をユーザに対して提示することが可能となる。
 第2エンジン部112は、第1エンジン部111から入力されたテキスト情報を、形態素解析により、複数の単語に分解する。第2エンジン部112は、例えば、「支払いを確認する方法が知りたい」というテキスト情報を、形態素解析により、「支払い」、「を」、「確認」、「する」、「方法」、「が」、「知り」、「たい」と、複数の単語に分解する。なお、テキスト情報を複数の単語に分解する方法は、形態素解析に限られず、どのような方法であってもよい。
 第2エンジン部112は、形態素解析された複数の単語に対して、フィルタリングを実行して、例えば、「名詞」、「動詞」、「副詞」を取り出す。第2エンジン部112は、例えば、「支払い」、「を」、「確認」、「する」、「方法」、「が」、「知り」、「たい」から、フィルタリングにより、「支払い」、「確認」、「方法」、「知り」を抽出する。
 フィルタリングは、例えば、品詞情報に基づいて、所定の品詞を抽出する処理である。また、フィルタリングは、例えば、品詞情報に加えて、次のような条件を加味してもよい。条件(1)は、単語が名詞の場合には、種類が「数」や「非自立語」の単語は抽出しないというものである。条件(1)により、例えば、「みたい」や「こと」、「さなか」という単語は抽出されなくなる。
 また、条件(2)は、名詞が隣接している場合には、当該隣接する名詞を複合名詞として抽出するというものである。条件(2)により、例えば、「給付金」と「請求」とが隣接している場合には、「給付金請求」という複合名詞として抽出される。
 また、条件(3)は、単語が動詞の場合には、「する」、「なる」、「れる」、「教える」は抽出しないというものである。条件(3)により、これらの単語は抽出されなくなる。
 また、条件(4)は、単語が動詞の場合には、当該動詞を原型に置き換えて抽出するものである。条件(4)により、例えば、「請求される」という動詞は、「請求する」という原型に置き換えられて抽出される。
 さらに、条件(5)は、抽出した単語に同義語が存在する場合には、同義語のうち予め定められている単語を抽出するというものである。同義語に関するデータは、記憶部15に予め記憶されている(図示しない)。同義語に関するデータは、互いに同義語の関係にある複数の単語と、抽出する単語(代表語)とが、対応付けて記憶されている。
 第2エンジン部112は、フィルタリングにより抽出された単語(抽出単語:抽出されたキーワード)と、回答に対応付けられた単語(特徴単語:所定のキーワード)と、を比較し、複数の回答のうち、ユーザに提示する回答を決定する。第2エンジン部112は、例えば、複数の回答のうち、抽出単語(抽出されたキーワード)と、特徴単語(所定のキーワード)との一致度が高い回答を、ユーザに提示する。
 図6は、複数の回答の各々に対して、予め定められている特徴単語(所定のキーワード)の例を示す表である。図6に例示する対応関係は、記憶部15の第2記憶部151に記憶されている。図6に例示するように、回答1には、特徴単語(所定のキーワード)として、「支払」と、「口座振替」と、「確認」とが対応付けられている。また、回答2には、特徴単語(所定のキーワード)として、「支払」と、「口座振替」と、「解約」とが対応付けられている。また、回答3には、特徴単語(所定のキーワード)として、「控除証明」と、「手続き」と、「送付」とが対応付けられている。さらに、回答Nには、特徴単語(所定のキーワード)として、「支払」と、「クレジットカード」と、「解約」とが対応付けられている。このように、複数の回答の各々に対して、特徴単語(所定のキーワード)が予め定められている。なお、図6の例では、複数の回答に対して3つの特徴単語(所定のキーワード)を対応付けているが、特徴単語(所定のキーワード)は3つである必要はなく、少なくとも1つであれば、いくつであってもよい。
 なお、図6に例示する特徴単語(所定のキーワード)は、例えば、回答の各々を形態素解析した結果に基づいて、決定される。また、回答の各々に対応付けられている特徴単語(所定のキーワード)は、形態素解析の結果によらず、システムの管理者等が決定した単語を含んでいてもよい。
 第2エンジン部112は、フィルタリングにより抽出された単語(抽出単語(抽出されたキーワード))が、各回答に対応付けられた特徴単語(所定のキーワード)に一致するか否かを算出し、各回答の一致度を計算する。一致度は、例えば、抽出単語(抽出されたキーワード)が、特徴単語(所定のキーワード)に一致する回数である。
 第2エンジン部112は、例えば、抽出単語(抽出されたキーワード)「支払い」、「確認」、「方法」、「知り」について、回答1の特徴単語(所定のキーワード)「支払い」と「確認」に一致するため、回答1についての一致度は「2」と算出する。また、第2エンジン部112は、抽出単語(抽出されたキーワード)「支払い」、「確認」、「方法」、「知り」について、回答2の特徴単語(所定のキーワード)「支払い」に一致するため、回答2についての一致度は「1」と算出する。また、第2エンジン部112は、抽出単語(抽出されたキーワード)「支払い」、「確認」、「方法」、「知り」について、回答3には一致する特徴単語(所定のキーワード)がないため、回答3についての一致度は「0」と算出する。さらに、第2エンジン部112は、抽出単語(抽出されたキーワード)「支払い」、「確認」、「方法」、「知り」について、回答4の特徴単語(所定のキーワード)「支払い」に一致するため、回答4についての一致度は「1」と算出する。その結果、第2エンジン部112は、一致度が最も高い回答1を、ユーザに提示する回答として決定する。
 また、第2エンジン部112は、複数の単語の各々に対して、抽出単語(抽出されたキーワード)と、特徴単語(所定のキーワード)との一致度に基づいてスコアを算出し、スコアが高い回答をユーザに提示してもよい。
 図7は、特徴単語(所定のキーワード)に対してスコアが設定されている場合の例を示す表である。図7に例示する対応関係は、記憶部15の第2記憶部151に記憶されている。図7に例示するように、回答1の特徴単語(所定のキーワード)「支払」には、スコア「2」が対応付けられている。また、回答1の特徴単語(所定のキーワード)「口座振替」には、スコア「2」が対応付けられている。さらに、回答1の特徴単語(所定のキーワード)「確認」には、スコア「1」が対応付けられている。同様にして、回答2の特徴単語(所定のキーワード)「支払」には、スコア「2」が対応付けられている。また、回答2の特徴単語(所定のキーワード)「口座振替」には、スコア「2」が対応付けられている。さらに、回答2の特徴単語(所定のキーワード)「解約」には、スコア「1」が対応付けられている。
 なお、図7に例示する特徴単語(所定のキーワード)は、例えば、回答の各々を形態素解析した結果に基づいて、決定される。また、特徴単語(所定のキーワード)の各々に対応付けられているスコアは、当該回答における特徴単語(所定のキーワード)の使用回数や重要度に基づいて決定される。また、システムの管理者等は、回答における特徴単語(所定のキーワード)の使用回数や重要度によらず、特定の特徴単語(所定のキーワード)に対して高いスコアを対応付けてもよい。
 また、システムの管理者等は、特定の特徴単語(所定のキーワード)に対して、高いスコアだけでなく、低いスコアを含めた任意のスコア(すなわち、任意の優先度)を設定してもよい。また、システムの管理者等が設定する特定の特徴単語は、回答で使用されている必要はなく、回答で全く使用されていない単語など、どのような特徴単語であってもよい。
 第2エンジン部112は、例えば、抽出単語(抽出されたキーワード)「支払い」、「確認」、「方法」、「知り」について、回答1の特徴単語(所定のキーワード)「支払い」と「確認」に一致するため、回答1についてのスコアは「2」と「1」の和である「3」と算出する。同様にして、第2エンジン部112は、抽出単語(抽出されたキーワード)「支払い」、「確認」、「方法」、「知り」について、回答2の特徴単語(所定のキーワード)「支払い」に一致するため、回答2についてのスコアは「1」と算出する。また、第2エンジン部112は、抽出単語(抽出されたキーワード)「支払い」、「確認」、「方法」、「知り」について、回答3には一致する特徴単語(所定のキーワード)がないため、回答3についてのスコアは「0」と算出する。さらに、第2エンジン部112は、抽出単語(抽出されたキーワード)「支払い」、「確認」、「方法」、「知り」について、回答4の特徴単語(所定のキーワード)「支払い」に一致するため、回答4についてのスコアは「2」と算出する。その結果、第2エンジン部112は、スコアが最も高い回答1を、ユーザに提示する回答として決定する。
 なお、第2エンジン部112は、ユーザに提示する回答として、スコアが最も高い回答ではなく、例えば、スコアが所定値以上(例えば、「2」以上など)の回答を提示してもよい。また、第2エンジン部112は、スコアが最も低い回答をユーザに提示してもよい。
 第2エンジン部112は、決定した回答を、出力処理部113に出力する。
 上記の通り、第2エンジン部112は、テキスト情報を形態素解析して抽出されたキーワードに基づいて回答を探索する(AIベースの探索)ことによって、ユーザに対して回答を提示する。そのため、複数の回答候補の中から、ユーザの入力した質問文に対して精度の高い回答を抽出し、当該回答をユーザに対して提示することができる。
 出力処理部113は、第1エンジン部111又は第2エンジン部112が決定した回答を、通信部12を介して、情報処理端末20に送信する。
 (動作例)
 図8は、情報処理装置10の動作例を示すフローチャートである。
 図8に例示するように、情報処理装置10の入力処理部110は、情報処理端末20から通信部12を介して受信したテキスト情報の入力を受け付ける(S101)。入力処理部110は、受け付けたテキスト情報を、第1エンジン部111に出力する。
 第1エンジン部111は、入力処理部110から入力されたテキスト情報に、所定の文字列が含まれているか探索する(S102)。
 第1エンジン部111は、入力されたテキスト情報に、所定の文字列が含まれている場合(S102のYES)、当該所定の文字列に対応する回答を、ユーザに提示する回答として決定し、出力処理部113に出力する(S103)。一方、第1エンジン部111は、入力されたテキスト情報に、所定の文字列が含まれていない場合(S102のNO)、テキスト情報を第2エンジン部112に出力する。
 第2エンジン部112は、第1エンジン部111から入力されたテキスト情報を、形態素解析により、複数の単語に分解する(S104)。続いて、第2エンジン部112は、形態素解析された複数の単語に対して、フィルタリングを実行して、所定の単語を抽出する(S105)。
 第2エンジン部112は、フィルタリングにより抽出された単語(抽出単語:抽出されたキーワード)と、回答に対応付けられた単語(特徴単語:所定のキーワード)と、を比較し、複数の回答のうち、ユーザに提示する回答を決定する(S106)。例えば、第2エンジン部112は、フィルタリングにより抽出された単語(抽出単語(抽出されたキーワード))が、各回答に対応付けられた特徴単語(所定のキーワード)に一致するか否かを算出し、各回答の一致度を計算し、当該計算した一致度に基づいてユーザに提示する回答を決定する。また、第2エンジン部112は、複数の単語の各々に対して、抽出単語(抽出されたキーワード)と、特徴単語(所定のキーワード)との一致度に基づいてスコアを算出し、スコアが高い回答をユーザに提示してもよい。第2エンジン部112は、決定した回答を、出力処理部113に出力する。
 出力処理部113は、第1エンジン部111又は第2エンジン部112が決定した回答を、通信部12を介して、情報処理端末20に送信する(S107)。
 上記の通り、情報処理装置10は、“ハイブリット構造(AIベース+ルールベース)”により、ユーザからの質問(テキスト情報)に対する回答を提示するため、ルールベース機能(第1エンジン部111)により短時間で最適な回答を出力しつつ、AIベース機能(第2エンジン部112)により精度の高い回答を出力することが可能となる。
 (変形例1)
 第2エンジン部112において、フィルタリングにより抽出された単語(抽出単語(抽出されたキーワード))が、各回答に対応付けられた特徴単語(所定のキーワード)に一致するか否かを算出し、各回答のスコアを計算する場合、複数の回答候補のうち、スコアが同じ値となる複数の回答が存在する場合がある。
 第2エンジン部112は、スコアが同じ値となる回答が所定数以下である場合、複数の回答をユーザに提示する回答として決定する。その結果、ユーザには、複数の回答が提示されることになる。所定数は、回答候補最大提示数であって、例えば「2」であり、ユーザの質問に対して、2つの回答が提示されることになる。なお、所定数は2である必要はなく、いくつであってもよい。
 一方、第2エンジン部112は、スコアが同じ値となる回答が所定数より多い場合、複数の回答に共通して含まれる特徴単語(所定のキーワード)から選択した少なくとも1つの特徴単語(所定のキーワード)について、「○○(特徴単語)ですか?」という質問文を、ユーザに対して提示する。例えば、共通する特徴単語が「支払い」の場合、「支払いですか?」という質問文をユーザに対して提示する。なお、共通する特徴単語は、複数の回答全てに含まれている必要はなく、複数の回答のうちの一部に含まれているものであってもよい。
 その結果、ユーザから「NO」という回答が得られた場合には、第2エンジン部112は、共通する特徴単語を除外して、複数の回答に対して再度スコアを計算する。第2エンジン部112は、再計算されたスコアに基づいて、スコアが最も高い回答1を、ユーザに提示する回答として決定する。
 なお、ユーザから「YES」という回答が得られた場合には、第2エンジン部112は、共通する他の特徴単語について、「○○(特徴単語)ですか?」という質問文を、ユーザに対して提示する。第2エンジン部112は、スコアが同じ値となる回答が所定数以下になるまで、これを繰り返して、ユーザに提示する回答を決定する。
 変形例1によれば、第2エンジン部112は、スコアが同じ値となる回答があった場合であっても、ユーザに提示する回答を決定することが可能となる。
 なお、変形例1では、複数の回答に共通して含まれる特徴単語(所定のキーワード)を用いてユーザに対する質問「○○(特徴単語)ですか?」を行ったが、当該質問に用いる特徴単語(所定のキーワード)は、スコアの高いものや、特定の回答にのみ含まれる特徴単語(所定のキーワード)であってもよい。第2エンジン部112は、例えば、特定の回答にのみ含まれる特徴単語(所定のキーワード)を用いた場合、ユーザから「YES」との回答が得られれば、当該特定の回答をユーザに提示する。
 本開示の実施形態を諸図面や実施例に基づき説明してきたが、当業者であれば本開示に基づき種々の変形や修正を行うことが容易であることに注意されたい。従って、これらの変形や修正は本開示の範囲に含まれることに留意されたい。例えば、各手段、各ステップ等に含まれる機能等は論理的に矛盾しないように再配置可能であり、複数の手段やステップ等を1つに組み合わせたり、或いは分割したりすることが可能である。また、各実施形態に示す構成を適宜組み合わせることとしてもよい。
 10 情報処理装置、20 情報処理端末、30ネットワーク

Claims (12)

  1.  テキスト情報の入力を受け付ける入力部と、
     前記テキスト情報に所定の文字列が含まれている場合、前記所定の文字列に対応付けられた回答を探索する第1エンジン部と、
     前記テキスト情報に前記所定の文字列が含まれていない場合、前記テキスト情報を形態素解析して抽出されたキーワードに基づいて回答を推論し選択する第2エンジン部と、
     前記第1エンジン部又は前記第2エンジン部により選択された前記回答を出力する出力部と、
    を含む情報処理装置。
  2.  前記第2エンジン部は、複数の回答の候補となる情報あるいは文章ごとに対応付けられている複数のキーワードと、入力部で受け付けられた前記テキスト情報を形態素解析した結果に基づいて抽出された複数のキーワードと一致していると推論される程度に基づいて、前記複数の回答候補から前記回答を選択することを特徴とする請求項1に記載の情報処理装置。
  3.  前記第2エンジン部は、前記テキスト情報を形態素解析した結果に基づいて抽出された複数のキーワードのうち優先度の高いキーワードに基づいて、前記回答を選択することを特徴とする請求項1又は2に記載の情報処理装置。
  4.  前記キーワードの優先度を、ユーザが予め設定可能であることを特徴とする請求項3に記載の情報処理装置。
  5.  前記所定の文字列と、前記所定の文字列を含む前記テキスト情報に対する回答とを対応付けて記憶する第1記憶部と、
     前記所定のキーワードと、前記キーワードに関連する回答とを対応付けて記憶する第2記憶部と、
    を含むことを特徴とする請求項1に記載の情報処理装置。
  6.  テキスト情報の入力を受け付ける入力ステップと、
     前記テキスト情報に所定の文字列が含まれている場合、前記所定の文字列に対応付けられた回答を探索する第1探索ステップと、
     前記テキスト情報に前記所定の文字列が含まれていない場合、前記テキスト情報を形態素解析して抽出されたキーワードに基づいて回答を選択する第2探索ステップと、
     探索された前記回答を出力する出力ステップと、
    を含む情報処理方法。
  7.  前記第2探索ステップにおいて、複数の回答候補ごとに対応付けられている所定のキーワードと、前記テキスト情報を形態素解析した結果に基づいて抽出された複数のキーワードと一致していると推論される程度に基づいて、前記複数の回答候補から前記回答を探索選択することを特徴とする請求項6に記載の情報処理方法。
  8.  前記第2探索ステップにおいて、前記テキスト情報を形態素解析した結果に基づいて抽出された複数のキーワードのうち優先度の高いキーワードに基づいて、前記回答を探索することを特徴とする請求項6又は7に記載の情報処理方法。
  9.  前記キーワードの優先度を、ユーザが予め設定可能であることを特徴とする請求項8に記載の情報処理方法。
  10.  前記所定の文字列と、前記所定の文字列を含む前記テキスト情報に対する回答とを対応付けて記憶する第1記憶ステップと、
     前記所定のキーワードと、前記キーワードに関連する回答とを対応付けて記憶する第2記憶ステップと、
    を含むことを特徴とする請求項6に記載の情報処理方法。
  11.  コンピュータに、
     テキスト情報の入力を受け付ける入力機能と、
     前記テキスト情報に所定の文字列が含まれている場合、前記所定の文字列に対応付けられた回答を探索する第1探索機能と、
     前記テキスト情報に前記所定の文字列が含まれていない場合、前記テキスト情報を形態素解析して抽出されたキーワードに基づいて回答を探索する第2探索機能と、
     探索された前記回答を出力する出力機能と、
    を実行させるプログラムを記憶した、コンピュータ読み取り可能な非一時的記憶媒体。
  12.  テキスト情報の入力を受け付ける情報処理端末と、
     前記情報処理端末から受信した前記テキスト情報に対する回答を探索する情報処理装置と、を含み、
     前記情報処理装置は、
      所定の文字列が含まれている場合、前記所定の文字列に対応付けられた回答を探索する第1エンジン部と、
     前記テキスト情報に前記所定の文字列が含まれていない場合、前記テキスト情報を形態素解析して抽出されたキーワードに基づいて回答を探索選択する第2エンジン部と、
     前記第1エンジン部又は前記第2エンジン部が探索選択した回答を前記情報処理端末に送信する出力部と、を備えることを特徴とする情報処理システム。
PCT/JP2018/034508 2017-09-19 2018-09-18 情報処理装置、情報処理システム、情報処理方法及びプログラム WO2019059185A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017179473A JP7018278B2 (ja) 2017-09-19 2017-09-19 情報処理装置、情報処理システム、情報処理方法及びプログラム
JP2017-179473 2017-09-19

Publications (1)

Publication Number Publication Date
WO2019059185A1 true WO2019059185A1 (ja) 2019-03-28

Family

ID=65809676

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/034508 WO2019059185A1 (ja) 2017-09-19 2018-09-18 情報処理装置、情報処理システム、情報処理方法及びプログラム

Country Status (2)

Country Link
JP (1) JP7018278B2 (ja)
WO (1) WO2019059185A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7272293B2 (ja) * 2020-01-29 2023-05-12 トヨタ自動車株式会社 エージェント装置、エージェントシステム及びプログラム

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07219961A (ja) * 1994-01-31 1995-08-18 Hitachi Ltd 音声対話システム
JP2002222147A (ja) * 2001-01-26 2002-08-09 Seiko Epson Corp 掲示板式情報提供システム
JP2005128608A (ja) * 2003-10-21 2005-05-19 Nec Corp 回答システム、回答サーバ、回答方法及びプログラム
JP2007219955A (ja) * 2006-02-17 2007-08-30 Fuji Xerox Co Ltd 質問応答システム、質問応答処理方法及び質問応答プログラム
JP2015046183A (ja) * 2014-10-30 2015-03-12 日本電信電話株式会社 対話装置、方法、及びプログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140351228A1 (en) * 2011-11-28 2014-11-27 Kosuke Yamamoto Dialog system, redundant message removal method and redundant message removal program
US9465833B2 (en) * 2012-07-31 2016-10-11 Veveo, Inc. Disambiguating user intent in conversational interaction system for large corpus information retrieval

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07219961A (ja) * 1994-01-31 1995-08-18 Hitachi Ltd 音声対話システム
JP2002222147A (ja) * 2001-01-26 2002-08-09 Seiko Epson Corp 掲示板式情報提供システム
JP2005128608A (ja) * 2003-10-21 2005-05-19 Nec Corp 回答システム、回答サーバ、回答方法及びプログラム
JP2007219955A (ja) * 2006-02-17 2007-08-30 Fuji Xerox Co Ltd 質問応答システム、質問応答処理方法及び質問応答プログラム
JP2015046183A (ja) * 2014-10-30 2015-03-12 日本電信電話株式会社 対話装置、方法、及びプログラム

Also Published As

Publication number Publication date
JP2019056969A (ja) 2019-04-11
JP7018278B2 (ja) 2022-02-10

Similar Documents

Publication Publication Date Title
KR101344177B1 (ko) 인스턴트 메시징에서 텍스트를 번역하는 방법, 인스턴트 메시징 텍스트의 번역을 디스플레이하기 위한 시스템, 및 컴퓨터 판독가능 매체
US10936288B2 (en) Voice-enabled user interface framework
US10915697B1 (en) Computer-implemented presentation of synonyms based on syntactic dependency
US10564846B2 (en) Supplementing a virtual input keyboard
US20150254234A1 (en) Real-time jargon translation in a communication system
US20150294109A1 (en) Generating or Changing Passwords Using a Degree of Simplicity
JP2013020411A (ja) 情報処理装置、情報処理方法及びプログラム
US11477153B2 (en) Display method of exchanging messages among users in a group
US20200117740A1 (en) Data analytics platform with interactive natural language query interface
WO2018186416A1 (ja) 翻訳処理方法、翻訳処理プログラム、及び、記録媒体
CN106528835A (zh) 信息获取方法和装置
CN111316276A (zh) 将分布式状态机与自动助手用于人机对话以保护隐私数据
CN108804427A (zh) 语音机器翻译方法及装置
CN117882365A (zh) 确定和视觉显示呼叫的口头菜单
WO2018005268A1 (en) Assistive technology notifications for relevant metadata changes in a document
JP7018278B2 (ja) 情報処理装置、情報処理システム、情報処理方法及びプログラム
US10255240B2 (en) Method and system for processing a voice-based user-input
JP2020071534A (ja) 情報処理システム、情報処理方法及び情報処理プログラム
JP7353247B2 (ja) 情報検索表示システム
CN114969542A (zh) 一种信息推送方法、服务端、装置和系统
WO2019024246A1 (zh) 信息屏蔽方法及系统
JP7072584B2 (ja) プログラム、情報処理方法、及び情報処理装置
JP6232519B1 (ja) プログラム、情報処理方法、及び情報処理端末
JP2019071145A (ja) 表示方法およびプログラム
JP7271942B2 (ja) ボットシステムのプログラム、人工知能スピーカシステムのプログラム

Legal Events

Date Code Title Description
NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18858401

Country of ref document: EP

Kind code of ref document: A1