WO2021009861A1 - 特定プログラム、特定方法、および特定装置 - Google Patents

特定プログラム、特定方法、および特定装置 Download PDF

Info

Publication number
WO2021009861A1
WO2021009861A1 PCT/JP2019/028021 JP2019028021W WO2021009861A1 WO 2021009861 A1 WO2021009861 A1 WO 2021009861A1 JP 2019028021 W JP2019028021 W JP 2019028021W WO 2021009861 A1 WO2021009861 A1 WO 2021009861A1
Authority
WO
WIPO (PCT)
Prior art keywords
sentence
sentences
score
value
similarity
Prior art date
Application number
PCT/JP2019/028021
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 JP2021532613A priority Critical patent/JP7255684B2/ja
Priority to PCT/JP2019/028021 priority patent/WO2021009861A1/ja
Publication of WO2021009861A1 publication Critical patent/WO2021009861A1/ja
Priority to US17/558,693 priority patent/US20220114824A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/18Extraction of features or characteristics of the image
    • G06V30/1801Detecting partial patterns, e.g. edges or contours, or configurations, e.g. loops, corners, strokes or intersections
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/19Recognition using electronic means
    • G06V30/19007Matching; Proximity measures
    • G06V30/19093Proximity measures, i.e. similarity or distance measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/19Recognition using electronic means
    • G06V30/191Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
    • G06V30/19173Classification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/26Techniques for post-processing, e.g. correcting the recognition result
    • G06V30/262Techniques for post-processing, e.g. correcting the recognition result using context analysis, e.g. lexical, syntactic or semantic context
    • G06V30/274Syntactic or semantic context, e.g. balancing

