WO2021107006A1 - 情報処理装置、情報処理方法及びプログラム - Google Patents

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

Info

Publication number
WO2021107006A1
WO2021107006A1 PCT/JP2020/044012 JP2020044012W WO2021107006A1 WO 2021107006 A1 WO2021107006 A1 WO 2021107006A1 JP 2020044012 W JP2020044012 W JP 2020044012W WO 2021107006 A1 WO2021107006 A1 WO 2021107006A1
Authority
WO
WIPO (PCT)
Prior art keywords
word
keyword
information processing
similarity
sentence
Prior art date
Application number
PCT/JP2020/044012
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 CN202080082266.9A priority Critical patent/CN114746862A/zh
Publication of WO2021107006A1 publication Critical patent/WO2021107006A1/ja
Priority to US17/663,359 priority patent/US20220270589A1/en

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/04Segmentation; Word boundary detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking
    • G06F40/295Named entity recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • G06F40/247Thesauruses; Synonyms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking
    • 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/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/1822Parsing for meaning understanding

Definitions

  • An embodiment of the present invention relates to an information processing device, an information processing method, and a program.
  • the information processing apparatus of the embodiment matches the division unit that divides the first keyword into the first word and divides the sentence into the second word, and the first word at the beginning of the first keyword. At least one of the word string containing the second word at the beginning and the word string containing the second word at the end matching the first word at the end of the first keyword is extracted from the sentence. Character similarity indicating the character similarity between the word string and the first keyword, and configuration similarity indicating the similarity between the composition of the word string and the configuration of the first keyword. A detection unit that detects a second keyword based on at least one of the above.
  • FIG. 1 is a diagram showing an example of a functional configuration of the information processing apparatus of the first embodiment.
  • FIG. 2 is a flowchart showing an operation example of the extraction unit of the first embodiment.
  • FIG. 3 is a flowchart showing an operation example of the detection unit of the first embodiment.
  • FIG. 4 is a diagram showing an example of the processing result of the detection unit of the first embodiment.
  • FIG. 5 is a diagram showing an example of the functional configuration of the information processing apparatus of the second embodiment.
  • FIG. 6 is a diagram showing an example of a synonym dictionary of the second embodiment.
  • FIG. 7 is a flowchart showing an operation example of the extraction unit of the second embodiment.
  • FIG. 8 is a diagram showing an example of the functional configuration of the information processing apparatus of the third embodiment.
  • FIG. 9A is a diagram showing Example 1 of the item name database of the third embodiment.
  • FIG. 9B is a diagram showing Example 2 of the item name database of the third embodiment.
  • FIG. 10 is a flowchart showing an operation example of the estimation unit of the third embodiment.
  • FIG. 11 is a diagram showing an example of the response sentence template of the third embodiment.
  • FIG. 12 is a flowchart showing an operation example of the notification unit of the third embodiment.
  • FIG. 13 is a diagram showing an example of the hardware configuration of the information processing apparatus of the first to third embodiments.
  • the form data does not include multiple slots of the same data type, it is possible to enter the item value in the slot using the data type as a clue.
  • the form data consists of two slots, "visit destination” and "visit date”, and the user said, "The company I visited is ABC Trading, and the date I visited is August 21st.”
  • the company I visited is ABC Trading
  • the date I visited is August 21st.
  • the slot definition is done by the administrator who creates the report form, and the user does not know what kind of expression the item name is defined in the slot.
  • the "next visit date” may be paraphrased as "next visit date”, “next visit date”, “next visit date” or "next visit date”. It is impossible to make a complete list by assuming what a typical user would say.
  • FIG. 1 is a diagram showing an example of a functional configuration of the information processing apparatus 10 of the first embodiment.
  • the information processing device 10 of the first embodiment includes a division unit 101, an extraction unit 102, and a detection unit 103.
  • the information processing device 10 of the first embodiment is realized by a computer that reads a program recorded on a recording medium such as a memory, a magnetic disk, and an optical disk, and whose operation is controlled by the program.
  • a recording medium such as a memory, a magnetic disk, and an optical disk
  • the division unit 101 receives the first keyword and sentence.
  • the first keyword indicates, for example, the name (item name) of the slot (item column) included in the form data used for reporting on outside sales, maintenance / inspection work, and the like.
  • the sentence is acquired, for example, by recognizing the user's utterance by voice.
  • the voice recognition may be performed by the information processing device 10. For example, when voice recognition is performed by the division unit 101, the division unit 101 accepts a user's utterance and recognizes a sentence from the utterance.
  • the division unit 101 divides the first keyword into the first word and the sentence into the second word.
  • the division into words can be realized by, for example, morphological analysis, but it is not always necessary to divide into morpheme units.
  • the division unit 101 may divide the first keyword and sentence for each N characters, or may divide the first keyword and the sentence by using a character type or a specific symbol as a delimiter.
  • the extraction unit 102 includes a word string including a second word at the beginning that matches the first word at the beginning of the first keyword, and a second word that matches the first word at the end of the first keyword. Extract at least one of the word strings containing at the end from the sentence.
  • the second keyword that matches the first word at the beginning of the first keyword.
  • the word string including the word at the beginning is “visit”, “visit”, “visit”, “visit date”, etc., and the second word that matches the first word at the end of the first keyword.
  • the word strings including at the end are “day”, “day”, “day”, “day visited”, and the like.
  • the detection unit 103 has a character similarity degree indicating the character similarity between the extracted word string and the first keyword, and a configuration showing the similarity between the extracted word string structure and the first keyword structure.
  • the second keyword is detected based on at least one of the similarities. By considering not only the similarity of characters but also the similarity of composition, a more appropriate keyword can be detected as the second keyword. The details of the processing of the detection unit 103 will be described later.
  • FIG. 2 is a flowchart showing an operation example of the extraction unit 102 of the first embodiment.
  • the extraction unit 102 receives from the division unit 101 the first keyword divided into the first words and the sentence divided into the second words (step S201).
  • the extraction unit 102 sets the maximum number of words in the extracted word string in the variable MAX (step S202).
  • the extraction unit 102 sets the first word at the beginning of the above-mentioned first keyword in the variable S_WORD (step S203).
  • the extraction unit 102 sets the position of the second word matching the variable S_WORD in the variable S (step S204).
  • the extraction unit 102 sets the initial value 0 in the variable i (step S205). Next, the extraction unit 102 determines whether or not i ⁇ MAX (step S206).
  • step S206 When i ⁇ MAX (step S206, Yes), the extraction unit 102 acquires the word strings from the Sth to the (S + i) th in the sentence (step S207). Next, the extraction unit 102 increments i by 1 (step S208), and returns to the process of step S206.
  • step S206 If i ⁇ MAX (step S206, No), the process proceeds to step S209.
  • the extraction unit 102 sets the first word at the end of the above-mentioned first keyword in the variable E_WORD (step S209).
  • the extraction unit 102 sets the position of the second word matching the variable E_WORD in the variable E (step S210).
  • the extraction unit 102 sets the initial value 0 in the variable i (step S211). Next, the extraction unit 102 determines whether or not i ⁇ MAX (step S212).
  • step S212 Yes
  • the extraction unit 102 acquires the word strings from the (Ei) th to the Eth in the sentence (step S213).
  • the extraction unit 102 increments i by 1 (step S214), and returns to the process of step S212.
  • step S204 when a plurality of second words matching S_WORD exist in the sentence, all the positions are set in the variable S, and steps S205 to S208 are set for each S. Repeat the process.
  • step S210 when a plurality of second words matching E_WORD exist in the sentence, all the positions are set in the variable E, and the processes from step S211 to step S214 are performed for each E. repeat.
  • FIG. 3 is a flowchart showing an operation example of the detection unit 103 of the first embodiment.
  • the detection unit 103 receives the first keyword and word string from the extraction unit 102 (step S301).
  • the detection unit 103 when the detection unit 103 receives a plurality of word strings in step S301, the detection unit 103 deletes the duplicate word strings and then sets the number of word strings in the variable N (step S302). Next, the detection unit 103 sets the initial value 1 in the variable i (step S303).
  • the detection unit 103 determines whether or not i ⁇ N (step S304). When i ⁇ N (step S304, Yes), the detection unit 103 calculates the character similarity between the i-th word string and the first keyword (step S305).
  • Character similarity indicates character similarity.
  • the character similarity can be obtained by using, for example, the cosine similarity or the Levenshtein distance. However, the higher the value of similarity, the higher the similarity. Note that the larger the value of the distance, the lower the similarity. Therefore, when using the distance, use the reciprocal of the distance, or standardize it so that it falls between 0 and 1 and subtract it from 1. Therefore, the larger the value, the higher the similarity, which means that the value is converted and used.
  • the detection unit 103 calculates the configuration similarity indicating the similarity between the configuration of the i-th word string and the configuration of the first keyword (step S306).
  • the composition similarity is determined based on, for example, the number of second words that match the first word among the second words included in the word string. For example, since the word string “visit” includes the second word “visit” that matches the first word constituting the first keyword, the composition similarity is 1. Similarly, since the character string "visited day” includes the second words “visit” and “day” that match the first word constituting the first keyword, the composition similarity is 2. ..
  • the detection unit 103 calculates the total similarity of the i-th word string based on at least one of the character similarity and the composition similarity (step S307).
  • the total similarity can be obtained by, for example, the following equation (1).
  • the total similarity is Sim
  • the character similarity is Sim_chr
  • the composition similarity is Sim_com
  • ⁇ and ⁇ are coefficients that satisfy 0 ⁇ ⁇ ⁇ 1 and 0 ⁇ ⁇ ⁇ 1.
  • Sim ⁇ ⁇ Sim_chr + ⁇ ⁇ Sim_com ⁇ ⁇ ⁇ (1)
  • step S308 the detection unit 103 increments i by 1 (step S308) and returns to the process of step S304.
  • the detection unit 103 detects the second keyword based on the total similarity (step S309).
  • FIG. 4 is a diagram showing an example of the processing result of the detection unit 103 of the first embodiment.
  • the overall similarity of the word string "visited day” is the highest at 2.75.
  • the detection unit 103 detects, for example, the word string "visited day" as the second keyword.
  • the division unit 101 divides the first keyword into the first word and the sentence into the second word.
  • the extraction unit 102 includes a word string including a second word at the beginning that matches the first word at the beginning of the first keyword, and a second word that matches the first word at the end of the first keyword. Extract at least one of the word strings containing at the end from the sentence.
  • the detection unit 103 has at least a character similarity indicating the character similarity between the word string and the first keyword, and a configuration similarity indicating the similarity between the composition of the word string and the configuration of the first keyword. The second keyword is detected based on one of them.
  • the slot for setting the item value can be specified. For example, it is possible to detect a similar expression from an utterance and identify a slot without preparing a paraphrase expression for the item name.
  • FIG. 5 is a diagram showing an example of the functional configuration of the information processing apparatus 10-2 of the second embodiment.
  • the information processing device 10-2 of the second embodiment includes a division unit 101, an extraction unit 102-2, a detection unit 103, a storage unit 104, and a search unit 105.
  • FIG. 5 the same parts as those in FIG. 1 are given the same reference numerals, and different parts will be described.
  • a storage unit 104 and a search unit 105 are newly provided, and an extraction unit 102-2 is provided in place of the extraction unit 102.
  • the storage unit 104 stores a synonym dictionary.
  • the synonym dictionary may be prepared for each user and each form data (report).
  • FIG. 6 is a diagram showing an example of a synonym dictionary of the second embodiment.
  • the synonym is registered for each first word, for example, as shown in FIG.
  • the search unit 105 uses a synonym dictionary to search for synonyms similar to the first word.
  • the search unit 105 searches, for example, a synonym similar to the first word at the beginning of the first keyword and a synonym similar to the first word at the end of the first keyword. For example, when the first keyword is "visit date”, “visit”, “visit”, and “visit” are searched as synonyms for the first word “visit” at the beginning, and the first word “day” at the end is searched. “Date”, "date”, and “date and time” are searched as synonyms for.
  • the extraction unit 102-2 includes a word string including a second word at the beginning that matches a synonym similar to the first word at the beginning of the first keyword, and the first word at the end of the first keyword. At least one of the word strings containing the second word at the end that matches a synonym similar to is further extracted from the sentence.
  • FIG. 7 is a flowchart showing an operation example of the extraction unit 102-2 of the second embodiment.
  • the extraction unit 102 receives the first keyword divided into the first words and the sentence divided into the second words from the division unit 101, and receives the synonym dictionary search result from the search unit 105. (Step S401).
  • the synonym dictionary search result includes synonyms similar to the first word at the beginning of the first keyword and synonyms similar to the first word at the end of the first keyword.
  • the extraction unit 102-2 sets the maximum number of words in the extracted word string in the variable MAX (step S402).
  • the extraction unit 102-2 sets the first word at the beginning of the above-mentioned first keyword and the synonyms of the first word in the variable S_WORDS (step S403).
  • the extraction unit 102-2 sets the number of words (first word and synonyms of the first word) set in S_WORDS in the variable N (step S404).
  • the extraction unit 102-2 sets the initial value 1 in the variable j (step S405).
  • the extraction unit 102-2 determines whether or not j ⁇ N (step S406).
  • the extraction unit 102-2 sets the position of the second word corresponding to the j-th word set in S_WORDS in the variable S (step S407).
  • steps S408 to S411 are the same as the processes of steps S205 to S208 of the first embodiment (see FIG. 2), description thereof will be omitted.
  • step S409 the extraction unit 102-2 increments j by 1 (step S412) and returns to the process of step S406.
  • the extraction unit 102-2 sets the first word at the end of the first keyword and the synonyms of the first word in the variable E_WORDS (step). S413).
  • the extraction unit 102-2 sets the number of words (first word and synonyms of the first word) set in E_WORDS in the variable N (step S414).
  • the extraction unit 102-2 sets the initial value 1 in the variable j (step S415).
  • the extraction unit 102-2 determines whether or not j ⁇ N (step S416).
  • the extraction unit 102-2 sets the position of the second word corresponding to the j-th word set in S_WORDS in the variable E (step S417).
  • steps S418 to S421 are the same as the processes of steps S211 to S214 of the first embodiment (see FIG. 2), description thereof will be omitted.
  • step S419 the extraction unit 102-2 increments j by 1 (step S422) and returns to the process of step S416.
  • step S416, No If j ⁇ N (step S416, No), the process ends.
  • the extraction unit 102-2 compares the prototypes with each other in the case of words to be used when searching for matching words in steps S407 and S417.
  • the performance of the process of specifying the slot for setting the item value can be improved. It can be further improved.
  • FIG. 8 is a diagram showing an example of the functional configuration of the information processing apparatus 10-3 of the third embodiment.
  • the information processing device 10-3 of the third embodiment includes a division unit 101, an extraction unit 102, a detection unit 103, an item name database 106, an estimation unit 107, a notification unit 108, and a registration unit 109.
  • FIG. 8 the same parts as those in FIG. 1 are given the same reference numerals, and different parts will be described.
  • the item name database 106, the estimation unit 107, the notification unit 108, and the registration unit 109 are newly provided.
  • the division unit 101, the extraction unit 102, and the extraction unit 103 operate as sub-processes of the estimation unit 107.
  • the input in the third embodiment is only a sentence, and all the item names registered in the item name database 106 correspond to the first keyword in FIG.
  • the item name database 106 stores the item name and the paraphrase expression of the item name in association with each other.
  • the item name database 106 may be prepared for each user and each form data (report).
  • FIG. 9A is a diagram showing Example 1 of the item name database of the third embodiment.
  • FIG. 9B is a diagram showing Example 2 of the item name database of the third embodiment.
  • the item name database 106 includes item names, data types and paraphrase expressions.
  • the item name indicates the item name included in the form data.
  • the data type indicates the data type of the data input to the slot (item field) identified by the item name.
  • the paraphrase expression indicates a paraphrase expression of the item name.
  • the item name and data type are indispensable, and the paraphrase expression may be blank (FIG. 9A).
  • the estimation unit 107 starts the division unit 101, the extraction unit 102, and the detection unit 103 as, for example, sub-processes, detects the second keyword corresponding to the item name stored in the item name database 106 from the text, and detects the item. Estimate the name. The details of the processing of the estimation unit 107 will be described later.
  • the notification unit 108 notifies the user of the processing result of the estimation unit 107.
  • the details of the processing of the notification unit 108 will be described later.
  • the registration unit 109 registers the detected second keyword in the item name database 106 based on the processing results of the estimation unit 107 and the notification unit 108. The details of the processing of the keyword registration unit 109 will be described later.
  • FIG. 10 is a flowchart showing an operation example of the estimation unit 107 of the third embodiment.
  • the estimation unit 107 receives a sentence and reads out the item name and the paraphrase expression from the item name database 106 (step S501).
  • the estimation unit 107 receives, for example, a sentence voice-recognized from a user's utterance.
  • the estimation unit 107 sets the number of item names in the variable N (step S502). Next, the estimation unit 107 sets the initial value 1 in the variable i (step S503).
  • the estimation unit 107 determines whether or not i ⁇ N (step S504).
  • the estimation unit 107 sets the i-th item name in the variable SLOTNAME (step S505).
  • the estimation unit 107 determines whether or not there is a part (second word) that matches the item name or its paraphrase expression in the sentence for the i-th item name (step S506).
  • step S506 If there is a match (step S506, Yes), the estimation unit 107 sets the template name of the response statement template to determined, and proceeds to step S514.
  • FIG. 11 is a diagram showing an example of the response sentence template of the third embodiment.
  • the response statement template includes a template name and a response statement.
  • the character string enclosed by $ and $ in the response statement indicates the variable set by the estimation unit 107. For example, if SECONDKEY is set to "visit date” and SLOTNAME is set to "visit date”, the response sentence of the template name "confirm” is "Is the visit date the visit date?".
  • the estimation unit 107 activates the division unit 101, the extraction unit 102, and the detection unit 103, and detects the second keyword corresponding to the i-th item name (step). S509).
  • the estimation unit 107 determines whether or not the second keyword is detected in the sentence for the i-th item name (step S510).
  • step S510 When the second keyword is detected (step S510, Yes), the estimation unit 107 sets the second keyword in the variable SECONDKEY (step S512). Next, the estimation unit 107 sets confirm in the template name of the response sentence template (step S513), and proceeds to step S514.
  • step S510 If the second keyword is not detected (step S510, No), the estimation unit 107 increments i by 1 (step S511) and returns to the process of step S504.
  • step S504 If i ⁇ N (step S504, No), the estimation unit 107 sets start in the template name of the response sentence template (step S508), and proceeds to step S514.
  • the estimation unit 107 passes the template name, SLOTNAME, and SECONDKEY, and activates the notification unit 108.
  • FIG. 12 is a flowchart showing an operation example of the notification unit 108 of the third embodiment.
  • the notification unit 108 generates a response sentence with the template name specified in the process of the estimation unit 107 in step S514 described above, and presents the response sentence to the user (step S601).
  • the notification unit 108 determines whether or not the template name is confirm (step S602).
  • the notification unit 108 receives a response from the user (step S603).
  • the notification unit 108 determines whether or not the response from the user is positive (step S604).
  • the determination of whether or not it is positive is determined by, for example, whether or not a specific keyword such as "yes” or “no” is included in the user's utterance. Further, for example, the determination of whether or not it is positive can be realized by having the user interface select it with a user interface such as the "OK” or "NG” button.
  • step S604 If the response is positive (step S604, Yes), the notification unit 108 sets the template name to determined and returns to step S601 (step S605). If the response is not positive (step S604, No), the notification unit 108 sets not_determinated in the template name and returns to step S601 (step S606).
  • the notification unit 108 determines whether or not the template name is determined (step S607).
  • step S607 Yes
  • the notification unit 108 activates the registration unit 109 (step S608). If the template name is not determined (step S607, No), the process ends.
  • the "visit date" is registered in the item name database 106 as a paraphrase expression of the item name "visit date”.
  • the item name database 106 is updated as shown in FIG. 9B.
  • the notification unit 108 confirms with the user in advance whether or not to register the second keyword "visit date” as a paraphrase expression of the item name "visit date”, and then executes the process of the registration unit 109. May be determined.
  • the paraphrase expression of the item name database 106 can be updated more appropriately by using the function of the information processing device 10 of the first embodiment.
  • FIG. 13 is a diagram showing an example of the hardware configuration of the information processing devices 10 to 10-3 of the first to third embodiments. Since the hardware configurations of the information processing devices 10 to 10-3 are the same, the information processing device 10 will be described.
  • the information processing device 10 includes a control device 301, a main storage device 302, an auxiliary storage device 303, a display device 304, an input device 305, and a communication device 306.
  • the control device 301, the main storage device 302, the auxiliary storage device 303, the display device 304, the input device 305, and the communication device 306 are connected via the bus 310.
  • the control device 301 executes the program read from the auxiliary storage device 303 to the main storage device 302.
  • the main storage device 302 is a memory such as a ROM (Read Only Memory) and a RAM (Random Access Memory).
  • the auxiliary storage device 303 is an HDD (Hard Disk Drive), an SSD (Solid State Drive), a memory card, or the like.
  • the display device 304 displays the display information.
  • the display device 304 is, for example, a liquid crystal display or the like.
  • the input device 305 is an interface for operating a computer.
  • the input device 305 is, for example, a keyboard, a mouse, or the like.
  • the display device 304 and the input device 305 are, for example, a touch panel.
  • the communication device 306 is an interface for communicating with another device.
  • Programs executed on a computer are recorded in a computer-readable storage medium such as a CD-ROM, a memory card, a CD-R, and a DVD (Digital Any Disc) in an installable or executable format file.
  • a computer-readable storage medium such as a CD-ROM, a memory card, a CD-R, and a DVD (Digital Any Disc) in an installable or executable format file.
  • a computer program product Provided as a computer program product.
  • the program executed by the computer may be stored on a computer connected to a network such as the Internet and provided by downloading via the network. Further, the program executed by the computer may be configured to be provided via a network such as the Internet without being downloaded.
  • a program executed by a computer may be configured to be provided by incorporating it in a ROM or the like in advance.
  • the program executed by the computer has a module configuration including a functional block that can be realized by the program among the functional configurations (functional blocks) of the above-mentioned information processing apparatus 10.
  • each functional block is loaded onto the main storage device 302 by the control device 301 reading a program from the storage medium and executing the program. That is, each of the above functional blocks is generated on the main storage device 302.
  • each processor may realize one of each function, or may realize two or more of each function.
  • the operation mode of the computer that realizes the information processing device 10 may be arbitrary.
  • the information processing device 10 may be realized by one computer.
  • the information processing device 10 may be operated as a cloud system on the network.

