Information processing device, information processing method and storage medium

By segmenting the statement into words and detecting similarity, the slot determination problem in the case where there is no consistent with the predefined project name in the user's voice, and flexible slot recognition and user input convenience are achieved.

CN114746862BActive Publication Date: 2025-01-10KK TOSHIBA +1
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202080082266.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2019-11-27
Filing Date
2020-11-26
Publication Date
2025-01-10
Estimated Expiration
2040-11-26

AI Technical Summary

Technical Problem

In the prior art, if there is no expression consistent with the predefined item name in the user's voice, it is difficult to determine the slot for setting the item value.

Method used

By segmenting the statement into words and detecting the similarity between the word column and the keyword, the slot can be determined, even if there is no predefined item name consistency, similar expressions can be detected from the vocalization to determine the insertion even if there is no predefined item name consistency. groove.

Benefits of technology

It realizes accurate determination of slots without preparing project name substitution representatives, improving system flexibility and user input convenience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114746862B_ABST
    Figure CN114746862B_ABST
Patent Text Reader

Abstract

Even in the absence of an expression that matches a predefined item name, a slot for setting an item value can be determined. An information processing device of an embodiment comprises: a segmentation unit that segments a first keyword into first words and a sentence into second words; an extraction unit that extracts at least one of a word sequence that includes the second word that matches the first word at the beginning of the first keyword and a word sequence that includes the second word that matches the first word at the end of the first keyword from the sentence; and a detection unit that detects the second keyword based on at least one of a text similarity that indicates text similarity between the word sequence and the first keyword and a composition similarity that indicates similarity between a composition of the word sequence and a composition of the first keyword.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] Embodiments of the present invention relate to an information processing device, an information processing method, and a storage medium. Background Art

[0002] Conventionally, for example, there is known a technique for detecting an item value from a voice-recognized sentence using a voice conversation and inputting the item value into a slot (item field) included in form data. Summary of the invention

[0003] Problems to be solved by the invention

[0004] However, in the conventional technology, when there is no expression matching the predefined item name, it is difficult to identify the slot in which the item value is set.

[0005] Means for solving problems

[0006] An information processing device of an embodiment comprises: a segmentation unit that segments a first keyword into first words and a sentence into second words; an extraction unit that extracts at least one of a word string that includes the second word that is consistent with the first word at the beginning of the first keyword and a word string that includes the second word that is consistent with the first word at the end of the first keyword from the sentence; and a detection unit that detects the second keyword based on at least one of a text similarity indicating similarity between the text of the word string and the first keyword and a composition similarity indicating similarity between the composition of the word string and the composition of the first keyword.

[0007] According to the above information processing device, even when there is no expression matching the predefined item name, it is possible to identify the slot in which the item value is set. BRIEF DESCRIPTION OF THE DRAWINGS

[0008] Figure 1 This is a diagram showing an example of the functional configuration of the information processing device according to the first embodiment.

[0009] Figure 2 This is a flowchart showing an example of the operation of the extraction unit according to the first embodiment.

[0010] Figure 3 This is a flowchart showing an example of the operation of the detection unit according to the first embodiment.

[0011] Figure 4 It is a diagram showing an example of the processing result of the detection unit according to the first embodiment.

[0012] Figure 5 It is a diagram showing an example of the functional configuration of the information processing device according to the second embodiment.

[0013] Figure 6 It is a diagram showing an example of the thesaurus according to the second embodiment.

[0014] Figure 7 This is a flowchart showing an example of the operation of the extraction unit according to the second embodiment.

[0015] Figure 8 It is a diagram showing an example of the functional configuration of the information processing device according to the third embodiment.

[0016] Fig. 9A It is a diagram showing Example 1 of the item name database according to the third embodiment.

[0017] Fig. 9B It is a diagram showing Example 2 of the item name database according to the third embodiment.

[0018] Fig.10 This is a flowchart showing an example of the operation of the estimating unit according to the third embodiment.

[0019] Fig.11 This is a diagram showing an example of a response sentence template according to the third embodiment.

[0020] Fig.12 This is a flowchart showing an example of the operation of the notification unit according to the third embodiment.

[0021] Fig.13 It is a diagram showing an example of the hardware configuration of the information processing device according to the first to third embodiments. DETAILED DESCRIPTION

[0022] Hereinafter, embodiments of an information processing device, an information processing method, and a storage medium will be described in detail with reference to the accompanying drawings.

[0023] (First Embodiment)

[0024] First, an example will be described in which an item value is detected from a speech-recognized sentence using a voice dialogue and the item value is input into a slot (item column) included in form data.

[0025] For example, consider a case where item values ​​are input into form data having the following three slots by voice dialogue: The data type of each item is shown in parentheses.