Definitions

  • the present invention relates to a specific program, a specific method, and a specific device.
  • a technique for searching a sentence similar to a sentence input by a user from a plurality of sentences stored in a storage unit for example, a question sentence similar to the question sentence input by the user is searched from the question sentences associated with the answer sentence stored in the storage unit, and the question sentence is associated with the found question sentence. It is used for chat bots that output answer sentences.
  • Prior art is to generate a document semantic description from the content of the document and calculate the similarity score based on the similarity between the document semantic description and the search term. Further, for example, there is a technique for obtaining the similarity between the sample document and the reference document for each weighted topic category and adding up all the topic categories to obtain the similarity between the sample document and the reference document. Also, for example, an icon representing the theme assigned to each axis is placed outside the intersection of each axis extending radially from the center of the center circle and the circle, and an icon representing a document is placed on the circle to represent the document for each theme. There is a technique to place the icon at a position determined by the degree of relevance and the attractive force of each theme.
  • the present invention aims to improve the accuracy of identifying a sentence similar to a sentence input from a plurality of sentences.
  • the first value indicating the result of the inter-document distance analysis between each sentence included in the plurality of sentences stored in the storage unit and the input first sentence is acquired, and the first value is obtained.
  • the second value indicating the result of the potential semantic analysis between each sentence and the first sentence is acquired, and the size based on the first value acquired for each sentence corresponding to each sentence is obtained.
  • the similarity between each of the sentences and the first sentence is calculated, and each of the calculated sentences and the first sentence are calculated.
  • a specific program, a specific method, and a specific device for specifying a second sentence similar to the first sentence among the plurality of sentences are proposed.
  • FIG. 1 is an explanatory diagram showing an embodiment of a specific method according to an embodiment.
  • FIG. 2 is an explanatory diagram showing an example of the FAQ system 200.
  • FIG. 3 is a block diagram showing a hardware configuration example of the specific device 100.
  • FIG. 4 is an explanatory diagram showing an example of the stored contents of the FAQ list 400.
  • FIG. 5 is an explanatory diagram showing an example of the stored contents of the LSI score list 500.
  • FIG. 6 is an explanatory diagram showing an example of the stored contents of the WMD score list 600.
  • FIG. 7 is an explanatory diagram showing an example of the stored contents of the similar score list 700.
  • FIG. 8 is a block diagram showing a hardware configuration example of the client device 201.
  • FIG. 8 is a block diagram showing a hardware configuration example of the client device 201.
  • FIG. 9 is a block diagram showing a functional configuration example of the specific device 100.
  • FIG. 10 is a block diagram showing a specific functional configuration example of the specific device 100.
  • FIG. 11 is an explanatory diagram showing an example of calculating a similarity score.
  • FIG. 12 is an explanatory diagram showing an example of variations between the LSI score and the WMD score.
  • FIG. 13 is an explanatory diagram (No. 1) showing the effect of the specific device 100.
  • FIG. 14 is an explanatory diagram (No. 2) showing the effect of the specific device 100.
  • FIG. 15 is an explanatory diagram (No. 3) showing the effect of the specific device 100.
  • FIG. 16 is an explanatory diagram (No. 4) showing the effect of the specific device 100.
  • FIG. 17 is an explanatory diagram (No.
  • FIG. 18 is an explanatory diagram showing an example of a display screen in the client device 201.
  • FIG. 19 is a flowchart showing an example of the overall processing procedure.
  • FIG. 20 is a flowchart showing an example of the calculation processing procedure.
  • FIG. 1 is an explanatory diagram showing an embodiment of a specific method according to an embodiment.
  • the identification device 100 is a computer for facilitating identification of a second sentence 102 that is semantically similar to the input first sentence 101 from among a plurality of sentences 102.
  • the probability of succeeding in identifying a sentence that is semantically similar to the input sentence from a plurality of sentences may be 70% or 80% or less.
  • the similarity between sentences a method of calculating the Cos similarity between sentences can be considered, but since the words included in each sentence are expressed by tf-idf or the like, which sentences are semantically different. It is difficult to accurately show whether they are similar in degree. For example, it is not possible to consider how similar the words contained in each sentence are in terms of meaning. In addition, depending on the teacher data, the Cos similarity may increase even for sentences with different meanings.
  • a method of calculating the degree of similarity using a neural network by Doc2Vec can be considered. Since this method uses an initial vector containing random numbers, the degree of similarity is unstable, and it is difficult to accurately show how similar relatively short sentences are in terms of meaning. In addition, there are a relatively large number of types of learning parameters, which leads to an increase in cost and workload for optimizing the learning parameters. In addition, unless the number of teacher data is increased, the accuracy of calculating the similarity cannot be improved, which leads to an increase in cost and workload. In addition, if the usage scene is different, new teacher data will be prepared, which will increase the cost and the amount of work.
  • WMD inter-document distance analysis
  • LSI latent semantic analysis
  • the WMD and the LSI are used to enable accurate calculation of the semantic similarity between the input sentence and each sentence of the plurality of sentences, and the input is input among the plurality of sentences.
  • a specific method for accurately identifying a sentence that is semantically similar to the above sentence will be described.
  • the specific device 100 has a storage unit 110.
  • the storage unit 110 stores a plurality of sentences 102.
  • the sentence 102 is written in Japanese, for example.
  • the sentence 102 may be written in a language other than Japanese, for example.
  • Sentence 102 is, for example, a sentence.
  • the specific device 100 accepts the input of the first sentence 101.
  • the first sentence 101 is described in, for example, Japanese.
  • the first sentence 101 may be described in a language other than Japanese, for example.
  • the first sentence 101 is, for example, a sentence.
  • the first sentence 101 may be, for example, a list of words.
  • the first specifying device 100 shows the result of WMD between the sentence 102 and the input first sentence 101 for each sentence 102 of the plurality of sentences 102 stored in the storage unit 110. Get the value.
  • the specific device 100 uses, for example, a model by Word2Vec to show the result of WMD between each sentence 102 of the plurality of sentences 102 stored in the storage unit 110 and the input first sentence 101. Calculate one value.
  • the specifying device 100 acquires a second value indicating the result of the LSI between the sentence 102 and the first sentence 101 for each sentence 102 of the plurality of sentences 102 stored in the storage unit 110. To do.
  • the specific device 100 uses, for example, a model by an LSI to show the result of the LSI between each sentence 102 of the plurality of sentences 102 stored in the storage unit 110 and the input first sentence 101. Calculate two values.
  • the identification device 100 calculates the degree of similarity between the sentence 102 and the first sentence 101 based on the vector 120 corresponding to each sentence 102.
  • the vector 120 corresponding to each sentence 102 has, for example, a size based on the first value acquired for the sentence 102 and a direction based on the second value acquired for the sentence 102.
  • the identification device 100 identifies the second sentence 102 similar to the first sentence 101 among the plurality of sentences 102 based on the calculated similarity between each sentence 102 and the first sentence 101.
  • the specifying device 100 identifies, for example, the sentence 102 having the maximum calculated similarity among the plurality of sentences 102 as the second sentence 102 similar to the first sentence 101.
  • the specific device 100 can calculate the degree of similarity that accurately indicates how much the input first sentence 101 and each sentence 102 of the plurality of sentences 102 are semantically similar. .. Then, the identification device 100 can accurately identify the sentence 102 that is semantically similar to the input first sentence 101 from the plurality of sentences 102.
  • the specific device 100 even if the number of sentences serving as teacher data prepared by the user is relatively small, the input first sentence 101 and each sentence 102 of the plurality of sentences 102 are semantically different. It is possible to calculate the degree of similarity that accurately indicates whether the degree is similar. As a result, the specific device 100 can suppress an increase in cost and work amount.
  • the specific device 100 can generate, for example, a model by Word2Vec based on the Japanese version of Wikipedia, the user does not have to prepare a sentence to be teacher data. Further, since the specific device 100 may generate, for example, a model by Word2Vec based on a plurality of sentences 102 stored in the storage unit 110, the user can use the teacher data in addition to the sentence 102 stored in the storage unit 110. It is possible to avoid preparing the sentence that becomes. Then, the specific device 100 can use the model by Word2Vec even when the usage scenes are different.
  • the specific device 100 can generate, for example, a model by LSI based on a plurality of sentences 102 stored in the storage unit 110, the user can use the teacher data in addition to the sentence 102 stored in the storage unit 110. You don't have to prepare the following sentence.
  • the specific device 100 accurately determines how much the input first sentence 101 and each sentence 102 of the plurality of sentences 102 are semantically similar even if the types of learning parameters are relatively small. It is possible to calculate the degree of similarity that is well shown. For example, when the specific device 100 generates a model by LSI, one kind of learning parameter indicating the number of dimensions may be adjusted, and an increase in cost and work amount can be suppressed. Further, the specific device 100 can generate a model by LSI in a relatively short time, and can suppress an increase in cost and work amount.
  • the specific device 100 even if the input first sentence 101 contains an unknown word, the input first sentence 101 and each sentence 102 of the plurality of sentences 102 are semantically similar to each other. It is possible to calculate the degree of similarity that accurately indicates whether or not it is done.
  • the specific device 100 uses, for example, the first value indicating the result of WMD between the input first sentence 101 and each sentence 102 of the plurality of sentences 102, so that the input first sentence 101 is used. Even if an unknown word is included, the accuracy of calculating the similarity can be improved.
  • the specific device 100 accurately shows how much the input first sentence 101 and each sentence 102 of the plurality of sentences 102 are semantically similar even in a Japanese environment.
  • the degree can be calculated.
  • the identification device 100 can improve the probability of succeeding in identifying the sentence 102 that is semantically similar to the input first sentence 101 from the plurality of sentences 102.
  • the present invention is not limited to this.
  • a device other than the specific device 100 may calculate the first value and the second value, and the specific device 100 may receive the first value and the second value.
  • FIG. 2 is an explanatory diagram showing an example of the FAQ system 200.
  • the FAQ system 200 includes a specific device 100 and a client device 201.
  • the specific device 100 and the client device 201 are connected via a wired or wireless network 210.
  • the network 210 is, for example, a LAN (Local Area Network), a WAN (Wide Area Network), the Internet, or the like.
  • the specific device 100 is a computer that associates each question sentence of a plurality of question sentences with an answer sentence to the question sentence and stores it in a storage unit.
  • the question sentence is, for example, a sentence.
  • the specific device 100 associates each question sentence of a plurality of question sentences with an answer sentence to the question sentence, and stores it using the FAQ list 400 described later in FIG.
  • the specific device 100 accepts the input of the question text from the user of the FAQ system 200.
  • the question text from the user is, for example, a text.
  • the question sentence from the user may be, for example, a list of words.
  • the identification device 100 identifies a question sentence that is semantically similar to the input question sentence from the plurality of question sentences stored in the storage unit. Further, the specific device 100 outputs an answer sentence associated with the specified question sentence.
  • the specific device 100 receives, for example, a question from the user of the FAQ system 200 from the client device 201.
  • the specific device 100 calculates, for example, the similarity between the input question text and the respective question texts of the plurality of question texts stored in the storage unit by the LSI.
  • the similarity by LSI may be referred to as "LSI score”.
  • the specific device 100 stores the calculated LSI score using the LSI score list 500 described later in FIG.
  • the specific device 100 calculates, for example, the degree of similarity between the input question text and each of the plurality of question texts stored in the storage unit by WMD.
  • the similarity by WMD may be referred to as "WMD score”.
  • the specific device 100 stores the calculated WMD score using the WMD score list 600 described later in FIG.
  • the specific device 100 calculates a similar score between the input question sentence and each question sentence of the plurality of question sentences stored in the storage unit, for example, based on the calculated LSI score and WMD score. Then, it is stored in FIG. 7 using the similar score list 700 described later. Then, the identification device 100 identifies a question sentence that is semantically similar to the input question sentence from among the plurality of question sentences stored in the storage unit, for example, based on the calculated similarity score.
  • the specific device 100 causes the client device 201 to display, for example, an answer sentence associated with the specified question sentence.
  • the specific device 100 is, for example, a server, a PC (Personal Computer), a tablet terminal, a smartphone, a wearable terminal, or the like. Microcomputer, PLC (Programmable Logical Controller), etc.
  • the client device 201 is a computer used by the user of the FAQ system 200.
  • the client device 201 transmits a question sentence to the specific device 100 based on the operation input of the user of the FAQ system 200.
  • the client device 201 displays an answer sentence associated with a question sentence that is semantically similar to the transmitted question sentence under the control of the specific device 100.
  • the client device 201 is, for example, a PC, a tablet terminal, a smartphone, or the like.
  • the specific device 100 is a device different from the client device 201
  • the present invention is not limited to this.
  • the specific device 100 may be a device that also operates as the client device 201.
  • the FAQ system 200 may not include the client device 201.
  • the FAQ system 200 can realize the service of providing the FAQ to the user of the FAQ system 200.
  • the operation of the specific device 100 will be described by taking the FAQ system 200 described above as an example.
  • FIG. 3 is a block diagram showing a hardware configuration example of the specific device 100.
  • the specific device 100 includes a CPU (Central Processing Unit) 301, a memory 302, a network I / F (Interface) 303, a recording medium I / F 304, and a recording medium 305. Further, each component is connected by a bus 300.
  • the CPU 301 controls the entire control of the specific device 100.
  • the memory 302 includes, for example, a ROM (Read Only Memory), a RAM (Random Access Memory), a flash ROM, and the like. Specifically, for example, a flash ROM or ROM stores various programs, and RAM is used as a work area of CPU 301. The program stored in the memory 302 is loaded into the CPU 301 to cause the CPU 301 to execute the coded process.
  • the network I / F 303 is connected to the network 210 through a communication line, and is connected to another computer via the network 210. Then, the network I / F 303 controls the internal interface with the network 210 and controls the input / output of data from another computer.
  • the network I / F 303 is, for example, a modem or a LAN adapter.
  • the recording medium I / F 304 controls data read / write to the recording medium 305 according to the control of the CPU 301.
  • the recording medium I / F 304 is, for example, a disk drive, an SSD (Solid State Drive), a USB (Universal Serial Bus) port, or the like.
  • the recording medium 305 is a non-volatile memory that stores data written under the control of the recording medium I / F 304.
  • the recording medium 305 is, for example, a disk, a semiconductor memory, a USB memory, or the like.
  • the recording medium 305 may be detachable from the specific device 100.
  • the specific device 100 may include, for example, a keyboard, a mouse, a display, a printer, a scanner, a microphone, a speaker, and the like, in addition to the above-described components. Further, the specific device 100 may have, for example, a plurality of recording media I / F 304 and recording media 305. Further, the specific device 100 may not have, for example, the recording medium I / F 304 or the recording medium 305.
  • the FAQ list 400 is realized, for example, by a storage area such as a memory 302 or a recording medium 305 of the specific device 100 shown in FIG.
  • FIG. 4 is an explanatory diagram showing an example of the stored contents of the FAQ list 400.
  • the FAQ list 400 has fields for a sentence ID, a content, and an answer.
  • the FAQ information is stored as a record by setting information in each field for each sentence.
  • the text ID field a text ID assigned to the text and identifying the text is set.
  • a sentence identified by a sentence ID is set in the content field.
  • a question sentence identified by a sentence ID is set in the content field.
  • an answer sentence corresponding to the question sentence identified by the sentence ID is set.
  • the LSI score list 500 is realized, for example, by a storage area such as a memory 302 or a recording medium 305 of the specific device 100 shown in FIG.
  • FIG. 5 is an explanatory diagram showing an example of the stored contents of the LSI score list 500.
  • the LSI score list 500 has fields for a sentence ID and an LSI score.
  • the LSI score information is stored as a record by setting information in each field for each sentence.
  • the text ID field a text ID assigned to the text and identifying the text is set.
  • an LSI score indicating the similarity between the input sentence and the sentence identified by the sentence ID by the LSI is set.
  • the WMD score list 600 is realized, for example, by a storage area such as a memory 302 or a recording medium 305 of the specific device 100 shown in FIG.
  • FIG. 6 is an explanatory diagram showing an example of the stored contents of the WMD score list 600.
  • the WMD score list 600 has a field for a sentence ID and a WMD score.
  • WMD score information is stored as a record by setting information in each field for each sentence.
  • the text ID field a text ID assigned to the text and identifying the text is set.
  • a WMD score indicating the degree of similarity between the input sentence and the sentence identified by the sentence ID by WMD is set.
  • the similar score list 700 is realized, for example, by a storage area such as a memory 302 or a recording medium 305 of the specific device 100 shown in FIG. 7.
  • FIG. 7 is an explanatory diagram showing an example of the stored contents of the similar score list 700.
  • the similarity score list 700 has a field for a sentence ID and a similarity score.
  • the similarity score information is stored as a record by setting information in each field for each sentence.
  • the text ID field a text ID assigned to the text and identifying the text is set.
  • a similarity score indicating the degree of similarity between the input sentence and the sentence identified by the sentence ID based on the LSI score and the WMD score is set.
  • FIG. 8 is a block diagram showing a hardware configuration example of the client device 201.
  • the client device 201 includes a CPU 801 and a memory 802, a network I / F 803, a recording medium I / F 804, a recording medium 805, a display 806, and an input device 807. Further, each component is connected by, for example, a bus 800.
  • the CPU 801 controls the entire client device 201.
  • the memory 802 includes, for example, a ROM, a RAM, a flash ROM, and the like. Specifically, for example, a flash ROM or ROM stores various programs, and RAM is used as a work area of CPU 801. The program stored in the memory 802 is loaded into the CPU 801 to cause the CPU 801 to execute the coded process.
  • the network I / F803 is connected to the network 210 through a communication line, and is connected to another computer via the network 210. Then, the network I / F 803 controls the internal interface with the network 210 and controls the input / output of data from another computer.
  • the network I / F 803 is, for example, a modem or a LAN adapter.
  • the recording medium I / F 804 controls data read / write to the recording medium 805 according to the control of the CPU 801.
  • the recording medium I / F804 is, for example, a disk drive, SSD, USB port, or the like.
  • the recording medium 805 is a non-volatile memory that stores data written under the control of the recording medium I / F 804.
  • the recording medium 805 is, for example, a disk, a semiconductor memory, a USB memory, or the like.
  • the recording medium 805 may be detachable from the client device 201.
  • the display 806 displays data such as documents, images, and functional information, as well as cursors, icons, and toolboxes.
  • the display 806 is, for example, a CRT (Cathode Ray Tube), a liquid crystal display, an organic EL (Electroluminescence) display, or the like.
  • the input device 807 has keys for inputting characters, numbers, various instructions, and the like, and inputs data.
  • the input device 807 may be a keyboard, a mouse, or the like, or may be a touch panel type input pad, a numeric keypad, or the like.
  • the client device 201 may include, for example, a printer, a scanner, a microphone, a speaker, and the like, in addition to the above-described components. Further, the client device 201 may have, for example, a plurality of recording media I / F 804 and recording media 805. Further, the client device 201 may not have, for example, the recording medium I / F804 or the recording medium 805.
  • FIG. 9 is a block diagram showing a functional configuration example of the specific device 100.
  • the specific device 100 includes a storage unit 900, an acquisition unit 901, an extraction unit 902, a calculation unit 903, a specific unit 904, and an output unit 905.
  • the storage unit 900 is realized by, for example, a storage area such as the memory 302 or the recording medium 305 shown in FIG.
  • a storage area such as the memory 302 or the recording medium 305 shown in FIG.
  • the storage unit 900 may be included in a device different from the specific device 100, and the stored contents of the storage unit 900 may be visible from the specific device 100.
  • the acquisition unit 901 to the output unit 905 function as an example of the control unit.
  • the acquisition unit 901 to the output unit 905 may, for example, cause the CPU 301 to execute a program stored in a storage area such as the memory 302 or the recording medium 305 shown in FIG. 3, or the network I / F 303. To realize the function.
  • the processing result of each functional unit is stored in a storage area such as the memory 302 or the recording medium 305 shown in FIG. 3, for example.
  • the storage unit 900 stores various information referred to or updated in the processing of each functional unit.
  • the storage unit 900 stores a plurality of sentences.
  • the sentence is, for example, a question sentence associated with the answer sentence.
  • the sentence is, for example, a sentence.
  • the sentence may be, for example, a list of words.
  • the sentence is written in Japanese, for example.
  • the sentence may be written in a language other than Japanese, for example.
  • the storage unit 900 may store the inverted index for each sentence.
  • the storage unit 900 stores a model based on Word2Vec.
  • a model based on Word2Vec is generated based on, for example, at least one of a Japanese version of Wikipedia and a plurality of sentences stored in the storage unit 900.
  • a model based on Word2Vec may be referred to as a "Word2Vec model”.
  • the storage unit 900 stores a model based on the LSI.
  • the LSI-based model is generated, for example, based on a plurality of statements stored in the storage unit 900.
  • a model based on an LSI may be referred to as an “LSI model”.
  • the storage unit 900 stores a dictionary based on the LSI.
  • a dictionary based on LSI may be referred to as "LSI dictionary”.
  • the storage unit 900 stores the corpus based on the LSI.
  • the corpus based on LSI may be referred to as "LSI corpus”.
  • the acquisition unit 901 acquires various information used for processing of each functional unit.
  • the acquisition unit 901 stores various acquired information in the storage unit 900 or outputs it to each function unit. Further, the acquisition unit 901 may output various information stored in the storage unit 900 to each function unit.
  • the acquisition unit 901 acquires various information based on, for example, the user's operation input.
  • the acquisition unit 901 may receive various information from a device different from the specific device 100, for example.
  • the acquisition unit 901 acquires the first sentence.
  • the first sentence is, for example, a question sentence.
  • the first sentence is, for example, a sentence.
  • the first sentence may be, for example, a list of words.
  • the first sentence is written in Japanese.
  • the first sentence may be written in a language other than Japanese, for example.
  • the acquisition unit 901 receives, for example, the first sentence from the client device 201.
  • the extraction unit 902 extracts a plurality of sentences including the same word as the first sentence from the storage unit 900.
  • the extraction unit 902 generates an inverted index for each sentence stored in the storage unit 900 and stores it in the storage unit 900.
  • the extraction unit 902 generates an inverted index of the acquired first sentence, compares it with the inverted index of each sentence stored in the storage unit 900, and compares each sentence stored in the storage unit 900 according to the frequency of occurrence of words. Calculate the score.
  • the extraction unit 902 extracts a plurality of sentences from the storage unit 900 based on the calculated score.
  • the extraction unit 902 can reduce the number of sentences to be processed by the calculation unit 903, and can reduce the processing amount of the calculation unit 903.
  • the calculation unit 903 obtains each sentence of the plurality of sentences stored in the storage unit 900 by calculating a first value indicating the result of WMD between the sentence and the input first sentence.
  • the first value is, for example, the WMD score.
  • the plurality of sentences are, for example, a plurality of sentences extracted by the extraction unit 902.
  • the plurality of sentences may be, for example, all the sentences stored in the storage unit 900.
  • the calculation unit 903 obtains the WMD score of each sentence of the plurality of sentences extracted by the extraction unit 902 and the input first sentence by using, for example, the Word2Vec model. As a result, the calculation unit 903 uses the WMD score when calculating the similarity score indicating the semantic similarity between each sentence of the plurality of sentences extracted by the extraction unit 902 and the input first sentence. Can be made possible.
  • the calculation unit 903 acquires a second value indicating the result of the LSI between the sentence and the first sentence for each sentence of the plurality of sentences stored in the storage unit 900.
  • the second value is, for example, an LSI score.
  • the plurality of sentences are, for example, a plurality of sentences extracted by the extraction unit 902.
  • the plurality of sentences may be, for example, all the sentences stored in the storage unit 900.
  • the calculation unit 903 acquires, for example, by using an LSI model to calculate the LSI score between each sentence of the plurality of sentences extracted by the extraction unit 902 and the input first sentence. As a result, the calculation unit 903 uses the LSI score when calculating the similarity score indicating the semantic similarity between each sentence of the plurality of sentences extracted by the extraction unit 902 and the input first sentence. Can be made possible.
  • the calculation unit 903 uses, for example, the LSI model to describe each of the remaining sentences stored in the storage unit 900 other than the plurality of sentences extracted by the extraction unit 902, and the input first sentence. It may be acquired by calculating the LSI score of. As a result, the calculation unit 903 can allow the specific unit 904 to refer to the LSI score for each of the remaining sentences.
  • the calculation unit 903 may correct the second value acquired for any of the sentences to 0. For example, when the LSI score acquired for any sentence is a negative value, the calculation unit 903 corrects the LSI score for the sentence to 0. As a result, the calculation unit 903 can easily calculate the similarity score with high accuracy.
  • the calculation unit 903 calculates the similarity between the sentence and the first sentence based on the vector corresponding to each sentence of the plurality of sentences stored in the storage unit 900.
  • the similarity is, for example, a similarity score.
  • the degree of similarity can accurately indicate how similar one sentence and the first sentence are in terms of meaning.
  • the plurality of sentences are, for example, a plurality of sentences extracted by the extraction unit 902.
  • the plurality of sentences may be, for example, all the sentences stored in the storage unit 900.
  • the vector corresponding to the sentence has a size based on the first value acquired for the sentence and a direction based on the second value acquired for the sentence.
  • the vector corresponding to the sentence has, for example, a size based on the first value acquired for the sentence and an angle based on the second value acquired for the sentence with reference to the first axis of the predetermined coordinate system.
  • the predetermined coordinate system is, for example, a plane coordinate system
  • the first axis is, for example, the X axis.
  • the calculation unit 903 calculates the similarity between the sentence and the first sentence based on, for example, the coordinate values of the vectors corresponding to each sentence in the second axis of the predetermined coordinate system different from the first axis.
  • the second axis is, for example, the Y axis.
  • the calculation unit 903 calculates the Y coordinate value of the vector corresponding to each sentence as a similarity score between the sentence and the first sentence.
  • An example of calculating the similarity score will be described later with reference to, for example, FIG.
  • the calculation unit 903 can allow the specific unit 904 to refer to the similarity score as an index for specifying the second sentence that is semantically similar to the first sentence from the storage unit 900.
  • the calculation unit 903 determines the degree of similarity between the sentence and the first sentence based on the vector corresponding to each sentence. calculate.
  • the plurality of sentences are, for example, a plurality of sentences extracted by the extraction unit 902.
  • the plurality of sentences may be, for example, all the sentences stored in the storage unit 900.
  • the threshold is, for example, 0.9. For example, when the maximum value of the LSI score is less than the threshold value of 0.9 among the LSI scores calculated for each sentence of the plurality of sentences, the calculation unit 903 is based on the vector corresponding to each sentence. Calculate the similarity score.
  • the calculation unit 903 omits the process of calculating the similarity score when the maximum value of the LSI score is 0.9 or more among the LSI scores calculated for each of the plurality of sentences, for example. You may. Further, in this case, the calculation unit 903 may omit the process of calculating the first value. As a result, the calculation unit 903 has a relatively large second value, and the specific unit 904 can accurately identify the second sentence that is semantically similar to the first sentence from the storage unit 900 based on the second value. If it is determined to be, the processing amount can be reduced without calculating the similarity score.
  • the specific unit 904 selects a second sentence similar to the first sentence from the storage unit 900 based on the similarity between each sentence of the plurality of sentences stored in the calculated storage unit 900 and the first sentence. Identify.
  • the plurality of sentences are, for example, a plurality of sentences extracted by the extraction unit 902.
  • the plurality of sentences may be, for example, all the sentences stored in the storage unit 900.
  • the identification unit 904 specifies, for example, the second sentence having the highest calculated similarity among the plurality of sentences stored in the storage unit 900. Specifically, the specific unit 904 specifies the sentence having the maximum calculated similarity score from the plurality of sentences extracted by the extraction unit 902 as the second sentence. As a result, the identification unit 904 can accurately identify the second sentence that is semantically similar to the first sentence.
  • the specific unit 904 may specify, for example, a second sentence whose calculated similarity is equal to or greater than a predetermined value among a plurality of sentences stored in the storage unit 900.
  • a second sentence whose calculated similarity is equal to or greater than a predetermined value among a plurality of sentences stored in the storage unit 900.
  • the specific unit 904 specifies a sentence whose calculated similarity score is equal to or higher than a predetermined value from a plurality of sentences extracted by the extraction unit 902 as the second sentence.
  • the identification unit 904 can accurately identify the second sentence that is semantically similar to the first sentence.
  • the specific unit 904 is, for example, from the storage unit 900 based on the similarity between each sentence of the extracted plurality of sentences and the first sentence, and the second value acquired for each sentence of the remaining sentences. , A second sentence similar to the first sentence may be specified. Specifically, the specific unit 904 sets the sentence corresponding to the highest score among the similarity score for each sentence of the extracted plurality of sentences and the LSI score for each sentence of the remaining sentences. Specify as two sentences. As a result, the identification unit 904 can accurately identify the second sentence that is semantically similar to the first sentence.
  • the specific unit 904 sets a sentence corresponding to a score equal to or higher than a predetermined value among the similarity score for each sentence of the extracted plurality of sentences and the LSI score for each sentence of the remaining sentences. , May be specified as the second sentence.
  • the identification unit 904 can accurately identify the second sentence that is semantically similar to the first sentence.
  • the specific unit 904 stores the second value based on the second value acquired for each sentence.
  • the second sentence may be specified from among 900.
  • the plurality of sentences are, for example, a plurality of sentences extracted by the extraction unit 902.
  • the plurality of sentences may be, for example, all the sentences stored in the storage unit 900.
  • the specific unit 904 is based on the LSI score, for example, when the maximum value of the LSI score is 0.9 or more among the LSI scores calculated for each of the plurality of sentences extracted by the extraction unit 902. ,
  • the second sentence is specified from the storage unit 900.
  • the specific unit 904 specifies the sentence having the maximum LSI score as the second sentence from the plurality of sentences extracted by the extraction unit 902.
  • the identification unit 904 can accurately identify the second sentence that is semantically similar to the first sentence.
  • the specific unit 904 may specify a sentence having an LSI score of a predetermined value or more as a second sentence from a plurality of sentences extracted by the extraction unit 902.
  • a plurality of second sentences there may be a plurality of second sentences.
  • the identification unit 904 can accurately identify the second sentence that is semantically similar to the first sentence.
  • the specific unit 904 may sort a plurality of sentences stored in the storage unit 900 based on the similarity between each sentence of the plurality of sentences stored in the calculated storage unit 900 and the first sentence.
  • the plurality of sentences are, for example, a plurality of sentences extracted by the extraction unit 902.
  • the plurality of sentences may be, for example, all the sentences stored in the storage unit 900.
  • the specific unit 904 sorts, for example, a plurality of sentences extracted by the extraction unit 902 in descending order of the calculated similarity score. As a result, the specific unit 904 can sort a plurality of sentences in an order that is semantically similar to the first sentence.
  • the specific unit 904 is stored in the storage unit 900, for example, based on the similarity between each sentence of the extracted plurality of sentences and the first sentence, and the second value acquired for each sentence of the remaining sentences. You may sort the sentences. Specifically, the specific unit 904 is stored in the storage unit 900 in descending order of score based on the similarity score for each sentence of the extracted plurality of sentences and the LSI score for each sentence of the remaining sentences. Sort the stored statements. As a result, the specific unit 904 can sort a plurality of sentences in an order that is semantically similar to the first sentence.
  • the specific unit 904 stores the second value based on the second value acquired for each sentence.
  • the sentences stored in 900 may be sorted.
  • the plurality of sentences are, for example, a plurality of sentences extracted by the extraction unit 902.
  • the plurality of sentences may be, for example, all the sentences stored in the storage unit 900.
  • the specific unit 904 is based on the LSI score, for example, when the maximum value of the LSI score is 0.9 or more among the LSI scores calculated for each of the plurality of sentences extracted by the extraction unit 902. ,
  • the extraction unit 902 sorts a plurality of sentences extracted. Specifically, the specific unit 904 sorts a plurality of sentences extracted by the extraction unit 902 in descending order of the LSI score. As a result, the specific unit 904 can sort a plurality of sentences in an order that is semantically similar to the first sentence.
  • the output unit 905 outputs various information.
  • the output format is, for example, display on a display, print output to a printer, transmission to an external device by network I / F 303, or storage in a storage area such as a memory 302 or a recording medium 305.
  • the output unit 905 outputs the processing result of any of the functional units. As a result, the output unit 905 can notify the user of the specific device 100 of the processing result of any of the functional units, and can improve the convenience of the specific device 100.
  • the output unit 905 outputs the specified second sentence.
  • the output unit 905 transmits the specified second sentence to the client device 201, and causes the client device 201 to display the second sentence.
  • the output unit 905 can make the second sentence, which is semantically similar to the first sentence, understandable to the user of the client device 201, and can improve convenience.
  • the output unit 905 outputs the answer sentence associated with the specified second sentence.
  • the output unit 905 transmits the answer sentence associated with the specified second sentence to the client device 201, and causes the client device 201 to display the answer sentence associated with the specified second sentence.
  • the output unit 905 can make the answer sentence associated with the second sentence, which is semantically similar to the first sentence, understandable to the user of the client device 201, and provides a service that provides FAQ. It can be realized and the convenience can be improved.
  • the output unit 905 outputs the result sorted by the specific unit 904. For example, the output unit 905 transmits the sorted result of the specific unit 904 to the client device 201, and causes the client device 201 to display the sorted result of the specific unit 904. As a result, the output unit 905 can make the sentences stored in the storage unit 900 available to the user of the client device 201 in descending order of the degree of semantic similarity to the first sentence, and the FAQ system 200 It is possible to improve the convenience of.
  • the acquisition unit 901 acquires the first value and the second value from the device that calculates the first value and the second value between each sentence of the plurality of sentences and the input first sentence. May be done. In this case, the acquisition unit 901 does not have to acquire the first sentence.
  • the acquisition unit 901 acquires the first value indicating the result of WMD between the sentence and the input first sentence for each sentence of the plurality of sentences stored in the storage unit 900.
  • the first value is, for example, the WMD score.
  • the plurality of sentences are, for example, a plurality of sentences extracted by the extraction unit 902.
  • the plurality of sentences may be, for example, all the sentences stored in the storage unit 900.
  • the acquisition unit 901 acquires the WMD score from, for example, an external computer.
  • the acquisition unit 901 can calculate the similarity between each sentence of the plurality of sentences stored in the storage unit 900 and the first sentence without the specific device 100 calculating the first value. Can be done.
  • the acquisition unit 901 acquires a second value indicating the result of the LSI between the sentence and the first sentence for each sentence of the plurality of sentences stored in the storage unit 900.
  • the second value is, for example, an LSI score.
  • the plurality of sentences are, for example, a plurality of sentences extracted by the extraction unit 902.
  • the plurality of sentences may be, for example, all the sentences stored in the storage unit 900.
  • the acquisition unit 901 acquires an LSI score from, for example, an external computer. As a result, the acquisition unit 901 can calculate the similarity between each sentence of the plurality of sentences stored in the storage unit 900 and the first sentence without the identification device 100 calculating the second value. Can be done.
  • the acquisition unit 901 may correct the acquired second value for any of the sentences to 0. For example, when the LSI score acquired for any sentence is a negative value, the acquisition unit 901 corrects the LSI score for the sentence to 0. As a result, the acquisition unit 901 can easily calculate the similarity score for any of the sentences with high accuracy.
  • the specific device 100 includes the extraction unit 902 has been described, but the present invention is not limited to this.
  • the specific device 100 may not include the extraction unit 902.
  • the specific device 100 may not include the specific unit 904.
  • the specific device 100 may transmit the calculation result of the calculation unit 903 to an external computer having the function of the specific unit 904.
  • FIG. 10 is a block diagram showing a specific functional configuration example of the specific device 100.
  • the specific device 100 includes a search processing unit 1001, an LSI score calculation unit 1002, an inverted index search unit 1003, a WMD score calculation unit 1004, and a ranking processing unit 1005.
  • the search processing unit 1001 to the ranking processing unit 1005 can realize, for example, the acquisition unit 901 to the output unit 905 shown in FIG. Specifically, the search processing unit 1001 to the ranking processing unit 1005 may, for example, cause the CPU 301 to execute a program stored in a storage area such as the memory 302 or the recording medium 305 shown in FIG. 3, or the network I / The function is realized by F303.
  • the search processing unit 1001 accepts the input of the natural sentence 1000.
  • the search processing unit 1001 receives, for example, the natural sentence 1000 from the client device 201. Then, the search processing unit 1001 outputs the input natural sentence 1000 to the LSI score calculation unit 1002, the inverted index search unit 1003, and the WMD score calculation unit 1004.
  • the input natural sentence 1000 may be referred to as "input sentence a”.
  • the search processing unit 1001 acquires the question sentence group 1010 to be searched from the FAQ list 400. Then, the search processing unit 1001 outputs the question sentence group 1010 to be searched to the LSI score calculation unit 1002 and the inverted index search unit 1003. The search processing unit 1001 receives the question sentence group 1040 extracted by the inverted index search unit 1003 from the question sentence group 1010 to be searched, and transfers it to the WMD score calculation unit 1004.
  • the search target question sentence alone may be referred to as "question sentence b".
  • the search processing unit 1001 receives the LSI score list 500 generated by the LSI score calculation unit 1002 and transfers it to the ranking processing unit 1005.
  • the search processing unit 1001 receives the WMD score list 600 generated by the WMD score calculation unit 1004 and transfers it to the ranking processing unit 1005.
  • the search processing unit 1001 can realize the acquisition unit 901 shown in FIG.
  • the LSI score calculation unit 1002 Based on the LSI model 1020, the LSI dictionary 1021, and the LSI corpus 1022, the LSI score calculation unit 1002 performs an LSI about between the received input sentence a and each question sentence b of the received question sentence group 1010. Calculate the score.
  • the LSI score calculation unit 1002 may generate the LSI model 1020 in advance based on the question sentence group 1010.
  • the LSI score calculation unit 1002 outputs the LSI score list 500 associated with the calculated LSI score to the search processing unit 1001 for each question sentence b.
  • the LSI score calculation unit 1002 realizes the calculation unit 903 shown in FIG.
  • the inverted index search unit 1003 generates an inverted index of the received input sentence a, compares it with the inverted index 1030 corresponding to each question sentence b of the question sentence group 1010, and compares each question sentence b of the question sentence group 1010 with the inverted index 1030. Calculate the score.
  • the inverted index search unit 1003 extracts the question sentence group 1040 from the question sentence group 1010 based on the calculated score, and outputs it to the search processing unit 1001. Specifically, the inverted index search unit 1003 realizes the extraction unit 902 shown in FIG.
  • the WMD score calculation unit 1004 calculates the WMD score between the received input sentence a and each question sentence b of the received question sentence group 1040 based on the Word2Vec model 1050.
  • the WMD score calculation unit 1004 may generate a Word2Vec model 1050 in advance based on the Japanese version of Wikipedia and the question sentence group 1010.
  • the WMD score calculation unit 1004 outputs the WMD score list 600 associated with the calculated WMD score to the search processing unit 1001 for each question sentence b. Specifically, the WMD score calculation unit 1004 realizes the calculation unit 903 shown in FIG.
  • the ranking processing unit 1005 calculates a similar score s between the input sentence a and each question sentence b of the question sentence group 1040 based on the received LSI score list 500 and the WMD score list 600. An example of calculating the similarity score s will be described later with reference to FIG.
  • the ranking processing unit 1005 adopts the LSI score as it is for the similar score s between the input sentence a and each question sentence b in the question sentence group 1010 other than the question sentence group 1040.
  • the ranking processing unit 1005 sorts each question sentence b of the question sentence group 1010 in descending order of the similarity score s.
  • the ranking processing unit 1005 identifies a question sentence b that is semantically similar to the input sentence a based on the sort result 1060, and displays the answer sentence associated with the specified question sentence b in the FAQ list 400 on the client device. Display on 201.
  • the ranking processing unit 1005 may display the sort result 1060 on the client device 201. Specifically, the ranking processing unit 1005 realizes the calculation unit 903, the specific unit 904, and the output unit 905 shown in FIG.
  • the specific device 100 accurately determines how similar the input sentence a and the question sentence b are in terms of meaning, even if the number of sentences serving as teacher data prepared by the user is relatively small.
  • the similar score s shown can be calculated. Since the specific device 100 generates, for example, the Word2Vec model 1050 based on the Japanese version of Wikipedia and the question sentence group 1010, the user can avoid preparing sentences to be teacher data. Further, since the specific device 100 generates, for example, the LSI model 1020 based on the question sentence group 1010, it is possible to reduce the amount of work for the user to prepare a sentence to be teacher data.
  • the specific device 100 can calculate a similarity score s that accurately indicates how much the input sentence a and the question sentence b are semantically similar even if the types of learning parameters are relatively small. it can. For example, when the LSI model 1020 is generated, the specific device 100 may adjust one type of learning parameter indicating the number of dimensions, and can suppress an increase in cost and work amount. Further, the specific device 100 can generate the LSI model 1020 in a relatively short time, and can suppress an increase in cost and work amount. Further, the specific device 100 can use the learning parameters related to WMD in a fixed manner, and can suppress an increase in cost and work amount.
  • the specific device 100 calculates a similarity score s that accurately indicates how much the input sentence a and the question sentence b are semantically similar even if the input sentence a contains an unknown word. be able to. Since the specific device 100 uses, for example, the WMD score between the input sentence a and the question sentence b, the accuracy of calculating the similar score s is improved even if the input sentence a contains an unknown word. be able to.
  • the specific device 100 can calculate a similarity score s that accurately indicates how much the input sentence a and the question sentence b are semantically similar even in a Japanese environment. As a result, the identification device 100 can improve the probability of succeeding in identifying the question sentence b that is semantically similar to the input sentence a from the question sentence group 1010.
  • the specific device 100 calculates the similarity score between the input sentence a and the question sentence b will be described with reference to FIG.
  • FIG. 11 is an explanatory diagram showing an example of calculating a similar score.
  • a vector 1110 corresponding to the input sentence a having the same direction and size 1 as the X axis is defined on the coordinate system 1100.
  • the closeness of the vectors 1110 and 1120 is represented by, for example, the Y coordinate value of the vector 1120.
  • the specific device 100 calculates a semantic similarity score between the input sentence a and the question sentence b based on the Y coordinate value of the vector 1120.
  • the specific device 100 can calculate the semantic similarity score s between the input sentence a and the question sentence b so as to indicate that they are semantically similar in the range of 0 to 1 as they are closer to 1. it can. Further, since the specific device 100 calculates the similarity score s by combining the WMD score and the LSI score from different viewpoints, the similarity score s is semantically similar to the input sentence a and the question sentence b. It is possible to accurately indicate whether or not there is.
  • FIG. 12 is an explanatory diagram showing an example of variations between the LSI score and the WMD score.
  • Table 1200 the first case 1201 in which the LSI score is large (1 to 0.7) and the WMD score is large (6 or more) for the input sentence a and the question sentence b is It tends not to appear. Therefore, in the specific device 100, in a situation where the LSI scores show similarity but the WMD scores show dissimilarity, it tends to be unavoidable to calculate the similarity score, and the accuracy of calculating the similarity score decreases. Tends to be avoidable.
  • the second case 1202 in which the LSI score is large (1 to 0.7) and the WMD score is medium (3 to 6) is input. It tends to appear when sentence a and question sentence b are semantically similar.
  • the third case 1203 in which the LSI score is large (1 to 0.7) and the WMD score is small (0 to 3) is input. It tends to appear when sentence a and question sentence b are semantically very similar.
  • the specific device 100 calculates the similarity score based on the LSI score and the WMD score, the second case 1202 and the third case 1203, which are difficult to distinguish only by the LSI score, can be distinguished by the similarity score. be able to.
  • the specific device 100 can be calculated so that the larger the LSI score or the smaller the WMD score, the larger the similarity score. Therefore, the specific device 100 can be calculated so that the similarity score is larger in the third case 1203 than in the second case 1202. Then, the specific device 100 can distinguish the second case 1202 and the third case 1203 by the similarity score.
  • the fifth case 1205 in which the LSI score is medium (0.7 to 0.4) and the WMD score is medium (3 to 6) is , The input sentence a and the question sentence b tend to appear when they are relatively similar.
  • the sixth case 1206 in which the LSI score is medium (0.7 to 0.4) and the WMD score is small (0 to 3) is ,
  • the input sentence a and the question sentence b tend to appear when they are semantically similar.
  • the specific device 100 calculates the similarity score based on the LSI score and the WMD score, the fourth case 1204 to the sixth case 1206, which are difficult to distinguish only by the LSI score, can be distinguished by the similarity score. Can be done.
  • the specific device 100 can be calculated so that the larger the LSI score or the smaller the WMD score, the larger the similarity score. Therefore, the specific device 100 can be calculated so that the similarity score is larger in the fifth case 1205 and the sixth case 1206 than in the fourth case 1204. Then, the specific device 100 can distinguish the 4th case 1204 to the 6th case 1206 by the similarity score.
  • the seventh case 1207 in which the LSI score is small (0.4 to 0) and the WMD score is large (6 or more) is the input sentence. It tends to appear when a and the question sentence b are not semantically similar.
  • the eighth case 1208 in which the LSI score is small (0.4 to 0) and the WMD score is medium (3 to 6) is input. It tends to appear when sentence a and question sentence b are not similar.
  • the specific device 100 can be calculated so that the similarity score is relatively small in the 7th case 1207 to the 8th case 1208. Therefore, the specific device 100 can accurately indicate that the input sentence a and the question sentence b are not similar by the similarity score.
  • the specific device 100 can calculate the similarity score between the input sentence a and the question sentence b so as to accurately indicate whether the input sentence a and the question sentence b are semantically similar. Then, the specific device 100 can distinguish how much the input sentence a and the question sentence b are semantically similar to each other. Next, the effect of the specific device 100 will be described with reference to FIGS. 13 to 17.
  • FIG. 13 to 17 are explanatory views showing the effect of the specific device 100.
  • the specific device 100 uses various test question sentences as input sentences a, and the correct question sentence b among the question sentences b in the FAQ list 400 is used as the input sentence a. It is verified whether or not it is specified as a similar question sentence b in the top three.
  • Methods in Table 1300 shows how the test question text was created.
  • “Method a” indicates that the word is created by enumerating a plurality of words that do not include unknown words.
  • “Method b” indicates that the word is created by enumerating a plurality of words including unknown words.
  • “Method c” indicates that the question sentence b is created by a natural sentence having the same meaning and word as the correct question sentence b.
  • “Method d” indicates that it is created by a natural sentence having the same meaning as the correct question sentence b.
  • the specific device 100 uses the correct question sentence b as the input sentence a up to the top three similar to the input sentence a even when the question sentences for various tests are used as the input sentence a. It can be specified as a question sentence b.
  • the description proceeds to FIG.
  • the specific device 100 uses various test question sentences as input sentences a, and the correct question sentence b among the question sentences b in the FAQ list 400 is used as the input sentence a. It is verified whether or not it is specified as a similar question sentence b in the top three. As shown in the "ranking" of Table 1400, the specific device 100 uses the correct question sentence b as the input sentence a up to the top three similar to the input sentence a even when the question sentences for various tests are used as the input sentence a. It can be specified as a question sentence b. Next, the description proceeds to FIG.
  • the specific device 100 uses various test question sentences as input sentences a, and the correct question sentence b among the question sentences b in the FAQ list 400 is used as the input sentence a. It is verified whether or not it is specified as a similar question sentence b in the top three. As shown in the "ranking" of Table 1500, the specific device 100 uses the correct question sentence b as the input sentence a up to the top three similar to the input sentence a even when various test question sentences are used as the input sentence a. It can be specified as a question sentence b. Next, the description proceeds to FIG.
  • the specific device 100 uses various test question sentences as input sentences a, and the correct question sentence b among the question sentences b in the FAQ list 400 is used as the input sentence a. It is verified whether or not it is specified as a similar question sentence b in the top three. As shown in the "ranking" of Table 1600, the specific device 100 inputs the correct question sentence b as the input sentence a when other than the two question sentences among the various test question sentences are used as the input sentence a. It can be specified as the top three question sentences b similar to a. Next, the description proceeds to FIG.
  • Table 1700 of FIG. 17 shows the results of comparing the probability that the identification device 100 succeeds in identifying the correct question sentence b as the top three question sentences b similar to the input sentence a, as compared with the conventional method. Is shown. Conventional methods are, for example, "inverted index + Cos similarity”, “inverted index + WMD score”, and "LSI score”.
  • Table 1700 the correct question sentence b in the test cases A to D in which the question sentences for various tests are input sentences a is specified as the top three question sentences b similar to the input sentence a.
  • the probability of success in A [%] to D [%] is shown.
  • Table 1700 shows the overall value of the probabilities A [%] to D [%] of succeeding in identifying the correct question sentence b as the top three question sentences b similar to the input sentence a. Indicates [%].
  • the identification device 100 improves the probability of succeeding in identifying the correct question sentence b as the top three question sentences b similar to the input sentence a, as compared with the conventional method. Can be planned. Further, for example, the identification device 100 may set the average value of the probability of succeeding in identifying the correct answer question sentence b as the top three question sentences b similar to the input sentence a to 80% or more. it can.
  • a display screen in the client device 201 will be described with reference to FIG.
  • FIG. 18 is an explanatory diagram showing an example of a display screen in the client device 201.
  • the specific device 100 causes the client device 201 to display the FAQ screen 1800.
  • the FAQ screen 1800 includes a message 1811 in the conversation display field 1810 in the initial state.
  • Message 1811 for example, is "Hello, ⁇ is the FAQ in charge of the system. Please ask anything.”.
  • the FAQ screen 1800 includes a user input field 1820.
  • the client device 201 transmits the input sentence input in the input field 1820 to the specific device 100.
  • the input sentence "Forgot password" is input.
  • the input sentence is displayed as a message 1812 in the conversation display field 1810.
  • the identification device 100 calculates a similarity score and specifies a question sentence "I forgot my password, please tell me” which is semantically similar to the input sentence "I forgot my password” from the FAQ list 400.
  • the specific device 100 further displays a message 1813 in the conversation display field 1810. Message 1813 contains, for example, "Are there any applicable FAQs in this?" And the specified question "I forgot my password, please tell me.”
  • the client device 201 When the question text "I forgot my password, please tell me” is clicked, the client device 201 notifies the specific device 100 that the question text "I forgot my password, please tell me” was clicked. In response to the notification, the specific device 100 causes the conversation display field 1810 to display an answer sentence associated with the question sentence "I forgot my password, please tell me”. As a result, the specific device 100 can realize a service that provides FAQ.
  • the direction of the vector corresponding to the question sentence b is defined by using cos ⁇
  • the similarity score between the input sentence a and the question sentence b is determined by using the Y coordinate value of the vector corresponding to the question sentence b.
  • the specific device 100 may use sin ⁇ instead of cos ⁇ and may use the X coordinate value instead of the Y coordinate value. Further, the specific device 100 may replace the LSI score and the WMD score to calculate a similar score.
  • the entire processing is realized by, for example, the CPU 301 shown in FIG. 3, a storage area such as a memory 302 or a recording medium 305, and a network I / F 303.
  • FIG. 19 is a flowchart showing an example of the overall processing procedure.
  • the identification device 100 generates an empty array Work [] that stores the ranking result (step S1901).
  • the empty array Work [] is realized by, for example, the similarity score list 700.
  • the specific device 100 calculates the LSI score between the input sentences for each stored sentence, and generates the LSI score list 500 in which the LSI score is associated with the sentence ID (step S1902). Then, the specific device 100 acquires the maximum value of the LSI score from the LSI score list 500 (step S1903).
  • the specific device 100 calculates the WMD score between the input sentences for each stored sentence, and generates the WMD score list 600 in which the WMD score is associated with the sentence ID (step S1904).
  • the specific device 100 calculates the WMD score between the stored sentences and the input sentences for each sentence for a part of the sentences extracted based on the inverted index, and corresponds the WMD score with the sentence ID.
  • the attached WMD score list 600 may be generated. Further, the specific device 100 does not have to calculate the WMD score for the unextracted sentences.
  • the specific device 100 determines whether or not the LSI score maximum value> the threshold value is 0.9 (step S1905).
  • the maximum LSI score value> the threshold value 0.9 step S1905: Yes
  • the specific device 100 shifts to the process of step S1907.
  • the LSI score maximum value> the threshold value is not 0.9 (step S1905: No)
  • the specific device 100 shifts to the process of step S1906.
  • step S1906 the specific device 100 executes the calculation process described later in FIG. 20 (step S1906). Then, the specific device 100 shifts to the process of step S1910.
  • step S1907 the specific device 100 selects a sentence ID that has not yet been processed from the LSI score list 500 (step S1907).
  • step S1907 the specific device 100 adopts the LSI score associated with the selected sentence ID as it is as the similarity score, and adds the pair of the selected sentence ID and the similarity score to the array Work [] (step S1908). ..
  • the specific device 100 determines whether or not all the sentence IDs have been processed from the LSI score list 500 (step S1909). Here, if there is an unprocessed sentence ID (step S1909: No), the specific device 100 returns to the process of step S1907. On the other hand, when all the sentence IDs are processed (step S1909: Yes), the specific device 100 shifts to the process of step S1910.
  • step S1910 the specific device 100 sorts the pairs included in the array Work [] in descending order based on the similarity score (step S1910).
  • the identification device 100 outputs the array Work [] (step S1911).
  • the specific device 100 ends the entire process.
  • the specific device 100 can enable the user of the FAQ system 200 to grasp a sentence that is semantically similar to the input sentence among the stored sentences.
  • the calculation process is realized, for example, by the CPU 301 shown in FIG. 3, a storage area such as a memory 302 or a recording medium 305, and a network I / F 303.
  • FIG. 20 is a flowchart showing an example of the calculation processing procedure.
  • the specific device 100 selects a sentence ID that has not yet been processed from the LSI score list 500 (step S2001).
  • step S2004 determines whether or not the variable b ⁇ None (step S2004).
  • step S2004: Yes when the variable b ⁇ None (step S2004: Yes), the specific device 100 shifts to the process of step S2006.
  • step S2005 the identification device 100 adopts the LSI score associated with the selected sentence ID as it is as the similarity score, and adds the pair of the selected sentence ID and the similarity score to the array Work [] (step S2005). ). Then, the specific device 100 shifts to the process of step S2011.
  • step S2006 the specific device 100 determines whether or not the variable m> 0 (step S2006).
  • step S2006: Yes when the variable m> 0 (step S2006: Yes), the specific device 100 shifts to the process of step S2008.
  • step S2006: No when the variable m> 0 (step S2006: No), the specific device 100 shifts to the process of step S2007.
  • step S2011 the specific device 100 determines whether or not all the sentence IDs have been selected from the LSI score list 500 (step S2011). Here, if there is an unselected sentence ID (step S2011: No), the specific device 100 returns to the process of step S2001. On the other hand, when all the sentence IDs are selected (step S2011: Yes), the specific device 100 ends the calculation process. As a result, the specific device 100 can accurately calculate the semantic similarity of each sentence with the input sentence.
  • the specific device 100 may be executed by changing the order of processing of some steps in the flowcharts of FIGS. 19 and 20.
  • the order of the processes of steps S1902 and S1903 and the process of step S1904 can be exchanged.
  • the process of step S1904 can be shifted after the process of step S1905 and before the process of step S1906.
  • the specific device 100 may omit the processing of some steps in the flowcharts of FIGS. 19 and 20.
  • the processes of steps S1905 and S1907 to S1909 can be omitted.
  • the processing of steps S2004 and S2005 can be omitted.
  • the processing of steps S2006 and S2007 can be omitted.
  • a first value indicating the result of WMD between the sentence and the input first sentence. Can be obtained.
  • the specific device 100 for each sentence of the plurality of sentences stored in the storage unit 900, it is possible to acquire a second value indicating the result of the LSI between the sentence and the first sentence.
  • the said sentence is based on a vector having a size based on the first value acquired for the sentence and a direction based on the second value acquired for the sentence corresponding to each sentence of the plurality of sentences. The degree of similarity between the sentence and the first sentence can be calculated.
  • the identification device 100 the second sentence similar to the first sentence among the plurality of sentences can be specified based on the calculated similarity between each sentence and the first sentence.
  • the specific device 100 can calculate the degree of similarity that accurately indicates how much the input first sentence and each sentence of the plurality of sentences are semantically similar. Then, the identification device 100 can accurately identify a sentence that is semantically similar to the input first sentence from the plurality of sentences.
  • the specific device 100 when the second value acquired for any of the plurality of sentences is less than the threshold value, the sentence and the first sentence are similar to each other based on the vector corresponding to each sentence.
  • the degree can be calculated.
  • the second value acquired for any of the plurality of sentences is equal to or greater than the threshold value, the second of the plurality of sentences is based on the second value acquired for each sentence.
  • the sentence can be specified.
  • the identification device 100 is determined to have a relatively large second value and can accurately identify a second sentence that is semantically similar to the first sentence based on the second value, the identification device 100 is similar. It is possible to reduce the processing amount without calculating the degree.
  • the specific device 100 when the second value acquired for any one of the plurality of sentences is a negative value, the second value acquired for any of the sentences can be corrected to 0. As a result, the specific device 100 can easily calculate the similarity with high accuracy.
  • the size based on the first value acquired for the sentence and the angle based on the second value acquired for the sentence based on the first axis of the predetermined coordinate system corresponding to each sentence are determined. It is possible to specify the vector to have. According to the specific device 100, the similarity between the sentence and the first sentence can be calculated based on the coordinate values in the second axis of the coordinate system different from the first axis of the defined vector. As a result, the specific device 100 can easily calculate the similarity with high accuracy.
  • a plurality of sentences including the same word as the first sentence can be extracted from the storage unit 900.
  • the specific device 100 for each sentence of the extracted plurality of sentences, it is possible to acquire a first value indicating the result of WMD between the sentence and the input first sentence.
  • the specific device 100 for each of the extracted plurality of sentences, it is possible to acquire a second value indicating the result of the LSI between the sentence and the first sentence.
  • the specific device 100 can reduce the number of sentences for which the similarity is calculated and reduce the amount of processing.
  • the first sentence is a question sentence
  • a plurality of sentences are the question sentences associated with the answer sentence
  • the answer sentence associated with the specified second sentence can be output. ..
  • the specific device 100 can realize a service that provides FAQ.
  • the identification device 100 it is possible to specify the second sentence having the highest calculated similarity among the plurality of sentences. As a result, the identification device 100 can identify the second sentence that is determined to be semantically most similar to the first sentence.
  • the identification device 100 it is possible to specify the second sentence whose calculated similarity is equal to or higher than a predetermined value among the plurality of sentences. Thereby, the identification device 100 can specify the second sentence, which is determined to be semantically similar to the first sentence by a certain amount or more.
  • the first sentence can be a sentence written in Japanese, and a plurality of sentences can be a sentence written in Japanese. Thereby, the specific device 100 can be applied to the Japanese environment.
  • the specified second sentence can be output.
  • the specific device 100 can make the specified second sentence recognizable by the user of the FAQ system 200, and can improve the convenience of the FAQ system 200.
  • the specific device 100 it is possible to output the result of sorting a plurality of sentences based on the degree of similarity between each calculated sentence and the first sentence.
  • the specific device 100 can enable the user of the FAQ system 200 to grasp which sentence of the plurality of sentences has a large semantic similarity to the first sentence, and the FAQ The convenience of the system 200 can be improved.
  • a second value indicating the result of the LSI between the sentence and the first sentence is acquired. can do.
  • the specific device 100 from the storage unit 900, based on the similarity between each sentence of the calculated plurality of sentences and the first sentence, and the second value acquired for each sentence of the remaining sentences. , A second sentence similar to the first sentence can be identified.
  • the specifying device 100 makes it possible to identify a second sentence similar to the first sentence from the remaining sentences in addition to the extracted plurality of sentences when the processing amount is reduced. Can be done.
  • the specific method described in this embodiment can be realized by executing a program prepared in advance on a computer such as a personal computer or a workstation.
  • the specific program described in the present embodiment is recorded on a computer-readable recording medium such as a hard disk, flexible disk, CD-ROM, MO, or DVD, and is executed by being read from the recording medium by the computer. Further, the specific program described in the present embodiment may be distributed via a network such as the Internet.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

