WO2016190126A1 - 情報処理装置、情報処理方法、およびプログラム - Google Patents

情報処理装置、情報処理方法、およびプログラム Download PDF

Info

Publication number
WO2016190126A1
WO2016190126A1 PCT/JP2016/064210 JP2016064210W WO2016190126A1 WO 2016190126 A1 WO2016190126 A1 WO 2016190126A1 JP 2016064210 W JP2016064210 W JP 2016064210W WO 2016190126 A1 WO2016190126 A1 WO 2016190126A1
Authority
WO
WIPO (PCT)
Prior art keywords
date
time
expression
user
unit
Prior art date
Application number
PCT/JP2016/064210
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 ソニー株式会社
Priority to US15/562,990 priority Critical patent/US20190122181A1/en
Priority to EP16799834.3A priority patent/EP3306484A4/en
Publication of WO2016190126A1 publication Critical patent/WO2016190126A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/109Time management, e.g. calendars, reminders, meetings or time accounting
    • G06Q10/1093Calendar-based scheduling for persons or groups
    • G06Q10/1095Meeting or appointment
    • 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/9032Query formulation
    • G06F16/90332Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/151Transformation
    • G06F40/157Transformation using dictionaries or tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • 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
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/109Time management, e.g. calendars, reminders, meetings or time accounting
    • 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/26Speech to text systems
    • 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
    • G10L2015/223Execution procedure of a spoken command