[0026] First, visit (reference translation: visit object) (company name)

[0027] Visit date (date type)

[0028] Next visit date (date type)

[0029] In the case of voice input, if the user is not familiar with the system, an interface for inputting item by item according to the system's guidance in the following manner is easier to understand.

[0030] System: "Start inputting the negotiation report. Please enter the visited party. (Reference translation: 开始输入洽谈报告书。请输入拜访对象。)"

[0031] User: "ABC Shoko. (Reference translation: 是ABC商务。)"

[0032] System: "Please enter the visit date. (Reference translation: 请输入拜访日期。)"

[0033] User: "August 21st. (Reference translation: 是8月21日。)"

[0034] System: "Please enter the next visit date. (Reference translation: 请输入下次拜访日期。)"

[0035] User: "September 11th. (Reference translation: 是9月11日。)"

[0036] For this method, the system designates a slot ("visited party", "visit date", or "next visit date"), so there is no need to determine the item name from the user's speech.

[0037] On the other hand, if the user is already proficient, such guidance is troublesome, and it is more convenient to input by speaking out and inputting in multiple slots in the following manner.

[0038] System: "Please input the negotiation report. (Reference translation: 请输入洽谈报告书。)"

[0039] User: "The visited company is ABC Shoko, the visit date is August 21st, and the next visit date is September 11th. (Reference translation: 拜访的公司是ABC商务,拜访的日期是8月21日,下个拜访日期是9月11日。)"

[0040] If the form data does not contain multiple slots of the same data type, the item value can be entered into the slot based on the data type. For example, suppose the form data consists of two slots, "Visit first" and "Visit date", and the user says "The company I visited is ABC Business, and the date of my visit is August 21st." For example, using the inherent expression extraction technology, it can be known that "ABC Business (reference translation: ABC Business)" is a company name type, and "August 21st" is a date type. Therefore, it is possible to use the data type rather than the item name as a clue to determine which slot should be entered: "ABC Business" as a company name type is placed in the "Visit first" slot, and "August 21st" as a date type is placed in the "Visit date" slot.

[0041] However, if there are two slots for the date type, "visit date" and "next visit date", the system cannot determine whether "August 21" should be placed in the "visit date" slot or the "next visit date" slot. In this way, if the system does not specify a slot, it will be necessary to determine the item name based on the user's voice.

[0042] At this time, when the user utters an expression specified by the slot definition, such as "visit first", "visit date", and "next visit date", it is easy to compare the item name with the slot. However, when the user utters an expression not specified by the slot definition, such as "visited company", "visit date", and "next visit date", it is difficult to determine the slot.

[0043] Generally speaking, slot definition is done by the administrator of the form that creates the report, and the user does not know how the slot is defined by the expression of the project name. In addition, when defining the slot, it is easy to use Chinese expressions as written language, and when speaking, it is easy to use spoken language expressions as spoken language. Therefore, there may be frequent inconsistencies with the project name in the speech.

[0044] For such a problem, a method of registering alternative expressions of item names when defining slots by the administrator can be considered. However, for "next visit date", it may be replaced with "next visit date (reference translation: next visit date)", "next visit date (reference translation: next visit date)", "next visit scheduled date (reference translation: next visit scheduled date)" or "next visit scheduled date (reference translation: next visit scheduled date)", etc. It is impossible to imagine what expressions various users will use and list them without omission.

[0045] In addition, a method using a thesaurus or a method of obtaining similar expressions from a large amount of language resources on the Internet based on statistical processing can also be considered. However, it is not necessarily possible to obtain the alternative expressions required for the form data defined according to the purpose from such general data.

[0046] Hereinafter, a detection device according to a first embodiment is described, which can detect similar expressions from utterances and determine slots without preparing alternative expressions of the item name, even when there is no expression matching the predefined item name in the utterance.

[0047] Hereinafter, description will be given with reference to the drawings.

[0048] [Example of functional configuration]

[0049] Figure 1 1 is a diagram showing an example of the functional configuration of the information processing device 10 according to the first embodiment. The information processing device 10 according to the first embodiment includes a dividing unit 101 , an extracting unit 102 , and a detecting unit 103 .

[0050] The information processing device 10 of the first embodiment is realized by, for example, a computer that reads a program recorded in a recording medium such as a memory, a magnetic disk, or an optical disk, and controls operations according to the program.

[0051] The segmentation unit 101 receives a first keyword and a sentence. The first keyword indicates, for example, the name (item name) of a slot (item column) included in form data for reporting external business, maintenance / inspection business, etc. The sentence can be obtained, for example, by performing voice recognition on the user's voice. In addition, the voice recognition can be performed by the information processing device 10. For example, when the segmentation unit 101 performs voice recognition, the segmentation unit 101 receives the user's voice and recognizes the sentence from the voice.