特定装置(100)は、Word2Vecによるモデルを利用して、記憶部(110)に記憶された複数の文(102)のそれぞれの文(102)と、入力された第1文(101)との間におけるWMDの結果を示す第1値を算出する。特定装置(100)は、LSIによるモデルを利用して、それぞれの文(102)と、入力された第1文(101)との間におけるLSIの結果を示す第2値を算出する。特定装置(100)は、それぞれの文(102)に対応する、当該文(102)について取得した第1値に基づく大きさと、当該文(102)について取得した第2値に基づく向きとを有するベクトル(120)に基づいて、当該文(102)と第1文(101)との類似度を算出する。特定装置(100)は、算出した類似度に基づいて、複数の文(102)のうち第1文(101)に類似する第2文(102)を特定する。

Description

特定プログラム、特定方法、および特定装置
 本発明は、特定プログラム、特定方法、および特定装置に関する。
 従来、記憶部に記憶された複数の文の中から、ユーザにより入力された文に類似する文を検索する技術がある。この技術は、例えば、記憶部に記憶された回答文に対応付けられた質問文の中から、ユーザにより入力された質問文に類似する質問文を検索し、発見した質問文に対応付けられた回答文を出力するチャットボットなどに利用される。
 先行技術としては、例えば、文書の内容から文書のセマンティック記述を生成し、文書のセマンティック記述と検索語との間の類似性に基づき、類似性スコアを計算するものがある。また、例えば、重み付けられた話題カテゴリごとの標本文書と参照文書との類似度を求め、すべての話題カテゴリについて足し合わせることにより、標本文書と参照文書との類似度を求める技術がある。また、例えば、中央の円の中心から放射状に伸びた各軸と円との交点の外側に各軸に割り当てられたテーマを表すアイコンを配置し、円上に文書を表すアイコンを各テーマに対する文書の関連度と各テーマの有する引力とにより決定される位置に配置する技術がある。