Landscapes

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

Abstract

あらかじめ定義された項目名と一致する表現がない場合でも、項目値を設定するスロットを特定できるようにする。実施形態の情報処理装置は、第1のキーワードを第1の単語に分割し、文章を第2の単語に分割する分割部と、前記第1のキーワードの先頭の前記第1の単語と一致する前記第2の単語を先頭に含む単語列、及び、前記第1のキーワードの末尾の前記第1の単語と一致する前記第2の単語を末尾に含む単語列の少なくとも一方を、前記文章から抽出する抽出部と、前記単語列と前記第1のキーワードとの文字の類似性を示す文字類似度、及び、前記単語列の構成と前記第1のキーワードの構成との類似性を示す構成類似度の少なくとも一方に基づいて、第2のキーワードを検出する検出部と、を備える。

Description

情報処理装置、情報処理方法及びプログラム
 本発明の実施形態は情報処理装置、情報処理方法及びプログラムに関する。
 例えば音声対話を利用して、音声認識された文章から項目値を検出し、フォームデータに含まれるスロット(項目欄)に項目値を入力する技術が従来から知られている。
特許第5796496号公報 特開2018-45460号公報 特開平7-73200号公報 特許第3361563号公報 特開2002-269115号公報
 しかしながら、従来の技術では、あらかじめ定義された項目名と一致する表現がない場合、項目値を設定するスロットを特定することが難しかった。
 実施形態の情報処理装置は、第1のキーワードを第1の単語に分割し、文章を第2の単語に分割する分割部と、前記第1のキーワードの先頭の前記第1の単語と一致する前記第2の単語を先頭に含む単語列、及び、前記第1のキーワードの末尾の前記第1の単語と一致する前記第2の単語を末尾に含む単語列の少なくとも一方を、前記文章から抽出する抽出部と、前記単語列と前記第1のキーワードとの文字の類似性を示す文字類似度、及び、前記単語列の構成と前記第1のキーワードの構成との類似性を示す構成類似度の少なくとも一方に基づいて、第2のキーワードを検出する検出部と、を備える。