[0052] The segmentation unit 101 segments the first keyword into first words and segments the sentence into second words.

[0053] For example, when the first keyword is "visit date" and the sentence is "visit date is August 21st.", the first word is "visit" and "date". In addition, the second word is "visit", "し", "た", "date", "は", "8", "month", "21", "date", "です", and ".".

[0054] The division into words can be realized by morpheme analysis, for example, but it is not necessarily necessary to divide by morpheme unit. For example, the division unit 101 may divide the first keyword and the sentence every N words, or divide by character type or specific symbol as a pause.

[0055] The extraction unit 102 extracts at least one of a word list that includes a second word matching the first word at the beginning of the first keyword at the beginning and a word list that includes a second word matching the first word at the end of the first keyword at the end from the sentence.

[0056] For example, when the first keyword is "訪問日" (visit date) and the sentence is "訪問した日は8月21日です。" (The day of the visit is August 21st.), the word list that includes a second word matching the first word at the beginning of the first keyword at the beginning includes "訪問" (visit), "訪問し" (visited), "訪問した" (have visited), and "訪問した日" (the day of the visit), etc., and the word list that includes a second word matching the first word at the end of the first keyword at the end includes "日" (day), "た日" (the day), "した日" (the day that), and "訪問した日" (the day of the visit), etc.

[0057] By focusing on the first word and the last word of the first keyword, it is possible to limit the string to a string that seems similar to the first keyword, and the number of combinations of strings can be suppressed. For the details of the processing of the extraction unit 102, see the following description.

[0058] The detection unit 103 detects the second keyword based on at least one of the character similarity indicating the similarity between the extracted word list and the characters of the first keyword and the composition similarity indicating the similarity between the composition of the extracted word list and the composition of the first keyword. By taking into account not only the similarity of characters but also the similarity of composition, it is possible to detect a more appropriate keyword as the second keyword. For the details of the processing of the detection unit 103, see the following description.

[0059] [Operation example of the extraction unit]

[0060] Figure 2 It is a flowchart showing an operation example of the extraction unit 102 of the first embodiment. First, the extraction unit 102 receives the first keyword that has been divided into first words and the sentence that has been divided into second words from the division unit 101 (step S201).

[0061] Next, the extraction unit 102 sets the maximum number of words in the extracted word list as a variable MAX (step S202).

[0062] Next, the extraction unit 102 sets the first word at the beginning of the above first keyword as a variable S_WORD (step S203).

[0063] Next, the extraction unit 102 sets the position of the second word that matches the variable S_WORD as a variable S (step S204).

[0064] Next, the extraction unit 102 sets an initial value of 0 for the variable i (step S205). Next, the extraction unit 102 determines whether i < MAX (step S206).

[0065] When it is the case where i < MAX (step S206: Yes), the extraction unit 102 acquires the S-th to (S + i)-th word columns in the sentence (step S207). Next, the extraction unit 102 increments i by 1 (step S208), and returns to the process of step S206.

[0066] When it is not the case where i < MAX (step S206: No), the process proceeds to step S209.

[0067] Next, the extraction unit 102 sets the first word at the end of the above first keyword as the variable E_WORD (step S209).

[0068] Next, the extraction unit 102 sets the position of the second word that matches the variable E_WORD as the variable E (step S210).

[0069] Next, the extraction unit 102 sets the initial value 0 for the variable i (step S211). Next, the extraction unit 102 determines whether i < MAX (step S212).

[0070] When it is the case where i < MAX (step S212: Yes), the extraction unit 102 acquires the (E - i)-th to E-th word columns in the sentence (step S213). Next, the extraction unit 102 increments i by 1 (step S214), and returns to the process of step S212.

[0071] When it is not the case where i < MAX (step S212: No), the process ends.

[0072] In addition, in step S204 above, when there are multiple second words that match S_WORD in the sentence, all the positions are set as the variable S, and the processes of steps S205 to S208 are repeated for each S.

[0073] Similarly, in step S210, when there are multiple second words that match E_WORD in the sentence, all the positions are set as the variable E, and the processes of steps S211 to S214 are repeated for each E.

[0074] <Specific Example of Extraction Process>

[0075] For example, assume that the extraction unit 102 has received the following sentence and the first keyword from the segmentation unit 101. In addition, " / " represents an example of sentence segmentation.

[0076] Sentence: "The day of visit / is / 8 / August / 21st / ."

[0077] First keyword: "The day of visit"

[0078] If the maximum number of words in the obtained word list is specified as 7 (MAX = 7), then through the processing of the extraction unit 102, the following 11 word lists can be obtained.

[0079] "訪問"

[0080] "訪問し"

[0081] "訪問した"

[0082] "訪問した日"