特開2016-076208号公報 特開2012-003333号公報 特開2003-233626号公報
 しかしながら、従来技術では、複数の文の中から、入力された文に類似する文を精度よく特定することが難しい。例えば、入力された文と、複数の文のそれぞれの文とが意味的にどの程度類似しているのかを精度よく示す指標値を算出することが難しく、複数の文の中から、入力された文に類似する文を特定することができない。
 1つの側面では、本発明は、複数の文の中から入力された文に類似する文を特定する精度の向上を図ることを目的とする。
 1つの実施態様によれば、記憶部に記憶された複数の文に含まれるそれぞれの文と入力された第1文との間における文書間距離解析の結果を示す第1値を取得し、前記それぞれの文と前記第1文との間における潜在的意味解析の結果を示す第2値を取得し、前記それぞれの文に対応する、前記それぞれの文について取得した前記第1値に基づく大きさと前記それぞれの文について取得した前記第2値に基づく向きとを有するベクトルに基づいて、前記それぞれの文と前記第1文との類似度を算出し、算出した前記それぞれの文と前記第1文との類似度に基づいて、前記複数の文のうち前記第1文に類似する第2文を特定する特定プログラム、特定方法、および特定装置が提案される。
 一態様によれば、複数の文の中から入力された文に類似する文を特定する精度の向上を図ることが可能になる。
図1は、実施の形態にかかる特定方法の一実施例を示す説明図である。 図2は、FAQシステム200の一例を示す説明図である。 図3は、特定装置100のハードウェア構成例を示すブロック図である。 図4は、FAQリスト400の記憶内容の一例を示す説明図である。 図5は、LSIスコアリスト500の記憶内容の一例を示す説明図である。 図6は、WMDスコアリスト600の記憶内容の一例を示す説明図である。 図7は、類似スコアリスト700の記憶内容の一例を示す説明図である。 図8は、クライアント装置201のハードウェア構成例を示すブロック図である。 図9は、特定装置100の機能的構成例を示すブロック図である。 図10は、特定装置100の具体的な機能的構成例を示すブロック図である。 図11は、類似スコアを算出する一例を示す説明図である。 図12は、LSIスコアとWMDスコアとのバリエーションの一例を示す説明図である。 図13は、特定装置100による効果を示す説明図(その1)である。 図14は、特定装置100による効果を示す説明図(その2)である。 図15は、特定装置100による効果を示す説明図(その3)である。 図16は、特定装置100による効果を示す説明図(その4)である。 図17は、特定装置100による効果を示す説明図(その5)である。 図18は、クライアント装置201における表示画面例を示す説明図である。 図19は、全体処理手順の一例を示すフローチャートである。 図20は、算出処理手順の一例を示すフローチャートである。
 以下に、図面を参照して、本発明にかかる特定プログラム、特定方法、および特定装置の実施の形態を詳細に説明する。
(実施の形態にかかる特定方法の一実施例)
 図1は、実施の形態にかかる特定方法の一実施例を示す説明図である。図1において、特定装置100は、複数の文102の中から、入力された第1文101に意味的に類似する第2文102を特定しやすくするためのコンピュータである。
 近年、AI(Artificial Intelligence)の普及に伴い、自然言語処理分野において、複数の文の中から、ユーザにより入力された何らかの文に類似する文を精度よく特定する手法が望まれる。例えば、FAQチャットボットにおいて、記憶部に記憶された回答文に対応付けられた質問文の中から、ユーザにより入力された質問文に意味的に類似する質問文を精度よく特定する手法が望まれる。
 しかしながら、従来では、複数の文の中から、ユーザにより入力された文に類似する文を精度よく特定することが難しい。例えば、入力された文と、複数の文のそれぞれの文とが意味的にどの程度類似しているのかを精度よく示す類似度を算出することが難しく、複数の文の中から、入力された文に意味的に類似する文を特定することができない。
 特に、日本語環境では、語彙数の多さや曖昧な文章表現などに起因して、入力された文と、複数の文のそれぞれの文とが意味的にどの程度類似しているのかを精度よく示す類似度を算出することが難しくなる。結果として、複数の文の中から、入力された文に意味的に類似する文を特定することに成功する確率が、7割または8割以下になることがある。
 ここで、文同士の類似度として、文同士のCos類似度を算出する手法が考えられるが、それぞれの文に含まれる単語を、tf-idfなどにより表現するため、文同士が意味的にどの程度類似しているのかを精度よく示すことは難しい。例えば、それぞれの文に含まれる単語が、意味的にどの程度類似しているのかを考慮することができない。また、教師データ次第で、意味が異なる文同士についてもCos類似度が大きくなることがある。
 また、文同士の類似度として、Doc2Vecにより、ニューラルネットワークを利用して類似度を算出する手法が考えられる。この手法では、乱数を含む初期ベクトルを利用するため、類似度が不安定であり、比較的短い文同士が意味的にどの程度類似しているのかを精度よく示すことは難しい。また、学習パラメータの種類が比較的多く、学習パラメータを最適化するためのコストや作業量の増大化を招いてしまう。また、教師データの数を増加しなければ、類似度を算出する精度を向上することができないため、コストや作業量の増大化を招いてしまう。また、利用シーンが異なると、新たに教師データを用意することになるため、コストや作業量の増大化を招いてしまう。
 また、文同士の文書間距離解析(Word Mover’s Distance)により、文同士の類似度を算出する手法が考えられる。この手法では、複数の文の中から、入力された文に意味的に類似する文を特定することに成功する確率を、8割以上にすることは難しい。以下の説明では、文書間距離解析を「WMD」と表記する場合がある。WMDについては、具体的には、例えば、下記参考文献1を参照することができる。
 参考文献1:Kusner, Matt, et al. “From word embeddings to document distances.” International Conference on Machine Learning. 2015.
 また、文同士の潜在的意味解析(Latent Semantic Indexing)により、文同士の類似度を算出する手法が考えられる。この手法でも、複数の文の中から、入力された文に意味的に類似する文を特定することに成功する確率を、8割以上にすることは難しい。また、いずれかの文に含まれる単語が未知語であると、文同士が意味的にどの程度類似しているのかを精度よく示すことが難しくなる。以下の説明では、潜在的意味解析を「LSI」と表記する場合がある。LSIについては、具体的には、例えば、下記参考文献2を参照することができる。
 参考文献2:米国特許 登録番号 US.4839853.A
 このため、未知語が含まれていても文同士の意味的な類似度を精度よく算出可能であり、利用シーンごとに用意する教師データとなる文の数が比較的少なくて済み、かつ、学習パラメータの種類の数も比較的少なくて済むようにすることができる手法が望まれる。
 そこで、本実施の形態では、WMDとLSIとを利用して、入力された文と複数の文のそれぞれの文との意味的な類似度を精度よく算出可能にし、複数の文のうち入力された文に意味的に類似する文を精度よく特定可能にする特定方法について説明する。
 図1の例では、特定装置100は、記憶部110を有する。記憶部110は、複数の文102を記憶する。文102は、例えば、日本語で記述される。文102は、例えば、日本語以外で記述されてもよい。文102は、例えば、文章である。
 また、特定装置100は、第1文101の入力を受け付ける。第1文101は、例えば、日本語で記述される。第1文101は、例えば、日本語以外で記述されてもよい。第1文101は、例えば、文章である。第1文101は、例えば、単語の羅列であってもよい。
 (1-1)特定装置100は、記憶部110に記憶された複数の文102のそれぞれの文102について、当該文102と入力された第1文101との間におけるWMDの結果を示す第1値を取得する。特定装置100は、例えば、Word2Vecによるモデルを利用して、記憶部110に記憶された複数の文102のそれぞれの文102と、入力された第1文101との間におけるWMDの結果を示す第1値を算出する。
 (1-2)特定装置100は、記憶部110に記憶された複数の文102のそれぞれの文102について、当該文102と第1文101との間におけるLSIの結果を示す第2値を取得する。特定装置100は、例えば、LSIによるモデルを利用して、記憶部110に記憶された複数の文102のそれぞれの文102と、入力された第1文101との間におけるLSIの結果を示す第2値を算出する。
 (1-3)特定装置100は、それぞれの文102に対応するベクトル120に基づいて、当該文102と第1文101との類似度を算出する。それぞれの文102に対応するベクトル120は、例えば、当該文102について取得した第1値に基づく大きさと、当該文102について取得した第2値に基づく向きとを有する。
 (1-4)特定装置100は、算出したそれぞれの文102と第1文101との類似度に基づいて、複数の文102のうち第1文101に類似する第2文102を特定する。特定装置100は、例えば、複数の文102のうち、算出した類似度が最大である文102を、第1文101に類似する第2文102として特定する。
 これにより、特定装置100は、入力された第1文101と、複数の文102のそれぞれの文102とが意味的にどの程度類似しているのかを精度よく示す類似度を算出することができる。そして、特定装置100は、複数の文102の中から、入力された第1文101に意味的に類似する文102を、精度よく特定することができる。
 また、特定装置100は、ユーザによって用意される教師データとなる文の数が比較的少なくても、入力された第1文101と、複数の文102のそれぞれの文102とが意味的にどの程度類似しているのかを精度よく示す類似度を算出することができる。結果として、特定装置100は、コストや作業量の増大化を抑制することができる。
 特定装置100は、例えば、Word2Vecによるモデルを、日本語版Wikipediaに基づき生成可能であるため、ユーザが教師データとなる文を用意せずに済ませることができる。また、特定装置100は、例えば、Word2Vecによるモデルを、記憶部110に記憶された複数の文102に基づき生成してもよいため、記憶部110に記憶された文102以外に、ユーザが教師データとなる文を用意せずに済ませることができる。そして、特定装置100は、利用シーンが異なる場合も、Word2Vecによるモデルを流用することができる。
 また、特定装置100は、例えば、LSIによるモデルを、記憶部110に記憶された複数の文102に基づき生成可能であるため、記憶部110に記憶された文102以外に、ユーザが教師データとなる文を用意せずに済ませることができる。
 また、特定装置100は、学習パラメータの種類が比較的少なくても、入力された第1文101と、複数の文102のそれぞれの文102とが意味的にどの程度類似しているのかを精度よく示す類似度を算出することができる。特定装置100は、例えば、LSIによるモデルを生成する際、次元数を示す1種類の学習パラメータを調整すればよく、コストや作業量の増大化を抑制することができる。また、特定装置100は、LSIによるモデルを、比較的短時間で生成することができ、コストや作業量の増大化を抑制することができる。
 また、特定装置100は、入力された第1文101に未知語が含まれていても、入力された第1文101と、複数の文102のそれぞれの文102とが意味的にどの程度類似しているのかを精度よく示す類似度を算出することができる。特定装置100は、例えば、入力された第1文101と、複数の文102のそれぞれの文102との間におけるWMDの結果を示す第1値を利用するため、入力された第1文101に未知語が含まれていても、類似度を算出する精度の向上を図ることができる。
 そして、特定装置100は、日本語環境であっても、入力された第1文101と、複数の文102のそれぞれの文102とが意味的にどの程度類似しているのかを精度よく示す類似度を算出することができる。結果として、特定装置100は、複数の文102の中から、入力された第1文101に意味的に類似する文102を特定することに成功する確率の向上を図ることができる。
 ここでは、特定装置100が、第1値と第2値とを算出する場合について説明したが、これに限らない。例えば、特定装置100以外の装置が、第1値と第2値とを算出し、特定装置100が、第1値と第2値とを受信する場合があってもよい。