図1は第1実施形態の情報処理装置の機能構成の例を示す図である。 図2は第1実施形態の抽出部の動作例を示すフローチャートである。 図3は第1実施形態の検出部の動作例を示すフローチャートである。 図4は第1実施形態の検出部の処理結果の例を示す図である。 図5は第2実施形態の情報処理装置の機能構成の例を示す図である。 図6は第2実施形態の類語辞書の例を示す図である。 図7は第2実施形態の抽出部の動作例を示すフローチャートである。 図8は第3実施形態の情報処理装置の機能構成の例を示す図である。 図9Aは第3実施形態の項目名データベースの例1を示す図である。 図9Bは第3実施形態の項目名データベースの例2を示す図である。 図10は第3実施形態の推定部の動作例を示すフローチャートである。 図11は第3実施形態の応答文テンプレートの例を示す図である。 図12は第3実施形態の通知部の動作例を示すフローチャートである。 図13は第1乃至第3実施形態の情報処理装置のハードウェア構成の例を示す図である。
 以下に添付図面を参照して、情報処理装置、情報処理方法及びプログラムの実施形態を詳細に説明する。
(第1実施形態)
 はじめに、音声対話を利用して、音声認識された文章から項目値を検出し、フォームデータに含まれるスロット(項目欄)に項目値を入力する場合の例について説明する。
 例えば、音声対話を利用して、以下のような3つのスロットを持つフォームデータに項目値を入力することを考える。括弧の中はそれぞれの項目のデータ型を示している。
 訪問先(会社名型)
 訪問日(日付型)
 次回訪問日(日付型)
 音声入力する場合、システムに不慣れであれば、
 SYS:「商談レポートの入力を開始します。訪問先を入力してください。」
 USR:「ABC商事です。」
 SYS:「訪問日を入力してください。」
 USR:「8月21日です。」
 SYS:「次回訪問日を入力してください。」
 USR:「9月11日です。」
