Data management apparatus, data management method, and program
Patent Information
- Application Number
- JP2022023965
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2022-02-18
- Publication Date
- 2025-02-25
- Estimated Expiration
- 2042-02-18
AI Technical Summary
Existing FAQ systems face challenges in convenience due to insufficient extraction accuracy of question and answer candidates, inclusion of unnecessary text, and high manual effort for representative group extraction.
A data management system that vectorizes sentence data, clusters similar questions and answers, and recommends registration of representative sentences using a control unit and communication unit, reducing manual effort and improving accuracy.
Enhances the convenience of FAQ systems by improving extraction accuracy and reducing manual labor in managing and registering question and answer data, while minimizing unnecessary text inclusion.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
[Technical Field]
[0001] The present disclosure relates to a data management device, a data management method, and a program. [Background technology]
[0002] A known FAQ system generates FAQs (Frequently Asked Questions) by pattern-recognizing candidate questions (candidate Q) and candidate answers (candidate A) from a dialogue log. A known pattern recognition model for this pattern recognition is one in which a classifier is trained by supervised learning using a feature value calculated for each record, which is an individual utterance constituting the series of conversations, as input for the record, which is a morphological analysis of the dialogue log, which is a series of conversations between a questioner and a respondent, as text, including at least one of the following features: utterance length, which is the number of morphemes per utterance; common keyword appearance count, which is the number of appearances of words common before and after the utterance; keyword importance sum, which is the sum of importance of peripheral keywords per utterance; and interjection count, which is the number of interjections present in utterances between 1 and 5 inclusive after the utterance; and a candidate label, which indicates whether the candidate Q corresponds to a question posed by the questioner or whether the candidate A corresponds to an answer given by the respondent, is output (see Patent Document 1).
[0003] Furthermore, there is known an information processing device that performs document clustering to assist users in finding a target document based on full-text search results. One such information processing device includes: a document retrieval unit that performs a full-text search of documents to retrieve retrieved documents that match a search condition; a document scoring unit that ranks the retrieved documents based on a relevance score that indicates the relevance to the search condition; a feature word file database in which document identifiers for identifying the documents, feature words extracted from full-text data of the documents, and weight values that indicate the weights of the feature words are registered in association with each other; and a document clustering unit that performs a clustering process on the retrieved documents based on the feature words and weight values obtained from the feature word file database using the document identifiers of the retrieved documents as a key, and creates a list of search results. The information processing device also includes a document grouping unit that groups the retrieved documents based on the relevance scores, and the document clustering unit performs a clustering process on the retrieved documents within each group grouped by the document grouping unit (see Patent Document 2). [Prior art documents] [Patent documents]
[0004] [Patent Document 1] Japanese Patent Application Publication No. 2020-71690 [Patent Document 2] Japanese Patent Application Laid-Open No. 2010-9577 Summary of the Invention [Problem to be solved by the invention]
[0005] In the case of an FAQ system using the pattern recognition model of Patent Document 1, and in the case of applying the information processing device of Patent Document 2 to an FAQ system, the convenience of the FAQ system is insufficient and there is room for improvement.
[0006] The present disclosure provides a data management device, a data management system, a data management method, and a program that can improve the convenience of an FAQ system. [Means for solving the problem]
[0007] One aspect of the present disclosure is a data management device that manages questions and answers to the questions, comprising a control unit and a communication unit, wherein the control unit acquires a plurality of text data, vectorizes the plurality of text data to create a plurality of text vectors, extracts a plurality of question texts from the plurality of text data based on the plurality of text vectors, clusters the extracted plurality of question texts into question clusters containing mutually similar question texts based on a plurality of question text vectors, which are a plurality of text vectors corresponding to the plurality of question texts, determines, for each question cluster, a representative question text that represents the questions belonging to the question cluster that corresponds to the center of the question cluster, and the communication unit transmits registration recommendation information that recommends registering the determined representative question text in a storage device to an administrator terminal used by an administrator who manages the data management device.
[0008] One aspect of the present disclosure is a data management system comprising: a data management device that manages questions and answers to the questions; and an administrator terminal that manages the data management device, wherein the data management device acquires a plurality of pieces of text data, vectorizes the plurality of pieces of text data to create a plurality of text vectors, extracts a plurality of questions from the plurality of text data based on the plurality of text vectors, clusters the extracted plurality of questions into question clusters containing questions that are similar to each other based on a plurality of question text vectors that are a plurality of text vectors corresponding to the plurality of questions, determines, for each question cluster, a representative question text that represents the questions belonging to the question cluster that corresponds to the center of the question cluster, and transmits registration recommendation information recommending that the determined representative question text be registered in a storage device to an administrator terminal used by an administrator that manages the data management device, and the administrator terminal receives and displays the registration recommendation information.
[0009] One aspect of the present disclosure is a data management method for managing questions and answers to the questions, the data management method comprising the steps of: acquiring, by a processor, a plurality of pieces of text data; vectorizing the plurality of pieces of text data to create a plurality of text vectors; extracting a plurality of question sentences from the plurality of text data based on the plurality of text vectors; clustering the extracted plurality of question sentences into question clusters containing mutually similar questions based on a plurality of question sentence vectors, which are a plurality of text vectors corresponding to the plurality of question sentences; determining, for each question cluster, a representative question sentence that represents the questions belonging to the question cluster that corresponds to the center of the question cluster; and transmitting registration recommendation information that recommends registering the determined representative question sentence in a storage device to an administrator terminal used by an administrator who manages the data management device.
[0010] One aspect of the present disclosure is a program that causes a computer to execute the above-described data management method. [Effects of the Invention]
[0011] According to the present disclosure, the convenience of the FAQ system can be improved. [Brief explanation of the drawings]
[0012] [Figure 1] FIG. 1 is a schematic diagram illustrating a configuration example of an FAQ processing system according to a first embodiment of the present disclosure. [Figure 2] Block diagram showing an example of a FAQ server configuration [Figure 3] Diagram explaining the overview of the FAQ chat screen [Figure 4] Sequence diagram showing the operation of the FAQ processing system [Figure 5] An example of an inquiry email [Figure 6] A diagram showing an example of classification of inquiry emails [Figure 7]A diagram showing an example of clustering of derived questions and registration recommendation information for QA data corresponding to the center data of the cluster. [Figure 8] 1 is a flowchart showing an example of operation of an FAQ server supporting Q&A registration in an FAQ knowledge base. [Figure 9] Flowchart showing an example of QA text extraction processing [Figure 10] 10 is a flowchart showing another example of extracting a representative answer sentence corresponding to a representative question sentence. [Figure 11A] FIG. 10 is a block diagram showing a configuration example of an FAQ server according to a second embodiment of the present disclosure. [Figure 11B] An image of the FAQ chat screen where questions are narrowed down [Figure 12] FIG. 10 is a diagram illustrating an image of clustering in the second embodiment. [Figure 13] A diagram showing an example of search results (candidates) including Q numbers and question candidate sentences. [Figure 14] An example of the results of vectorizing a question candidate sentence [Figure 15] A diagram showing an example of clusters and candidate question sentences after vector clustering. [Figure 16] A diagram showing an example of the results of vectorizing question candidate sentences for each cluster. [Figure 17] A diagram showing an example of feature words extracted for each cluster. [Figure 18] An example of an FAQ chat screen that allows for narrowing down questions [Figure 19] A network diagram showing an example of the relationship between each feature word [Figure 20] FIG. 10 is a block diagram showing an example of the configuration of an FAQ server according to a third embodiment; [Figure 21] FIG. 10 is a diagram showing an example of information in which correspondence between email destinations and parts of the email body that need to be confirmed are highlighted. DETAILED DESCRIPTION OF THE INVENTION
[0013] Hereinafter, embodiments will be described in detail with reference to the drawings as appropriate. However, more detailed description than necessary may be omitted. For example, detailed description of well-known matters or redundant description of substantially identical configurations may be omitted. This is to avoid unnecessary redundancy in the following description and to facilitate understanding by those skilled in the art. Note that the accompanying drawings and the following description are provided to enable those skilled in the art to fully understand the present disclosure, and are not intended to limit the subject matter described in the claims.
[0014] (How the first embodiment was achieved) In the FAQ system using the pattern recognition model of Patent Document 1, after morphological analysis of text, human-designed features are extracted as candidates for question Q and answer A, resulting in insufficient extraction accuracy. Furthermore, unnecessary text contained in emails or chat logs that are the basis for creating the FAQ may be mixed in with the candidate Qs or As. Furthermore, manually extracting a group of representative questions for Q and A requires a lot of man-hours. The first embodiment aims to improve on these points.
[0015] (FAQ system configuration) 1 is a block diagram of an FAQ system 5 according to a first embodiment of the present disclosure. The FAQ system 5 includes an FAQ server 100, an FAQ knowledge base 150, a user terminal 200, and an administrator terminal 300. The FAQ server 100, the user terminal 200, and the administrator terminal 300 are connected to each other so as to be able to communicate with each other, for example, via wired or wireless communication. The FAQ system 5 is an example of a data management system.
[0016] The FAQ server 100 is a device that performs processing related to FAQs, and as will be described later, performs processing to support registration in the FAQ knowledge base 150, processing to narrow down questions, etc. The FAQ server 100 has a search function that searches for questions and answers. The FAQ server 100 can also operate as an FAQ chatbot CB. The FAQ chatbot CB accepts questions from users and answers the questions by referring to the FAQ knowledge base 150.
[0017] The FAQ knowledge base 150 is a database for knowledge management related to FAQs, and is constructed, for example, as a database server. The FAQ knowledge base 150 may have, for example, a control function, a storage function, and a communication function, similar to a general server. Note that the FAQ knowledge base 150 may be included in the FAQ server 100, or may be configured integrally with the FAQ server 100.
[0018] The user terminal 200 is a terminal used by a user. This user is a person who uses the FAQ service provided by the FAQ system 5 (i.e., a questioner). The administrator terminal 300 is a terminal used by an administrator (operator). This administrator is a person who manages the FAQ service provided by the FAQ system 5. The administrator may include an answerer who answers questions posed by questioners. Alternatively, the administrator may not include an answerer, and an answerer terminal used by the answerer may be provided separately from the administrator terminal. Here, as an example, it is assumed that the administrator includes an answerer. The user terminal 200 and the administrator terminal 300 are capable of communicating directly.
[0019] The FAQ server 100 receives a question from the user terminal 200 and attempts to answer the question. If the FAQ server 100 is able to answer the question, it sends an answer to the user terminal 200. On the other hand, if the question cannot be answered, the user terminal 200 and the administrator terminal 300 communicate the question and the answer to this question using an email function or a chat function. The administrator terminal 300 and the user terminal 200 may communicate via the FAQ server 100.
[0020] 2 is a block diagram showing an example of the configuration of the FAQ server 100. The FAQ server 100 includes a control unit 110, a storage unit 130, and a communication unit 140.
[0021] The control unit 110 is configured by, for example, a processor, and realizes various functions by executing programs stored in the storage unit 130. The processor may include an MPU (Micro Processing Unit), a CPU (Central Processing Unit), a DSP (Digital Signal Processor), etc. The processor may include various integrated circuits (for example, an LSI (Large Scale Integration) or an FPGA (Field Programmable Gate Array)). The control unit 110 controls the operation of each unit of the FAQ server 100 and performs various processes. For example, the control unit 110 performs processes related to FAQs.
[0022] The storage unit 130 includes a primary storage device (for example, a RAM (Random Access Memory) or a ROM (Read Only Memory)). The storage unit 130 may include a secondary storage device (for example, a HDD (Hard Disk Drive) or a SSD (Solid State Drive)) or a tertiary storage device (for example, an optical disk or an SD card). The storage unit 130 may include other storage devices. The storage unit 130 may be removable from the FAQ server 100. The storage unit 130 stores various types of data, information, programs, etc.
[0023] The storage unit 130 includes a non-chat log database (DB) 131, a chat log database (DB) 132, and a Q&A database (DB) 133.
[0024] The non-chat log database 131 holds inquiry logs other than chat logs. A non-chat log, which is a log of inquiries other than chat logs, is, for example, a log (historical information) related to inquiries made by email or telephone. The non-chat log may also include data indicating the contents of email text or telephone calls.
[0025] The chat log database 132 stores a log (historical information) of inquiries made by chat. The chat log may also include the chat text.
[0026] In this way, the non-chat log database 131 and the chat log database 132 store various data and emails exchanged between users and respondents in the past.
[0027] The QA database 133 stores QA data obtained based on chat logs or non-chat logs. The QA data includes questions and answers to those questions. The QA database 133 may also store data accompanying the QA data, such as the mapping results of clustering (described below), feature vectors of questions obtained from text data (question statement vectors), feature vectors of answers (answer statement vectors), and information on links that can reference the QA data. The mapping results of clustering, question statement vectors, and answer statement vectors are used to determine the similarity of multiple QA data.
[0028] The communication unit 140 communicates various data or information. The communication method used by the communication unit 140 may be wired communication or wireless communication, and may include communication methods such as LAN (Local Area Network), WAN (Wide Area Network), power line communication, or cellular communication for mobile phones (e.g., 5G, LTE (Long Term Evolution)). The communication unit 140 can communicate with, for example, the FAQ knowledge base 150, the user terminal 200, and the administrator terminal 300, and may also be able to communicate with other communication devices.
[0029] The control unit 110 has the following functional configuration: a sentence extraction unit 111, a word segmentation unit 112, a vectorization unit 113, a classification unit 114, a vector similarity calculation unit 115, a clustering unit 116, a cluster center calculation unit 117, a named entity extraction unit 119, and an anonymization processing unit 121.
[0030] The sentence extraction unit 111 extracts sentence data (text data) from the chat log or non-chat log stored in the storage unit 130. The word division unit 112 divides the extracted sentence data into word units through morphological analysis, for example, using a natural language processing model. Note that the control unit 110 may divide the data into units such as characters or subwords, not just into words.
[0031] The vectorization unit 113 vectorizes the extracted text data using a natural language processing model (for example, BERT (Bidirectional Encoder Representations from Transformers) or other models) to generate feature vectors (text vectors).
[0032] The classification unit 114 classifies the text data based on the generated text vectors using a natural language processing model. For example, the classification unit 114 performs annotation for classification in advance, classifies the extracted text data, and extracts questions and answers from the text data. The classification unit 114 performs a QA association process on the extracted questions and answers to generate QA data including the questions and their answers. In the QA association process, if the email body stored in the storage unit 160 contains one question, the classification unit 114 may extract an answer from a reply email from the administrator and associate the question with the answer. If the email body stored in the storage unit 160 contains multiple questions, the classification unit 114 may associate each question with an answer email for each question.
[0033] Among the sentence vectors, a vectorized question sentence is also referred to as a question sentence vector, and a vectorized answer sentence is also referred to as an answer sentence vector.Furthermore, a vectorized question sentence candidate (question candidate sentence), which will be described later, is also referred to as a question candidate sentence vector.
[0034] The vector similarity calculation unit 115 calculates the similarity (correlation) of each sentence vector generated by the vectorization unit 113 using a natural language processing model.
[0035] The clustering unit 116 uses a predetermined clustering method (for example, the k-Means method or other clustering method) to cluster the question sentences based on the similarity of each derived sentence vector (each question sentence vector), and divides them into multiple clusters (question clusters). By clustering, multiple question sentences are classified to belong to one of multiple question clusters. Similarly, by using a predetermined clustering method (for example, the k-Means method), answer sentences are clustered based on the similarity of each derived sentence vector (each answer sentence vector), and divided into multiple clusters (answer clusters). Furthermore, answer sentences may be clustered in association with question sentences. By clustering, multiple answer sentences are classified to belong to one of multiple answer clusters.
[0036] Clustering does not require training data, and therefore the FAQ server 100 does not require prior learning and can quickly classify, for example, question sentences and answer sentences.
[0037] The cluster center calculation unit 117 extracts cluster center data for each cluster based on a predetermined clustering method. That is, the cluster center calculation unit 117 derives a question sentence at the cluster center as a representative question sentence QR. Note that the cluster center calculation unit 117 may extract cluster center data using a method other than the k-Means algorithm.
[0038] The named entity extraction unit 119 analyzes words included in the text data using, for example, a natural language processing model, and extracts proper nouns (named entities) such as people's names, company names, addresses, or telephone numbers.
[0039] The anonymization processing unit 121 performs an anonymization process on the extracted named entities. The anonymization process is data processing that deletes or changes information that can identify an individual. The anonymization process may include, for example, changing the named entity to a generic or common name, changing the named entity to a specific expression (e.g., XXX), deleting the named entity, or other anonymization processes.
[0040] Next, the configurations of the user terminal 200 and the administrator terminal 300 will be described.
[0041] The user terminal 200 and the administrator terminal 300 include, for example, a personal computer (PC), a smartphone, or a tablet terminal. The user terminal 200 and the administrator terminal 300 include, for example, a control unit, a storage unit, a communication unit, an operation unit, and a display unit.
[0042] Next, an overview of the FAQ system 5 will be described. FIG. 3 is a diagram illustrating an overview of the FAQ chat screen.
[0043] The FAQ knowledge base 150 stores Q&A data. When the user terminal 200 sends a question Q to the FAQ chatbot CB and does not receive an answer A to this question Q, the user terminal 200 sends the question Q to the administrator terminal 300 and inquires as a Q&A. In this case, the control unit 110 of the FAQ server 100 analyzes the question Q from the user terminal 200 and the answer A from the administrator terminal 300, and generates new Q&A data. The generated Q&A data can be registered in the FAQ knowledge base 150. This increases the amount of Q&A data registered in the FAQ knowledge base 150, thereby increasing the number of questions that the FAQ chatbot CB can answer. When the administrator intends to register Q&A data in the FAQ knowledge base 150 using the administrator terminal 300, the FAQ server 100 performs a registration support process for the FAQ knowledge base 150 (first embodiment).
[0044] Furthermore, the FAQ server 100 receives an arbitrary question sentence Q (Q0) and searches for FAQs related to this question from the QA data held in the FAQ knowledge base 150. A plurality of QA data are obtained as search result candidates (result candidates) as question candidate sentences QC. The result candidates vary depending on the question. Therefore, the FAQ server 100 selects characteristic word (keyword) KWs that narrow down the result candidates by creating characteristic word KWs each time according to the result candidates. In this way, the FAQ server 100 performs a question narrowing down process (second embodiment).
[0045] FIG. 4 is a sequence diagram showing an outline of the operation of the FAQ system 5. As shown in FIG.
[0046] First, in the FAQ server 100, in order to generate an answer A to a question Q from a user using the FAQ chatbot CB, the control unit 110 registers QA data including the FAQ question Q and the answer A in the FAQ knowledge base 150 in advance (before the FAQ chatbot CB is operated) (S11). Note that the FAQ QA data may be registered in the FAQ knowledge base 150 while the FAQ chatbot CB is in operation. Note that there may be cases where only either the FAQ question Q or the answer A is registered in the FAQ knowledge base 150.
[0047] The user terminal 200 inputs an arbitrary question Q0 into the FAQ chat using, for example, the FAQ chat screen G1 (S21). The user terminal 200 transmits this question Q0 to the FAQ server 100 (FAQ chatbot CB).
[0048] In the FAQ server 100, the communication unit 140 receives the question sentence Q0, and the control unit 110 extracts question candidate sentences QC related to the question sentence Q0 from the FAQ knowledge base 150 (S12). The control unit 110 generates a group of question candidates (question candidate cluster) including similar question candidates from the extracted question candidate sentences QC (S13). The control unit 110 sets a word indicating the classification of the group of question candidates (for example, a characteristic word KW indicating a characteristic in the classification) (S14). The control unit 110 instructs the user terminal 200 via the communication unit 140 to display the set characteristic word KW (S15).
[0049] The user terminal 200 receives one or more characteristic word keywords and an instruction to display the characteristic word keywords from the FAQ server 100, and displays the characteristic word keywords on the display unit in accordance with this instruction. The user terminal 200 accepts a selection operation by the user, for example, via an operation unit, and selects, from the received characteristic word keywords, the characteristic word keyword that is closest to the content of the inquiry the user wants to make (S22). The user terminal 200 transmits the selected characteristic word keyword to the FAQ server 100.
[0050] In the FAQ server 100, the communication unit 140 receives the selected feature word KW from the user terminal 200. The control unit 110 instructs the user terminal 200 to display the question candidate sentence QC included in the question candidate group corresponding to the selected feature word KW (S16). The user terminal 200 receives the question candidate sentence QC included in the question candidate group corresponding to the selected feature word KW and the instruction to display it from the FAQ server 100, and displays the received question.
[0051] Alternatively, if there are many questions included in the question candidate group corresponding to the selected feature word KW, the FAQ server 100 recreates a question candidate group including similar question candidates from this question candidate group, as in step S13 (S16). Compared to the creation of the question candidate group in step S13, the recreated question candidate group in step S16 narrows the range of relevance of the question candidates, and the questions are narrowed down. Note that when recreating the question candidate group, the processes of steps S14 to S16 following step S13 are performed again.
[0052] Step S11 relates to the process of recommending registration in the FAQ knowledge base 150, and will be described in detail in the third embodiment. Steps S12 to S16 and steps S21 and S22 relate to the process of narrowing down questions, and will be described in detail in the second embodiment.
[0053] Next, the registration support process for the FAQ knowledge base 150 will be described in detail.
[0054] Fig. 5 is a diagram showing an example of an inquiry email M1. Fig. 6 is a diagram showing an example of classification of the inquiry email M1. The inquiry email M1 is an inquiry email including a question Q. Fig. 7 is a diagram showing an example of derived clustering of the question Q and registration recommendation information for QA data corresponding to the center data of the cluster.
[0055] The inquiry email M1 is, for example, acquired by the FAQ server 100 from the user terminal 200 of an arbitrary user and stored in the non-chat log database 131 of the storage unit 130. The text extraction unit 111 extracts text data from this inquiry email M1. The text extraction unit 111 may perform preprocessing, such as deleting quoted text and signatures included in the inquiry email M1 or normalizing the text data included in the inquiry email M1. The vectorization unit 113 vectorizes the extracted text data and generates text vectors. The classification unit 114 classifies the text data based on the generated text vectors. The inquiry email M1 is classified into, for example, a greeting message including a greeting from the user, a question message Q including a question, a background message including the background of the question, a greeting message added to the end of the email, etc., as shown in FIG. 6. In other words, the question message Q can be extracted from the inquiry email M1.
[0056] Similarly, a reply email to the inquiry email M1 is acquired by the FAQ server 100 from an arbitrary administrator terminal 300 and stored in the non-chat log database 131 of the storage unit 130. The text extraction unit 111 extracts text data from this reply email. The text extraction unit 111 may perform preprocessing, such as deleting quotations and signatures from the reply email or normalizing the text from the reply email. The vectorization unit 113 converts the extracted text into feature vectors and generates a text vector. The classification unit 114 classifies the text data based on the generated text vector using a natural language processing model. Although not shown, the reply email is classified into a greeting message containing a greeting from the respondent, an answer message A containing an answer to the question Q, a reason message containing the reason for the answer, a thank you message attached to the end of the email, etc. Note that the answer message A may also contain a reason message. In other words, the answer message A can be extracted from the reply email.
[0057] The control unit 110 generates QA data including a pair of a question sentence Q derived from the inquiry email M1 and a reply sentence A derived from a reply email to this inquiry email M1, and stores the QA data in the QA database 133. In this way, the control unit 110 may generate a large number of QA data from a large number of inquiry emails M1 and a large number of reply emails stored in the non-chat log database 131, and store the QA data in the QA database 133. Also, although the example shown here is of QA data being generated based on emails that are non-chat logs, the control unit 110 may similarly generate QA data based on chat logs of inquiries and chat logs of answers stored in the chat log database 132, and store the QA data in the QA database 133. In this way, a large number of QA data with a proven track record in the past are stored in the QA database 133.
[0058] It should be noted that the QA data held in the QA database 133 is rough QA data. Specifically, the QA database 133 may contain a large amount of QA data that are similar in content.
[0059] The clustering unit 116 clusters the questions Q based on the question vectors obtained by the vectorization unit 113. FIG. 7 illustrates mapping information MP for question clusters C1, C2, and C3. While FIG. 7 illustrates the results of two-dimensional clustering, clustering in two or more dimensions (e.g., three dimensions) may also be used. The cluster center calculation unit 117 extracts cluster center data for each question cluster; that is, the cluster center calculation unit 117 derives the question Q at the cluster center as a representative question QR, which is a representative question.
[0060] Similarly, the clustering unit 116 clusters the answer sentences A to the question sentence Q based on the answer sentence vectors obtained by the vectorization unit 113. The cluster center calculation unit 117 derives the answer sentence A at the cluster center for each answer cluster as a representative answer sentence AR, which is a representative answer. The representative question sentence QR and the representative answer sentence AR are collectively defined as representative QA data. Note that if there are multiple answer sentences A to the question sentence Q, the answer sentences A are clustered, but if there is only one answer sentence A to the question sentence Q, clustering of the answer sentences A is not necessary, and the single answer sentence A becomes the representative answer sentence AR. Note that similarly, the clustering unit 116 may also cluster the question sentence Q, and the cluster center calculation unit 117 may calculate the representative question sentence QR.
[0061] The communication unit 140 instructs the administrator terminal 300 to display registration recommendation information I1 that recommends registering the representative QA data in the FAQ knowledge base 150. The administrator terminal 300 receives the instruction to display the registration recommendation information I1 and displays the registration recommendation information I1 in accordance with this instruction. In Figure 7, the representative question sentence QR and its representative answer sentence AR of question cluster C3 are displayed.
[0062] For example, when an administrator who has checked the representative QA data specifies via an operation unit that the representative QA data be registered, the administrator terminal 300 registers (stores) the representative QA data in the FAQ knowledge base 150. This adds QA data that was not previously stored in the FAQ knowledge base 150. Therefore, the FAQ chatbot CB can answer questions from the user terminal 200 based on this QA data.
[0063] In this way, the control unit 110 of the FAQ server 100 extracts central data of each cluster from among the similar question sentences Q and similar answer sentences A stored in the QA database 133. The central data of each cluster is expected to be a representative question sentence Q or answer sentence A in each cluster that includes similar question sentences Q or answer sentences A. In other words, the FAQ server 100 can extract a representative question sentence QR and representative answer sentence AR that are at the center of a cluster. Therefore, the FAQ knowledge base 150 registers the representative question sentence QR of the similar question sentences Q and the representative answer sentence AR of the similar answer sentences A. In other words, the FAQ server 100 can prevent unnecessary question sentences Q and answers A from being registered in the FAQ knowledge base 150.
[0064] FIG. 8 is a flowchart showing an example of an operation of the FAQ server 100 to support registration of a question and answer in the FAQ knowledge base 150. In FIG.
[0065] First, the control unit 110 inputs an email from the non-chat log database 131 (S31). The control unit 110 inputs a chat log from the chat log database 132 (S31). The control unit 110 performs a Q&A text extraction process (S32). In the Q&A text extraction process, a question Q and an answer A are extracted from the input email or the like.
[0066] 9 is a flowchart showing an example of the Q&A text extraction process in step S32. In the Q&A text extraction process, the vectorization unit 113 vectorizes the text data in each email or chat log to generate a text vector (S41). The classification unit 114 classifies the text data based on the generated text vector (S42). By classifying the text data, for example, a question Q, an answer A, etc. are obtained. The control unit 110 registers the obtained question Q, the answer A corresponding to the question Q (corresponding answer), the feature vector of the question Q (question text vector), and the feature vector of the answer A (answer text vector) in the Q&A database 133 (S43).
[0067] Returning to FIG. 8 , the clustering unit 116 clusters the question sentence vectors registered in the QA database 133 (S33). The cluster center calculation unit 117 extracts a central question sentence Q (representative question sentence QR) from each question sentence Q of each question cluster obtained by clustering (S34). The cluster center calculation unit 117 extracts an answer sentence A (representative answer sentence AR) corresponding to the extracted representative question sentence QR, for example, from the QA database 133 (S35). The communication unit 140 instructs the administrator terminal 300 used by the administrator to display the representative question sentence QR and the representative answer sentence AR, and to display registration recommendation information recommending registration in the FAQ knowledge base (S36).
[0068] Note that the representative answer sentence AR may be extracted by other processing instead of the processing of step S35 shown in Fig. 8. Fig. 10 is a flowchart showing another example of extraction of a representative answer sentence AR corresponding to a representative question sentence QR. For example, a question sentence cluster may include not only one or more question sentences Q (question sentence vectors) but also one or more answer sentences A (answer sentence vectors). The clustering unit 116 may cluster the feature vectors of the answer sentences A in each question cluster, and extract the answer sentence A that is the center of the answer cluster obtained by clustering as the representative answer sentence AR (S35A).
[0069] If the inquiry email contains only one question Q, the control unit 110 may extract the answer A from the reply email to this inquiry email, and generate Q&A data by associating this question Q with the answer A. If the inquiry email contains multiple questions Q, the control unit 110 may refer to the multiple answer sentences A stored in the non-chat log database 131, and manually (i.e., by the administrator) associate each question Q with each answer A via the operation unit of the administrator terminal 300, to generate multiple Q&A data.
[0070] In other words, the support for registering questions and answers in the FAQ knowledge base 150 can be said to involve the following processing. The control unit 110 extracts only the text of the question Q and the answer A from emails, chat logs, etc., creates rough FAQ information, and stores it in the QA database 133. The control unit 110 clusters the questions Q in the rough FAQ information to group (cluster) similar questions Q. The control unit 110 instructs the system to present to the administrator a representative question QR that is the center of the group (cluster) and a representative answer AR that corresponds to this representative question QR. The control unit 110 may also present the representative answer AR to the administrator by clustering answers A of the same question group.
[0071] Before transmitting the registration recommendation information to the administrator terminal 300, the vector similarity calculation unit 115 of the FAQ server 100 may determine whether the representative question QR does not match or is not similar (has low similarity) to a past question (question Q of the QA data stored in the QA database 133). Not being similar means, for example, that the similarity between the two is equal to or less than a predetermined threshold. If the representative question QR does not match or is not similar to a past question (question Q of the QA data stored in the QA database 133), the registration recommendation information may be transmitted, and if they match or are similar, the registration recommendation information does not need to be transmitted. This enables the FAQ server 100 to prevent the administrator from registering representative QA data similar to QA data including past question Q in the FAQ knowledge base 150.
[0072] Next, variations of the FAQ system 5 of this embodiment will be described.
[0073] In the FAQ server 100, the control unit 110 may perform the following: For example, the control unit 110 may use a natural language processing model to summarize one or more questions Q. This reduces redundant information in the questions Q, resulting in questions Q that can be read quickly.
[0074] Furthermore, the control unit 110 may use a natural language processing model to reconstruct one or more questions Q into questions Q that are correct in Japanese structure, thereby obtaining easy-to-understand questions Q.
[0075] Furthermore, the control unit 110 may cause the named entity extraction unit 119 to use, for example, a natural language processing model to detect predetermined expressions (e.g., checking for typos, compliance violations, offensive expressions, or monetary information) included in the question Q based on feature vectors of words in the question Q. The control unit 110 may correct the detected expressions.
[0076] Furthermore, the control unit 110 may cause the named entity extraction unit 119 to detect personal information (e.g., name, address, or telephone number) included in the question Q based on a feature vector of words in the question Q, for example, using a natural language processing model. The anonymization processing unit 121 may perform anonymization processing (e.g., deletion) on the detected personal information. As a result, the question Q containing no personal information is obtained. In this case, the communication unit 140 of the FAQ server 100 may transmit anonymization information indicating that the personal information has been anonymized to the administrator terminal 300. Upon receiving the anonymization information, the administrator terminal 300 may display on the display unit a selection screen for selecting either the question Q containing personal information or the question Q not containing personal information. The administrator terminal 300 may perform a selection operation on the selection screen via the operation unit, and, depending on the selection operation, may recommend registering, in the FAQ knowledge base 150, either representative QA data including the question Q containing personal information or representative QA data including the question Q not containing personal information. Furthermore, the communication unit 140 may transmit the registration recommendation information to the administrator terminal 300 after anonymizing the personal information.
[0077] When a user asks the FAQ chatbot CB a question and tries to get an answer, the FAQ chatbot CB registers representative QA data in the FAQ knowledge base 150 as a pre-processing step using the registration support process for the FAQ knowledge base 150 as described above. The FAQ chatbot CB refers to the FAQ knowledge base 150, and when it receives an answerable question Q from the user terminal 200, it transmits an answer A to the question Q to the user terminal 200. The FAQ chatbot CB refers to the FAQ knowledge base 150, and when it receives an unanswerable question Q from the user terminal 200, it responds to the user terminal 200 that it cannot answer the question Q.
[0078] Then, when the user confirms through the display unit of the user terminal 200 that he or she has not received an answer to the question Q, the user terminal 200 sends the question Q to the administrator terminal 300 by email, chat, or the like (hereinafter also referred to as a "direct question"). Also, if the user does not want an answer from the FAQ chatbot CB, the user terminal 200 may ask the administrator terminal 300 a question directly. Similarly, the administrator terminal 300 sending an answer A to the question Q received by email, chat, or the like to the administrator terminal 300 is also referred to as a "direct answer." When a direct question or a direct answer is made, the following processing may be performed.
[0079] When the user terminal 200 directly asks the administrator terminal 300 a question, the administrator terminal 300, upon receiving the question Q from the user terminal 200, sends an inquiry to the FAQ server 100 including the question Q. In the FAQ server 100, the control unit 110 acquires QA data including a question Q similar to the question Q included in the inquiry from the administrator terminal 300 from the QA data stored in the QA database 133 or the FAQ knowledge base 150, and the communication unit 140 transmits the acquired data to the administrator terminal 300. Whether the questions Q are similar to each other may be determined by the vector similarity calculation unit 115 based on the question vectors. The administrator terminal 300 receives the QA data from the FAQ server 100 and transmits an answer A included in the QA data to the user terminal 200 in response to the question Q from the user terminal 200. This allows an answerer using the administrator terminal 300 to answer the question from the questioner by referring to past QAs similar to the question, thereby reducing the man-hours required to create the answer A.
[0080] Furthermore, when the user terminal 200 directly asks the administrator terminal 300 a question, upon receiving the question Q from the user terminal 200, the administrator terminal 300 sends an inquiry to the FAQ server 100 including the question Q. In the FAQ server 100, the control unit 110 refers to the QA database 133 to acquire information on a link that can refer to QA data including the question Q included in the inquiry or QA data (similar QA data) including a question Q similar to this question Q (similar question), and the communication unit 140 transmits this information to the administrator terminal 300. The administrator terminal 300 receives the information on the link from the FAQ server 100 and transmits it to the user terminal 200. As a result, a respondent using the administrator terminal 300 can check the answer A included in the QA data or similar QA data by accessing the link and can answer by referring to this answer A, thereby reducing the man-hours required to create the answer A.
[0081] Furthermore, when the user terminal 200 directly asks the administrator terminal 300 a question, upon receiving the question Q from the user terminal 200, the administrator terminal 300 sends a query to the FAQ server 100 including the question Q. In the FAQ server 100, the control unit 110 identifies a cluster to which the QA data including the question Q included in the query belongs, and references the QA database 133 to extract other QA data belonging to this cluster. The control unit 110 also generates mapping information in which each QA data of the extracted cluster is mapped onto a two-dimensional plane or three-dimensional space, and also generates tool tip information. The communication unit 140 transmits the generated mapping information and tool tip information to the user terminal 200. The administrator terminal 300 receives the mapping information and tool tip information from the FAQ server 100 and displays them on the display unit. As a result, a respondent using the administrator terminal 300 can intuitively grasp the relationship between each QA data in the question cluster (question group) to which the received question belongs by checking the mapping information. Therefore, the answerer using the administrator terminal 300 can answer the question from the asker by referring to past Q&A similar to the question, and the man-hours required for creating the answer sentence A can be reduced.
[0082] Furthermore, when the user terminal 200 directly asks the administrator terminal 300 a question, upon receiving the question Q from the user terminal 200, the administrator terminal 300 sends a query to the FAQ server 100 including the question Q. In the FAQ server 100, the control unit 110 calculates, for example, using a natural language processing model, the similarity between each question Q of each QA data of each question cluster stored in the QA database 133 or the FAQ knowledge base 150 and the question Q included in the query from the administrator terminal 300. In this case, the control unit 110 may calculate the similarity between each question Q of each QA data stored in the QA database 133 or the FAQ knowledge base 150 based on a feature vector of the question Q included in the query. If the similarity is less than a predetermined threshold, the communication unit 140 may transmit, to the administrator terminal 300, early registration recommendation information that recommends early registration of the QA data including the question Q included in the query in the QA database 133 or the FAQ knowledge base 150. The administrator terminal 300 may receive early registration recommendation information from the FAQ server 100 and display it on the display unit.
[0083] When a service using the FAQ system 5 is launched, new QA data increases rapidly based on the exchanges between users and answerers. In response to this, the FAQ system 5 can inform answerers if the similarity of a question Q newly asked by a user is significantly different from that of the question Q in the QA data held in the QA database 133 or the FAQ knowledge base 150, and prompt them to quickly register the QA data including the question Q from the asker in the QA database 133 or the FAQ knowledge base 150. Thus, the FAQ system 5 can preferentially register QA data with a high degree of deficiency, thereby reducing the man-hours required for questions from users and answers by answerers.
[0084] After the direct question and direct answer are completed between the user terminal 200 and the administrator terminal 300, the administrator terminal 300 transmits registration application information, which includes QA data including the completed question Q and answer A and requests registration of this QA data, to the FAQ server 100. In the FAQ server 100, the communication unit 140 receives the registration application information including the QA data, and the control unit 110 stores the QA data in the QA database 133 or the FAQ knowledge base 150. The control unit 110 also clusters the question Q into a question cluster corresponding to the question Q based on the feature vector of the question Q, and tags the type of question Q corresponding to this question cluster. This tagging information may be stored in the QA database 133 or the FAQ knowledge base 150.
[0085] Furthermore, the control unit 110 of the FAQ server 100 divides the question Q into words and extracts proper nouns (named entities) such as people's names or company names. Then, the communication unit 140 transmits to the administrator terminal 300 registration completion information indicating that the QA data related to the registration application information has been registered in the QA database 133 or the FAQ knowledge base 150, tagging completion information indicating that the tagging has been performed, and named entity extraction information indicating that the named entity has been extracted. The administrator terminal 300 receives the registration completion information, tagging completion information, and named entity extraction information and displays them on the display unit. This increases the motivation of users and respondents to apply for registration of QA data. Furthermore, QA data including proven question Q and answer A can be registered in the QA database 133 or the FAQ knowledge base 150 as past performance information and can be utilized.
[0086] Furthermore, after the direct question and direct answer are completed between the user terminal 200 and the administrator terminal 300, the administrator terminal 300 transmits QA data including the completed question Q and answer A to the FAQ server 100. In the FAQ server 100, the communication unit 140 receives this completed QA data, and the control unit 110 refers to the QA database 133 or the FAQ knowledge base 150 to search for similar QA data that is similar to the completed QA data. The control unit 110 determines whether or not to store the completed QA data in the QA database 133 or the FAQ knowledge base 150 based on the presence or absence of similar QA data. In other words, the similar QA data serves as a basis for determining whether to newly register the QA data in the FAQ knowledge base 150. If similar QA data does not exist, the FAQ server 10 stores the completed QA data in the QA database 133 or the FAQ knowledge base 150, and if similar QA data exists, the FAQ server 10 does not store the completed QA data in the QA database 133 or the FAQ knowledge base 150. This allows the FAQ server 100 to register completed Q&A data in the Q&A database 133 or the FAQ knowledge base 150, thereby reducing the number of steps required for a question from a user and a reply from a respondent.
[0087] Furthermore, after the direct question and direct answer are completed between the user terminal 200 and the administrator terminal 300, the administrator terminal 300 transmits QA data including the completed question Q and answer A to the FAQ server 100. In the FAQ server 100, the communication unit 140 receives this completed QA data, and the control unit 110 extracts the named entities from the question Q and answer A included in the QA data, anonymizes the extracted named entities, and stores the anonymized QA data in the QA database 133 or the FAQ knowledge base 150. The communication unit 140 transmits the anonymized QA data including the question Q and answer A to the administrator terminal 300. The named entities include, for example, personal information or other information that should be kept anonymous. The administrator terminal 300 receives the anonymized QA data and displays it on the display unit. As a result, the administrator terminal 300, upon receiving a registration operation instruction from the administrator via the operation unit, can store anonymized Q&A data in the Q&A database 133 or the FAQ knowledge base 150. This reduces the possibility of information leakage of personal information or information that needs to be kept confidential, and allows registration in the Q&A database 133 or the FAQ knowledge base 150, thereby reducing the man-hours required for questions by users and answers by answerers.
[0088] Furthermore, after the direct question and direct answer are completed between the user terminal 200 and the administrator terminal 300, the administrator terminal 300 transmits to the FAQ server 100 an inquiry email containing the completed question text Q and an answer email containing answer text A. In the FAQ server 100, the communication unit 140 receives the completed inquiry email and answer email, and the control unit 110 acquires signature information from these emails and performs anonymization processing on the affiliation information and name information included in the signature information. The FAQ server 100 may then store the anonymized email in the non-chat log database 131. This allows the FAQ server 100 to extract and store the past Q&A data required by the FAQ chatbot CB and answerers from the inquiry email and answer email without identifying the person who sent the past inquiry email or answer email. Furthermore, personal information, etc. can be reliably made undecipherable.
[0089] Furthermore, when QA data is registered in the FAQ knowledge base 150, the communication unit 140 of the FAQ server 100 may transmit knowledge base registration completion information indicating that the QA data has been registered in the FAQ knowledge base 150 to the administrator terminal 300. The administrator terminal 300 may receive the knowledge base registration completion information from the FAQ server 100 and display it on the display unit. The knowledge base registration completion information may include, for example, a message such as "This exchange has been registered in the FAQ. You can check it at the URL XXX." This allows the administrator to confirm that the QA data to be registered has been successfully registered in the FAQ knowledge base 150, and to confirm that the FAQ chatbot CB, which provides answers by referring to the FAQ knowledge base 150, is growing.
[0090] Furthermore, in the above description, it has been mainly explained that the FAQ chatbot CB encourages users to register their questions in the FAQ knowledge base 150 before automatically answering the questions Q from users (i.e., before operation), but this is not limited to this. For example, after a direct question and answer exchange between the user terminal 200 and the administrator terminal 300 is completed, the administrator terminal 300 transmits to the FAQ server 100 an inquiry email including the completed question Q and an answer email including answer A. In the FAQ server 100, the communication unit 140 receives the completed inquiry email and answer email, and the control unit 110 stores them in the non-chat log database 131. The control unit 110 clusters the questions Q extracted from each email stored in the non-chat log database 131 or each chat log stored in the chat log database 132, and extracts the question Q at the center of each cluster as a representative question QR. The communication unit 140 transmits to the user terminal 200 registration recommendation information that recommends registering representative QA data including a representative question text QR and a representative answer text AR to the representative question text QR in the FAQ knowledge base 150. The administrator terminal 300 receives the registration recommendation information and displays it on the display unit. This allows the FAQ system 5 to recommend registration in the FAQ knowledge base 150 even after the direct question and direct answer have been completed. Furthermore, the FAQ system 5 may repeatedly perform the registration support process in the FAQ knowledge base 150 at any timing before, during, and after the operation of the FAQ chatbot CB. This allows QA data (representative QA data) to be registered sequentially in the FAQ knowledge base 150.
[0091] Furthermore, the user terminal 200 transmits all or part of the question Q to the FAQ server 100 (FAQ chatbot CB). When the communication unit 140 of the FAQ server 100 receives all or part of this question Q, the control unit 110 identifies QA data that is similar to all or part of this question Q and that includes the question Q stored in the FAQ knowledge base 150, and the communication unit 140 transmits link destination information (e.g., a URL) that can reference this QA data to the user terminal 200. The user terminal 200 receives the link destination information and displays it on the display unit. This allows the user to easily check questions Q that are similar to all or part of the entered question Q by accessing the link destination, thereby reducing the amount of work required for asking a question.
[0092] As described above, the FAQ system 5 of this embodiment displays registration recommendation information on the administrator terminal 300, allowing the administrator to easily determine whether or not to register QA data in the FAQ knowledge base 150. Furthermore, the FAQ system 5 extracts and clusters features using question sentence vectors, which are vectorized questions. This eliminates the need for features that serve as input data for a pattern recognition model, thereby reducing the processing load on the administrator involved in clustering. Furthermore, it is possible to prevent human-designed features from being extracted as candidates for registration of the question sentence Q or the answer sentence A, improving the accuracy of registration in the FAQ knowledge base 150. It is also possible to prevent unnecessary text data contained in emails or chat logs that are the basis for creating FAQs from being included in the question sentence Q or the answer sentence A to be registered. Furthermore, no human intervention is required to extract representative QA data from multiple QA data. This improves the usability of the FAQ system 5.
[0093] (How the second embodiment was achieved) An FAQ system returns search results when any word or sentence is input. However, when the technology of Cited Document 2 is applied to an FAQ system, it is difficult for the FAQ system to obtain the user's desired search results in a short time if there are a large number of search result candidates. Furthermore, FESS, a conventional full-text search system, can narrow down search results by assigning words (labels) to narrow down candidates in advance, but the words must be set manually. Therefore, when applying FESS to an FAQ system to narrow down questions, because the words are set manually by a person, there is a high possibility that candidates containing similar words will be selected as the narrowed-down result, making it difficult to appropriately narrow down questions. The second embodiment improves on the above points.
[0094] (Second embodiment) In the second embodiment, the FAQ system 5 performs a process of narrowing down questions when automatically answering questions using the FAQ chatbot CB.
[0095] Fig. 11A is a block diagram showing an example configuration of an FAQ server according to the second embodiment of the present disclosure. In Fig. 11A, the same components as those of the FAQ server 100 shown in Fig. 2 are denoted by the same reference numerals, and their description will be omitted or simplified.
[0096] The FAQ server 100A of this embodiment includes a control unit 110A, a storage unit 130A, and a communication unit 140. The storage unit 130A includes a non-chat log database (DB) 131, a chat log database (DB) 132, a Q&A database (DB) 133, and a test result database (DB) 134. The control unit 110A includes a sentence extraction unit 111, a word segmentation unit 112, a vectorization unit 113, a vector similarity calculation unit 115, a clustering unit 116, and a feature word extraction unit 118.
[0097] The search result database 134 stores search results obtained by a predetermined search process based on a question from a user. The search result database 134 may store past search results as a history, or may be rewritten for each search. The search results here are question sentences that become additional question candidate sentences, obtained as a result of searching the corresponding FAQ using the question sentence. Multiple question candidate sentences may be derived as search results.
[0098] The sentence extraction unit 111 extracts sentence data (text data) from the QA database 133 or the search result database 134. In this case, the sentence extraction unit 111 may extract a question sentence of the QA data held in the QA database 133 as a question candidate sentence. In addition, the sentence extraction unit 111 may extract a question candidate sentence held in the search result database 134.
[0099] The vectorization unit 113 vectorizes the question candidate sentence using a natural language processing model (for example, Word2Vec, TF-IDF (Term Frequency - Inverse Document Frequency), or other clustering method) to obtain a feature vector of the question candidate sentence (question complement vector).
[0100] The vector similarity calculation unit 115 calculates the similarity (correlation) of each feature vector (each question complement vector) generated by the vectorization unit 113 using a natural language processing model.
[0101] The clustering unit 116 uses a predetermined clustering method (e.g., k-means or other clustering method) to classify the question candidate sentences so that they belong to one of multiple clusters (question candidate clusters) based on the similarity of each derived question candidate sentence vector.
[0102] The word dividing unit 112 divides each question candidate sentence belonging to each question candidate cluster obtained by clustering into words.
[0103] The feature word extraction unit 118 uses a natural language processing model (e.g., TF-IDF or other feature word extraction method) to extract, as feature word keywords, for example, words with a high appearance frequency from among the words included in each question candidate sentence belonging to each question candidate cluster. For example, the feature word extraction unit 118 extracts one or more feature words from the question sentences of each question candidate cluster. Furthermore, when there are multiple question candidate clusters, the feature word extraction unit 118 may extract different feature word keywords indicating the characteristics of each question candidate cluster for each question candidate cluster.
[0104] The communication unit 140 transmits each of the extracted feature word keywords of each cluster to the user terminal 200. The user terminal 200 receives each of the feature word keywords of each cluster from the FAQ server 100A and displays each of the feature word keywords on the display unit as candidates for asking back the question. This allows the user to check the candidates for asking back the question and narrow down the search results so as to obtain the desired result (question sentence).
[0105] In the second embodiment, the QA data is registered in the FAQ knowledge base 150 by, for example, the registration support process for the FAQ knowledge base 150 described in the first embodiment, but the present invention is not limited to this. For example, the QA data may be registered in the FAQ knowledge base 150 by a method other than that of the first embodiment.
[0106] Fig. 11B is a diagram showing an example of the FAQ chat screen G2 on which questions are narrowed down in this embodiment. As shown in Fig. 11B, when a user sends an arbitrary question Q0 using the user terminal 200, the FAQ server 100A performs a search process using the question Q0. As a result of the search process, as shown in Fig. 11B, about 100 question candidates for registered FAQs are obtained. Here, the FAQ server 100A sends and displays characteristic word keywords for narrowing down questions to the user terminal 200, prompting the user to specify a characteristic word keyword.
[0107] In this embodiment, the control unit 110A of the FAQ server 100A uses clustering to cluster candidate documents and divide them into multiple clusters (groups). The control unit 110A then extracts characteristic word keywords from the documents included in each cluster and sets the characteristic word keywords as candidates to be used for reflection. When the user terminal 200 specifies a characteristic word keyword as a reflection candidate via the operation unit, the user terminal 200 transmits this specification operation information to the FAQ server 100A. The communication unit 140 of the FAQ server 100A receives the specification operation information, and the control unit 110A identifies a question candidate sentence QC included in a question candidate cluster related to the specified characteristic word keyword, and the communication unit 140 transmits the identified question candidate sentence QC to the user terminal 200. The user terminal 200 receives the question candidate sentence QC from the FAQ server 100A and displays it on the display unit. In this way, the user can obtain a related characteristic word keyword from an arbitrary question sentence Q0 and specify the characteristic word keyword to obtain a question candidate sentence QC related to the characteristic word keyword.
[0108] FIG. 12 is a diagram illustrating an image of clustering. As shown in FIG. 12, the control unit 110A of the FAQ server 100A divides, for example, a large number of search results into a small number of question candidate clusters CL1 to CL3. Here, with normal clustering, users cannot easily grasp the characteristics of each question candidate cluster. On the other hand, as shown in FIG. 12, the FAQ server 100A sets the characteristic word keywords of each question candidate cluster as search result candidates, making them understandable from a human (user) perspective. The FAQ server 100A clarifies the characteristic differences between each word through dynamic word reflection, allowing it to narrow down questions with high accuracy. For example, when a characteristic word keyword corresponding to question candidate cluster CL1 is selected, the FAQ server 100A can narrow down the results to each question candidate sentence QC belonging to question candidate cluster CL1 characterized by the characteristic word keyword, and can provide a choice of, for example, five options.
[0109] Fig. 13 is a diagram showing an example of search results (candidates) including Q numbers and question candidate sentences QC. In Fig. 13, Q numbers that identify question candidate sentences QC are shown in association with the question candidate sentences QC. In Fig. 13, six question candidate sentences QC are obtained as search results (candidates).
[0110] Fig. 14 is a diagram showing an example of the result of vectorizing a question candidate sentence QC. In Fig. 14, the Q number and the question candidate sentence vector obtained by vectorizing the question candidate sentence QC are shown in association with each other.
[0111] Fig. 15 is a diagram showing an example of clusters and question candidate sentences QCs after clustering question candidate sentence vectors. In Fig. 15, cluster numbers that identify clusters are associated with one or more question candidate sentences QCs that belong to each cluster. In Fig. 15, four clusters have been generated, and for example, two question candidate sentences QCs belong to cluster 0.
[0112] Fig. 16 is a diagram showing an example of the result of vectorizing the question candidate sentences QC of each cluster. In Fig. 16, the cluster number is associated with the question candidate sentence vector of one or more question candidate sentences QC belonging to each cluster.
[0113] Fig. 17 is a diagram showing an example of characteristic word keywords extracted for each cluster. In Fig. 17, the cluster number and the characteristic word keyword of each cluster are shown in association with each other. Multiple characteristic word keywords may be derived for each cluster.
[0114] In this way, the control unit 110A can derive, from the search results obtained for an arbitrary question Q0, candidate questions to be asked again in order to narrow down the search results. Furthermore, each of the characteristic words KW obtained as candidate questions to be asked again can be transmitted to the user terminal 200 and displayed thereon.
[0115] FIG. 18 is a diagram showing an example of an FAQ chat screen G3 that takes into consideration the narrowing down of questions. In FIG. 18, after an arbitrary question is asked, it is displayed that 20 search results have been obtained, and furthermore, the user is encouraged to narrow down the search by characteristic keyword. The characteristic keyword here is the characteristic keyword for each cluster shown in FIG. 17. In FIG. 18, the characteristic keyword is displayed separately for each cluster. Furthermore, the user uses the user terminal 200 to specify, among the characteristic keyword for each cluster, the characteristic keyword for cluster number 1, namely, contract period, expiration date, and automatic renewal, as characteristic keyword for narrowing down. As a result, the question candidate sentence QC that belongs to the cluster with cluster number 0 corresponding to the specified characteristic keyword is displayed.
[0116] Next, variations of this embodiment will be described.
[0117] The administrator terminal 300 may input stop words that are not to be extracted as feature word KWs by the feature word extraction unit 118 of the FAQ server 100A via the operation unit, and transmit the stop words to the FAQ server 100A. In the FAQ server 100A, the communication unit 140 may receive information about the stop words, and the control unit 110A may set the stop words. The set stop words may be stored in the storage unit 130.
[0118] The administrator terminal 300 may accept, via the operation unit, an operation to generate a synonym table in which multiple similar words are registered, and may transmit this operation information to the FAQ server 100A. The FAQ server 100A may have the communication unit 140 receive this operation information, and the control unit 110A generate the synonym table based on this operation information. The synonym table, for example, associates multiple similar words with a representative word that represents the multiple similar words and stores them. The similar words are, for example, words with spelling variations. The configured synonym table may be stored in the storage unit 130. When a characteristic word keyword is obtained, the characteristic word extraction unit 118 extracts a representative characteristic word corresponding to this characteristic word keyword if the synonym table contains a word similar to this characteristic word keyword.
[0119] This allows the FAQ server 100A to improve the quality of extracted feature keywords, that is, the quality of review candidates. Therefore, the FAQ server 100A can improve the speed or accuracy of narrowing down search result candidates.
[0120] Furthermore, the control unit 110A of the FAQ server 100A may automatically or manually specify the number of clusters obtained by clustering. For example, the control unit 110A may determine the number of clusters according to the number of question candidate sentences QC as search results (candidates). Furthermore, the administrator terminal 300 may accept an operation to specify the number of clusters obtained by clustering via the operation unit, and transmit this operation information to the FAQ server 100A. The control unit 110A of the FAQ server 100A may receive the above operation information from the administrator terminal 300 via the communication unit 140, and determine the number of clusters based on the operation information. For example, when the number of clusters is set to a large number, the classification of question candidate sentences QC becomes more detailed.
[0121] The FAQ server 100A can effectively narrow down search result candidates by setting the number of clusters to an appropriate number. For example, the number of clusters may be set to any number up to four. In this case, the user can quickly grasp the trend of narrowing down the search results.
[0122] Furthermore, the control unit 110A of the FAQ server 100A may use a co-occurrence network to generate a network diagram NE by connecting each feature word KW with an edge ED, with each feature word KW being a node ND. Therefore, this network diagram NE shows the relevance of each feature word KW. Figure 19 is a network diagram NE showing an example of the relationship between each feature word KW.
[0123] In this network diagram NE, the nodes ND are arranged so that the closer the relationship between the feature word KWs, i.e., the higher the similarity, the shorter the distance between the nodes NDs representing these feature word KWs. The similarity between each feature word KW corresponds to the similarity between each cluster characterized by each feature word KW. The similarity between each cluster can be calculated by the vector similarity calculation unit 115. The communication unit 140 may transmit the generated network diagram NE to the user terminal 200. The user terminal 200 may receive and display the network diagram NE from the FAQ server 100A. This allows the user to visually understand the relationship between each feature word KW by checking the display of the network diagram NE.
[0124] Furthermore, each node ND included in the network diagram NE may be selectable by the user via the operation unit of the user terminal 200. For example, the user terminal 200 may select an arbitrary node ND via the operation unit. The user terminal 200 transmits information about the selected node ND to the FAQ server 100A. The communication unit 140 of the FAQ server 100A receives the information about the selected node ND from the user terminal 200, and the control unit 110A recognizes that a feature word keyword corresponding to the selected node ND has been specified. In other words, instead of specifying a feature word keyword for narrowing down on the FAQ chat screen, the FAQ server 100A can specify one feature word keyword by selecting a node using the network diagram NE as if selecting a button. Therefore, the FAQ server 100A can more intuitively narrow down search result candidates using feature word keywords.
[0125] Furthermore, each edge ED included in the network diagram NE may be selectable by the user via the operation unit of the user terminal 200. For example, the user terminal 200 may select an arbitrary edge ED via the operation unit. The user terminal 200 may transmit information about the selected edge ED to the FAQ server 100A. The communication unit 140 of the FAQ server 100A receives information about the selected edge ED from the user terminal 200 and recognizes that two feature word keywords corresponding to the nodes ND connected to both ends of the selected edge ED have been specified. In other words, instead of specifying a feature word keyword for narrowing down on the FAQ chat screen, the FAQ server 100A can simultaneously specify two feature word keywords by selecting an edge using the network diagram NE as if selecting a button. Therefore, the FAQ server 100A can more intuitively narrow down search result candidates using feature word keywords.
[0126] In this way, by using the network diagram NE, the FAQ server 100A can easily grasp the relationship between each characteristic keyword and visually narrow down the search result candidates. Narrowing down using the edge ED allows a new way of displaying search result candidates. For example, when the edge ED connecting the two nodes "English" and "template" is selected, the FAQ server 100A can use "English" and "template" as characteristic keyword keywords for narrowing down the search results (candidate question sentence QC), and can narrow down the search results (candidate question sentence QC) by "English template."
[0127] Furthermore, the control unit 110A may determine the display priority of each feature word keyword based on the similarity of each feature word keyword. For example, when a user specifies one feature word keyword via the operation unit of the user terminal 200, other feature word keywords that are closely related to the specified feature word keyword (having a similarity equal to or greater than a predetermined threshold) may be preferentially displayed on the display unit of the user terminal 200 and made selectable. In this case, in the network diagram NE using the co-occurrence network, the feature word keywords displayed as nodes ND are limited to feature word keywords with high priority, making it easier for the user to specify a feature word keyword similar to the specified feature word keyword.
[0128] In this way, by using a network diagram NE that uses a co-occurrence network, it becomes easier to visually understand the relationships between characteristic keywords. It also makes it possible to visually narrow down search result candidates.
[0129] Furthermore, image information may be used in addition to text information to output search result candidates. For example, before the question narrowing process, the control unit 110A generates a trained model by training images and text data describing the images. The control unit 110A may use this trained model to output image information as search result candidates instead of or in addition to text information (question candidate sentence QC). The control unit 110A may also search for image information corresponding to one or more feature word keywords and transmit this image information via the communication unit 140. For example, if "dog" and "white" are extracted as two feature word keywords, an image of a white dog may be determined as image information and transmitted to the user terminal 200. The user terminal 200 may receive image information from the FAQ server 100A and display the image of the white dog on the display unit.
[0130] As described above, according to the FAQ system 5 of this embodiment, the FAQ server 100A not only generates question candidate clusters by clustering each question candidate sentence QC based on the similarity of the question candidate sentences QC as search result candidates based on the question sentence Q0, but also displays words (characteristic words) that indicate the characteristics of the question candidate clusters. This allows the FAQ server 100A to accurately support the user in narrowing down the questions.
[0131] (Third embodiment) The third embodiment corresponds to a modification of the first embodiment. In the third embodiment, processing related to emails such as inquiry emails and reply emails is performed.
[0132] Fig. 20 is a block diagram showing an example of the configuration of an FAQ server according to the third embodiment. In Fig. 20, the same components as those in the FAQ server 100 shown in Fig. 2 are denoted by the same reference numerals, and their description will be omitted or simplified.
[0133] The FAQ server 100B of this embodiment includes a control unit 110B, a storage unit 130, and a communication unit 140. Compared to the control unit 110 of the first embodiment, the control unit 110B includes a deviation processing unit 122 and an emphasis processing unit 123.
[0134] The deviation processing unit 122 determines the correspondence between the destination of the email (sent or received email) and the destination of the email body, and determines whether the two destinations match or do not match (deviation). If the two destinations do not match, the deviation processing unit 122 performs processing such as outputting warning information indicating that the two destinations do not match, delaying transmission and reception of email, or forcibly separating emails with mismatched destinations. The output of the warning information may be, for example, sending the warning information to the administrator terminal 300. In this case, the administrator terminal 300 may receive the warning information and present it (for example, display it on a display unit). Therefore, if there is a mismatch in the destinations, the FAQ server 100B suppresses normal transmission of the email, thereby preventing erroneous transmission of email.
[0135] The highlighting processor 123 determines which parts of the email body should be checked in particular (also called "check-required parts") and instructs the user terminal 200 or the administrator terminal 300 to highlight the check-required parts. These check-required parts are, for example, representative sentences in the email or sentences that pose a high security risk. Upon receiving the instruction from the FAQ server 100B, the user terminal 200 or the administrator terminal 300 highlights the determined check-required parts in the email body. This allows the user or respondent to easily understand the important parts of the email.
[0136] Note that, as described above, the determination of the parts of the email body that require confirmation may be performed using a natural language processing model. For example, control unit 110B may vectorize the text data of the email body and classify the text data using the text vectors. Control unit 110B can classify the text data into multiple types (clusters) that include parts that require confirmation, such as representative text or high-security text, and can confirm the parts that require confirmation.
[0137] 21 is a diagram showing an example of information in which correspondence between email destinations and confirmation-required parts BS1 and BS2 in the email body are highlighted. The confirmation-required part BS1 is, for example, a representative sentence, and the confirmation-required part BS2 is, for example, a sentence with a high security risk.
[0138] In FIG. 21, the destination corresponding to the Cc: is "Ito" in both the email destination information indicating the email destination and in the email body. On the other hand, in FIG. 21, the destination corresponding to the To: is "Tanaka" in the email destination information indicating the email destination and "Suzuki" in the email body. Therefore, the destinations (To:) do not match. The emphasis processing unit 123 may change the display format of the two mismatched destinations (To:) to improve the visibility of the two destinations (To:). This allows the user or respondent to easily confirm that the destinations (To:) are different and easily correct them to the correct destinations. Furthermore, since the destinations (To:) do not match, the deviation processing unit 122 may perform processing such as outputting warning information indicating that the two destinations do not match, delaying the sending and receiving of emails, or forcibly separating emails with mismatched destinations. This allows the FAQ server 100B to suppress email transmission regardless of the user's or answerer's intention to send an email.
[0139] In addition, the highlighting processing unit 123 may change the display mode of the confirmation-requiring parts BS1 and BS2 obtained by classification, for example, by making them bold or using a noticeable text color, thereby improving the visibility of the confirmation-requiring parts BS1 and BS2.
[0140] In this way, according to the FAQ system 5 of this embodiment, for example, when a respondent receives a Q&A inquiry from a user, points that require attention can be highlighted in the email. This allows the respondent to easily check the content of the question Q and detect risks in the answer A.
[0141] Next, variations of this embodiment will be described.
[0142] The functions of this embodiment may be realized by email sending / receiving software or add-in software for email sending / receiving software.
[0143] The control unit 110B of the FAQ server 100B may derive a correspondence relationship between the email destination (e.g., To:) of an outgoing email and the destination extracted from the email body. The control unit 110B may derive a correspondence relationship between the email destination (e.g., From:) of an incoming email and the sender extracted from the email body. When sending an email, the control unit 110B may determine whether the correspondence relationship has deviated (e.g., mismatch of destinations), and if there is a deviation, determine that the email may have been sent by mistake and take measures to mitigate against erroneous sending, such as issuing a warning, delaying transmission, or forcibly separating the email. Furthermore, when receiving an email, if there is a deviation from the correspondence relationship of a predetermined trained model that has learned the correspondence relationship (e.g., matching of destinations), the control unit 110B may determine that there is a possibility of spoofing, and take measures to mitigate against erroneous reception, such as issuing a warning, delaying reception, or forcibly separating the email.
[0144] In addition, the control unit 110B may have a function to determine deviations in the correspondence relationship using an AI model (trained model) that has learned the correspondence relationship between the email destination (e.g., To:) in an outgoing email and the destination extracted from the email body, and the correspondence relationship between the email destination (e.g., From:) in an incoming email and the sender extracted from the email body.
[0145] Furthermore, control unit 110B may perform learning of the above AI model each time via a mail add-in, or may perform learning based on email data accumulated in non-chat log database 131. Furthermore, control unit 110B may perform inference for determining whether an email has been sent by mistake or is being spoofed each time via a mail add-in.
[0146] Furthermore, since users and respondents check the displays on the user terminal 200 and administrator terminal 300 while working on emails, they can determine whether the results of the AI model's determination of erroneous email transmission and spoofing are valid. If the results of the AI model's determination of erroneous email transmission and spoofing are invalid (i.e., an incorrect determination), the user terminal 200 or administrator terminal 300 inputs information on the valid determination via the operation unit of the terminal and sends it as feedback information to the FAQ server 100B. The control unit 110B may input the feedback information via the communication unit 140 and use it as learning data for the AI model to train the AI model. This allows the FAQ system 5 to more accurately train the AI model and improve the accuracy of the AI model's determination of erroneous email transmission and spoofing.
[0147] As described above, the FAQ server 100 (an example of a data management device) of the above embodiment manages questions Q and answers A to the questions Q. The FAQ server 100 includes a control unit 110 and a communication unit 140. The control unit 110 acquires multiple pieces of text data, vectorizes the multiple pieces of text data to create multiple text vectors, and extracts multiple questions Q from the multiple text data based on the multiple text vectors. The control unit 110 clusters the extracted multiple questions Q into question clusters containing similar questions Q based on the multiple question vectors, which are multiple text vectors corresponding to the multiple questions Q. For each question cluster, the control unit 110 determines a representative question QR that represents the questions Q belonging to the question cluster corresponding to the center of the question cluster. The communication unit 140 transmits registration recommendation information I1, which recommends registering the determined representative question QR in the FAQ knowledge base 150 (an example of a storage device), to an administrator terminal 300 used by an administrator who manages the FAQ server 100.
[0148] This allows the FAQ server 100 to extract questions from text data, thereby reducing the workload required for generating Q&A data. Furthermore, since feature quantities that serve as input data to a pattern recognition model are not required and feature quantities are extracted and clustered using question sentence vectors obtained by vectorizing the questions Q, the processing load associated with clustering can be reduced. Furthermore, by recommending representative questions Q within a cluster for registration, the FAQ server 100 can reduce the amount of modification of questions Q within a cluster by the administrator, even when, for example, the administrator uses the administrator terminal 300 to fine-tune each question Q and register it in the FAQ knowledge base 150. In this way, the convenience of the FAQ system 5 can be improved.
[0149] Furthermore, the registration recommendation information I1 may include information recommending that the representative question message QR and the representative answer message AR, which is the answer message A corresponding to the representative question message QR, be associated with each other and registered in the FAQ knowledge base 150.
[0150] This allows the FAQ server 100 to associate and manage representative questions and answers among multiple similar questions Q. Therefore, by using the user terminal 200 to ask a question to the FAQ chatbot CB, a user can obtain a representative answer A related to the question Q.
[0151] Furthermore, the control unit 110 may extract a plurality of answer sentences A from a plurality of sentence data based on a plurality of sentence vectors, and cluster the extracted plurality of answer sentences A into answer clusters containing mutually similar answer sentences A based on a plurality of answer sentence vectors which are a plurality of sentence vectors corresponding to the plurality of answer sentences A. For each answer cluster, the control unit 110 may determine a representative answer sentence AR that represents the answer sentences A that belong to the answer cluster corresponding to the center of the answer cluster.
[0152] This allows the FAQ server 100 to extract answer sentences A from text data, thereby reducing the workload required for generating Q&A data. Furthermore, since feature quantities that serve as input data to a pattern recognition model are not required and feature quantities are extracted and clustered using answer sentence vectors obtained by vectorizing answer sentences A, the processing load associated with clustering can be reduced. Furthermore, by recommending representative answer sentences A within an answer cluster for registration, the FAQ server 100 can reduce the amount of modification of answer sentences A within an answer cluster by the administrator, even when, for example, the administrator fine-tunes each answer sentence using the administrator terminal 300 and registers them in the FAQ knowledge base 150. In this way, the convenience of the FAQ system 5 can be improved.
[0153] Furthermore, when the control unit 110 detects that a predetermined address or telephone number is included in the question or answer, the control unit 110 may delete the predetermined address or telephone number. After deleting the predetermined address or telephone number, the communication unit 140 may transmit registration recommendation information I1. The predetermined address or telephone number may be, for example, an address or telephone number that has not been registered in the storage unit 130 in advance.
[0154] As a result, the administrator terminal 300 receives and displays the registration recommendation information, allowing the administrator to check the registration recommendation information and register the QA data from which the specified address or telephone number has been deleted in the FAQ knowledge base 150.
[0155] Furthermore, the communication unit 140 may acquire an arbitrary question sentence Q0 from the user terminal 200 used by the user. The control unit 110A may perform a predetermined search process based on the arbitrary question sentence Q0, extract multiple question candidate sentences QC as search results that are candidates for additional questions posed by the user, and vectorize the question candidate sentences QC to create multiple question candidate sentence vectors that are sentence vectors of the multiple question candidate sentences QC. Based on the multiple question candidate sentence vectors, the control unit 110A may cluster the extracted multiple question candidate sentences QC into question candidate clusters that include mutually similar question candidate sentences QC, and extract, for each question candidate cluster, characteristic words KW that indicate the characteristics of the question candidate cluster. The communication unit 140 may transmit the characteristic words KW of each question candidate cluster to the user terminal 200.
[0156] As a result, the FAQ server 100A not only classifies the question candidate sentences QC into question candidate clusters, but also derives characteristic words KW that indicate the characteristics of the question candidate clusters, i.e., derives words that appear frequently in the question candidate sentences QC in the same cluster as characteristic words KW, and these characteristic words KW can be used as characteristic words KW for additional questions that follow any question sentence Q0. Therefore, by asking a general question, the user can get hints for narrowing down the question, improving the efficiency of questioning.
[0157] Furthermore, when there are multiple question candidate clusters, the control unit 110 may extract different characteristic words KW indicating the characteristics of the question candidate clusters for each question candidate cluster.
[0158] This allows the FAQ server 100A to uniquely determine a question candidate cluster from the characteristic word KW. Therefore, by having the user select a characteristic word KW, the FAQ server 100 can improve the accuracy of narrowing down the candidate question sentences QC to the user's intended question sentence QC.
[0159] Furthermore, the control unit 110 may determine whether the characteristic words KW of each question candidate cluster are different words based on a synonym table that defines similar words.
[0160] This allows the FAQ server 100 to identify similar words that are written differently due to spelling variations and the like.
[0161] Furthermore, the control unit 110 may determine the number of question candidate clusters obtained by clustering according to the number of extracted question candidate sentences QC.
[0162] This allows the FAQ server 100 to appropriately maintain the number of question candidate sentences QC in a question candidate cluster. For example, the FAQ server 100 can prevent the number of question types corresponding to the number of question candidate clusters from becoming excessive, making it difficult for users to select a question type. It can also prevent the number of question candidate sentences QC belonging to a question type from becoming excessive, causing the user to be presented with a large number of detailed questions.
[0163] Furthermore, the control unit 110 may derive co-occurrence relationship information (for example, a network diagram NE) indicating the co-occurrence relationship of the extracted plurality of feature words KW. The communication unit 140 may transmit the co-occurrence relationship information to the user terminal 200.
[0164] As a result, the user terminal 200 can obtain the co-occurrence relationship information and display a network diagram NE showing the co-occurrence relationships based on the co-occurrence relationship information, thereby enabling the user to grasp at a glance the relationships between each of the feature words KW. Also, for example, by making the nodes ND of the network diagram NE selectable, the user terminal 200 can intuitively select a feature word KE using the network diagram NE, and can easily select question candidates to narrow down the questions.
[0165] Although various embodiments have been described above with reference to the drawings, it goes without saying that the present disclosure is not limited to such examples. It is clear that a person skilled in the art can conceive of various modifications or alterations within the scope of the claims, and it is understood that these also naturally fall within the technical scope of the present disclosure. Furthermore, the components of the above-described embodiments may be combined in any manner without departing from the spirit of the disclosure.
[0166] In the above embodiments, the processor may be physically configured in any manner. If a programmable processor is used, the processing content can be changed by changing the program, thereby increasing the degree of freedom in processor design. The processor may be configured as a single semiconductor chip, or may be physically configured as multiple semiconductor chips. When configured as multiple semiconductor chips, each control in the above embodiments may be realized by a separate semiconductor chip. In this case, these multiple semiconductor chips can be considered to constitute a single processor. The processor may also be configured as a semiconductor chip and a component (such as a capacitor) having a different function. A single semiconductor chip may be configured to realize both the functions of the processor and other functions. Multiple processors may also be configured as a single processor. [Industrial Applicability]
[0167] The present disclosure is useful for a data management device, an FAQ system, a data management method, a program, etc. that can improve the convenience of an FAQ system. [Explanation of symbols]
[0168] 5. FAQ System 100, 100A, 100B FAQ Server 110, 110A, 110B control unit 111 Sentence extraction part 112 Word Segmentation 113 Vectorization Department 114 Classification Department 115 Vector Similarity Calculation Unit 116 Clustering Department 117 Cluster Center Calculation Unit 118 Feature Word Extraction Unit 119 Named entity extraction unit 121 Anonymization processing unit 122 Deviation Processing Unit 123 Emphasis processing unit 130,130A storage section 131 Non-chat log database 132 Chat Log Database 133 QA Database 134 Search Results Database 140 Communications Department 150 FAQ knowledge base 200 User terminals 300 Administrator terminal
Claims
1. A data management device for managing questions and answers to the questions, A control unit and a communication unit are provided, The control unit is Acquire multiple sentence data, vectorizing the plurality of text data to generate a plurality of text vectors; extracting a plurality of question sentences from the plurality of sentence data based on the plurality of sentence vectors; clustering the extracted questions into question clusters including questions similar to each other based on a plurality of question sentence vectors, the question sentence vectors being a plurality of sentence vectors corresponding to the plurality of question sentences; determining, for each of the question clusters, a representative question sentence that represents question sentences belonging to the question cluster corresponding to a center of the question cluster; the communication unit transmits registration recommendation information, which recommends that the determined representative question sentence be registered in the storage device, to an administrator terminal used by an administrator who manages the data management device. Data management device.
2. the registration recommendation information includes information recommending that the representative question sentence and a representative answer sentence, which is an answer sentence corresponding to the representative question sentence, be associated with each other and registered in the storage device; The data management device according to claim 1 .
3. The control unit is Extracting a plurality of answer sentences from the plurality of sentence data based on the plurality of sentence vectors; clustering the extracted plurality of answer sentences into answer clusters including answer sentences similar to each other based on a plurality of answer sentence vectors which are a plurality of sentence vectors corresponding to the plurality of answer sentences; determining, for each of the answer clusters, a representative answer sentence that represents the answer sentences that belong to the answer cluster corresponding to the center of the answer cluster; The data management device according to claim 2 .
4. When the control unit detects that a predetermined address or telephone number is included in the question sentence or the answer sentence, the control unit deletes the predetermined address or telephone number, The communication unit transmits the registration recommendation information after deleting the predetermined address or telephone number. The data management device according to claim 3 .
5. The communication unit receives an arbitrary question from a user terminal used by a user, The control unit is performing a predetermined search process based on the arbitrary question sentence, and extracting, as a search result, a plurality of question candidate sentences which are candidates for additional questions by the user; vectorizing the question candidate sentences to generate a plurality of question candidate sentence vectors which are sentence vectors of the plurality of question candidate sentences; clustering the extracted question candidate sentences into question candidate clusters including mutually similar question candidate sentences based on the plurality of question candidate sentence vectors; extracting, for each of the question candidate clusters, feature words that indicate features of the question candidate cluster; The communication unit transmits feature words of each question candidate cluster to the user terminal. The data management device according to claim 2 .
6. The control unit is When there are a plurality of question candidate clusters, feature words indicative of features of the question candidate clusters are extracted so as to be different for each of the question candidate clusters. The data management device according to claim 5 .
7. the control unit determines whether or not the feature words of each question candidate cluster are different words based on a similar word table that defines similar words; The data management device according to claim 5 .
8. the control unit determines the number of the question candidate clusters obtained by clustering according to the number of the extracted question candidate sentences. The data management device according to claim 5 .
9. The control unit derives co-occurrence relationship information indicating a co-occurrence relationship between the extracted feature words, the communication unit transmits the co-occurrence relationship information to the user terminal. The data management device according to claim 5 .
10. The control unit determines a confirmation-needed portion of the extracted question sentence that is a portion that should be particularly confirmed, The communication unit instructs a user terminal used by a user to highlight the part requiring confirmation. The data management device according to claim 1 .
11. A data management system including a data management device that manages questions and answers to the questions, and an administrator terminal that manages the data management device, The data management device includes: Acquire multiple sentence data, vectorizing the plurality of text data to generate a plurality of text vectors; extracting a plurality of question sentences from the plurality of sentence data based on the plurality of sentence vectors; clustering the extracted questions into question clusters including questions similar to each other based on a plurality of question sentence vectors, the question sentence vectors being a plurality of sentence vectors corresponding to the plurality of question sentences; determining, for each of the question clusters, a representative question sentence that represents question sentences belonging to the question cluster corresponding to a center of the question cluster; transmitting registration recommendation information, which recommends that the determined representative question sentence be registered in the storage device, to an administrator terminal used by an administrator who manages the data management device; The administrator terminal receives and displays the registration recommendation information. Data management system.
12. A data management method for managing questions and answers to the questions, comprising: The processor: acquiring a plurality of pieces of text data; vectorizing the plurality of text data to generate a plurality of text vectors; extracting a plurality of question sentences from the plurality of sentence data based on the plurality of sentence vectors; clustering the extracted questions into question clusters including questions similar to each other based on question sentence vectors, the question sentence vectors being sentence vectors corresponding to the questions; determining, for each of the question clusters, a representative question sentence that represents question sentences belonging to the question cluster corresponding to a center of the question cluster; transmitting registration recommendation information, which recommends that the determined representative question sentence be registered in a storage device, to an administrator terminal used by an administrator who manages the questions and answers; The data management method includes:
13. A program for causing a computer to execute the data management method according to claim 12.
14. A data management device for managing e-mail, comprising: A control unit and a communication unit are provided, The control unit is Get the text data of the email, vectorize the text data to generate a text vector; determining a part of the text data that is to be particularly confirmed based on the text vector; The communication unit transmits a signal to an administrator terminal used by an administrator who manages the data management device so as to highlight the part requiring confirmation. Data management device.
15. The control unit: Extracting a question sentence from the text data; determining the portion requiring confirmation from the question sentence; The data management device according to claim 14.
16. The confirmation-required portion includes at least one of a representative sentence and a high-security sentence among the sentence data.
16. The data management device according to claim 14 or 15.