(FAQシステム200の一例)
 次に、図2を用いて、図1に示した特定装置100を適用した、FAQシステム200の一例について説明する。
 図2は、FAQシステム200の一例を示す説明図である。図2において、FAQシステム200は、特定装置100と、クライアント装置201とを含む。
 FAQシステム200において、特定装置100とクライアント装置201とは、有線または無線のネットワーク210を介して接続される。ネットワーク210は、例えば、LAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどである。
 特定装置100は、複数の質問文のそれぞれの質問文に、当該質問文に対する回答文を対応付けて、記憶部に記憶するコンピュータである。質問文は、例えば、文章である。特定装置100は、例えば、複数の質問文のそれぞれの質問文に、当該質問文に対する回答文を対応付けて、図4に後述するFAQリスト400を用いて記憶する。
 また、特定装置100は、FAQシステム200のユーザからの質問文の入力を受け付ける。ユーザからの質問文は、例えば、文章である。ユーザからの質問文は、例えば、単語の羅列であってもよい。また、特定装置100は、記憶部に記憶された複数の質問文の中から、入力された質問文に意味的に類似する質問文を特定する。また、特定装置100は、特定した質問文に対応付けられた回答文を出力する。
 特定装置100は、例えば、FAQシステム200のユーザからの質問文を、クライアント装置201から受信する。特定装置100は、例えば、入力された質問文と、記憶部に記憶された複数の質問文のそれぞれの質問文との、LSIによる類似度を算出する。以下の説明では、LSIによる類似度を「LSIスコア」と表記する場合がある。そして、特定装置100は、算出したLSIスコアを、図6に後述するLSIスコアリスト500を用いて記憶する。
 次に、特定装置100は、例えば、入力された質問文と、記憶部に記憶された複数の質問文のそれぞれの質問文との、WMDによる類似度を算出する。以下の説明では、WMDによる類似度を「WMDスコア」と表記する場合がある。そして、特定装置100は、算出したWMDスコアを、図6に後述するWMDスコアリスト600を用いて記憶する。
 次に、特定装置100は、例えば、算出したLSIスコアとWMDスコアとに基づいて、入力された質問文と、記憶部に記憶された複数の質問文のそれぞれの質問文との類似スコアを算出し、図7に後述する類似スコアリスト700を用いて記憶する。そして、特定装置100は、例えば、算出した類似スコアに基づいて、記憶部に記憶された複数の質問文の中から、入力された質問文に意味的に類似する質問文を特定する。
 特定装置100は、例えば、特定した質問文に対応付けられた回答文を、クライアント装置201に表示させる。特定装置100は、例えば、サーバやPC(Personal Computer)、タブレット端末、スマートフォン、ウェアラブル端末などである。マイコン、PLC(Programmable Logic Controller)などである。
 クライアント装置201は、FAQシステム200のユーザにより使用されるコンピュータである。クライアント装置201は、FAQシステム200のユーザの操作入力に基づいて、質問文を、特定装置100に送信する。クライアント装置201は、特定装置100の制御に従って、送信した質問文に意味的に類似する質問文に対応付けられた回答文を表示する。クライアント装置201は、例えば、PC、タブレット端末、または、スマートフォンなどである。
 ここでは、特定装置100が、クライアント装置201とは異なる装置である場合について説明したが、これに限らない。例えば、特定装置100が、クライアント装置201としても動作する装置である場合があってもよい。また、この場合、FAQシステム200は、クライアント装置201を含まなくてもよい。
 これにより、FAQシステム200は、FAQシステム200のユーザに、FAQを提供するサービスを実現することができる。以下の説明では、上述したFAQシステム200を一例として、特定装置100の動作について説明する。
(特定装置100のハードウェア構成例)
 次に、図3を用いて、特定装置100のハードウェア構成例について説明する。
 図3は、特定装置100のハードウェア構成例を示すブロック図である。図3において、特定装置100は、CPU(Central Processing Unit)301と、メモリ302と、ネットワークI/F(Interface)303と、記録媒体I/F304と、記録媒体305とを有する。また、各構成部は、バス300によってそれぞれ接続される。
 ここで、CPU301は、特定装置100の全体の制御を司る。メモリ302は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)およびフラッシュROMなどを有する。具体的には、例えば、フラッシュROMやROMが各種プログラムを記憶し、RAMがCPU301のワークエリアとして使用される。メモリ302に記憶されるプログラムは、CPU301にロードされることで、コーディングされている処理をCPU301に実行させる。
 ネットワークI/F303は、通信回線を通じてネットワーク210に接続され、ネットワーク210を介して他のコンピュータに接続される。そして、ネットワークI/F303は、ネットワーク210と内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。ネットワークI/F303は、例えば、モデムやLANアダプタなどである。
 記録媒体I/F304は、CPU301の制御に従って記録媒体305に対するデータのリード/ライトを制御する。記録媒体I/F304は、例えば、ディスクドライブ、SSD(Solid State Drive)、USB(Universal Serial Bus)ポートなどである。記録媒体305は、記録媒体I/F304の制御で書き込まれたデータを記憶する不揮発メモリである。記録媒体305は、例えば、ディスク、半導体メモリ、USBメモリなどである。記録媒体305は、特定装置100から着脱可能であってもよい。
 特定装置100は、上述した構成部のほか、例えば、キーボード、マウス、ディスプレイ、プリンタ、スキャナ、マイク、スピーカーなどを有してもよい。また、特定装置100は、例えば、記録媒体I/F304や記録媒体305を複数有していてもよい。また、特定装置100は、例えば、記録媒体I/F304や記録媒体305を有していなくてもよい。
(FAQリスト400の記憶内容)
 次に、図4を用いて、FAQリスト400の記憶内容の一例について説明する。FAQリスト400は、例えば、図3に示した特定装置100のメモリ302や記録媒体305などの記憶領域により実現される。
 図4は、FAQリスト400の記憶内容の一例を示す説明図である。図4に示すように、FAQリスト400は、文章IDと、内容と、回答とのフィールドを有する。FAQリスト400は、文章ごとに各フィールドに情報を設定することにより、FAQ情報がレコードとして記憶される。文章IDのフィールドには、文章に付与され、文章を識別する文章IDが設定される。内容のフィールドには、文章IDによって識別される文章が設定される。内容のフィールドには、例えば、文章IDによって識別される質問文が設定される。回答のフィールドには、文章IDによって識別される質問文に対応する回答文が設定される。
(LSIスコアリスト500の記憶内容)
 次に、図5を用いて、LSIスコアリスト500の記憶内容の一例について説明する。LSIスコアリスト500は、例えば、図3に示した特定装置100のメモリ302や記録媒体305などの記憶領域により実現される。
 図5は、LSIスコアリスト500の記憶内容の一例を示す説明図である。図5に示すように、LSIスコアリスト500は、文章IDと、LSIスコアとのフィールドを有する。LSIスコアリスト500は、文章ごとに各フィールドに情報を設定することにより、LSIスコア情報がレコードとして記憶される。文章IDのフィールドには、文章に付与され、文章を識別する文章IDが設定される。LSIスコアのフィールドには、入力された文章と、文章IDによって識別される文章との間のLSIによる類似度を示すLSIスコアが設定される。
(WMDスコアリスト600の記憶内容)
 次に、図6を用いて、WMDスコアリスト600の記憶内容の一例について説明する。WMDスコアリスト600は、例えば、図3に示した特定装置100のメモリ302や記録媒体305などの記憶領域により実現される。
 図6は、WMDスコアリスト600の記憶内容の一例を示す説明図である。図6に示すように、WMDスコアリスト600は、文章IDと、WMDスコアとのフィールドを有する。WMDスコアリスト600は、文章ごとに各フィールドに情報を設定することにより、WMDスコア情報がレコードとして記憶される。文章IDのフィールドには、文章に付与され、文章を識別する文章IDが設定される。WMDスコアのフィールドには、入力された文章と、文章IDによって識別される文章との間のWMDによる類似度を示すWMDスコアが設定される。
(類似スコアリスト700の記憶内容)
 次に、図7を用いて、類似スコアリスト700の記憶内容の一例について説明する。類似スコアリスト700は、例えば、図3に示した特定装置100のメモリ302や記録媒体305などの記憶領域により実現される。
 図7は、類似スコアリスト700の記憶内容の一例を示す説明図である。図7に示すように、類似スコアリスト700は、文章IDと、類似スコアとのフィールドを有する。類似スコアリスト700は、文章ごとに各フィールドに情報を設定することにより、類似スコア情報がレコードとして記憶される。文章IDのフィールドには、文章に付与され、文章を識別する文章IDが設定される。類似スコアのフィールドには、入力された文章と、文章IDによって識別される文章との間の、LSIスコアおよびWMDスコアに基づく類似度を示す類似スコアが設定される。
(クライアント装置201のハードウェア構成例)
 次に、図8を用いて、図2に示したFAQシステム200に含まれるクライアント装置201のハードウェア構成例について説明する。
 図8は、クライアント装置201のハードウェア構成例を示すブロック図である。図8において、クライアント装置201は、CPU801と、メモリ802と、ネットワークI/F803と、記録媒体I/F804と、記録媒体805と、ディスプレイ806と、入力装置807とを有する。また、各構成部は、例えば、バス800によってそれぞれ接続される。
 ここで、CPU801は、クライアント装置201の全体の制御を司る。メモリ802は、例えば、ROM、RAMおよびフラッシュROMなどを有する。具体的には、例えば、フラッシュROMやROMが各種プログラムを記憶し、RAMがCPU801のワークエリアとして使用される。メモリ802に記憶されるプログラムは、CPU801にロードされることで、コーディングされている処理をCPU801に実行させる。
 ネットワークI/F803は、通信回線を通じてネットワーク210に接続され、ネットワーク210を介して他のコンピュータに接続される。そして、ネットワークI/F803は、ネットワーク210と内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。ネットワークI/F803は、例えば、モデムやLANアダプタなどである。
 記録媒体I/F804は、CPU801の制御に従って記録媒体805に対するデータのリード/ライトを制御する。記録媒体I/F804は、例えば、ディスクドライブ、SSD、USBポートなどである。記録媒体805は、記録媒体I/F804の制御で書き込まれたデータを記憶する不揮発メモリである。記録媒体805は、例えば、ディスク、半導体メモリ、USBメモリなどである。記録媒体805は、クライアント装置201から着脱可能であってもよい。
 ディスプレイ806は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。ディスプレイ806は、例えば、CRT(Cathode Ray Tube)、液晶ディスプレイ、有機EL(Electroluminescence)ディスプレイなどである。入力装置807は、文字、数字、各種指示などの入力のためのキーを有し、データの入力を行う。入力装置807は、キーボードやマウスなどであってもよく、また、タッチパネル式の入力パッドやテンキーなどであってもよい。
 クライアント装置201は、上述した構成部のほか、例えば、プリンタ、スキャナ、マイク、スピーカーなどを有してもよい。また、クライアント装置201は、例えば、記録媒体I/F804や記録媒体805を複数有していてもよい。また、クライアント装置201は、例えば、記録媒体I/F804や記録媒体805を有していなくてもよい。
