WO2019211967A1 - 対話装置 - Google Patents

対話装置 Download PDF

Info

Publication number
WO2019211967A1
WO2019211967A1 PCT/JP2019/015216 JP2019015216W WO2019211967A1 WO 2019211967 A1 WO2019211967 A1 WO 2019211967A1 JP 2019015216 W JP2019015216 W JP 2019015216W WO 2019211967 A1 WO2019211967 A1 WO 2019211967A1
Authority
WO
WIPO (PCT)
Prior art keywords
scenario
utterance
user
scenarios
candidate
Prior art date
Application number
PCT/JP2019/015216
Other languages
English (en)
French (fr)
Inventor
優太朗 白水
公亮 角野
Original Assignee
株式会社Nttドコモ
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 株式会社Nttドコモ filed Critical 株式会社Nttドコモ
Priority to US16/981,743 priority Critical patent/US20210035579A1/en
Priority to JP2020517037A priority patent/JP6960049B2/ja
Publication of WO2019211967A1 publication Critical patent/WO2019211967A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9035Filtering based on additional data, e.g. user or group profiles
    • 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
    • G06F16/903Querying
    • G06F16/9038Presentation of query results
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/02Feature extraction for speech recognition; Selection of recognition unit
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/28Constructional details of speech recognition systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis

Definitions

  • One aspect of the present invention relates to a dialogue apparatus.
  • Patent Document 1 describes a dialog rule changing device that can change a dialog rule of a dialog agent system in accordance with a user's preference.
  • An interactive apparatus provides an acquisition unit that acquires a user utterance input by a user, a specifying unit that specifies a user utterance state as an utterance state, and a database that stores a plurality of scenarios.
  • a selection unit for selecting a corresponding scenario, wherein each of the plurality of scenarios defines a user utterance, a system utterance for the user utterance, and hierarchically defined scenario attributes;
  • An output unit that outputs a system utterance defined by the scenario selected by the selection unit, and is selected when two or more scenarios that define user utterances acquired by the acquisition unit exist as candidate scenarios in the database Based on the hierarchical relationship and utterance status of two or more scenario attributes defined in the two or more candidate scenarios. To select one scenario from the complement scenario.
  • one scenario is selected based on the user utterance situation and individual scenario attributes, and the system utterance is determined according to the selected scenario. Is output. Therefore, it is possible to realize a flexible automatic dialogue according to the state of user utterance.
  • FIG. 1 It is a figure which shows an example of a function structure of the dialogue apparatus which concerns on embodiment. It is a figure which shows an example of a function structure of the bot function shown in FIG. It is a figure which shows an example of a scenario. It is a figure which shows another example of a scenario. It is a sequence diagram which shows an example of operation
  • the interactive device is a computer that executes an automatic dialogue with a user.
  • a user is a person who uses an interactive device.
  • An automatic dialogue is a conversation exchange between a user and a computer (this computer is generally referred to as a “bot”), and in this automatic dialogue, the computer automatically speaks in response to the utterance from the user.
  • An utterance is a single episode uttered by a user or a computer.
  • the user's utterance is also referred to as “user utterance”
  • the computer's utterance is also referred to as “system utterance”.
  • the usage purpose of the interactive device is not limited.
  • the interactive device may be used in a FAQ (Frequently Asked Questions) system that answers a user's question, or may be used in a chat system that performs an arbitrary story that is not limited to FAQ.
  • the interactive device may be incorporated in a virtual assistant function that performs an arbitrary task based on a voice operation.
  • the interactive device may be a part of a client-server type system or a single device. In the present embodiment, it is assumed that the interactive device is a computer that functions as a server.
  • FIG. 1 is a diagram illustrating an example of a functional configuration of the interactive apparatus 10 according to the embodiment.
  • the interactive device 10 can be connected to at least one user terminal 90 via a communication network.
  • the configuration of the communication network is not limited at all, and may be configured using, for example, at least one of the Internet and an intranet.
  • the user terminal 90 is a computer (client terminal) operated by a user.
  • the user terminal 90 has a function of transmitting an utterance (user utterance) input by the user to the dialog device 10 and a function of outputting an utterance (system utterance) received from the dialog device 10.
  • the type of the user terminal 90 is not limited, and may be, for example, a stationary computer or device or a portable computer or device.
  • Specific examples of the user terminal 90 include, but are not limited to, a smartphone, a tablet terminal, a wearable terminal, a personal computer, a smart speaker, a smart TV, and a smart home appliance.
  • a scenario is data that defines a rule for a dialogue (a rule that defines what kind of system utterance is output when what kind of user utterance is accepted).
  • One of the features of the dialogue apparatus 10 is the configuration and selection of a scenario for outputting a system utterance corresponding to a situation for a certain user utterance. Hereinafter, the characteristics will be described in detail.
  • the dialogue apparatus 10 includes, as functional elements, a front function 20 that comprehensively controls automatic dialogue and one or more bot functions 30 that output system utterances related to a specific topic.
  • the front function 20 determines a bot function 30 for processing the user utterance received from the user terminal 90, and transfers the user utterance to the bot function 30. Thereafter, the front function 20 transmits the system utterance output from the bot function 30 to the user terminal 90 as a response.
  • Each bot function 30 determines a system utterance corresponding to the user utterance received from the front function 20 based on the scenario in the scenario database 31, and outputs the determined system utterance to the front function 20.
  • Each bot function 30 is an expert agent having specific knowledge, and the front function 20 is a main agent that supervises one or more bot functions 30.
  • FIG. 2 is a diagram showing an example of the functional configuration of the bot function 30.
  • each bot function 30 includes a scenario database 31, an acquisition unit 32, a specification unit 33, a selection unit 34, and an output unit 35.
  • the scenario database 31 is a database that stores a plurality of scenarios related to a specific topic.
  • the acquisition unit 32 is a functional element that acquires a user utterance input by the user.
  • the specifying unit 33 is a functional element that specifies the user utterance situation as the utterance situation.
  • the utterance situation (situation of user utterance) is a situation when a user utterance occurs. For example, the utterance situation is a concept including at least one of user attributes and environment information.
  • the user attribute is information indicating the nature or characteristics of the uttered user. Examples of user attributes include, but are not limited to, name, gender, age, and address.
  • the environmental information is information indicating the state of the world (real world or virtual world) when a user utterance occurs. Examples of environmental information include time, weather, and location.
  • the emotion of the bot controlled or determined by the algorithm of the bot function 30 is also an example of environmental information. Of course, the environmental information is not limited to these.
  • the selection unit 34 is a functional element that selects one scenario corresponding to the user utterance from the scenario database 31.
  • the output unit 35 is a functional element that outputs a system utterance defined by the selected scenario.
  • the dialogue apparatus 10 outputs a system utterance corresponding to a situation for a certain user utterance.
  • the scenario database 31 stores a plurality of scenarios for at least one user utterance.
  • the plurality of scenarios can be distinguished by scenario attributes.
  • the scenario attribute is a condition for determining a system utterance that is a response to one user utterance.
  • the scenario attribute is defined by a data item corresponding to the utterance situation, and thus can be defined by a data item corresponding to, for example, a user attribute or environment information.
  • FIG. 3 shows an example of a plurality of scenarios that can correspond to the user utterance “Good morning”.
  • the scenario is assumed to be described by applying AIML (Artificial Intelligence Markup Language), but the method and rules for describing the scenario are not limited at all.
  • Each scenario includes an element “topic name” indicating a scenario attribute and one or more elements “category” indicating a basic unit of a rule (knowledge).
  • Each “category” element includes a “pattern” element indicating a user utterance and a “template” element indicating a system utterance in response to the user utterance. That is, each scenario defines a user utterance, a system utterance corresponding to the user utterance, and a scenario attribute.
  • Hierarchically defined scenario attributes are distinguished by hierarchically defined scenario attributes ("topic name" elements).
  • the term “hierarchically defined” is defined to include a certain nth concept (n is a natural number) and a (n + 1) th concept included in the nth concept and more specific than the nth concept. The relationship that is made. Any number of layers may be used as long as it is two or more. Further, a plurality of (n + 1) th concepts may be plural for one nth concept.
  • Hierarchically defined relationships can be rephrased with terms such as “inheritance relationship”, “override”, “parent-child relationship”, or can include concepts represented by these terms.
  • the first hierarchy represents the most abstract concept, and the concept becomes more specific as the ordinal number of the hierarchy increases. For example, if scenario attributes are defined in the first hierarchy, the second hierarchy, and the third hierarchy, the first hierarchy is the highest layer and the third hierarchy is the lowest layer.
  • FIG. 3 shows three scenarios A1, A2, and A3 that can correspond to the user utterance “Good morning”.
  • the scenario A1 is a scenario that can handle a plurality of user utterances including “good morning”, whereas the scenarios A2 and A3 are scenarios specialized for the user utterance “good morning”.
  • the scenario attribute consists of three data items: gender, age, and weather.
  • a single value may be set for each data item, a range of values (for example, a numerical range) may be set, a superordinate concept (category) may be set, or an arbitrary value
  • a wild card may be designated indicating acceptance of.
  • each data item is hierarchically defined, and as a result, the scenario attribute is hierarchically defined. Since the wild card is a concept including an arbitrary value, it corresponds to the highest layer (first layer).
  • scenario A1 a specific value of “male” is specified for gender, whereas a wild card “*” is specified for age and weather. Therefore, the scenario A1 can be used regardless of age and weather when the gender corresponding to the utterance situation is “male”.
  • the gender is “male”, the age is 20 or more and 39 or less, and the weather is a wild card.
  • scenario A3 the gender is “male”, the age is a wild card, and the weather is “sunny”. Therefore, in scenarios A1, A2, and A3, it can be said that scenario A1 is the first hierarchy and scenarios A2 and A3 are the second hierarchy.
  • scenario A3 is higher in terms of age, but scenario A2 is higher in terms of weather. Therefore, when the scenario attributes are viewed as a whole, it is impossible to determine which of the scenarios A2 and A3 is the upper layer.
  • scenario A2 Based on, a system utterance “Good morning” may be output.
  • a system utterance “Good morning” may be output.
  • scenario A3 a scenario attribute including “male” and “sunny”
  • a system utterance “Good morning, good weather” can be output based on scenario A3.
  • scenario A1 is generally applied, whereas scenarios A2 and A3 are applied in special situations.
  • scenario A1 corresponding to the first hierarchy shows general or general-purpose system utterances corresponding to a plurality of assumed user utterances.
  • scenarios A2 and A3 corresponding to the second hierarchy it is sufficient to define scenario attributes and system responses corresponding to special utterance situations. That is, when creating a new scenario corresponding to a special utterance situation, it is sufficient to define only a portion different from the scenario on one layer, as if it is an override in object-oriented programming. Therefore, the load for preparing the scenario is reduced.
  • FIG. 4 shows another example of a plurality of scenarios that can correspond to the user utterance “Where are you now?”.
  • a scenario B1 that can deal with a plurality of user utterances including “where are you now” and a scenario B2 that is specialized for a user utterance “where are you now” are shown.
  • the scenario attribute consists of three data items: gender, location, and weather.
  • scenario B1 a specific value of “male” is specified for gender, whereas a wild card “*” is specified for location and weather. Therefore, the scenario B1 can be used regardless of the place and the weather when the gender corresponding to the utterance situation is “male”.
  • scenario B2 the gender is “male”, the location is “ ⁇ park name>”, and the weather is a wild card.
  • the place “ ⁇ park name>” indicates a superordinate concept (category) including a plurality of parks.
  • parentheses “ ⁇ >” function as an identifier indicating a superordinate concept (category).
  • scenario B2 Based on the scenario attributes defined hierarchically in this way, when the utterance status of the user utterance “where are you now” includes “male”, “Ueno Park”, and “sunny”, scenario B2 Based on, the system utterance “is a park” is output. Even when the utterance status includes “male”, “Kenrokuen”, and “rain”, the system utterance “is a park” is output based on scenario B2. When the utterance status includes “male”, “Ueno Zoo”, and “sunny”, the system utterance “somewhere” is output based on scenario B1. Since the scenario B2 is not applied unless the place corresponds to the park, it can be said that the application scene of the scenario B2 is more limited than the scenario B1.
  • FIG. 5 is a sequence diagram illustrating an example of the operation of the interactive apparatus 10.
  • FIG. 5 shows the front function 20 and the bot function 30 of the interactive device 10 individually, and only one bot function 30 is shown.
  • step S11 the user terminal 90 transmits user utterance data to the dialogue apparatus 10.
  • the front function 20 receives the user utterance data.
  • the user utterance data is data including a user utterance and an utterance attribute.
  • the user utterance acquisition method in the user terminal 90 is not limited.
  • the user terminal 90 may acquire a user utterance input by voice (that is, a user utterance represented by voice data), or a user utterance input by a character string (that is, a user utterance represented by text data). May be obtained.
  • the user terminal 90 may automatically generate a user utterance in the form of voice data or text data based on a user instruction.
  • the utterance attribute is information indicating characteristics or characteristics related to the user utterance, and can be used in an automatic dialog.
  • utterance attributes may be used to determine system utterances.
  • the specific content of the speech attribute is not limited.
  • the speech attribute may include a user attribute indicating a property or characteristic of a user who intends to use an automatic dialog and a terminal attribute indicating a property or characteristic of the user terminal 90.
  • the type and number of data items indicating user attributes are not limited.
  • the user attribute may be one selected from a name, gender, age, and address, or may be a combination of two or more items arbitrarily selected from the four items.
  • the user attribute may include one or more other data items different from the four items.
  • the type and number of data items indicating terminal attributes are not limited at all.
  • the terminal attribute may be one selected from the terminal name, the operating system name, and the operation mode, or may be a combination of two or more items arbitrarily selected from the three items.
  • the terminal attribute may include one or more data items different from the three items.
  • step S12 the front function 20 determines a bot function 30 for processing the user utterance data, and transfers the user utterance data to the corresponding bot function 30. Thereafter, the functional elements of the bot function 30 cooperate to process the user utterance data.
  • step S13 the acquisition unit 32 acquires a user utterance from the user utterance data.
  • the specifying unit 33 specifies the acquired user utterance situation as the utterance situation.
  • the method for specifying the utterance status is not limited.
  • the specifying unit 33 may specify the utterance state by referring to at least a part of the utterance attributes included in the user utterance data.
  • the specifying unit 33 may specify the gender or age included in the utterance attribute as at least a part of the utterance situation.
  • the specifying unit 33 may specify the utterance status from data other than the user utterance data.
  • the specifying unit 33 may specify a date or time obtained from a timer in the dialogue apparatus 10 as at least a part of the utterance situation.
  • the specifying unit 33 may acquire weather data from an arbitrary computer system (not shown) and specify the weather indicated by the weather data as at least a part of the utterance situation.
  • the specifying unit 33 may specify data indicating the emotion of the bot function 30 as at least a part of the utterance situation.
  • the specifying unit 33 may specify the utterance state using both user utterance data and other data.
  • step S15 the selection unit 34 selects one scenario corresponding to the user utterance and the utterance situation.
  • the selection unit 34 refers to the scenario database 31 and searches for a scenario corresponding to the user utterance.
  • the selection unit 34 selects the only scenario without using the utterance situation.
  • the selection unit 34 dynamically selects one scenario from the plurality of scenarios using the utterance situation.
  • two or more scenarios that define user utterances are also referred to as “candidate scenarios”.
  • the selection unit 34 selects one scenario from the candidate scenarios based on the hierarchical relationship between the two or more scenario attributes defined in the two or more candidate scenarios and the utterance situation specified by the specifying unit 33. . Specifically, the selection unit 34 selects one scenario belonging to the lowest hierarchy among candidate scenarios corresponding to the utterance situation. For example, it is assumed that two or more candidate scenarios include a first candidate scenario in which a scenario attribute indicating the first hierarchy is defined and a second candidate scenario in which a scenario attribute indicating the second hierarchy is defined. In this case, the selection unit 34 selects the second candidate scenario when the utterance situation corresponds to the second hierarchy, and selects the first candidate scenario when the utterance situation does not correspond to the second hierarchy.
  • the selection unit 34 selects two or more items based on the hierarchical relationship and the utterance status of each data item of the two or more scenario attributes. Select one scenario from the candidate scenarios. In short, the selection unit 34 selects one scenario in which the scenario attribute is most specifically defined among the candidate scenarios corresponding to the utterance situation.
  • the search method for selecting one scenario from a plurality of candidate scenarios is not limited.
  • the selection unit 34 may select one scenario by comparing each data item of two or more scenario attributes and the utterance status along the arrangement order of a plurality of data items constituting the scenario attribute. Some specific examples of this processing are shown below.
  • scenarios A1, A2, and A3 shown in FIG. 3 are candidate scenarios. Further, it is assumed that an utterance situation including gender “male”, age “25”, and weather “sunny” is specified.
  • the selection unit 34 first compares the gender, which is the first data item of the system attribute, with the gender of the utterance situation. Since all three scenarios define “male”, the selection unit 34 next compares the age, which is the second data item of the system attribute, with the age of the speech situation.
  • the utterance age “25” corresponds to a wild card (scenarios A1 and A3) and also corresponds to a subordinate concept “20-39” (scenario A2). Accordingly, the selection unit 34 selects the scenario A2 at this time. In this example, if the weather is the second data item, the selection unit 34 selects the scenario A3.
  • scenarios A1, A2 and A3 are candidate scenarios. Further, it is assumed that an utterance situation including gender “male”, age “40”, and weather “sunny” is specified.
  • the selection unit 34 first compares the gender, which is the first data item of the system attribute, with the gender of the utterance situation, but at this stage, one scenario cannot be selected.
  • the selection unit 34 compares the age, which is the second data item of the system attribute, with the age of the speech situation.
  • the utterance status age “40” corresponds to a wild card (scenarios A1 and A3), but does not correspond to “20-39” (scenario A2). Therefore, the selection unit 34 excludes the scenario A2 at this time and selects the scenarios A1 and A3.
  • the selection unit 34 compares the weather as the third data item of the system attribute with the weather of the utterance situation.
  • the weather “sunny” in the utterance situation corresponds to a wild card (scenario A1) and also corresponds to “sunny” (scenario A3), which is a subordinate concept of the wild card. Therefore, the selection unit 34 selects the scenario A3 at this time.
  • the selection unit 34 may select one scenario by specifying the scenario attribute of the lowest layer corresponding to the utterance situation while referring to a plurality of candidate scenarios in parallel. It is assumed that each data item indicates one of a first value indicating the first hierarchy and a second value indicating the second hierarchy positioned lower than the first hierarchy. In this case, the selection unit 34 selects a candidate scenario including the second value when the utterance situation corresponds to the second hierarchy, and selects the first value when the utterance situation does not correspond to the second hierarchy.
  • Candidate scenarios that include The selection unit 34 can finally select one scenario while repeating the processing along the arrangement order of the plurality of data items.
  • the selection unit 34 searches in order from the candidate scenario located in the lowest layer among the plurality of candidate scenarios (that is, searches for the candidate scenario while moving from the lowest layer to the highest layer), and corresponds to the utterance situation.
  • the first scenario found to be selected may be selected.
  • step S ⁇ b> 16 the selection unit 34 acquires a system utterance defined by one selected scenario. 3 and 4, the system utterance is a fixed character string. Needless to say, at least a part of the system utterance may be dynamically set.
  • step S17 the output unit 35 outputs system utterance data including the system utterance to the front function 20.
  • the method of expressing the system utterance is not limited.
  • the system utterance can be expressed by voice or text.
  • the front function 20 transmits the system utterance data to the user terminal 90.
  • the front function 20 may transmit the system utterance data after designating the output format of the system utterance (that is, after shaping the system utterance).
  • the user terminal 90 receives and outputs the system utterance data, so that the user can recognize the reply of the bot to the user utterance.
  • steps S11 to S18 can be repeatedly executed.
  • the bot function 30 selects a scenario according to the user utterance and the utterance situation, so that the system utterance according to the situation during the automatic dialogue is provided to the user.
  • each functional block may be realized by one device physically and / or logically coupled, and two or more devices physically and / or logically separated may be directly and / or indirectly. (For example, wired and / or wireless) and may be realized by the plurality of devices.
  • the dialogue apparatus 10 may function as a computer that performs the processing according to the present embodiment.
  • FIG. 6 is a diagram illustrating an example of a hardware configuration of the computer 100 that functions as the interactive apparatus 10.
  • the computer 100 may physically include a processor 1001, a memory 1002, a storage 1003, a communication device 1004, an input device 1005, an output device 1006, a bus 1007, and the like.
  • the term “apparatus” can be read as a circuit, a device, a unit, or the like.
  • the hardware configuration of the interactive device 10 may be configured to include one or a plurality of each device illustrated in the figure, or may be configured not to include some devices.
  • Each function in the interactive apparatus 10 is performed by causing the processor 1001 to perform computation by reading predetermined software (program) on hardware such as the processor 1001 and the memory 1002, and performing communication by the communication device 1004, the memory 1002, and the storage 1003. This is realized by controlling the reading and / or writing of data.
  • the processor 1001 controls the entire computer by operating an operating system, for example.
  • the processor 1001 may be configured by a central processing unit (CPU) including an interface with peripheral devices, a control device, an arithmetic device, a register, and the like.
  • CPU central processing unit
  • the interactive device 10 may be realized by the processor 1001.
  • the processor 1001 reads a program (program code), software module, and data from the storage 1003 and / or the communication device 1004 to the memory 1002, and executes various processes according to these.
  • a program program code
  • the program a program that causes a computer to execute at least a part of the operations described in the above embodiments is used.
  • at least a part of the functional elements of the interactive apparatus 10 may be realized by a control program stored in the memory 1002 and operated by the processor 1001, and may be realized similarly for other functional blocks.
  • the above-described various processes have been described as being executed by one processor 1001, they may be executed simultaneously or sequentially by two or more processors 1001.
  • the processor 1001 may be implemented by one or more chips. Note that the program may be transmitted from a network via a telecommunication line.
  • the memory 1002 is a computer-readable recording medium and includes, for example, at least one of ROM (Read Only Memory), EPROM (Erasable Programmable ROM), EEPROM (Electrically Erasable Programmable ROM), RAM (Random Access Memory), and the like. May be.
  • the memory 1002 may be called a register, a cache, a main memory (main storage device), or the like.
  • the memory 1002 can store a program (program code), a software module, and the like that can be executed to implement the wireless communication method according to the embodiment of the present invention.
  • the storage 1003 is a computer-readable recording medium, such as an optical disk such as a CDROM (Compact Disc ROM), a hard disk drive, a flexible disk, a magneto-optical disk (for example, a compact disk, a digital versatile disk, Blu-ray (registered). (Trademark) disk), smart card, flash memory (for example, card, stick, key drive), floppy disk, magnetic strip, etc.
  • the storage 1003 may be referred to as an auxiliary storage device.
  • the storage medium described above may be, for example, a table including a memory 1002 and / or a storage 1003, a server, or other suitable medium.
  • the communication device 1004 is hardware (transmission / reception device) for performing communication between computers via a wired and / or wireless network, and is also referred to as a network device, a network controller, a network card, a communication module, or the like.
  • a network device for performing communication between computers via a wired and / or wireless network
  • a network controller for controlling network access
  • a network card for controlling communication between computers via a wired and / or wireless network
  • a communication module or the like.
  • at least some functional elements of the interactive device 10 may be realized by the communication device 1004.
  • the input device 1005 is an input device (for example, a keyboard, a mouse, a microphone, a switch, a button, a sensor, etc.) that accepts an input from the outside.
  • the output device 1006 is an output device (for example, a display, a speaker, an LED lamp, etc.) that performs output to the outside. Note that the input device 1005 and the output device 1006 may have an integrated configuration (for example, a touch panel).
  • each device such as the processor 1001 and the memory 1002 is connected by a bus 1007 for communicating information.
  • the bus 1007 may be configured with a single bus or may be configured with different buses between apparatuses.
  • the computer 100 is configured to include hardware such as a microprocessor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a programmable logic device (PLD), and a field programmable gate array (FPGA). Some or all of the functional blocks may be realized by the hardware. For example, the processor 1001 may be implemented by at least one of these hardware.
  • DSP digital signal processor
  • ASIC application specific integrated circuit
  • PLD programmable logic device
  • FPGA field programmable gate array
  • an interactive apparatus stores an acquisition unit that acquires a user utterance input by a user, a specifying unit that specifies a user utterance state as an utterance state, and a plurality of scenarios.
  • a selection unit that selects a scenario corresponding to a user utterance from a database to be defined, and each of the plurality of scenarios defines a user utterance, a system utterance for the user utterance, and hierarchically defined scenario attributes
  • the selection unit, and an output unit that outputs a system utterance defined by the scenario selected by the selection unit, and two or more scenarios that define the user utterances acquired by the acquisition unit are candidate scenarios in the database. If there is, the selection unit selects the hierarchical relationship between the two or more scenario attributes defined in the two or more candidate scenarios and the utterance status. Based on, selects one scenario from more than one candidate scenarios.
  • scenario attributes are defined hierarchically, scenarios can be created and selected efficiently, and as a result, the usage of hardware resources (for example, processor load and memory consumption) of the interactive device can be reduced. It becomes possible to suppress.
  • the two or more candidate scenarios include a first candidate scenario in which a scenario attribute indicating the first hierarchy is defined, and a scenario attribute indicating a second hierarchy located below the first hierarchy.
  • the selection unit selects the second candidate scenario when the utterance situation corresponds to the second hierarchy, and selects the first candidate scenario when the utterance situation does not correspond to the second hierarchy.
  • Candidate scenarios may be selected. By selecting a scenario in which scenario attributes of lower-level concepts are defined, it is possible to output a system utterance suitable for the situation of automatic dialogue.
  • the scenario attribute includes a plurality of data items each defined in a hierarchical manner
  • the selection unit determines whether the data item has two or more scenario attribute hierarchical relationships and utterance situations. Based on this, one scenario may be selected from two or more candidate scenarios. By considering the hierarchical relationship between the individual data items of the scenario attribute, it is possible to output a system utterance suitable for the situation of automatic dialogue.
  • the selection unit compares each data item of two or more scenario attributes with the utterance status along the arrangement order of the plurality of data items, thereby allowing one scenario from two or more candidate scenarios. May be selected.
  • each data item has one of a first value indicating the first hierarchy and a second value indicating the second hierarchy positioned lower than the first hierarchy.
  • the selection unit selects a candidate scenario including the second value when the utterance situation corresponds to the second hierarchy, and includes the first value when the utterance situation does not correspond to the second hierarchy.
  • Candidate scenarios may be selected. By selecting a scenario in which a scenario attribute including a value corresponding to a lower concept is defined, it is possible to output a system utterance suitable for the situation of automatic dialogue.
  • the highest layer of the scenario attribute may be defined using a wild card.
  • a wild card By using a wild card, it is possible to select any scenario even when an utterance situation that was not assumed at the time of scenario creation occurs. As a result, it is possible to reliably respond to the user utterance.
  • notification of information is not limited to the aspect and embodiment described in this specification, and may be performed by other methods.
  • notification of information includes physical layer signaling (for example, DCI (Downlink Control Information), UCI (Uplink Control Information)), upper layer signaling (for example, RRC (Radio Resource Control) signaling, MAC (Medium Access Control) signaling), It may be implemented by broadcast information (MIB (Master Information Block), SIB (System Information Block))), other signals, or a combination thereof.
  • the RRC signaling may be called an RRC message, and may be, for example, an RRC connection setup message, an RRC connection reconfiguration message, or the like.
  • Each aspect / embodiment described in this specification includes LTE (Long Term Evolution), LTE-A (LTE-Advanced), SUPER 3G, IMT-Advanced, 4G, 5G, FRA (Future Radio Access), W-CDMA.
  • LTE Long Term Evolution
  • LTE-A Long Term Evolution-Advanced
  • SUPER 3G IMT-Advanced
  • 4G 5G
  • FRA Full Radio Access
  • W-CDMA Wideband
  • GSM registered trademark
  • CDMA2000 Code Division Multiple Access 2000
  • UMB User Mobile Broadband
  • IEEE 802.11 Wi-Fi
  • IEEE 802.16 WiMAX
  • IEEE 802.20 UWB (Ultra-Wideband)
  • Bluetooth registered trademark
  • systems using other appropriate systems and / or next-generation systems extended based on these systems.
  • Information etc. can be output from the upper layer (or lower layer) to the lower layer (or upper layer). Input / output may be performed via a plurality of network nodes.
  • the input / output information or the like may be stored in a specific place (for example, a memory) or may be managed by a management table. Input / output information and the like can be overwritten, updated, or additionally written. The output information or the like may be deleted. The input information or the like may be transmitted to another device.
  • the determination may be performed by a value represented by 1 bit (0 or 1), may be performed by a true / false value (Boolean: true or false), or may be performed by comparing numerical values (for example, a predetermined value) Comparison with the value).
  • notification of predetermined information is not limited to explicitly performed, but is performed implicitly (for example, notification of the predetermined information is not performed). Also good.
  • software, instructions, etc. may be transmitted / received via a transmission medium.
  • software may use websites, servers, or other devices using wired technology such as coaxial cable, fiber optic cable, twisted pair and digital subscriber line (DSL) and / or wireless technology such as infrared, wireless and microwave.
  • wired technology such as coaxial cable, fiber optic cable, twisted pair and digital subscriber line (DSL) and / or wireless technology such as infrared, wireless and microwave.
  • DSL digital subscriber line
  • wireless technology such as infrared, wireless and microwave.
  • system and “network” used in this specification are used interchangeably.
  • information, parameters, and the like described in this specification may be represented by absolute values, may be represented by relative values from a predetermined value, or may be represented by other corresponding information.
  • the radio resource may be indicated by an index.
  • User terminals and mobile communication terminals are known by those skilled in the art from subscriber stations, mobile units, subscriber units, wireless units, remote units, mobile devices, wireless devices, wireless communication devices, remote devices, mobile subscriber stations, access terminals, It may also be called mobile terminal, wireless terminal, remote terminal, handset, user agent, mobile client, client, or some other appropriate terminology.
  • determining may encompass a wide variety of actions. “Judgment” and “determination” are, for example, judgment, calculation, calculation, processing, derivation, investigating, looking up (eg, table) , Searching in a table or another data structure), ascertaining what has been ascertaining, and so on. In addition, “determination” and “determination” are reception (for example, receiving information), transmission (for example, transmitting information), input (input), output (output), and access. (Accessing) (eg, accessing data in a memory) may be considered as “determined” or “determined”.
  • determination and “determination” means that “resolving”, “selecting”, “choosing”, “establishing”, and “comparing” are regarded as “determining” and “determining”. May be included. In other words, “determination” and “determination” may include considering some operation as “determination” and “determination”.
  • connection means any direct or indirect connection or coupling between two or more elements and It can include the presence of one or more intermediate elements between two “connected” or “coupled” elements.
  • the coupling or connection between the elements may be physical, logical, or a combination thereof.
  • the two elements are radio frequency by using one or more wires, cables and / or printed electrical connections, as well as some non-limiting and non-inclusive examples.
  • electromagnetic energy such as electromagnetic energy having wavelengths in the region, the microwave region and the light (both visible and invisible) region can be considered “connected” or “coupled” to each other.
  • the phrase “based on” does not mean “based only on”, unless expressly specified otherwise. In other words, the phrase “based on” means both “based only on” and “based at least on.”
  • any reference to the element does not generally limit the quantity or order of the elements. These designations can be used herein as a convenient way to distinguish between two or more elements. Thus, a reference to the first and second elements does not mean that only two elements can be employed there, or that in some way the first element must precede the second element.
  • DESCRIPTION OF SYMBOLS 10 ... Dialogue device, 20 ... Front function, 30 ... Bot function, 31 ... Scenario database, 32 ... Acquisition part, 33 ... Identification part, 34 ... Selection part, 35 ... Output part, 90 ... User terminal.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Computational Linguistics (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一実施形態に係る対話装置は、ユーザにより入力されたユーザ発話を取得する取得部と、ユーザ発話の状況を発話状況として特定する特定部と、複数のシナリオを記憶するデータベースからユーザ発話に対応するシナリオを選択する選択部と、選択されたシナリオで定義されたシステム発話を出力する出力部とを備える。各シナリオは、ユーザ発話と、該ユーザ発話に対するシステム発話と、階層的に定義されたシナリオ属性とを定義する。ユーザ発話を定義する2以上のシナリオがデータベース内に候補シナリオとして存在する場合には、選択部は、該2以上の候補シナリオに定義されている2以上のシナリオ属性の階層関係と発話状況とに基づいて、2以上の候補シナリオから一つのシナリオを選択する。

Description

対話装置
 本発明の一側面は対話装置に関する。
 ユーザとの間で実行される自動対話を状況に応じながら進行させる仕組みが知られている。例えば、特許文献1には、ユーザの趣向に即して対話エージェントシステムの対話ルールを変更できる対話ルール変更装置が記載されている。
特開2013-12012号公報
 自動対話を状況に応じながら柔軟に進めるためには、様々な状況に応じたシナリオ(ルール)を予め用意する必要がある。しかし、充分な数のシナリオを事前に用意することは容易ではない。そこで、シナリオの事前準備の負荷を軽減しつつ柔軟な自動対話を実現できる仕組みが望まれている。
 本発明の一側面に係る対話装置は、ユーザにより入力されたユーザ発話を取得する取得部と、ユーザ発話の状況を発話状況として特定する特定部と、複数のシナリオを記憶するデータベースからユーザ発話に対応するシナリオを選択する選択部であって、該複数のシナリオのそれぞれが、ユーザ発話と、該ユーザ発話に対するシステム発話と、階層的に定義されたシナリオ属性とを定義する、該選択部と、選択部により選択されたシナリオで定義されたシステム発話を出力する出力部とを備え、取得部により取得されたユーザ発話を定義する2以上のシナリオがデータベース内に候補シナリオとして存在する場合に、選択部が、該2以上の候補シナリオに定義されている2以上のシナリオ属性の階層関係と発話状況とに基づいて、2以上の候補シナリオから一つのシナリオを選択する。
 このような側面においては、同じユーザ発話が定義された複数のシナリオが存在する場合に、ユーザ発話の状況と個々のシナリオ属性とに基づいて一つのシナリオが選択され、選択されたシナリオに従ってシステム発話が出力される。したがって、ユーザ発話の状況に応じた柔軟な自動対話を実現できる。加えて、予め用意されるシナリオについては、ユーザ発話、システム発話、およびシナリオ属性の対応関係さえ定義しておけば十分なので、シナリオの事前準備の負荷を軽減することができる。
 本発明の一側面によれば、シナリオの事前準備の負荷を軽減しつつ柔軟な自動対話を実現することができる。
実施形態に係る対話装置の機能構成の一例を示す図である。 図1に示すボット機能の機能構成の一例を示す図である。 シナリオの一例を示す図である。 シナリオの別の例を示す図である。 実施形態に係る対話装置の動作の一例を示すシーケンス図である。 実施形態に係る対話装置に用いられるコンピュータのハードウェア構成の一例を示す図である。
 以下、添付図面を参照しながら本発明の実施形態を詳細に説明する。なお、図面の説明において同一または同等の要素には同一の符号を付し、重複する説明を省略する。
 対話装置は、ユーザとの間で自動対話を実行するコンピュータである。ユーザとは対話装置を利用する人である。自動対話とはユーザとコンピュータ(このコンピュータは一般に「ボット」ともいわれる。)との間の会話のやり取りであり、この自動対話ではコンピュータはユーザからの発話に応答して自動的に発話する。発話とはユーザまたはコンピュータが発する一回分の話である。以下では、ユーザの発話を「ユーザ発話」ともいい、コンピュータの発話を「システム発話」ともいう。
 対話装置の利用目的は何ら限定されない。例えば、対話装置はユーザの質問に回答するFAQ(Frequently Asked Questions)システムで用いられてもよいし、FAQに限られない任意の話を行う雑談システムで用いられてもよい。あるいは、対話装置は、音声操作に基づいて任意のタスクを実行するバーチャルアシスタント機能に組み込まれてもよい。
 対話装置はクライアント-サーバ型システムの一部であってもよいし、単体の装置であってもよい。本実施形態では、対話装置はサーバとして機能するコンピュータであるとする。図1は、実施形態に係る対話装置10の機能構成の一例を示す図である。対話装置10は通信ネットワークを介して少なくとも一つのユーザ端末90と接続することができる。通信ネットワークの構成は何ら限定されず、例えばインターネットおよびイントラネットの少なくとも一方を用いて構成されてもよい。
 ユーザ端末90はユーザにより操作されるコンピュータ(クライアント端末)である。ユーザ端末90は、ユーザにより入力された発話(ユーザ発話)を対話装置10に送信する機能と、対話装置10から受信した発話(システム発話)を出力する機能とを備える。ユーザ端末90の種類は限定されず、例えば、据置型のコンピュータまたは装置であってもよいし、携帯型のコンピュータまたは装置であってもよい。ユーザ端末90の具体的な例として、スマートフォン、タブレット端末、ウェアラブル端末、パーソナルコンピュータ、スマートスピーカ、スマートテレビ、およびスマート家電が挙げられるが、これらに限定されない。
 対話装置10は、ユーザ端末90からユーザ発話を受信すると、そのユーザ発話に対応するシステム発話をシナリオに基づいて決定し、決定したシステム発話をユーザ端末90に送信する。シナリオとは対話のルール(どのようなユーザ発話を受け付けた場合にどのようなシステム発話を出力するかを規定したルール)を規定するデータである。対話装置10の特徴の一つは、或るユーザ発話に対して状況に応じたシステム発話を出力するためのシナリオの構成および選択にある。以下では、その特徴について特に詳しく説明する。
 図1に示すように、対話装置10は機能要素として、自動対話を統括的に制御するフロント機能20と、特定の話題に関するシステム発話を出力する1以上のボット機能30とを備える。フロント機能20は、ユーザ端末90から受信したユーザ発話を処理させるボット機能30を決定し、そのボット機能30にユーザ発話を転送する。その後、フロント機能20は、そのボット機能30から出力されたシステム発話をユーザ端末90に応答として送信する。それぞれのボット機能30は、フロント機能20から受け付けたユーザ発話に対応するシステム発話をシナリオデータベース31内のシナリオに基づいて決定し、決定したシステム発話をフロント機能20に出力する。それぞれのボット機能30は特定の知識を有するエキスパート・エージェントであり、フロント機能20は1以上のボット機能30を統括するメインエージェントである、ということができる。
 図2はボット機能30の機能構成の一例を示す図である。本実施形態では、それぞれのボット機能30はシナリオデータベース31、取得部32、特定部33、選択部34、および出力部35を備える。シナリオデータベース31は、特定の話題に関する複数のシナリオを記憶するデータベースである。取得部32は、ユーザにより入力されたユーザ発話を取得する機能要素である。特定部33は、ユーザ発話の状況を発話状況として特定する機能要素である。発話状況(ユーザ発話の状況)とは、ユーザ発話が発生した際の状況である。例えば、発話状況はユーザ属性および環境情報の少なくとも一方を含む概念である。ユーザ属性とは、発話したユーザの性質または特徴を示す情報である。ユーザ属性の例として名前、性別、年齢、および住所が挙げられるが、これらに限定されない。環境情報とはユーザ発話が発生した際の世界(現実世界または仮想世界)の様子を示す情報である。環境情報の例として時刻、天気、および場所が挙げられる。また、ボット機能30のアルゴリズムにより制御または決定されるボットの感情も環境情報の一例である。もちろん、環境情報はこれらに限定されない。選択部34は、ユーザ発話に対応する一つのシナリオをシナリオデータベース31から選択する機能要素である。出力部35は選択されたシナリオで定義されたシステム発話を出力する機能要素である。
 上述したように、対話装置10は或るユーザ発話に対して状況に応じたシステム発話を出力する。このようなシステム発話を実現するために、シナリオデータベース31は少なくとも一つのユーザ発話について複数のシナリオを記憶する。この複数のシナリオはシナリオ属性により区別することができる。シナリオ属性とは、一つのユーザ発話への応答であるシステム発話を決めるための条件である。シナリオ属性は発話状況に対応するデータ項目で規定され、したがって、例えばユーザ属性または環境情報に対応するデータ項目で規定され得る。
 図3は、「おはよう」というユーザ発話に対応し得る複数のシナリオの例を示す。本実施形態では、シナリオはAIML(Artificial Intelligence Markup Language)を応用して記述される前提とするが、シナリオを記述するための方法および規則は何ら限定されない。各シナリオは、シナリオ属性を示す「topic name」という要素と、ルール(知識)の基本単位を示す1以上の「category」という要素とを含む。個々の「category」要素は、ユーザ発話を示す「pattern」要素と、そのユーザ発話への応答であるシステム発話を示す「template」要素とを含む。すなわち、個々のシナリオは、ユーザ発話と、そのユーザ発話に対応するシステム発話と、シナリオ属性とを定義する。
 個々のシナリオは、階層的に定義されたシナリオ属性(「topic name」要素)により区別される。「階層的に定義された」とは、或る第n概念と(nは自然数)、該第n概念に包含され且つ該第n概念よりも具体的な第(n+1)概念とを含んで定義される関係のことをいう。階層の数は2以上であればいくつでもよい。また、ある一つの第n概念について2以上の第(n+1)概念が複数してもよい。階層的に定義される関係は、「継承関係」、「オーバーライド」、「親子関係」などの用語で言い換えるか、または、これらの用語で示される概念を含むことができる。本実施形態では、第1階層が最も抽象的な概念を示し、階層の序数が大きくなるにつれて概念が具体的になっていくものとする。例えばシナリオ属性が第1階層、第2階層、および第3階層で定義されるならば、第1階層が最上位層であり、第3階層が最下位層である。
 図3の例は、「おはよう」というユーザ発話に対応し得る三つのシナリオA1,A2,A3を示す。シナリオA1は、「おはよう」を含む複数のユーザ発話に対応可能なシナリオであるのに対して、シナリオA2,A3は「おはよう」というユーザ発話に特化したシナリオであるとする。
 これら三つのシナリオのそれぞれにおいて、シナリオ属性は性別、年齢、および天気という三つのデータ項目で構成される。個々のデータ項目には、一つの値が設定されてもよいし、値の範囲(例えば数値範囲)が設定されてもよいし、上位概念(カテゴリ)が設定されてもよいし、任意の値を受け付けることを示すワイルドカードが指定されてもよい。シナリオ属性が複数のデータ項目を含む場合には各データ項目が階層的に定義され、その結果、シナリオ属性が階層的に定義される。ワイルドカードは任意の値を包含する概念なので、最上位層(第1階層)に相当する。
 シナリオA1では、性別については「男性」という特定の値が指定されているのに対し、年齢および天気についてはワイルドカード「*」が指定されている。したがって、シナリオA1は、発話状況に対応する性別が「男性」である場合には、年齢および天気にかかわらず利用され得る。シナリオA2では、性別が「男性」であり、年齢が20以上39以下であり、天気がワイルドカードである。シナリオA3では、性別が「男性」であり、年齢がワイルドカードであり、天気が「晴れ」である。したがって、シナリオA1,A2,A3の中では、シナリオA1が第1階層であり、シナリオA2,A3が第2階層であるといえる。シナリオA2,A3については、年齢についてはシナリオA3の方が上位であるが、天気についてはシナリオA2の方が上位である。したがって、シナリオ属性を全体としてみると、シナリオA2,A3のどちらが上位階層であるかを決めることはできない。
 このように階層的に定義されたシナリオ属性に基づき、「おはよう」というユーザ発話の発話状況が、「男性」と、20以上39以下の年齢とを含むシナリオ属性に対応する場合には、シナリオA2に基づいて「おはよう」というシステム発話が出力され得る。その発話状況が、「男性」および「晴れ」を含むシナリオ属性に対応する場合には、シナリオA3に基づいて「おはよう。良い天気ですね。」というシステム発話が出力され得る。その発話状況が、「男性」を含むシナリオ属性に対応するがシナリオA2,A3のいずれにも該当しない場合には、シナリオA1に基づいて「おはようございます」というシステム発話が出力される。したがって、シナリオA1は一般的に適用されるのに対してシナリオA2,A3は特殊な場面で適用されるものであるといえる。
 階層的に定義されたシナリオ属性を導入することで、様々な状況に応じたシナリオの集合を容易に準備することができる。図3の例では、第1階層に相当するシナリオA1は、想定される複数のユーザ発話に対応する一般的または汎用的なシステム発話を示す。これに対して、第2階層に相当するシナリオA2,A3では、特殊な発話状況に対応するシナリオ属性およびシステム応答を定義すれば十分である。すなわち、特殊な発話状況に対応する新たなシナリオを作成する際には、あたかもオブジェクト指向プログラミングにおけるオーバーライドのように、1階層上のシナリオと異なる部分のみを定義すれば足りる。したがって、シナリオの事前準備の負荷が軽減される。
 図4は、「自分は今どこにいますか」というユーザ発話に対応し得る複数のシナリオの別の例を示す。この例では、「自分は今どこにいますか」を含む複数のユーザ発話に対応可能なシナリオB1と、「自分は今どこにいますか」というユーザ発話に特化したシナリオB2とを示す。
 これら二つのシナリオのそれぞれにおいて、シナリオ属性は性別、場所、および天気という三つのデータ項目で構成される。シナリオB1では、性別については「男性」という特定の値が指定されているのに対し、場所および天気についてはワイルドカード「*」が指定されている。したがって、シナリオB1は、発話状況に対応する性別が「男性」である場合には、場所および天気にかかわらず利用され得る。シナリオB2では、性別が「男性」であり、場所が「<公園名>」であり、天気がワイルドカードである。場所「<公園名>」は、複数の公園を包含する上位概念(カテゴリ)を示す。本実施形態では“<>”という括弧は、上位概念(カテゴリ)を示す識別子として機能する。シナリオB1,B2の中では、シナリオB1が第1階層であり、シナリオB2が第2階層であるといえる。
 このように階層的に定義されたシナリオ属性に基づき、「自分は今どこにいますか」というユーザ発話の発話状況が「男性」、「上野公園」、および「晴れ」を含む場合には、シナリオB2に基づいて「公園です」というシステム発話が出力される。その発話状況が、「男性」、「兼六園」、および「雨」を含む場合にも、シナリオB2に基づいて「公園です」というシステム発話が出力される。その発話状況が「男性」、「上野動物園」、および「晴れ」を含む場合には、シナリオB1に基づいて「どこかです」というシステム発話が出力される。シナリオB2は場所が公園に対応しないと適用されないので、シナリオB2の適用場面はシナリオB1よりも限られるといえる。
 図5を参照しながら、ユーザ端末90との間で自動対話を実行する際の対話装置10の動作を説明する。図5は、対話装置10の動作の一例を示すシーケンス図である。理解を容易にするために、図5では、対話装置10のフロント機能20およびボット機能30を個々に示すと共に、一つのボット機能30のみを示す。
 ステップS11では、ユーザ端末90がユーザ発話データを対話装置10に送信する。対話装置10ではフロント機能20がそのユーザ発話データを受信する。ユーザ発話データは、ユーザ発話および発話属性を含むデータである。
 ユーザ端末90におけるユーザ発話の取得方法は限定されない。例えば、ユーザ端末90は音声入力されたユーザ発話(すなわち音声データで表されるユーザ発話)を取得してもよいし、文字列で入力されたユーザ発話(すなわちテキストデータで表されるユーザ発話)を取得してもよい。あるいは、ユーザ端末90はユーザの指示に基づいて自動的にユーザ発話を音声データまたはテキストデータの形式で生成してもよい。
 発話属性とはユーザ発話に関連する性質または特徴を示す情報であり、自動対話で用いられ得る。例えば、発話属性はシステム発話を決定するために用いられてもよい。発話属性の具体的な内容は限定されない。例えば、発話属性は、自動対話を利用しようとするユーザの性質または特徴を示すユーザ属性と、ユーザ端末90の性質または特徴を示す端末属性とを含んでもよい。ユーザ属性を示すデータ項目の種類および個数は何ら限定されない。例えば、ユーザ属性は名前、性別、年齢、および住所から選択される一つであってもよいし、該4項目から任意に選択される2以上の項目の組合せであってもよい。あるいは、ユーザ属性は該4項目とは異なる他の1以上のデータ項目を含んでもよい。端末属性を示すデータ項目の種類および個数も何ら限定されない。例えば、端末属性は端末名、オペレーティングシステム名、および作動モードから選択される一つであってもよいし、該3項目から任意に選択される2以上の項目の組合せであってもよい。あるいは、端末属性は該3項目とは異なる他の1以上のデータ項目を含んでもよい。
 ステップS12では、フロント機能20がそのユーザ発話データを処理させるボット機能30を決定し、該当するボット機能30にそのユーザ発話データを転送する。その後、そのボット機能30の各機能要素が連携してそのユーザ発話データを処理する。
 ステップS13では、取得部32がそのユーザ発話データからユーザ発話を取得する。
 ステップS14では、特定部33が、取得されたユーザ発話の状況を発話状況として特定する。発話状況の特定方法は限定されない。一例として、特定部33はユーザ発話データに含まれる発話属性の少なくとも一部を参照することで発話状況を特定してもよい。例えば、特定部33は発話属性に含まれる性別または年齢をそのまま発話状況の少なくとも一部として特定してもよい。別の方法として、特定部33はユーザ発話データ以外のデータから発話状況を特定してもよい。例えば、特定部33は対話装置10内のタイマから得られる日または時刻を発話状況の少なくとも一部として特定してもよい。あるいは、特定部33は、任意のコンピュータシステム(図示せず)から気象データを取得し、その気象データで示される天気を発話状況の少なくとも一部として特定してもよい。あるいは、特定部33はボット機能30の感情を示すデータを発話状況の少なくとも一部として特定してもよい。さらに別の方法として、特定部33はユーザ発話データおよび他のデータの双方を用いて発話状況を特定してもよい。
 ステップS15では、選択部34がユーザ発話および発話状況に対応する一つのシナリオを選択する。選択部34はシナリオデータベース31を参照して、ユーザ発話に対応するシナリオを検索する。
 ユーザ発話を定義するシナリオがシナリオデータベース31内に一つしか存在しない場合には、選択部34は発話状況を用いることなくその唯一のシナリオを選択する。
 これに対して、ユーザ発話を定義する2以上のシナリオがシナリオデータベース31内に存在する場合には、選択部34はさらに発話状況も用いてその複数のシナリオから一つのシナリオを動的に選択する。本実施形態では、ユーザ発話を定義する2以上のシナリオを「候補シナリオ」ともいう。
 選択部34は、2以上の候補シナリオに定義されている2以上のシナリオ属性の階層関係と、特定部33により特定された発話状況とに基づいて、それらの候補シナリオから一つのシナリオを選択する。具体的には、選択部34は、発話状況に対応する候補シナリオの中で最も下位の階層に属する一つのシナリオを選択する。例えば、2以上の候補シナリオが、第1階層を示すシナリオ属性が定義された第1候補シナリオと、第2階層を示すシナリオ属性が定義された第2候補シナリオとを含むとする。この場合には、選択部34は、発話状況が第2階層に対応する場合には第2候補シナリオを選択し、発話状況が第2階層に対応しない場合には第1候補シナリオを選択する。シナリオ属性が、それぞれが階層的に定義された複数のデータ項目を含む場合には、選択部34は、2以上のシナリオ属性の各データ項目の階層関係と発話状況とに基づいて、2以上の候補シナリオから一つのシナリオを選択する。要するに、選択部34は、発話状況に対応する候補シナリオの中でシナリオ属性が最も具体的に定義されている一つのシナリオを選択する。
 複数の候補シナリオから一つのシナリオを選択するための探索方法は限定されない。一例として、選択部34は、シナリオ属性を構成する複数のデータ項目の並び順に沿って2以上のシナリオ属性の各データ項目と発話状況とを比較することで一つのシナリオを選択してもよい。この処理に関するいくつかの具体例を以下に示す。
 図3に示すシナリオA1,A2,A3が候補シナリオであるとする。また、性別「男性」、年齢「25」、および天気「晴れ」を含む発話状況が特定されたとする。選択部34はまずシステム属性の最初のデータ項目である性別と、発話状況の性別とを比較する。三つのシナリオのすべてが「男性」を定義しているので、選択部34は次に、システム属性の2番目のデータ項目である年齢と、発話状況の年齢とを比較する。発話状況の年齢「25」はワイルドカード(シナリオA1,A3)に対応すると共に、そのワイルドカードよりも下位概念である「20-39」(シナリオA2)にも対応する。したがって、選択部34はこの時点でシナリオA2を選択する。この例において、もし天気が2番目のデータ項目であれば、選択部34はシナリオA3を選択する。
 再び、シナリオA1,A2,A3が候補シナリオであるとする。また、性別「男性」、年齢「40」、および天気「晴れ」を含む発話状況が特定されたとする。選択部34はまずシステム属性の最初のデータ項目である性別と、発話状況の性別とを比較するが、この段階では一つのシナリオを選択することはできない。次に選択部34は、システム属性の2番目のデータ項目である年齢と、発話状況の年齢とを比較する。発話状況の年齢「40」はワイルドカード(シナリオA1,A3)に対応するが、「20-39」(シナリオA2)には対応しない。したがって、選択部34はこの時点でシナリオA2を除外してシナリオA1,A3を選択する。次に選択部34は、システム属性の3番目のデータ項目である天気と、発話状況の天気とを比較する。発話状況の天気「晴れ」はワイルドカード(シナリオA1)に対応すると共に、そのワイルドカードよりも下位概念である「晴れ」(シナリオA3)にも対応する。したがって、選択部34はこの時点でシナリオA3を選択する。
 このように、選択部34は、複数の候補シナリオを並列に参照しながら、発話状況に対応する最下位層のシナリオ属性を特定することで一つのシナリオを選択してもよい。各データ項目が、第1階層を示す第1の値と、該第1階層よりも下位に位置する第2階層を示す第2の値とのうちの一方を示すとする。この場合、選択部34は、発話状況が第2階層に対応する場合には、第2の値を含む候補シナリオを選択し、発話状況が第2階層に対応しない場合には、第1の値を含む候補シナリオを選択してもよい。選択部34は複数のデータ項目の並び順に沿ってその処理を繰り返しながら、最終的に一つのシナリオを選択できる。
 あるいは、選択部34は、複数の候補シナリオのうち最下位層に位置する候補シナリオから順に探索し(すなわち、最下位層から最上位層へと向かいながら候補シナリオを探索し)、発話状況に対応するものとして最初に見つかったシナリオを選択してもよい。
 図5に戻り、ステップS16では、選択部34が、選択した一つのシナリオで定義されたシステム発話を取得する。なお、図3および図4の例ではシステム発話は固定の文字列であるが、当然ながら、システム発話の少なくとも一部が動的に設定されてもよい。
 ステップS17では、出力部35がそのシステム発話を含むシステム発話データをフロント機能20に出力する。ユーザ発話と同様にシステム発話の表現方法も限定されず、例えば、システム発話は音声またはテキストで表現され得る。
 ステップS18では、フロント機能20がそのシステム発話データをユーザ端末90に送信する。フロント機能20はシステム発話の出力形式を指定した上で(すなわち、システム発話を整形した上で)システム発話データを送信してもよい。ユーザ端末90はそのシステム発話データを受信および出力し、これにより、ユーザはユーザ発話に対するボットの返事を認識できる。
 ステップS11~S18の処理は繰り返し実行され得る。上記のようにボット機能30がユーザ発話および発話状況に応じてシナリオを選択することで、自動対話中の状況に応じたシステム発話がユーザに提供される。
 上記実施の形態の説明に用いたブロック図は、機能単位のブロックを示している。これらの機能ブロック(構成要素)は、ハードウェアおよび/またはソフトウェアの任意の組み合わせによって実現される。また、各機能ブロックの実現手段は特に限定されない。すなわち、各機能ブロックは、物理的および/または論理的に結合した一つの装置により実現されてもよいし、物理的および/または論理的に分離した2つ以上の装置を直接的および/または間接的に(例えば、有線および/または無線)で接続し、これら複数の装置により実現されてもよい。
 例えば、本発明の一実施の形態における対話装置10は、本実施形態の処理を行うコンピュータとして機能してもよい。図6は、対話装置10として機能するコンピュータ100のハードウェア構成の一例を示す図である。コンピュータ100は、物理的には、プロセッサ1001、メモリ1002、ストレージ1003、通信装置1004、入力装置1005、出力装置1006、バス1007などを含んでもよい。
 なお、以下の説明では、「装置」という文言は、回路、デバイス、ユニットなどに読み替えることができる。対話装置10のハードウェア構成は、図に示した各装置を一つまたは複数含むように構成されてもよいし、一部の装置を含まずに構成されてもよい。
 対話装置10における各機能は、プロセッサ1001、メモリ1002などのハードウェア上に所定のソフトウェア(プログラム)を読み込ませることで、プロセッサ1001が演算を行い、通信装置1004による通信や、メモリ1002およびストレージ1003におけるデータの読み出しおよび/または書き込みを制御することで実現される。
 プロセッサ1001は、例えば、オペレーティングシステムを動作させてコンピュータ全体を制御する。プロセッサ1001は、周辺装置とのインターフェース、制御装置、演算装置、レジスタなどを含む中央処理装置(CPU:Central Processing Unit)で構成されてもよい。例えば、対話装置10の少なくとも一部の機能要素はプロセッサ1001で実現されてもよい。
 また、プロセッサ1001は、プログラム(プログラムコード)、ソフトウェアモジュールやデータを、ストレージ1003および/または通信装置1004からメモリ1002に読み出し、これらに従って各種の処理を実行する。プログラムとしては、上述の実施の形態で説明した動作の少なくとも一部をコンピュータに実行させるプログラムが用いられる。例えば、対話装置10の少なくとも一部の機能要素は、メモリ1002に格納され、プロセッサ1001で動作する制御プログラムによって実現されてもよく、他の機能ブロックについても同様に実現されてもよい。上述の各種処理は、一つのプロセッサ1001で実行される旨を説明してきたが、2以上のプロセッサ1001により同時または逐次に実行されてもよい。プロセッサ1001は、1以上のチップで実装されてもよい。なお、プログラムは、電気通信回線を介してネットワークから送信されてもよい。
 メモリ1002は、コンピュータ読み取り可能な記録媒体であり、例えば、ROM(Read Only Memory)、EPROM(Erasable Programmable ROM)、EEPROM(Electrically Erasable Programmable ROM)、RAM(Random Access Memory)などの少なくとも一つで構成されてもよい。メモリ1002は、レジスタ、キャッシュ、メインメモリ(主記憶装置)などと呼ばれてもよい。メモリ1002は、本発明の一実施の形態に係る無線通信方法を実施するために実行可能なプログラム(プログラムコード)、ソフトウェアモジュールなどを保存することができる。
 ストレージ1003は、コンピュータ読み取り可能な記録媒体であり、例えば、CDROM(Compact Disc ROM)などの光ディスク、ハードディスクドライブ、フレキシブルディスク、光磁気ディスク(例えば、コンパクトディスク、デジタル多用途ディスク、Blu-ray(登録商標)ディスク)、スマートカード、フラッシュメモリ(例えば、カード、スティック、キードライブ)、フロッピー(登録商標)ディスク、磁気ストリップなどの少なくとも一つで構成されてもよい。ストレージ1003は、補助記憶装置と呼ばれてもよい。上述の記憶媒体は、例えば、メモリ1002および/またはストレージ1003を含むテーブル、サーバその他の適切な媒体であってもよい。
 通信装置1004は、有線および/または無線ネットワークを介してコンピュータ間の通信を行うためのハードウェア(送受信デバイス)であり、例えばネットワークデバイス、ネットワークコントローラ、ネットワークカード、通信モジュールなどともいう。例えば、対話装置10の少なくとも一部の機能要素は通信装置1004で実現されてもよい。
 入力装置1005は、外部からの入力を受け付ける入力デバイス(例えば、キーボード、マウス、マイクロフォン、スイッチ、ボタン、センサなど)である。出力装置1006は、外部への出力を実施する出力デバイス(例えば、ディスプレイ、スピーカー、LEDランプなど)である。なお、入力装置1005および出力装置1006は、一体となった構成(例えば、タッチパネル)であってもよい。
 また、プロセッサ1001やメモリ1002などの各装置は、情報を通信するためのバス1007で接続される。バス1007は、単一のバスで構成されてもよいし、装置間で異なるバスで構成されてもよい。
 また、コンピュータ100は、マイクロプロセッサ、デジタル信号プロセッサ(DSP:Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)、FPGA(Field Programmable Gate Array)などのハードウェアを含んで構成されてもよく、当該ハードウェアにより、各機能ブロックの一部または全てが実現されてもよい。例えば、プロセッサ1001は、これらのハードウェアの少なくとも一つで実装されてもよい。
 以上説明したように、本発明の一側面に係る対話装置は、ユーザにより入力されたユーザ発話を取得する取得部と、ユーザ発話の状況を発話状況として特定する特定部と、複数のシナリオを記憶するデータベースからユーザ発話に対応するシナリオを選択する選択部であって、該複数のシナリオのそれぞれが、ユーザ発話と、該ユーザ発話に対するシステム発話と、階層的に定義されたシナリオ属性とを定義する、該選択部と、選択部により選択されたシナリオで定義されたシステム発話を出力する出力部とを備え、取得部により取得されたユーザ発話を定義する2以上のシナリオがデータベース内に候補シナリオとして存在する場合に、選択部が、該2以上の候補シナリオに定義されている2以上のシナリオ属性の階層関係と発話状況とに基づいて、2以上の候補シナリオから一つのシナリオを選択する。
 このような側面においては、同じユーザ発話が定義された複数のシナリオが存在する場合に、ユーザ発話の状況と個々のシナリオ属性とに基づいて一つのシナリオが選択され、選択されたシナリオに従ってシステム発話が出力される。したがって、ユーザ発話の状況に応じた柔軟な自動対話を実現できる。加えて、予め用意されるシナリオについては、ユーザ発話、システム発話、およびシナリオ属性の対応関係さえ定義しておけば十分なので、シナリオの事前準備の負荷を軽減することができる。また、シナリオ属性が階層的に定義されるので、シナリオを効率的に作成および選択することができ、その結果、対話装置のハードウェア資源の使用量(例えば、プロセッサの負荷およびメモリ消費量)を抑制することが可能になる。
 他の側面に係る対話装置では、2以上の候補シナリオが、第1階層を示すシナリオ属性が定義された第1候補シナリオと、該第1階層よりも下位に位置する第2階層を示すシナリオ属性が定義された第2候補シナリオとを含み、選択部が、発話状況が第2階層に対応する場合には第2候補シナリオを選択し、発話状況が第2階層に対応しない場合には第1候補シナリオを選択してもよい。より下位概念のシナリオ属性が定義されたシナリオを選択することで、自動対話の状況に適したシステム発話を出力することができる。
 他の側面に係る対話装置では、シナリオ属性が、それぞれが階層的に定義された複数のデータ項目を含み、選択部が、2以上のシナリオ属性の各データ項目の階層関係と、発話状況とに基づいて、2以上の候補シナリオから一つのシナリオを選択してもよい。シナリオ属性の個々のデータ項目の階層関係を考慮することで、自動対話の状況に適したシステム発話を出力することができる。
 他の側面に係る対話装置では、選択部が、複数のデータ項目の並び順に沿って2以上のシナリオ属性の各データ項目と発話状況とを比較することで、2以上の候補シナリオから一つのシナリオを選択してもよい。データ項目の並び順に沿って比較するという簡潔な方法を用いることで、対話装置のハードウェア資源の使用量を抑えつつ、一つのシナリオを簡単に選択することができる。
 他の側面に係る対話装置では、各データ項目が、第1階層を示す第1の値と、該第1階層よりも下位に位置する第2階層を示す第2の値とのうちの一方を示し、選択部が、発話状況が第2階層に対応する場合には、第2の値を含む候補シナリオを選択し、発話状況が第2階層に対応しない場合には、第1の値を含む候補シナリオを選択してもよい。より下位の概念に相当する値を含むシナリオ属性が定義されたシナリオを選択することで、自動対話の状況に適したシステム発話を出力することができる。
 他の側面に係る対話装置では、シナリオ属性の最上位層がワイルドカードを用いて定義されてもよい。ワイルドカードを用いることで、シナリオ作成時には想定していなかった発話状況が発生した場合にも何らかのシナリオを選択することができる。その結果、ユーザ発話に確実に応答することができる。
 以上、本実施形態について詳細に説明したが、当業者にとっては、本実施形態が本明細書中に説明した実施形態に限定されるものではないということは明らかである。本実施形態は、特許請求の範囲の記載により定まる本発明の趣旨および範囲を逸脱することなく修正および変更態様として実施することができる。したがって、本明細書の記載は、例示説明を目的とするものであり、本実施形態に対して何ら制限的な意味を有するものではない。
 情報の通知は、本明細書で説明した態様および実施形態に限られず、他の方法で行われてもよい。例えば、情報の通知は、物理レイヤシグナリング(例えば、DCI(Downlink Control Information)、UCI(Uplink Control Information))、上位レイヤシグナリング(例えば、RRC(Radio Resource Control)シグナリング、MAC(Medium Access Control)シグナリング、報知情報(MIB(Master Information Block)、SIB(System Information Block)))、その他の信号またはこれらの組み合わせによって実施されてもよい。また、RRCシグナリングは、RRCメッセージと呼ばれてもよく、例えば、RRC接続セットアップ(RRC Connection Setup)メッセージ、RRC接続再構成(RRC Connection Reconfiguration)メッセージなどであってもよい。
 本明細書で説明した各態様/実施形態は、LTE(Long Term Evolution)、LTE-A(LTE-Advanced)、SUPER 3G、IMT-Advanced、4G、5G、FRA(Future Radio Access)、W-CDMA(登録商標)、GSM(登録商標)、CDMA2000、UMB(Ultra Mobile Broadband)、IEEE 802.11(Wi-Fi)、IEEE 802.16(WiMAX)、IEEE 802.20、UWB(Ultra-Wideband)、Bluetooth(登録商標)、その他の適切なシステムを利用するシステムおよび/またはこれらに基づいて拡張された次世代システムに適用されてもよい。
 本明細書で説明した各態様/実施形態の処理手順、シーケンス、フローチャートなどは、矛盾の無い限り、順序を入れ替えてもよい。例えば、本明細書で説明した方法については、例示的な順序で様々なステップの要素を提示しており、提示した特定の順序に限定されない。
 情報等は、上位レイヤ(または下位レイヤ)から下位レイヤ(または上位レイヤ)へ出力され得る。複数のネットワークノードを介して入出力されてもよい。
 入出力された情報等は特定の場所(例えば、メモリ)に保存されてもよいし、管理テーブルで管理してもよい。入出力される情報等は、上書き、更新、または追記され得る。出力された情報等は削除されてもよい。入力された情報等は他の装置へ送信されてもよい。
 判定は、1ビットで表される値(0か1か)によって行われてもよいし、真偽値(Boolean:trueまたはfalse)によって行われてもよいし、数値の比較(例えば、所定の値との比較)によって行われてもよい。
 本明細書で説明した各態様/実施形態は単独で用いてもよいし、組み合わせて用いてもよいし、実行に伴って切り替えて用いてもよい。また、所定の情報の通知(例えば、「Xであること」の通知)は、明示的に行うものに限られず、暗黙的(例えば、当該所定の情報の通知を行わない)ことによって行われてもよい。
 ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語と呼ばれるか、他の名称で呼ばれるかを問わず、命令、命令セット、コード、コードセグメント、プログラムコード、プログラム、サブプログラム、ソフトウェアモジュール、アプリケーション、ソフトウェアアプリケーション、ソフトウェアパッケージ、ルーチン、サブルーチン、オブジェクト、実行可能ファイル、実行スレッド、手順、機能などを意味するよう広く解釈されるべきである。
 また、ソフトウェア、命令などは、伝送媒体を介して送受信されてもよい。例えば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、ツイストペアおよびデジタル加入者回線(DSL)などの有線技術および/または赤外線、無線およびマイクロ波などの無線技術を使用してウェブサイト、サーバ、または他のリモートソースから送信される場合、これらの有線技術および/または無線技術は、伝送媒体の定義内に含まれる。
 本明細書で説明した情報、信号などは、様々な異なる技術のいずれかを使用して表されてもよい。例えば、上記の説明全体に渡って言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、チップなどは、電圧、電流、電磁波、磁界若しくは磁性粒子、光場若しくは光子、またはこれらの任意の組み合わせによって表されてもよい。
 なお、本明細書で説明した用語および/または本明細書の理解に必要な用語については、同一のまたは類似する意味を有する用語と置き換えてもよい。
 本明細書で使用する「システム」および「ネットワーク」という用語は、互換的に使用される。
 また、本明細書で説明した情報、パラメータなどは、絶対値で表されてもよいし、所定の値からの相対値で表されてもよいし、対応する別の情報で表されてもよい。例えば、無線リソースはインデックスで指示されるものであってもよい。
 上述したパラメータに使用する名称はいかなる点においても限定的なものではない。さらに、これらのパラメータを使用する数式等は、本明細書で明示的に開示したものと異なる場合もある。様々なチャネル(例えば、PUCCH、PDCCHなど)および情報要素(例えば、TPCなど)は、あらゆる好適な名称によって識別できるので、これらの様々なチャネルおよび情報要素に割り当てている様々な名称は、いかなる点においても限定的なものではない。
 ユーザ端末および移動通信端末は、当業者によって、加入者局、モバイルユニット、加入者ユニット、ワイヤレスユニット、リモートユニット、モバイルデバイス、ワイヤレスデバイス、ワイヤレス通信デバイス、リモートデバイス、モバイル加入者局、アクセス端末、モバイル端末、ワイヤレス端末、リモート端末、ハンドセット、ユーザエージェント、モバイルクライアント、クライアント、またはいくつかの他の適切な用語で呼ばれる場合もある。
 本明細書で使用する「判断(determining)」、「決定(determining)」という用語は、多種多様な動作を包含する場合がある。「判断」、「決定」は、例えば、判定(judging)、計算(calculating)、算出(computing)、処理(processing)、導出(deriving)、調査(investigating)、探索(looking up)(例えば、テーブル、テーブルまたは別のデータ構造での探索)、確認(ascertaining)した事を「判断」「決定」したとみなす事などを含み得る。また、「判断」、「決定」は、受信(receiving)(例えば、情報を受信すること)、送信(transmitting)(例えば、情報を送信すること)、入力(input)、出力(output)、アクセス(accessing)(例えば、メモリ中のデータにアクセスすること)した事を「判断」「決定」したとみなす事などを含み得る。また、「判断」、「決定」は、解決(resolving)、選択(selecting)、選定(choosing)、確立(establishing)、比較(comparing)などした事を「判断」「決定」したとみなす事を含み得る。つまり、「判断」「決定」は、何らかの動作を「判断」「決定」したとみなす事を含み得る。
 「接続された(connected)」、「結合された(coupled)」という用語、またはこれらのあらゆる変形は、2またはそれ以上の要素間の直接的または間接的なあらゆる接続または結合を意味し、互いに「接続」または「結合」された2つの要素間に1またはそれ以上の中間要素が存在することを含むことができる。要素間の結合または接続は、物理的なものであっても、論理的なものであっても、或いはこれらの組み合わせであってもよい。本明細書で使用する場合、2つの要素は、1またはそれ以上の電線、ケーブルおよび/またはプリント電気接続を使用することにより、並びにいくつかの非限定的かつ非包括的な例として、無線周波数領域、マイクロ波領域および光(可視および不可視の両方)領域の波長を有する電磁エネルギーなどの電磁エネルギーを使用することにより、互いに「接続」または「結合」されると考えることができる。
 本明細書で使用する「に基づいて」という記載は、別段に明記されていない限り、「のみに基づいて」を意味しない。言い換えれば、「に基づいて」という記載は、「のみに基づいて」と「に少なくとも基づいて」の両方を意味する。
 本明細書で「第1の」、「第2の」などの呼称を使用した場合においては、その要素へのいかなる参照も、それらの要素の量または順序を全般的に限定するものではない。これらの呼称は、2つ以上の要素間を区別する便利な方法として本明細書で使用され得る。したがって、第1および第2の要素への参照は、2つの要素のみがそこで採用され得ること、または何らかの形で第1の要素が第2の要素に先行しなければならないことを意味しない。
 「含む(include)」、「含んでいる(including)」、およびそれらの変形が、本明細書あるいは特許請求の範囲で使用されている限り、これら用語は、用語「備える(comprising)」と同様に、包括的であることが意図される。さらに、本明細書あるいは特許請求の範囲において使用されている用語「または(or)」は、排他的論理和ではないことが意図される。
 本明細書において、文脈または技術的に明らかに一つのみしか存在しない装置である場合以外は、複数の装置をも含むものとする。
 10…対話装置、20…フロント機能、30…ボット機能、31…シナリオデータベース、32…取得部、33…特定部、34…選択部、35…出力部、90…ユーザ端末。

Claims (6)

  1.  ユーザにより入力されたユーザ発話を取得する取得部と、
     前記ユーザ発話の状況を発話状況として特定する特定部と、
     複数のシナリオを記憶するデータベースから前記ユーザ発話に対応するシナリオを選択する選択部であって、該複数のシナリオのそれぞれが、ユーザ発話と、該ユーザ発話に対するシステム発話と、階層的に定義されたシナリオ属性とを定義する、該選択部と、
     前記選択部により選択されたシナリオで定義された前記システム発話を出力する出力部と
    を備え、
     前記取得部により取得されたユーザ発話を定義する2以上の前記シナリオが前記データベース内に候補シナリオとして存在する場合に、前記選択部が、該2以上の候補シナリオに定義されている2以上の前記シナリオ属性の階層関係と前記発話状況とに基づいて、前記2以上の候補シナリオから一つの前記シナリオを選択する、
    対話装置。
  2.  前記2以上の候補シナリオが、第1階層を示す前記シナリオ属性が定義された第1候補シナリオと、該第1階層よりも下位に位置する第2階層を示す前記シナリオ属性が定義された第2候補シナリオとを含み、
     前記選択部が、前記発話状況が前記第2階層に対応する場合には前記第2候補シナリオを選択し、前記発話状況が前記第2階層に対応しない場合には前記第1候補シナリオを選択する、
    請求項1に記載の対話装置。
  3.  前記シナリオ属性が、それぞれが階層的に定義された複数のデータ項目を含み、
     前記選択部が、前記2以上のシナリオ属性の各データ項目の階層関係と、前記発話状況とに基づいて、前記2以上の候補シナリオから前記一つのシナリオを選択する、
    請求項1または2に記載の対話装置。
  4.  前記選択部が、前記複数のデータ項目の並び順に沿って前記2以上のシナリオ属性の各データ項目と前記発話状況とを比較することで、前記2以上の候補シナリオから前記一つのシナリオを選択する、
    請求項3に記載の対話装置。
  5.  各データ項目が、第1階層を示す第1の値と、該第1階層よりも下位に位置する第2階層を示す第2の値とのうちの一方を示し、
     前記選択部が、前記発話状況が前記第2階層に対応する場合には、前記第2の値を含む前記候補シナリオを選択し、前記発話状況が前記第2階層に対応しない場合には、前記第1の値を含む前記候補シナリオを選択する、
    請求項4に記載の対話装置。
  6.  前記シナリオ属性の最上位層がワイルドカードを用いて定義される、
    請求項1~5のいずれか一項に記載の対話装置。
PCT/JP2019/015216 2018-05-01 2019-04-05 対話装置 WO2019211967A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US16/981,743 US20210035579A1 (en) 2018-05-01 2019-04-05 Dialogue device
JP2020517037A JP6960049B2 (ja) 2018-05-01 2019-04-05 対話装置

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018-088222 2018-05-01
JP2018088222 2018-05-01

Publications (1)

Publication Number Publication Date
WO2019211967A1 true WO2019211967A1 (ja) 2019-11-07

Family

ID=68386332

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/015216 WO2019211967A1 (ja) 2018-05-01 2019-04-05 対話装置

Country Status (3)

Country Link
US (1) US20210035579A1 (ja)
JP (1) JP6960049B2 (ja)
WO (1) WO2019211967A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000207214A (ja) * 1999-01-20 2000-07-28 Victor Co Of Japan Ltd 対話装置
JP2007188510A (ja) * 2007-01-24 2007-07-26 P To Pa:Kk 会話制御システム、会話制御方法、プログラム及びプログラムを記録した記録媒体
WO2015107741A1 (ja) * 2014-01-15 2015-07-23 ソニー株式会社 情報処理装置、情報処理方法およびプログラム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9318108B2 (en) * 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
KR101622111B1 (ko) * 2009-12-11 2016-05-18 삼성전자 주식회사 대화 시스템 및 그의 대화 방법
US10984034B1 (en) * 2016-10-05 2021-04-20 Cyrano.ai, Inc. Dialogue management system with hierarchical classification and progression
US11170768B2 (en) * 2017-04-17 2021-11-09 Samsung Electronics Co., Ltd Device for performing task corresponding to user utterance
US10380992B2 (en) * 2017-11-13 2019-08-13 GM Global Technology Operations LLC Natural language generation based on user speech style
US20190332948A1 (en) * 2018-04-26 2019-10-31 International Business Machines Corporation Situation-aware cognitive entity

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000207214A (ja) * 1999-01-20 2000-07-28 Victor Co Of Japan Ltd 対話装置
JP2007188510A (ja) * 2007-01-24 2007-07-26 P To Pa:Kk 会話制御システム、会話制御方法、プログラム及びプログラムを記録した記録媒体
WO2015107741A1 (ja) * 2014-01-15 2015-07-23 ソニー株式会社 情報処理装置、情報処理方法およびプログラム

Also Published As

Publication number Publication date
US20210035579A1 (en) 2021-02-04
JPWO2019211967A1 (ja) 2021-02-12
JP6960049B2 (ja) 2021-11-05

Similar Documents

Publication Publication Date Title
US11868734B2 (en) Dialogue system
JP7488871B2 (ja) 対話推薦方法、装置、電子機器、記憶媒体ならびにコンピュータプログラム
JP6975323B2 (ja) 対話サーバ
JP7043593B2 (ja) 対話サーバ
JP7003228B2 (ja) 対話サーバ
WO2019211967A1 (ja) 対話装置
US11430440B2 (en) Dialog device
WO2019202787A1 (ja) 対話システム
WO2019220791A1 (ja) 対話装置
JP6944594B2 (ja) 対話装置
JP7016405B2 (ja) 対話サーバ
US20220148729A1 (en) Information processing device
US20220067572A1 (en) Action determination using recommendations based on prediction of sensor-based systems
WO2018203510A1 (ja) 質問推定装置
JP2021026401A (ja) 審査装置
JP7093844B2 (ja) 対話システム
CN116564312B (zh) 设备控制方法、装置、电子设备及可读存储介质
US11914601B2 (en) Re-ranking device
WO2024053187A1 (ja) メッセージ送信装置
CN112000797A (zh) 基于神经网络的文本处理方法、设备、装置和存储介质

Legal Events

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

Ref document number: 19795808

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2020517037

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19795808

Country of ref document: EP

Kind code of ref document: A1