のように、システムのガイダンスに従って、1項目ずつ入力していくインタフェースが分かりやすい。この方法だと、システムがスロット(訪問先、訪問日又は次回訪問日)を指定しているので、ユーザ発話から項目名を特定する必要がない。
 一方、使い慣れてくるとこのようなガイダンスは煩わしく、
 SYS:「商談レポートを入力してください。」
 USR:「訪問した会社はABC商事で、訪問した日は8月21日、次の訪問日は9月11日です。」
のように、複数のスロットをまとめて話して入力できる方が便利である。
 もし、フォームデータが、同じデータ型のスロットを複数含んでいなければ、データ型を手がかりにして、スロットに項目値を入力することが可能である。例えば、フォームデータが「訪問先」及び「訪問日」の2つのスロットで構成されており、ユーザが「訪問した会社はABC商事で、訪問した日は8月21日です。」と発話したとする。例えば固有表現抽出技術を用いて「ABC商事」は会社名型、「8月21日」は日付型であることがわかる。そのため、会社名型である「ABC商事」は訪問先スロット、日付型である「8月21日」は訪問日スロットに入れるというように、項目名ではなくデータ型を手がかりにして、どのスロットに入れるべきか判断できる。
 しかし、日付型として「訪問日」及び「次回訪問日」の2つのスロットがあったとすると、「8月21日」を訪問日スロットに入れるべきか、次回訪問日スロットに入れるべきかをシステムが判断できない。このように、システムがスロットを指定していない場合、ユーザ発話から項目名を特定する必要があるケースが生じる。
 このとき、「訪問先」、「訪問日」及び「次回訪問日」のように、スロット定義で指定された表現を使ってユーザが発話した場合は、項目名とスロットとの照合は容易である。しかし、「訪問した会社」、「訪問した日」及び「次の訪問日」のように、スロット定義で指定されていない表現を使ってユーザが発話した場合は、スロットを特定するのが困難になる。
 一般に、スロット定義はレポートのフォームを作成する管理者が行うもので、ユーザはどのような表現で項目名がスロットに定義されているかまで把握していない。また、スロット定義の際は、書き言葉である漢語的な表現が使われやすく、発話の際は、話し言葉である口語的な表現が使われやすい。したがって、発話中の項目名との不一致は頻繁に起こりうるものである。
 このような課題に対して、管理者がスロットを定義する際に、項目名の言い換え表現を登録する方法が考えられる。しかし、「次回訪問日」に対して「次の訪問日」、「次に訪問する日」、「次回の訪問予定日」又は「次に訪問予定の日」と言い換えるかもしれないなどと、様々なユーザがどんな言い方をするかを想定して漏れなくリストアップすることは不可能である。
 また、シソーラスを用いる方法や、インターネット上の大量の言語資源から統計的処理に基づき類似表現を得る方法も考えられる。しかし、そのような汎用なデータから、目的に応じて定義されるフォームデータに必要な言い換え表現が得られるとは限らない。
 以下、発話中にあらかじめ定義した項目名と一致する表現がない場合でも、項目名の言い換え表現を準備することなく、発話から類似の表現を検出してスロットを特定可能にする第1実施形態の検出装置について説明する。
 以下、図面を参照しながら説明する。
[機能構成の例]
 図1は第1実施形態の情報処理装置10の機能構成の例を示す図である。第1実施形態の情報処理装置10は、分割部101、抽出部102及び検出部103を備える。
 なお、第1実施形態の情報処理装置10は、例えば、メモリ、磁気ディスク及び光ディスク等の記録媒体に記録されたプログラムを読み込み、このプログラムによって動作が制御されるコンピュータによって実現される。
 分割部101は、第1のキーワード及び文章を受け付ける。第1のキーワードは、例えば外回り営業や保守・点検業務の報告等に使用されるフォームデータに含まれるスロット(項目欄)の名称(項目名)を示す。文章は、例えばユーザの発話を音声認識することによって取得される。なお、音声認識は、情報処理装置10で行われてもよい。例えば、分割部101で音声認識が行われる場合、分割部101はユーザの発話を受け付け、当該発話から文章を認識する。
 分割部101は、第1のキーワードを第1の単語に分割し、文章を第2の単語に分割する。
 例えば、第1のキーワードが、「訪問日」であり、文章が、「訪問した日は8月21日です。」の場合、第1の単語は、「訪問」及び「日」である。また、第2の単語は、「訪問」、「し」、「た」、「日」、「は」、「8」、「月」、「21」、「日」「です」及び「。」である。
 単語への分割は、例えば形態素解析により実現できるが、必ずしも形態素単位に分割する必要はない。例えば、分割部101は、第1のキーワード及び文章をN文字ごとに分割したり、文字種や特定記号を区切りとして分割したりしてもよい。
 抽出部102は、第1のキーワードの先頭の第1の単語と一致する第2の単語を先頭に含む単語列、及び、第1のキーワードの末尾の第1の単語と一致する第2の単語を末尾に含む単語列の少なくとも一方を、文章から抽出する。
 例えば、第1のキーワードが、「訪問日」であり、文章が、「訪問した日は8月21日です。」の場合、第1のキーワードの先頭の第1の単語と一致する第2の単語を先頭に含む単語列は、「訪問」、「訪問し」、「訪問した」及び「訪問した日」等であり、第1のキーワードの末尾の第1の単語と一致する第2の単語を末尾に含む単語列は、「日」、「た日」、「した日」及び「訪問した日」等である。
 第1のキーワードの先頭単語や末尾単語に注目することにより、第1のキーワードに類似しそうな文字列に限定できるので、文字列の組み合わせ数を抑えることができる。抽出部102の処理の詳細については後述する。
 検出部103は、抽出された単語列と第1のキーワードとの文字の類似性を示す文字類似度、及び、抽出された単語列の構成と第1のキーワードの構成との類似性を示す構成類似度の少なくとも一方に基づいて、第2のキーワードを検出する。文字の類似性だけでなく、構成の類似性も考慮することにより、第2のキーワードとして、より適切なキーワードを検出することができる。検出部103の処理の詳細については後述する。