(特定装置100の機能的構成例)
 次に、図9を用いて、特定装置100の機能的構成例について説明する。
 図9は、特定装置100の機能的構成例を示すブロック図である。特定装置100は、記憶部900と、取得部901と、抽出部902と、算出部903と、特定部904と、出力部905とを含む。
 記憶部900は、例えば、図3に示したメモリ302や記録媒体305などの記憶領域によって実現される。以下では、記憶部900が、特定装置100に含まれる場合について説明するが、これに限らない。例えば、記憶部900が、特定装置100とは異なる装置に含まれ、記憶部900の記憶内容が特定装置100から参照可能である場合があってもよい。
 取得部901~出力部905は、制御部の一例として機能する。取得部901~出力部905は、具体的には、例えば、図3に示したメモリ302や記録媒体305などの記憶領域に記憶されたプログラムをCPU301に実行させることにより、または、ネットワークI/F303により、その機能を実現する。各機能部の処理結果は、例えば、図3に示したメモリ302や記録媒体305などの記憶領域に記憶される。
 記憶部900は、各機能部の処理において参照され、または更新される各種情報を記憶する。記憶部900は、複数の文を記憶する。文は、例えば、回答文に対応付けられた質問文である。文は、例えば、文章である。文は、例えば、単語の羅列であってもよい。文は、例えば、日本語で記述される。文は、例えば、日本語以外で記述されてもよい。また、記憶部900は、文ごとの転置インデックスを記憶してもよい。
 記憶部900は、Word2Vecに基づくモデルを記憶する。Word2Vecに基づくモデルは、例えば、日本語版Wikipediaと、記憶部900に記憶された複数の文との少なくともいずれかに基づき生成される。以下の説明では、Word2Vecに基づくモデルを「Word2Vecモデル」と表記する場合がある。
 記憶部900は、LSIに基づくモデルを記憶する。LSIに基づくモデルは、例えば、記憶部900に記憶された複数の文に基づき生成される。以下の説明では、LSIに基づくモデルを「LSIモデル」と表記する場合がある。また、記憶部900は、LSIに基づく辞書を記憶する。以下の説明では、LSIに基づく辞書を「LSI辞書」と表記する場合がある。また、記憶部900は、LSIに基づくコーパスを記憶する。以下の説明では、LSIに基づくコーパスを「LSIコーパス」と表記する場合がある。
 取得部901は、各機能部の処理に用いられる各種情報を取得する。取得部901は、取得した各種情報を、記憶部900に記憶し、または、各機能部に出力する。また、取得部901は、記憶部900に記憶しておいた各種情報を、各機能部に出力してもよい。取得部901は、例えば、利用者の操作入力に基づき、各種情報を取得する。取得部901は、例えば、特定装置100とは異なる装置から、各種情報を受信してもよい。
 取得部901は、第1文を取得する。第1文は、例えば、質問文である。第1文は、例えば、文章である。第1文は、例えば、単語の羅列であってもよい。第1文は、日本語で記述される。第1文は、例えば、日本語以外で記述されてもよい。取得部901は、例えば、第1文を、クライアント装置201から受信する。
 抽出部902は、記憶部900の中から、第1文と同じ単語を含む複数の文を抽出する。抽出部902は、記憶部900に記憶された文ごとの転置インデックスを生成して、記憶部900に記憶しておく。抽出部902は、取得した第1文の転置インデックスを生成し、記憶部900に記憶された文ごとの転置インデックスと比較し、記憶部900に記憶された文ごとに、単語の出現頻度に応じたスコアを算出する。そして、抽出部902は、算出したスコアに基づいて、記憶部900の中から、複数の文を抽出する。これにより、抽出部902は、算出部903が処理対象とする文の数の低減化を図り、算出部903の処理量の低減化を図ることができる。
 算出部903は、記憶部900に記憶された複数の文のそれぞれの文について、当該文と入力された第1文との間におけるWMDの結果を示す第1値を算出することにより取得する。第1値は、例えば、WMDスコアである。複数の文は、例えば、抽出部902が抽出した複数の文である。複数の文は、例えば、記憶部900に記憶されたすべての文であってもよい。
 算出部903は、例えば、Word2Vecモデルを利用して、抽出部902が抽出した複数の文のそれぞれの文と、入力された第1文とのWMDスコアを算出することにより取得する。これにより、算出部903は、抽出部902が抽出した複数の文のそれぞれの文と、入力された第1文との意味的な類似度を示す類似スコアを算出する際に、WMDスコアを利用可能にすることができる。
 算出部903は、記憶部900に記憶された複数の文のそれぞれの文について、当該文と第1文との間におけるLSIの結果を示す第2値を取得する。第2値は、例えば、LSIスコアである。複数の文は、例えば、抽出部902が抽出した複数の文である。複数の文は、例えば、記憶部900に記憶されたすべての文であってもよい。
 算出部903は、例えば、LSIモデルを利用して、抽出部902が抽出した複数の文のそれぞれの文と、入力された第1文とのLSIスコアを算出することにより取得する。これにより、算出部903は、抽出部902が抽出した複数の文のそれぞれの文と、入力された第1文との意味的な類似度を示す類似スコアを算出する際に、LSIスコアを利用可能にすることができる。
 また、算出部903は、例えば、LSIモデルを利用して、抽出部902が抽出した複数の文以外の記憶部900に記憶された残余の文のそれぞれの文と、入力された第1文とのLSIスコアを算出することにより取得してもよい。これにより、算出部903は、特定部904が、残余の文のそれぞれの文についてのLSIスコアを参照可能にすることができる。
 算出部903は、複数の文のいずれかの文について取得した第2値が負の値である場合には、いずれかの文について取得した第2値を0に補正してもよい。算出部903は、例えば、いずれかの文について取得したLSIスコアが負の値である場合には、当該文についてのLSIスコアを0に補正する。これにより、算出部903は、類似スコアを精度よく算出しやすくすることができる。
 算出部903は、記憶部900に記憶された複数の文のそれぞれの文に対応するベクトルに基づいて、当該文と第1文との類似度を算出する。類似度は、例えば、類似スコアである。類似度は、いずれかの文と第1文とが意味的にどの程度類似しているのかを精度よく示すことが可能である。複数の文は、例えば、抽出部902が抽出した複数の文である。複数の文は、例えば、記憶部900に記憶されたすべての文であってもよい。
 文に対応するベクトルは、当該文について取得した第1値に基づく大きさと、当該文について取得した第2値に基づく向きとを有する。文に対応するベクトルは、例えば、当該文について取得した第1値に基づく大きさと、所定座標系の第1軸を基準とした、当該文について取得した第2値に基づく角度とを有する。所定座標系は、例えば、平面座標系であり、第1軸は、例えば、X軸である。
 算出部903は、例えば、それぞれの文に対応するベクトルの、第1軸とは異なる所定座標系の第2軸における座標値に基づいて、当該文と第1文との類似度を算出する。第2軸は、例えば、Y軸である。算出部903は、具体的には、それぞれの文に対応するベクトルのY座標値を、当該文と第1文との類似スコアとして算出する。類似スコアを算出する一例は、具体的には、例えば、図11を用いて後述する。これにより、算出部903は、特定部904が、記憶部900の中から第1文に意味的に類似する第2文を特定するための指標となる類似スコアを参照可能にすることができる。
 算出部903は、複数の文のいずれかの文について取得した第2値が閾値未満である場合には、それぞれの文に対応するベクトルに基づいて、当該文と第1文との類似度を算出する。複数の文は、例えば、抽出部902が抽出した複数の文である。複数の文は、例えば、記憶部900に記憶されたすべての文であってもよい。閾値は、例えば、0.9である。算出部903は、例えば、複数の文のそれぞれの文について算出したLSIスコアのうち、LSIスコア最大値が、閾値0.9未満である場合には、それぞれの文に対応するベクトルに基づいて、類似スコアを算出する。
 一方で、算出部903は、例えば、複数の文のそれぞれの文について算出したLSIスコアのうち、LSIスコア最大値が、閾値0.9以上である場合には、類似スコアを算出する処理を省略してもよい。また、この場合には、算出部903は、第1値を算出する処理を省略してもよい。これにより、算出部903は、第2値が比較的大きく、特定部904が、第2値に基づいて記憶部900の中から第1文に意味的に類似する第2文を精度よく特定可能であると判断される場合には、類似スコアを算出せずに、処理量の低減化を図ることができる。
 特定部904は、算出した記憶部900に記憶された複数の文のそれぞれの文と第1文との類似度に基づいて、記憶部900の中から、第1文に類似する第2文を特定する。複数の文は、例えば、抽出部902が抽出した複数の文である。複数の文は、例えば、記憶部900に記憶されたすべての文であってもよい。
 特定部904は、例えば、記憶部900に記憶された複数の文のうち、算出した類似度が最も大きい第2文を特定する。特定部904は、具体的には、抽出部902が抽出した複数の文の中から、算出した類似スコアが最大である文を、第2文として特定する。これにより、特定部904は、第1文に意味的に類似する第2文を精度よく特定することができる。
 特定部904は、例えば、記憶部900に記憶された複数の文のうち、算出した類似度が所定値以上の第2文を特定してもよい。ここで、第2文は、複数あってもよい。特定部904は、具体的には、抽出部902が抽出した複数の文の中から、算出した類似スコアが所定値以上である文を、第2文として特定する。これにより、特定部904は、第1文に意味的に類似する第2文を精度よく特定することができる。
 特定部904は、例えば、抽出した複数の文のそれぞれの文と第1文との類似度、および、残余の文のそれぞれの文について取得した第2値に基づいて、記憶部900の中から、第1文に類似する第2文を特定してもよい。特定部904は、具体的には、抽出した複数の文のそれぞれの文についての類似スコアと、残余の文のそれぞれの文についてのLSIスコアとのうち、最も大きいスコアに対応する文を、第2文として特定する。これにより、特定部904は、第1文に意味的に類似する第2文を精度よく特定することができる。
 特定部904は、具体的には、抽出した複数の文のそれぞれの文についての類似スコアと、残余の文のそれぞれの文についてのLSIスコアとのうち、所定値以上のスコアに対応する文を、第2文として特定してもよい。ここで、第2文は、複数あってもよい。これにより、特定部904は、第1文に意味的に類似する第2文を精度よく特定することができる。
 特定部904は、記憶部900に記憶された複数の文のいずれかの文について取得した第2値が閾値以上である場合には、それぞれの文について取得した第2値に基づいて、記憶部900の中から、第2文を特定してもよい。複数の文は、例えば、抽出部902が抽出した複数の文である。複数の文は、例えば、記憶部900に記憶されたすべての文であってもよい。
 特定部904は、例えば、抽出部902が抽出した複数の文のそれぞれの文について算出したLSIスコアのうち、LSIスコア最大値が、閾値0.9以上である場合には、LSIスコアに基づいて、記憶部900の中から、第2文を特定する。特定部904は、具体的には、抽出部902が抽出した複数の文の中から、LSIスコアが最大である文を、第2文として特定する。これにより、特定部904は、第1文に意味的に類似する第2文を精度よく特定することができる。
 特定部904は、具体的には、抽出部902が抽出した複数の文の中から、LSIスコアが所定値以上である文を、第2文として特定してもよい。ここで、第2文は、複数あってもよい。これにより、特定部904は、第1文に意味的に類似する第2文を精度よく特定することができる。
 特定部904は、算出した記憶部900に記憶された複数の文のそれぞれの文と第1文との類似度に基づいて、記憶部900に記憶された複数の文をソートしてもよい。複数の文は、例えば、抽出部902が抽出した複数の文である。複数の文は、例えば、記憶部900に記憶されたすべての文であってもよい。特定部904は、例えば、抽出部902が抽出した複数の文を、算出した類似スコアが大きい順にソートする。これにより、特定部904は、第1文に意味的に類似する順で、複数の文をソートすることができる。
 特定部904は、例えば、抽出した複数の文のそれぞれの文と第1文との類似度、および、残余の文のそれぞれの文について取得した第2値に基づいて、記憶部900に記憶された文をソートしてもよい。特定部904は、具体的には、抽出した複数の文のそれぞれの文についての類似スコアと、残余の文のそれぞれの文についてのLSIスコアとに基づいて、スコアが大きい順に、記憶部900に記憶された文をソートする。これにより、特定部904は、第1文に意味的に類似する順で、複数の文をソートすることができる。
 特定部904は、記憶部900に記憶された複数の文のいずれかの文について取得した第2値が閾値以上である場合には、それぞれの文について取得した第2値に基づいて、記憶部900に記憶された文をソートしてもよい。複数の文は、例えば、抽出部902が抽出した複数の文である。複数の文は、例えば、記憶部900に記憶されたすべての文であってもよい。
 特定部904は、例えば、抽出部902が抽出した複数の文のそれぞれの文について算出したLSIスコアのうち、LSIスコア最大値が、閾値0.9以上である場合には、LSIスコアに基づいて、抽出部902が抽出した複数の文をソートする。特定部904は、具体的には、LSIスコアが大きい順に、抽出部902が抽出した複数の文をソートする。これにより、特定部904は、第1文に意味的に類似する順で、複数の文をソートすることができる。
 出力部905は、各種情報を出力する。出力形式は、例えば、ディスプレイへの表示、プリンタへの印刷出力、ネットワークI/F303による外部装置への送信、または、メモリ302や記録媒体305などの記憶領域への記憶である。出力部905は、いずれかの機能部の処理結果を出力する。これにより、出力部905は、いずれかの機能部の処理結果を、特定装置100の利用者に通知可能にし、特定装置100の利便性の向上を図ることができる。
 出力部905は、特定した第2文を出力する。出力部905は、例えば、特定した第2文をクライアント装置201に送信し、第2文をクライアント装置201に表示させる。これにより、出力部905は、第1文に意味的に類似する第2文を、クライアント装置201の利用者に把握可能にすることができ、利便性の向上を図ることができる。
 出力部905は、特定した第2文に対応付けられた回答文を出力する。出力部905は、例えば、特定した第2文に対応付けられた回答文をクライアント装置201に送信し、特定した第2文に対応付けられた回答文をクライアント装置201に表示させる。これにより、出力部905は、第1文に意味的に類似する第2文に対応付けられた回答文を、クライアント装置201の利用者に把握可能にすることができ、FAQを提供するサービスを実現することができ、利便性の向上を図ることができる。
 出力部905は、特定部904がソートした結果を出力する。出力部905は、例えば、特定部904がソートした結果をクライアント装置201に送信し、特定部904がソートした結果をクライアント装置201に表示させる。これにより、出力部905は、記憶部900に記憶された文を、第1文に意味的に類似する度合いが大きい順に、クライアント装置201の利用者に把握可能にすることができ、FAQシステム200の利便性の向上を図ることができる。
 ここでは、算出部903が、複数の文のそれぞれの文と入力された第1文との間について、第1値と第2値とを算出する場合について説明したが、これに限らない。例えば、取得部901が、複数の文のそれぞれの文と入力された第1文との間について、第1値と第2値とを算出する装置から、第1値と第2値とを取得する場合があってもよい。この場合、取得部901は、第1文を取得しなくてもよい。
 この場合、取得部901は、記憶部900に記憶された複数の文のそれぞれの文について、当該文と入力された第1文との間におけるWMDの結果を示す第1値を取得する。第1値は、例えば、WMDスコアである。複数の文は、例えば、抽出部902が抽出した複数の文である。複数の文は、例えば、記憶部900に記憶されたすべての文であってもよい。取得部901は、例えば、外部のコンピュータから、WMDスコアを取得する。これにより、取得部901は、特定装置100が第1値を算出せずとも、記憶部900に記憶された複数の文のそれぞれの文と、第1文との類似度を算出可能にすることができる。
 取得部901は、記憶部900に記憶された複数の文のそれぞれの文について、当該文と第1文との間におけるLSIの結果を示す第2値を取得する。第2値は、例えば、LSIスコアである。複数の文は、例えば、抽出部902が抽出した複数の文である。複数の文は、例えば、記憶部900に記憶されたすべての文であってもよい。取得部901は、例えば、外部のコンピュータから、LSIスコアを取得する。これにより、取得部901は、特定装置100が第2値を算出せずとも、記憶部900に記憶された複数の文のそれぞれの文と、第1文との類似度を算出可能にすることができる。
 取得部901は、複数の文のいずれかの文について取得した第2値が負の値である場合には、いずれかの文について取得した第2値を0に補正してもよい。取得部901は、例えば、いずれかの文について取得したLSIスコアが負の値である場合には、当該文についてのLSIスコアを0に補正する。これにより、取得部901は、いずれかの文についての類似スコアを精度よく算出しやすくすることができる。
 ここでは、特定装置100が、抽出部902を含む場合について説明したが、これに限らない。例えば、特定装置100が、抽出部902を含まない場合があってもよい。ここでは、特定装置100が、特定部904を含む場合について説明したが、これに限らない。例えば、特定装置100が、特定部904を含まない場合があってもよい。この場合、特定装置100は、特定部904の機能を有する外部のコンピュータに、算出部903の算出結果を送信してもよい。