Definitions

  • the present technology relates to an information processing device, an information processing method, and a program, and in particular, an information processing device that can interpret and process a user's utterance in accordance with the user's intention, and information processing
  • the present invention relates to a method and a program.
  • the standard for conversion of date expressions such as “today” and “tomorrow” is basically the current date and time.
  • the present technology has been made in view of such a situation, and is intended to be able to interpret and process the content of the user's utterance in a form in line with the user's intention.
  • An information processing apparatus is extracted by a date management unit that identifies an assumed date that is a date assumed by a user, an extraction unit that extracts a date expression included in an input sentence input by the user, and And an arithmetic unit that obtains the date and time represented by the date and time expression on the basis of the assumed date and time.
  • a determination unit may be provided that determines any one of the assumed date and the current date and time as a reference date and time for obtaining the date and time represented by the date and time expression.
  • the arithmetic unit can cause the date and time represented by the extracted date and time expression to be obtained on the basis of the date and time determined by the determining unit.
  • the date and time management unit manages the date and time obtained by the calculation unit as the new assumed date and time, and the calculation unit is extracted from the input sentence input after the new assumed date and time is managed. Further, the date and time represented by the date and time expression can be obtained based on the new assumed date and time.
  • An output unit that outputs date and time information in a predetermined format representing the date and time obtained by the arithmetic unit and a processing unit that performs processing based on the date and time information output from the output unit can be further provided.
  • a storage unit for storing a plurality of the date and time expressions can be further provided.
  • the extraction unit can extract the date expression stored in the storage unit from the input sentence.
  • a storage unit for storing rules for determining the date and time represented by the date and time expression in association with the date and time expression.
  • the arithmetic unit can determine the date and time represented by the date and time expression according to the rules stored in the storage unit in association with the extracted date and time expression.
  • the classification unit for classifying the content of the input sentence and whether the calculation of the date and time represented by the extracted date and time expression is performed so as to obtain a past date and time or to obtain a future date and time. It can further be provided with the determination part which determines according to the classification result of the content of a sentence. In this case, the calculation unit can cause the calculation of the date and time represented by the extracted date and time expression according to the determination by the determination unit.
  • the input sentence may be a character string obtained by recognizing the user's utterance or a character string input by an operation by the user.
  • the date and time management unit can specify the assumed date and time based on the analysis result of the input sentence or the user's action.
  • an assumed date and time that is a date and time expected by a user is specified, a date and time expression included in an input sentence input by the user is extracted, and a date and time represented by the extracted date and time expression is Calculated based on the expected date and time.
  • the content of the user's utterance can be interpreted and processed in accordance with the user's intention.
  • FIG. 16 is a diagram continued from FIG. 15 for describing a series of processes for operating the scheduler by voice. It is a figure following FIG. 16 explaining a series of processes for operating the scheduler by voice. It is a figure which shows the structural example of a speech semantic analyzer.
  • FIG. 24 is an enlarged view of the vicinity of an arc A24 in FIG. It is a figure which shows the other example of the sentence template WFST. It is a figure which shows the further another example of the sentence template WFST. It is a figure which shows the example of the finite value slot WFST. It is a figure which shows the other example of the finite value slot WFST.
  • First embodiment (example of date / time expression conversion system) 2.
  • Second embodiment (example of semantic analyzer)
  • FIG. 1 is a diagram illustrating an information processing terminal according to an embodiment of the present technology.
  • the information processing terminal 1 is a tablet-type device.
  • the housing of the information processing terminal 1 is provided with a display such as an LCD (Liquid Crystal Display).
  • the display displays various types of information, such as schedules, taken pictures, news with text and images laid out, and recorded program videos.
  • the information processing terminal 1 is loaded with various applications such as a scheduler, album application, news application, video management application, and healthcare application.
  • Scheduler is an application that manages user schedules.
  • the album application is an application for managing photographed images.
  • the news application is an application that displays news acquired from a server or the like.
  • the video management application is an application that manages program recording and playback.
  • the health care application is an application that manages user biometric information such as blood pressure and heart rate detected by a sensor worn by the user, and the amount of activity of the user.
  • the display has a touch panel.
  • a camera or a microphone is provided at a predetermined position of the casing of the information processing terminal 1 such as an edge of the display.
  • the information processing terminal 1 has a function of recognizing the content of a user's utterance collected by a microphone.
  • the information processing terminal 1 executes various processes according to the content of the user's utterance. The user can operate not only by directly touching the display with a finger or the like but also by voice.
  • a calendar for a certain month is displayed on the display of the information processing terminal 1 as shown in FIG.
  • the user speaks “What is the schedule for next week?”
  • “Next week” as the date and time expression is recognized
  • the schedule for “next week” registered by the user is displayed.
  • the standard of “next week” is not necessarily the current date and time but the date and time that the user assumes. For example, if the user selects a date on the calendar, that date becomes the reference for “next week”. That is, the schedule for the next week of the week including the date selected by the user is displayed instead of the schedule for the week following the week including the current date and time. In addition, when the user has selected the current date and time, the schedule for the week following the week including the current date and time is displayed.
  • the information processing terminal 1 is provided with a function of recognizing the date and time expression included in the user's utterance in a form in accordance with the user's intention. Thereby, the information processing terminal 1 can perform various processes in a form according to the user's intention.
  • Date and time expressions include: time expression, day expression, day of the week expression, week expression, month expression, year expression, season expression, time expression, second expression, Expressions representing minutes, expressions representing hours, and the like are included.
  • FIG. 2 is a diagram showing the relationship of applications installed in the information processing terminal 1.
  • the information processing terminal 1 is provided with a date / time expression conversion application 11 and an application 12.
  • the date / time expression conversion application 11 is supplied with a character string input by the user.
  • the information processing terminal 1 is also provided with a voice recognition application for recognizing the user's voice collected by the microphone.
  • a voice recognition application for recognizing the user's voice collected by the microphone.
  • the voice recognition unit is realized in the information processing terminal 1.
  • a character string representing the content of the user's utterance recognized by the voice recognition application is supplied to the date / time expression conversion application 11.
  • a character string input by the user by operating a keyboard or the like may be supplied to the date / time expression conversion application 11.
  • Application 12 is various applications such as the above-described scheduler, album application, news application, video management application, and healthcare application.
  • the application 12 performs processing based on the date / time information supplied from the date / time expression conversion application 11.
  • a date / time expression conversion system is realized in the information processing terminal 1. It is also possible to realize the date / time expression conversion system on other devices such as a PC, a smartphone, a glasses-type information terminal, and a home appliance instead of the tablet device.
  • the information processing terminal 1 has a function (normalization function) for converting a date / time expression included in an input character string into a predetermined format.
  • the information processing terminal 1 uses a normalization function to convert a date / time expression represented by a character string such as “today”, a numeric string representing a date such as “2015/01/27”, or an hour / minute / second. Convert to the numeric string that represents it.
  • the date / time expression conversion process corresponds to a process of obtaining the date / time represented by the date / time expression included in the input character string with reference to a certain date / time.
  • the information processing terminal 1 has a function of extracting a character string representing a date and time expression from the input character string.
  • the information processing terminal 1 has a date expression dictionary in which character strings representing date expressions are registered.
  • FIG. 3 is a diagram showing an example of date and time expressions registered in the date and time expression dictionary.
  • the date / time expression dictionary includes various expressions representing time, various expressions representing the day, various expressions representing the day of the week, various expressions representing the week, various expressions representing the month, and year.
  • Various expressions to represent are registered.
  • Various expressions representing seconds, various expressions representing minutes, and various expressions representing times are registered.
  • Various expressions representing the season, various expressions representing the time, and the like are also registered in the date expression dictionary.
  • the information processing terminal 1 refers to such a date expression dictionary and extracts a registered character string as a date expression.
  • the information processing terminal 1 has a plurality of date and time basic functions that are functions for operating the extracted date and time expression.
  • FIG. 4 is a diagram showing an example of a date / time basic function.
  • Date and time basic functions include date and time basic functions.
  • the date basic functions include the functions of “set year information to ⁇ year”, “send year information for one year”, “return year information for one year”,.
  • the date basic function of “set year information to ⁇ year” is a function for converting the base year to a specific year such as “2015” year.
  • the date basic function of “send year information for one year” is a function for converting the reference year to the next year.
  • the date basic function of “return year information by one year” is a function for converting the reference year to the previous year.
  • the basic date function of "Find the day of the week” converts the base day to the day of the week of "Month”, “Tue”, “Wed”, “Thurs”, “Friday”, “Sat”, or "Sun” It is a function.
  • the time basic functions include the functions of “turn time information to ⁇ hour”, “send time information for 1 hour”, “return time information for 1 hour”,..., “Return second information for 1 second”. .
  • the time basic function of “when time information is set to ⁇ ” is a function for converting the reference time to a specific time.
  • the time basic function of “send time information for one hour” is a function for converting the reference time to one hour later.
  • the time basic function of “return time information by one hour” is a function for converting the reference time to one hour before.
  • the information processing terminal 1 has a conversion rule dictionary. Conversion rules are registered in the conversion rule dictionary in association with each date expression. The conversion rule indicates which date / time basic function is used to obtain the date / time.
  • FIG. 5 is a diagram showing an example of conversion rules registered in the conversion rule dictionary.
  • the conversion rules can also be registered by the user. It is also possible to automatically register conversion rules based on information managed by the application 12.
  • the date expression is converted according to such a conversion rule.
  • the information processing terminal 1 has a function of holding the current date / time indicating the current date / time and the expected user date / time that is assumed to be assumed by the user. .
  • the current date information indicating the current date and time and the expected user date and time information indicating the assumed user date and time are held in the form of “year / month / day / hour / minute / second”, for example.
  • the information processing terminal 1 updates the held information according to the user's utterance. For example, the information processing terminal 1 updates the current date and time information when processing the user's utterance, and updates the user assumed date and time information as needed through the user's utterance.
  • the information processing terminal 1 estimates the date and time indicated by an instruction word such as “at that time” included in the user's utterance using the anaphora analysis technique, and holds the estimated date and time as the assumed user date and time.
  • the information processing terminal 1 estimates the date and time indicated by habitual expressions such as “usual time” included in the user's utterance using the context processing technology, and holds the estimated date and time as the assumed user date and time.
  • the information processing terminal 1 is notable for the user such as the date and time displayed on the screen or the date and time selected by the user.
  • the date and time to be estimated is estimated as the user assumed date and time.
  • the information processing terminal 1 holds the updated date and time as a new assumed user date and time each time the user operates and updates the date and time of interest.
  • the information processing terminal 1 detects which date and time the user is gazing at, and holds the detected date and time as the expected user date and time.
  • the camera provided in the housing of the information processing terminal 1 is used for detecting such a user's line of sight.
  • the information processing terminal 1 determines whether the conversion process is performed based on the current date and time or the conversion process is performed based on the assumed user date and time from the date and time expression included in the user's utterance.
  • the information processing terminal 1 has a reference expression list used for this determination.
  • the reference expression list is a list in which the date and time expression is associated with the reference date and time.
  • the reference date / time is a date / time that is a reference for conversion.
  • FIG. 6 is a diagram showing an example of the reference expression list.
  • “Tomorrow”, “Next day”, “Next month”, “Next month”, “Yesterday”, “Previous day”, “Last month”, “Previous month”, “Last week” The reference date and time corresponding to each date and time expression is shown.
  • the reference date and time corresponding to “Tomorrow” is the current date and time
  • the reference date and time corresponding to “Next day” is the user-estimated date and time.
  • the information processing terminal 1 analyzes a character string input by a user's utterance, decomposes it into a word string, and extracts a date expression.
  • the information processing terminal 1 performs matching between the extracted date expression and the reference expression list, and when the extracted date expression is registered in the date expression list, conversion of the extracted date expression is set as the reference date. This is based on the current date or user expected date and time.
  • the information processing terminal 1 converts the date and time expression using the current date and time as the reference date and time.
  • the information processing terminal 1 converts the date and time expression using the user's assumed date and time as the reference date and time.
  • Conversion of date and time expressions that are not registered in the reference expression list is performed using, for example, the user expected date and time as the reference date and time.
  • the date / time expression is converted using the current date / time as the reference date / time.
  • Past / future expression determination function The information processing terminal 1 determines whether the date expression included in the user's utterance indicates the past or the future. When the date and time expression included in the user's utterance indicates the past, the information processing terminal 1 performs conversion of the date and time expression so as to obtain the past date and time, and when indicating the future, the information processing terminal 1 converts the date and time expression to the future. It is done by asking for the date and time. In this way, the conversion of the date expression is performed in a form that matches the user's intention.
  • the information processing terminal 1 has an utterance content classifier that captures the outline of the content of the user's utterance.
  • the utterance content classifier classifies the utterance content of the user.
  • Each classification is represented by a combination of a domain as an operation target and a goal as an execution content.
  • FIG. 7 is a diagram showing an example of classification of utterance contents.
  • ADD For example, “ADD”, “CHECK”, and “DELETE” goals are registered for “SCHEDULE”. If the content of the utterance is related to “SCHEDULE”, the utterance is in one of three categories: domain: SCHEDULE—goal: ADD, domain: SCHEDULE—goal: CHECK, and domain: SCHEDULE—goal: DELETE. Classified. Thus, there are multiple goals in the same domain.
  • the domain of “SCHEDULE” is selected when a keyword related to the schedule is included in the utterance
  • the domain of “VIDEO” is selected when the keyword related to the program is included in the utterance.
  • the “MUSIC” domain is selected when a keyword related to music is included in an utterance
  • the “WEATHER” domain is selected when a keyword related to weather is included in an utterance.
  • the domain of “PHOTO_ALBUM” is selected when a keyword related to a photo is included in an utterance.
  • Each goal is also selected based on a keyword included in the utterance.
  • the information processing terminal 1 stores in advance keywords used for selecting such domains and goals.
  • the information processing terminal 1 has a processing direction list indicating whether date / time conversion should be processed in the past or in the future for each combination of domain and goal (for each classification). Processing in the past direction means converting a date expression so as to obtain a past date, and processing in the future means converting a date expression so as to obtain a future date.
  • FIG. 8 is a diagram showing an example of the processing direction list.
  • processing in the future direction is associated with the combination of domain: SCHEDULE-goal: ADD.
  • processing in the past direction is associated with the combination of domain: SCHEDULE-goal: CHECK.
  • VIDEO-Goal PLAY
  • the information processing terminal 1 determines the processing direction by matching the domain-goal classification result by the speech content classifier and the processing direction list, and converts the date and time expression. When the domain-goal classification result is not registered in the processing direction list, the information processing terminal 1 converts the date expression so as to process in the future direction.
  • the information processing terminal 1 can correctly recognize the date and time represented by the date and time expression spoken by the user as expected by the user.
  • the information processing terminal 1 can avoid performing processing different from the content assumed by the user by performing processing according to the recognized date and time.
  • the information processing terminal 1 performs a process of “sending the date one day” based on January 10, 2015, and displays information on January 11, 2015, thereby outputting a result assumed by the user. can do. If the current date is December 31, 2014 and the “send date is sent” process is performed, and information on January 1, 2015 is displayed, the result is the result assumed by the user. It is not preferable.
  • FIG. 9 is a block diagram illustrating a hardware configuration example of the information processing terminal 1.
  • a CPU Central Processing Unit
  • ROM Read Only Memory
  • RAM Random Access Memory
  • An input / output interface 55 is connected to the bus 54.
  • a display 56, a camera 57, a microphone 58, and a speaker 59 are connected to the input / output interface 55.
  • a touch panel 60, a memory 61, a communication unit 62, and a drive 63 are also connected to the input / output interface 55.
  • the display 56 displays various information according to control by the CPU 51.
  • the camera 57 captures various images such as an image showing the user's face.
  • the CPU 51 detects the user's line of sight based on the image taken by the camera 57.
  • the microphone 58 collects the user's utterance.
  • the utterance collected by the microphone 58 is converted into a character string, and date expression is extracted and converted.
  • Speaker 59 outputs various sounds such as voice.
  • the touch panel 60 is provided by being stacked on the display 56.
  • the touch panel 60 detects a user operation and outputs information representing the content of the operation to the CPU 51.
  • the memory 61 is composed of a non-volatile memory.
  • the memory 61 stores various data such as applications executed by the CPU 51.
  • the communication unit 62 is configured by a wireless LAN communication module or the like, and communicates with an external device.
  • the drive 63 writes data to the removable medium 64 such as a memory card and reads data from the removable medium 64.
  • FIG. 10 is a block diagram illustrating a functional configuration example of the information processing terminal 1.
  • the date expression conversion unit 71 includes an utterance content classification unit 81, a sensor information processing unit 82, a date expression extraction unit 83, an extraction information storage unit 84, a conversion processing unit 85, a conversion information storage unit 86, a result output unit 87, and A registration unit 88 is included.
  • a character string obtained by recognizing the content of the user's speech, a character string input by the user using a keyboard, and the like are input as an input sentence. Further, an image taken by the camera 57, information representing the operation content on the touch panel 60, and the like are input to the sensor information processing unit 82 as sensor data.
  • the utterance content classification unit 81 analyzes the input sentence and classifies the content of the user's utterance.
  • the utterance content classification unit 81 has the classification list described with reference to FIG.
  • Various text classification techniques can be used for classification by the utterance content classification unit 81.
  • the utterance content classification unit 81 outputs a classification result expressed as a combination of a domain and a goal to the date / time expression extraction unit 83 together with the input sentence.
  • the sensor information processing unit 82 analyzes the sensor data and outputs information representing the analysis result to the conversion processing unit 85. For example, the sensor information processing unit 82 recognizes the pupil and iris of the user's eyes that appear in the image captured by the camera 57, and based on the relationship between the reference position such as the position of the eye and the position of the pupil or iris. To detect the direction of the line of sight. The sensor information processing unit 82 specifies the position on the display 56 ahead of the line of sight as the viewpoint position, and outputs information indicating the viewpoint position. In addition, the sensor information processing unit 82 outputs information representing the position on the screen operated by the user.
  • the date / time expression extraction unit 83 refers to the date / time expression dictionary 101 described with reference to FIG. 3 and extracts the date / time expression included in the input sentence. Further, the date / time expression extraction unit 83 appropriately extracts the date / time expression registered in the user dictionary 102 from the input sentence. The date / time expression extraction unit 83 outputs the extracted date / time expression to the conversion processing unit 85 together with the classification result of the input sentence and the utterance content.
  • the extraction information storage unit 84 stores the date expression dictionary 101 and the user dictionary 102.
  • the conversion processing unit 85 specifies the user assumed date and time based on the input sentence and the information supplied from the sensor information processing unit 82, and holds the current date and user assumed date and time. The conversion processing unit 85 appropriately updates the current date and the estimated user date and time. In addition, the conversion processing unit 85 performs matching between the date expression extracted by the date expression extraction unit 83 and the reference expression list 114 to determine the reference date.
  • the conversion processing unit 85 refers to the processing direction list 113 and determines a processing direction according to the classification result of the utterance content by the utterance content classification unit 81.
  • the conversion processing unit 85 appropriately refers to the determined processing direction and selects a conversion rule corresponding to the extracted date expression from the conversion rule dictionary 112.
  • the conversion processing unit 85 reads the date / time basic function defined by the selected conversion rule from the date / time basic function dictionary 111, and converts the date / time expression extracted by the date / time expression extraction unit 83 using the read date / time basic function. .
  • the conversion processing unit 85 outputs the date / time information obtained by the conversion processing to the result output unit 87. Details of the conversion processing unit 85 will be described later.
  • the conversion information storage unit 86 stores a date and time basic function dictionary 111, a conversion rule dictionary 112, a processing direction list 113, and a reference expression list 114.
  • the result output unit 87 outputs the date and time information supplied from the conversion processing unit 85 as a numeric string representing a date and time in a predetermined format, such as “2015/01/27”, and a numeric string representing an hour, minute, and second. To do.
  • the number string output from the result output unit 87 is processed by the application 12.
  • the registration unit 88 registers the date expression input by the user and the date expression acquired from information managed by the application 12 in the user dictionary 102.
  • the registration unit 88 registers the conversion rule input from the user and the conversion rule acquired from information managed by the application 12 in the conversion rule dictionary 112.
  • FIG. 11 is a block diagram illustrating a configuration example of the conversion processing unit 85 in FIG.
  • the conversion processing unit 85 includes a date / time information management unit 121, a date / time information storage unit 122, a reference date / time determination unit 123, a processing direction determination unit 124, and a calculation unit 125.
  • the input sentence output from the date / time expression extraction unit 83 is input to the date / time information management unit 121, and the classification result of the utterance contents is input to the processing direction determination unit 124.
  • the date expression extracted by the date expression extraction unit 83 is input to the reference date determination unit 123 and the calculation unit 125.
  • the date / time information management unit 121 stores the current date / time and the assumed user date / time by causing the date / time information storage unit 122 to store the current date / time information and the expected user date / time information.
  • the date / time information management unit 121 updates the current date / time information stored in the date / time information storage unit 122, for example, every time an input sentence is input.
  • the date / time information management unit 121 analyzes the input sentence as described above and identifies the expected user date / time.
  • the date and time information management unit 121 detects the position of the user's viewpoint based on the information supplied from the sensor information processing unit 82, and specifies the date and time when the information is displayed at the position of the viewpoint as the assumed user date and time. Further, the date / time information management unit 121 detects the position operated by the user based on the information supplied from the sensor information processing unit 82, and specifies the date / time when the information is displayed at the operated position as the assumed user date / time.
  • the date / time information storage unit 122 includes a current date / time storage unit 131 and an assumed user date / time storage unit 132.
  • the current date and time storage unit 131 stores current date and time information.
  • the assumed user date storage unit 132 stores the expected user date information.
  • the reference date and time determination unit 123 performs matching between the date and time expression extracted from the input sentence and the reference expression list 114 stored in the conversion information storage unit 86, and determines the reference date and time. When determining that the current date is the reference date, the reference date determination unit 123 reads the current date information from the current date storage unit 131. In addition, when the reference date / time determination unit 123 determines that the assumed user date / time is the reference date / time, the reference date / time determination unit 123 reads the expected user date / time information from the assumed user date / time storage unit 132. The reference date / time determination unit 123 outputs the current date / time information or the assumed user date / time information to the calculation unit 125.
  • the processing direction determination unit 124 matches the classification result of the content of the user's utterance with the processing direction list 113 stored in the conversion information storage unit 86, and determines the processing direction of the conversion process.
  • the processing direction determination unit 124 outputs information indicating the determined processing direction to the calculation unit 125.
  • the calculation unit 125 selects a conversion rule corresponding to the date expression extracted from the input sentence from the conversion rule dictionary 112, and reads the date basic function defined by the selected conversion rule from the date basic function dictionary 111.
  • the calculation unit 125 converts the date and time expression using the read date and time basic function.
  • the calculation unit 125 selects a conversion rule according to the processing direction determined by the processing direction determination unit 124.
  • step S1 the utterance content classification unit 81 performs an utterance content classification process on the input sentence, and classifies the content of the user's utterance.
  • the utterance content classification unit 81 determines a combination of a domain and a goal according to the classification list.
  • step S2 the date / time expression extraction unit 83 refers to the date / time expression dictionary 101 and extracts the date / time expression included in the input sentence.
  • step S3 the date / time expression extraction unit 83 determines whether or not the date / time expression is included in the user's utterance. If it is determined that the date / time expression is not included, the process is terminated. If it is determined that the date expression is included in the user's utterance, the process proceeds to step S4.
  • step S4 the date / time information management unit 121 of the conversion processing unit 85 identifies the user expected date / time by analyzing the input sentence.
  • step S5 the date / time information management unit 121 updates the current date / time information stored in the current date / time storage unit 131. Further, the date and time information management unit 121 updates the assumed user date and time information stored in the assumed user date and time storage unit 132 by storing the expected user date and time information specified in step S4 in the user expected date and time storage unit 132. .
  • step S6 the arithmetic unit 125 performs matching between the extracted date expression and the conversion rule dictionary 112.
  • step S7 the calculation unit 125 determines whether or not the conversion rule for the extracted date expression is registered in the conversion rule dictionary 112, and if it is determined that the conversion rule is not registered, the processing ends. If it is determined that the conversion rule is registered in the conversion rule dictionary 112, the process proceeds to step S8.
  • step S8 the reference date determination unit 123 performs matching between the extracted date expression and the reference expression list 114, and determines whether or not the extracted date expression is an expression having the user assumed date and time as the reference date. .
  • the extracted date and time expressions are “next day”, “next month”, “previous day”, and “previous month”, the expected user date and time are The expression is determined to be the reference date and time.
  • step S9 the reference date / time determination unit 123 determines whether the user assumed date / time is set.
  • the reference date / time determination unit 123 sets the estimated user date / time to the reference date / time. Determine as.
  • step S11 the reference date and time determination unit 123 determines the current date and time as the reference date and time. Similarly, when it is determined in step S9 that the assumed user date is not set, the reference date determination unit 123 similarly determines the current date as the reference date in step S11.
  • step S12 the processing direction determination unit 124 matches the classification result of the content of the user's utterance with the processing direction list 113, and determines the processing direction of the conversion process.
  • step S13 the calculation unit 125 selects a conversion rule corresponding to the date expression extracted from the input sentence from the conversion rule dictionary 112.
  • the computing unit 125 reads the date / time basic function defined by the selected conversion rule from the date / time basic function dictionary 111.
  • step S14 the calculation unit 125 performs a date / time expression conversion process using the read date / time basic function.
  • the reference date / time is the assumed user date / time determined in step S10 or the current date / time determined in step S11.
  • Information representing the date and time obtained by the conversion process is supplied from the calculation unit 125 to the result output unit 87 and output to the application 12.
  • step S15 the date and time information management unit 121 updates the user estimated date and time by causing the user assumed date and time storage unit 132 to store the date and time information obtained by the conversion process.
  • the date and time obtained by the conversion process is used as the date and time assumed by the user in subsequent processing.
  • the information processing terminal 1 can interpret the date and time expression included in the user's utterance as the user assumes. Further, the application 12 can perform a process assumed by the user by performing the process based on the date expression interpreted by the date expression conversion application 11.
  • step S101 of FIG. 14 the user utters “What is the schedule for next week?”.
  • the voice recognition application of the information processing terminal 1 recognizes the user's utterance and outputs an input sentence representing the content of the utterance.
  • the input sentence is input to the date / time expression conversion unit 71 realized by the date / time expression conversion application 11.
  • step S111 the date / time expression conversion unit 71 acquires an input sentence supplied from the voice recognition application.
  • the utterance content classification unit 81 appropriately classifies the utterance content.
  • step S112 the date / time expression extraction unit 83 refers to the date / time expression dictionary 101 and extracts “next week” as the date / time expression.
  • step S113 the reference date determination unit 123 of the conversion processing unit 85 sets the assumed user date as the reference date based on the reference expression list 114.
  • step S114 based on the conversion rule dictionary 112, the calculation unit 125 selects “a function for sending day information for one week”, which is a conversion rule registered in association with the date expression of “next week”.
  • step S115 the calculation unit 125 reads the date / time basic function “send date information for one week” from the date / time basic function dictionary 111, and sets “next week” to the week including the reference date “2015/01/27”.
  • the date and time information of the next week is converted to “2015/02 / 02-2015 / 02/08”.
  • the date expression of “next week” is converted into date information having a range of “2015/02/02 to 2015/02/08”.
  • step S116 the result output unit 87 outputs a numeric string representing “2015/02/02 to 2015/02/08” to the scheduler as date information.
  • step S117 the date and time information management unit 121 stores “2015/02/02 to 2015/02/08” in the user assumed date and time storage unit 132 to update the user assumed date and time.
  • step S121 the scheduler receives a number string representing “2015/02/02 to 2015/02/08” supplied from the result output unit 87.
  • step S122 the scheduler acquires a schedule between “2015/02/02 to 2015/02/08”, and displays the schedule on the display 56 to output it.
  • the scheduler manages the information related to the schedule between “2015/02/02 to 2015/02/08” registered by the user by storing it in the memory 61.
  • step S131 of FIG. The voice recognition application of the information processing terminal 1 recognizes the user's utterance and outputs an input sentence representing the content of the utterance.
  • step S141 the date / time expression conversion unit 71 acquires an input sentence supplied from the voice recognition application.
  • step S142 the date / time expression extraction unit 83 refers to the date / time expression dictionary 101 and extracts “next week” as the date / time expression.
  • step S143 the reference date determination unit 123 of the conversion processing unit 85 sets the assumed user date as the reference date based on the reference expression list 114.
  • step S144 based on the conversion rule dictionary 112, the calculation unit 125 selects “a function for sending week information for one week” which is a conversion rule registered in association with the date expression of “next week”.
  • step S145 the calculation unit 125 reads the date / time basic function “send week information for one week” from the date / time basic function dictionary 111, and sets “next week” as the reference date and time “2015/02 / 02-2015 / It is converted to “2015/02/09-2015/02/15” which is the date and time information of the week following the week of “02/08”.
  • step S146 the result output unit 87 outputs a numeric string representing “2015/02/09 to 2015/02/15” as date information to the scheduler.
  • step S147 the date and time information management unit 121 stores “2015/02/09 to 2015/02/15” in the user assumed date and time storage unit 132 to update the user assumed date and time.
  • step S151 the scheduler receives a number string representing “2015/02/09 to 2015/02/15” supplied from the result output unit 87.
  • step S152 the scheduler obtains a schedule between “2015/02/09 and 2015/02/15” and outputs the schedule by displaying it on the display 56 or the like.
  • step S161 in FIG. 16 the user utters “Show Friday schedule”.
  • the voice recognition application of the information processing terminal 1 recognizes the user's utterance and outputs an input sentence representing the content of the utterance.
  • step S171 the date / time expression conversion unit 71 acquires the input sentence supplied from the voice recognition application.
  • step S172 the date / time expression extraction unit 83 refers to the date / time expression dictionary 101 and extracts “Friday” as the date / time expression.
  • step S173 the reference date and time determination unit 123 of the conversion processing unit 85 sets the user estimated date and time as the reference date and time based on the reference expression list 114.
  • step S174 based on the conversion rule dictionary 112, the calculation unit 125 selects “a function for obtaining a date” that is a conversion rule registered in association with the date expression of “Friday”.
  • step S175 the arithmetic unit 125 reads the date / time basic function “find the date” from the date / time basic function dictionary 111, and sets “Friday” to the reference date “2015/02/09 to 2015/02/15”. Convert to "2015/02/13" which is the date and time information of Friday of the week.
  • step S176 the result output unit 87 outputs a numeric string representing “2015/02/13” to the scheduler as date information.
  • step S177 the date and time information management unit 121 stores “2015/02/13” in the user assumed date and time storage unit 132 to update the user assumed date and time.
  • step S181 the scheduler receives a numeric string representing “2015/02/13” supplied from the result output unit 87.
  • step S182 the scheduler acquires the schedule of “2015/02/13”, displays it on the display 56, and outputs it.
  • step S191 in FIG. 17 the user speaks “Move the schedule tomorrow”.
  • the voice recognition application of the information processing terminal 1 recognizes the user's utterance and outputs an input sentence representing the content of the utterance.
  • step S201 the date / time expression conversion unit 71 acquires an input sentence supplied from the voice recognition application.
  • step S202 the date / time expression extraction unit 83 refers to the date / time expression dictionary 101 and extracts “tomorrow” as the date / time expression.
  • step S203 the reference date determination unit 123 of the conversion processing unit 85 sets the current date as the reference date based on the reference expression list 114.
  • step S204 based on the conversion rule dictionary 112, the calculation unit 125 selects “a function for sending day information for one day”, which is a conversion rule registered in association with the date expression of “tomorrow”.
  • step S205 the calculation unit 125 reads the date / time basic function “send date information for 1 day” from the date / time basic function dictionary 111, and sets “tomorrow” as the reference date (current date) “2015/01/27”. Is converted to “2015/01/28” which is the date and time information of the next day.
  • step S206 the result output unit 87 outputs a numeric string representing “2015/01/28” to the scheduler as date information.
  • step S207 the date and time information management unit 121 stores “2015/01/28” in the user assumed date and time storage unit 132 to update the user assumed date and time.
  • step S211 the scheduler receives a numeric string representing “2015/01/28” supplied from the result output unit 87.
  • step S212 the scheduler registers the schedule for “2015/02/13” as the schedule for “2015/01/28” and deletes the schedule for “2015/02/13”.
  • the user can operate the scheduler by voice to view a registered schedule or register a schedule.
  • a user can add a date expression and a conversion rule by himself / herself.
  • the registration unit 88 registers the date expression in the user dictionary 102 and the conversion rule in the conversion rule dictionary 112 according to the input by the user.
  • the registration unit 88 expresses “birthday” as a date and time. Is registered in the user dictionary 102. Also, the registration unit 88 registers “birthday” as a date and time expression in the conversion rule dictionary 112 in association with “a function for converting a birthday to March 1”. Instead of registering in the conversion rule dictionary 112, a user dictionary having the same format as the conversion rule dictionary 112 may be prepared and registered there.
  • the date / time expression extraction unit 83 refers to the user dictionary 102 and extracts “birthday” as the date / time expression.
  • the calculation unit 125 of the conversion processing unit 85 is a conversion rule registered in association with the date expression of “birthday” “a function for converting birthday to March 1”. Select.
  • the arithmetic unit 125 converts “birthday” into “2015/03/01” which is date information according to the selected date and time basic function.
  • the result output unit 87 outputs a numeric string representing “2015/03/01” to the scheduler as the application 12.
  • the user can also add a modifier such as “Yamada” to the keyword.
  • a modifier such as “Yamada”
  • the conversion rule is registered in association with the keyword “Yamada's birthday”.
  • the date and time expression extraction unit 83 refers to the user dictionary 102 and replaces the “Yamasan” portion with the date and time expression. Extract a certain "Yamada birthday”. Thereafter, in the same manner, “Yamada's birthday”, which is a date expression, is converted into date information according to the conversion rule.
  • the conversion processing unit 85 converts “Yamada's birthday”, which is a date expression, into date / time information and converts “Yamamoto's birthday” into date / time information in accordance with the conversion rule.
  • the scheduler that has received the two date / time information after conversion displays the two date / time and allows the user to select one of the date / time.
  • the conversion rule for "Yamada's birthday” and the conversion rule for "Yamamoto's birthday” is registered, only the date and time obtained according to the registered conversion rule is output.
  • the user can perform processing using expressions other than the month and day by registering a conversion rule that converts the date and time of “your date of birth” to “March 1, 1980”.
  • the registration unit 88 can also acquire information managed by the application 12 and register date expressions and conversion rules using the acquired information.
  • the album application manages information such as file name, shooting location, shooting time, and comments as metadata of each photo. For example, it is assumed that “*****. Data”, “athletic meet”, and “20141013-124254” are managed as the file name, comment, and shooting time of a certain photo, respectively.
  • the registration unit 88 acquires the information managed by the album application and registers “athletic day” in the user dictionary 102 as a date expression. In addition, the registration unit 88 registers, in the conversion rule dictionary 112, as a conversion rule, “athletic day” as a date expression and “function for converting athletic day on October 13, 2014” in association with each other.
  • the date expression extraction unit 83 refers to the user dictionary 102 and extracts “Athletic meet” as a date expression.
  • the calculation unit 125 of the conversion processing unit 85 is a conversion rule registered in association with the date expression of “athletic day” “a function for converting athletic day to October 13, 2014”. Select. The calculation unit 125 converts “athletic meet” into “2014/10/13” which is date information according to the selected date and time basic function.
  • the album application searches for a photo file “*****. Data” including the date in the metadata, This is displayed on the display 56.
  • Example of photo search It is also possible to use a date expression obtained by using a conversion rule registered in advance for photo search.
  • the date expression extraction unit 83 refers to the date expression dictionary 101 and extracts “summer” as the date expression. .
  • the arithmetic unit 125 of the conversion processing unit 85 converts the date expression “summer” into “2014/07/01 to 2014/1530” according to the conversion rule registered in the conversion rule dictionary 112.
  • the album application that acquired the date and time information of “2014/07/01 to 2014/03/30” searches for photos taken within the period of “2014/07/01 to 2014/03/30”, and the search results Is displayed on the display 56.
  • the date expression extraction unit 83 refers to the date expression dictionary 101 and extracts “Christmas” as the date expression. .
  • the calculation unit 125 of the conversion processing unit 85 converts the date expression “Christmas” into “2014/12/25” in accordance with the conversion rules registered in the conversion rule dictionary 112.
  • the album application that acquired the date / time information of “2014/12/25” searches for the photo taken on “2014/12/25” and displays the search result on the display 56.
  • conversion rules registered in advance in the conversion rule dictionary 112 include rules for converting an expression representing a date / time range to another date / time, and specific dates / times such as holidays and anniversaries. Contains rules for converting to date and time. Expressions representing the date and time range include “spring, summer, autumn and winter”, “am”, “afternoon”, and so on. In addition, expressions expressing a specific date / time include “energy saving”, “physical education day”, “children's day”, “green day”, and so on.
  • the date / time expression extraction unit 83 refers to the date / time expression dictionary 101 and extracts “10:00 on the day after tomorrow” as the date / time expression. To do.
  • the calculation unit 125 of the conversion processing unit 85 selects “a function for sending date information for two days”, which is a conversion rule registered in association with the date expression of “the day after tomorrow”.
  • the calculation unit 125 converts “10 o'clock the day after tomorrow” into “2015/01/29 10:00:00”, which is date information, according to the selected date and time basic function.
  • the reference date and time at this time is the current date and time.
  • the scheduler Based on the numeric string “2015/01/29 10:00:00” supplied from the date / time expression conversion application 11, the scheduler registers “conference” as the schedule for 10:00 of “2015/01/29”. . After registering the schedule, the scheduler outputs the voice “Registered” from the speaker 59. Note that the character string “conference” representing the schedule is extracted by analyzing the meaning of the input sentence, as will be described later.
  • the date and time information management unit 121 stores “2015/01/29: 010: 00: 00” in the user expected date and time storage unit 132 as the user assumed date and time.
  • the date and time expression extraction unit 83 refers to the date and time expression dictionary 101 and sets “date and time 8:00” as the date and time expression. Extract.
  • the scheduler Based on the numeric string “2015/01/29 20:00:00” supplied from the date / time expression conversion application 11, the scheduler registers “meal” as a schedule for “2015/01/29” at 20:00. . After registering the schedule, the scheduler outputs the voice “Registered” from the speaker 59.
  • the user's expected date and time is retained for a certain time. In other words, a limit is set for the user's estimated date and time when it is valid.
  • the date / time information management unit 121 deletes the assumed user date / time stored in the assumed user date / time storage unit 132.
  • the processing is performed in a state in which the assumed date and time of the user is not retained, so the date and time expression is converted using the current date and time as the reference date and time. . Since the current date and time is “2015/01/27”, “2015/01/27 20:00:00” is output as the conversion result of the date and time expression.
  • Example of schedule confirmation As described above, it is also possible to specify the estimated date and time of the user by using a detection result by a sensor such as the camera 57. Here, it is assumed that today (the day the user is operating) is “2015/01/27 (Tue)”.
  • the scheduler is executed as the application 12, and the calendar of the period “2015/02/01 to 2015/02/30” is displayed on the screen of the display 56 according to the operation by the user.
  • “2015/02/01 to 2015/02/30” which is the date and time displayed on the screen, is registered as the assumed user date and time.
  • the date and time expression extraction unit 83 refers to the date and time expression dictionary 101 and extracts “next month” as the date and time expression.
  • the calculation unit 125 of the conversion processing unit 85 converts the date expression of “next month” into “2015/03/01 to 2015/03/31” based on the conversion rule registered in the conversion rule dictionary 112. .
  • the reference date and time is “2015/02/01 to 2015/02/30” as the assumed user date and time.
  • the scheduler displays the schedule within the period based on the numeric string “2015/03/01 to 2015/03/31” supplied from the date / time expression conversion application 11.
  • the date and time information management unit 121 stores “2015/03/01 to 2015/03/31” in the user expected date and time storage unit 132 as the user expected date and time.
  • the date / time expression extraction unit 83 refers to the date / time expression dictionary 101 and extracts “28th day” as the date / time expression.
  • the calculation unit 125 of the conversion processing unit 85 converts the date expression “28th” to “2015/03/28” based on the conversion rule registered in the conversion rule dictionary 112.
  • the reference date and time is “2015/03/01 to 2015/03/31” as the assumed user date and time.
  • the date and time of the calendar displayed on the screen takes precedence over the current date and time, and “2015/01/28”, which is “28th” in January, including “2015/01/27”, which is the current date and time. Instead, the conversion result of “2015/03/28” will be obtained. However, if a date / time expression condition such as “28th of this month” is added and a more detailed date / time expression is included in the utterance, it is converted to “2015/01/28”.
  • the scheduler displays the schedule for “2015/03/28” based on the numeric string “2015/03/28” supplied from the date / time expression conversion application 11.
  • the date / time information management unit 121 stores “2015/03/28” in the user assumed date / time storage unit 132 as the user assumed date / time.
  • the date / time expression extraction unit 83 refers to the date / time expression dictionary 101 and extracts “this day” which is the date / time expression.
  • the arithmetic unit 125 of the conversion processing unit 85 converts the date expression of “this day” into “2015/02/01” that is the user expected date and time.
  • the scheduler displays the schedule “2015/02/01” based on the numeric string “2015/02/01” supplied from the date / time expression conversion application 11.
  • the date and time obtained by analyzing the data detected by the sensor provided in the information processing terminal 1, such as the date and time at the position of the user's viewpoint and the date and time at the position operated by the user, is used as the assumed user date and time. It is also possible.
  • the position operated by the user is detected by a touch panel 60 as a sensor.
  • Example when browsing news It is also possible to convert the date and time contained in a news article and display the news article replaced with the converted date and time.
  • the display 56 displays a news article in which sentences and photos are arranged.
  • News articles may include date and time expressions such as “Last Monday ⁇ ” or “27th afternoon ⁇ ”. These date and time expressions are based on the current date and time of today (article issue date), so if the news article reading date is different from the article issue date, the date and time expression will be shifted to the intended date. Will occur.
  • the date / time information management unit 121 stores the issue date of the news article in the current date / time storage unit 131 as a virtual current date and manages it.
  • the arithmetic unit 125 converts “last Monday” which is the date and time expression included in the sentence “to last Monday to” in accordance with the conversion rule into “2015/01/19”.
  • the reference date and time is “2015/01/27” as a virtual current date and time.
  • the calculation unit 125 converts “27 pm”, which is the date and time expression included in the text “27 pm in the afternoon”, to “2015/01/27 12: 00-23: 59”. even here.
  • the reference date and time is “2015/01/27” as a virtual current date and time.
  • the news application replaces the character string “Last Monday” included in the news article with “2015/01/19” based on the numeric string “2015/01/19” supplied from the date / time expression conversion application 11. To display.
  • the news application based on the numeric string “2015/01/27 12: 00-23: 59” supplied from the date / time expression conversion application 11, converts the character string “27 pm” included in the news article. Replace with “2015/01/27 12: 00-23: 59” and display.
  • the processing direction determination unit 124 of the conversion processing unit 85 refers to the processing direction list 113 and determines that the processing is performed in the past direction based on the classification result by the utterance content classification unit 81.
  • the date and time expression extraction unit 83 refers to the date and time expression dictionary 101 and extracts “Monday” as the date and time expression.
  • the calculation unit 125 of the conversion processing unit 85 selects “a function for obtaining a date” that is a conversion rule registered in association with a date expression of “Monday”. According to the selected date and time basic function, the calculation unit 125 sets “Monday” as the reference date (current date and time) in the past of “2015/01/27” and the date of the most recent Monday as “2015/01/26. To "".
  • the video management application starts playback of the video content recorded on “2015/01/26” based on the numeric string “2015/01/26” supplied from the date / time expression conversion application 11, or “2015 / 01/26 "list of recorded video content.
  • the utterance content classification unit 81 analyzes the meaning of the content of the utterance, and utters the user's utterance in the domain: VIDEO-goal: Sort into RECORD categories.
  • the processing direction determination unit 124 of the conversion processing unit 85 refers to the processing direction list 113 and determines that the processing is to be performed in the future direction based on the classification result by the utterance content classification unit 81.
  • the date and time expression extraction unit 83 refers to the date and time expression dictionary 101 and extracts “Monday” as the date and time expression.
  • the calculation unit 125 of the conversion processing unit 85 selects “a function for obtaining a date” that is a conversion rule registered in association with a date expression of “Monday”. According to the selected date and time basic function, the calculation unit 125 sets “Monday” as the reference date (current date and time), the future of “2015/01/27”, and the date of the most recent Monday. To "".
  • the video management application sets a recording reservation for “XX” broadcast on “2015/02/02” based on the numeric string “2015/02/02” supplied from the date / time expression conversion application 11.
  • the information processing terminal 1 can expand the range of interpretation of date expressions by registering date expressions and conversion rules based on data acquired from a plurality of applications. .
  • the registration unit 88 registers “jogging” in the user dictionary 102 as a date expression based on the information acquired from the scheduler. In addition, the registration unit 88 associates the date and time expression of “jogging” with the “function for converting jogging to 2015/01/02” and “the function for converting jogging to 2015/01/09”, respectively. 112 is registered.
  • the date and time expression extraction unit 83 refers to the user dictionary 102 and uses the date and time expression “ Extract "jogging”.
  • the calculation unit 125 of the conversion processing unit 85 converts “jogging” into “2015/01/02” and “2015/01/09” based on the conversion rules registered in the conversion rule dictionary 112.
  • the health care application Based on the numeric strings “2015/01/02” and “2015/01/09” supplied from the date / time expression conversion application 11, the health care application records the jogging record “2015/01/02” and “2015 The record of jogging “/ 01/09” is read out and displayed on the display 56.
  • the jogging record is an action log managed by the healthcare application.
  • the application 12 can arbitrarily set the retention period of the date expression registered in the user dictionary 102 and the retention period of the conversion rule registered in the conversion rule dictionary 112. By deleting the date expression and conversion rule when the retention period has elapsed, it becomes possible to omit searching for unnecessary data.
  • Second Embodiment >> ⁇ 1.
  • Analysis of the meaning of the user's utterance will be described. Extraction of date expression is performed by analyzing the meaning of the utterance.
  • semantic analysis of an input sentence as a speech recognition result is performed by sharing the following three parts.
  • the slot to fill the value is decided.
  • An example of a slot for each frame is as follows.
  • ⁇ ⁇ ⁇ ⁇ Slots required under the “Add Schedule” frame are the title, start date, end date, start time, end time, and duration.
  • the slots required under the “Weather Forecast Check” frame are location, start date, end date, start time, end time, and duration.
  • the slots required under the “Call” frame are the phone number, destination name, number type (landline / mobile), and group.
  • the necessary slots under the “music playback” frame are the song name, album name, and artist name.
  • the role of the phrase extraction unit is to cut out a word corresponding to the slot from the speech recognition result and put it in the corresponding slot.
  • the speech recognition result “scheduled to meet with the customer for 2 hours from 10:00 on next Wednesday” is classified into the “schedule addition” frame.
  • the following words are contained in each slot of title, start date, end date, start time, end time, and period.
  • the format of the slot value related to date and time is converted.
  • the telephone number is specified from the values of each slot such as the destination name, number type, group, and the like.
  • the phrase “tomorrow” enters the start date slot in the input sentence “scheduled business trip from tomorrow to tomorrow”.
  • the input sentence “scheduled business trip from today to tomorrow” and the input sentence “business trip is from today to tomorrow” enter the end date slot.
  • the edit distance means the minimum number of times until an edit operation such as insertion or deletion of a symbol is performed between one template and an input sentence and the two match.
  • the insertion or deletion of symbols is performed only for symbols corresponding to the outside of the slot, not for symbols corresponding to the inside of the slot.
  • the template here is data that has a structure in which the word / phrase corresponding to the slot is replaced with a blank with a name in the input utterance example.
  • the following template is prepared in the “schedule addition” frame.
  • a part such as [start time] surrounded by “[]” is a blank corresponding to the slot.
  • a template corresponding to one utterance such as “schedule of [title] from [start time] to [end time]” is referred to as a “sentence template”, and a sentence template corresponding to one frame. Is called a “template set”.
  • -Slots related to date and time Prepared by describing basic parts such as month, day, day of the week, hour and minute and combinations of these parts in a predetermined format.
  • Title slot of “schedule addition” frame Prepared by using a list of typical titles such as “meeting” and “meeting” together with a mechanism for cutting out an arbitrary character string surrounded by a specific symbol. For example, in the phrase extraction for the input sentence “scheduled to discuss about the case of the example from 3 o'clock”, the character string “meeting about the case of the example” surrounded by “from” and “scheduled” Cut out and stored in the title slot.
  • the slot values are classified into three types, and any of them can be expressed as a difference in WFST form.
  • -The ambiguous matching between the input sentence and the template (after expansion) can be realized by an operation of combining WFSTs, and at the same time, the phrase corresponding to the slot can be specified.
  • the start / end mark of the slot is output at the time of matching.
  • the portion between the marks is cut out after matching and stored in the corresponding slot.
  • FIG. 18 is a diagram illustrating a configuration example of a speech semantic analyzer using the above technique.
  • the speech semantic analyzer 201 includes an input unit 211, a frame selection unit 212, a phrase extraction unit 213, and a value conversion unit 214.
  • the input unit 211 performs a process of converting a voice utterance into text.
  • Various voice recognition techniques can be used for this module. Further, instead of acquiring text by voice recognition, text input using a physical or virtual keyboard or the like may be acquired. Moreover, you may make it acquire a text using a character recognition technique.
  • the output of the input unit 211 is a speech recognition result corresponding to speech utterance or text similar to it.
  • the output of the input unit 211 is supplied to the frame selection unit 212 and the phrase extraction unit 213 as an input sentence.
  • the frame selection unit 212 performs processing for selecting a frame corresponding to the input sentence. In other words, the frame selection unit 212 classifies which frame the input sentence belongs to. Various text classification techniques can be used for this module. Each frame has a name. The name of the frame (frame name) selected by the frame selection unit 212 is supplied to the phrase extraction unit 213.
  • the phrase extraction unit 213 extracts a phrase (phrase) corresponding to the slot from the input sentence and stores it in each slot.
  • the phrase extraction unit 213 performs these processes using the frame name supplied from the frame selection unit 212 as appropriate.
  • the reason for using the frame name is that the slot to be stored differs depending on the frame even for the same word / phrase. Details of the phrase extraction unit 213 will be described later.
  • the phrase extraction result that is the output of the phrase extraction unit 213 is supplied to the value conversion unit 214.
  • the following phrase extraction result is supplied to the value conversion unit 214 for the input sentence “scheduled to meet with the customer for two hours from 10:00 on next Wednesday” described above.
  • the value conversion unit 214 converts the value stored in a predetermined slot of the phrase extraction result supplied from the phrase extraction unit 213 into a format that can be easily processed by the post-processing unit 202. For example, assuming that the date of utterance is September 12, 2014, the value conversion unit 214 determines the phrase extraction result based on the value of the slot related to the date and time as the following start date and time and end date and time. Convert to value. Note that the title is not converted because it is used as it is in the post-processing unit 202.
  • the value stored in the slot representing the place name may be converted to latitude and longitude, or from the value of “Yamada's work number” to a specific phone number .
  • the output of the value conversion unit 214 is supplied to the post-processing unit 202 as the output (semantic analysis result) of the speech semantic analyzer 201.
  • the post-processing unit 202 performs processing corresponding to the semantic analysis result.
  • the scheduler that acquired the above semantic analysis results generates an item named “Meeting with the customer” and registers and manages it as a schedule from 10 am to 12 pm on September 17, 2014 .
  • FIG. 19 is a block diagram illustrating a configuration example of the phrase extraction unit 213.
  • the phrase extraction unit 213 includes a matching unit 221, a template set storage unit 222, and a slot filling unit 223.
  • the input sentence output from the input unit 211 and the frame name output from the frame selection unit 212 are input to the matching unit 221.
  • the template set storage unit 222 stores the template set.
  • the template set stored in the template set storage unit 222 is a set of one or more sentence templates. Sentence templates are classified by frame name. When N types of frames are used, N template sets are prepared accordingly.
  • sentence templates and template sets are expressed in the form of weighted finite state transducers (WFST). Details of WFST will be described later.
  • WFST weighted finite state transducers
  • the matching unit 221 reads the template set corresponding to the frame name from the template set storage unit 222, and performs the following two processes between the read template set and the input sentence.
  • Process 1 is a process of selecting a sentence template that most closely matches an input sentence from among sentence templates included in one template set.
  • Process 2 is a process in which the sentence template selected in Process 1 is matched with the input sentence, and a phrase to be stored in each slot is obtained from the input sentence.
  • the input sentence is “From 3 o'clock to 5 o'clock, add the meeting schedule” and the template set consists of the following five sentence templates.
  • Input sentence From 3 o'clock to 5 o'clock Meeting schedule is added and sentence template: [Title] schedule from [Start time] to [End time] That is, [Start time], [End time], [Title] respectively “3 o'clock”, “5 o'clock”, and “conference” are stored in the slots.
  • processing 1 and processing 2 are matched simultaneously by using WFST synthesis.
  • the matching unit 221 outputs the matching result obtained by the matching between the processing 1 and the processing 2 to the slot filling unit 223.
  • the slot filling unit 223 generates slot filling format data from the matching result.
  • the slot filling unit 223 generates the following data. Start time: 3 o'clock End time: 5 o'clock Title: Meeting
  • the slot filling unit 223 outputs the generated slot filling data as a phrase extraction result.
  • template sets stored in the template set storage unit 222 will be described.
  • WFST weighted finite state transducer
  • WFST is a type of directed graph (directed graph), and is composed of nodes called “states” and arrows called “arcs”. Each arc is given a set of an input symbol, an output symbol, and a transition weight as a label.
  • FIG. 20 is a diagram showing a basic configuration of WFST.
  • states 1 to 4 are indicated by circles.
  • the arrows from state 1 to state 2, the arrow from state 1 to state 3, the arrow from state 2 to state 4, and the arrow from state 3 to state 4 are arcs A1 to A4, respectively.
  • a label is assigned to each of the arcs A1 to A4.
  • Each label has a format of “input symbol / output symbol / transition weight”.
  • the label “a: A / w1” given to the arc A1 is “When the symbol a is input in the state 1, the state A is consumed and the state A is transitioned to the state 2 and the symbol A is output at that time. And the weight required for the transition is W1 ”.
  • State 1 is the start state. The state transition starts from state 1.
  • State 4 is an end state. If the state 4 is reached when all the input symbols are consumed, a sequence including the input symbols (hereinafter referred to as an input symbol string) is expressed as accepted. In other cases, that is, when there is no transition corresponding to the input symbol or when the state does not reach the state 4 even if all the input symbols are consumed, the input symbol string is expressed as not accepted. Is done.
  • transition weight is interpreted as a score (larger value is better transition) or cost (smaller value is better transition) can be used depending on the purpose. In the following, since it is interpreted as a cost, the transition weight is also expressed as “cost” or “penalty”.
  • the label is omitted when the transition weight is 0, and when the input symbol and the output symbol are the same, only one is described.
  • the label “a” indicates that “a: a / 0” is omitted.
  • FIG. 22 is a diagram showing a template set expressed in WFST.
  • a template set is represented by connecting WFSTs corresponding to sentence templates in parallel.
  • sentence templates WFST # 1 to #n are shown.
  • Each sentence template WFST is a WFST corresponding to one of the sentence templates. Details will be described later.
  • Each sentence template WFST has a common start state.
  • the sentence templates WFST # 1 to #n and the start state are connected by arcs A11-1 to 11-n.
  • a label including “ ⁇ s>”, which is a special symbol representing the beginning of a sentence (utterance start point), is assigned to the arcs A11-1 to 11-n. This label is abbreviated as “ ⁇ s>: ⁇ s> / 0”, and “ ⁇ s> is consumed and ⁇ s> is output as it is, and the transition weight at that time is 0”. Means that.
  • each sentence template WFST has a common end state.
  • the sentence templates WFST # 1 to #n and the end state are connected by arcs A12-1 to 12-n.
  • a label including “ ⁇ / s>”, which is a special symbol representing the end of a sentence (utterance end), is assigned to the arcs A12-1 to 12-n. This label is abbreviated as " ⁇ / s>: ⁇ / s> / 0".
  • FIG. 23 is a diagram showing an example of a sentence template WFST when characters are associated with input symbols and output symbols.
  • the sentence template WFST shown in FIG. 23 is a WFST corresponding to the sentence template (b) “plan of [title] from [start time] to [end time] of [start date]] described above.
  • the input symbol and output symbol of WFST are characters. That is, one state transition occurs every time one character is consumed except for an ⁇ transition described later.
  • the start state and end state correspond to the start state and end state in FIG. 22, respectively.
  • a sentence template WFST surrounded by a frame corresponds to one of the sentence templates WFST # 1 to #n.
  • Slots WFST # 21 to # 24 are WFSTs corresponding to [Start Date], [Start Time], [End Time], and [Title] that are slots included in the sentence template (b). Details of the slot WFST will be described later.
  • the labels given to the arcs A22, A24, A25, A27, A28, A30, A31, A32 are labels having normal symbols (symbols other than special symbols) as input symbols and output symbols. For example, “no”, which is a label assigned to the arc A22, represents “no: / 0”.
  • arcs are classified into the following four types. As appropriate, each arc is referred to as arcs (a) to (d).
  • Arc (a) has the characteristics that the input symbol and the output symbol are the same and the transition weight is 0.
  • arcs A22, A24, A25, A27, A28, A30, A31, and A32 correspond to arc (a).
  • the arc A22 is an arc that consumes “no” and outputs “no” as it is, and the transition weight at that time becomes zero.
  • Arc (b) is an arc with no label attached.
  • arcs A21, A23, A26, and A29 correspond to arc (b).
  • Arc (b) is actually labeled “ ⁇ : ⁇ / 0”.
  • is a special symbol representing empty, and this label represents “transition without consuming the input symbol, nothing is output at that time, and the transition weight is 0”.
  • Arc (c) will be described.
  • the ambiguous matching is to match both of the input symbol strings or sentence templates by inserting or dropping symbols. For example, when the input sentence is “There is a meeting from 3:00 to 5:00 today”, the symbols are associated as follows in order to match the sentence template of FIG.
  • Input symbol string Today-Scheduled meeting from 3:00 to 5:00
  • Sentence template Schedule of [Title] from [Start Time] to [End Time] of [Start Date] --- That is, “Today”, “ ⁇ ”, “3 o'clock”, “ka”, “ra”, “5 o'clock”, “ma”, “de”, “meeting”, “no”,
  • the symbols “preliminary”, “fixed”, “ga”, “a”, “ru” are the [start date] slot, “no”, [start time] slot, “ka”, “ ”,“ End Time ”slot,“ Ma ”,“ De ”, [Title] slot,“ No ”,“ Preliminary ”,“ Constant ”,“-”,“-”,“-”.
  • arcs a1 to a9 indicated by broken lines indicate symbol insertion
  • arcs a11 to a18 indicated by alternate long and short dash lines indicate symbol dropout. Both arcs are given special labels. The special label will be described with reference to FIG.
  • FIG. 24 is a partially enlarged view of the vicinity of the arc A24 in FIG.
  • nodes n1 and n2 The nodes on both sides of the arc A24 are referred to as nodes n1 and n2, respectively. From the node n1, there is an arc a2 representing the insertion of the symbol. Arc a2 is a self-loop arc and returns to node n1.
  • a special label “ ⁇ ins>: ⁇ ins> / Wi” is attached to arc a2.
  • ⁇ ins> is a special symbol representing symbol insertion.
  • Wi is a positive value corresponding to the weight (cost) of one insertion of a symbol. Wi may be 1.
  • the sentence template WFST in FIG. 23 is a WFST that counts the number of symbol insertions.
  • ⁇ rest> may be used instead of ⁇ ins> as an output symbol (the label “ ⁇ ins>: ⁇ rest> / Wi” may be added).
  • ⁇ rest> is a special symbol. In this case, it is possible to output a symbol that is treated as an insertion in the matching result. Details will be described later.
  • the matching unit 221 inputs the input sentence “ ⁇ s>, now, day, 3, hour, or, 5, 5, hour, day, meeting, discussion, ga, ru, ⁇ / s>”. Convert to a symbol string.
  • the matching unit 221 performs matching using the sentence template WFST for the input symbol string.
  • symbols are configured in units of characters, but symbols can also be configured in units of words (morpheme units).
  • FIG. 25 is a diagram illustrating an example of a sentence template WFST in the case where words are associated with input symbols and output symbols.
  • the matching unit 221 applies morphological analysis to the input sentence and generates an input symbol string based on the result.
  • each symbol can include parts of speech or fine parts of speech.
  • each symbol can include parts of speech or fine parts of speech.
  • a character string such as “plan + noun + general noun” may be used as a symbol.
  • the number of symbols may be reduced by dividing the numbers into characters. For example, if the day portion of the date is set to "1 day” or "31 day", 31 symbols are required, but if the number is divided into characters, the numbers from 0 to 9 and 11 "day” It can be expressed with the symbol. Therefore, even when symbols are configured in units of morphemes, numbers may be configured for each character.
  • the symbol itself is configured by the character unit, but arcs for fuzzy matching can be arranged in consideration of the word boundary.
  • FIG. Compared with the corresponding part of FIG. 23 which is the sentence template WFST composed of symbols in character units, there are two differences.
  • the first difference is that an arc representing symbol insertion is omitted at a node between “preliminary” and “fixed”.
  • the second difference is that the arc representing the symbol dropout skips the node between “preliminary” and “fixed” and connects it to the node on the right.
  • the symbols may basically be constructed in units of words. Basically, a unit divided by blanks may be a symbol, but it may be more convenient for processing to use a more finely divided unit as a symbol. For example, if “'s” (apostrophe and lowercase s) at the end of a word is separated from the immediately preceding part, for example, the phrase “today's meeting” becomes “today”, “' s”, and “meeting” Since it is divided, it is easy to store “today” in the “start date” slot and “meeting” in the “title” slot.
  • slots are classified into the following three types.
  • Slot values such as person name, place name, station name, and song name are prepared as a list.
  • the slot values related to date and time are prepared as basic parts such as month, day, day of the week, hour and minute, and combinations of these parts.
  • the value of the title slot of the “schedule addition” frame is prepared by using a list of typical titles together with a mechanism for cutting out an arbitrary character string surrounded by a specific symbol.
  • the slot WFST includes a finite value slot WFST, an arbitrary value slot WFST, and a mixed slot WFST.
  • the finite value slot WFST is a slot WFST having a finite value.
  • the arbitrary value slot WFST is a slot WFST having a structure for extracting an arbitrary character string surrounded (between) by a specific symbol.
  • the mixed slot WFST is a slot WFST having a structure in which a finite value slot WFST and an arbitrary value slot WFST are combined.
  • FIG. 27 is a diagram showing an example of a slot WFST that takes a station name as a value.
  • the slot WFST shown in FIG. 27 is one of the finite value slots WFST and is used for storing the station name of the Yamanote Line in the slot.
  • the configuration within the horizontally long rectangular frame is the slot WFST.
  • the arc A41 extending into the frame is provided with the symbol immediately before this slot as a label.
  • an ⁇ label is given to the arc A45 extending outside the frame.
  • Arc A42 and arc A44 are special arcs for outputting marks representing the beginning and end of the slot, respectively.
  • the label “ ⁇ : ⁇ station name>” is assigned to the arc A42, and the label “ ⁇ : ⁇ / station name>” is assigned to the arc A44.
  • Both labels have an input symbol of ⁇ (empty), so when transitioning at these arcs, “ ⁇ station name>” and “ ⁇ / station name>” are output without consuming the input symbol. Therefore, after matching the input sentence with the sentence template, it is marked before and after the word that should be in the slot (in this example, “Akihabara”), such as “E- and ⁇ station name> ⁇ ⁇ ⁇ ⁇ / station name>”. Is embedded.
  • the mark indicating the beginning and end of the slot may be any mark as long as it is a different identifier for each slot. For example, if the matching result is in XML format, the start end can be ⁇ slot name> and the end can be ⁇ / slot name>.
  • an FST that represents the name of each station on the Yamanote Line. This FST is generated by preparing a list of station names, generating one FST from one station name, and connecting them in parallel.
  • the two arcs A43 and arc a43 inside the frame F1 indicate that the “station” at the end of the station name can be omitted. For example, even if the station name in the input sentence is “Akihabara” instead of “Akihabara Station”, this station name slot WFST matches. If the input sentence is “Akihabara Station”, it matches the transition of the arc a43, and in this case, a matching result “ ⁇ station name> ⁇ ⁇ ⁇ ⁇ / station name> station” is generated.
  • the “station” exits the slot WFST and matches as an insertion of a symbol at the node n15 which is the first node (transition at the arc a44). Matching costs increase. If matching is performed based on the criterion of minimum cost, “ ⁇ station name> ⁇ ⁇ ⁇ ⁇ / station name>” is obtained for the input “Akihabara Station”.
  • FIG. 28 is a diagram showing another example of the finite value slot WFST.
  • the finite value slot WFST in FIG. 28 is a WFST corresponding to a “start date” slot that is a date / time related slot.
  • the finite value slot WFST shown in FIG. 28 corresponds to the slot WFST # 21 in FIG.
  • start date slot indicating WFST in FIG. 28 not only stores the start date “today” including the start date and end date, such as “from today to 3 days later”, but also “3 days later”. And “3 days later” included in an utterance that includes only one date.
  • arc a51 representing symbol insertion.
  • the function of the arc a51 is the same as that of the arc a42 in FIG.
  • Arc A51 is a special arc for outputting a mark representing the beginning of the slot.
  • a label “ ⁇ : ⁇ start date>” is assigned to the arc A51.
  • Arc A52 is a special arc for outputting a mark representing the end of the slot.
  • a label “ ⁇ : ⁇ / start date>” is assigned to the arc A52.
  • a label attached to the arc A61 represented by a double line includes “ ⁇ ” such as “1-9”. This means that nine arcs exist in parallel in the actual FST, and labels from “1” to “9” are assigned to each arc.
  • the label attached to the arc A62 represented by a double line includes a comma such as “0, 1, 2”. This means that in an actual FST, there are three arcs in parallel, and each arc is labeled “0”, “1”, “2”.
  • the FST inside the frame F11 is an FST representing the month and matches each month from “January” to “December”.
  • the FST inside the frame F12 is an FST representing the day, and matches from “1 day” to “31 day”. By connecting the two, it matches the date from "January 1" to "December 31".
  • the FST inside the frame F13 is an FST that matches “O days before / after”, “O weeks before / after”, “O months before / after”, “O years before / after”, and the like.
  • the number part can be matched from 1 to 99.
  • the FST inside the frame F14 is an FST that matches “Today”, “Tomorrow”, and “Yesterday”. It is also possible to add an FST that matches "the day after tomorrow", “the day before yesterday”, etc.
  • the FST inside the frame F15 is an FST that matches seven days of the week from “Monday (Sun)” to “Sunday (Sun)”. Since the last “day” such as “Monday (Sunday)” can be omitted, an arm A63 including an arc to which “day” is assigned and an arc to which ⁇ is assigned is prepared. It is also possible to add an FST that matches other words representing the day of the week, such as “Saturday and Sunday”.
  • the FST inside the frame F16 is an FST that matches the name of a holiday such as “Respect for the Aged Day” or “Culture Day”. It is also possible to add an FST that matches other words representing holidays. Furthermore, it is also possible to add FSTs that match special occasions such as “Christmas” and various anniversary names such as “Natto Day”.
  • an FST that matches the following words may be added as a basic part between node n22 and node n23.
  • a new FST may be constructed by connecting these basic parts in series, and it may be added between the node n22 and the node n23. For example, by placing the FST inside the frame F13 and the FST inside the frame F15 in series, and connecting between them with an arc labeled “no” or ⁇ , “next Monday” or “after 3 days FST that matches phrases such as “Wednesday” can be realized. Further, by connecting the FST matching the year and the FSTs inside the frames F11 and F12, it is possible to realize an FST matching the phrase “September 15, 2014”.
  • a sentence template and various slots in it, and a set of sentence templates are all expressed as weighted finite state transducers (WFST), and matching is performed using symbols included in the input sentence. It is possible to simultaneously perform a process of finding a sentence template that matches well and a process of finding a phrase corresponding to the slot.
  • WFST weighted finite state transducers
  • the date and time expression conversion is performed in the information processing terminal 1, but may be performed in a server connected to the information processing terminal 1 via a network such as the Internet.
  • the information processing terminal 1 transmits an input sentence to the server every time a user's utterance is detected.
  • the server has the same configuration as that shown in FIG.
  • the server receives the input sentence transmitted from the information processing terminal 1, and transmits information on the converted date and time obtained by converting the date and time expression to the information processing terminal 1.
  • the information processing terminal 1 that has received the information on the date and time after conversion transmitted from the server performs various processes as described above using the date and time after conversion.
  • the input sentence is not transmitted from the information processing terminal 1 to the server, but the user's voice data may be transmitted, and the server may perform processing after conversion to text by voice recognition.
  • the system means a set of a plurality of components (devices, modules (parts), etc.), and it does not matter whether all the components are in the same housing. Accordingly, a plurality of devices housed in separate housings and connected via a network and a single device housing a plurality of modules in one housing are all systems. .
  • Embodiments of the present technology are not limited to the above-described embodiments, and various modifications can be made without departing from the gist of the present technology.
  • the present technology can take a cloud computing configuration in which one function is shared by a plurality of devices via a network and is jointly processed.
  • the plurality of processes included in the one step can be executed by being shared by a plurality of apparatuses in addition to being executed by one apparatus.
  • the program to be installed is provided by being recorded on a removable medium 64 shown in FIG. 9 made of an optical disk (CD-ROM (Compact Disc-Read Only Memory), DVD (Digital Versatile Disc), etc.), semiconductor memory, or the like. Further, it may be provided via a wired or wireless transmission medium such as a local area network, the Internet, or digital broadcasting.
  • the program can be installed in the ROM 52 or the memory 61 in advance.
  • the program executed by the computer may be a program that is processed in time series in the order described in this specification, or in parallel or at a necessary timing such as when a call is made. It may be a program for processing.
  • a date and time management unit that identifies an assumed date and time that is assumed by the user;
  • An extraction unit for extracting a date expression included in the input sentence input by the user;
  • An information processing apparatus comprising: an arithmetic unit that obtains a date and time represented by the extracted date and time expression based on the assumed date and time.
  • (2) In accordance with the extracted date and time expression, further comprising a determination unit that determines any one of the assumed date and time and the current date and time as a reference date and time for obtaining the date and time represented by the date and time expression,
  • the information processing apparatus according to (1), wherein the calculation unit obtains the date and time represented by the extracted date and time expression on the basis of the date and time determined by the determination unit.
  • the date and time management unit manages the date and time obtained by the calculation unit as the new assumed date and time,
  • the calculation unit obtains a date and time represented by the date and time expression extracted from the input sentence input after the new assumed date and time is managed, based on the new assumed date and time (1) or (2)
  • An output unit for outputting date and time information in a predetermined format representing the date and time obtained by the calculation unit;
  • the information processing apparatus according to any one of (1) to (3), further including: a processing unit that performs processing based on the date and time information output from the output unit.
  • the storage unit further stores a rule for obtaining the date and time represented by the date and time expression in association with the date and time expression.
  • the arithmetic unit is stored in the storage unit in association with the extracted date and time expression.
  • the information processing apparatus further including a registration unit configured to add and store the rule input by the user in the storage unit.
  • a classification unit for classifying the content of the input sentence; Deciding whether to calculate the date and time represented by the extracted date and time expression so as to obtain a past date and time or to obtain a future date and time according to the classification result of the content of the input sentence
  • the calculation unit performs calculation of a date and time represented by the extracted date and time expression according to a determination by the determination unit.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • Human Resources & Organizations (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • General Health & Medical Sciences (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Multimedia (AREA)
  • Acoustics & Sound (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)
  • Document Processing Apparatus (AREA)

Abstract

本技術は、ユーザの発話の内容をユーザの意図に沿った形で解釈し、処理を行うことができるようにする情報処理装置、情報処理方法、およびプログラムに関する。 本技術の情報処理装置は、ユーザが想定する日時である想定日時を特定し、ユーザによって入力された入力文に含まれる日時表現を抽出し、抽出した日時表現が表す日時を、想定日時を基準として求める。求められた日時に基づいて、各種のアプリケーションにより処理が行われる。本技術は、ユーザの発話の内容を認識し、各種の処理を行うことが可能なコンピュータに適用することができる。

Description

情報処理装置、情報処理方法、およびプログラム
 本技術は、情報処理装置、情報処理方法、およびプログラムに関し、特に、ユーザの発話の内容をユーザの意図に沿った形で解釈し、処理を行うことができるようにした情報処理装置、情報処理方法、およびプログラムに関する。
 近年、ユーザの発話の内容を解析し、その内容に応じて各種の処理を行うアプリケーションがスマートフォンなどの携帯端末の多くに搭載されている。
 例えばスケジューラが起動した状態で「明日の予定」などと話すことによって、スケジューラを操作し、明日の予定を表示させるようなことも可能になっている。例えば今日が2014年12月31日であるとすると、発話の内容の解析結果をスケジューラに供給するプログラムにおいては、発話に含まれる「明日」という日時表現を、2015年1月1日というような年月日の日時表現に変換することが行われる。
 このように、発話の内容を解析するプログラムにおいては、入力された日時表現を元にして演算を行い、他の日時表現を得るための変換処理が行われる。例えば、日時表現として「明日」と「次の日」が入力された場合、その変換は、共に、“日にちを1日送る”という処理になる。“日にちを1日送る”処理の基準は、現在の日時である2014年12月31日となる。
特開2005-301780号公報
 「今日」、「明日」などの日時表現の変換の基準は、基本的に現在の日時である。しかしながら、ユーザがカレンダーアプリケーションを使用しているような場合、カレンダー上でユーザが注目している日にちを基準にした方が、ユーザの意図に沿った処理を行うことが可能になることがある。
 例えば、現在の日にちが2014年12月31日であるとする。カレンダー上で、年明けの2015年1月10日に注目しているときにユーザが「次の日」と話した場合、2014年12月31日を基準として“日にちを1日送る”処理を行って2015年1月1日の情報を表示するよりも、2015年1月10日を基準として“日にちを1日送る”処理を行って2015年1月11日の情報を表示した方が好ましい。2015年1月1日の情報は、ユーザが想定している日にちの情報と乖離していることになる。
 本技術はこのような状況に鑑みてなされたものであり、ユーザの発話の内容をユーザの意図に沿った形で解釈し、処理を行うことができるようにするものである。
 本技術の一側面の情報処理装置は、ユーザが想定する日時である想定日時を特定する日時管理部と、前記ユーザによって入力された入力文に含まれる日時表現を抽出する抽出部と、抽出された前記日時表現が表す日時を、前記想定日時を基準として求める演算部とを備える。
 抽出された前記日時表現に応じて、前記想定日時と現在日時のうちのいずれかを、前記日時表現が表す日時を求める基準となる日時として決定する決定部を設けることができる。この場合、前記演算部には、抽出された前記日時表現が表す日時を、前記決定部により決定された日時を基準として求めさせることができる。
 前記日時管理部には、前記演算部により求められた日時を新たな前記想定日時として管理させ、前記演算部には、新たな前記想定日時が管理された後に入力された前記入力文から抽出された前記日時表現が表す日時を、新たな前記想定日時を基準として求めさせることができる。
 前記演算部により求められた日時を表す所定の形式の日時情報を出力する出力部と、前記出力部から出力された前記日時情報に基づいて処理を行う処理部とをさらに設けることができる。
 複数の前記日時表現を記憶する記憶部をさらに設けることができる。この場合、前記抽出部には、前記記憶部に記憶された前記日時表現を前記入力文から抽出させることができる。
 前記ユーザにより入力された前記日時表現を前記記憶部に追加して記憶させる登録部をさらに設けることができる。
 前記日時表現が表す日時の求め方の規則を、前記日時表現と対応付けて記憶する記憶部をさらに設けることができる。この場合、前記演算部には、抽出された前記日時表現と対応付けて前記記憶部に記憶されている前記規則に従って、前記日時表現が表す日時を求めさせることができる。
 前記ユーザにより入力された前記規則を前記記憶部に追加して記憶させる登録部をさらに設けることができる。
 前記入力文の内容を分類する分類部と、抽出された前記日時表現が表す日時の演算を、過去の日時を求めるようにして行うのか、未来の日時を求めるようにして行うのかを、前記入力文の内容の分類結果に応じて決定する決定部とさらに設けることができる。この場合、前記演算部には、抽出された前記日時表現が表す日時の演算を、前記決定部による決定に従って行わせることができる。
 前記入力文を、前記ユーザの発話を認識することによって得られた文字列、または、前記ユーザによる操作によって入力された文字列とすることができる。
 前記日時管理部には、前記入力文の解析結果または前記ユーザの動作に基づいて、前記想定日時を特定させることができる。
 本技術の一側面においては、ユーザが想定する日時である想定日時が特定され、前記ユーザによって入力された入力文に含まれる日時表現が抽出され、抽出された前記日時表現が表す日時が、前記想定日時を基準として求められる。
 本技術によれば、ユーザの発話の内容をユーザの意図に沿った形で解釈し、処理を行うことができる。
 なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載されたいずれかの効果であってもよい。
本技術の一実施形態に係る情報処理端末を示す図である。 情報処理端末に搭載されるアプリケーションの関係を示す図である。 日時表現の例を示す図である。 日時基本関数の例を示す図である。 変換規則の例を示す図である。 基準表現リストの例を示す図である。 発話内容の分類の例を示す図である。 処理方向リストの例を示す図である。 情報処理端末のハードウェア構成例を示すブロック図である。 情報処理端末の機能構成例を示すブロック図である。 図10の変換処理部の構成例を示すブロック図である。 情報処理端末の日時表現変換処理について説明するフローチャートである。 情報処理端末の日時表現変換処理について説明する、図12に続くフローチャートである。 スケジューラを音声によって操作する一連の処理について説明する図である。 スケジューラを音声によって操作する一連の処理について説明する図14に続く図である。 スケジューラを音声によって操作する一連の処理について説明する図15に続く図である。 スケジューラを音声によって操作する一連の処理について説明する図16に続く図である。 音声意味解析器の構成例を示す図である。 図18のフレーズ抽出部の構成例を示すブロック図である。 WFSTの基本的な構成を示す図である。 入力シンボル列に対応する出力シンボル列・遷移重み・状態遷移を示す図である。 WFSTで表現されたテンプレートセットを示す図である。 文テンプレートWFSTの例を示す図である。 図23のアークA24付近の拡大図である。 文テンプレートWFSTの他の例を示す図である。 文テンプレートWFSTのさらに他の例を示す図である。 有限値スロットWFSTの例を示す図である。 有限値スロットWFSTの他の例を示す図である。
 以下、本技術を実施するための形態について説明する。説明は以下の順序で行う。
 1.第1の実施の形態(日時表現変換システムの例)
 2.第2の実施の形態(意味解析器の例)
<<第1の実施の形態>>
<1.日時表現変換システムを実現する情報処理端末の例>
 図1は、本技術の一実施形態に係る情報処理端末を示す図である。
 情報処理端末1はタブレット型の装置である。情報処理端末1の筐体にはLCD(Liquid Crystal Display)などのディスプレイが設けられる。ディスプレイには、実行されているアプリケーションに応じて、スケジュール、撮影済みの写真、テキストや画像がレイアウトされたニュース、録画済みの番組の映像などの各種の情報が表示される。
 情報処理端末1には、スケジューラ、アルバムアプリケーション、ニュースアプリケーション、ビデオ管理アプリケーション、ヘルスケアアプリケーションなどの各種のアプリケーションが搭載されている。
 スケジューラは、ユーザのスケジュールを管理するアプリケーションである。アルバムアプリケーションは、撮影済みの写真を管理するアプリケーションである。ニュースアプリケーションは、サーバなどから取得したニュースを表示するアプリケーションである。ビデオ管理アプリケーションは、番組の録画と再生を管理するアプリケーションである。ヘルスケアアプリケーションは、ユーザが装着するセンサにより検出された血圧、心拍数などのユーザの生体情報やユーザの活動量を管理するアプリケーションである。
 ディスプレイにはタッチパネルが設けられる。また、ディスプレイの縁などの、情報処理端末1の筐体の所定の位置には、カメラやマイクロフォンが設けられる。情報処理端末1は、マイクロフォンにより集音したユーザの発話の内容を認識する機能を有する。情報処理端末1は、ユーザの発話の内容に応じて各種の処理を実行する。ユーザは、指などでディスプレイに直接触れて操作を行うだけでなく、音声によっても操作を行うことができる。
 例えばスケジューラが起動している場合、情報処理端末1のディスプレイには図1に示すようにある月のカレンダーが表示される。この状態で、吹き出しに示すようにユーザが「来週の予定は?」と話した場合、日時表現としての「来週」が認識され、ユーザが登録しておいた「来週」の予定が表示される。
 このとき、「来週」の基準は、必ずしも現在日時ではなく、ユーザが想定している日時となる。例えば、カレンダー上である日にちをユーザが選択している場合、その日にちが「来週」の基準になる。すなわち、現在日時を含む週の次の週の予定ではなく、ユーザが選択している日にちを含む週の、次の週の予定が表示される。なお、ユーザが現在日時を選択している場合には、現在日時を含む週の次の週の予定が表示される。
 このように、情報処理端末1には、ユーザの発話に含まれる日時表現を、ユーザの意図に沿った形で認識する機能が設けられる。これにより、情報処理端末1は、各種の処理を、ユーザの意図に沿った形で行うことが可能になる。
 日時表現には、時刻を表す表現、日にちを表す表現、曜日を表す表現、週を表す表現、月を表す表現、年を表す表現、季節を表す表現、時期を表す表現、秒を表す表現、分を表す表現、時間を表す表現などが含まれる。
 図2は、情報処理端末1に搭載されるアプリケーションの関係を示す図である。
 図2に示すように、情報処理端末1には日時表現変換アプリケーション11とアプリケーション12が設けられる。日時表現変換アプリケーション11には、ユーザにより入力された文字列が供給される。
 図示は省略しているが、情報処理端末1には、マイクロフォンにより集音されたユーザの音声を認識する音声認識アプリケーションも用意される。音声認識アプリケーションが実行されることにより、音声認識部が情報処理端末1において実現される。音声認識アプリケーションにより認識されたユーザの発話の内容を表す文字列が日時表現変換アプリケーション11に供給される。キーボードなどを操作することによってユーザによって入力された文字列が日時表現変換アプリケーション11に供給されるようにしてもよい。
 日時表現変換アプリケーション11は、ユーザの発話に含まれる日時表現を抽出し、ユーザが想定する日時を表すように変換する。日時表現変換アプリケーション11は、変換して得られた日時情報をアプリケーション12に出力する。
 アプリケーション12は、上述したスケジューラ、アルバムアプリケーション、ニュースアプリケーション、ビデオ管理アプリケーション、ヘルスケアアプリケーションなどの各種のアプリケーションである。アプリケーション12は、日時表現変換アプリケーション11から供給された日時情報に基づいて処理を行う。
 このように、日時表現変換アプリケーション11が実行されることにより、日時表現変換システムが情報処理端末1において実現される。タブレット型の装置ではなく、PC、スマートフォン、眼鏡型の情報端末、家電機器などの他の装置上で日時表現変換システムが実現されるようにすることも可能である。
<2.情報処理端末1の機能について>
 ここで、日時表現変換アプリケーション11により実現される情報処理端末1の機能について説明する。
 2-1.日時表現の正規化機能
 情報処理端末1は、入力された文字列に含まれる日時表現を、決まった形式に変換する機能(正規化機能)を持つ。情報処理端末1は、正規化機能により、「今日」などの文字列で表現される日時表現を、「2015/01/27」などのような年月日を表す数字列、または時分秒を表す数字列に変換する。日時表現の変換処理は、入力された文字列に含まれる日時表現が表す日時を、ある日時を基準として求める処理に相当する。
 また、情報処理端末1は、入力された文字列から、日時表現を表す文字列を抽出する機能を持つ。情報処理端末1は、日時表現を表す文字列を登録した日時表現辞書を有している。
 図3は、日時表現辞書に登録される日時表現の例を示す図である。
 図3に示すように、日時表現辞書には、時刻を表す各種の表現、日にちを表す各種の表現、曜日を表す各種の表現、週を表す各種の表現、月を表す各種の表現、年を表す各種の表現が登録されている。また、秒を表す各種の表現、分を表す各種の表現、時間を表す各種の表現が登録されている。季節を表す各種の表現、時期を表す各種の表現なども日時表現辞書には登録されている。
 情報処理端末1は、このような日時表現辞書を参照し、登録されている文字列を日時表現として抽出する。
 情報処理端末1は、抽出した日時表現を操作する関数である日時基本関数を複数有している。
 図4は、日時基本関数の例を示す図である。
 日時基本関数には日付基本関数と時間基本関数が含まれる。日付基本関数には、「年情報を○年にする」、「年情報を1年送る」、「年情報を1年戻す」、・・・、「曜日を求める」の関数が含まれる。
 例えば、「年情報を○年にする」の日付基本関数は、基準の年を「2015」年といったような特定の年に変換する関数である。「年情報を1年送る」の日付基本関数は、基準の年を次の年に変換する関数である。「年情報を1年戻す」の日付基本関数は、基準の年を前の年に変換する関数である。「曜日を求める」の日付基本関数は、基準の日を「月」、「火」、「水」、「木」、「金」、「土」、「日」のいずれかの曜日に変換する関数である。
 時間基本関数には、「時情報を○時にする」、「時情報を1時間送る」、「時情報を1時間戻す」、・・・、「秒情報を1秒間戻す」の関数が含まれる。
 例えば、「時情報を○時にする」の時間基本関数は、基準の時を特定の時に変換する関数である。「時情報を1時間送る」の時間基本関数は、基準の時を1時間後の時に変換する関数である。「時情報を1時間戻す」の時間基本関数は、基準の時を1時間前の時に変換する関数である。
 また、情報処理端末1は、変換規則辞書を有している。変換規則辞書には、それぞれの日時表現と対応付けて変換規則が登録されている。変換規則は、どの日時基本関数を用いて日時を求めるのかを表す。
 図5は、変換規則辞書に登録される変換規則の例を示す図である。
 図5の例においては、「明日」、「次の日」、「明後日」、「昨日」、「一昨日」、「水曜日」、「元旦」、「体育の日」のそれぞれの日時表現に対応する変換規則が示されている。変換規則辞書には、「次の週」、「今月」、「午前」、「午後」などの、各種の日時表現に対応する変換規則も登録される。
 例えば、日時表現「明日」に対しては、「日情報を1日送る関数」の変換規則が登録されている。これは、「明日」の日時表現が抽出された場合には、「日情報を1日送る関数」を用いて変換処理を行うことを表す。
 変換規則はユーザが自ら登録することも可能とされる。また、アプリケーション12が管理する情報に基づいて変換規則を自動的に登録することも可能とされる。
 情報処理端末1においては、このような変換規則に従って日時表現の変換が行われる。
 2-2.現在日時とユーザ想定日時の保持機能
 情報処理端末1は、今現在の日時である現在日時を表す現在日時と、ユーザが想定していると考えられる日時であるユーザ想定日時を保持する機能を持つ。
 現在日時を表す現在日情報とユーザ想定日時を表すユーザ想定日時情報は例えば「年月日時分秒」の形で保持される。情報処理端末1は、保持している情報をユーザの発話に応じて更新する。例えば、情報処理端末1は、現在日時情報をユーザの発話を処理する際に更新し、ユーザ想定日時情報をユーザの発話を通して随時更新する。
 例えば、情報処理端末1は、照応解析技術を用いて、ユーザの発話に含まれる「あの時」などの指示語が示す日時を推定し、推定した日時をユーザ想定日時として保持する。また、情報処理端末1は、コンテキスト処理技術を用いて、ユーザの発話に含まれる「いつもの時間」などの習慣表現が示す日時を推定し、推定した日時をユーザ想定日時として保持する。
 ユーザ想定日時をユーザの発話から推定するのではなく、ユーザが見ている画面に含まれる情報やユーザの視線情報などの複数の情報を元にして推定することも可能である。
 例えば、カレンダーアプリケーションのような日時情報を表示する機能をユーザが利用している場合、情報処理端末1は、画面上に表示している日時やユーザが選択している日時などの、ユーザが注目する日時をユーザ想定日時として推定する。情報処理端末1は、注目する日時をユーザが操作して更新する毎に、更新後の日時を新たなユーザ想定日時として保持する。
 また、複数の日時の情報を画面上に表示している場合、情報処理端末1は、どの日時の情報にユーザが注視しているのかを検出し、検出した日時をユーザ想定日時として保持する。情報処理端末1の筐体に設けられるカメラは、このようなユーザの視線を検出するためなどに用いられる。
 情報処理端末1は、ユーザの発話に含まれる日時表現から、現在日時を基準にして変換処理を行うのか、ユーザ想定日時を基準にして変換処理を行うのかを判定する。情報処理端末1は、この判定に用いる基準表現リストを有している。
 基準表現リストは、日時表現と基準日時を対応付けたリストである。基準日時は、変換の基準となる日時である。
 図6は、基準表現リストの例を示す図である。
 図6の例においては、「明日」、「次の日」、「来月」、「次の月」、「昨日」、「前の日」、「先月」、「前の月」、「先週」のそれぞれの日時表現に対応する基準日時が示されている。例えば、「明日」に対応する基準日時は現在日時であり、「次の日」に対応する基準日時はユーザ想定日時である。
 情報処理端末1は、ユーザの発話によって入力された文字列を解析することによって単語列に分解し、日時表現を抽出する。情報処理端末1は、抽出した日時表現と基準表現リストとのマッチングを行い、抽出した日時表現が日時表現リストに登録されている場合、抽出した日時表現の変換を、基準日時として設定されている現在日時またはユーザ想定日時を基準として行う。
 例えば、ユーザの発話に「明日」が含まれる場合、情報処理端末1は、日時表現の変換を、現在日時を基準日時として行うことになる。また、ユーザの発話に「次の日」が含まれる場合、情報処理端末1は、日時表現の変換を、ユーザ想定日時を基準日時として行うことになる。
 基準表現リストに登録されていない日時表現の変換は、例えばユーザ想定日時を基準日時として行われる。なお、ユーザ想定日時が設定されていない場合(保持されていない場合)、現在日時を基準日時として日時表現の変換が行われる。
 2-3.過去・未来表現判定機能
 情報処理端末1は、ユーザの発話に含まれる日時表現が過去を示すのか、未来を示すのかを判定する。情報処理端末1は、ユーザの発話に含まれる日時表現が過去を示す場合には、日時表現の変換を過去の日時を求めるようにして行い、未来を示す場合には、日時表現の変換を未来の日時を求めるようにして行う。このように、日時表現の変換がユーザの意図に即した形で行われることになる。
 情報処理端末1は、ユーザの発話の内容の大枠を捉える発話内容分類器を持つ。発話内容分類器により、ユーザの発話の内容の分類分けが行われる。各分類は、動作対象となるドメインと、実行内容となるゴールの組み合わせによって表される。
 図7は、発話内容の分類の例を示す図である。
 図7の例においては、「SCHEDULE」、「VIDEO」、「MUSIC」、「WEATHER」、「PHOTO_ALBUM」のドメイン名と、各ドメインのゴール名が対応付けて登録されている。
 例えば「SCHEDULE」に対しては、「ADD」、「CHECK」、「DELETE」のゴールが登録されている。発話の内容が「SCHEDULE」に関するものである場合、その発話は、ドメイン:SCHEDULE-ゴール:ADD、ドメイン:SCHEDULE-ゴール:CHECK、ドメイン:SCHEDULE-ゴール:DELETEの3つの分類のうちのいずれかに分類分けされる。このように、同一ドメインの中に複数のゴールが存在する。
 例えば、「SCHEDULE」のドメインは、予定に関連するキーワードが発話に含まれる場合に選択され、「VIDEO」のドメインは、番組に関連するキーワードが発話に含まれる場合に選択される。「MUSIC」のドメインは、音楽に関連するキーワードが発話に含まれる場合に選択され、「WEATHER」のドメインは、天気に関連するキーワードが発話に含まれる場合に選択される。「PHOTO_ALBUM」のドメインは、写真に関連するキーワードが発話に含まれる場合に選択される。各ゴールも、発話に含まれるキーワードに基づいて選択される。情報処理端末1には、このようなドメインとゴールの選択に用いられるキーワードが予め記憶されている。
 例えば、「音楽を聞きたい」という発話があった場合、その発話は、ドメイン:MUSIC-ゴール:PLAYの分類に分類分けされる。
 情報処理端末1は、ドメインとゴールの組み合わせ毎(分類毎)に、日時表現の変換を過去方向に処理するべきか、未来方向に処理するべきかを表す処理方向リストを有している。過去方向に処理するとは、過去の日時を求めるようにして日時表現を変換することを表し、未来方向に処理するとは、未来の日時を求めるようにして日時表現を変換することを表す。
 図8は、処理方向リストの例を示す図である。
 図8の例においては、ドメイン:SCHEDULE-ゴール:ADDの組み合わせに対しては、未来方向に処理すること(FUTURE)が対応付けられている。また、ドメイン:SCHEDULE-ゴール:CHECKの組み合わせに対しては、過去方向に処理すること(PAST)が対応付けられている。
 ドメイン:VIDEO-ゴール:PLAY、ドメイン:VIDEO-ゴール:RECORD、ドメイン:VIDEO-ゴール:DELETE、ドメイン:WEATHER-ゴール:CHECK、ドメイン:PHOTO_ALBUM-ゴール:SHOWのそれぞれの組み合わせに対しても処理方向が対応付けられている。
 情報処理端末1は、発話内容分類器によるドメイン-ゴールの分類結果と処理方向リストのマッチングを行うことによって処理方向を決定し、日時表現の変換を行う。ドメイン-ゴールの分類結果が処理方向リストに登録されていない場合、情報処理端末1は、未来方向に処理するようにして日時表現の変換を行う。
 以上の各機能により、情報処理端末1は、ユーザが発話した日時表現が表す日時を、ユーザが想定している通りに正しく認識することができる。
 また、情報処理端末1は、認識した日時に応じた処理を行うことによって、ユーザが想定している内容と異なる処理を行ってしまうことを回避することが可能になる。
 例えば現在の日にちが2014年12月31日であり、カレンダー上で、年明けの2015年1月10日を選択しているときにユーザが「次の日」と発話したものとする。この場合、情報処理端末1は、2015年1月10日を基準として“日にちを1日送る”処理を行い、2015年1月11日の情報を表示することにより、ユーザが想定した結果を出力することができる。仮に、現在の日にちである2014年12月31日を基準として“日にちを1日送る”処理を行い、2015年1月1日の情報を表示した場合、その結果は、ユーザが想定した結果ではなく、好ましくないものといえる。
 ユーザとしても、自分が想定した通りの結果が表示されないことにより、日時を再度入力するなどの手間を省くことができる。
 以上のような機能によって実現される情報処理端末1の処理についてはフローチャートを参照して後述する。
<3.情報処理端末1の構成例>
 図9は、情報処理端末1のハードウェア構成例を示すブロック図である。
 CPU(Central Processing Unit)51、ROM(Read Only Memory)52、RAM(Random Access Memory)53は、バス54により相互に接続されている。
 バス54には入出力インタフェース55が接続される。入出力インタフェース55には、ディスプレイ56、カメラ57、マイクロフォン58、スピーカ59が接続される。入出力インタフェース55には、タッチパネル60、メモリ61、通信部62、およびドライブ63も接続される。
 ディスプレイ56は、CPU51による制御に従って各種の情報を表示する。
 カメラ57は、ユーザの顔が写っている画像などの各種の画像を撮影する。CPU51においては、カメラ57により撮影された画像に基づいて、ユーザの視線の検出などが行われる。
 マイクロフォン58は、ユーザの発話を集音する。CPU51においては、マイクロフォン58により集音された発話が文字列に変換され、日時表現の抽出や変換が行われる。
 スピーカ59は、音声などの各種の音を出力する。
 タッチパネル60はディスプレイ56に積層して設けられる。タッチパネル60は、ユーザの操作を検出し、操作の内容を表す情報をCPU51に出力する。
 メモリ61は不揮発性のメモリなどにより構成される。メモリ61は、CPU51が実行するアプリケーションなどの各種のデータを記憶する。
 通信部62は、無線LANの通信モジュールなどにより構成され、外部の装置との間で通信を行う。
 ドライブ63は、メモリカードなどのリムーバブルメディア64に対するデータの書き込みとリムーバブルメディア64からのデータの読み出しを行う。
 図10は、情報処理端末1の機能構成例を示すブロック図である。
 図10の日時表現変換部71を構成する機能部のうちの少なくとも一部は、図9のCPU51により日時表現変換アプリケーション11が実行されることによって実現される。日時表現変換部71は、発話内容分類部81、センサ情報処理部82、日時表現抽出部83、抽出用情報記憶部84、変換処理部85、変換用情報記憶部86、結果出力部87、および登録部88から構成される。
 発話内容分類部81に対しては、ユーザの発話の内容を認識することによって得られた文字列、キーボードなどを用いてユーザにより入力された文字列などが入力文として入力される。また、センサ情報処理部82に対しては、カメラ57により撮影された画像、タッチパネル60に対する操作の内容を表す情報などがセンサデータとして入力される。
 発話内容分類部81は、入力文を解析し、ユーザの発話の内容の分類分けを行う。発話内容分類部81は、図7を参照して説明した分類のリストを有している。発話内容分類部81による分類分けには各種のテキスト分類技術を使用することが可能である。発話内容分類部81は、ドメインとゴールの組み合わせとして表される分類結果を、入力文とともに日時表現抽出部83に出力する。
 センサ情報処理部82は、センサデータを解析し、解析結果を表す情報を変換処理部85に出力する。例えば、センサ情報処理部82は、カメラ57により撮影された画像に写るユーザの目の瞳孔や虹彩を認識し、目がしらの位置などの基準の位置と瞳孔や虹彩の位置との関係に基づいて視線の方向を検出する。センサ情報処理部82は、視線の先にあるディスプレイ56上の位置を視点の位置として特定し、視点の位置を表す情報を出力する。また、センサ情報処理部82は、ユーザが操作した画面上の位置を表す情報を出力する。
 日時表現抽出部83は、図3を参照して説明した日時表現辞書101を参照し、入力文に含まれる日時表現を抽出する。また、日時表現抽出部83は、適宜、ユーザ辞書102に登録されている日時表現を入力文から抽出する。日時表現抽出部83は、抽出した日時表現を、入力文、発話内容の分類結果とともに変換処理部85に出力する。
 抽出用情報記憶部84は、日時表現辞書101とユーザ辞書102を記憶する。
 変換処理部85は、入力文とセンサ情報処理部82から供給された情報に基づいてユーザ想定日時を特定し、現在日時とユーザ想定日時を保持する。変換処理部85は、現在日時とユーザ想定日時を適宜更新する。また、変換処理部85は、日時表現抽出部83により抽出された日時表現と基準表現リスト114とのマッチングを行い、基準日時を決定する。
 変換処理部85は、処理方向リスト113を参照し、発話内容分類部81による発話内容の分類結果に応じた処理方向を決定する。変換処理部85は、決定した処理方向を適宜参照して、抽出された日時表現に応じた変換規則を変換規則辞書112から選択する。変換処理部85は、選択した変換規則で規定される日時基本関数を日時基本関数辞書111から読みだし、読み出した日時基本関数を用いて、日時表現抽出部83により抽出された日時表現を変換する。変換処理部85は、変換処理によって求めた日時情報を結果出力部87に出力する。変換処理部85の詳細については後述する。
 変換用情報記憶部86は、日時基本関数辞書111、変換規則辞書112、処理方向リスト113、および基準表現リスト114を記憶する。
 結果出力部87は、変換処理部85から供給された日時情報を、「2015/01/27」のような、所定の形式の年月日を表す数字列、時分秒を表す数字列として出力する。結果出力部87から出力された数字列はアプリケーション12により処理される。
 登録部88は、ユーザによって入力された日時表現や、アプリケーション12が管理する情報から取得した日時表現をユーザ辞書102に登録する。また、登録部88は、ユーザによって入力された変換規則や、アプリケーション12が管理する情報から取得した変換規則を変換規則辞書112に登録する。
 図11は、図10の変換処理部85の構成例を示すブロック図である。
 変換処理部85は、日時情報管理部121、日時情報記憶部122、基準日時決定部123、処理方向決定部124、および演算部125から構成される。日時表現抽出部83から出力された入力文は日時情報管理部121に入力され、発話の内容の分類結果は処理方向決定部124に入力される。日時表現抽出部83により抽出された日時表現は基準日時決定部123と演算部125に入力される。
 日時情報管理部121は、現在日時情報とユーザ想定日時情報を日時情報記憶部122に記憶させることによって、現在日時とユーザ想定日時を管理する。日時情報管理部121は、日時情報記憶部122に記憶されている現在日時情報を、例えば入力文が入力される毎に更新する。
 日時情報管理部121は、上述したように入力文を解析してユーザ想定日時を特定する。日時情報管理部121は、センサ情報処理部82から供給された情報に基づいてユーザの視点の位置を検出し、視点の位置に情報が表示されている日時をユーザ想定日時として特定する。また、日時情報管理部121は、センサ情報処理部82から供給された情報に基づいてユーザが操作した位置を検出し、操作した位置に情報が表示されている日時をユーザ想定日時として特定する。
 日時情報記憶部122は、現在日時記憶部131とユーザ想定日時記憶部132から構成される。現在日時記憶部131は現在日時情報を記憶する。ユーザ想定日時記憶部132はユーザ想定日時情報を記憶する。
 基準日時決定部123は、入力文から抽出された日時表現と、変換用情報記憶部86に記憶されている基準表現リスト114とのマッチングを行い、基準日時の判定を行う。基準日時決定部123は、現在日時を基準日時にすると判定した場合、現在日時情報を現在日時記憶部131から読み出す。また、基準日時決定部123は、ユーザ想定日時を基準日時にすると判定した場合、ユーザ想定日時情報をユーザ想定日時記憶部132から読み出す。基準日時決定部123は、現在日時情報またはユーザ想定日時情報を演算部125に出力する。
 処理方向決定部124は、ユーザの発話の内容の分類結果と、変換用情報記憶部86に記憶されている処理方向リスト113とのマッチングを行い、変換処理の処理方向を決定する。処理方向決定部124は、決定した処理方向を表す情報を演算部125に出力する。
 演算部125は、入力文から抽出された日時表現に応じた変換規則を変換規則辞書112から選択し、選択した変換規則で規定される日時基本関数を日時基本関数辞書111から読み出す。演算部125は、読み出した日時基本関数を用いて、日時表現の変換を行う。演算部125は、処理方向決定部124により決定された処理方向に従って変換規則の選択等を行う。
<4.情報処理端末1の動作>
 次に、図12および図13のフローチャートを参照して、以上のような構成を有する情報処理端末1の日時表現変換処理について説明する。日時表現変換処理は、ユーザの発話の内容を表す入力文が日時表現変換部71に入力されたときに開始される。
 ステップS1において、発話内容分類部81は、入力文を対象として発話内容分類処理を行い、ユーザの発話の内容の分類分けを行う。発話内容分類部81は、分類のリストに従ってドメインとゴールの組み合わせを決定する。
 ステップS2において、日時表現抽出部83は、日時表現辞書101を参照し、入力文に含まれる日時表現を抽出する。
 ステップS3において、日時表現抽出部83は、ユーザの発話に日時表現が含まれているか否かを判定し、日時表現が含まれていないと判定した場合、処理を終了させる。ユーザの発話に日時表現が含まれていると判定された場合、処理はステップS4に進む。
 ステップS4において、変換処理部85の日時情報管理部121は、入力文を解析するなどしてユーザ想定日時を特定する。
 ステップS5において、日時情報管理部121は、現在日時記憶部131に記憶されている現在日時情報を更新する。また、日時情報管理部121は、ステップS4において特定したユーザ想定日時の情報をユーザ想定日時記憶部132に記憶させることによって、ユーザ想定日時記憶部132に記憶されているユーザ想定日時情報を更新する。
 ステップS6において、演算部125は、抽出された日時表現と変換規則辞書112とのマッチングを行う。
 ステップS7において、演算部125は、抽出された日時表現の変換規則が変換規則辞書112に登録されていないか否かを判定し、登録されていないと判定した場合、処理を終了させる。変換規則が変換規則辞書112に登録されていると判定された場合、処理はステップS8に進む。
 ステップS8において、基準日時決定部123は、抽出された日時表現と基準表現リスト114とのマッチングを行い、抽出された日時表現がユーザ想定日時を基準日時とする表現であるか否かを判定する。図6を参照して説明した例の場合、抽出された日時表現が「次の日」、「次の月」、「前の日」、「前の月」であるときに、ユーザ想定日時を基準日時とする表現であると判定される。
 ユーザ想定日時を基準日時とする表現であるとステップS8において判定した場合、ステップS9において、基準日時決定部123は、ユーザ想定日時が設定されているか否かを判定する。ユーザ想定日時情報がユーザ想定日時記憶部132に記憶されており、ユーザ想定日時が設定されているとステップS9において判定した場合、ステップS10において、基準日時決定部123は、ユーザ想定日時を基準日時として決定する。
 抽出された日時表現がユーザ想定日時を基準日時とする表現ではないとステップS8において判定した場合、ステップS11において、基準日時決定部123は、現在日時を基準日時として決定する。ユーザ想定日時が設定されていないとステップS9において判定した場合も同様に、基準日時決定部123は、ステップS11において現在日時を基準日時として決定する。
 ステップS12において、処理方向決定部124は、ユーザの発話の内容の分類結果と処理方向リスト113とのマッチングを行い、変換処理の処理方向を決定する。
 ステップS13において、演算部125は、入力文から抽出された日時表現に応じた変換規則を変換規則辞書112から選択する。演算部125は、選択した変換規則で規定される日時基本関数を日時基本関数辞書111から読み出す。
 ステップS14において、演算部125は、読み出した日時基本関数を用いて日時表現の変換処理を行う。基準日時は、ステップS10において決定されたユーザ想定日時、またはステップS11において決定された現在日時になる。変換処理によって求められた日時を表す情報は、演算部125から結果出力部87に供給され、アプリケーション12に出力される。
 ステップS15において、日時情報管理部121は、変換処理によって求めた日時の情報をユーザ想定日時記憶部132に記憶させることによって、ユーザ想定日時を更新する。すなわち、変換処理によって求められた日時が、ユーザが想定している日時として以降の処理に用いられることになる。
 ユーザ想定日時が更新された後、処理は終了となる。以上の処理が、ユーザの発話に応じて入力文が入力される毎に繰り返される。
 以上の処理により、情報処理端末1は、ユーザの発話に含まれる日時表現を、ユーザが想定している通りに解釈することができる。また、アプリケーション12は、日時表現変換アプリケーション11により解釈された日時表現を元に処理を行うことにより、ユーザが想定した処理を行うことが可能になる。
<5.具体例>
 次に、以上のような日時表現変換アプリケーション11の処理を含む、情報処理端末1の処理の具体例について説明する。
 5-1.スケジューラ操作の例
 図14乃至図17のシーケンスを参照して、アプリケーション12としてのスケジューラを音声によって操作する一連の処理について説明する。ここでは、今日(ユーザが操作してる日)が「2015/01/27(火)」であるものとする。
 図14のステップS101において、ユーザは「来週の予定はなに?」と発話する。情報処理端末1の音声認識アプリケーションは、ユーザの発話を認識し、発話の内容を表す入力文を出力する。入力文は、日時表現変換アプリケーション11により実現された日時表現変換部71に入力される。
 ステップS111において、日時表現変換部71は、音声認識アプリケーションから供給された入力文を取得する。発話内容分類部81による発話内容の分類が適宜行われる。
 ステップS112において、日時表現抽出部83は、日時表現辞書101を参照し、日時表現である「来週」を抽出する。
 ステップS113において、変換処理部85の基準日時決定部123は、基準表現リスト114に基づいて、ユーザ想定日時を基準日時として設定する。
 ステップS114において、演算部125は、変換規則辞書112に基づいて、「来週」の日時表現と対応付けて登録されている変換規則である「日情報を1週間送る関数」を選択する。
 ステップS115において、演算部125は、「日情報を1週間送る」の日時基本関数を日時基本関数辞書111から読み出し、「来週」を、基準日時である「2015/01/27」を含む週の次の週の日時情報である「2015/02/02~2015/02/08」に変換する。「来週」の日時表現が、「2015/02/02~2015/02/08」という、範囲をもつ日時情報に変換されることになる。
 ステップS116において、結果出力部87は、「2015/02/02~2015/02/08」を表す数字列を日時情報としてスケジューラに出力する。
 ステップS117において、日時情報管理部121は、「2015/02/02~2015/02/08」をユーザ想定日時記憶部132に記憶させることによって、ユーザ想定日時を更新する。
 一方、ステップS121において、スケジューラは、結果出力部87から供給された「2015/02/02~2015/02/08」を表す数字列を受信する。
 ステップS122においては、スケジューラは、「2015/02/02~2015/02/08」の間の予定を取得し、ディスプレイ56に表示させるなどして出力する。スケジューラは、ユーザにより登録された「2015/02/02~2015/02/08」の間の予定に関する情報をメモリ61に記憶させるなどして管理している。
 ユーザ想定日時として「2015/02/02~2015/02/08」が設定された状態で、続けて、図15のステップS131において、ユーザは「次の週の予定はなに?」と発話する。情報処理端末1の音声認識アプリケーションは、ユーザの発話を認識し、発話の内容を表す入力文を出力する。
 ステップS141において、日時表現変換部71は、音声認識アプリケーションから供給された入力文を取得する。
 ステップS142において、日時表現抽出部83は、日時表現辞書101を参照し、日時表現である「次の週」を抽出する。
 ステップS143において、変換処理部85の基準日時決定部123は、基準表現リスト114に基づいて、ユーザ想定日時を基準日時として設定する。
 ステップS144において、演算部125は、変換規則辞書112に基づいて、「次の週」の日時表現と対応付けて登録されている変換規則である「週情報を1週間送る関数」を選択する。
 ステップS145において、演算部125は、「週情報を1週間送る」の日時基本関数を日時基本関数辞書111から読み出し、「次の週」を、基準日時である「2015/02/02~2015/02/08」の週の次の週の日時情報である「2015/02/09~2015/02/15」に変換する。
 ステップS146において、結果出力部87は、「2015/02/09~2015/02/15」を表す数字列を日時情報としてスケジューラに出力する。
 ステップS147において、日時情報管理部121は、「2015/02/09~2015/02/15」をユーザ想定日時記憶部132に記憶させることによって、ユーザ想定日時を更新する。
 一方、ステップS151において、スケジューラは、結果出力部87から供給された「2015/02/09~2015/02/15」を表す数字列を受信する。
 ステップS152においては、スケジューラは、「2015/02/09~2015/02/15」の間の予定を取得し、ディスプレイ56に表示させるなどして出力する。
 ユーザ想定日時として「2015/02/09~2015/02/15」が設定された状態で、続けて、図16のステップS161において、ユーザは「金曜日の予定を見せて」と発話する。情報処理端末1の音声認識アプリケーションは、ユーザの発話を認識し、発話の内容を表す入力文を出力する。
 ステップS171において、日時表現変換部71は、音声認識アプリケーションから供給された入力文を取得する。
 ステップS172において、日時表現抽出部83は、日時表現辞書101を参照し、日時表現である「金曜日」を抽出する。
 ステップS173において、変換処理部85の基準日時決定部123は、基準表現リスト114に基づいて、ユーザ想定日時を基準日時として設定する。
 ステップS174において、演算部125は、変換規則辞書112に基づいて、「金曜日」の日時表現と対応付けて登録されている変換規則である「日にちを求める関数」を選択する。
 ステップS175において、演算部125は、「日にちを求める」の日時基本関数を日時基本関数辞書111から読み出し、「金曜日」を、基準日時である「2015/02/09~2015/02/15」の週の金曜日の日時情報である「2015/02/13」に変換する。
 ステップS176において、結果出力部87は、「2015/02/13」を表す数字列を日時情報としてスケジューラに出力する。
 ステップS177において、日時情報管理部121は、「2015/02/13」をユーザ想定日時記憶部132に記憶させることによって、ユーザ想定日時を更新する。
 一方、ステップS181において、スケジューラは、結果出力部87から供給された「2015/02/13」を表す数字列を受信する。
 ステップS182においては、スケジューラは、「2015/02/13」の予定を取得し、ディスプレイ56に表示させるなどして出力する。
 ユーザ想定日時として「2015/02/13」が設定された状態で、続けて、図17のステップS191において、ユーザは「その予定を明日に移しておいて」と発話する。情報処理端末1の音声認識アプリケーションは、ユーザの発話を認識し、発話の内容を表す入力文を出力する。
 ステップS201において、日時表現変換部71は、音声認識アプリケーションから供給された入力文を取得する。
 ステップS202において、日時表現抽出部83は、日時表現辞書101を参照し、日時表現である「明日」を抽出する。
 ステップS203において、変換処理部85の基準日時決定部123は、基準表現リスト114に基づいて、現在日時を基準日時として設定する。
 ステップS204において、演算部125は、変換規則辞書112に基づいて、「明日」の日時表現と対応付けて登録されている変換規則である「日情報を1日送る関数」を選択する。
 ステップS205において、演算部125は、「日情報を1日送る」の日時基本関数を日時基本関数辞書111から読み出し、「明日」を、基準日時(現在日時)である「2015/01/27」の次の日の日時情報である「2015/01/28」に変換する。
 ステップS206において、結果出力部87は、「2015/01/28」を表す数字列を日時情報としてスケジューラに出力する。
 ステップS207において、日時情報管理部121は、「2015/01/28」をユーザ想定日時記憶部132に記憶させることによって、ユーザ想定日時を更新する。
 一方、ステップS211において、スケジューラは、結果出力部87から供給された「2015/01/28」を表す数字列を受信する。
 ステップS212においては、スケジューラは、「2015/02/13」の予定を「2015/01/28」の予定として登録するとともに「2015/02/13」の予定を削除する。
 以上のように、ユーザは、スケジューラを音声で操作し、登録済みの予定を見たり、予定を登録したりすることができる。
 5-2.ユーザ知識の登録の例
 ユーザは、日時表現や変換規則を自ら追加することが可能である。登録部88は、ユーザによる入力に従って、ユーザ辞書102に日時表現を登録し、変換規則辞書112に変換規則を登録する。
 例えば、ユーザが「誕生日」というキーワードを入力し、『「誕生日」=「3月1日」』であることを表す情報を入力した場合、登録部88は、「誕生日」を日時表現としてユーザ辞書102に登録する。また、登録部88は、日時表現としての「誕生日」と、「誕生日を3月1日に変換する関数」を対応付けて変換規則辞書112に登録する。変換規則辞書112に登録するのではなく、変換規則辞書112と同様のフォーマットのユーザ辞書を用意し、そこに登録するようにしてもよい。
 この場合において、例えば、ユーザが「誕生日に予定を登録」の発話を行った場合、日時表現抽出部83は、ユーザ辞書102を参照し、日時表現である「誕生日」を抽出する。
 変換処理部85の演算部125は、変換規則辞書112に基づいて、「誕生日」の日時表現と対応付けて登録されている変換規則である「誕生日を3月1日に変換する関数」を選択する。演算部125は、選択した日時基本関数に従って、「誕生日」を、日時情報である「2015/03/01」に変換する。
 結果出力部87は、「2015/03/01」を表す数字列をアプリケーション12としてのスケジューラに出力する。
 ユーザは、キーワードに「山田の」などの修飾語句を付加することもできる。この場合、「山田の誕生日」というキーワードと対応付けて、変換規則が登録されることになる。さらに、「山さん」=「山田」などの略称登録を行うことも可能である。
 この場合において、例えば、ユーザが「山さんの誕生日」の発話を行った場合、日時表現抽出部83は、ユーザ辞書102を参照し、「山さん」の部分を置き換えることによって、日時表現である「山田の誕生日」を抽出する。以降、同様にして、変換規則に従って、日時表現である「山田の誕生日」が日時情報に変換される。
 ここで、「山さん」=「山田」の略称登録と「山さん」=「山本」の略称登録といったように、「山さん」に関する略称登録が複数あった場合、日時表現抽出部83は、「山田の誕生日」と「山本の誕生日」の両方を日時表現の候補として抽出する。
 変換処理部85は、変換規則に従って、日時表現である「山田の誕生日」を日時情報に変換するとともに、「山本の誕生日」を日時情報に変換する。
 変換後の2つの日時情報を受信した例えばスケジューラは、2つの日時を表示し、いずれかの日時をユーザに選択させる。「山田の誕生日」に対する変換規則と「山本の誕生日」に対する変換規則のうちの一方しか登録されていない場合、登録されている変換規則に従って得られた日時のみが出力されることになる。
 ユーザは、日時表現である「自分の生年月日」を、「1980年3月1日」に変換するといった変換規則を登録することにより、月日以外の表現を用いた処理も可能になる。
 このように、日時表現として抽出させる文字列や変換規則をユーザは任意にカスタマイズすることができる。
 5-3.アプリケーションが管理する情報に基づいて辞書を更新する例
 登録部88は、アプリケーション12が管理する情報を取得し、取得した情報を用いて、日時表現や変換規則を登録することもできる。
 ここでは、アルバムアプリケーションが管理する情報を用いる場合について説明する。アルバムアプリケーションは、それぞれの写真のメタデータとして、ファイル名、撮影場所、撮影時間、コメントなどの情報を管理している。例えば、ある写真のファイル名、コメント、撮影時間として、それぞれ、「*****.data」、「運動会」、「20141013-124254」が管理されているものとする。
 登録部88は、アルバムアプリケーションが管理するそれらの情報を取得し、「運動会」を日時表現としてユーザ辞書102に登録する。また、登録部88は、変換規則として、日時表現としての「運動会」と、「運動会を2014年10月13日に変換する関数」を対応付けて変換規則辞書112に登録する。
 この場合において、例えば写真ファイルを探しているユーザが「運動会」の発話を行った場合、日時表現抽出部83は、ユーザ辞書102を参照し、日時表現である「運動会」を抽出する。
 変換処理部85の演算部125は、変換規則辞書112に基づいて、「運動会」の日時表現と対応付けて登録されている変換規則である「運動会を2014年10月13日に変換する関数」を選択する。演算部125は、選択した日時基本関数に従って、「運動会」を、日時情報である「2014/10/13」に変換する。
 アルバムアプリケーションは、日時表現変換アプリケーション11から供給された「2014/10/13」の数字列に基づいて、その日付をメタデータに含む「*****.data」の写真ファイルを検索し、ディスプレイ56に表示する。
 ここでも、「運動会」というコメントで登録された候補が複数ある場合、全ての日時変換候補が出力される。
 5-4.写真検索の例
 予め登録されている変換規則を用いて得られた日時表現を写真検索に用いることも可能である。
(1)ユーザが「夏に撮った写真を検索」の発話を行った場合の例
 この場合、日時表現抽出部83は、日時表現辞書101を参照し、日時表現である「夏」を抽出する。変換処理部85の演算部125は、変換規則辞書112に登録されている変換規則に従って、「夏」の日時表現を「2014/07/01~2014/09/30」に変換する。
 「2014/07/01~2014/09/30」の日時情報を取得したアルバムアプリケーションは、「2014/07/01~2014/09/30」の期間内に撮影された写真を検索し、検索結果をディスプレイ56に表示させる。
(2)ユーザが「クリスマスに撮った写真を検索」の発話を行った場合の例
 この場合、日時表現抽出部83は、日時表現辞書101を参照し、日時表現である「クリスマス」を抽出する。変換処理部85の演算部125は、変換規則辞書112に登録されている変換規則に従って、「クリスマス」の日時表現を「2014/12/25」に変換する。
 「2014/12/25」の日時情報を取得したアルバムアプリケーションは、「2014/12/25」に撮影された写真を検索し、検索結果をディスプレイ56に表示させる。
 このように、変換規則辞書112に予め登録されている変換規則には、日時の範囲を表す表現を他の日時に変換するための規則や、祝日、記念日といった特定の日付・時間を他の日時に変換するための規則が含まれる。日時の範囲を表す表現には、「春夏秋冬」、「午前」、「午後」、・・・などが含まれる。また、特定の日付・時間を表す表現には、「節気」、「体育の日」、「こどもの日」、「みどりの日」、・・・などが含まれる。
 5-5.スケジュール登録の例
 ユーザ想定日時を利用したスケジュール登録について説明する。今日(ユーザが操作してる日)が「2015/01/27(火)」であるものとする。アプリケーション12としてスケジューラが実行されている。
 ユーザが「明後日の10時に会議の予定を入れておいて」の発話を行った場合、日時表現抽出部83は、日時表現辞書101を参照し、日時表現である「明後日の10時」を抽出する。
 変換処理部85の演算部125は、変換規則辞書112に基づいて、「明後日」の日時表現と対応付けて登録されている変換規則である「日情報を2日送る関数」を選択する。演算部125は、選択した日時基本関数に従って、「明後日の10時」を、日時情報である「2015/01/29 10:00:00」に変換する。なお、このときの基準日時は現在日時である。
 スケジューラは、日時表現変換アプリケーション11から供給された「2015/01/29 10:00:00」の数字列に基づいて、「2015/01/29」の10時の予定として「会議」を登録する。予定を登録した後、スケジューラは、「登録しました」の音声をスピーカ59から出力する。なお、予定を表す「会議」の文字列は、後述するように、入力文の意味が解析されることによって抽出される。
 同時に、日時情報管理部121は、「2015/01/29 10:00:00」をユーザ想定日時としてユーザ想定日時記憶部132に記憶させる。
 続けて、例えばユーザが「夜8時から食事の予定も入れて」の発話を行った場合、日時表現抽出部83は、日時表現辞書101を参照し、日時表現である「夜8時」を抽出する。
 変換処理部85の演算部125は、変換規則辞書112に登録されている変換規則に基づいて、「夜8時」の日時表現を、同日の夜8時を表す「2015/01/29 20:00:00」に変換する。ここで、基準日時は、ユーザ想定日時としての「2015/01/29 10:00:00」である。
 スケジューラは、日時表現変換アプリケーション11から供給された「2015/01/29 20:00:00」の数字列に基づいて、「2015/01/29」の20時の予定として「食事」を登録する。予定を登録した後、スケジューラは、「登録しました」の音声をスピーカ59から出力する。
 同時に、日時情報管理部121は、「2015/01/29 20:00:00」をユーザ想定日時としてユーザ想定日時記憶部132に記憶させる。
 ユーザ想定日時は一定時間だけ保持される。すなわち、ユーザ想定日時には、それが有効となる時間について制限が設定されている。ユーザの発話が終了してから一定時間が経過した場合、日時情報管理部121は、ユーザ想定日時記憶部132に記憶させておいたユーザ想定日時を消去する。
 従って、一定時間が経過した後に「夜8時」の発話が行われた場合、ユーザ想定日時が保持されていない状態での処理となるため、現在日時を基準日時として日時表現の変換が行われる。現在日時は「2015/01/27」であるから、日時表現の変換結果として「2015/01/27 20:00:00」が出力されることになる。
 5-6.スケジュール確認の例
 上述したように、カメラ57などのセンサによる検出結果を利用してユーザ想定日時を特定することも可能である。ここで、今日(ユーザが操作してる日)が「2015/01/27(火)」であるものとする。
 また、アプリケーション12としてスケジューラが実行されており、ディスプレイ56の画面には、ユーザによる操作に従って、「2015/02/01~2015/02/30」の期間のカレンダーが表示されているものとする。この場合、画面上に表示されている日時である「2015/02/01~2015/02/30」がユーザ想定日時として登録される。
 例えばユーザが「次の月の予定を見せて」の発話を行った場合、日時表現抽出部83は、日時表現辞書101を参照し、日時表現である「次の月」を抽出する。
 変換処理部85の演算部125は、変換規則辞書112に登録されている変換規則に基づいて、「次の月」の日時表現を「2015/03/01~2015/03/31」に変換する。ここで、基準日時は、ユーザ想定日時としての「2015/02/01~2015/02/30」である。
 スケジューラは、日時表現変換アプリケーション11から供給された「2015/03/01~2015/03/31」の数字列に基づいて、その期間内の予定を表示する。
 同時に、日時情報管理部121は、「2015/03/01~2015/03/31」をユーザ想定日時としてユーザ想定日時記憶部132に記憶させる。
 続けて、ユーザが「28日の予定を見せて」の発話を行った場合、日時表現抽出部83は、日時表現辞書101を参照し、日時表現である「28日」を抽出する。
 変換処理部85の演算部125は、変換規則辞書112に登録されている変換規則に基づいて、「28日」の日時表現を「2015/03/28」に変換する。ここで、基準日時は、ユーザ想定日時としての「2015/03/01~2015/03/31」である。
 これにより、画面上に表示されているカレンダーの日時が現在日時に優先し、現在日時である「2015/01/27」を含む1月の「28日」である「2015/01/28」ではなく、「2015/03/28」の変換結果が得られることになる。ただし、「今月の28日」など、日時表現の条件が追加され、より詳細な日時表現が発話に含まれる場合には「2015/01/28」と変換される。
 スケジューラは、日時表現変換アプリケーション11から供給された「2015/03/28」の数字列に基づいて、「2015/03/28」の予定を表示する。
 同時に、日時情報管理部121は、「2015/03/28」をユーザ想定日時としてユーザ想定日時記憶部132に記憶させる。
 次に、ユーザが「この日の予定を見せて」の発話を行ったものとする。また、この発話が行われたとき、センサ情報処理部82により検出されたユーザの視点の位置が、ディスプレイ56に表示されているカレンダー上の「2015/02/01」の位置にあるものとする。
 この場合、日時情報管理部121は、ユーザが「2015/02/01」に注目していることを検出し、検出した日時である「2015/02/01」をユーザ想定日時としてユーザ想定日時記憶部132に記憶させる。ユーザの意図において「この日」は、「2015/02/01」と考えられる。
 日時表現抽出部83は、日時表現辞書101を参照し、日時表現である「この日」を抽出する。
 変換処理部85の演算部125は、変換規則辞書112に登録されている変換規則に基づいて、「この日」の日時表現を、ユーザ想定日時である「2015/02/01」に変換する。
 スケジューラは、日時表現変換アプリケーション11から供給された「2015/02/01」の数字列に基づいて、「2015/02/01」の予定を表示する。
 このように、ユーザの視点の位置にある日時、ユーザが操作した位置にある日時など、情報処理端末1に設けられるセンサによって検出されたデータを解析して得られた日時をユーザ想定日時として用いることも可能である。ユーザが操作した位置はセンサであるタッチパネル60により検出される。
 5-7.ニュース閲覧時の例
 ニュース記事に含まれる日時を変換し、変換後の日時で置き換えたニュース記事を表示することも可能である。ニュースアプリケーションの起動中、ディスプレイ56には、文章や写真が配置されたニュース記事が表示される。
 ニュース記事の文章中に「先週の月曜日に~」や「27日午後に~」などの日時表現が含まれることがある。これらの日時表現は現在日時の「今日」(記事の発行日)を基準とした表現であるため、ニュース記事の閲覧日が記事の発行日と異なる場合、日時表現が意図している日にずれが生じてしまう。
 そこで、日時情報管理部121は、ニュース記事の情報が日時表現変換部71に入力された場合、ニュース記事の発行日を仮想的な現在日時として現在日時記憶部131に記憶させ、管理する。
 例えば、ユーザがニュース記事を閲覧している日時(現在日時)が「2015/02/01」であり、そのニュース記事の発行日が「2015/01/27」であるものとする。この場合、演算部125は、変換規則に従って、「先週の月曜日に~」の文章に含まれる日時表現である「先週の月曜日」を「2015/01/19」に変換する。ここで、基準日時は、仮想的な現在日時としての「2015/01/27」である。
 また、演算部125は、「27日午後に~」の文章に含まれる日時表現である「27日午後」を「2015/01/27 12:00-23:59」に変換する。ここでも。基準日時は、仮想的な現在日時としての「2015/01/27」となる。
 ニュースアプリケーションは、日時表現変換アプリケーション11から供給された「2015/01/19」の数字列に基づいて、ニュース記事に含まれる「先週の月曜日」の文字列を「2015/01/19」と置き換えて表示する。また、ニュースアプリケーションは、日時表現変換アプリケーション11から供給された「2015/01/27 12:00-23:59」の数字列に基づいて、ニュース記事に含まれる「27日午後」の文字列を「2015/01/27 12:00-23:59」と置き換えて表示する。
 これにより、ニュース記事の閲覧日が記事の発行日と異なる場合であっても、情報処理端末1は、ユーザにとって分かりやすい日時表現を用いたニュース記事を表示させることが可能になる。
 5-8.ビデオ管理アプリケーションとの連携の例
 上述したように、情報処理端末1においては、ユーザの発話の内容が分類分けされ、日時表現の変換を過去方向に処理すべきか、未来方向に処理すべきかが判定される。その判定結果に従って、録画済みのビデオの再生とビデオの録画予約を行う場合について説明する。今日(ユーザが操作してる日)が「2015/01/27(火)」であるものとする。
 ユーザが「月曜日に録画したビデオを見せて」の発話を行った場合、発話内容分類部81は、発話の内容の意味を解析し、ユーザの発話を、ドメイン:VIDEO-ゴール:PLAYの分類に分類分けする。
 変換処理部85の処理方向決定部124は、処理方向リスト113を参照し、発話内容分類部81による分類結果に基づいて、過去方向に処理するとして判定する。
 一方、日時表現抽出部83は、日時表現辞書101を参照し、日時表現である「月曜日」を抽出する。
 変換処理部85の演算部125は、変換規則辞書112に基づいて、「月曜日」の日時表現と対応付けて登録されている変換規則である「日にちを求める関数」を選択する。演算部125は、選択した日時基本関数に従って、「月曜日」を、基準日時(現在日時)である「2015/01/27」の過去であり、直近の月曜日の日にちである「2015/01/26」に変換する。
 ビデオ管理アプリケーションは、日時表現変換アプリケーション11から供給された「2015/01/26」の数字列に基づいて、「2015/01/26」に録画したビデオコンテンツの再生を開始したり、「2015/01/26」に録画したビデオコンテンツのリストを表示したりする。
 また、ユーザが「月曜日の○○を録画しておいて」の発話を行った場合、発話内容分類部81は、発話の内容の意味を解析し、ユーザの発話を、ドメイン:VIDEO-ゴール:RECORDの分類に分類分けする。
 変換処理部85の処理方向決定部124は、処理方向リスト113を参照し、発話内容分類部81による分類結果に基づいて、未来方向に処理するとして判定する。
 一方、日時表現抽出部83は、日時表現辞書101を参照し、日時表現である「月曜日」を抽出する。
 変換処理部85の演算部125は、変換規則辞書112に基づいて、「月曜日」の日時表現と対応付けて登録されている変換規則である「日にちを求める関数」を選択する。演算部125は、選択した日時基本関数に従って、「月曜日」を、基準日時(現在日時)である「2015/01/27」の未来であり、直近の月曜日の日にちである「2015/02/02」に変換する。
 ビデオ管理アプリケーションは、日時表現変換アプリケーション11から供給された「2015/02/02」の数字列に基づいて、「2015/02/02」に放送される「○○」の録画予約を設定する。
 5-9.ヘルスケアアプリケーションとの連携の例
 情報処理端末1は、複数のアプリケーションから取得したデータに基づいて日時表現や変換規則を登録しておくことにより、日時表現の解釈の幅を広げることが可能になる。
 ここでは、スケジューラが管理する予定の情報とヘルスケアアプリケーションが管理する行動ログを用いる場合について説明する。ユーザが、「2015/01/02」と「2015/01/09」の予定として「ジョギング」を登録していたものとする。
 この場合、登録部88は、スケジューラから取得した情報に基づいて、「ジョギング」を日時表現としてユーザ辞書102に登録する。また、登録部88は、「ジョギング」の日時表現と、「ジョギングを2015/01/02に変換する関数」、「ジョギングを2015/01/09に変換する関数」をそれぞれ対応付けて変換規則辞書112に登録する。
 ユーザが、ヘルスケアアプリケーションを起動させた状態で「この前ジョギングした日の記録を見せて」の発話を行った場合、日時表現抽出部83は、ユーザ辞書102を参照し、日時表現である「ジョギング」を抽出する。
 変換処理部85の演算部125は、変換規則辞書112に登録された変換規則に基づいて、「ジョギング」を、「2015/01/02」と「2015/01/09」にそれぞれ変換する。
 ヘルスケアアプリケーションは、日時表現変換アプリケーション11から供給された「2015/01/02」と「2015/01/09」の数字列に基づいて、「2015/01/02」のジョギングの記録と「2015/01/09」のジョギングの記録を読み出し、ディスプレイ56に表示する。ジョギングの記録は、ヘルスケアアプリケーションが管理する行動ログである。
 アプリケーション12は、ユーザ辞書102に登録した日時表現の保持期間と変換規則辞書112に登録した変換規則の保持期間を任意に設定可能である。保持期間が経過した日時表現や変換規則を消去することにより、不要なデータの検索を省くことが可能になる。
<<第2の実施の形態>>
<1.意味解析について>
 次に、ユーザの発話の意味の解析について説明する。日時表現の抽出などが、発話の意味を解析することによって行われる。
 本開示においては、音声認識結果としての入力文の意味解析が、以下の3つのパートで分担することによって行われる。
(1)多種多様な発話からフレーム(コマンド)を特定するのはフレーム選択部に任せる。フレームの特定には、発話内容の分類のための技術が適用可能である。
 フレームが決まると、値を埋めるべきスロットが決まる。フレーム毎のスロットの例を挙げると以下のようになる。
 「予定追加」フレームの下で必要なスロットは、題名・開始日・終了日・開始時刻・終了時刻・期間となる。
 「天気予報チェック」フレームの下で必要なスロットは、場所・開始日・終了日・開始時刻・終了時刻・期間となる。
 「電話かける」フレームの下で必要なスロットは、電話番号・宛先名・番号タイプ(固定電話/携帯)・グループとなる。
 「音楽再生」フレームの下で必要なスロットは、楽曲名・アルバム名・アーティスト名となる。
(2)フレーズ抽出部の役目は、スロットに対応する語句を音声認識結果から切り出し、対応するスロットに入れることである。
 例えば、「来週の水曜の10時から2時間、顧客と打ち合わせの予定」という音声認識結果が「予定追加」フレームに分類されたとする。この場合、題名・開始日・終了日・開始時刻・終了時刻・期間の各スロットには、以下の語句が入る。
 題名←「顧客と打ち合わせ」
 開始日←「来週の水曜」
 終了日←(なし)
 開始時刻←「10時」
 終了時刻←(なし)
 期間←「2時間」
(3)値変換においては、フレーズ抽出の結果がアプリケーションで使いやすい形式に変換される。
 例えば、「予定追加」フレームが選択されている場合、日時関連のスロット値の形式が変換される。
 「来週の水曜の10時から2時間 顧客と打ち合わせの予定」の上記フレーズ抽出結果は、今日が2014年9月12日とすると、以下のように変換される。
 開始日時 : 2014/9/17 10:00
 終了日時 : 2014/9/17 12:00
 また、「電話かける」フレームが選択されている場合、宛先名・番号タイプ・グループ等の各スロットの値から、電話番号が特定される。
<2.フレーズ抽出の問題点>
 ところで、多種多様な音声認識結果(入力文)に対応する必要があるため、フレーズ抽出には以下のような問題が存在する。
(1)発話のバリエーション
 例えば、以下の入力文からは、いずれも「開始日:今日」、「開始時刻:10時」、「題名:会議」というフレーズ抽出結果が得られる。なお、○○:△△の表記において、「:」の前の「○○」はスロットを表し、「△△」はフレーズ(スロット値)を表す。
 ・「今日の10時から会議の予定を登録して」
 ・「今日の10時に会議がある」
 ・「今日の会議は10時からの予定」
 ・「会議は今日の10時から」
 ・「今日の10時に会議」
(2)スロット値のバリエーション
 例えば今日が2014年9月12日(金曜日)であるとして、2014年9月15日(月曜日)に対応する表現には以下のようなバリエーションがある。
 ・「2014年9月15日」
 ・「9月15日」
 ・「15日」
 ・「今月の15日」
 ・「しあさって」
 ・「三日後」
 ・「今日から三日後」
 ・「明日の二日後」
 ・「来週の月曜日」
 ・「今度の月曜日」
 ・「次の月曜」
 ・「敬老の日」
 ・「今度の敬老の日」
 ・「今月の第3月曜」
 つまり、『「2014年9月15日を表す語句」に買い物の予定』という入力文において、「2014年9月15日を表す語句」の部分には上記のような様々な語句が入る可能性がある。フレーズ抽出では、その部分の語句を正しく切り出し、この例では「開始日」のスロットに格納する必要がある。
(3)スロットの種類と値の型
 スロットによって、入り得る値の種類や傾向が異なる。
 例えば、人名・地名・駅名・曲名などのスロットは、数が非常に多い。また、日時関連のスロット(開始日・終了日・開始時刻・終了時刻・期間など)は、ある程度の規則性はあるが、月・日・曜日・○日後等の組み合わせも可能であるため、バリエーションが膨大になる。「予定追加」フレームにおける題名のスロットには、基本的にはどのような値も入り得るが、「会議」、「打ち合わせ」、「買い物」など、高頻度で使用される定型の題名もある。
 また、同一の語句であっても、前後関係によって、別のスロットに格納する必要がある場合もある。
 例えば、「明日」の語句は、「明日から明後日まで出張の予定」の入力文においては開始日のスロットに入る。一方、「今日から明日まで出張の予定」の入力文と「出張は今日から明日」の入力文においては終了日のスロットに入る。
 従って、「明日」の語句を開始日のスロットに入れるといった単純な処理は失敗する可能性が高い。
<3.フレーズ抽出の問題点を解決する方法>
(1)発話のバリエーションに対応するため、予め用意しておいた複数のテンプレートと入力文との間で曖昧なマッチングが行われる。
 曖昧なマッチングの方法として、編集距離に基づくマッチングが用いられる。編集距離とは、1個のテンプレートと入力文との間で、シンボルの挿入または削除といった編集操作を行い、両者が一致するまでの最小の回数を意味する。
 シンボルの挿入や削除は、スロットの外側に相当するシンボルに対してのみ行われ、スロットの内側に相当するシンボルに対しては行われない。
 テンプレートと入力文との間で「~の予定を追加」と「~の予定を登録したい」といった微妙な食い違いがあっても、マッチさせることができる。
 ここでいうテンプレートは、入力発話例において、スロットに該当する語句を、名称付きの空欄に置き換えた構造をしたデータのことである。例えば「予定追加」フレームでは以下のようなテンプレートが用意される。
 ・「[開始時刻]から[終了時刻]まで[題名]の予定」
 ・「[開始日]の[開始時刻]から[終了時刻]まで[題名]の予定」
 ・「[開始時刻]に[題名]を追加」
 ・「[開始日]の[題名]は[開始時刻]から」
 ・「[開始日]の[題名]は[開始時刻]から[終了時刻]まで」
 上記テンプレートにおいて、「[]」で囲む[開始時刻]等の部分が、スロットに該当する空欄である。以下では、「[開始時刻]から[終了時刻]まで[題名]の予定」等の、一発話分(一文)に対応したテンプレートを「文テンプレート」と呼び、フレーム1個分に対応した文テンプレートを「テンプレートセット」と呼ぶ。
(2)スロットの値については、スロットの種類に応じて、以下のように異なる方法で用意される。
 ・人名・地名・駅名・曲名などのスロット
 人名・地名・駅名などのリストが取得され、用意される。
 ・日時関連のスロット
 月・日・曜日・時・分といった基本的なパーツと、それらのパーツ同士の組み合わせが所定の書式で記述されることによって用意される。
 ・「予定追加」フレームの題名スロット
 「会議」、「打ち合わせ」といった典型的な題名からなるリストと、特定のシンボルに囲まれた任意の文字列を切り出す機構とを併用することによって用意される。例えば、「3時から例の件について打ち合わせの予定」の入力文を対象としたフレーズ抽出においては、「から」と「の予定」とに囲まれた「例の件について打ち合わせ」という文字列が切り出されて題名スロットに格納される。
(3)テンプレートおよび入力文は、重みつき有限状態トランスデューサー(WFST)の形式で表現される。その理由と利点は以下の通りである。
 ・上記(2)で説明したようにスロット値は3種類に分類されるが、どれもWFSTの形態の違いとして表現することができる。
 ・入力文とテンプレート(展開後)との曖昧マッチングは、WFST同士の合成という操作で実現でき、それと同時に、スロットに該当する語句の特定も可能である。
 なお、スロットに該当する語句を特定するために、スロットの始端・終端の目印がマッチング時に出力される。目印に挟まれた部分がマッチング後に切り出され、該当するスロットに格納される。
<4.音声意味解析器の構成>
 図18は、上記技術を用いた音声意味解析器の構成例を示す図である。
 音声意味解析器201は、入力部211、フレーム選択部212、フレーズ抽出部213、および値変換部214から構成される。
 入力部211は、音声発話をテキストに変換する処理を行う。このモジュールには、各種の音声認識技術を用いることができる。また、音声認識によってテキストを取得するのではなく、物理的または仮想的なキーボード等を用いて入力されたテキストを取得するようにしてもよい。また、文字認識技術を用いてテキストを取得するようにしてもよい。
 入力部211の出力は、音声発話に対応した音声認識結果、またはそれに類するテキストである。入力部211の出力は、入力文としてフレーム選択部212およびフレーズ抽出部213に供給される。
 フレーム選択部212は、入力文に対応したフレームを選択する処理を行う。言い換えると、フレーム選択部212は、入力文がどのフレームに属するものであるかを分類する。このモジュールには、各種のテキスト分類技術を用いることが可能である。各フレームには名称が付けられている。フレーム選択部212により選択されたフレームの名称(フレーム名)はフレーズ抽出部213に供給される。
 フレーズ抽出部213は、入力文の中からスロットに該当する語句(フレーズ)を抽出し、各スロットに格納する。フレーズ抽出部213は、これらの処理を、フレーム選択部212から供給されたフレーム名を適宜用いて行う。フレーム名を使用する理由は、同一の語句であってもフレームによってどのスロットに格納すべきかが異なるからである。フレーズ抽出部213の詳細は後述する。
 フレーズ抽出部213の出力であるフレーズ抽出結果は値変換部214に供給される。例えば、上述した「来週の水曜の10時から2時間、顧客と打ち合わせの予定」という入力文については、以下のフレーズ抽出結果が値変換部214に供給される。
 [フレーム名:予定追加]
 開始日:来週の水曜
 終了日:(なし)
 開始時刻:10時
 終了時刻:(なし)
 期間:2時間
 題名:顧客と打ち合わせ
 値変換部214は、フレーズ抽出部213から供給されたフレーズ抽出結果の所定のスロットに格納された値を、後段処理部202で処理しやすい形式に変換する。例えば、発話した日にちが2014年9月12日であるとすると、値変換部214は、上記フレーズ抽出結果を、日時関連のスロットの値に基づいて以下のような開始日時と終了日時の2つの値に変換する。なお、題名については、後段処理部202で文字列のまま使用するため、変換しないものとする。
 [フレーム名:予定追加]
 開始日時:2014/9/17 10:00
 終了日時:2014/9/17 12:00
 題名:顧客と打ち合わせ
 値変換の他の例として、地名を表すスロットに格納された値を緯度経度に変換したり、「山田さんの職場の番号」という値から、具体的な電話番号に変換したりしてもよい。
 値変換部214の出力は、音声意味解析器201の出力(意味解析結果)として後段処理部202に供給される。
 後段処理部202は、意味解析結果に対応した処理を行う。例えば、上記の意味解析結果を取得したスケジューラは、「顧客と打ち合わせ」という名称のアイテムを生成し、それを、2014年9月17日の午前10時から12時まで予定として登録して管理する。
 図19は、フレーズ抽出部213の構成例を示すブロック図である。
 フレーズ抽出部213は、マッチング部221、テンプレートセット記憶部222、およびスロットフィリング部223から構成される。入力部211から出力された入力文とフレーム選択部212から出力されたフレーム名はマッチング部221に入力される。
 テンプレートセット記憶部222はテンプレートセットを記憶する。テンプレートセット記憶部222が記憶するテンプレートセットは、1個以上の文テンプレートの集合である。文テンプレートはフレーム名毎に分類される。N種類のフレームを用いる場合、それに合わせてテンプレートセットもN個用意される。
 なお、文テンプレートとテンプレートセットは、重みつき有限状態トランスデューサー(WFST)の形式で表現される。WFSTの詳細については後述する。
 マッチング部221は、フレーム名に対応したテンプレートセットをテンプレートセット記憶部222から読み出し、読み出したテンプレートセットと入力文との間で以下の2つの処理を行う。
 (処理1)処理1は、1つのテンプレートセットに含まれる文テンプレートの中で、入力文と最もマッチする文テンプレートを選択する処理である。
 (処理2)処理2は、処理1によって選択した文テンプレートと入力文とのマッチングを行い、各スロットに格納する語句を入力文から求める処理である。
 例えば、入力文が「3時から5時 会議の予定を追加して」であり、テンプレートセットが以下の5個の文テンプレートからなるとする。
 (a)[開始時刻]から[終了時刻]まで[題名]の予定
 (b)[開始日]の[開始時刻]から[終了時刻]まで[題名]の予定
 (c)[開始時刻]に[題名]を追加
 (d)[開始日]の[題名]は[開始時刻]から
 (e)[開始日]の[題名]は[開始時刻]から[終了時刻]まで
 処理1において(a)の文テンプレートが選択されたとすると、処理2では以下のようなマッチングを行う。
 入力文:   3時   から 5時    会議 の予定を追加して
 文テンプレート:[開始時刻]から[終了時刻]まで[題名]の予定
 すなわち、[開始時刻]、[終了時刻]、[題名]のそれぞれのスロットには「3時」、「5時」、「会議」が格納される。
 後述するように、WFSTの合成を用いることで、処理1と処理2のマッチングが同時に行われる。マッチング部221は、処理1と処理2のマッチングによって得られたマッチング結果をスロットフィリング部223に出力する。
 スロットフィリング部223は、マッチング結果から、スロットフィリング形式のデータを生成する。上記の例の場合、スロットフィリング部223は以下のようなデータを生成する。
 開始時刻:3時
 終了時刻:5時
 題名:会議
 スロットフィリング部223は、生成したスロットフィリング形式のデータをフレーズ抽出結果として出力する。
<5.テンプレートセットについて>
 次に、テンプレートセット記憶部222に記憶されるテンプレートセットについて説明する。
 テンプレートセットは、重みつき有限状態トランスデューサー(weighted finite state transducer: WFST)で表現される。WFSTは、有向グラフ(directed graph)の一種であり、状態(state)と呼ばれるノード(節)と、アークと呼ばれる矢印とで構成される。各アークには、ラベルとして、入力シンボル・出力シンボル・遷移重みの組が付与される。
 図20は、WFSTの基本的な構成を示す図である。
 図20を参照して、WFSTの基本について説明する。図20には、状態1乃至4が円で示されている。状態1から状態2に向かう矢印、状態1から状態3に向かう矢印、状態2から状態4に向かう矢印、および状態3から状態4に向かう矢印はそれぞれアークA1乃至A4である。
 アークA1乃至A4にはそれぞれラベルが付与される。各ラベルは「入力シンボル・出力シンボル・遷移重み」という形式をしている。
 例えばアークA1に付与されているラベルの“a:A/w1”は、「状態1においてシンボルaが入力された場合、そのシンボルを消費しながら状態2に遷移し、その際にシンボルAを出力する。そして、遷移に要する重みはW1である」ことを意味する。
 状態1は開始状態である。状態の遷移は状態1から開始する。また、状態4は終了状態である。入力シンボルを全て消費したときに状態4に到達していれば、その入力シンボルからなる系列(以降、入力シンボル列という)が、受理された(accepted)と表現される。それ以外の場合、すなわち、入力シンボルに対応した遷移が存在しなかったり、入力シンボルを全て消費しても状態4に到達しなかったりした場合は、入力シンボル列が不受理(not accepted)と表現される。
 図20のWFSTで受理される入力シンボル列は“a c”と“b d”の2つである。それぞれの入力シンボル列に対応する出力シンボル列・遷移重み・状態遷移は、図21に示すようになる。
 遷移重みを、スコア(値が大きいほど良い遷移)と解釈するか、コスト(値が小さいほど良い遷移)と解釈するかは、用途によって使い分けられる。以下においてはコストとして解釈するため、遷移重みを「コスト」や「ペナルティー」とも表現する。
 図22以降においては、簡略化のため、ラベルの標記について、遷移重みが0のときは省略するとともに、入力シンボルと出力シンボルとが同一であるときは一方のみを表記する。例えば“a”というラベルは、“a:a/0”を省略していることを表す。
 また、フレーズ抽出処理において、入力シンボルと出力シンボルを言語の何に対応させるかについては、文字を対応させる場合、単語を対応させる場合、形態素を対応させる場合などの、いくつかの場合がある。その点については後述する。
 図22は、WFSTで表現されたテンプレートセットを示す図である。
 図22に示すように、テンプレートセットは、文テンプレートに相当するWFSTを並列に接続することによって表される。
 図22の例においては、文テンプレートWFST#1乃至#nが示されている。それぞれの文テンプレートWFSTは、文テンプレートの1つに対応したWFSTである。詳細については後述する。
 それぞれの文テンプレートWFSTは、共通の開始状態を持つ。文テンプレートWFST#1乃至#nと開始状態は、アークA11-1乃至11-nによって接続される。アークA11-1乃至11-nには、文頭(発話始端)を表す特殊なシンボルである“<s>”を含むラベルが付与される。このラベルは“<s>:<s>/0”を省略して標記したものであり、「<s>を消費して<s>をそのまま出力し、その際の遷移重みが0」であることを意味する。
 また、それぞれの文テンプレートWFSTは共通の終了状態を持つ。文テンプレートWFST#1乃至#nと終了状態は、アークA12-1乃至12-nによって接続される。アークA12-1乃至12-nには、文末(発話終端)を表す特殊なシンボルである“</s>”を含むラベルが付与される。このラベルは“</s>:</s>/0”を省略して標記したものである。
 図23は、入力シンボルおよび出力シンボルに文字を対応させた場合の文テンプレートWFSTの例を示す図である。
 図23に示す文テンプレートWFSTは、上述した「[開始日]の[開始時刻]から[終了時刻]まで[題名]の予定」という文テンプレート(b)に対応したWFSTである。
 図23の例においては、WFSTの入力シンボルおよび出力シンボルは文字である。すなわち、後述のε遷移を除き、1文字消費するごとに1回の状態遷移が発生する。
 開始状態および終了状態は、それぞれ図22の開始状態および終了状態に対応する。枠で囲んで示す文テンプレートWFSTが、文テンプレートWFST#1乃至#nのいずれかに対応する。
 スロットWFST#21乃至#24は、文テンプレート(b)に含まれる各スロットである[開始日]、[開始時刻]、[終了時刻]、[題名]に対応したWFSTである。スロットWFSTの詳細については後述する。
 アークA22,A24,A25,A27,A28,A30,A31,A32に付与されたラベルは、通常のシンボル(特殊なシンボル以外のシンボル)を入力シンボルおよび出力シンボルとして持つラベルである。例えばアークA22に付与されたラベルである「の」は“の:の/0”を表す。
 文テンプレートWFSTにおいて、アークは以下の4通りに分類される。適宜、それぞれのアークをアーク(a)乃至(d)という。
 (a)通常シンボルを入力シンボルおよび出力シンボルとするアーク
 (b)ε遷移を表すアーク
 (c)曖昧マッチングのために追加されるアーク
 (d)スロットWFST内部でのみ出現するアーク
 ここでは、アーク(a)~(c)について説明する。アーク(d)については後述する。
 アーク(a)は、入力シンボル・出力シンボルが同一かつ遷移重みが0という特徴を持つ。図23の例においては、アークA22,A24,A25,A27,A28,A30,A31,A32がアーク(a)に該当する。例えばアークA22は、「の」を消費して「の」をそのまま出力し、その際の遷移重みが0となるアークである。
 アーク(b)は、ラベルが付与されていないアークである。図23の例においては、アークA21,A23,A26,A29がアーク(b)に該当する。アーク(b)は、実際には「ε:ε/0」というラベルを持つ。εは空(empty)を表す特殊なシンボルであり、このラベルは「入力シンボルを消費せずに遷移し、その際に何も出力せず、遷移重みが0である」ことを表す。
 アーク(c)について説明する。曖昧マッチングとは、入力シンボル列または文テンプレートに対してシンボルの挿入や脱落を発生させることによって、両者をマッチさせることである。例えば、入力文が「今日3時から5時まで会議がある」の場合、図23の文テンプレートにマッチさせるためには各シンボルを以下のように対応付ける。
 入力シンボル列: 今日 - 3時 から 5時 まで 会議 の予定がある
 文テンプレート:[開始日]の[開始時刻]から[終了時刻]まで[題名]の予定---
 すなわち、入力シンボル列を構成する「今日」、「-」、「3時」、「か」、「ら」、「5時」、「ま」、「で」、「会議」、「の」、「予」、「定」、「が」、「あ」、「る」の各シンボルは、それぞれ、文テンプレートの[開始日]スロット、「の」、[開始時刻]スロット、「か」、「ら」、[終了時刻]スロット、「ま」、「で」、[題名]スロット、「の」、「予」、「定」、「-」、「-」、「-」に対応する。
 「-」は、対応するシンボルが相手側に存在しないことを表す。以下においては、入力シンボル列側に余計なシンボルが存在していることを「挿入」、文テンプレート側に余計なシンボルが存在していることを「脱落」と表現する。言い換えると、両者をマッチさせるには、文テンプレート側において「の」(アークA22のラベル)を脱落させ、さらに末尾に「が」、「あ」、「る」を挿入すればよい。
 WFSTを用いてこのようなマッチングを実現するためには、シンボルの挿入および脱落を表す特別なアークを文テンプレート側に追加する。図23においては、破線で示すアークa1乃至a9はシンボルの挿入を表し、一点鎖線で示すアークa11乃至a18はシンボルの脱落を表す。両アークには特殊なラベルが付与されている。特殊なラベルについては図24を参照して説明する。
 図24は、図23のアークA24付近の一部の拡大図である。
 アークA24の両側のノードを、それぞれノードn1,n2とする。ノードn1からはシンボルの挿入を表すアークa2が出ている。アークa2は自己ループのアークであり、ノードn1に戻る。
 アークa2には「<ins>:<ins>/Wi」という特殊なラベルが付与されている。このラベルにおいて、<ins>はシンボルの挿入を表す特殊なシンボルである。また、Wiはシンボルの1回の挿入の重み(コスト)に対応した正の値である。Wiは1としてもよく、その場合、図23の文テンプレートWFSTは、シンボルの挿入が発生した回数をカウントするWFSTとなる。
 シンボルの挿入を表すアークにおいては、出力シンボルとして、<ins>の代わりに<rest>を用いてもよい(「<ins>:<rest>/Wi」というラベルを付与してもよい)。<rest>は特殊なシンボルである。この場合、マッチング結果において、挿入扱いとなったシンボルを出力することが可能になる。詳細については後述する。
 ノードn1からノードn2に向かうアークには、通常のアークであるアークA24の他に、脱落を表すアークa12も存在する。アークa12には、「<del>:ε/Wd」という特殊なラベルが付与されている。このラベルにおいて、<del>はシンボルの脱落を表す特殊なシンボルである。また、Wdはシンボルの1回の脱落の重み(コスト)に対応した正の値である。Wdについても1としてよく、その場合、図23の文テンプレートWFSTは、シンボルの脱落が発生した回数をカウントするWFSTとなる。
 図23に戻り、これらの特殊なアークを用いて、文テンプレートWFSTと「今日3時から5時まで会議がある」という入力文とをマッチさせる方法について説明する。
 マッチング部221は、入力文を「<s>,今,日,3,時,か,ら,5,時,ま,で,会,議,が,あ,る,</s>」という入力シンボル列に変換する。マッチング部221は、この入力シンボル列を対象として、文テンプレートWFSTでマッチングを行う。
 入力シンボル列側には「の」に対応するシンボル(アークA22のシンボル)が存在しないため、状態遷移は、脱落を表す特殊なアークであるアークa11の方を通る。
 また、「が」、「あ」、「る」のそれぞれに対応したラベルが文テンプレート側には存在しないため、状態遷移は、挿入を表す特殊なアークであるアークa9を3回通る。これにより、「が」、「あ」、「る」の3つのシンボルの違いが吸収される。
 その結果、入力シンボル列全体に対する遷移重みとしてWd+Wi×3が得られる。Wd = Wi = 1 であれば、遷移重みは値4として表される。
 なお、図23の文テンプレートWFSTでは、それ以外の遷移も可能である。例えば、「3時から」のうちの「か」を処理する際に、状態遷移として、アークA24を通る代わりに、挿入を表すアークを通り、次に脱落を表すアークを通るようにすることも可能である。ただし、その場合、挿入と脱落に対応した遷移が1回ずつ行われるため、Wi+Wdのコストが余計にかかることになる。従って、コストが最小のパス(開始状態から終了状態までの経路)を選択すれば、必要最小限の挿入と脱落を持ったマッチング結果が得られる。
 ここで、「題名」スロットWFST#24の近傍のノードについて補足する。図23の例においては、「題名」スロットWFST#24の両側のノードにシンボルの挿入を表すアークと脱落を表すアークが追加されている。これにより、入力シンボル列とのマッチングにおいて、アークA27,A28,A30,A31,A32に付与されたラベルの脱落を許容すると共に、入力シンボル列側への余計なシンボルの挿入が許容されている。
 一方、「題名」スロットWFST#24に対しては、特定のシンボルで挟まれた任意のシンボル列を値として格納したい場合もあり、それをWFSTで実現するためには、「題名」スロットの近傍のノードにおいてシンボルの挿入や脱落を禁止する必要がある。その点については、スロットWFSTの説明において後述する。
 ここで、シンボルの単位の他の例について説明する。図23においては文字単位でシンボルを構成するものとしたが、単語単位(形態素単位)でシンボルを構成することも可能である。
 図25は、入力シンボルおよび出力シンボルに単語を対応させた場合の文テンプレートWFSTの例を示す図である。
 図23の例においては例えば「から」の語句が2つのシンボルに分割されており、遷移が2回発生するのに対して、図25においては1個のシンボルにまとめられ、遷移が1回で済む。スロットWFST#21乃至#24も単語単位のシンボルで構成される。
 入力文を図25のWFSTで処理する場合、マッチング部221は、入力文に対して形態素解析を適用し、その結果に基づいて入力シンボル列を生成する。
 また、形態素解析を用いる場合、各シンボルに品詞や細品詞などを含めることも可能である。例えば、「の」、「から」、「まで」、「予定」の代わりに、それぞれ、「の+助詞+格助詞」、「から+助詞+格助詞」、「まで+助詞+格助詞」、「予定+名詞+一般名詞」といった文字列をシンボルとして使用してもよい。
 なお、日時表現等の数字が含まれる語句については、数字を文字ごとに分割した方がシンボルの種類を減らせる場合がある。例えば、日付の日の部分を「1日」や「31日」を単位とすると31通りのシンボルが必要だが、数字を文字ごとに分割すると、0から9までの数字と「日」の11通りのシンボルで表現できる。そのため、シンボルを形態素単位で構成する場合でも、数字については文字ごとで構成してもよい。
 さらに、単語単位と文字単位との中間として、シンボル自体は文字単位で構成するが、曖昧マッチングのためのアークは単語境界を考慮して配置することも可能である。
 その例を図26に示す。図26の「の予定」に対応した部分を、文字単位のシンボルで構成された文テンプレートWFSTである図23の対応部分と比較すると2つの相違点がある。1つ目の相違点は、「予」と「定」との間のノードに、シンボルの挿入を表すアークが省略されている点である。2つ目の相違点は、シンボルの脱落を表すアークが、「予」と「定」との間のノードをスキップしてその右隣のノードに接続している点である。
 このような形態の文テンプレートWFSTを用いることにより、入力文が「・・・の・・・予定・・・」という文字の並びの場合のみにマッチする。単語単位でシンボルを構成する場合と比べて、シンボルの種類を少なくすることができる。
 また、英語等の分かち書きをする言語においては、シンボルは基本的に単語単位で構成すればよい。基本的には空白で分割される単位をシンボルとすればよいが、さらに細かく分割した単位をシンボルとして用いた方が、処理の都合が良い場合もある。例えば、単語末尾の“'s”(アポストロフィーと小文字のs)は直前の部分と切り離しておくと、例えば“today's meeting”という語句は“today”、“'s”、“meeting”の3つに分割されるため、そのうちの“today”を「開始日」スロットに、“meeting”を「題名」スロットに格納するといったことがやりやすくなる。
 また、英語等の大文字と小文字とが存在する言語においては、文テンプレートWFST側と入力文側とで、大文字と小文字との食い違いがあるためにマッチングに失敗する可能性もある。食い違いを防ぐためには、WFST側のシンボルは全て小文字のみ(または大文字のみ)で構成しておき、入力文側については、マッチング前に文字を全て小文字(または大文字)に変換するといった方法がある。
 次に、スロットWFSTについて説明する。
 上述したように、スロットは以下の3種類に分類される。
 ・人名・地名・駅名・曲名などのスロット
 ・日時関連のスロット
 ・「予定追加」フレームの題名スロット
 人名・地名・駅名・曲名などのスロットの値はリストとして用意される。日時関連のスロットの値は、月・日・曜日・時・分といった基本的なパーツと、それらのパーツ同士の組み合わせとして用意される。「予定追加」フレームの題名スロットの値は、典型的な題名からなるリストと、特定のシンボルに囲まれた任意の文字列を切り出す機構とを併用することによって用意される。
 それぞれのスロットに対応するWFST(スロットWFST)が存在する。WFSTの構造という観点で見ると、スロットWFSTには、有限値スロットWFST、任意値スロットWFST、混合スロットWFSTがある。有限値スロットWFSTは値が有限のスロットWFSTである。任意値スロットWFSTは、特定のシンボルに囲まれた(挟まれた)任意の文字列を取り出すための構造を有するスロットWFSTである。混合スロットWFSTは、有限値スロットWFSTと任意値スロットWFSTを組み合わせた構造を有するスロットWFSTである。
 図27は、駅名を値として取るスロットWFSTの例を示す図である。
 図27に示すスロットWFSTは、有限値スロットWFSTの1つであり、山手線の駅名をスロットに格納するために使用される。
 横長長方形の枠内の構成がスロットWFSTである。枠内へと延びるアークA41には、このスロットの直前のシンボルがラベルとして付与されている。アークA41と並行に、シンボルの脱落を表すアークa41も存在する。一方、枠外へと延びるアークA45には、εのラベルが付与されている。
 上述したように、スロットの内側のシンボルについては挿入も脱落も許容しないため、スロットWFST内にはそれらのアークは基本的には存在しない。例外的に、スロットWFSTの先頭のノードn11のみはシンボルの挿入を表すアークa42が存在する。これにより、入力文に例えば「えーと秋葉原」のような駅名以外の語句が含まれている場合でも、アークa42による自己ループによって「えーと」の語句を吸収することができる。
 アークA42とアークA44は、それぞれスロットの始端と終端を表す目印を出力するための特別なアークである。アークA42にはラベル「ε:<駅名>」が付与されており、アークA44にはラベル「ε:</駅名>」が付与されている。
 両ラベルは入力シンボルがε(空)であるため、これらのアークで遷移するときは、入力シンボルを消費せずにそれぞれ“<駅名>”および“</駅名>”を出力する。そのため、入力文と文テンプレートとのマッチングの後では、「え ー と <駅名> 秋 葉 原 </駅名>」のように、スロットに入るべき語句(この例では「秋葉原」)の前後に目印が埋め込まれる。
 スロットの始端および終端を表す目印は、スロットごとに、始端と終端とで別の識別子となるものであればどのようなものでもよい。例えばマッチング結果がXML形式である場合、始端を<スロット名>、終端を</スロット名>とすることができる。
 ノードn12からノードn13までの間は、山手線の各駅名を表すFSTである。このFSTは、駅名のリストを用意し、1つの駅名から1つのFSTを生成した後、それらを並列に接続することによって生成される。
 なお、枠F1の内側の2本のアークA43とアークa43は、駅名において末尾の「駅」が省略可能であることを表す。例えば、入力文中の駅名が「秋葉原駅」の代わりに「秋葉原」であっても、この駅名スロットWFSTはマッチする。入力文が「秋葉原駅」である場合、アークa43の遷移の方にマッチすることになり、この場合は「<駅名> 秋 葉 原 </駅名> 駅」というマッチング結果が生成される。
 しかし、そのマッチングにおいては、「駅」はスロットWFSTを出て最初のノードであるノードn15においてシンボルの挿入としてマッチする(アークa44で遷移する)ことになり、余計な挿入が発生する分だけ、マッチングのコストが高くなる。コスト最小という基準でマッチングを行えば、「秋葉原駅」という入力に対しては「<駅名> 秋 葉 原 駅 </駅名>」が得られる。
 図28は、有限値スロットWFSTの他の例を示す図である。
 図28の有限値スロットWFSTは、日時関連のスロットである「開始日」スロットに対応するWFSTである。図28に示す有限値スロットWFSTが、図23のスロットWFST#21に対応する。
 なお、図28にWFSTを示す「開始日」スロットは、「今日から3日後まで」といった、開始日と終了日とを含む発話の開始日「今日」を格納するだけでなく、「3日後に」といった、日にちを1個しか含まない発話に含まれる「3日後」を格納する。
 先頭のノードn21には、シンボルの挿入を表すアークa51が存在する。アークa51の働きは、図27のアークa42と同じである。
 アークA51は、スロットの始端を表す目印を出力するための特殊なアークである。アークA51にはラベル「ε:<開始日>」が付与されている。
 アークA52は、スロットの終端を表す目印を出力するための特殊なアークである。アークA52にはラベル「ε:</開始日>」が付与されている。
 ノードn22からノードn23の間には、月・日・曜日・祭日といった、開始日スロットの値となり得る基本パーツを構成する状態遷移と、それらの組み合わせを構成する状態遷移が並列に記述されている。以降、各基本パーツについて説明する。
 なお、図28においては、アークとラベルの表記として簡略化表記を用いている。例えば、二重線で表すアークA61に付与されたラベルは「1~9」のように「~」を含む。これは、実際のFSTにおいてはアークが9本並列に存在し、各アークには「1」から「9」までのラベルが付与されていることを表す。
 同様に、二重線で表すアークA62に付与されたラベルは「0,1,2」のようにコンマを含む。これは、実際のFSTにおいてはアークが3本並列に存在し、各アークには「0」、「1」、「2」というラベルが付与されていることを表す。
 枠F11の内側のFSTは、月を表すFSTであり、「1月」から「12月」までの各月にマッチする。枠F12の内側のFSTは、日を表すFSTであり、「1日」から「31日」にマッチする。両者を連結することで、「1月1日」から「12月31日」までの月日にマッチする。
 枠F13の内側のFSTは、「○日前/後」、「○週(間)前/後」、「○ヶ月前/後」、「○年前/後」などにマッチするFSTである。数字の部分は、1から99までがマッチ可能である。
 枠F14の内側のFSTは、「今日」、「明日」、「昨日」にマッチするFSTである。ここに「明後日」、「一昨日」などにマッチするFSTを追加することも可能である。
 枠F15の内側のFSTは、「月曜(日)」から「日曜(日)」までの7つの曜日にマッチするFSTである。「月曜(日)」等の末尾の「日」は省略可能であるため、「日」が付与されたアークとεが付与されたアークからなるアームA63が用意される。ここに、「土日」等、曜日を表す他の語句にマッチするFSTを追加することも可能である。
 枠F16の内側のFSTは、「敬老の日」、「文化の日」といった祭日の名称にマッチするFSTである。ここに、他の祭日を表す語句にマッチするFSTを追加することも可能である。さらに、「クリスマス」等の特別な日や「納豆の日」等の各種記念日の名称にマッチするFSTを追加することも可能である。
 また、以下の語句にマッチするFSTを基本パーツとしてノードn22とノードn23との間に追加してもよい。
 ・「2014年」や「平成26年」等の年
 ・「先週」「今週」「来週」等の相対的な週
 ・「前月」「今月」「来月」等の相対的な月
 ・「去年」「今年」「来年」等の相対的な年
 さらに、これらの基本パーツを直列に接続することで新たなFSTを構築し、それをノードn22とノードn23との間に追加してもよい。例えば、枠F13の内側のFSTと枠F15の内側のFSTとを直列に配置し、その間を「の」またはεのラベルが付与されたアークで接続することにより、「来週月曜日」や「3日後の水曜日」といった語句にマッチするFSTを実現可能である。また、年にマッチするFSTと、枠F11および枠F12の内側のFSTとを接続することで、「2014年9月15日」といった語句にマッチするFSTを実現可能である。
 以上のように、文テンプレートと入力文との間で曖昧マッチングを行うことにより、多種多様な入力文を対象としたフレーズ抽出が可能になる。
 また、文テンプレートおよびその中の各種スロット、そして文テンプレートの集合を全て重みつき有限状態トランスデューサー(WFST)として表現し、入力文に含まれるシンボルを用いてマッチングを行うことにより、入力文に最も良くマッチする文テンプレートを見つけ出す処理と、スロットに対応する語句を見つけ出す処理とを同時に行うことが可能になる。
<<変形例>>
 以上においては、日時表現の変換が情報処理端末1において行われるものとしたが、インターネットなどのネットワークを介して情報処理端末1と接続されるサーバにおいて行われるようにしてもよい。
 この場合、情報処理端末1は、ユーザの発話を検出する毎に入力文をサーバに送信する。サーバには、図10に示す構成と同様の構成が設けられる。サーバは、情報処理端末1から送信されてきた入力文を受信し、日時表現の変換を行うことによって得られた変換後の日時の情報を情報処理端末1に送信する。
 サーバから送信されてきた変換後の日時の情報を受信した情報処理端末1は、変換後の日時を用いて上述したような各種の処理を行うことになる。
 情報処理端末1からサーバに対して入力文が送信されるのではなく、ユーザの音声のデータが送信され、音声認識によるテキストへの変換以降の処理がサーバにより行われるようにしてもよい。
 なお、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
 本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
 例えば、本技術は、1つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
 また、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。
 さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。
 なお、本明細書に記載された効果はあくまで例示であって限定されるものでは無く、また他の効果があってもよい。
<プログラムについて>
 上述した一連の処理は、ハードウェアにより実行することもできるし、ソフトウェアにより実行することもできる。一連の処理をソフトウェアにより実行する場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、汎用のパーソナルコンピュータなどにインストールされる。
 インストールされるプログラムは、光ディスク(CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)等)や半導体メモリなどよりなる図9に示されるリムーバブルメディア64に記録して提供される。また、ローカルエリアネットワーク、インターネット、デジタル放送といった、有線または無線の伝送媒体を介して提供されるようにしてもよい。プログラムは、ROM52やメモリ61に、あらかじめインストールしておくことができる。
 なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
<構成の組み合わせ例>
 本技術は、以下のような構成をとることもできる。
(1)
 ユーザが想定する日時である想定日時を特定する日時管理部と、
 前記ユーザによって入力された入力文に含まれる日時表現を抽出する抽出部と、
 抽出された前記日時表現が表す日時を、前記想定日時を基準として求める演算部と
 を備える情報処理装置。
(2)
 抽出された前記日時表現に応じて、前記想定日時と現在日時のうちのいずれかを、前記日時表現が表す日時を求める基準となる日時として決定する決定部をさらに備え、
 前記演算部は、抽出された前記日時表現が表す日時を、前記決定部により決定された日時を基準として求める
 前記(1)に記載の情報処理装置。
(3)
 前記日時管理部は、前記演算部により求められた日時を新たな前記想定日時として管理し、
 前記演算部は、新たな前記想定日時が管理された後に入力された前記入力文から抽出された前記日時表現が表す日時を、新たな前記想定日時を基準として求める
 前記(1)または(2)に記載の情報処理装置。
(4)
 前記演算部により求められた日時を表す所定の形式の日時情報を出力する出力部と、
 前記出力部から出力された前記日時情報に基づいて処理を行う処理部と
 をさらに備える前記(1)乃至(3)のいずれかに記載の情報処理装置。
(5)
 複数の前記日時表現を記憶する記憶部をさらに備え、
 前記抽出部は、前記記憶部に記憶された前記日時表現を前記入力文から抽出する
 前記(1)乃至(4)のいずれかに記載の情報処理装置。
(6)
 前記ユーザにより入力された前記日時表現を前記記憶部に追加して記憶させる登録部をさらに備える
 前記(5)に記載の情報処理装置。
(7)
 前記日時表現が表す日時の求め方の規則を、前記日時表現と対応付けて記憶する記憶部をさらに備える
 前記演算部は、抽出された前記日時表現と対応付けて前記記憶部に記憶されている前記規則に従って、前記日時表現が表す日時を求める
 前記(1)乃至(6)のいずれかに記載の情報処理装置。
(8)
 前記ユーザにより入力された前記規則を前記記憶部に追加して記憶させる登録部をさらに備える
 前記(7)に記載の情報処理装置。
(9)
 前記入力文の内容を分類する分類部と、
 抽出された前記日時表現が表す日時の演算を、過去の日時を求めるようにして行うのか、未来の日時を求めるようにして行うのかを、前記入力文の内容の分類結果に応じて決定する決定部と
 さらに備え、
 前記演算部は、抽出された前記日時表現が表す日時の演算を、前記決定部による決定に従って行う
 前記(1)乃至(8)のいずれかに記載の情報処理装置。
(10)
 前記入力文は、前記ユーザの発話を認識することによって得られた文字列、または、前記ユーザによる操作によって入力された文字列である
 前記(1)乃至(9)のいずれかに記載の情報処理装置。
(11)
 前記日時管理部は、前記入力文の解析結果または前記ユーザの動作に基づいて、前記想定日時を特定する
 前記(1)乃至(10)のいずれかに記載の情報処理装置。
(12)
 ユーザが想定する日時である想定日時を特定し、
 前記ユーザによって入力された入力文に含まれる日時表現を抽出し、
 抽出した前記日時表現が表す日時を、前記想定日時を基準として求める
 ステップを含む情報処理方法。
(13)
 ユーザが想定する日時である想定日時を特定し、
 前記ユーザによって入力された入力文に含まれる日時表現を抽出し、
 抽出した前記日時表現が表す日時を、前記想定日時を基準として求める
 ステップを含む処理をコンピュータに実行させるプログラム。
 1 情報処理端末, 11 日時表現変換アプリケーション, 71 日時表現変換部, 81 発話内容分類部, 82 センサ情報処理部, 83 日時表現抽出部, 84 抽出用情報記憶部, 85 変換処理部, 86 変換用情報記憶部, 87 結果出力部, 88 登録部, 101 日時表現辞書, 102 ユーザ辞書, 111 日時基本関数辞書, 112 変換規則辞書, 113 処理方向リスト, 114 基準表現リスト, 121 日時情報管理部, 122 日時情報記憶部, 123 基準日時決定部, 124 処理方向決定部, 125 演算部

Claims (13)

  1.  ユーザが想定する日時である想定日時を特定する日時管理部と、
     前記ユーザによって入力された入力文に含まれる日時表現を抽出する抽出部と、
     抽出された前記日時表現が表す日時を、前記想定日時を基準として求める演算部と
     を備える情報処理装置。
  2.  抽出された前記日時表現に応じて、前記想定日時と現在日時のうちのいずれかを、前記日時表現が表す日時を求める基準となる日時として決定する決定部をさらに備え、
     前記演算部は、抽出された前記日時表現が表す日時を、前記決定部により決定された日時を基準として求める
     請求項1に記載の情報処理装置。
  3.  前記日時管理部は、前記演算部により求められた日時を新たな前記想定日時として管理し、
     前記演算部は、新たな前記想定日時が管理された後に入力された前記入力文から抽出された前記日時表現が表す日時を、新たな前記想定日時を基準として求める
     請求項1に記載の情報処理装置。
  4.  前記演算部により求められた日時を表す所定の形式の日時情報を出力する出力部と、
     前記出力部から出力された前記日時情報に基づいて処理を行う処理部と
     をさらに備える請求項1に記載の情報処理装置。
  5.  複数の前記日時表現を記憶する記憶部をさらに備え、
     前記抽出部は、前記記憶部に記憶された前記日時表現を前記入力文から抽出する
     請求項1に記載の情報処理装置。
  6.  前記ユーザにより入力された前記日時表現を前記記憶部に追加して記憶させる登録部をさらに備える
     請求項5に記載の情報処理装置。
  7.  前記日時表現が表す日時の求め方の規則を、前記日時表現と対応付けて記憶する記憶部をさらに備える
     前記演算部は、抽出された前記日時表現と対応付けて前記記憶部に記憶されている前記規則に従って、前記日時表現が表す日時を求める
     請求項1に記載の情報処理装置。
  8.  前記ユーザにより入力された前記規則を前記記憶部に追加して記憶させる登録部をさらに備える
     請求項7に記載の情報処理装置。
  9.  前記入力文の内容を分類する分類部と、
     抽出された前記日時表現が表す日時の演算を、過去の日時を求めるようにして行うのか、未来の日時を求めるようにして行うのかを、前記入力文の内容の分類結果に応じて決定する決定部と
     さらに備え、
     前記演算部は、抽出された前記日時表現が表す日時の演算を、前記決定部による決定に従って行う
     請求項1に記載の情報処理装置。
  10.  前記入力文は、前記ユーザの発話を認識することによって得られた文字列、または、前記ユーザによる操作によって入力された文字列である
     請求項1に記載の情報処理装置。
  11.  前記日時管理部は、前記入力文の解析結果または前記ユーザの動作に基づいて、前記想定日時を特定する
     請求項1に記載の情報処理装置。
  12.  ユーザが想定する日時である想定日時を特定し、
     前記ユーザによって入力された入力文に含まれる日時表現を抽出し、
     抽出した前記日時表現が表す日時を、前記想定日時を基準として求める
     ステップを含む情報処理方法。
  13.  ユーザが想定する日時である想定日時を特定し、
     前記ユーザによって入力された入力文に含まれる日時表現を抽出し、
     抽出した前記日時表現が表す日時を、前記想定日時を基準として求める
     ステップを含む処理をコンピュータに実行させるプログラム。
PCT/JP2016/064210 2015-05-28 2016-05-13 情報処理装置、情報処理方法、およびプログラム WO2016190126A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US15/562,990 US20190122181A1 (en) 2015-05-28 2016-05-13 Information processing apparatus, information processing method, and program
EP16799834.3A EP3306484A4 (en) 2015-05-28 2016-05-13 INFORMATION PROCESSING DEVICE, INFORMATION PROCESSING METHOD, AND PROGRAM

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2015108997 2015-05-28
JP2015-108997 2015-05-28

Publications (1)

Publication Number Publication Date
WO2016190126A1 true WO2016190126A1 (ja) 2016-12-01

Family

ID=57392741

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2016/064210 WO2016190126A1 (ja) 2015-05-28 2016-05-13 情報処理装置、情報処理方法、およびプログラム

Country Status (3)

Country Link
US (1) US20190122181A1 (ja)
EP (1) EP3306484A4 (ja)
WO (1) WO2016190126A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019167373A1 (ja) * 2018-02-27 2019-09-06 株式会社Nttドコモ 機能実行指示システム
WO2020026799A1 (ja) * 2018-07-31 2020-02-06 ソニー株式会社 情報処理装置、情報処理方法、およびプログラム

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11308281B1 (en) * 2018-11-08 2022-04-19 Amazon Technologies, Inc. Slot type resolution process
US11281857B1 (en) * 2018-11-08 2022-03-22 Amazon Technologies, Inc. Composite slot type resolution
US11138374B1 (en) * 2018-11-08 2021-10-05 Amazon Technologies, Inc. Slot type authoring
JP7293693B2 (ja) * 2019-02-05 2023-06-20 富士フイルムビジネスイノベーション株式会社 情報処理装置及びプログラム
JP2022161078A (ja) * 2021-04-08 2022-10-21 京セラドキュメントソリューションズ株式会社 情報処理装置、情報処理方法及び情報処理プログラム
WO2024073803A1 (en) * 2022-10-05 2024-04-11 Tepy Pty Ltd Soundless speech recognition method, system and device

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005346416A (ja) * 2004-06-03 2005-12-15 Matsushita Electric Ind Co Ltd 日時情報変換装置、日時情報変換方法、日時情報変換プログラムおよび日時情報変換装置の集積回路
JP2010073086A (ja) * 2008-09-22 2010-04-02 Brother Ind Ltd コンテンツ出力装置、コンテンツ出力システム、コンテンツ出力方法及びコンテンツ出力プログラム
JP2011128927A (ja) * 2009-12-18 2011-06-30 Fujitsu Ltd 情報端末、情報処理方法及びコンピュータプログラム

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000331002A (ja) * 1999-05-14 2000-11-30 Sony Corp 検索装置、検索方法、検索制御プログラムを記録した記録媒体
JP2003050795A (ja) * 2001-08-06 2003-02-21 Hitachi Ltd 時間情報表示システム
US7426714B1 (en) * 2002-07-02 2008-09-16 Principal Decision Systems International Methods and apparatuses to determine dynamic dates
US8161026B2 (en) * 2007-01-30 2012-04-17 Mckesson Information Solutions Holdings Limited Method, computer program product and apparatus for capturing inexact date information
JP5530729B2 (ja) * 2009-01-23 2014-06-25 本田技研工業株式会社 音声理解装置
TW201034413A (en) * 2009-03-10 2010-09-16 Asustek Comp Inc Time adjusting method for relative time of message content
US8521526B1 (en) * 2010-07-28 2013-08-27 Google Inc. Disambiguation of a spoken query term
US20140129221A1 (en) * 2012-03-23 2014-05-08 Dwango Co., Ltd. Sound recognition device, non-transitory computer readable storage medium stored threreof sound recognition program, and sound recognition method
US9547647B2 (en) * 2012-09-19 2017-01-17 Apple Inc. Voice-based media searching
US9372851B2 (en) * 2014-04-01 2016-06-21 Microsoft Technology Licensing, Llc Creating a calendar event using context
US9767794B2 (en) * 2014-08-11 2017-09-19 Nuance Communications, Inc. Dialog flow management in hierarchical task dialogs
CN105843811B (zh) * 2015-01-13 2019-12-06 华为技术有限公司 转换文本的方法和设备
US10509829B2 (en) * 2015-01-21 2019-12-17 Microsoft Technology Licensing, Llc Contextual search using natural language

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005346416A (ja) * 2004-06-03 2005-12-15 Matsushita Electric Ind Co Ltd 日時情報変換装置、日時情報変換方法、日時情報変換プログラムおよび日時情報変換装置の集積回路
JP2010073086A (ja) * 2008-09-22 2010-04-02 Brother Ind Ltd コンテンツ出力装置、コンテンツ出力システム、コンテンツ出力方法及びコンテンツ出力プログラム
JP2011128927A (ja) * 2009-12-18 2011-06-30 Fujitsu Ltd 情報端末、情報処理方法及びコンピュータプログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3306484A4 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019167373A1 (ja) * 2018-02-27 2019-09-06 株式会社Nttドコモ 機能実行指示システム
JPWO2019167373A1 (ja) * 2018-02-27 2021-01-14 株式会社Nttドコモ 機能実行指示システム
US11494554B2 (en) 2018-02-27 2022-11-08 Ntt Docomo, Inc. Function execution instruction system
WO2020026799A1 (ja) * 2018-07-31 2020-02-06 ソニー株式会社 情報処理装置、情報処理方法、およびプログラム
JPWO2020026799A1 (ja) * 2018-07-31 2021-08-19 ソニーグループ株式会社 情報処理装置、情報処理方法、およびプログラム
JP7290154B2 (ja) 2018-07-31 2023-06-13 ソニーグループ株式会社 情報処理装置、情報処理方法、およびプログラム

Also Published As

Publication number Publication date
EP3306484A1 (en) 2018-04-11
US20190122181A1 (en) 2019-04-25
EP3306484A4 (en) 2019-01-23

Similar Documents

Publication Publication Date Title
WO2016190126A1 (ja) 情報処理装置、情報処理方法、およびプログラム
US10665226B2 (en) System and method for data-driven socially customized models for language generation
US20200320086A1 (en) Method and system for content recommendation
US10558701B2 (en) Method and system to recommend images in a social application
US9286892B2 (en) Language modeling in speech recognition
US11049493B2 (en) Spoken dialog device, spoken dialog method, and recording medium
WO2021242399A1 (en) Automated meeting minutes generator
US20220129556A1 (en) Systems and Methods for Implementing Smart Assistant Systems
CN102782751B (zh) 社会网络中的数字媒体语音标签
WO2021242376A1 (en) Automated meeting minutes generation service
US11664021B2 (en) Contextual biasing for speech recognition
CN108700952A (zh) 基于用户人口统计信息和情境信息预测文本输入
CN108647194B (zh) 信息抽取方法及装置
JPWO2011093025A1 (ja) 入力支援システム、方法、およびプログラム
JP2019071089A (ja) 情報提示装置、および情報提示方法
CN116888661A (zh) 用于辅助系统的包括非拉丁或不可解析内容项的通信内容的读出
US10282417B2 (en) Conversational list management
JPWO2010023939A1 (ja) テキストマイニング装置、テキストマイニング方法、及びプログラム
US10540987B2 (en) Summary generating device, summary generating method, and computer program product
CN111241833A (zh) 一种文本数据的分词方法、装置及电子设备
JP2008089825A (ja) 音声認識装置、および音声認識プログラム
JP2017027168A (ja) 嗜好学習方法、嗜好学習プログラム、及び嗜好学習装置
CN108255917A (zh) 图像管理方法、设备及电子设备
Sproat et al. Applications of lexicographic semirings to problems in speech and language processing
CN112955911B (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: 16799834

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2016799834

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: JP