[0083] "訪問した日は"

[0084] "訪問した日は8"

[0085] "訪問した日は8月"

[0086] "日"

[0087] "た日"

[0088] "した日"

[0089] "訪問した日"

[0090] [Operation example of the detection unit]

[0091] Figure 3 It is a flowchart showing an operation example of the detection unit 103 of the first embodiment. First, the detection unit 103 receives the first keyword and the word list from the extraction unit 102 (step S301).

[0092] Next, when multiple word lists are received in step S301, the detection unit 103 deletes the duplicate word lists and then sets the number of word lists as the variable N (step S302). Next, the detection unit 103 sets the initial value of the variable i to 1 (step S303).

[0093] Next, the detection unit 103 determines whether i ≤ N (step S304). When i ≤ N (step S304: Yes), the detection unit 103 calculates the character similarity between the i-th word list and the first keyword (step S305).

[0094] The character similarity indicates the similarity of characters. The character similarity can be obtained using, for example, cosine similarity or Levenshtein distance. Among them, the similarity indicates that the higher the value, the higher the similarity. In addition, the distance indicates that the higher the value, the lower the similarity. Therefore, when using the distance, its reciprocal is used, or it is normalized to be between 0 and 1 and the obtained value is subtracted from 1, etc., so as to be transformed into a value indicating that the higher the value, the higher the similarity for use.

[0095] Next, the detection unit 103 calculates a composition similarity that represents the similarity between the composition of the i-th word column and the composition of the first keyword (step S306).

[0096] The composition similarity is determined, for example, based on the number of second words in the word column that are identical to the first word that makes up the first keyword. For example, the word column "訪問し" has a composition similarity of 1 because it contains the second word "訪問" that is identical to the first word that makes up the first keyword. Similarly, the word column "訪問した日は" has a composition similarity of 2 because it contains the second words "訪問" and "日" that are identical to the first word that makes up the first keyword.

[0097] Next, the detection unit 103 calculates a comprehensive similarity of the i-th word column based on at least one of the character similarity and the composition similarity (step S307).

[0098] The comprehensive similarity can be obtained, for example, by the following formula (1). Let the comprehensive similarity be Sim, the character similarity be Sim_chr, and the composition similarity be Sim_com. α and β are coefficients that satisfy 0 ≤ α ≤ 1 and 0 ≤ β ≤ 1.

[0099] Sim = α × Sim_chr + β × Sim_com ··· (1)

[0100] Next, the detection unit 103 increments i by 1 (step S308) and returns to the process of step S304.

[0101] When i ≤ N is not satisfied (step S304: No), the detection unit 103 detects the second keyword based on the comprehensive similarity (step S309).

[0102] Figure 4 It is a diagram showing an example of the processing result of the detection unit 103 of the first embodiment. In Figure 4 In the example, the comprehensive similarity is the value calculated by setting α = 1 and β = 1 in formula (1). In this example, the comprehensive similarity of the word column "訪問した日" is the highest at 2.75. In this case, the detection unit 103 detects, for example, the word column "訪問した日" as the second keyword.

[0103] As described above, in the information processing device 10 of the first embodiment, the segmentation unit 101 segments the first keyword into the first word and the sentence into the second word. The extraction unit 102 extracts at least one of a word sequence including a second word that is consistent with the first word at the beginning of the first keyword and a word sequence including a second word that is consistent with the first word at the end of the first keyword from the sentence. Then, the detection unit 103 detects the second keyword based on at least one of a text similarity indicating the similarity between the text of the word sequence and the first keyword and a composition similarity indicating the similarity between the composition of the word sequence and the composition of the first keyword.

[0104] Thus, the information processing device 10 according to the first embodiment can determine the slot for setting the item value even when there is no expression matching the predefined item name. For example, it can determine the slot by detecting a similar expression from the utterance without preparing an alternative expression of the item name.

[0105] (Second Embodiment)

[0106] Next, a second embodiment will be described. In the description of the second embodiment, the same description as the first embodiment will be omitted, and only the parts different from the first embodiment will be described.

[0107] [Example of functional configuration]

[0108] Figure 5 10 - 2 is a diagram showing an example of the functional configuration of the information processing device 10 - 2 according to the second embodiment. The information processing device 10 - 2 according to the second embodiment includes a dividing unit 101 , an extracting unit 102 - 2 , a detecting unit 103 , a storing unit 104 , and a searching unit 105 .

[0109] exist Figure 5 In, with Figure 1 The same parts are marked with the same reference numerals, and the different parts are described below. Figure 5 In the embodiment, a storage unit 104 and a search unit 105 are newly provided, and an extraction unit 102-2 is provided instead of the extraction unit 102.