[抽出部の動作例]
 図2は第1実施形態の抽出部102の動作例を示すフローチャートである。はじめに、抽出部102が、分割部101から、第1の単語に分割された第1のキーワード、及び、第2の単語に分割された文章を受け付ける(ステップS201)。
 次に、抽出部102は、抽出される単語列の最大単語数を変数MAXにセットする(ステップS202)。
 次に、抽出部102は、上述の第1のキーワードの先頭の第1の単語を変数S_WORDにセットする(ステップS203)。
 次に、抽出部102は、変数S_WORDに一致する第2の単語の位置を変数Sにセットする(ステップS204)。
 次に、抽出部102は、変数iに初期値0をセットする(ステップS205)。次に、抽出部102は、i<MAXであるか否かを判定する(ステップS206)。
 i<MAXである場合(ステップS206,Yes)、抽出部102は、文章中のS番目から(S+i)番目までの単語列を取得する(ステップS207)。次に、抽出部102は、iを1インクリメントし(ステップS208)、ステップS206の処理に戻る。
 i<MAXでない場合(ステップS206,No)、処理はステップS209に進む。
 次に、抽出部102は、上述の第1のキーワードの末尾の第1の単語を変数E_WORDにセットする(ステップS209)。
 次に、抽出部102は、変数E_WORDに一致する第2の単語の位置を変数Eにセットする(ステップS210)。
 次に、抽出部102は、変数iに初期値0をセットする(ステップS211)。次に、抽出部102は、i<MAXであるか否かを判定する(ステップS212)。
 i<MAXである場合(ステップS212,Yes)、抽出部102は、文章中の(E-i)番目からE番目までの単語列を取得する(ステップS213)。次に、抽出部102は、iを1インクリメントし(ステップS214)、ステップS212の処理に戻る。
 i<MAXでない場合(ステップS212,No)、処理を終了する。
 なお、上述のステップS204において、文章中でS_WORDに一致する第2の単語が複数個存在する場合は、すべての位置を変数Sにセットし、それぞれのSに対してステップS205からステップS208までの処理を繰り返す。
 同様に、ステップS210において、文章中でE_WORDに一致する第2の単語が複数個存在する場合は、すべての位置を変数Eにセットし、それぞれのEに対してステップS211からステップS214までの処理を繰り返す。
<抽出処理の具体例>
 例えば、抽出部102が、つぎの文章及び第1のキーワードを、分割部101から受け付けたとする。なお/は、文章の分割例を示す。
 文章:「訪問/し/た/日/は/8/月/21/日/です/。」
 第1のキーワード:「訪問/日」
 取得される単語列の最大単語数を7と指定すると(MAX=7)、抽出部102の処理により、つぎの11個の単語列が得られる。
 「訪問」
 「訪問し」
 「訪問した」
 「訪問した日」
 「訪問した日は」
 「訪問した日は8」
 「訪問した日は8月」
 「日」
 「た日」
 「した日」
 「訪問した日」
[検出部の動作例]
 図3は第1実施形態の検出部103の動作例を示すフローチャートである。はじめに、検出部103が、抽出部102から、第1のキーワード及び単語列を受け付ける(ステップS301)。
 次に、検出部103は、ステップS301で複数の単語列を受け付けた場合は、重複する単語列を削除した後、単語列の数を変数Nにセットする(ステップS302)。次に、検出部103は、変数iに初期値1をセットする(ステップS303)。
 次に、検出部103は、i≦Nであるか否かを判定する(ステップS304)。i≦Nである場合(ステップS304,Yes)、検出部103は、i番目の単語列と、第1のキーワードとの文字類似度を計算する(ステップS305)。
 文字類似度は、文字の類似性を示す。文字類似度は、例えば、コサイン類似度やレーベンシュタイン距離を利用して求めることができる。ただし、類似度は値が大きいほど類似性が高いことを意味する。なお、距離は値が大きいほど類似性が低いことを意味することから、距離を利用する場合はその逆数を用いる、又は、0~1の間に収まるように標準化して1から減算するなどして、値が大きいほど類似性が高いことを意味する数値に変換して利用する。
 次に、検出部103は、i番目の単語列の構成と、第1のキーワードの構成との類似性を示す構成類似度を計算する(ステップS306)。
 構成類似度は、例えば、単語列に含まれる第2の単語のうち、第1の単語と一致する第2の単語の数に基づいて定められる。例えば、「訪問し」という単語列は、第1のキーワードを構成する第1の単語と一致する第2の単語「訪問」を含むことから、構成類似度は1になる。同様に「訪問した日は」という文字列は、第1のキーワードを構成する第1の単語と一致する第2の単語「訪問」及び「日」を含むことから、構成類似度は2になる。
 次に、検出部103は、文字類似度及び構成類似度の少なくとも一方に基づいて、i番目の単語列の総合類似度を計算する(ステップS307)。
 総合類似度は、例えば、つぎの式(1)で求めることができる。総合類似度をSim、文字類似度をSim_chr、構成類似度をSim_comとし、αとβは、0≦α≦1、0≦β≦1を満たす係数とする。
 Sim=α×Sim_chr + β×Sim_com ・・・(1)
 次に、検出部103は、iを1インクリメントし(ステップS308)、ステップS304の処理に戻る。
 i≦Nでない場合(ステップS304,No)、検出部103は、総合類似度に基づいて第2のキーワードを検出する(ステップS309)。
 図4は第1実施形態の検出部103の処理結果の例を示す図である。図4の例では、総合類似度は式(1)において、α=1、β=1として算出した値になっている。この例では、「訪問した日」という単語列の総合類似度が2.75と最も高い。この場合、検出部103は、例えば「訪問した日」という単語列を第2のキーワードとして検出する。
 以上、説明したように、第1実施形態の情報処理装置10では、分割部101が、第1のキーワードを第1の単語に分割し、文章を第2の単語に分割する。抽出部102が、第1のキーワードの先頭の第1の単語と一致する第2の単語を先頭に含む単語列、及び、第1のキーワードの末尾の第1の単語と一致する第2の単語を末尾に含む単語列の少なくとも一方を、文章から抽出する。そして、検出部103が、単語列と第1のキーワードとの文字の類似性を示す文字類似度、及び、単語列の構成と第1のキーワードの構成との類似性を示す構成類似度の少なくとも一方に基づいて、第2のキーワードを検出する。
 これにより第1実施形態の情報処理装置10によれば、あらかじめ定義された項目名と一致する表現がない場合でも、項目値を設定するスロットを特定することができる。例えば、項目名の言い換え表現を準備することなく、発話から類似の表現を検出してスロットを特定することができる。
(第2実施形態)
 次に第2実施形態について説明する。第2実施形態の説明では、第1実施形態と同様の説明については省略し、第1実施形態と異なる箇所について説明する。
[機能構成の例]
 図5は第2実施形態の情報処理装置10-2の機能構成の例を示す図である。第2実施形態の情報処理装置10-2は、分割部101、抽出部102-2、検出部103、記憶部104及び検索部105を備える。
 図5において、図1と同一部分には同一符号を付与し、異なる部分について説明する。図5では、記憶部104及び検索部105を新たに備え、抽出部102に代わって抽出部102-2を備えている。
 記憶部104は、類語辞書を記憶する。類語辞書は、ユーザ毎、フォームデータ(レポート)毎に用意されていてもよい。
 図6は第2実施形態の類語辞書の例を示す図である。第1の単語に類似する類語がある場合には、例えば図6のように、第1の単語毎に類語が登録される。
 検索部105は、類語辞書を用いて、第1の単語に類似する類語を検索する。検索部105は、例えば第1のキーワードの先頭の第1の単語に類似する類語、及び、第1のキーワードの末尾の第1の単語に類似する類語を検索する。例えば、第1のキーワードが「訪問日」である場合、先頭の第1の単語「訪問」の類語として「訪れる」「訪ねる」「訪う」が検索され、末尾の第1の単語「日」の類語として「日付」「日にち」「日時」が検索される。
 抽出部102-2は、第1のキーワードの先頭の第1の単語に類似する類語と一致する第2の単語を先頭に含む単語列、及び、第1のキーワードの末尾の前記第1の単語に類似する類語と一致する前記第2の単語を末尾に含む単語列の少なくとも一方を、文章から更に抽出する。