(特定装置100の動作例)
 次に、図10~図18を用いて、特定装置100の動作例について説明する。まず、図10を用いて、動作例における特定装置100の具体的な機能的構成例について説明する。
 図10は、特定装置100の具体的な機能的構成例を示すブロック図である。特定装置100は、検索処理部1001と、LSIスコア算出部1002と、転置インデックス検索部1003と、WMDスコア算出部1004と、ランキング処理部1005とを含む。
 検索処理部1001~ランキング処理部1005は、例えば、図9に示した取得部901~出力部905を実現することができる。検索処理部1001~ランキング処理部1005は、具体的には、例えば、図3に示したメモリ302や記録媒体305などの記憶領域に記憶されたプログラムをCPU301に実行させることにより、またはネットワークI/F303により、その機能を実現する。
 検索処理部1001は、自然文1000の入力を受け付ける。検索処理部1001は、例えば、自然文1000を、クライアント装置201から受信する。そして、検索処理部1001は、入力された自然文1000を、LSIスコア算出部1002と、転置インデックス検索部1003と、WMDスコア算出部1004とに出力する。以下の説明では、入力された自然文1000を「入力文a」と表記する場合がある。
 検索処理部1001は、FAQリスト400から、検索対象の質問文群1010を取得する。そして、検索処理部1001は、検索対象の質問文群1010を、LSIスコア算出部1002と、転置インデックス検索部1003とに出力する。検索処理部1001は、検索対象の質問文群1010のうち、転置インデックス検索部1003が抽出した質問文群1040を受信し、WMDスコア算出部1004に転送する。以下の説明では、検索対象の質問文単体を「質問文b」と表記する場合がある。
 検索処理部1001は、LSIスコア算出部1002が生成したLSIスコアリスト500を受信し、ランキング処理部1005に転送する。検索処理部1001は、WMDスコア算出部1004が生成したWMDスコアリスト600を受信し、ランキング処理部1005に転送する。検索処理部1001は、具体的には、図9に示した取得部901を実現することができる。
 LSIスコア算出部1002は、LSIモデル1020と、LSI辞書1021と、LSIコーパス1022とに基づいて、受信した入力文aと、受信した質問文群1010のそれぞれの質問文bとの間についてのLSIスコアを算出する。LSIスコア算出部1002は、予め、LSIモデル1020を、質問文群1010に基づき生成しておいてもよい。LSIスコア算出部1002は、質問文bごとに、算出したLSIスコアを対応付けたLSIスコアリスト500を、検索処理部1001に出力する。LSIスコア算出部1002は、具体的には、図9に示した算出部903を実現する。
 転置インデックス検索部1003は、受信した入力文aの転置インデックスを生成し、質問文群1010のそれぞれの質問文bに対応する転置インデックス1030と比較し、質問文群1010のそれぞれの質問文bのスコアを算出する。転置インデックス検索部1003は、算出したスコアに基づいて、質問文群1010から、質問文群1040を抽出し、検索処理部1001に出力する。転置インデックス検索部1003は、具体的には、図9に示した抽出部902を実現する。
 WMDスコア算出部1004は、Word2Vecモデル1050に基づいて、受信した入力文aと、受信した質問文群1040のそれぞれの質問文bとの間についてのWMDスコアを算出する。WMDスコア算出部1004は、予め、Word2Vecモデル1050を、日本語版Wikipediaおよび質問文群1010に基づき生成しておいてもよい。WMDスコア算出部1004は、質問文bごとに、算出したWMDスコアを対応付けたWMDスコアリスト600を、検索処理部1001に出力する。WMDスコア算出部1004は、具体的には、図9に示した算出部903を実現する。
 ランキング処理部1005は、受信したLSIスコアリスト500とWMDスコアリスト600とに基づいて、入力文aと、質問文群1040のそれぞれの質問文bとの間における類似スコアsを算出する。類似スコアsを算出する一例については、図11を用いて後述する。ランキング処理部1005は、入力文aと、質問文群1010のうち、質問文群1040以外のそれぞれの質問文bとの間における類似スコアsには、LSIスコアをそのまま採用する。ランキング処理部1005は、質問文群1010のそれぞれの質問文bを、類似スコアsが大きい順にソートする。
 ランキング処理部1005は、ソート結果1060に基づいて、入力文aに意味的に類似する質問文bを特定し、FAQリスト400において、特定した質問文bに対応付けられた回答文を、クライアント装置201に表示させる。ランキング処理部1005は、ソート結果1060を、クライアント装置201に表示させてもよい。ランキング処理部1005は、具体的には、図9に示した算出部903と特定部904と出力部905とを実現する。
 これにより、特定装置100は、ユーザによって用意される教師データとなる文の数が比較的少なくても、入力文aと、質問文bとが意味的にどの程度類似しているのかを精度よく示す類似スコアsを算出することができる。特定装置100は、例えば、Word2Vecモデル1050を、日本語版Wikipediaおよび質問文群1010に基づき生成するため、ユーザが教師データとなる文を用意せずに済ませることができる。また、特定装置100は、例えば、LSIモデル1020を、質問文群1010に基づき生成するため、ユーザが教師データとなる文を用意する作業量の低減化を図ることができる。
 また、特定装置100は、学習パラメータの種類が比較的少なくても、入力文aと、質問文bとが意味的にどの程度類似しているのかを精度よく示す類似スコアsを算出することができる。特定装置100は、例えば、LSIモデル1020を生成する際、次元数を示す1種類の学習パラメータを調整すればよく、コストや作業量の増大化を抑制することができる。また、特定装置100は、LSIモデル1020を、比較的短時間で生成することができ、コストや作業量の増大化を抑制することができる。また、特定装置100は、WMDに関する学習パラメータを固定で利用することができ、コストや作業量の増大化を抑制することができる。
 また、特定装置100は、入力文aに未知語が含まれていても、入力文aと、質問文bとが意味的にどの程度類似しているのかを精度よく示す類似スコアsを算出することができる。特定装置100は、例えば、入力文aと、質問文bとの間におけるWMDスコアを利用するため、入力文aに未知語が含まれていても、類似スコアsを算出する精度の向上を図ることができる。
 また、特定装置100は、日本語環境であっても、入力文aと、質問文bとが意味的にどの程度類似しているのかを精度よく示す類似スコアsを算出することができる。結果として、特定装置100は、質問文群1010の中から、入力文aに意味的に類似する質問文bを特定することに成功する確率の向上を図ることができる。次に、図11を用いて、特定装置100が、入力文aと質問文bとの間における類似スコアを算出する一例について説明する。
 図11は、類似スコアを算出する一例を示す説明図である。図11の例では、X軸と同じ向きと大きさ1とを有する、入力文aに対応するベクトル1110が、座標系1100上に規定される。m=LSIスコアと規定され、b=WMDスコアと規定され、cosθ=mと規定され、X軸に対してθの角度の向きと、大きさbとを有する、質問文bに対応するベクトル1120が、座標系1100上に規定される。
 ここで、座標系1100上で、ベクトル1110,1120が同じ方向に近いほど、入力文aと質問文bとの意味的な類似スコアが大きいことを示すと規定される。ベクトル1110,1120の近さは、例えば、ベクトル1120のY座標値により表現される。例えば、ベクトル1120のY座標値が0に近いほど、ベクトル1110,1120が同じ方向に近いことを示し、入力文aと質問文bとの意味的な類似スコアが大きいことを示すことになる。
 このため、特定装置100は、ベクトル1120のY座標値に基づいて、入力文aと質問文bとの意味的な類似スコアを算出する。特定装置100は、例えば、Y座標値y=√{(b^2)×(1-m^2)}を算出し、入力文aと質問文bとの意味的な類似スコアs=1/(1+y)を算出する。
 これにより、特定装置100は、入力文aと質問文bとの意味的な類似スコアsを、0~1の範囲で、1に近いほど意味的に類似することを示すように算出することができる。また、特定装置100は、異なる観点のWMDスコアとLSIスコアとを組み合わせて、類似スコアsを算出するため、類似スコアsが、入力文aと質問文bとが意味的にどの程度類似しているのかを精度よく示すようにすることができる。
 次に、図12を用いて、LSIスコアとWMDスコアとのバリエーションの一例について説明し、入力文aと質問文bとの意味的な類似度合いと、入力文aと質問文bとの意味的な類似スコアsとの関係性について説明する。
 図12は、LSIスコアとWMDスコアとのバリエーションの一例を示す説明図である。図12において、表1200に示すように、入力文aと質問文bとについて、LSIスコアが大(1~0.7)となり、WMDスコアが大(6以上)となる第1事例1201は、出現しない傾向がある。このため、特定装置100は、LSIスコアが類似を示すが、WMDスコアが非類似を示す状況で、類似スコアを算出することは回避可能である傾向があり、類似スコアを算出する精度の低下は回避可能である傾向がある。
 また、表1200に示すように、入力文aと質問文bとについて、LSIスコアが大(1~0.7)となり、WMDスコアが中(3~6)となる第2事例1202は、入力文aと質問文bとが意味的に類似する場合に出現する傾向がある。また、表1200に示すように、入力文aと質問文bとについて、LSIスコアが大(1~0.7)となり、WMDスコアが小(0~3)となる第3事例1203は、入力文aと質問文bとが意味的に酷似する場合に出現する傾向がある。
 これに対し、特定装置100は、LSIスコアとWMDスコアとに基づき類似スコアを算出するため、LSIスコアだけでは区別困難な第2事例1202と第3事例1203とを、類似スコアにより区別可能にすることができる。特定装置100は、LSIスコアが大きいほど、または、WMDスコアが小さいほど、類似スコアが大きくなるように算出することができる。このため、特定装置100は、第2事例1202よりも第3事例1203の方が、類似スコアが大きくなるように算出することができる。そして、特定装置100は、第2事例1202と第3事例1203とを、類似スコアにより区別可能にすることができる。
 また、表1200に示すように、入力文aと質問文bとについて、LSIスコアが中(0.7~0.4)となり、WMDスコアが大(6以上)となる第4事例1204は、入力文aと質問文bとが意味的に類似しない場合に出現する傾向がある。また、表1200に示すように、入力文aと質問文bとについて、LSIスコアが中(0.7~0.4)となり、WMDスコアが中(3~6)となる第5事例1205は、入力文aと質問文bとが比較的類似する場合に出現する傾向がある。また、表1200に示すように、入力文aと質問文bとについて、LSIスコアが中(0.7~0.4)となり、WMDスコアが小(0~3)となる第6事例1206は、入力文aと質問文bとが意味的に類似する場合に出現する傾向がある。
 これに対し、特定装置100は、LSIスコアとWMDスコアとに基づき類似スコアを算出するため、LSIスコアだけでは区別困難な第4事例1204~第6事例1206を、類似スコアにより区別可能にすることができる。特定装置100は、LSIスコアが大きいほど、または、WMDスコアが小さいほど、類似スコアが大きくなるように算出することができる。このため、特定装置100は、第4事例1204よりも第5事例1205や第6事例1206の方が、類似スコアが大きくなるように算出することができる。そして、特定装置100は、第4事例1204~第6事例1206を、類似スコアにより区別可能にすることができる。
 また、表1200に示すように、入力文aと質問文bとについて、LSIスコアが小(0.4~0)となり、WMDスコアが大(6以上)となる第7事例1207は、入力文aと質問文bとが意味的に類似しない場合に出現する傾向がある。また、表1200に示すように、入力文aと質問文bとについて、LSIスコアが小(0.4~0)となり、WMDスコアが中(3~6)となる第8事例1208は、入力文aと質問文bとが類似しない場合に出現する傾向がある。
 これに対し、特定装置100は、第7事例1207~第8事例1208では、類似スコアが比較的小さくなるように算出することができる。このため、特定装置100は、類似スコアにより、入力文aと質問文bとが類似しないことを精度よく示すことができる。
 また、表1200に示すように、入力文aと質問文bとについて、LSIスコアが小(0.4~0)となり、WMDスコアが小(0~3)となる第9事例1209は、出現しない傾向がある。このため、特定装置100は、LSIスコアが非類似を示すが、WMDスコアが類似を示す状況で、類似スコアを算出することは回避可能である傾向があり、類似スコアを算出する精度の低下は回避可能である傾向がある。
 このように、特定装置100は、入力文aと質問文bとの類似スコアを、入力文aと質問文bとが意味的に類似しているかを精度よく示すように算出することができる。そして、特定装置100は、入力文aと質問文bとが意味的にどの程度類似しているのかを区別可能にすることができる。次に、図13~図17を用いて、特定装置100による効果について説明する。
 図13~図17は、特定装置100による効果を示す説明図である。図13において、特定装置100は、表1300に示すように、様々なテスト用の質問文を入力文aとし、FAQリスト400の質問文bのうちの正解の質問文bが、入力文aに類似する上位3位までの質問文bとして特定されるか否かを検証する。
 表1300の「方法」は、テスト用の質問文をどのように作成したかを示す。「方法a」は、未知語を含まない複数の単語の羅列により作成することを示す。「方法b」は、未知語を含む複数の単語の羅列により作成することを示す。「方法c」は、正解の質問文bと意味および単語が同じである自然文により作成することを示す。「方法d」は、正解の質問文bと意味が同じである自然文により作成することを示す。
 特定装置100は、表1300の「順位」に示すように、様々なテスト用の質問文を入力文aとした場合でも、正解の質問文bを、入力文aに類似する上位3位までの質問文bとして特定することができる。次に、図14の説明に移行する。
 図14において、特定装置100は、表1400に示すように、様々なテスト用の質問文を入力文aとし、FAQリスト400の質問文bのうちの正解の質問文bが、入力文aに類似する上位3位までの質問文bとして特定されるか否かを検証する。特定装置100は、表1400の「順位」に示すように、様々なテスト用の質問文を入力文aとした場合でも、正解の質問文bを、入力文aに類似する上位3位までの質問文bとして特定することができる。次に、図15の説明に移行する。
 図15において、特定装置100は、表1500に示すように、様々なテスト用の質問文を入力文aとし、FAQリスト400の質問文bのうちの正解の質問文bが、入力文aに類似する上位3位までの質問文bとして特定されるか否かを検証する。特定装置100は、表1500の「順位」に示すように、様々なテスト用の質問文を入力文aとした場合でも、正解の質問文bを、入力文aに類似する上位3位までの質問文bとして特定することができる。次に、図16の説明に移行する。
 図16において、特定装置100は、表1600に示すように、様々なテスト用の質問文を入力文aとし、FAQリスト400の質問文bのうちの正解の質問文bが、入力文aに類似する上位3位までの質問文bとして特定されるか否かを検証する。特定装置100は、表1600の「順位」に示すように、様々なテスト用の質問文のうち、2つの質問文以外を入力文aとした場合には、正解の質問文bを、入力文aに類似する上位3位までの質問文bとして特定することができる。次に、図17の説明に移行する。
 図17の表1700は、特定装置100が、正解の質問文bを、入力文aに類似する上位3位までの質問文bとして特定することに成功する確率を、従来の手法と比較した結果を示す。従来の手法は、例えば、「転置インデックス+Cos類似度」と、「転置インデックス+WMDスコア」と、「LSIスコア」とである。
 表1700は、様々なテスト用の質問文を入力文aとするテストケースA~Dなどにおける、正解の質問文bを、入力文aに類似する上位3位までの質問文bとして特定することに成功する確率A[%]~D[%]を示す。また、表1700は、正解の質問文bを、入力文aに類似する上位3位までの質問文bとして特定することに成功する確率A[%]~D[%]の平均値として、全体[%]を示す。
 特定装置100は、表1700に示すように、従来の手法に比べて、正解の質問文bを、入力文aに類似する上位3位までの質問文bとして特定することに成功する確率の向上を図ることができる。また、特定装置100は、例えば、正解の質問文bを、入力文aに類似する上位3位までの質問文bとして特定することに成功する確率の平均値を、8割以上にすることができる。次に、図18を用いて、クライアント装置201における表示画面例について説明する。
 図18は、クライアント装置201における表示画面例を示す説明図である。図18において、特定装置100は、クライアント装置201にFAQ画面1800を表示させる。FAQ画面1800は、初期状態で、会話表示欄1810に、メッセージ1811を含む。メッセージ1811は、例えば、「こんにちは、○○システムのFAQ担当です。何でも質問してください。」である。
 FAQ画面1800は、ユーザの入力欄1820を含む。クライアント装置201は、入力欄1820に入力された入力文を、特定装置100に送信する。図18の例では、入力文「パスワードを忘れました」が入力される。入力文は、会話表示欄1810に、メッセージ1812として表示される。
 特定装置100は、類似スコアを算出し、FAQリスト400の中から、入力文「パスワードを忘れました」に意味的に類似する質問文「パスワードを忘れたので教えてください」を特定する。特定装置100は、会話表示欄1810に、さらに、メッセージ1813を表示する。メッセージ1813は、例えば、「この中に、該当するFAQはありますか?」と、特定した質問文「パスワードを忘れたので教えてください」とを含む。
 クライアント装置201は、質問文「パスワードを忘れたので教えてください」がクリックされた場合、質問文「パスワードを忘れたので教えてください」がクリックされたことを、特定装置100に通知する。特定装置100は、通知に応じて、会話表示欄1810に、質問文「パスワードを忘れたので教えてください」に対応付けられた回答文を表示させる。これにより、特定装置100は、FAQを提供するサービスを実現することができる。
 以上では、質問文bに対応するベクトルの向きを、cosθを利用して規定し、入力文aと質問文bとの類似スコアを、質問文bに対応するベクトルのY座標値を利用して規定する場合について説明したが、これに限らない。例えば、特定装置100が、cosθの代わりにsinθを利用し、Y座標値の代わりにX座標値を利用する場合があってもよい。また、特定装置100は、LSIスコアとWMDスコアとを入れ替えて、類似スコアを算出する場合があってもよい。
(全体処理手順)
 次に、図19を用いて、特定装置100が実行する、全体処理手順の一例について説明する。全体処理は、例えば、図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、ネットワークI/F303とによって実現される。
 図19は、全体処理手順の一例を示すフローチャートである。図19において、特定装置100は、ランキング結果を格納する空配列Work[]を生成する(ステップS1901)。空配列Work[]は、例えば、類似スコアリスト700により実現する。
 次に、特定装置100は、記憶された文章ごとの入力文章との間のLSIスコアを算出し、LSIスコアを文章IDと対応付けたLSIスコアリスト500を生成する(ステップS1902)。そして、特定装置100は、LSIスコアリスト500の中から、LSIスコア最大値を取得する(ステップS1903)。
 次に、特定装置100は、記憶された文章ごとの入力文章との間のWMDスコアを算出し、WMDスコアを文章IDと対応付けたWMDスコアリスト600を生成する(ステップS1904)。ここで、特定装置100は、記憶された文章のうち、転置インデックスに基づき抽出された一部の文章について、文章ごとの入力文章との間のWMDスコアを算出し、WMDスコアを文章IDと対応付けたWMDスコアリスト600を生成してもよい。また、特定装置100は、未抽出の文章についてはWMDスコアを算出しなくてもよい。
 そして、特定装置100は、LSIスコア最大値>閾値0.9であるか否かを判定する(ステップS1905)。ここで、LSIスコア最大値>閾値0.9である場合(ステップS1905:Yes)、特定装置100は、ステップS1907の処理に移行する。一方で、LSIスコア最大値>閾値0.9ではない場合(ステップS1905:No)、特定装置100は、ステップS1906の処理に移行する。
 ステップS1906では、特定装置100は、図20に後述する算出処理を実行する(ステップS1906)。そして、特定装置100は、ステップS1910の処理に移行する。
 ステップS1907では、特定装置100は、LSIスコアリスト500の中から、まだ処理していない文章IDを選択する(ステップS1907)。次に、特定装置100は、選択した文章IDと対応付けられたLSIスコアをそのまま類似スコアに採用し、選択した文章IDと類似スコアとのペアを、配列Work[]に追加する(ステップS1908)。
 そして、特定装置100は、LSIスコアリスト500の中から、すべての文章IDを処理したか否かを判定する(ステップS1909)。ここで、未処理の文章IDがある場合(ステップS1909:No)、特定装置100は、ステップS1907の処理に戻る。一方で、すべての文章IDを処理している場合(ステップS1909:Yes)、特定装置100は、ステップS1910の処理に移行する。
 ステップS1910では、特定装置100は、配列Work[]に含まれるペアを、類似スコアに基づき降順にソートする(ステップS1910)。次に、特定装置100は、配列Work[]を出力する(ステップS1911)。そして、特定装置100は、全体処理を終了する。これにより、特定装置100は、記憶された文章のうち、入力文章に意味的に類似する文章を、FAQシステム200のユーザが把握可能にすることができる。