[0110] The storage unit 104 stores a thesaurus. The thesaurus can be prepared for each user and for each form data (report).

[0111] Figure 6 2 is a diagram showing an example of a synonym dictionary according to the second embodiment. Figure 6 In this way, a synonym is registered for each first word.

[0112] The retrieval unit 105 retrieves synonyms similar to the first word using a thesaurus. For example, the retrieval unit 105 retrieves 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. For example, when the first keyword is "訪問日" (reference translation: visit date), as synonyms for the first word "訪問" at the beginning, it retrieves "訪れる" (reference translation: visit), "訪ねる" (reference translation: call on), "訪う" (reference translation: pay a visit), and as synonyms for the first word "日" at the end, it retrieves "日付" (reference translation: date), "日にち" (reference translation: day), "日時" (reference translation: time).

[0113] The extraction unit 102-2 also extracts at least one of the word sequences that contain, at the beginning, a word sequence identical to the synonym similar to the first word at the beginning of the first keyword and, at the end, a second word identical to the synonym similar to the first word at the end of the first keyword from the sentence.

[0114] [Operation example of the extraction unit]

[0115] Figure 7 is a flowchart showing an operation example of the extraction unit 102-2 of the second embodiment. First, the extraction unit 102 receives the first keyword that has been segmented into first words and the sentence that has been segmented into second words from the segmentation unit 101, and receives the thesaurus retrieval result from the retrieval unit 105 (step S401).

[0116] In Figure 7 's example, the thesaurus retrieval result contains 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.

[0117] Next, the extraction unit 102-2 sets the maximum number of words in the extracted word sequence as the variable MAX (step S402).

[0118] Next, the extraction unit 102-2 sets the first word at the beginning of the above first keyword and its synonyms as the variable S_WORDS (step S403).

[0119] Next, the extraction unit 102-2 sets the number of words (the first word and its synonyms) that have been set as S_WORDS as the variable N (step S404).

[0120] Next, the extraction unit 102-2 sets the initial value of the variable j to 1 (step S405). Next, the extraction unit 102-2 determines whether j≤N (step S406).

[0121] If j≤N (step S406 : Yes), the extracting unit 102 - 2 sets the position of the second word that matches the j-th word set as S_WORDS as a variable S (step S407 ).

[0122] Steps S408 to S411 are similar to the processing of steps S205 to S208 of the first embodiment (see Figure 2 ) are the same, so the description is omitted.

[0123] When i<MAX is not satisfied (step S409 : No), the extracting unit 102 - 2 increments j by 1 (step S412 ), and returns to the process of step S406 .

[0124] If j≦N is not satisfied (step S406 : No), the extracting unit 102 - 2 sets the first word at the end of the first keyword and a synonym of the first word as a variable E_WORDS (step S413 ).

[0125] Next, the extracting unit 102 - 2 sets the number of words (the first word and the synonyms of the first word) set as E_WORDS as a variable N (step S414 ).

[0126] Next, the extracting unit 102 - 2 sets the variable j to an initial value of 1 (step S415 ). Next, the extracting unit 102 - 2 determines whether j≦N is satisfied (step S416 ).

[0127] If j≤N (step S416 : Yes), the extracting unit 102 - 2 sets the position of the second word that matches the j-th word set as S_WORDS as a variable E (step S417 ).

[0128] Steps S418 to S421 are similar to the processing of steps S211 to S214 of the first embodiment (see Figure 2 ) are the same, so the description is omitted.

[0129] When i<MAX is not satisfied (step S419: No), the extracting unit 102-2 increments j by 1 (step S422), and returns to the process of step S416.

[0130] If j≤N is not satisfied (step S416: No), the process ends.

[0131] Furthermore, when searching for the matching words in step S407 and step S417, the extracting unit 102-2 compares the original forms of the words in the case of flexibly used words.

[0132] <Specific example of extraction process>

[0133] For example, assume that the extraction unit 102 has received the following sentence and the first keyword from the segmentation unit 101. In addition, " / " represents an example of sentence segmentation.

[0134] Sentence: "訪れ / た / 日にち / は / 8 / 月 / 21 / 日 / です / 。(Translation: The date of visit is August 21.)"

[0135] First keyword: "訪問 / 日"

[0136] The sentence does not contain either the starting word "訪問" or the ending word "日" of the first keyword. However, since it contains their respective synonyms, namely "訪れる" and "日にち", the word sequence "訪れた日にち (Translation: The date of visit)" can be detected through the processing of the extraction unit 102-2. If this extraction result is used, the second keyword "訪れた日にち" can be detected through the processing of the detection unit 103.

[0137] According to the information processing apparatus 10-2 of the second embodiment, by using a thesaurus, even when there is no expression that matches a predefined item name, the performance of the process of determining the slot for setting the item value can be further improved.