[抽出部の動作例]
 図7は第2実施形態の抽出部102-2の動作例を示すフローチャートである。はじめに、抽出部102が、分割部101から、第1の単語に分割された第1のキーワード、及び、第2の単語に分割された文章を受け付け、検索部105から、類語辞書検索結果を受け付ける(ステップS401)。
 図7の例では、類語辞書検索結果は、第1のキーワードの先頭の第1の単語に類似する類語、及び、第1のキーワードの末尾の第1の単語に類似する類語を含む。
 次に、抽出部102-2は、抽出される単語列の最大単語数を変数MAXにセットする(ステップS402)。
 次に、抽出部102-2は、上述の第1のキーワードの先頭の第1の単語、及び、当該第1の単語の類語を変数S_WORDSにセットする(ステップS403)。
 次に、抽出部102-2は、S_WORDSにセットされた単語(第1の単語、及び、第1の単語の類語)の数を変数Nにセットする(ステップS404)。
 次に、抽出部102-2は、変数jに初期値1をセットする(ステップS405)。次に、抽出部102-2は、j≦Nであるか否かを判定する(ステップS406)。
 j≦Nである場合(ステップS406,Yes)、抽出部102-2は、S_WORDSにセットされたj番目の単語に一致する第2の単語の位置を変数Sにセットする(ステップS407)。
 ステップS408~ステップS411は、第1実施形態のステップS205~ステップS208の処理(図2参照)と同様なので説明を省略する。
 i<MAXでない場合(ステップS409,No)、抽出部102-2は、jを1インクリメントし(ステップS412)、ステップS406の処理に戻る。
 j≦Nでない場合(ステップS406,No)、抽出部102-2は、上述の第1のキーワードの末尾の第1の単語、及び、当該第1の単語の類語を変数E_WORDSにセットする(ステップS413)。
 次に、抽出部102-2は、E_WORDSにセットされた単語(第1の単語、及び、第1の単語の類語)の数を変数Nにセットする(ステップS414)。
 次に、抽出部102-2は、変数jに初期値1をセットする(ステップS415)。次に、抽出部102-2は、j≦Nであるか否かを判定する(ステップS416)。
 j≦Nである場合(ステップS416,Yes)、抽出部102-2は、S_WORDSにセットされたj番目の単語に一致する第2の単語の位置を変数Eにセットする(ステップS417)。
 ステップS418~ステップS421は、第1実施形態のステップS211~ステップS214の処理(図2参照)と同様なので説明を省略する。
 i<MAXでない場合(ステップS419,No)、抽出部102-2は、jを1インクリメントし(ステップS422)、ステップS416の処理に戻る。
 j≦Nでない場合(ステップS416,No)、処理を終了する。
 なお、抽出部102-2は、ステップS407及びステップS417で一致する単語を探す際、活用する単語の場合は、原形同士を比較する。
<抽出処理の具体例>
 例えば、抽出部102が、つぎの文章及び第1のキーワードを、分割部101から受け付けたとする。なお/は、文章の分割例を示す。
 文章:「訪れ/た/日にち/は/8/月/21/日/です/。」
 第1のキーワード:「訪問/日」
 文章は、第1のキーワードの先頭単語「訪問」も末尾単語「日」も含まない。しかし、それぞれの類語である「訪れる」及び「日にち」を含むので、抽出部102-2の処理により、「訪れた日にち」という単語列が検出される。この抽出結果を利用すると、検出部103の処理により、「訪れた日にち」が第2のキーワードとして検出される。
 第2実施形態の情報処理装置10-2によれば、類語辞書を用いることにより、あらかじめ定義された項目名と一致する表現がない場合でも、項目値を設定するスロットを特定する処理の性能を更に向上させることができる。
(第3実施形態)
 次に第3実施形態について説明する。第3実施形態の説明では、第1実施形態と同様の説明については省略し、第1実施形態と異なる箇所について説明する。
[機能構成の例]
 図8は第3実施形態の情報処理装置10-3の機能構成の例を示す図である。第3実施形態の情報処理装置10-3は、分割部101、抽出部102、検出部103、項目名データベース106、推定部107、通知部108及び登録部109を備える。
 図8において、図1と同一部分には同一符号を付与し、異なる部分について説明する。図8では、項目名データベース106、推定部107、通知部108及び登録部109を新たに備えている。分割部101、抽出部102及び抽出部103は、推定部107のサブプロセスとして動作する。第3実施形態における入力は文章のみであり、項目名データベース106に登録されている全項目名が図1における第1のキーワードに相当する。
 項目名データベース106は、項目名と、項目名の言い換え表現とを関連付けて記憶する。項目名データベース106は、ユーザ毎、フォームデータ(レポート)毎に用意されていてもよい。
<項目名データベースの例>
 図9Aは第3実施形態の項目名データベースの例1を示す図である。図9Bは第3実施形態の項目名データベースの例2を示す図である。項目名データベース106は、項目名、データ型及び言い換え表現を含む。項目名は、フォームデータに含まれる項目名を示す。データ型は、項目名により識別されるスロット(項目欄)に入力されるデータのデータ型を示す。言い換え表現は、項目名の言い換え表現を示す。項目名とデータ型は必須であり、言い換え表現は空欄(図9A)でもよい。
 図8に戻り、説明を続ける。推定部107は、分割部101、抽出部102及び検出部103を、例えばサブプロセスとして起動して、項目名データベース106に格納される項目名に対応する第2のキーワードを文章から検出し、項目名を推定する。推定部107の処理の詳細については後述する。
 通知部108は、推定部107の処理結果をユーザに通知する。通知部108の処理の詳細については後述する。
 登録部109は、推定部107及び通知部108の処理結果に基づき、検出された第2のキーワードを項目名データベース106に登録する。キーワード登録部109の処理の詳細については後述する。
[推定部の動作例]
 図10は第3実施形態の推定部107の動作例を示すフローチャートである。はじめに、推定部107が、文章を受け付け、項目名データベース106から項目名と言い換え表現とを読み出す(ステップS501)。推定部107は、例えばユーザの発話から音声認識された文章を受け付ける。
 次に、推定部107は、項目名の数を変数Nにセットする(ステップS502)。次に、推定部107は、変数iに初期値1をセットする(ステップS503)。
 次に、推定部107は、i≦Nであるか否かを判定する(ステップS504)。
 i≦Nである場合(ステップS504,Yes)、推定部107は、i番目の項目名を変数SLOTNAMEにセットする(ステップS505)。
 次に、推定部107は、i番目の項目名について、文章中に項目名又はその言い換え表現に一致する箇所(第2の単語)があるか否かを判定する(ステップS506)。
 一致する箇所がある場合(ステップS506,Yes)、推定部107は、応答文テンプレートのテンプレート名にdeterminedをセットし、ステップS514に進む。
 ここで、応答文テンプレートについて説明する。
<応答文テンプレートの例>
 図11は第3実施形態の応答文テンプレートの例を示す図である。応答文テンプレートは、テンプレート名及び応答文を含む。応答文の$と$で囲まれた文字列は、推定部107によりセットされる変数を示す。例えば、SECONDKEYに「訪問した日」、SLOTNAMEに「訪問日」がセットされていると、テンプレート名「confirm」の応答文は、「訪問した日とは訪問日のことでしょうか?」となる。
 図10に戻り、推定部107の処理動作の説明を続ける。
 一致する箇所がない場合(ステップS506,No)、推定部107は、分割部101、抽出部102及び検出部103を起動し、i番目の項目名に対応する第2のキーワードを検出する(ステップS509)。
 次に、推定部107は、i番目の項目名について、文章中から第2のキーワードが検出されたか否かを判定する(ステップS510)。
 第2のキーワードが検出された場合(ステップS510,Yes)、推定部107は、第2のキーワードを変数SECONDKEYにセットする(ステップS512)。次に、推定部107は、応答文テンプレートのテンプレート名にconfirmをセットし(ステップS513)、ステップS514に進む。
 第2のキーワードが検出されなかった場合(ステップS510,No)、推定部107は、iを1インクリメントし(ステップS511)、ステップS504の処理に戻る。
 i≦Nでない場合(ステップS504,No)、推定部107は、応答文テンプレートのテンプレート名にstartをセットし(ステップS508)、ステップS514に進む。
 ステップS514の処理に進んだ場合、推定部107は、テンプレート名、SLOTNAME、SECONDKEYを渡して、通知部108を起動する。