(算出処理手順)
 次に、図20を用いて、特定装置100が実行する、算出処理手順の一例について説明する。算出処理は、例えば、図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、ネットワークI/F303とによって実現される。
 図20は、算出処理手順の一例を示すフローチャートである。図20において、特定装置100は、LSIスコアリスト500の中から、まだ処理していない文章IDを選択する(ステップS2001)。
 次に、特定装置100は、選択した文章IDに対応付けられたLSIスコアを、変数mに設定する(ステップS2002)。そして、特定装置100は、選択した文章IDに対応付けられたWMDスコアを、変数bに設定する(ステップS2003)。ここで、特定装置100は、選択した文章IDに対応付けられたWMDスコアがなければ、変数b=Noneに設定する。
 次に、特定装置100は、変数b≠Noneであるか否かを判定する(ステップS2004)。ここで、変数b≠Noneである場合(ステップS2004:Yes)、特定装置100は、ステップS2006の処理に移行する。一方で、変数b=Noneである場合(ステップS2004:No)、特定装置100は、ステップS2005の処理に移行する。
 ステップS2005では、特定装置100は、選択した文章IDと対応付けられたLSIスコアをそのまま類似スコアに採用し、選択した文章IDと類似スコアとのペアを、配列Work[]に追加する(ステップS2005)。そして、特定装置100は、ステップS2011の処理に移行する。
 ステップS2006では、特定装置100は、変数m>0であるか否かを判定する(ステップS2006)。ここで、変数m>0である場合(ステップS2006:Yes)、特定装置100は、ステップS2008の処理に移行する。一方で、変数m>0ではない場合(ステップS2006:No)、特定装置100は、ステップS2007の処理に移行する。
 ステップS2007では、特定装置100は、変数m=0に設定する(ステップS2007)。そして、特定装置100は、ステップS2008の処理に移行する。
 ステップS2008では、特定装置100は、変数y=√{(b^2)×(1-m^2)}を算出する(ステップS2008)。そして、特定装置100は、変数s=1/(1+y)を算出する(ステップS2009)。次に、特定装置100は、変数sを類似スコアに採用し、選択した文章IDと類似スコアとのペアを、配列Work[]に追加する(ステップS2010)。そして、特定装置100は、ステップS2011の処理に移行する。
 ステップS2011では、特定装置100は、LSIスコアリスト500の中から、すべての文章IDを選択したか否かを判定する(ステップS2011)。ここで、未選択の文章IDがある場合(ステップS2011:No)、特定装置100は、ステップS2001の処理に戻る。一方、すべての文章IDを選択した場合(ステップS2011:Yes)、特定装置100は、算出処理を終了する。これにより、特定装置100は、文章ごとの、入力文章との意味的な類似度を、精度よく算出することができる。
 ここで、特定装置100は、図19および図20のフローチャートの一部ステップの処理の順序を入れ替えて実行してもよい。例えば、ステップS1902,S1903の処理と、ステップS1904の処理との順序は入れ替え可能である。また、例えば、ステップS1904の処理は、ステップS1905の処理の後、ステップS1906の処理の前に移行可能である。
 また、特定装置100は、図19および図20のフローチャートの一部ステップの処理を省略してもよい。例えば、ステップS1905,S1907~S1909の処理は省略可能である。また、例えば、ステップS2004,S2005の処理は省略可能である。また、例えば、ステップS2006,S2007の処理は省略可能である。
 以上説明したように、特定装置100によれば、記憶部900に記憶された複数の文のそれぞれの文について、当該文と入力された第1文との間におけるWMDの結果を示す第1値を取得することができる。特定装置100によれば、記憶部900に記憶された複数の文のそれぞれの文について、当該文と第1文との間におけるLSIの結果を示す第2値を取得することができる。特定装置100によれば、複数の文のそれぞれの文に対応する、当該文について取得した第1値に基づく大きさと当該文について取得した第2値に基づく向きとを有するベクトルに基づいて、当該文と第1文との類似度を算出することができる。特定装置100によれば、算出したそれぞれの文と第1文との類似度に基づいて、複数の文のうち第1文に類似する第2文を特定することができる。これにより、特定装置100は、入力された第1文と、複数の文のそれぞれの文とが意味的にどの程度類似しているのかを精度よく示す類似度を算出することができる。そして、特定装置100は、複数の文の中から、入力された第1文に意味的に類似する文を、精度よく特定することができる。
 特定装置100によれば、複数の文のいずれかの文について取得した第2値が閾値未満である場合には、それぞれの文に対応するベクトルに基づいて、当該文と第1文との類似度を算出することができる。特定装置100によれば、複数の文のいずれかの文について取得した第2値が閾値以上である場合には、それぞれの文について取得した第2値に基づいて、複数の文のうち第2文を特定することができる。これにより、特定装置100は、第2値が比較的大きく、第2値に基づいて第1文に意味的に類似する第2文を精度よく特定可能であると判断される場合には、類似度を算出せずに、処理量の低減化を図ることができる。
 特定装置100によれば、複数の文のいずれかの文について取得した第2値が負の値である場合には、いずれかの文について取得した第2値を0に補正することができる。これにより、特定装置100は、類似度を精度よく算出しやすくすることができる。
 特定装置100によれば、それぞれの文に対応する、当該文について取得した第1値に基づく大きさと所定座標系の第1軸を基準とした当該文について取得した第2値に基づく角度とを有するベクトルを規定することができる。特定装置100によれば、規定したベクトルの第1軸とは異なる座標系の第2軸における座標値に基づいて、当該文と第1文との類似度を算出することができる。これにより、特定装置100は、類似度を精度よく算出しやすくすることができる。
 特定装置100によれば、記憶部900の中から、第1文と同じ単語を含む複数の文を抽出することができる。特定装置100によれば、抽出した複数の文のそれぞれの文について、当該文と入力された第1文との間におけるWMDの結果を示す第1値を取得することができる。特定装置100によれば、抽出した複数の文のそれぞれの文について、当該文と第1文との間におけるLSIの結果を示す第2値を取得することができる。これにより、特定装置100は、類似度を算出する対象とする文の数の低減化を図り、処理量の低減化を図ることができる。
 特定装置100によれば、第1文を、質問文とし、複数の文を、回答文に対応付けられた質問文とし、特定した第2文に対応付けられた回答文を出力することができる。これにより、特定装置100は、FAQを提供するサービスを実現することができる。
 特定装置100によれば、複数の文のうち、算出した類似度が最も大きい第2文を特定することができる。これにより、特定装置100は、第1文と意味的に最も類似すると判断される第2文を特定することができる。
 特定装置100によれば、複数の文のうち、算出した類似度が所定値以上の第2文を特定することができる。これにより、特定装置100は、第1文と意味的に一定以上類似すると判断される第2文を特定することができる。
 特定装置100によれば、第1文を、日本語で記述された文とし、複数の文を、日本語で記述された文とすることができる。これにより、特定装置100は、日本語環境に適用することができる。
 特定装置100によれば、特定した第2文を出力することができる。これにより、特定装置100は、特定した第2文を、FAQシステム200のユーザが把握可能にすることができ、FAQシステム200の利便性の向上を図ることができる。
 特定装置100によれば、算出したそれぞれの文と第1文との類似度に基づいて、複数の文をソートした結果を出力することができる。これにより、特定装置100は、複数の文のいずれの文が、第1文との意味的な類似度が大きい文であるかを、FAQシステム200のユーザが把握可能にすることができ、FAQシステム200の利便性の向上を図ることができる。
 特定装置100によれば、抽出した複数の文以外の記憶部900に記憶された残余の文のそれぞれの文について、当該文と第1文との間におけるLSIの結果を示す第2値を取得することができる。特定装置100によれば、算出した複数の文のそれぞれの文と第1文との類似度、および、残余の文のそれぞれの文について取得した第2値に基づいて、記憶部900の中から、第1文に類似する第2文を特定することができる。これにより、特定装置100は、処理量の低減化を図った場合に、抽出した複数の文以外に、残余の文の中からも、第1文に類似する第2文を特定可能にすることができる。
 なお、本実施の形態で説明した特定方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本実施の形態で説明した特定プログラムは、ハードディスク、フレキシブルディスク、CD-ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本実施の形態で説明した特定プログラムは、インターネット等のネットワークを介して配布してもよい。
 100 特定装置
 101 第1文
 102 文
 110,900 記憶部
 120,1110,1120 ベクトル
 200 FAQシステム
 201 クライアント装置
 210 ネットワーク
 300,800 バス
 301,801 CPU
 302,802 メモリ
 303,803 ネットワークI/F
 304,804 記録媒体I/F
 305,805 記録媒体
 400 FAQリスト
 500 LSIスコアリスト
 600 WMDスコアリスト
 700 類似スコアリスト
 806 ディスプレイ
 807 入力装置
 901 取得部
 902 抽出部
 903 算出部
 904 特定部
 905 出力部
 1000 自然文
 1001 検索処理部
 1002 LSIスコア算出部
 1003 転置インデックス検索部
 1004 WMDスコア算出部
 1005 ランキング処理部
 1010,1040 質問文群
 1020 LSIモデル
 1021 LSI辞書
 1022 LSIコーパス
 1030 転置インデックス
 1050 Word2Vecモデル
 1060 ソート結果
 1200,1300,1400,1500,1600,1700 表
 1201 第1事例
 1202 第2事例
 1203 第3事例
 1204 第4事例
 1205 第5事例
 1206 第6事例
 1207 第7事例
 1208 第8事例
 1209 第9事例
 1800 FAQ画面
 1810 会話表示欄
 1811~1813 メッセージ
 1820 入力欄

Claims (14)

  1.  記憶部に記憶された複数の文に含まれるそれぞれの文と入力された第1文との間における文書間距離解析の結果を示す第1値を取得し、
     前記それぞれの文と前記第1文との間における潜在的意味解析の結果を示す第2値を取得し、
     前記それぞれの文に対応する、前記それぞれの文について取得した前記第1値に基づく大きさと前記それぞれの文について取得した前記第2値に基づく向きとを有するベクトルに基づいて、前記それぞれの文と前記第1文との類似度を算出し、
     算出した前記それぞれの文と前記第1文との類似度に基づいて、前記複数の文のうち前記第1文に類似する第2文を特定する、
     処理をコンピュータに実行させることを特徴とする特定プログラム。
  2.  前記算出する処理は、
     前記複数の文のいずれかの文について取得した前記第2値が閾値未満である場合には、前記それぞれの文に対応する前記ベクトルに基づいて、前記それぞれの文と前記第1文との類似度を算出し、
     前記特定する処理は、
     前記複数の文のいずれかの文について取得した前記第2値が前記閾値以上である場合には、前記それぞれの文について取得した前記第2値に基づいて、前記複数の文のうち前記第2文を特定する、ことを特徴とする請求項1に記載の特定プログラム。
  3.  前記複数の文のいずれかの文について取得した前記第2値が負の値である場合には、前記いずれかの文について取得した前記第2値を0に補正する、処理を前記コンピュータに実行させることを特徴とする請求項1または2に記載の特定プログラム。
  4.  前記算出する処理は、
     前記それぞれの文に対応する、前記それぞれの文について取得した前記第1値に基づく大きさと、所定座標系の第1軸を基準とした、前記それぞれの文について取得した前記第2値に基づく角度とを有するベクトルの、前記第1軸とは異なる前記所定座標系の第2軸における座標値に基づいて、前記それぞれの文と前記第1文との類似度を算出する、ことを特徴とする請求項1~3のいずれか一つに記載の特定プログラム。
  5.  前記記憶部の中から、前記第1文と同じ単語を含む複数の文を抽出する、処理を前記コンピュータに実行させ、
     前記第1値を取得する処理は、
     抽出した前記複数の文に含まれるそれぞれの文と入力された第1文との間における文書間距離解析の結果を示す第1値を取得し、
     前記第2値を取得する処理は、
     抽出した前記複数の文に含まれるそれぞれの文と前記第1文との間における潜在的意味解析の結果を示す第2値を取得する、ことを特徴とする請求項1~4のいずれか一つに記載の特定プログラム。
  6.  前記第1文は、質問文であり、
     前記複数の文は、回答文に対応付けられた質問文であり、
     特定した前記第2文に対応付けられた回答文を出力する、処理を前記コンピュータに実行させることを特徴とする請求項1~5のいずれか一つに記載の特定プログラム。
  7.  前記特定する処理は、
     前記複数の文のうち、算出した前記類似度が最も大きい前記第2文を特定する、ことを特徴とする請求項1~6のいずれか一つに記載の特定プログラム。
  8.  前記特定する処理は、
     前記複数の文のうち、算出した前記類似度が所定値以上の前記第2文を特定する、ことを特徴とする請求項1~7のいずれか一つに記載の特定プログラム。
  9.  前記第1文は、日本語で記述された文であり、
     前記複数の文は、日本語で記述された文である、ことを特徴とする請求項1~6のいずれか一つに記載の特定プログラム。
  10.  特定した前記第2文を出力する、処理を前記コンピュータに実行させることを特徴とする請求項1~9のいずれか一つに記載の特定プログラム。
  11.  算出した前記それぞれの文と前記第1文との類似度に基づいて、前記複数の文をソートした結果を出力する、処理を前記コンピュータに実行させることを特徴とする請求項1~10のいずれか一つに記載の特定プログラム。
  12.  前記第2値を取得する処理は、
     抽出した前記複数の文以外の前記記憶部に記憶された残余の文のそれぞれの文と前記第1文との間における潜在的意味解析の結果を示す第2値を取得し、
     算出した前記複数の文のそれぞれの文と前記第1文との類似度、および、前記残余の文のそれぞれの文について取得した前記第2値に基づいて、前記記憶部の中から、前記第1文に類似する第2文を特定する、ことを特徴とする請求項5に記載の特定プログラム。
  13.  記憶部に記憶された複数の文に含まれるそれぞれの文と入力された第1文との間における文書間距離解析の結果を示す第1値を取得し、
     前記それぞれの文と前記第1文との間における潜在的意味解析の結果を示す第2値を取得し、
     前記それぞれの文に対応する、前記それぞれの文について取得した前記第1値に基づく大きさと前記それぞれの文について取得した前記第2値に基づく向きとを有するベクトルに基づいて、前記それぞれの文と前記第1文との類似度を算出し、
     算出した前記それぞれの文と前記第1文との類似度に基づいて、前記複数の文のうち前記第1文に類似する第2文を特定する、
     処理をコンピュータが実行することを特徴とする特定方法。
  14.  記憶部に記憶された複数の文に含まれるそれぞれの文と入力された第1文との間における文書間距離解析の結果を示す第1値を取得し、
     前記それぞれの文と前記第1文との間における潜在的意味解析の結果を示す第2値を取得し、
     前記それぞれの文に対応する、前記それぞれの文について取得した前記第1値に基づく大きさと前記それぞれの文について取得した前記第2値に基づく向きとを有するベクトルに基づいて、前記それぞれの文と前記第1文との類似度を算出し、
     算出した前記それぞれの文と前記第1文との類似度に基づいて、前記複数の文のうち前記第1文に類似する第2文を特定する、
     制御部を有することを特徴とする特定装置。
PCT/JP2019/028021 2019-07-17 2019-07-17 特定プログラム、特定方法、および特定装置 WO2021009861A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2021532613A JP7255684B2 (ja) 2019-07-17 2019-07-17 特定プログラム、特定方法、および特定装置
PCT/JP2019/028021 WO2021009861A1 (ja) 2019-07-17 2019-07-17 特定プログラム、特定方法、および特定装置
US17/558,693 US20220114824A1 (en) 2019-07-17 2021-12-22 Computer-readable recording medium storing specifying program, specifying method, and specifying device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/028021 WO2021009861A1 (ja) 2019-07-17 2019-07-17 特定プログラム、特定方法、および特定装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/558,693 Continuation US20220114824A1 (en) 2019-07-17 2021-12-22 Computer-readable recording medium storing specifying program, specifying method, and specifying device

Publications (1)

Publication Number Publication Date
WO2021009861A1 true WO2021009861A1 (ja) 2021-01-21

Family

ID=74210320

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/028021 WO2021009861A1 (ja) 2019-07-17 2019-07-17 特定プログラム、特定方法、および特定装置

Country Status (3)

Country Link
US (1) US20220114824A1 (ja)
JP (1) JP7255684B2 (ja)
WO (1) WO2021009861A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115329742A (zh) * 2022-10-13 2022-11-11 深圳市大数据研究院 基于文本分析的科研项目产出评价验收方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018199913A1 (en) * 2017-04-25 2018-11-01 Hewlett-Packard Development Company, L.P. Machine-learning command interaction
US20190065550A1 (en) * 2016-04-15 2019-02-28 3M Innovative Properties Company Query optimizer for combined structured and unstructured data records

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4839853A (en) * 1988-09-15 1989-06-13 Bell Communications Research, Inc. Computer information retrieval using latent semantic structure
EP3007080A1 (en) * 2014-10-06 2016-04-13 Fujitsu Limited A document ranking apparatus, method and computer program
CN105989047A (zh) * 2015-02-05 2016-10-05 富士通株式会社 获取装置、获取方法、训练装置以及检测装置
CN110019712A (zh) * 2017-12-07 2019-07-16 上海智臻智能网络科技股份有限公司 多意图查询方法和装置、计算机设备及计算机可读存储介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190065550A1 (en) * 2016-04-15 2019-02-28 3M Innovative Properties Company Query optimizer for combined structured and unstructured data records
WO2018199913A1 (en) * 2017-04-25 2018-11-01 Hewlett-Packard Development Company, L.P. Machine-learning command interaction

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115329742A (zh) * 2022-10-13 2022-11-11 深圳市大数据研究院 基于文本分析的科研项目产出评价验收方法及系统

Also Published As

Publication number Publication date
JP7255684B2 (ja) 2023-04-11
JPWO2021009861A1 (ja) 2021-01-21
US20220114824A1 (en) 2022-04-14

Similar Documents

Publication Publication Date Title
CN108846126B (zh) 关联问题聚合模型的生成、问答式聚合方法、装置及设备
CN111444320B (zh) 文本检索方法、装置、计算机设备和存储介质
WO2021159632A1 (zh) 智能问答方法、装置、计算机设备及计算机存储介质
KR20210038449A (ko) 문답 처리, 언어 모델 훈련 방법, 장치, 기기 및 저장 매체
US10922991B2 (en) Cluster analysis of participant responses for test generation or teaching
CN110795542B (zh) 对话方法及相关装置、设备
US20180068221A1 (en) System and Method of Advising Human Verification of Machine-Annotated Ground Truth - High Entropy Focus
US20200293553A1 (en) Information processing apparatus, information processing method, and program
CN112966081B (zh) 处理问答信息的方法、装置、设备和存储介质
US20190179901A1 (en) Non-transitory computer readable recording medium, specifying method, and information processing apparatus
US20220036162A1 (en) Network model quantization method and electronic apparatus
CN109492085B (zh) 基于数据处理的答案确定方法、装置、终端及存储介质
US20220058349A1 (en) Data processing method, device, and storage medium
Li-guo et al. A new naive Bayes text classification algorithm
CN113821527A (zh) 哈希码的生成方法、装置、计算机设备及存储介质
WO2021009861A1 (ja) 特定プログラム、特定方法、および特定装置
Lin et al. Enhancing educational dialogue act classification with discourse context and sample informativeness
JPWO2021009861A5 (ja)
WO2019167281A1 (ja) 応答処理プログラム、応答処理方法、応答処理装置および応答処理システム
CN112559711A (zh) 一种同义文本提示方法、装置及电子设备
CN111597336A (zh) 训练文本的处理方法、装置、电子设备及可读存储介质
US20220300836A1 (en) Machine Learning Techniques for Generating Visualization Recommendations
CN110347807A (zh) 问题信息处理方法及装置
Rosén What did you expect?: A human-centered approach to investigating and reducing the social robot expectation gap
CN110633363B (zh) 一种基于nlp和模糊多准则决策的文本实体推荐方法

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021532613

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19937968

Country of ref document: EP

Kind code of ref document: A1