[0138] (Third Embodiment)

[0139] Next, the third embodiment will be described. In the description of the third embodiment, the same description as that of the first embodiment will be omitted, and the parts different from the first embodiment will be described.

[0140] [Example of Functional Configuration]

[0141] Figure 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 apparatus 10-3 of the third embodiment includes a segmentation unit 101, an extraction unit 102, a detection unit 103, an item name database 106, a presumption unit 107, a notification unit 108, and a registration unit 109.

[0142] In Figure 8 , the same parts as Figure 1 are labeled with the same reference numerals, and the different parts will be described. In Figure 8 a new item name database 106, a presumption unit 107, a notification unit 108, and a registration unit 109 are provided. The segmentation unit 101, the extraction unit 102, and the extraction unit 103 operate as subroutines of the presumption 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 Figure 1 the first keyword in

[0143] The item name database 106 stores the item name in association with the alternative expressions of the item name. The item name database 106 can be prepared for each user and for each form data (report).

[0144] <Example of item name database>

[0145] Fig. 9A It is a diagram showing Example 1 of the item name database according to the third embodiment. Fig. 9B 1 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 alternative 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 column) identified by the item name. The alternative expression indicates an alternative expression of the item name. The item name and data type are required, and the alternative expression can be a blank column ( Fig. 9A ).

[0146] Back to Figure 8 The inference unit 107 starts the segmentation unit 101, extraction unit 102 and detection unit 103 as a subroutine, detects a second keyword corresponding to an item name stored in the item name database 106 from the sentence, and infers the item name. The details of the processing of the inference unit 107 will be described later.

[0147] 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.

[0148] 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.

[0149] [Operation example of the estimation unit]

[0150] Fig.10 1 is a flowchart showing an example of the operation of the estimation unit 107 according to the third embodiment. First, the estimation unit 107 receives a sentence and reads out an item name and an alternative expression from the item name database 106 (step S501). For example, the estimation unit 107 receives a sentence voice-recognized from a user's utterance.

[0151] Next, the estimation unit 107 sets the number of item names as a variable N (step S502 ). Next, the estimation unit 107 sets an initial value 1 to a variable i (step S503 ).

[0152] Next, the estimating unit 107 determines whether i≤N (step S504 ).

[0153] When i≤N (step S504 : Yes), the estimation unit 107 sets the i-th item name as a variable SLOTNAME (step S505 ).

[0154] Next, the estimation unit 107 determines whether or not the sentence contains a portion (second word) that matches the item name or an alternative expression thereof for the i-th item name (step S506 ).

[0155] When there is a matching portion (step S506: Yes), the inference unit 107 sets determined to the template name of the response sentence template, and proceeds to step S514.

[0156] Here, the response statement template is explained.

[0157] <Response statement template example>

[0158] Fig.11 This is a diagram showing an example of a response statement template of the third embodiment. The response statement template includes a template name and a response statement. The character string surrounded by $ and $ in the response statement represents a variable set by the inference unit 107. For example, if "visit date" is set for SECONDKEY and "visit date" is set for SLOTNAME, the response statement of the template name "confirm" is "Does the date of visit refer to the date of visit?" (Reference translation: The date of visit refers to the date of visit, right?)".

[0159] Back to Fig.10 , the description of the processing operation of the estimation unit 107 is continued.

[0160] When there is no matching portion (step S506 : No), the estimation unit 107 activates the division unit 101 , the extraction unit 102 , and the detection unit 103 to detect the second keyword corresponding to the i-th item name (step S509 ).

[0161] Next, the estimation unit 107 determines whether the second keyword is detected from the sentence for the i-th item name (step S510 ).

[0162] When the second keyword is detected (step S510: Yes), the inference unit 107 sets the second keyword as a variable SECONDKEY (step S512). Next, the inference unit 107 sets confirm to the template name of the response sentence template (step S513), and proceeds to step S514.

[0163] When 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 .

[0164] When i≦N is not satisfied (step S504: No), the inference unit 107 sets start to the template name of the response sentence template (step S508), and proceeds to step S514.

[0165] When the process proceeds to step S514, the estimation unit 107 keeps the notification unit 108 activated for the template name, SLOTNAME, and SECONDKEY.

[0166] [Example of Notification Unit’s Operation]

[0167] Fig.12 1 is a flowchart showing an example of the operation of the notification unit 108 according to the third embodiment. First, the notification unit 108 generates a response sentence based on the template name specified by the process of the estimation unit 107 in step S514 described above, and presents the response sentence to the user (step S601).

[0168] Next, the notification unit 108 determines whether the template name is confirm (step S602 ).

[0169] When the template name is confirm (step S602 : Yes), the notification unit 108 receives a response from the user (step S603 ).