[通知部の動作例]
 図12は第3実施形態の通知部108の動作例を示すフローチャートである。はじめに、通知部108が、上述のステップS514の推定部107の処理で指定されたテンプレート名で応答文を生成し、当該応答文をユーザに提示する(ステップS601)。
 次に、通知部108は、テンプレート名がconfirmか否かを判定する(ステップS602)。
 テンプレート名がconfirmである場合(ステップS602,Yes)、通知部108は、ユーザからの応答を受け付ける(ステップS603)。
 次に、通知部108は、ユーザからの応答が肯定的であるか否かを判定する(ステップS604)。肯定的であるかどうかの判定は、例えば、ユーザの発話に「はい」「いいえ」のような特定のキーワードが含まれるかどうかで判定される。また例えば、肯定的であるかどうかの判定は、「OK」「NG」ボタンのようなユーザインタフェースで選択してもらうなどで実現できる。
 応答が肯定的である場合(ステップS604,Yes)、通知部108は、テンプレート名にdeterminedをセットし、ステップS601に戻る(ステップS605)。応答が肯定的でない場合(ステップS604,No)、通知部108は、テンプレート名にnot_determinedをセットし、ステップS601に戻る(ステップS606)。
 テンプレート名がconfirmでない場合(ステップS602,No)、通知部108は、テンプレート名がdeterminedであるか否かを判定する(ステップS607)。
 テンプレート名がdeterminedである場合(ステップS607,Yes)、通知部108は、登録部109を起動する(ステップS608)。テンプレート名がdeterminedでない場合(ステップS607,No)、処理は終了する。
<通知処理の具体例>
 例えば、項目名データベース106に図9Aのような情報が格納されているときに、つぎの文章が、情報処理装置10-3の入力として与えられたとする。なお/は、文章の分割例を示す。
 文章:「訪問/し/た/日/は/8/月/21/日/です/。」
 文章中には「訪問先」、「訪問日」及び「次回訪問日」のいずれの項目名とも一致する箇所(第2の単語)はない。分割部101、抽出部102及び検出部103の処理により、項目名「訪問日」に対応する第2のキーワード「訪問した日」が検出される。推定部107の処理により、
 SLOTNAME=訪問日
 SECONDKEY=訪問した日
 テンプレート名=confirm
がセットされて、通知部108が起動される。
 通知部108の処理により、
 「訪問した日とは訪問日のことでしょうか?」
という応答文が生成されて、ユーザに提示される。
 通知部108は、ユーザから「はい」等の肯定的な応答を受け付けると、
 テンプレート名=determined
をセットし、「訪問日に入力します。」という応答文をユーザに提示する。
 さらに、登録部109の処理により、項目名「訪問日」の言い換え表現として「訪問した日」が項目名データベース106に登録される。その結果、項目名データベース106は図9Bのように更新される。
 なお、通知部108は、第2のキーワード「訪問した日」を項目名「訪問日」の言い換え表現として登録するか否かを事前にユーザに確認してから、登録部109の処理の実行有無を決定してもよい。
 一方、通知部108は、ユーザから「いいえ」等の肯定的でない応答を受け付けると、
 テンプレート名=not_determined
をセットし、「もういちど訪問日を入力してください。」等、項目名を特定できないことを通知する応答文をユーザに提示する。
 第3実施形態の情報処理装置10-3によれば、第1実施形態の情報処理装置10の機能を用いて、項目名データベース106の言い換え表現をより適切に更新することができる。
 最後に、第1乃至第3実施形態の情報処理装置10~10-3のハードウェア構成の例について説明する。
[ハードウェア構成の例]
 図13は第1乃至第3実施形態の情報処理装置10~10-3のハードウェア構成の例を示す図である。情報処理装置10~10-3のハードウェア構成は同様なので、情報処理装置10について説明する。
 情報処理装置10は、制御装置301、主記憶装置302、補助記憶装置303、表示装置304、入力装置305及び通信装置306を備える。制御装置301、主記憶装置302、補助記憶装置303、表示装置304、入力装置305及び通信装置306は、バス310を介して接続されている。
 制御装置301は、補助記憶装置303から主記憶装置302に読み出されたプログラムを実行する。主記憶装置302は、ROM(Read Only Memory)、及び、RAM(Random Access Memory)等のメモリである。補助記憶装置303は、HDD(Hard Disk Drive)、SSD(Solid State Drive)、及び、メモリカード等である。
 表示装置304は表示情報を表示する。表示装置304は、例えば液晶ディスプレイ等である。入力装置305は、コンピュータを操作するためのインタフェースである。入力装置305は、例えばキーボードやマウス等である。コンピュータがスマートフォン及びタブレット型端末等のスマートデバイスの場合、表示装置304及び入力装置305は、例えばタッチパネルである。通信装置306は、他の装置と通信するためのインタフェースである。
 コンピュータで実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD-ROM、メモリカード、CD-R及びDVD(Digital Versatile Disc)等のコンピュータで読み取り可能な記憶媒体に記録されてコンピュータ・プログラム・プロダクトとして提供される。
 またコンピュータで実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。またコンピュータで実行されるプログラムをダウンロードさせずにインターネット等のネットワーク経由で提供するように構成してもよい。
 またコンピュータで実行されるプログラムを、ROM等に予め組み込んで提供するように構成してもよい。
 コンピュータで実行されるプログラムは、上述の情報処理装置10の機能構成(機能ブロック)のうち、プログラムによっても実現可能な機能ブロックを含むモジュール構成となっている。当該各機能ブロックは、実際のハードウェアとしては、制御装置301が記憶媒体からプログラムを読み出して実行することにより、上記各機能ブロックが主記憶装置302上にロードされる。すなわち上記各機能ブロックは主記憶装置302上に生成される。
 なお上述した各機能ブロックの一部又は全部をソフトウェアにより実現せずに、IC(Integrated Circuit)等のハードウェアにより実現してもよい。
 また複数のプロセッサを用いて各機能を実現する場合、各プロセッサは、各機能のうち1つを実現してもよいし、各機能のうち2つ以上を実現してもよい。
 また情報処理装置10を実現するコンピュータの動作形態は任意でよい。例えば、情報処理装置10を1台のコンピュータにより実現してもよい。また例えば、情報処理装置10を、ネットワーク上のクラウドシステムとして動作させてもよい。
 本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、請求の範囲に記載された発明とその均等の範囲に含まれる。

Claims (10)

  1.  第1のキーワードを第1の単語に分割し、文章を第2の単語に分割する分割部と、
     前記第1のキーワードの先頭の前記第1の単語と一致する前記第2の単語を先頭に含む単語列、及び、前記第1のキーワードの末尾の前記第1の単語と一致する前記第2の単語を末尾に含む単語列の少なくとも一方を、前記文章から抽出する抽出部と、
     前記単語列と前記第1のキーワードとの文字の類似性を示す文字類似度、及び、前記単語列の構成と前記第1のキーワードの構成との類似性を示す構成類似度の少なくとも一方に基づいて、第2のキーワードを検出する検出部と、
     を備える情報処理装置。
  2.  類語辞書を用いて、前記第1の単語に類似する類語を検索する検索部を更に備え、
     前記抽出部は、前記第1のキーワードの先頭の前記第1の単語に類似する類語と一致する前記第2の単語を先頭に含む単語列、及び、前記第1のキーワードの末尾の前記第1の単語に類似する類語と一致する前記第2の単語を末尾に含む単語列の少なくとも一方を、前記文章から更に抽出する、
     請求項1に記載の情報処理装置。
  3.  前記文章は、ユーザの発話から音声認識され、
     前記第1のキーワードは、フォームデータに含まれる項目名を示し、
     前記第2のキーワードから前記項目名を推定する推定部、
     を更に備える請求項1に記載の情報処理装置。
  4.  前記項目名と、前記項目名の言い換え表現とを関連付けて記憶する記憶部と、
     前記第2のキーワードを、前記言い換え表現として前記記憶部に登録する登録部と、
     を更に備える請求項3に記載の情報処理装置。
  5.  前記第2のキーワードが前記項目名に対応するか否かを前記ユーザに確認し、前記第2のキーワードが前記項目名に対応しない場合、前記項目名を特定できないことを通知する通知部、
     を更に備える請求項4に記載の情報処理装置。
  6.  前記第2のキーワードを前記言い換え表現として登録するか否かを前記ユーザに確認し、前記第2のキーワードを前記言い換え表現として登録する場合、前記第2のキーワードの登録を前記登録部に依頼する通知部、
     を更に備える請求項4に記載の情報処理装置。
  7.  前記文字類似度は、コサイン類似度及びレーベンシュタイン距離の少なくとも一方に基づいて定められる、
     請求項1に記載の情報処理装置。
  8.  前記構成類似度は、前記単語列に含まれる前記第2の単語のうち、前記第1の単語と一致する前記第2の単語の数に基づいて定められる、
     請求項1に記載の情報処理装置。
  9.  情報処理装置が、第1のキーワードを第1の単語に分割し、文章を第2の単語に分割するステップと、
     前記情報処理装置が、前記第1のキーワードの先頭の前記第1の単語と一致する前記第2の単語を先頭に含む単語列、及び、前記第1のキーワードの末尾の前記第1の単語と一致する前記第2の単語を末尾に含む単語列の少なくとも一方を、前記文章から抽出するステップと、
     前記情報処理装置が、前記単語列と前記第1のキーワードとの文字の類似性を示す文字類似度、及び、前記単語列の構成と前記第1のキーワードの構成との類似性を示す構成類似度の少なくとも一方に基づいて、第2のキーワードを検出するステップと、
     を含む情報処理方法。
  10.  コンピュータを、
     第1のキーワードを第1の単語に分割し、文章を第2の単語に分割する分割部と、
     前記第1のキーワードの先頭の前記第1の単語と一致する前記第2の単語を先頭に含む単語列、及び、前記第1のキーワードの末尾の前記第1の単語と一致する前記第2の単語を末尾に含む単語列の少なくとも一方を、前記文章から抽出する抽出部と、
     前記単語列と前記第1のキーワードとの文字の類似性を示す文字類似度、及び、前記単語列の構成と前記第1のキーワードの構成との類似性を示す構成類似度の少なくとも一方に基づいて、第2のキーワードを検出する検出部、
     として機能させるためのプログラム。
PCT/JP2020/044012 2019-11-27 2020-11-26 情報処理装置、情報処理方法及びプログラム WO2021107006A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202080082266.9A CN114746862A (zh) 2019-11-27 2020-11-26 信息处理装置、信息处理方法以及程序
US17/663,359 US20220270589A1 (en) 2019-11-27 2022-05-13 Information processing device, information processing method, and computer program product

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019-214360 2019-11-27
JP2019214360A JP7475844B2 (ja) 2019-11-27 2019-11-27 情報処理装置、情報処理方法及びプログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/663,359 Continuation US20220270589A1 (en) 2019-11-27 2022-05-13 Information processing device, information processing method, and computer program product

Publications (1)

Publication Number Publication Date
WO2021107006A1 true WO2021107006A1 (ja) 2021-06-03

Family

ID=76088868

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/044012 WO2021107006A1 (ja) 2019-11-27 2020-11-26 情報処理装置、情報処理方法及びプログラム

Country Status (4)

Country Link
US (1) US20220270589A1 (ja)
JP (1) JP7475844B2 (ja)
CN (1) CN114746862A (ja)
WO (1) WO2021107006A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102483584B1 (ko) * 2021-12-03 2023-01-02 한국과학기술정보연구원 표준 항목명을 이용한 데이터셋 관리 방법, 그리고 이를 구현하기 위한 장치

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01217623A (ja) * 1988-02-26 1989-08-31 Nippon Telegr & Teleph Corp <Ntt> キーワード自動生成装置
JPH0973454A (ja) * 1995-09-01 1997-03-18 Toshiba Corp 文書作成装置及び文書作成方法
JP2018045460A (ja) * 2016-09-14 2018-03-22 株式会社東芝 入力支援装置およびプログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004013726A (ja) * 2002-06-10 2004-01-15 Sumitomo Electric Ind Ltd キーワード抽出装置および情報検索装置
JP5791861B2 (ja) * 2008-07-25 2015-10-07 シャープ株式会社 情報処理装置および情報処理方法
CN107423348A (zh) * 2017-05-17 2017-12-01 东莞市华睿电子科技有限公司 一种基于关键词的精确检索方法
CN109508378B (zh) * 2018-11-26 2023-07-14 平安科技(深圳)有限公司 一种样本数据处理方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01217623A (ja) * 1988-02-26 1989-08-31 Nippon Telegr & Teleph Corp <Ntt> キーワード自動生成装置
JPH0973454A (ja) * 1995-09-01 1997-03-18 Toshiba Corp 文書作成装置及び文書作成方法
JP2018045460A (ja) * 2016-09-14 2018-03-22 株式会社東芝 入力支援装置およびプログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SAITO, TSUNENARI ET AL.: "A Study on development documentation writing support technology, Proposal for similarity computing of compound term", LECTURE PROCEEDINGS OF THE 2019, 5 March 2019 (2019-03-05), pages S-106 - S-107 *

Also Published As

Publication number Publication date
US20220270589A1 (en) 2022-08-25
JP7475844B2 (ja) 2024-04-30
JP2021086362A (ja) 2021-06-03
CN114746862A (zh) 2022-07-12

Similar Documents

Publication Publication Date Title
US11334608B2 (en) Method and system for key phrase extraction and generation from text
JP5997217B2 (ja) 言語変換において複数の読み方の曖昧性を除去する方法
Shaalan A survey of arabic named entity recognition and classification
AU2016269573B2 (en) Input entity identification from natural language text information
JP4301515B2 (ja) 文章表示方法、情報処理装置、情報処理システム、プログラム
US7295964B2 (en) Apparatus and method for selecting a translation word of an original word by using a target language document database
US8538743B2 (en) Disambiguating text that is to be converted to speech using configurable lexeme based rules
US9208140B2 (en) Rule based apparatus for modifying word annotations
US20120047172A1 (en) Parallel document mining
JP5513898B2 (ja) 共有された言語モデル
US9594742B2 (en) Method and apparatus for matching misspellings caused by phonetic variations
EP3113174A1 (en) Method for building a speech feature library, method, apparatus, and device for speech synthesis
JP2020126493A (ja) 対訳処理方法および対訳処理プログラム
KR101841824B1 (ko) 텍스트 분할 프로그램, 텍스트 분할 장치, 및 텍스트 분할 방법
US8554539B2 (en) Method for analyzing morpheme using additional information and morpheme analyzer for executing the method
WO2021107006A1 (ja) 情報処理装置、情報処理方法及びプログラム
JP6705352B2 (ja) 言語処理装置、言語処理方法、及び言語処理プログラム
JP2015018290A (ja) デジタル情報分析システム、デジタル情報分析方法、及びデジタル情報分析プログラム
JP2019159814A (ja) 情報処理装置、情報処理方法及びプログラム
JP5670293B2 (ja) 単語追加装置、単語追加方法、およびプログラム
WO2019239877A1 (ja) 知的財産支援装置および知的財産支援方法並びに知的財産支援プログラム
KR102500106B1 (ko) 약어 사전 구축 장치 및 방법
WO2021049485A1 (ja) 法律分析装置、及び法律分析方法
JP2010237351A (ja) ユーザ辞書作成システム、方法、及び、プログラム
JP2022177381A (ja) 文書処理プログラム

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20894247

Country of ref document: EP

Kind code of ref document: A1