[0170] Next, the notification unit 108 determines whether the response from the user is an affirmative response (step S604). Whether it is an affirmative response can be determined, for example, by whether the user's utterance contains specific keywords such as "はい (reference translation: yes)" or "いいえ (reference translation: no)". For another example, whether it is an affirmative response can be determined by selecting "OK" or "NG" buttons on the user interface.

[0171] 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 the template name to not_determined and returns to step S601 (step S606).

[0172] When the template name is not confirm (step S602 : No), the notification unit 108 determines whether the template name is determined (step S607 ).

[0173] When the template name is "determined" (step S607: Yes), the notification unit 108 activates the registration unit 109 (step S608). When the template name is not "determined" (step S607: No), the process ends.

[0174] <Specific Example of Notification Process>

[0175] For example, assume that the following information is stored in the project name database 106 Fig. 9A When such information is provided as the input to the information processing device 10-3, the following statement is provided. In addition, " / " represents an example of statement segmentation.

[0176] Statement: "The date of visit / was / August / 21st / ."

[0177] There is no part (the second word) in the statement that matches any of the item names "destination of visit", "date of visit", and "next visit date". Through the processing of the segmentation unit 101, the extraction unit 102, and the detection unit 103, the second keyword "date of visit" corresponding to the item name "date of visit" is detected. Through the processing of the estimation unit 107,

[0178] SLOTNAME = date of visit

[0179] SECONDKEY = date of visit

[0180] Template name = confirm

[0181] This setting is made, and the notification unit 108 is activated.

[0182] Through the processing of the notification unit 108,

[0183] "Is the date of visit the same as the date of visit?"

[0184] This response statement is generated and presented to the user.

[0185] If the notification unit 108 receives an affirmative response such as "yes" from the user, it sets

[0186] Template name = determined,

[0187] And presents the response statement "It will be input to the date of visit. (Translation: Input to the visit date)" to the user.

[0188] Furthermore, through the processing of the registration unit 109, "date of visit" is registered in the project name database 106 as an alternative expression for the item name "date of visit". As a result, the project name database 106 is updated to Fig. 9B That's it.

[0189] Furthermore, the notification unit 108 may confirm with the user in advance whether to register the second keyword "visit date" as an alternative expression of the item name "visit date" and then determine whether to execute the processing of the registration unit 109.

[0190] On the other hand, if the notification unit 108 receives a non-affirmative response such as "Hey" from the user, it sets

[0191] Template name = not_determined,

[0192] A response sentence notifying that the item name cannot be determined, such as "I'll try again on the visit date." (Reference translation: Please enter the visit date again.)" is presented to the user.

[0193] According to the information processing device 10 - 3 of the third embodiment, it is possible to more appropriately update the alternative expressions of the item name database 106 using the function of the information processing device 10 of the first embodiment.

[0194] Finally, an example of the hardware configuration of the information processing devices 10 to 10 - 3 according to the first to third embodiments will be described.

[0195] [Hardware configuration example]

[0196] Fig.13 The diagram shows an example of the hardware configuration of the information processing devices 10 to 10 - 3 according to the first to third embodiments. The hardware configurations of the information processing devices 10 to 10 - 3 are the same, so the information processing device 10 will be described.

[0197] 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 a bus 310 .

[0198] The control device 301 executes a program read from the auxiliary storage device 303 to the main storage device 302. The main storage device 302 is a memory such as ROM (Read Only Memory) and RAM (Random Access Memory). The auxiliary storage device 303 is a HDD (Hard Disk Drive), SSD (Solid State Drive), a memory card, etc.

[0199] The display device 304 displays the display information. The display device 304 is, for example, a liquid crystal display. The input device 305 is an interface for operating the computer. The input device 305 is, for example, a keyboard, a mouse, etc. In the case where the computer is a smart device such as a smart phone or a tablet terminal, 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 other devices.

[0200] The program executed by the computer is recorded in a computer-readable storage medium such as a CD-ROM, a memory card, a CD-R, or a DVD (Digital Versatile Disc) in an installable or executable format, and is provided as a computer program product.

[0201] In addition, the program executed by the computer may be configured to be stored on a computer connected to a network such as the Internet and provided by downloading via the network. In addition, the program executed by the computer may be configured to be provided via a network such as the Internet without being downloaded.

[0202] Alternatively, the program to be executed by the computer may be configured to be written in advance in a ROM or the like and provided.

[0203] The program executed by the computer is a module structure including a function block that can be realized by the program in the functional structure (function block) of the above-mentioned information processing device 10. The control device 301 reads the program from the storage medium and executes the program as actual hardware, thereby loading the above-mentioned function blocks into the main storage device 302. That is, the above-mentioned function blocks are generated on the main storage device 302.

[0204] Furthermore, part or all of the above-mentioned functional blocks may be implemented not by software but by hardware such as IC (Integrated Circuit).

[0205] Furthermore, when implementing each function using a plurality of processors, each processor may implement one of the functions or two or more of the functions.

[0206] The computer that realizes the information processing device 10 may be operated in any manner. For example, the information processing device 10 may be realized by a single computer. In another example, the information processing device 10 may be operated as a cloud system on a network.

[0207] Some embodiments of the present invention have been described, but these embodiments are presented as examples and are not intended to limit the scope of the invention. These new embodiments can be implemented in various other ways, and various omissions, substitutions, and changes can be made without departing from the scope of the invention. These embodiments and their variations are included in the scope and spirit of the invention, and are included in the invention described in the claims and their equivalents.

Claims

1. An information processing device, wherein: The method comprises: a segmentation unit that segments a predefined first keyword into a plurality of first words and a user's sentence into a plurality of second words; an extraction unit that extracts at least one of a plurality of word sequences that include the second word that is consistent with the first word at the beginning of the first keyword and a plurality of word sequences that include the second word that is consistent with the first word at the end of the first keyword from the sentence; and a detection unit, which, when all of the multiple word sequences are inconsistent with the first keyword, detects a word sequence among the multiple word sequences that has high similarity with the first keyword as a second keyword based on a text similarity indicating similarity between the text of each of the multiple word sequences and the first keyword and a composition similarity indicating similarity between the composition of each of the multiple word sequences and the composition of the first keyword, wherein the composition similarity is determined based on the number of second words consistent with the first word among the second words contained in the word sequence.

2. The information processing device according to claim 1, wherein: The information processing device also includes a retrieval unit that uses a synonym dictionary to retrieve synonyms similar to the first word, and the extraction unit also extracts from the sentence at least one of a word column that includes the second word at the beginning and a synonym similar to the first word at the beginning of the first keyword, and a word column that includes the second word at the end and a synonym similar to the first word at the end of the first keyword.

3. The information processing device according to claim 1, wherein: The sentence is speech-recognized from an utterance of a user, the first keyword indicates an item name included in form data, and the information processing device further includes an estimating unit that estimates the item name from the second keyword.

4. The information processing device according to claim 3, wherein: The method further includes: a storage unit configured to store the item name and an alternative expression of the item name in association with each other; and a registration unit configured to register the second keyword as the alternative expression in the storage unit.

5. The information processing device according to claim 4, wherein: The information processing device further includes a notification unit configured to confirm with the user whether the second keyword corresponds to the item name, and to notify the user that the item name cannot be determined if the second keyword does not correspond to the item name.

6. The information processing device according to claim 4, wherein: The information processing device further includes a notification unit that confirms with the user whether the second keyword is to be registered as the alternative expression, and requests the registration unit to register the second keyword if the second keyword is to be registered as the alternative expression.

7. The information processing device according to claim 1, wherein: The text similarity is determined based on at least one of cosine similarity and Levenshtein distance.

8. An information processing method, wherein: The method comprises the following steps: an information processing device divides a predefined first keyword into a plurality of first words, and divides a user's sentence into a plurality of second words; The information processing device extracts from the sentence at least one of a plurality of word sequences including the second word that matches the first word at the beginning of the first keyword and a plurality of word sequences including the second word that matches the first word at the end of the first keyword; And in a case where all of the multiple word sequences are inconsistent with the first keyword, the information processing device detects a word sequence among the multiple word sequences that has a high similarity with the first keyword as a second keyword based on a text similarity representing the similarity between the text of each of the multiple word sequences and the first keyword and a composition similarity representing the similarity between the composition of each of the multiple word sequences and the composition of the first keyword, and the composition similarity is determined based on the number of second words in the word sequence that are consistent with the first word.

9. A computer-readable storage medium storing a program, wherein: The program is used to make a computer function as the following units: a segmentation unit that segments a predefined first keyword into a plurality of first words and a user's sentence into a plurality of second words; an extraction unit that extracts at least one of a plurality of word sequences that include the second word that matches the first word at the beginning of the first keyword and a plurality of word sequences that include the second word that matches the first word at the end of the first keyword from the sentence; and a detection unit, which, when all of the multiple word sequences are inconsistent with the first keyword, detects a word sequence among the multiple word sequences that has high similarity with the first keyword as a second keyword based on a text similarity indicating similarity between the text of each of the multiple word sequences and the first keyword and a composition similarity indicating similarity between the composition of each of the multiple word sequences and the composition of the first keyword, wherein the composition similarity is determined based on the number of second words consistent with the first word among the second words contained in the word sequence.

Citation Information

Patent Citations

  • Accurate retrieval method based on keywords

    CN107423348A