WO2020009027A1 - 情報検索システム - Google Patents

情報検索システム Download PDF

Info

Publication number
WO2020009027A1
WO2020009027A1 PCT/JP2019/025848 JP2019025848W WO2020009027A1 WO 2020009027 A1 WO2020009027 A1 WO 2020009027A1 JP 2019025848 W JP2019025848 W JP 2019025848W WO 2020009027 A1 WO2020009027 A1 WO 2020009027A1
Authority
WO
WIPO (PCT)
Prior art keywords
query
search
information
model
faq
Prior art date
Application number
PCT/JP2019/025848
Other languages
English (en)
French (fr)
Inventor
建太郎 降幡
永井 剛
歩 清水
アルマン シモン アリマミ ジリエ
Original Assignee
株式会社 東芝
東芝デジタルソリューションズ株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社 東芝, 東芝デジタルソリューションズ株式会社 filed Critical 株式会社 東芝
Publication of WO2020009027A1 publication Critical patent/WO2020009027A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9032Query formulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9038Presentation of query results

Definitions

  • the embodiment of the present invention relates to a technique for providing knowledge information for arbitrary text data.
  • the information search system is an information search device to which a series of text data in an arbitrary predetermined unit is input and searches knowledge information corresponding to the text data from a predetermined storage area.
  • the apparatus generates a first model for evaluating the likelihood of a query for searching the knowledge information for text data, and a query generation for generating a query candidate for searching the knowledge information using the first model.
  • Unit a second model that evaluates the likelihood of the knowledge information as a search result for the query candidate, and a first search unit that extracts first knowledge information related to the query candidate using the second model.
  • a first output unit that outputs the query candidate and the first knowledge information to a predetermined display area, and acquires a query selection history for the query candidate in the display area where the first knowledge information is displayed.
  • a second search unit that extracts second knowledge information related to the selected query candidate based on the query selection history using the second model;
  • a second output unit that outputs the second knowledge information to the display area; and, for the first knowledge information, association information between the query candidate and the first knowledge information, and / or for the second knowledge information.
  • a second model updating unit that acquires a knowledge evaluation history including association information between the selection query and the second knowledge information and updates the second model.
  • FIG. 1 is a network configuration diagram of an information search system according to a first embodiment and a functional block diagram of each device. It is a figure showing an example of the dialogue support screen displayed on the operator device of a 1st embodiment. It is a screen example of the display area S1 in the dialogue support screen of the first embodiment.
  • FIG. 5 is a diagram illustrating a relationship between a screen example of a display area S1 and a display area S2 in the dialogue support screen of the first embodiment.
  • FIG. 6 is a diagram illustrating an example of a query content extracted using the query model according to the first embodiment. It is a figure showing the processing flow of the dialogue support function of a 1st embodiment. It is a figure showing an example of various tables and information of a 1st embodiment.
  • FIG. 7 is a diagram illustrating a processing flow in an update stage according to the first embodiment.
  • FIG. 6 is a diagram illustrating a flow of a query candidate generation process according to the first embodiment.
  • FIG. 4 is a diagram illustrating a query candidate search processing flow according to the first embodiment. It is a figure which shows the query model update processing flow (a) of 1st Embodiment, and the search model update processing flow (b). It is a figure showing an example of various tables and information of a 1st embodiment. It is a figure showing an example of various tables and information of a 1st embodiment.
  • FIG. 1 is a configuration diagram of the information search system of the present embodiment.
  • the operator device 300 is connected to the information search device 100, and the information search device 100 provides a dialogue support function between the operator and a customer (customer).
  • the dialogue support of a plurality of operators constituting the contact center is described as an example, but the present invention is not limited to this.
  • the present invention can be applied to a case where the user directly interacts with the customer.
  • the present system will be described by taking a dialog between a customer and an operator as an example.
  • a customer directly inputs text data to the information search device 100 without the intervention of an operator, and the information search device 100 It may be configured to provide knowledge information.
  • the present system can be constructed, for example, as a Web site inquiry function.
  • the customer refers to the past inquiry history and inputs text data (for example, an after-call report or an inquiry history) selected from the history as interactive text data to be described later, and the information search apparatus 100 automatically generates the knowledge information.
  • the FAQ will be described as an example of the knowledge information.
  • materials related to products and services such as manuals and manuals can be applied as the knowledge information.
  • Knowledge information is not limited to text information, but is a group of electronic data stored in a format that is referred to by a person, such as images, sounds, or metadata.
  • the FAQ refers to knowledge structured into a set of questions and answers, and is not limited to text information.
  • the operator device 300 includes a dialog device 310, a control device 320, a display device 330, and an input device 340.
  • the conversation between the operator and the customer includes a conversation by voice call, a conversation by chat, a conversation by e-mail, and the like.
  • the interactive device 310 provides these interactive functions and includes a generating unit 310A.
  • the interactive device 310 extracts the contents of the customer's inquiry as text data, generates interactive text data, and outputs it to the information search device 100.
  • the dialogue device 310 is a telephone device connected to a PBX (Private Branch @ eXchange) in the contact center and responding to an incoming call distributed by an ACD (Automatic Call Distributor).
  • PSTN public switched telephone network
  • ACD Automatic Call Distributor
  • the customer's telephone and the contact center are connected via a public switched telephone network (PSTN) or an IP network.
  • PSTN public switched telephone network
  • generating section 310A generates dialogue text data from call voice data.
  • the generation unit 310A may have a voice recognition function, and generate speech text data by performing voice recognition processing on call voice data.
  • the generation unit 310A may output speech voice data to an individual voice recognition processing device (a server inside or outside a contact center) to obtain a voice recognition result, and generate dialog text data.
  • the chat-based conversation is a data-based conversation via an IP (Internet Protocol) network, and includes a text chat, a voice chat, a video chat, and the like.
  • IP Internet Protocol
  • the interactive device 310 is a computer device that can be connected to an external IP network through an internal network in the contact center.
  • the generation unit 310A generates the interactive text data through the above-described voice recognition processing.
  • the generation unit 310A can directly obtain the interactive text data displayed on a predetermined text chat screen. Note that, even in the case of dialogue by electronic mail, a computer device is applied to the dialogue device 310, and the generation unit 310A can also obtain dialogue text data by extracting the contents of the electronic mail.
  • the control device 320 performs display control on the display device 330 and operation input control on the input device 340.
  • the control device 320 controls the entire operation of the operator device 300 and can perform cooperative control on the interactive device 310.
  • the interactive device 310 may be configured as an individual device with respect to the operator device 300. . That is, the operator device 300 of the present embodiment may be configured as an operator-side information search terminal for the information search device 100. Dialog text data output from a dialog device 310 (generation unit 310A) that is separate from the operator device 300 is input to the information search device 100, and the operator device 300 enjoys a dialog support function provided from the information search device 100. It can be configured as a computer device including the control device 320, the display device 330, and the input device 340.
  • the information retrieval device 100 includes a communication control device 110, a control device 120, and a storage device 130.
  • the communication control device 110 is a communication interface unit for the operator device 300 and the interactive device 310.
  • the control device 120 includes a query generation unit 121, a search unit 122, a query model update unit (first update unit) 123, and a search model update unit (second update unit) 124.
  • the storage device 130 stores a query model (first model) 131, a search model (second model) 132, and an FAQ database (FAQDB) 133.
  • the query model is an internal expression that represents the query-likeness of a text.
  • the query model is described using a probabilistic model, but may be a rule set or a probabilistic model. That is, the query model may be a set of internal expressions representing the likeness of each of a plurality of queries, such as query 1, query 2, ..., query N.
  • the search model is an internal expression representing each piece of knowledge information to be searched. In general, in text search, a set of important words (called index words) is often used as an internal expression, but is not limited to this.
  • the dialogue support function of the present embodiment will be described using a time-series dialogue text data group generated by a dialogue between an operator and a customer as an example.
  • FIG. 2 is a view showing an example of the dialogue support screen, and the dialogue support screen is displayed on the display device 330 of the operator device 300.
  • the dialogue support screen includes a display area S1 for displaying the content of a dialogue, a display area S2 for displaying a recommended FAQ, and a display area S3 for displaying a search FAQ.
  • Each piece of information displayed in each of the display areas S1 to S3 is information provided from the information search device 100.
  • the display area S1 displays the utterance text data extracted (selected) from the utterance text data of the series of utterance text data U using the query model 131. In the example of FIG. 2, the contents of the utterance of the operator are indicated by dotted lines.
  • the display area S1 is controlled to be displayed on the display device 330 of the operator device 300 by default.
  • the display area S2 displays the FAQ search result searched using the search model 132 using the utterance text data extracted based on the query model 131 as a query.
  • the FAQ displayed in the display area S2 is automatically searched from the FAQ database 133 using the utterance text data having the highest query likelihood based on the query model 131 among the utterance text data displayed in the display area S1.
  • the obtained recommended FAQs (rFA1 to rFAn).
  • the display area S2 is controlled to be displayed on the display device 330 of the operator device 300 by default.
  • the query likelihood indicates a likelihood representing a query likeness for searching knowledge information.
  • the display area S3 is an area for displaying an FAQ search result for the utterance text data selected by the operator among the utterance text data displayed in the display area S1. That is, the search FAQ provided from the information search apparatus 100 based on the search request by the operator's intention is displayed, and the search process using the search model 132 is similar to the recommended FAQ, but the process of selecting the utterance text data by the operator is performed.
  • the display area S3 may be controlled to be displayed on the display device 330 of the operator device 300 by default, or may be controlled to be displayed on the display device 330 in response to an operator's selection operation on the display area S1.
  • the display areas S2 and S3 include an FAQ display area.
  • the FAQ display area includes a question area f1 corresponding to “Q (Question)” and an answer area f2 corresponding to “A (Answer)”.
  • the FAQ display area only the question area f1 is displayed for each FAQ, and the corresponding answer area is displayed in a closed state.
  • a button f11 is provided in the question area f1, and when the operator selects the button f11, control is performed so that the closed answer area f2 is displayed. Conversely, when the button f11 is selected while the answer area f2 is displayed, the answer area f2 can be closed.
  • buttons f21, f22 and f23 are provided in the answer area f2.
  • the button f21 is “Suitable (like)”, and is used by the operator to evaluate (positively) the usefulness of the FAQ such as referring to the provided FAQ.
  • the button f21 is "Not Suiteable (maybe not good)", and the operator evaluates the usefulness of the FAQ downward (minus), for example, the provided FAQ was not very helpful, contrary to the button f22.
  • Used for The button f22 is optional, and may have a configuration in which the button f22 is not provided when the button f21 is provided.
  • the buttons f21 and f22 function as FAQ evaluation receiving units.
  • the FAQ improvement request from the operator is accumulated as a history, and is used for creating, editing, updating and the like of the FAQ information itself stored in the FAQ database 133 as described in a third embodiment described later.
  • FIG. 3 is a diagram showing an example of a query content displayed in the display area S1 extracted using the query model 131.
  • the interactive device 310 outputs all the utterances exchanged between the operator and the customer to the information search device 100 in a time series as interactive text data.
  • the information retrieval device 100 extracts dialogue text data related to the inquiry from the plurality of dialogue sentences (conversational text data group U) in chronological order, transmits the extracted text data to the operator device 300, and causes the display to be displayed in the display area S1. .
  • the query model 131 is used to determine whether or not the text data is dialog text data related to the query.
  • utterance text data U2 and U3 are extracted as query candidates Q1 and Q2, respectively, and control device 120 causes display device 330 to display a query candidate list including query candidates Q1 and Q2 in display area S1.
  • This query candidate list becomes the interactive text data with the customer displayed on the operator device 300. The details of the query candidate generation process will be described later.
  • a display area in which the plurality of dialogue sentences (dialogue text data group U) input in the information retrieval apparatus 100 in the chronological order are displayed as they are so that the speakers are distinguished in the chronological order.
  • An area for directly outputting the text data may be provided separately from the display area S1. Further, it is also possible to configure so that the display can be switched between an area for directly outputting the uttered text data and the display area S1 based on a button selection operation (not shown). Note that the input text data in the interactive text data group U need not be in chronological order. That is, regardless of the order in which the utterances are uttered, it is sufficient that a plurality of conversation text data groups U in which predetermined conversation contents are grouped are input to the information search device 100.
  • FIG. 4 is a diagram showing a processing flow of the dialogue support function of the present embodiment.
  • the query generation unit 121 generates (extracts) a query candidate Qc using the query model 131 (S102, table 142 in FIG. 5).
  • the control device 120 inputs the first-ranked query candidate (for example, the query candidate Q1 having the highest query likelihood in the table 142) among the query candidates Qc output by the query generation unit 121 to the search unit 122, A recommended FAQ search process (first search process) is performed (S103), and the generated query candidate Qc is transmitted to the operator device 300, and a query candidate list is displayed in the display area S1 (an area for displaying the content of the inquiry). Control is performed (S105).
  • first search process first search process
  • the search process of the recommended FAQ (first knowledge information) in step S103 is performed by the search unit 122.
  • the search unit 122 calculates a search likelihood, which is a score indicating the likelihood of search, for each FAQ ID of the FAQ candidate using the input first-order query candidate Q1 and the search model 132, and searches the FAQ ID and the search likelihood.
  • a combination table in which degrees are associated with each other is created (table 143 in FIG. 5).
  • the search likelihood is a likelihood indicating the likelihood of a search result for a query candidate of knowledge information as a search result, and is not limited to a mathematical expression described below.
  • the search unit 122 refers to the FAQ database 133, extracts “Q” and “A” corresponding to the FAQ ID of the created combination table, and searches for ⁇ rank, FAQ ID, search likelihood, Q, A, and corresponding query ID.
  • a recommended FAQ candidate list (table 143) including a set of ⁇ is generated (S103). The order is the order of the highest search likelihood, and the corresponding query ID is an ID for identifying the query candidate Q1 serving as the search source. Details of the search processing will be described later. Since the FAQ candidate list serves as a source of learning data for the subsequent search model update process, it holds link information between FAQ candidates and search source queries. In the table 143, the corresponding query column is linked information.
  • the control device 120 transmits the generated recommended FAQ candidate list to the operator device 300 so that the recommended FAQ candidate list is displayed in the display area S2 (area for displaying the recommended FAQ) of the operator device 300.
  • the operator apparatus 300 displays the received recommended FAQ candidate list in the display area S2.
  • the operator can refer to each recommended FAQ in the display area S2 while checking the dialog text data (query candidates) in the display area S1.
  • the operator can give an answer to the customer with reference to each FAQ in the displayed recommended FAQ candidate list, and can support a smooth dialogue between the operator and the customer.
  • the information search device 100 can appropriately set the number of FAQs included in the recommended FAQ candidate list.
  • a recommended FAQ candidate list may be generated so as to include all the FAQ candidates extracted in the above-described first search process, and control may be performed so as to be displayed on the operator device 300.
  • a threshold is set for the degree, and a recommended FAQ candidate list in which some are selected is generated so as to extract FAQ candidates exceeding the threshold and several FAQ candidates in the ranking of search likelihood. You may comprise.
  • the process (recommended FAQ candidate list generation process) is automatically executed, and the query candidate Qc and the recommended FAQ are displayed in the display areas S1 and S2 of the operator device 300, respectively.
  • the FAQ evaluation receiving unit provided in the FAQ display area receives the evaluation of each FAQ in the FAQ candidate list from the operator (S109).
  • the evaluation to be accepted may be a single-valued evaluation by preparing only a “Suitable” button f21, or a binary evaluation by preparing a “Suitable” button f21 and a “NotSuitable (maybe bad)” button f22. May be accepted.
  • the determination may be made based on the setting of weighting the learning data by the FAQ evaluation value (knowledge evaluation history). In this example, a “Suitable” button f21 is prepared, and when the button f21 is pressed, the evaluation value is set to “10”.
  • the operator After listening to the voice that is the source of the dialogue text data group U via the dialogue device 310, the operator determines that FAQID5 in the automatically extracted FAQ candidate list (table 143) is the most appropriate search result, and It is assumed that, in the apparatus 300, the “Suitable” button f21 in the FAQ display area associated with FAQ ID5 is pressed.
  • the operator device 300 transmits the FAQ evaluation result ⁇ FAQID5, evaluation value “10” ⁇ to the information search device 100 based on the selection operation of the button f21.
  • the control device 120 uses the received FAQ evaluation result to create search model learning data including a set of ⁇ QID, FAQID, learning weight ⁇ as shown in a table 144 (S110).
  • the evaluation value “10” is used as it is as the learning weight.
  • the search model updating unit 124 updates the search model 132 using the generated search model learning data (S111). After updating the search model 132, if the same (or similar) utterance is made by the customer and the same (or similar) text information is input to the query generation unit 121, the query Q1 is transmitted to the search unit 122 as before the update. Although the search result is input, the score (search likelihood) of FAQ ID5 becomes larger, and FAQ ID 5 becomes the first-ranked FAQ candidate (table 145). That is, the search model 132 is updated so that FAQs that have been positively evaluated by the operator will be more easily searched higher in subsequent times. The details of the process of updating the search model 132 will be described later.
  • step S102 The processing after branching from step S102 will be described in detail.
  • the utterance text data selected by the operator from the plurality of utterance text data displayed in the display area S1 is input to the search unit 122 as a query candidate, and a search process (second knowledge information) of a search FAQ (second knowledge information) is performed. Search processing).
  • a query candidate in the display area S ⁇ b> 1 is selected, the operator device 300 transmits the selected query candidate and / or an ID for identifying the selected query candidate to the information search device 100.
  • step S106 of FIG. 4 when the information search device 100 receives the selection information for the query candidate in the display area S1 from the operator device 300 (YES in S106), the information search device 100 searches the search FAQ based on the selected query candidate (Q select ).
  • a search process (second search process) is performed to generate a search FAQ candidate list (S107).
  • the second search process of the present embodiment is the same as the above-described first search process, except that the query candidates input to the search unit 122 are different.
  • the control device 120 (second transmission unit) transmits the generated search FAQ candidate list to the operator device 300 and displays the search FAQ candidate list in the display area S3 (the area for displaying the search FAQ) of the operator device 300. Control is performed (S108).
  • the operator device 300 displays the received search FAQ candidate list in the display area S3.
  • the display area S1 for example, it is possible to control so that a query candidate used for extracting a recommended FAQ cannot be selected. That is, it is possible to control so that the query likelihood having the first query likelihood used for extracting the recommended FAQ is inactively displayed so that it cannot be selected. Further, as another example, in the search process of the search FAQ, it is determined whether or not the same query candidate for the recommended FAQ is selected while controlling the query candidate used for extracting the recommended FAQ. If the candidate is a candidate, it is also possible to control so that “not applicable” is output as a search result of the search FAQ and displayed in the display area S3.
  • the operator may be able to select two or more pieces of interactive text data as query candidates, or may be able to select only one query candidate.
  • the operator device 300 transmits the selection result of the query candidate Q2 to the information search device 100, and the control device 120 of the information search device 100 performs the above-described second search process and the process of providing the search FAQ candidate list based on the selection result.
  • a query model learning data creation process and a query model update process are executed.
  • the query category is binary ⁇ Q, ⁇ Q ⁇ data indicating whether or not the query is a query.
  • “Q” is entered as a value.
  • the control device 120 inputs the query model learning data (table 146 in FIG. 6) to the query model update unit 123, and updates the query model 131 (S113).
  • a query candidate list output when a new utterance text data group U is input to the query generation unit 121 is as shown in a table 147 of FIG.
  • the score (query likelihood) of the query corresponding to the source text U2 was higher than the score of the source text U3 as shown in FIG.
  • the score of the query corresponding to the source text U3 increases, and the source text (utterance text data) U3 becomes the first-ranked query candidate.
  • step S107 the control device 120 refers to the row of the table 142 of FIG. 5 where the query ID matches the query “Q2” of the selection result, and inputs the query ID “Q2” of the corresponding query text data to the search unit 122. I do.
  • the search unit 122 generates an FAQ candidate list (table 148 in FIG. 6) that is a search result for the query candidate Q2.
  • the control device 120 transmits the generated FAQ candidate list to the operator device 300, and the operator device 300 displays the received FAQ candidate list in the search FAQ display area S3 of the display device 330 (S108).
  • each FAQ in the display area S3 is also provided with the FAQ evaluation receiving unit in the FAQ display area, it is possible to receive and obtain the evaluation of each FAQ in the search FAQ candidate list by the operator ( S109).
  • the operator device 300 When the operator determines, for example, that the FAQ of FAQ ID 2 in the table 148 is the most appropriate search result based on the voice content that is the source of the uttered text data group U heard via the interactive device 310, the operator device 300 It is assumed that the "Suitetable" button f21 is pressed in the FAQ display area of FAQ ID2. Then, the FAQ evaluation result ⁇ FAQID2, evaluation value “10” ⁇ is transmitted from the operator device 300 to the information search device 100. In the information search device 100, the control device 120 links the query text using the received FAQ evaluation result and the corresponding query ID in the table 148, and sets ⁇ QID, FAQID, learning weight ⁇ as in the table 149 in FIG. Is created (S110). Here, the evaluation value “10” is used as the learning weight.
  • the search model updating unit 124 updates the search model 132 using the created search model learning data (S111).
  • the search model 132 When the same query candidate Q2 as before the update of the search model 132 is input to the search unit 122, the score of FAQID2 becomes larger, and a FAQ candidate list in which FAQID2 is the first candidate is generated (table 150 in FIG. 6). ). That is, the search model 132 is updated so that FAQs that have been positively evaluated by the operator will be more easily searched higher in subsequent times.
  • the process of generating the query candidate Qc using the query model 131 from the series of utterance text data U between the operator and the customer input from the interactive device 310 is performed, A first search process for automatically providing a recommended FAQ from the generated query candidates using the search model 132, and a selection from the generated utterance text data by the operator similarly using the search model 132 And performing a second search process for providing a search FAQ based on the query candidate thus selected.
  • an evaluation input button for performing an FAQ evaluation is provided in the display area of the FAQ displayed in the display areas S2 and S3, and the operator can display the recommended FAQ and / or the searched FAQ.
  • Each FAQ can be evaluated.
  • a set of the FAQ evaluation result and the selected query candidate is used as learning data of the search model 132, and the search model 132 To update.
  • the selection history of the query candidate selected by the operator is used as learning data of the query model 131 to update the query model 131.
  • the query model learning data creation and the query model 131 update processing are not performed after the update of the search model 132, even if the same (or similar) utterance is made by the customer, the first-ranked query candidate for the series of utterance text data Is the same as before the query model update, and is not reflected in the extraction result of the recommended FAQ. That is, it is necessary to simultaneously collect the quell model learning data and the retrieval model learning data.
  • the learning data creation processing of the query model 131 based on the selection query received by the operator's selection operation performed, but also the association of the search model 132 with the FAQ in the learning data of the learning data.
  • the user's learning data creation work is easier than ever.
  • the information search system allows the operator to select a query candidate, and after accepting the selection of the query candidate by the operator, performs a search model learning data creation process (S110) subsequent to the second search process (S107). ) And the update process of the search model 132 (S111), the query model learning data creation process (S112), and the query model 131 update process (S113) are linked in parallel.
  • the result of updating the query model 131 based on the result of the operator selecting the query candidate and evaluating the FAQ candidate of the search result By updating the search model 132 based on the set of linked query candidates, when the customer utters the same or similar utterance next time, the operator can select a positive ( The FAQ with a negative evaluation result is searched higher (lower) than the search result.
  • the extraction accuracy of the FAQ candidate for the inquiry intended by the customer is improved by the update of the search model, and the update of the query model 131 on the selection history of the query candidate by the operator makes the ranking as the query candidate the same as the search for the FAQ candidate. Since the update is performed in conjunction with the above, the extraction accuracy of the recommended FAQ is improved.
  • the update of the search model 132 and the update of the query model 131 are performed in parallel in real time. You may comprise.
  • the selection result of the query candidate of the operator and the evaluation result of the FAQ are reflected in both models, and the recommended FAQ for inputting the same (or similar) utterance text data is immediately obtained. The extraction accuracy is improved.
  • the following mechanism is also provided on the dialogue support screen.
  • FIG. 2B is a screen example of the display area S1
  • FIG. 2C is a diagram showing a relationship between the screen example shown in FIG. 2B and the display area S2.
  • the inquiry content displayed in the display area S1 in FIG. 2A displays utterance text data extracted from a series of conversations between the operator and the customer using the query model 131. Therefore, while the conversation between the operator and the customer is continuing, the utterance text data displayed in the display area S1 sequentially increases, and the latest utterance text is displayed at the bottom of the display area S1. As shown in FIG.
  • the latest conversation between the operator and the customer after switching to the past history reference mode is not displayed in the display area S1, and the screen displayed by the operator by the scroll operation or the screen at the time when the operator specifies the utterance text remains unchanged.
  • the state is displayed.
  • the display of the display area S1 is fixed by the activation of the past history reference mode. However, when the conversation between the operator and the customer is continuing during that time, the display is performed in the past history reference mode. Since the latest utterance text is not displayed on the screen (display area S1), a button for scrolling down to the display area S1 is displayed so that the latest utterance text can be referred to. When the operator performs the button operation for scrolling down or when the scroll bar is scrolled down to the bottom by the scroll operation, the past history reference mode is canceled and the normal display mode, that is, the latest utterance text Is displayed at the bottom.
  • a recommendation presented for the instructed utterance text is displayed in a display area (fifth display area) different from the display area S1.
  • the FAQ is displayed (FIG. 2C).
  • the input text is regarded as a document, and is regarded as a document classification for sorting the document into an appropriate category.
  • the query candidate generation process is a problem of sorting input text into two categories, that is, a query or a query
  • the search process is a problem of sorting input text into each FAQ.
  • a naive Bayes classifier which is one of the classification methods based on machine learning, will be described as an example. Note that the classification method is not limited to the naive Bayes classifier, and other known methods can be applied.
  • the problem of document classification is formulated as the following expression (1) as a problem of finding a category c that maximizes the posterior probability of the category c when the document d is given.
  • the category likelihood L c is expressed by the following equation.
  • w i is the emergence words of the document d
  • M is the emergence number of words in the document d
  • d c number of documents of category c
  • freq (w i, c ) is the frequency of occurrence of word w i in the category c.
  • V is the number of words (the number of words) in all the documents, and ⁇ is a correction parameter.
  • the models in the above-described search model 132 and query model 131 refer to tables of lnP (w i
  • the classification destination can be determined by the following equation (7).
  • the query likelihood Lq is calculated using the following. Defined as in equation (9).
  • the processing of the Naive Bayes classifier is divided into three stages: a model learning stage for classifying into categories, a classifying stage for classifying documents into categories, and an updating stage for updating the model using additional learning data.
  • a model learning stage for classifying into categories
  • a classifying stage for classifying documents into categories
  • an updating stage for updating the model using additional learning data.
  • the classification stage and the update stage which are important for understanding each process of the present embodiment, will be described in detail below.
  • (Learning stage) The model is learned by using the correct answer data composed of a set of the document and the category to be classified as learning data. First, all documents are divided into word strings, the frequency of appearance for each category is counted, and a word frequency table for each category is created. The document frequency table for each category is created by counting the frequency of documents for each category. Then, the values of each table are substituted into the equations (6.2) and (6.3) to calculate lnP (w i
  • FIG. 7 is a diagram showing a processing flow in the classification stage. The processing in the classification stage will be described with reference to the flowchart in FIG. As a premise, it is assumed that the destination category is an element of the category set C, and that the category log marginal probability table T Cp and the word log posterior probability table T Wp under the category have been obtained in the learning stage.
  • the word division processing can be realized by various known methods, using a known morphological analyzer, using a character N-gram unit, or the like. In this processing, it is not always necessary to cut out all the words in the text, but it is sufficient to cut out only the word information referred to in the subsequent query generation processing. Thereafter, appropriate normalization processing is performed in accordance with the subsequent processing. For example, an expression peculiar to spoken words such as “Ah,” is removed, or only the original form and stem of a part of speech having a conjugation form such as a verb are extracted.
  • the words w 1 ,..., W M are sequentially substituted into w i , and the processing from S306 to S307 is repeated (S305).
  • a (w i c), read from the log posterior probability table of the word, is added to the L c (S306).
  • FIG. 8 is a diagram showing a processing flow in the update stage.
  • the processing in the update stage will be described with reference to the flowchart in FIG.
  • the category log marginal probability table T Cp the word log posterior probability table T Wp under the category
  • the category-based document frequency table T Cf and the category-based word frequency table T Wf which are their calculation source data, It is assumed that it has been obtained at the learning stage.
  • ⁇ Learning data ⁇ is a set of ⁇ document ID (QID), category c, weight G ⁇ .
  • the weight G indicates that G same documents are added.
  • a word string w 1 of the document of additional learning data based on the ⁇ w M and classification destination category c, lnP
  • T Wf is updated.
  • the document of the learning data is divided into word strings w 1 ,..., W M by the word division processing as described in the classification stage (S406).
  • the frequency of appearance of w i in category c is read from T Wf and set in freq (w i , c).
  • the word learning data appeared G times to update the freq the result of adding the G (w i, c)
  • TWf is updated.
  • the updated T Wp is updated using the updated T Wf .
  • ⁇ (j 1 to V) freq (w i , c), which is the first term of the denominator of Expression (6.2), is obtained. This is the total number of occurrences of the word in category c, which is set as freq (c) and initialized with 0 (S409).
  • Frequency of occurrence T Wf [c, w i] in the category c read, and is set to freq (w i, c), adding the freq (c).
  • the freq (c) is updated using the addition result (S411). This is repeated for all vocabularies w 1 ,..., W v (S410).
  • the frequency of occurrence in the category c is read from T Wf [c, w i ] and set to freq (w i , c).
  • the query generator 121 is a flowchart showing details of processing for generating query suggestions Q c from a set of text information.
  • a series of texts are sorted by a classifier into two categories, each of which is a query or not, and a set of texts assigned to the query is set as a query candidate.
  • the process proceeds to the subroutine of FIG. 9 and is initialized (S201). Substituted in order from the U1 on the variable U k, it repeats the process from step S203 to S206 (S202). Step S203 is the subroutine shown in FIG. 7, and will be described again here.
  • U is U1.
  • the text U1 is divided into word units that are a semantic unit (S302).
  • L Q and L ⁇ Q are obtained using the logarithmic probability table of the category (table 202) and the log posterior probability table of the word under the category (table 203) (S303 to S307).
  • the calling routine the L Q and L -Q obtained by substituting the equation (9), and inputs the calculation result to Lq 1 (S204). If Lq 1 > 0 according to the condition of Expression (9), it is determined that the query is “Q” (S205), and a set of (U1, Lq 1 ) is added to the query candidate Qc ′. Similar processing is performed for U2, U3, and U4, and query candidates Qc 'are obtained for all input texts (S206). Finally, a result Qc obtained by sorting Qc ′ in descending order of the query likelihood Lq k is returned (S207, table 142 in FIG. 5).
  • FIG. 10 is a flowchart showing a process in which the search unit 122 extracts a FAQ candidate Sc, which is a search result of the FAQ, from a series of texts U.
  • a process of sorting a series of texts into one of the categories (FAQIDs) is performed using the equation (6) of the naive Bayes classifier in the same manner as the above-described query generation process.
  • Each step will be described in order by taking as an example.
  • the subroutine of FIG. 7 is called from the subroutine of FIG. 10 (S221).
  • Category set C given to the subroutine C ⁇ faq 1 ,..., Faq 5 ⁇ (each FAQ ID in FAQ database 133), T Cp is table 302 in FIG. 12, T Wp is table 303 in FIG. 12, and U is U2. .
  • the text U2 is divided into word units that are a semantic unit (S302).
  • word division as in the query generation processing, words are cut out as shown in the U2 line of the table 201, and then are subjected to unnecessary word filtering.
  • a filter suitable for a search process different from that used in the query generation process is used as the unnecessary word filter.
  • L faq1 to L faq5 are obtained using the logarithmic probability table of the category (table 302) and the log posterior probability table of the word under the category (table 303) (S303 to S307).
  • the obtained S is sorted in the order of L faqk and the top N items are extracted (S222).
  • N 3 and the top three search likelihoods (faq3, faq5, faq1) are selected as candidates.
  • the FAQ candidate list Sc of the table 305 in FIG. 12 is obtained.
  • the logarithmic marginal probability tables T Cp (tables 202 and 302 in FIG. 12) and the logarithmic posterior probability tables T Wp of words (table 203 in FIG. 12) used in the classification step of the query model 131 and the search model 132 are used.
  • table 303) are obtained in advance from the document frequency table for each category (table 401 and table 501 in FIG. 13) and the word frequency table for each category (table 402 and table 502 in FIG. 13) in the learning stage by using an equation. It is calculated based on the calculation formulas (6.2) and (6.3).
  • the values of the corresponding cells in the category-specific document frequency tables (table 401 and table 501) and the category-specific word frequency tables (table 402 and table 502) are added by the count of the learning data to be added, and updated. It is sufficient to re-calculate the value of
  • a model update subroutine (FIG. 8) is called from the subroutine of FIG. 11A (S501).
  • the following data is given to the subroutine in addition to the learning data.
  • Category set ⁇ Q, ⁇ Q ⁇ is set to C, and T QCf of table 401 (FIG. 13), T QCp of table 202 (FIG. 12), T QWf of table 402 (FIG. 13), and T QWp of table 203 (FIG. 12) are set .
  • the correction parameter ⁇ is set to 0.01.
  • Table 403 shows the updated TCf . From the table 403, a new category peripheral probability is obtained based on the equation (6.3) (steps S402 to S405). First, the total number of documents D is obtained (S402 to S404).
  • D is initialized to 0 (S402), and the document frequencies T Cf [Q] and T Cf [ ⁇ Q] of the categories “Q” and “ ⁇ Q” are sequentially read from the table 403 into d Q and d ⁇ Q , respectively. It is added to D (S403, S404).
  • lnP (Q) is calculated using the obtained D and d Q obtained in step S401 according to the equation (6.3), and is written to T Cp [Q] (S405, table 404).
  • T Wf is updated first.
  • the result of the division at the classification stage (S302 in FIG. 7, table 201A in FIG. 12) may be referred to, and the same division processing does not need to be executed again.
  • the logarithmic posterior probability table of the word is recalculated based on equation (6.2) (S409 to S413).
  • the total number of occurrences of the word in the category Q is set as freq (Q), and the word is initialized to 0 (S409).
  • Cell [Q, w i] of the word frequency of occurrence of the original category Q table 405 is read, and is set to freq (w i, Q), adding the freq (Q).
  • the appearance frequency in the category Q is read from the cell [Q, “tell me”] in the table 405 and set to freq (w 1 , Q).
  • a value is written to T Wp [Q, w 1 ] (S413, cell [Q, “tell me”] in table 406).
  • This the rest of the vocabulary w2, ⁇ , repetition is also performed for the w V (S412).
  • the query likelihood of the dialog text data corresponding to the selected query candidate is set to be higher than the query likelihood of the unselected query candidate (the unselected query candidate).
  • the query model 131 is updated so that the query likelihood decreases).
  • a subroutine for updating the model (FIG. 8) is called (S502).
  • the following data is given to the subroutine in addition to the learning data.
  • the correction parameter ⁇ is set to 0.01.
  • the value of lnP (faq 2 ) is obtained, and the category marginal probability table T Cp is updated.
  • the updated T Cf is shown in Table 503. From the table 503, a new category logarithmic probability is obtained based on the equation (6.3) (steps 402 to 405).
  • lnP (faq 2 ) is calculated using the obtained D and d faq2 obtained in step S401, and written to T Cp [faq 2 ] (S405, table 504). .
  • the category word log posterior probability of the original faq 2 lnP for all vocabulary seek the value of the (w i faq 2), to update the log posterior probability table T Wp of the word.
  • T Wf is updated first.
  • the result of the division at the classification stage (table 301 in FIG. 12) may be referred to, and it is not necessary to re-execute the same division processing.
  • the logarithmic posterior probability table of the word is recalculated from the updated word frequency table (table 505) based on the equation (6.2) (S409 to S413).
  • the total number of occurrences of the word in the category Q is set as freq (faq 2 ), and the word is initialized to 0 (S409).
  • the cell occurrence frequency under the category faq 2 is read from the cell [faq 2 , w i ] of the table 505, set to freq (w i , faq 2 ), and freq (faq 2 ) is added.
  • w 1 “contract content”
  • the frequency of appearance in the category faq 2 is read from the cell [faq 2 , “contract content”] in the table 505 and set in freq (w 1 , faq 2 ).
  • (2nd Embodiment) 14 to 22 are diagrams illustrating an information search system according to the second embodiment.
  • the configuration is such that the operator can perform the FAQ evaluation for each FAQ in the FAQ candidate list.
  • the operator performs each of the second display area and the third display area.
  • the user may want to display an FAQ that is not included in the FAQ candidate list.
  • the second search process using the search model 132 is performed by automatically using the query candidate selected in the third display area as a search query.
  • control is performed such that the keyword included in the query candidate selected by the operator can be edited by the operator.
  • the operator can freely and manually perform a search process (third search process) using the search model 132 using the keyword list resulting from the keyword editing by the operator as a new search query.
  • FIG. 14 is a network configuration diagram of the information search system of the present embodiment and a functional block diagram of each device.
  • the query generation unit 121 of the information search device 100 is different from the keyword extraction unit 121A. Is further provided.
  • the keyword extracting unit 121A extracts a query keyword from the text data of the query candidate selected in the operator device 300, and provides the extraction result to the operator device 300.
  • FIG. 15 is a diagram showing an example of the dialogue support screen of the present embodiment.
  • the dialogue support screen includes display areas S1 to S3, as in the first embodiment.
  • the display area S3 deletes the keyword display input field Sa1 for displaying the query keywords extracted from the selected query candidates received from the operator, the add button Sa2 for adding the keyword display input field Sa1, and the keyword display input field Sa1.
  • a query keyword display / search area including a delete button Sa4 and a search button Sa3.
  • the display area S3 of the present embodiment is an area for displaying a search FAQ candidate list based on the selected query candidate in the first embodiment, and also includes an optional search FAQ candidate list (arbitrary search FAQ (aFA1 to aFAn), This is an area where the third knowledge information is displayed.
  • the display area S3 is a query keyword editing unit where the operator arbitrarily edits the displayed query keyword (deletion / modification, change, input of a new keyword, etc.) to create a search query. Function as
  • query keyword display / search area may be configured to be displayed only when a selected query candidate is received from the operator.
  • the operable states of Sa1 to Sa4 are switched so that the keyword display input field Sa1, the add button Sa2, and the delete button Sa4 in the query keyword display / search area can be operated only when a selected query candidate is received from the operator. Can also be configured.
  • the display area (sixth display area S6) including the query keyword display / search area and displaying the optional search FAQ candidate list may be provided separately from the display area S3. Further, the display can be switched between the sixth display area S6 and the display area S3 based on a button selection operation (not shown).
  • FIG. 16 is a diagram illustrating a processing flow of the information search device 100 of the present embodiment.
  • the processing after the query keyword extraction processing (S601 to S605) is performed in parallel with the processing flow of the first embodiment (FIG. 4). Processing to be performed has been added. Details of the query keyword extraction process will be described later.
  • Keyword extraction section 121A extracts a query keyword KW the select from the query candidate Q select (S601), the control unit 120, the extracted keyword KW the select and transmit to the operator device 300, the display area S3 of the interactive support screen It is displayed (S602).
  • the control device 120 waits for the search query keyword KW edit from the operator device 300 (S603), and upon receiving the search query keyword KW edit (YES in S603), outputs the search query keyword to the search unit 122.
  • the search unit 122 performs a search process (third search process) using the search model 132 based on the search query keyword KW edit , and generates an FAQ candidate list (arbitrary search FAQ candidate list) as a search result (S604). .
  • the control device 120 transmits the generated optional search FAQ candidate list to the operator device 300 and causes the display device to display it in the display area S3 of the dialogue support screen (S605). Thereafter, the process proceeds to step S109 as shown in FIG. Note that the same processes as those in FIG. 4 are denoted by the same reference numerals and description thereof will be omitted.
  • step S601 the keyword extraction processing in step S601 will be described.
  • a case where a series of interactive text data (table 141 in FIG. 5) is input will be described as an example.
  • an FAQ database 133A shown in FIG. 17 is used as the FAQ database.
  • the category set C of the search model 132 is faq 1 , .., faq 6
  • the category document frequency table T Fcf and the category word frequency table T Fwf of the search model 132 have a row of faq 6
  • the values are added and the values of the tables 601 and 602 in FIG. 18 are set.
  • the category logarithmic probability table T Fcp (table 603 in FIG. 18) and the word log posterior probability table T Fwp under the category (table 604 in FIG. 18) have been calculated from these tables.
  • the query model 131 is the same as in the first embodiment.
  • the search likelihood calculated in the second search process (S107) when the query candidate Q2 is selected by the operator is as shown in the Q2 column of the table 605.
  • the query keyword extraction process in step S601 will be described.
  • the top N items are extracted as query keywords in descending order of the keyword likelihood, which is a measure indicating the likelihood of a keyword.
  • is defined as the logarithm probability lnP the (w i c) has been marginalized for category c (w i) (third model).
  • the word is corrected by the number V and the correction parameter ⁇ of the words of all the documents. This is shown in the following equation (10).
  • the text of the selected query candidate Q2 is subjected to word division processing (S611).
  • word division processing is common to the search processing of the search FAQ based on the selected query candidate (S107) and the query model update processing (S113)
  • KW select KW 2 is displayed in the display area S3 (S602). For example, they can be displayed in order from the leftmost keyword display input field Sa1 (search window) on the dialogue support screen in FIG. Note that the operator can delete a keyword by pressing an “x” delete button Sa4 provided beside the keyword display input field Sa1 in the query keyword display / search area of the display area S3.
  • keyword display input field Sa1 is a text box, and place the cursor can be freely edited (for example, you can edit the KW 2, or to enter any keyword other than KW 2 it can). Further, when the add button Sa2 indicated by “+” is selected, a keyword display input field Sa1 can be added.
  • the search query keyword KW Edit in the edit state at the time of clicking the search button Sa3 is transmitted from the operator apparatus 300 to the information search apparatus 100.
  • the first case is when the operator does not perform the editing operation and the displayed three keywords are transmitted to the information search device 100 as the search query keywords KW Edit as they are.
  • KW Edit 1 ⁇ "Insurance premium", “Driving distance”, “Annual” ⁇ .
  • the control device 120 receives the search query keyword KW Edit via the communication control device 110 (S603).
  • the control device 120 inputs the received search query keyword KW Edit to the search unit 122, and the search unit 122 executes a third search process (S604).
  • faq 6 is not included in the optional search FAQ candidate.
  • the search model learning data creation processing S110 includes, in addition to the learning data that is a set of the selected query ID and the evaluated FAQ, a difference obtained by removing the keywords included in the selected query keywords KW select from the search query keywords KW Edit.
  • the keyword list of the set (KW Edit- KW select ) is used as learning data.
  • advance word segmentation processing skips to the next processing S406 .
  • the other processing is the same as the search model update processing of the first embodiment, and a description thereof will not be repeated.
  • the model is extended so as to execute the model update (S502) by the number of learning data.
  • the search model learning data creation process S110 the above two learning data are created, but only one of the learning data may be created.
  • the search query keyword KW Edit itself may be configured as additional learning data.
  • deleted selected query keywords by editing i.e. KW the select difference sets other than the elements of KW Edit 2 from the (here ⁇ "year" ⁇ ), be created learning data set negative learning weights Good.
  • various learning data creation methods can be configured based on the selected query candidate, KW select , and KW Edit 2.
  • the category-specific document frequency table T Fcf and the category-specific word frequency table T Fwf are updated (tables 609 and 610 in FIG. 20), and the category that is the search model 132 is obtained from the updated table.
  • a log marginal probability table T Fcp (table 611 in FIG. 20) and a word log posterior probability table T Fwp under category (table 612 in FIG. 20) are calculated.
  • the faq 6 that was not included in the search result in the processing of the first embodiment is searched by the processing of the newly provided embodiment, and both the search model 132 and the query model 131 are updated. You.
  • the first-ranked query candidate Q1 generated in step S102 has been changed to U3 (for example, does the insurance premium differ depending on the annual mileage?) (Table 147 in FIG. 5). .
  • the search likelihood (table 613 in FIG. 20) is calculated.
  • the search model 132 and the query model 131 are updated, so that the FAQ 6 that was not displayed when it was input as the previous conversation text data is selected by the operator this time, Even if you do not edit and search for the extracted keywords, they will be displayed automatically.
  • Twwmp calculated from the updated TFWwf is added by editing the keywords ("annual”, “mileage”, “insurance”, “difference") included in the query candidate and editing.
  • the updated keyword is updated so that the keyword likelihood of the keyword (“weekend”) is increased, and is easily extracted as a selected query keyword from the next time.
  • FIG. 21 is a diagram illustrating a query candidate search processing flow according to the present embodiment, and corresponds to FIG. 10.
  • FIG. 22 is a diagram showing a processing flow in the classification stage of the present embodiment, and corresponds to FIG.
  • the input data of the classification process of FIG. 7 which is a subroutine is similarly changed, and a process of determining whether the input type is the text U or the keyword list KW is newly provided before the division process of S302. (S621).
  • FIG. 23 to FIG. 34 are diagrams illustrating an information search system according to the third embodiment.
  • This embodiment has a function of changing and updating FAQ information registered in the FAQ databases 133 and 133A with respect to the above-described first and second embodiments.
  • FIG. 23 is a diagram showing a network configuration of this embodiment and functional blocks of each device.
  • a FAQ for adding, updating, or deleting FAQ data is added to the information search system of the second embodiment.
  • An FAQ management terminal 400 for performing management is provided.
  • the FAQ management terminal 400 includes a control device 410, a display device 420, and an input device 430.
  • the FAQ management terminal 400 is provided, for example, as a management terminal configuring a contact center, but is not limited to this, and may be any management terminal that can access FAQ information managed by the information search device 100.
  • the information search device 100 is provided with an FAQ management unit 125.
  • the FAQ management unit 125 controls change / update of FAQ information through a predetermined FAQ management screen.
  • a history DB 134 is stored in the storage device 130, and includes a history of input of a series of interactive text data, a history of query candidate generation, a history of keyword search (including a history of missed keyword search), an FAQ evaluation history, an FAQ improvement request history, and the like. Of various history information.
  • FIG. 24 is a diagram showing a processing flow of the dialogue support function of the present embodiment.
  • processing for recording various histories in the history DB 134 is added to the processing flow shown in FIG.
  • the recording processing of various histories may be performed by the corresponding functional units, respectively, or may be performed by the control device 120 as a whole.
  • the query generation unit 121 determines an ID (INPUT @ ID; hereinafter, IID and IID) that can uniquely identify the series of dialogue text data groups U. Is represented, and this is recorded in the variable iid (S701). The IID is used to identify individual data in the history.
  • a series of interactive text data U is recorded together with iid in the input history H INPUT composed of a set of ⁇ IID, UID, text ⁇ (S702).
  • each piece of conversation text data in the series of conversation text data U can be uniquely identified by the concatenated key of ⁇ IID, UID ⁇ .
  • Query After generating the candidate Q c (S102), registers the query candidate Q c in query candidate generation record H Q with iid (S703).
  • FAQ candidate S c is displayed in the display area S1 of the operator device 300 in step S104, waits for the FAQ voted operator (S109). That is, in step S104, S108 and S605, if the FAQ candidate S c in each search processing of the preceding stage is not hit, FAQ candidate S c is not transmitted to the operator device 300, FAQ candidate S in the display areas S1 c is not displayed.
  • the type of FAQ evaluation in the present embodiment includes “improvement request” (f23) in addition to the FAQ evaluation of “usefulness” (f21, f22).
  • step S707 if the FAQ evaluation type is “usefulness”, a set of ⁇ FAQID, IID, QID, FAQ evaluation value EVAL ⁇ is registered in the FAQ evaluation history H Eval (S709, table 705 in FIG. 25). ).
  • FAQ management refers to adding, deleting, and updating FAQ information registered in the FAQ database 133 as necessary, and is performed by a FAQ administrator.
  • the FAQ manager can manage the FAQ through the FAQ management terminal 400.
  • FIG. 26 to FIG. 28 are flowcharts showing the FAQ management process, which respectively show a new FAQ registration process, a FAQ deletion process, and a FAQ correction / update process.
  • FIG. 26 is a flowchart showing a new FAQ registration process.
  • the control device 120 (FAQ management unit 125) counts the keyword list of the miss hit history H Miss and sorts the keyword list in descending order of the count. For example, in the case of H Miss in the table 703 of FIG. 25, in the keyword list, “License, color” has a count of 2 and “vehicle insurance, hospitalization, period” has a count of 1. Then, a list of ⁇ keyword list, count number ⁇ , which is the sort result, is transmitted to FAQ management terminal 400 together with the control information, and displayed in the FAQ search miss hit display area shown in FIG. 29 (S720).
  • FIG. 29 is an example of a FAQ search mishit screen displayed on the display device 330 of the operator device 300.
  • the control device 120 waits for the FAQ manager to select a keyword list on the FAQ search miss hit screen (S721).
  • KW Select is transmitted from the FAQ management terminal 400 to the information search device 100, and the control device 120 receives this (S721).
  • the control device 120 causes the FAQ management terminal 400 to display the FAQ creation screen shown in FIG. 30 (S722).
  • the FAQ creation screen has an input check function to ensure that all keywords in the mishit keyword list are included in the text of the new FAQ.
  • the input check function is executed. If the new FAQ does not include any of the keywords in the mis-hit keyword list, an error message is displayed and control is performed to prevent the user from registering. I do.
  • the control device 120 waits for a new registration request from the FAQ manager (S723).
  • a new registration request is accepted, and the entered FAQ information ( ⁇ Q text, A text ⁇ ) is entered.
  • the new registration request including the information is transmitted from the FAQ management terminal 400 to the information search device 100.
  • the information search device 100 is received by the control device 120 via the communication control device 110 (S723).
  • the control device 120 registers the received new FAQ information in the FAQ database 133.
  • an FAQ ID is assigned to the new FAQ information and stored in the FAQ database 133.
  • the assigned FAQ ID is set to a variable faq new (S724).
  • the search model is updated so that the query related to the new FAQ can be searched using the query as an input.
  • a set of all query IDs associated with KW Select and a new FAQ is used as learning data.
  • faq new is added to the category set C in order to add a new FAQ to the classification destination category of the search model 132 ( S725 ), and the tables T Fcf , T Fwf , T Fcp , T of the search model 132 are added.
  • the line of faq new is added to Fwp (S726).
  • the query ID ⁇ IID, QID ⁇ is stored in the variable ⁇ iid, qid ⁇ .
  • the search model 132 is updated using ⁇ query ID ⁇ iid, qid ⁇ , category faq new , weight G ⁇ Z ⁇ as additional learning data (S730). After updating, for the history h i is prevented used redundantly in the update processing of the next time, keep remove h i from H Miss (S731).
  • a new FAQ is searched by updating the search model 132 based on the FAQ registered in the FAQ database 133 (the new FAQ is not searched unless the search model 132 is updated). Therefore, the search model is updated continuously.
  • the learning data of the search model 132 is a set of a text and an FAQ ID, and the problem is to determine which text should be associated. This problem could not be solved by the related art in which FAQ creation support and learning data collection were performed separately. That is, the learning data could not be linked to the updated FAQ.
  • the created new FAQ is created based on the keyword list extracted from the query text as the user's question, and the question-answer relationship is set between the query text and the FAQ. It is likely that there is a possibility. As it is possible to use this relationship to correspondence training data, as described above, in the processing at the time of FAQ utilized miss history H Miss query ID ⁇ IID, QID ⁇ and, the query candidate generation record H Q Processing for recording a query text corresponding to the query ID is provided.
  • various learning based on the selected query candidate, the selected query keyword, and the search query keyword besides the set of the query ID and the FAQ. can be configured to create data. For example, for a keyword list of a difference set in which keywords included in the selected query keywords are excluded from the search query keywords, a pair with the FAQ may be added to the learning data.
  • FIG. 27 is a flowchart showing FAQ deletion processing.
  • the control device 120 (FAQ management unit 125) totals the FAQ evaluation values EVAL for each FAQ ID from the FAQ evaluation history H Eval , and sorts the FAQs in ascending order of the total score (S740).
  • a list of ⁇ FAQID, Q text, A text, total score ⁇ is created by referring to “Q” and “A” corresponding to the FAQ ID as a result of the sorting from the FAQ database 133.
  • the information search device 100 transmits the created list to the FAQ management terminal 400, and displays the FAQ deletion list display screen shown in FIG. 31 (S741).
  • the control device 120 waits for a FAQ deletion request from the FAQ manager (S742).
  • a deletion request is accepted.
  • the FAQ ID of the selected FAQ is transmitted from the FAQ management terminal 400 to the information search device 100.
  • the control device 120 receives the selected FAQ ID and stores it in the variable faq delete (S742). Then, the control device 120 deletes FAQ information corresponding to FAQ delete from the FAQ database 133 (S743).
  • the faq delete is deleted from the category set C of the search model 132 (S744), and the row of the category faq delete is deleted from the tables T Fcf , T Fwf , T Fcp , and T Fwp of the search model 132. Is deleted (S745).
  • the search model 132 is updated (S746).
  • the updating process here aims at recalculating T Fcp and T Fwp because the total number of documents and the total number of words in all categories change due to the category deletion.
  • the difference from the search processing of the second embodiment (S111 in FIG. 16, FIG. 8) is that T Fcf and T Fwf do not change because there is no additional learning data.
  • FIG. 32 is a flowchart showing the search model updating process, and the detailed description of each step is as described above.
  • FIG. 28 is a flowchart showing the FAQ update process.
  • the control device 120 sorts the FAQ IDs of the FAQ improvement request history H Improve in descending order of the count number.
  • the “Q” and “A” corresponding to the sorted FAQ ID are referred to from the FAQ database 133, and a list of ⁇ FAQID, Q text, A text, count number ⁇ is created and transmitted to the FAQ management terminal 400.
  • 33 is displayed on the FAQ improvement list screen shown in FIG. 33 (S760).
  • the control device 120 waits for the FAQ manager to select a correction target FAQ (S761).
  • the FAQ manager selects an FAQ desired to be modified from the FAQs displayed on the FAQ improvement list screen
  • the selected information is transmitted to the information search device 100.
  • the control device 120 receives the selection information and controls the FAQ management terminal 400 to display the FAQ correction screen shown in FIG. 34 (S762).
  • a “Q” text and an “A” text of the selected FAQ are set, and the FAQ administrator can appropriately edit them.
  • the control device 120 waits for a FAQ update request from the FAQ manager (S763).
  • the FAQ manager inputs the FAQ on the FAQ correction screen and then clicks the update button, the update request is accepted, and the updated FAQ ⁇ FAQID, Q text, A text ⁇ is transmitted to the information search device 100 together with the update request information.
  • the control device 120 receives the update request information (Yes in S763), and updates the FAQ information of the corresponding FAQ ID in the FAQ database 133 using the updated FAQ information (S764).
  • the evaluation of the FAQ search result by the operator may be improved.
  • the search model 132 would be updated to be lower in the search candidates. Then, there is a problem that the corrected FAQ is not displayed to the operator as a search result.
  • a process of restoring the search model 132 to the state before the update using the FAQ evaluation history H Eval is performed next.
  • the same update process may be performed by inverting the learning weights as when the model is updated and by adding the learning weights as additional learning data.
  • the polarity of the FAQ evaluation value EVAL is inverted, and the value is stored in the learning weight variable G (S768).
  • the additional learning data is ⁇ query ID ⁇ iid, qid ⁇ , category faq revise , weight G ⁇ Z ⁇ . This is input to the search model updating unit 124 to update the search model 132 (S770). After updating, for the history h i is prevented used redundantly in the update processing of the next time, keep remove h i from H Eval (S771).
  • search model update process receives the query ID ⁇ IID, QID ⁇ in response to the search model update process of the second embodiment, and generates the query candidate generation history H Enhancements have been made so that query text can be found from Q.
  • QID of the input data ⁇ IID, QID ⁇ instead, the query candidate processing of finding from the table the text U storing query candidate Q c corresponding to QID in S406, the query ID ⁇ IID, QID ⁇ from It is replaced by the processing to find from the product history H Q.
  • the other processing is the same as the search model updating processing of the second embodiment, and thus the description is omitted.
  • the FAQ search history (mis-hit history), the FAQ evaluation history, and the FAQ improvement request history based on the query candidate and the search query keyword are stored, the new FAQ information is registered, and the FAQ database 133 is stored. It has an FAQ management unit 125 that controls the update process and the deletion process of the FAQ information.
  • the FAQ management unit 125 provides the following functions. (1) A query candidate in which the number of pieces of FAQ information included in the search result is smaller than a predetermined value (or may be 0) based on the FAQ search history, or one or more keywords included in the query candidate (the second embodiment). A first list including a search query keyword) is generated and transmitted to the FAQ management terminal 400, and a query candidate included in the first list or a question including one or more keywords included in the query candidate is transmitted to the FAQ management terminal 400. A new FAQ information comprising a set of answers is controlled to be able to be created, and a registration process for receiving and registering the new FAQ information from the FAQ management terminal 400 is performed.
  • the search model update unit 124 sets the combination of the query candidate included in the first list and the new FAQ information as additional learning data to the same or similar query candidate as the query candidate whose number of FAQs is smaller than a predetermined value.
  • the search model 132 is updated so that the search likelihood becomes higher.
  • a second list including FAQ information whose FAQ evaluation value is lower than a predetermined value is generated and transmitted to the FAQ management terminal 400, and the selection information for the second list in the FAQ management terminal 400 is generated.
  • a deletion process is performed to delete the corresponding FAQ information from the FAQ database based on the FAQ information.
  • the search model update unit 124 updates the search model 132 excluding the FAQ information to be deleted.
  • a third list including the FAQ information in which the FAQ improvement request is larger than a predetermined value is generated, transmitted to the FAQ management terminal 400, and included in the third list of the FAQ management terminal 400.
  • the search model updating unit 124 sets the search likelihood based on the similarity between the FAQ information to be updated and the query candidate higher than the FAQ information before the update (the search likelihood before the update is The search model 132 is updated so that the search model 132 is reset so as not to be taken over.
  • the present invention can also provide a function in cooperation with an administrator such as a supervisor.
  • the contact center can be configured to include an administrator device in addition to the plurality of operator devices 300.
  • the control device 120 of the information search device 100 can perform control so that the dialogue support screen displayed on each operator device 300 can be viewed from the administrator device.
  • the control device 120 controls the dialogue support screen of each operator device 300 so that the administrator device can be remotely connected, and displays the operating operator device 300 that is operating for each specified operator device 300 (operator ID).
  • the content displayed on the device 330 can be monitored.
  • the control device 120 may be configured to provide a text interactive function in which an administrator and an operator interact with each other, such as a chat function.
  • the dialogue support function of the present embodiment can also be applied to the manager device itself. That is, the administrator can also execute the second search function and the FAQ evaluation function, and prompt each update of the query model 131 and the search model 132. The administrator appropriately updates (edits / corrects), newly creates, deletes, and the like the FAQ stored in the FAQ database 133 by using the FAQ management function described in the third embodiment. Can be.
  • the control unit 120 refers to the operator-specific history information stored in the history DB 134 and stores each history in the administrator device. , The administrator can monitor the dialogue content, the search keyword, the FAQ of the search result, and the evaluation (for example, see FIG. 35).
  • the dialogue support function of the present embodiment can be applied to the manager device itself. While confirming the contents of the dialog between the operator and the customer, the administrator can evaluate the FAQ of the search result of the operator again. In addition, the administrator can execute the second search function and the FAQ evaluation function, and prompt each update of the query model 131 and the search model 132.
  • one piece of text information is generated as one query candidate.
  • a combination of one or more pieces of text information may be used as one query candidate.
  • a combination of one or more partial texts may be set as one query candidate in units of partial texts in one piece of text information.
  • the first step is to accept the utterance text sequentially and combine the utterance texts about the same topic as a series of utterance text information using the time information, the semantic content of the text, the context information of the utterance text previously input, and the like. May be added.
  • the query model does not necessarily have to be a model that is classified into two categories of whether or not the question is a question. For example, it may be a model that categorizes the intention type of the text (question, request, request, etc.).
  • a model that classifies texts by group may be used.
  • the query model and the search model may be one model.
  • a model classified into ( ⁇ Q, faq_1, .., faq_M ⁇ may be used.
  • the classification process may be configured in a tree structure of three layers.
  • the first model is a model for classifying text as a question or not
  • the second model is a model for classifying question texts into FAQ groups
  • the third model is for FAQ groups. Classifies the text of the group into each FAQ.
  • the processing includes three stages corresponding to the model of each layer. In the first stage of processing, the input text is classified according to a first model. In the second-stage process, if the input text is classified as a question in the first-stage process, the input text is classified into a FAQ group by the second model.
  • the input text is sorted into a third stage model corresponding to the FAQ group, and the input text is classified into each FAQ by the third stage model.
  • the first stage and the second stage are provided with selection means for the user to select the best candidate from the query candidates and the FAQ group candidates, respectively.
  • the third stage is provided with a selection unit for selecting the best candidate from the FAQ candidates or an evaluation unit for evaluating each candidate.
  • ⁇ Circle around (2) ⁇ Update the second model using, as learning data, a set of the query selected in the first-stage processing and the FAQ group selected in the second-stage processing.
  • a third model is updated using a set of the selected query and the selected (evaluated) FAQ as learning data.
  • the user can easily create learning data for each model. Similarly, it can be extended to a tree type with four or more layers.
  • various screens of each of the above embodiments can be provided from the information search apparatus 100 each time to provide the screen information to be displayed on the operator apparatus 300 or to store the screen information in the operator apparatus 300 in advance, and Control may be performed so as to be displayed on the display device 330 based on the received control information.
  • Each function of the present invention can be realized by a program, and a computer program prepared in advance to realize each function is stored in the auxiliary storage device, and a control unit such as a CPU is stored in the auxiliary storage device.
  • the program is read into the main storage device, and the control unit executes the program read into the main storage device, so that the computer can operate the functions of the respective units of the present invention.
  • each function of the present invention can be configured by an individual device, or a plurality of devices can be directly or connected via a network to configure the present device (system).
  • the program may be provided to a computer in a state where the program is recorded on a computer-readable recording medium.
  • Computer-readable recording media include optical disks such as CD-ROMs, phase-change optical disks such as DVD-ROMs, magneto-optical disks such as MO (Magnet Optical) and MD (Mini Disk), floppy (registered trademark) disks, and the like. Examples include a magnetic disk such as a removable hard disk, a compact flash (registered trademark), a smart media, an SD memory card, and a memory card such as a memory stick. Further, a hardware device such as an integrated circuit (such as an IC chip) specially designed and configured for the purpose of the present invention is also included as a recording medium.
  • an integrated circuit such as an IC chip
  • REFERENCE SIGNS LIST 100 information search device 110 communication control device 120 control device 121 query generation unit 121A keyword extraction unit 122 search unit 123 query model update unit 124 search model update unit 125 FAQ management unit 130 storage device 131 query model 132 search model 133 search model 133 FAQ database (FAQ) Knowledge Database) 134 History DB 300 operator device 310 interactive device 310A generation unit 320 control device 330 display device 340 input device 400 FAQ management terminal 410 control device 420 display device 430 input device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】効率的な対話を支援する情報検索システムを提供する。 【解決手段】実施形態の情報検索システムは、任意の所定単位の一連のテキストデータが入力され、テキストデータに応じたナレッジ情報を検索する。テキストデータに対し、ナレッジ情報を検索するためのクエリらしさを評価する第1モデルを用いてクエリ候補を生成し、ナレッジ情報のクエリ候補に対する検索結果としてのもっともらしさを評価する第2モデルを用いて、クエリ候補に関連する第1ナレッジ情報を抽出する。クエリ候補に対するクエリ選択履歴を取得し、クエリ選択履歴に基づき選択クエリ候補に関連する第2ナレッジ情報を、第2モデルを用いて抽出する。第1ナレッジ情報に対するクエリ候補と第1ナレッジ情報との対応付け情報、または/および第2ナレッジ情報に対する選択クエリと第2ナレッジ情報との対応付け情報を含むナレッジ評価履歴を取得して第2モデルを更新する。

Description

情報検索システム
 本発明の実施形態は、任意のテキストデータに対するナレッジ情報を提供する技術に関する。
 従来からFAQを利用した対話支援技術がある。また、FAQが質問文に対する回答として適切であるかなどを評価して、質問文とFAQの組を学習データとして作成し、お客様の質問に対して回答精度を向上させている。
特開2006-119697号公報 特開2003-006207号公報
 発話者などの問合せを行う者が意図する問合せ内容の選別精度を向上させつつ、意図する問合せに対するナレッジ候補の抽出精度を向上させることができる情報検索システムを提供する。
 実施形態の情報検索システムは、任意の所定単位の一連のテキストデータが入力され、所定の記憶領域から前記テキストデータに応じたナレッジ情報を検索する情報検索装置である。本装置は、テキストデータに対し、前記ナレッジ情報を検索するためのクエリらしさを評価する第1モデルと、前記第1モデルを用いて、前記ナレッジ情報を検索するためのクエリ候補を生成するクエリ生成部と、前記ナレッジ情報の前記クエリ候補に対する検索結果としてのもっともらしさを評価する第2モデルと、前記第2モデルを用いて、前記クエリ候補に関連する第1ナレッジ情報を抽出する第1検索部と、前記クエリ候補と、前記第1ナレッジ情報とを所定の表示領域に出力する第1出力部と、前記第1ナレッジ情報が表示された前記表示領域における前記クエリ候補に対するクエリ選択履歴を取得し、このクエリ選択履歴に基づき選択クエリ候補に関連する第2ナレッジ情報を、前記第2モデルを用いて抽出する第2検索部と、前記第2ナレッジ情報を前記表示領域に出力する第2出力部と、前記第1ナレッジ情報に対する、前記クエリ候補と前記第1ナレッジ情報との対応付け情報、または/および前記第2ナレッジ情報に対する、前記選択クエリと前記第2ナレッジ情報との対応付け情報を含むナレッジ評価履歴を取得して前記第2モデルを更新する第2モデル更新部とを備えたことを特徴とする。
第1実施形態の情報検索システムのネットワーク構成図及び各装置の機能ブロック図である。 第1実施形態のオペレータ装置に表示される対話支援画面の一例を示す図である。 第1実施形態の対話支援画面における表示領域S1の画面例である。 第1実施形態の対話支援画面における表示領域S1の画面例と表示領域S2との関係を示す図である。 第1実施形態のクエリモデルを使用して抽出された問合せ内容の一例を示す図である。 第1実施形態の対話支援機能の処理フローを示す図である。 第1実施形態の各種テーブル及び情報の一例を示す図である。 第1実施形態の各種テーブル及び情報の一例を示す図である。 第1実施形態の分類段階の処理フローを示す図である。 第1実施形態の更新段階の処理フローを示す図である。 第1実施形態のクエリ候補の生成処理フローを示す図である。 第1実施形態のクエリ候補の検索処理フローを示す図である。 第1実施形態のクエリモデル更新処理フロー(a)、検索モデル更新処理フロー(b)を示す図である。 第1実施形態の各種テーブル及び情報の一例を示す図である。 第1実施形態の各種テーブル及び情報の一例を示す図である。 第2実施形態の対話支援情報検索システムのネットワーク構成図及び各装置の機能ブロック図である。 第2実施形態のオペレータ装置に表示される対話支援画面の一例を示す図である。 第2実施形態の対話支援機能の処理フローを示す図である。 第2実施形態のFAQデータベースの一例を示す図である。 第2実施形態の各種テーブル及び情報の一例を示す図である。 第2実施形態のキーワード抽出処理のフローチャートを示す図である。 第2実施形態の各種テーブル及び情報の一例を示す図である。 第2実施形態のクエリ候補の検索処理フローを示す図である。 第2実施形態の分類段階の処理フローを示す図である。 第3実施形態の対話支援情報検索システムのネットワーク構成図及び各装置の機能ブロック図である。 第3実施形態の対話支援機能の処理フローを示す図である。 第3実施形態の各種テーブル及び情報の一例を示す図である。 第3実施形態のFAQの新規登録処理を示すフローチャートである。 第3実施形態のFAQの削除処理を示すフローチャートである。 第3実施形態のFAQの修正/更新処理を示すフローチャートである。 第3実施形態のFAQ検索ミスヒット画面の一例である。 第3実施形態のFAQ作成画面の一例を示す図である。 第3実施形態のFAQ削除リスト表示画面の一例を示す図である。 第3実施形態の検索モデル更新処理を示すフローチャートである。 第3実施形態のFAQ改善リスト画面の一例を示す図である。 第3実施形態のFAQ修正画面の一例を示す図である。 第1~第3実施形態における管理者用モニタリング画面の一例を示す図である。
 以下、実施形態につき、図面を参照して説明する。
(第1実施形態)
 図1から図13は、第1実施形態の情報検索システムを示す図である。図1は、本実施形態の情報検索システムの構成図である。オペレータ装置300は、情報検索装置100と接続され、情報検索装置100は、オペレータとお客様(カスタマー)との間の対話支援機能を提供する。なお、本実施形態では、コンタクトセンターを構成する複数のオペレータの対話支援を一例に説明しているが、これに限らない。例えば、直接カスタマーと対面して対話するケースであっても適用可能である。
 なお、本実施形態では、カスタマーとオペレータとの対話を一例に本システムについて説明するが、オペレータを介さずにカスタマーが直接情報検索装置100に対してテキストデータを入力し、情報検索装置100が自動的にナレッジ情報を提供するように構成することもできる。この場合、オペレータが介在しないため、例えば、Webサイトの問合せ機能として本システムを構築することができる。また、カスタマーが、過去の問合せ履歴を参照してその中から選択したテキストデータ(例えば、アフターコールレポートや問い合わせ履歴)を後述する対話テキストデータとして入力し、情報検索装置100が自動的にナレッジ情報を提供するように構成することもできる。
 また、ナレッジ情報の一例として、本実施形態では、FAQを一例に説明するが、例えば、マニュアルや説明書などの製品やサービスに関する資料もナレッジ情報として、適用することができる。ナレッジ情報はテキスト情報に限らず、画像、音声、あるいはメタデータ等の人によって参照される形式で蓄えられる電子データ群である。また、FAQは質問と回答の組とに構造化されたナレッジを指し、テキスト情報に限られない。
 オペレータ装置300は、対話装置310、制御装置320、表示装置330及び入力装置340を備えている。オペレータとお客様との間の対話は、音声通話による対話、チャットによる対話、電子メールによる対話などが含まれる。対話装置310は、これらの対話機能を提供すると共に、生成部310Aを備えており、お客様の問合せ内容をテキストデータで抽出して対話テキストデータを生成し、情報検索装置100に出力する。
 音声通話による対話の場合、対話装置310は、コンタクトセンター内のPBX(PrivateBranch eXchange)と接続され、ACD(自動着信呼分配装置)によって分配された着信呼に応答する電話装置である。お客様の電話機とコンタクトセンターとは、公衆交換電話網(PSTN)やIP網を通じて接続される。また、生成部310Aは、通話音声データから対話テキストデータを生成する。例えば、生成部310Aが音声認識機能を備え、通話音声データを音声認識処理して対話テキストデータを生成してもよい。また、生成部310Aは、個別の音声認識処理装置(コンタクトセンター内又は外部のサーバ)に通話音声データを出力して音声認識結果を取得し、対話テキストデータを生成するようにしてもよい。
 チャットによる対話は、IP(Internet Protocol)網を通じたデータ通信による対話であり、テキストチャット、ボイスチャット、ビデオチャットなどが含まれる。例えば、WebRTC(Web Real-Time Communication)方式で、ブラウザを用いたチャット機能がある。この場合、対話装置310は、コンタクトセンター内の内部ネットワークを通じて外部のIP網に接続可能なコンピュータ装置である。なお、ボイスチャットやビデオチャットの場合、生成部310Aは、上述した音声認識処理を通じた対話テキストデータを生成する。テキストチャットの場合、生成部310Aは、所定のテキストチャット画面に表示された対話テキストデータをそのまま取得することができる。なお、電子メールによる対話のケースでも、対話装置310は、コンピュータ装置が適用され、生成部310Aも、電子メールの内容を抽出することで対話テキストデータを取得することができる。
 制御装置320は、表示装置330に対する表示制御及び入力装置340に対する操作入力制御を行う。制御装置320は、オペレータ装置300の全体の制御を司り、対話装置310に対して連携した制御を行うことが可能である。
 なお、本実施形態では、オペレータ装置300と対話装置310とが一体に構成された態様を例示しているが、例えば、オペレータ装置300に対して対話装置310を個別の装置として構成してもよい。つまり、本実施形態のオペレータ装置300は、情報検索装置100に対するオペレータ側情報検索端末として構成されていればよい。オペレータ装置300とは個別の対話装置310(生成部310A)から出力された対話テキストデータが、情報検索装置100に入力され、オペレータ装置300は、情報検索装置100から提供される対話支援機能を享受する、制御装置320、表示装置330及び入力装置340を備えるコンピュータ装置として構成することができる。
 情報検索装置100は、通信制御装置110、制御装置120及び記憶装置130を含んで構成されている。通信制御装置110は、オペレータ装置300や対話装置310に対する通信インタフェース部である。
 制御装置120は、クエリ生成部121、検索部122、クエリモデル更新部(第1更新部)123及び検索モデル更新部(第2更新部)124を備える。記憶装置130は、クエリモデル(第1モデル)131、検索モデル(第2モデル)132、FAQデータベース(FAQDB)133が格納されている。
 クエリモデルとはテキストのクエリらしさを表す内部表現のことであり、本実地形態においては確立モデルで説明しているが、規則集合であるか、確率的モデルであるか、等は問わない。すなわち、クエリモデルは、クエリ1、クエリ2、・・・、クエリNのように複数のクエリについてそれぞれのクエリらしさを表す内部表現の集合であってもよい。
 検索モデルとは、検索対象であるそれぞれのナレッジ情報を表す内部表現である。一般にテキスト検索では、重要な単語(索引語と呼ばれる)の集合が内部表現として用いられることが多いが、これに限定されない。
 以下の説明では、オペレータとカスタマーとが対話して生成された時系列の対話テキストデータ群を一例に、本実施形態の対話支援機能を説明する。
 図2は、対話支援画面の一例を示す図であり、オペレータ装置300の表示装置330に対話支援画面が表示される。対話支援画面は、対話内容を表示する表示領域S1、推奨FAQを表示する表示領域S2及び検索FAQを表示する表示領域S3を含んでいる。これら各表示領域S1~S3に表示される各情報は、情報検索装置100から提供される情報である。
 表示領域S1は、一連の発話テキストデータU群の各発話テキストデータの中からクエリモデル131を使用して抽出(選抜)された発話テキストデータが表示される。なお、図2の例では、オペレータの発話内容は、点線で示している。表示領域S1は、デフォルトでオペレータ装置300の表示装置330に表示されるように制御される。
 表示領域S2は、クエリモデル131に基づいて抽出された発話テキストデータをクエリとして、検索モデル132を使用して検索されたFAQ検索結果が表示される。表示領域S2に表示されるFAQは、表示領域S1に表示される発話テキストデータのうちでクエリモデル131に基づくクエリ尤度が一番高い発話テキストデータを用いて、FAQデータベース133から自動検索して得られた推奨FAQ(rFA1~rFAn)である。表示領域S2は、デフォルトでオペレータ装置300の表示装置330に表示されるように制御される。クエリ尤度とは、ナレッジ情報を検索するためのクエリらしさを表す尤度を示す。
 表示領域S3は、表示領域S1に表示された発話テキストデータのうち、オペレータによる選択操作によって選択された発話テキストデータに対するFAQ検索結果を表示する領域である。つまり、オペレータの発意による検索要求に基づいて情報検索装置100から提供される検索FAQが表示され、検索モデル132を使用した検索処理は推奨FAQと同様であるが、オペレータによる発話テキストデータの選択過程を経て提供される検索FAQが、表示領域S3に表示される。表示領域S3は、デフォルトでオペレータ装置300の表示装置330に表示されるように制御したり、表示領域S1に対するオペレータの選択操作を契機に表示装置330に表示されるように制御してもよい。
 表示領域S2,S3は、FAQ表示領域を含む。FAQ表示領域は、「Q(Question)」に対応する質問領域f1と、「A(Answer)」に対応する回答領域f2と、を含んでいる。FAQ表示領域において、各FAQそれぞれは、質問領域f1だけが表示され、対応する回答領域が閉じた状態で表示されている。質問領域f1には、ボタンf11が設けられており、オペレータがボタンf11を選択すると、閉じていた回答領域f2が表示されるように制御される。逆に、回答領域f2が表示された状態において、ボタンf11を選択すると、回答領域f2を閉じることができる。
 回答領域f2には、f21,f22、f23の各種ボタンが設けられている。ボタンf21は、「Suitable(いいね)」であり、提供されたFAQが参考になったなどのFAQの有用度をオペレータが上方(プラス)に評価するために使用される。ボタンf21は、「NotSuitable(よくないかも)」であり、ボタンf22とは逆に、提供されたFAQがあまり参考にならなかったなどのFAQの有用度をオペレータが下方(マイナス)に評価するために使用される。なお、ボタンf22は、任意であり、ボタンf21が設けられている場合はボタンf22が設けられていない構成であってもよい。ボタンf21,f22は、FAQ評価受付部として機能する。
 ボタンf23、「RequestForImprovement(改善要求)」であり、提供されたFAQを改善する必要があると判断した場合に使用される。オペレータによるFAQの改善要求は、履歴として蓄積され、後述する第3実施形態で説明するように、FAQデータベース133に格納されるFAQ情報自体の作成、編集、更新等に利用される。
 図3は、クエリモデル131を使用して抽出された表示領域S1に表示される問合せ内容の一例を示す図である。対話装置310は、オペレータとカスタマーとの間でやり取りされた全ての発話を、対話テキストデータとして時系列に、情報検索装置100に出力する。情報検索装置100では、時系列順のこれら複数の対話文(対話テキストデータ群U)の中から、問合せに関連する対話テキストデータを抽出してオペレータ装置300に送信し、表示領域S1に表示させる。
 このとき、問合せに関連する対話テキストデータであるか否かを判別するために、本実施形態では、クエリモデル131を使用する。クエリ生成部121は、クエリモデル131を使用して、入力された一連の発話テキストデータU={U1,・・,U4}の各発話テキストデータのクエリ尤度(クエリらしさを表す数値)を算出し、FAQ候補を抽出するための有益な問合せ発話であるかを評価する。クエリ生成部121は、クエリ尤度に基づいて一連の発話テキストデータU={U1,・・,U4}の中からクエリ候補Qcを抽出する。図3の例では、発話テキストデータU2,U3がそれぞれクエリ候補Q1,Q2として抽出され、制御装置120は、表示領域S1にクエリ候補Q1,Q2を含むクエリ候補リストを表示装置330に表示させる。このクエリ候補リストが、オペレータ装置300に表示されるカスタマーとの間の対話テキストデータとなる。クエリ候補の生成処理の詳細については、後述する。
 なお、情報検索装置100に入力された時系列順のこれら複数の対話文(対話テキストデータ群U)をそのまま、時系列順に発話者が区別されるように表示される不図示の表示領域(発話テキストデータをそのまま出す領域)が、表示領域S1と分離して設けられるように構成してもよい。また、不図示のボタン選択操作に基づいて、発話テキストデータをそのまま出す領域と表示領域S1とが表示切替できるように構成することもできる。なお、入力される対話テキストデータ群U内の各テキストデータは、時系列順でなくてもよい。つまり、発話された順序は関係なく、所定の会話内容を一まとまりとした複数の対話テキストデータ群Uが情報検索装置100に入力されればよい。
 図4は、本実施形態の対話支援機能の処理フローを示す図である。上述のように、情報検索装置100は、オペレータ装置300に付随する対話装置310から一連の発話テキストデータU={U1,・・,U4}を受信する(S101,図5のテーブル141)。クエリ生成部121は、クエリモデル131を使用してクエリ候補Qcを生成(抽出)する(S102,図5のテーブル142)。
 制御装置120は、クエリ生成部121よって出力されたクエリ候補Qcのうち第1位のクエリ候補(例えば、テーブル142においてクエリ尤度が一番高いクエリ候補Q1)を検索部122に入力して、推奨FAQの検索処理(第1検索処理)を行わせるとともに(S103)、生成されたクエリ候補Qcをオペレータ装置300に送信し、表示領域S1(問合せ内容を表示する領域)にクエリ候補リストを表示させるように制御する(S105)。
 ステップS103の推奨FAQ(第1ナレッジ情報)の検索処理は、検索部122によって遂行される。検索部122は、入力された第1位のクエリ候補Q1と検索モデル132とを用いて、FAQ候補のFAQID別に、検索の尤もらしさを表すスコアである検索尤度を算出し、FAQIDと検索尤度とを関連付けた組み合わせテーブルを作成する(図5のテーブル143)。検索尤度とは、ナレッジ情報のクエリ候補に対する検索結果としての尤もらしさを表す尤度であり、以降で説明する数式に限定されない。
 そして、検索部122は、FAQデータベース133を参照し、作成した組み合わせテーブルのFAQIDに該当する「Q」と「A」を抽出し、{順位,FAQID,検索尤度,Q,A,対応クエリID}の組からなる推奨FAQ候補リスト(テーブル143)を生成する(S103)。順位は、検索尤度の高い順の順位であり、対応クエリIDは、検索元となったクエリ候補Q1を識別するためのIDである。検索処理の詳細については、後述する。なお、FAQ候補リストは、後続の検索モデル更新処理の学習データの元となるため、FAQ候補と検索元クエリとの紐づけ情報を保持している。テーブル143では、対応クエリ列が紐づけ情報となっている。
 制御装置120(出力部)は、生成された推奨FAQ候補リストを、オペレータ装置300に送信し、オペレータ装置300の表示領域S2(推奨FAQを表示する領域)に、推奨FAQ候補リストを表示させるように制御する(S104)。オペレータ装置300は、受信した推奨FAQ候補リストを表示領域S2に表示する。オペレータは、表示領域S1において対話テキストデータ(クエリ候補)を確認しながら、表示領域S2内の各推奨FAQを参照することができる。これにより、オペレータは、表示された推奨FAQ候補リスト内の各FAQを参考にカスタマーへの回答を行うことができ、オペレータとカスタマーとの間の円滑な対話を支援することができる。
 なお、情報検索装置100は、推奨FAQ候補リストに含まれるFAQの数を適宜設定することができる。例えば、上述の第1検索処理において抽出された全てのFAQ候補を含むように推奨FAQ候補リストを生成して、オペレータ装置300に表示させるように制御してもよいし、各FAQ候補の検索尤度に対して閾値を設けて、閾値を超えるFAQ候補や、検索尤度の順位において上位数件のFAQ候補などを抽出するように、一部を取捨選択した推奨FAQ候補リストを生成するように構成してもよい。
 本実施形態では、オペレータ装置300に付随する対話装置310から一連の発話テキストデータU={U1,・・,U4}を受信すると、クエリ生成部121によるクエリ候補Qcの生成処理及び推奨FAQの検索処理(推奨FAQ候補リストの生成処理)が自動的に実行され、オペレータ装置300の表示領域S1,S2それぞれに、クエリ候補Qcと推奨FAQが表示される。
 次に、FAQ表示領域が備えるFAQ評価受付部は、オペレータからのFAQ候補リスト中のそれぞれのFAQについての評価を受け付ける(S109)。受け付ける評価は、「Suitable」ボタンf21だけを用意して1値の評価としたり、「Suitable」ボタンf21および「NotSuitable(よくないかも)」ボタンf22を用意して2値の評価としたり、あるいは数値での入力を受け付けても良い。後述する検索モデル132の更新処理において、FAQ評価値(ナレッジ評価履歴)による学習データへの重み付けの設定に基づいて決定すればよい。この例では、「Suitable」ボタンf21を用意し、ボタンf21が押された場合に、評価値を「10」としている。
 対話テキストデータ群Uの元となる音声を対話装置310を介して聞いたのち、オペレータが、自動抽出されたFAQ候補リスト(テーブル143)におけるFAQID5が最も適切な検索結果であると判断し、オペレータ装置300において、FAQID5に対応付けられたFAQ表示領域の「Suitable」ボタンf21を押したとする。オペレータ装置300は、ボタンf21の選択操作に基づいて、FAQ評価結果{FAQID5,評価値「10」}を、情報検索装置100に送信する。
 情報検索装置100において制御装置120は、受信したFAQ評価結果を用いて、テーブル144のように{QID,FAQID,学習重み}の組から成る検索モデル学習データを作成する(S110)。ここで学習重みには、評価値「10」をそのまま用いることにする。
 検索モデル更新部124は、生成された検索モデル学習データを用いて検索モデル132を更新する(S111)。検索モデル132の更新後、同一(もしくは類似する)発話がカスタマーによってなされ、同一(もしくは類似する)テキスト情報がクエリ生成部121に入力された場合、更新前と同様にクエリQ1が検索部122に入力されるが、検索結果はFAQID5のスコア(検索尤度)がより大きくなり、FAQID5が第1位のFAQ候補となる(テーブル145)。すなわち、オペレータによって正の評価をされたFAQが、次回以降、より上位に検索されやすくなるように検索モデル132が更新されている。なお、検索モデル132の更新処理の詳細については、後述する。
 一方で、ステップS102から分岐した後の処理について詳細に説明する。表示領域S1に表示された複数の発話テキストデータの中から、オペレータによって選択された発話テキストデータをクエリ候補として検索部122に入力して、検索FAQ(第2ナレッジ情報)の検索処理(第2検索処理)を実行可能に制御する。オペレータ装置300は、表示領域S1内のクエリ候補が選択された場合、選択されたクエリ候補又は/及び選択されたクエリ候補を識別するIDを、情報検索装置100に送信する。
 図4のステップS106において、情報検索装置100は、オペレータ装置300から表示領域S1内のクエリ候補に対する選択情報を受信すると(S106のYES)、選択されたクエリ候補(Qselect)に基づく検索FAQの検索処理(第2検索処理)を遂行し、検索FAQ候補リストを生成する(S107)。本実施形態の第2検索処理は、上述した第1検索処理と同じであり、検索部122に入力されるクエリ候補が異なるだけである。制御装置120(第2送信部)は、生成された検索FAQ候補リストを、オペレータ装置300に送信し、オペレータ装置300の表示領域S3(検索FAQを表示する領域)に、検索FAQ候補リストを表示させるように制御する(S108)。オペレータ装置300は、受信した検索FAQ候補リストを表示領域S3に表示する。
 なお、表示領域S1内において、例えば、推奨FAQを抽出するために使用されたクエリ候補は選択できないように制御することができる。つまり、推奨FAQを抽出するために使用されたクエリ尤度が第1位のクエリ候補は、選択できないように非アクティブに表示するように制御することができる。また、他の例としては、推奨FAQを抽出するために使用されたクエリ候補も選択可能に制御しつつ、検索FAQの検索処理では、推奨FAQに対する同じクエリ候補か否かを判別し、同じクエリ候補である場合、検索FAQの検索結果として「該当なし」を出力して、表示領域S3に表示させるように制御することもできる。
 また、オペレータは、表示領域S1内において、2つ以上の複数の対話テキストデータをクエリ候補として選択できるようにしてもよいし、一つのクエリ候補のみ選択できるようにしてもよい。
 例えば、オペレータが、テーブル142のクエリ候補リストの中からクエリ候補Q2を選択したシナリオを考える。オペレータ装置300は、クエリ候補Q2の選択結果を情報検索装置100に送信し、情報検索装置100の制御装置120は、選択結果に基づき、上述した第2検索処理及び検索FAQ候補リストの提供処理を行うとともに、クエリモデル学習データ作成処理及びクエリモデル更新処理を実行する。
 クエリモデル学習データ作成とそれに続く処理について説明する。情報検索装置100において、制御装置120は、オペレータ装置300からオペレータの選択結果「Q2」を受信すると、テーブル142からクエリIDが一致する行を参照し、{テキスト,クエリカテゴリ,学習重み}の組であるクエリモデル131の学習データ(図6のテーブル146)を作成する(S112)。
 ここで、クエリカテゴリは、クエリであるか否かを表す2値{Q,¬Q}データとする。オペレータが選択した発話テキストをクエリとして正の追加学習を行うために、「Q」を値として入れる。続いて、制御装置120、クエリモデル学習データ(図6のテーブル146)をクエリモデル更新部123に入力し、クエリモデル131を更新する(S113)。
 クエリモデル131の更新後、新たに発話テキストデータ群Uがクエリ生成部121に入力された場合に出力されるクエリ候補リストは、図6のテーブル147のようになる。クエリモデル更新前のクエリ候補リストは、図5に示すように生成元テキストU2に対応するクエリのスコア(クエリ尤度)が、生成元テキストU3のスコアよりも高かったが、クエリモデル更新後は逆となり、生成元テキストU3に対応するクエリのスコアが高くなり、生成元テキスト(発話テキストデータ)U3が第1位のクエリ候補となる。クエリモデル更新処理の詳細は後述する。
 次に、第2検索処理によって提供される検索FAQ候補リストの各FAQに対しても、オペレータは、FAQ評価を行うことができる。ステップS107において、制御装置120は、図5のテーブル142のクエリIDが選択結果のクエリ「Q2」と一致する行を参照し、該当のクエリテキストデータのクエリID「Q2」を検索部122に入力する。検索部122は、クエリ候補Q2に対する検索結果であるFAQ候補リスト(図6のテーブル148)を生成する。制御装置120は、生成されたFAQ候補リストをオペレータ装置300に送信し、オペレータ装置300は、受信したFAQ候補リストを表示装置330の検索FAQ表示領域S3に表示する(S108)。
 続いて、表示領域S3内の各FAQにおいてもFAQ表示領域内にFAQ評価受付部を備えているので、オペレータによる検索FAQ候補リスト中のそれぞれのFAQについての評価を受け付け、取得することができる(S109)。
 オペレータが、対話装置310を介して聞いた発話テキストデータ群Uの元となる音声内容に基づいて、例えば、テーブル148におけるFAQID2のFAQが最も適切な検索結果であると判断した場合、オペレータ装置300において、FAQID2のFAQ表示領域において「Suitable」ボタンf21を押したとする。すると、FAQ評価結果{FAQID2,評価値「10」}が、オペレータ装置300から情報検索装置100に送信される。情報検索装置100において制御装置120は、受信したFAQ評価結果とテーブル148の対応クエリIDを用いて、クエリテキストを紐づけ、図6のテーブル149のように{QID,FAQID,学習重み}の組から成る検索モデル学習データを作成する(S110)。ここで、学習重みは評価値「10」を用いることとする。検索モデル更新部124は、作成された検索モデル学習データを用いて検索モデル132を更新する(S111)。
 検索モデル132の更新前と同じクエリ候補Q2が検索部122に入力された場合、FAQID2のスコアがより大きくなり、FAQID2が第1位候補となるFAQ候補リストが生成される(図6のテーブル150)。すなわち、オペレータによって正の評価をされたFAQが、次回以降、より上位に検索されやすくなるように検索モデル132が更新されている。
 このように本実施形態では、対話装置310から入力されるオペレータとカスタマーとの間の一連の発話テキストデータU群の中からクエリモデル131を使用してクエリ候補Qcを生成する処理を行うと共に、検索モデル132を使用して、生成されたクエリ候補から自動的に推奨FAQを提供する第1検索処理と、同様に検索モデル132を使用して、生成された発話テキストデータの中からオペレータによって選択されたクエリ候補に基づいて検索FAQを提供する第2検索処理と、を実行する。
 そして、本実施形態では、表示領域S2,S3に表示されるFAQの表示領域には、FAQ評価を行うための評価入力ボタンが設けられ、オペレータがレコメンドされたFAQ又は/及び検索されたFAQの各FAQを、評価することができる。このFAQ評価結果と前記選択されたクエリ候補との紐づけ情報を利用して、該FAQ評価結果と前記選択されたクエリ候補との組が、検索モデル132の学習データとして活用され、検索モデル132を更新する。
 また、オペレータによって選択されたクエリ候補の選択履歴は、クエリモデル131の学習データとして活用され、クエリモデル131を更新する。
 検索モデル132の更新後、クエリモデル学習データ作成及びクエリモデル131の更新処理が実行されない場合、同一(もしくは類似する)発話がカスタマーによってなされても、一連の発話テキストデータに対する第1位のクエリ候補は、クエリモデル更新前と変わらないため、推奨FAQの抽出結果には反映されない。すなわち、クエルモデル学習データの収集と、検索モデル学習データの収集とを両方同時に行う必要がある。
 したがって、単に、クエリ生成部121と検索部122とを組み合わせても、検索モデル132とクエリモデル131とが別個に更新されてしまうと、発話テキストデータのクエリとしての精度が向上しない課題がある。
 従来、オペレータが情報検索装置100を利用中に、クエリモデル131と検索モデル132の各モデルの出力結果を別々に評価させることにより、各学習データを収集する仕組みは存在した。しかしながら、オペレータがお客様との応対中に、両方の評価を強いることは作業負担を大きく、オペレータ業務に支障が生じかねない。情報検索装置100の実運用中に、オペレータにデータの評価を十分な回数実施させて、十分な量の学習データを収集すること自体が難しかった。
 本実施形態では、オペレータの選択操作によって受け付けた選択クエリに基づくクエリモデル131の学習データ作成処理を行うだけでなく、検索モデル132の学習データにおけるFAQとの対応付けにも用いている。これにより、ユーザーの学習データ作成作業が、従来よりも一層簡便になっている。
 さらに、本実施形態の情報検索システムは、オペレータによるクエリ候補の選択を可能にして、オペレータによるクエリ候補の選択を受け付けた後、第2検索処理(S107)に続く検索モデル学習データ作成処理(S110)及び検索モデル132の更新処理(S111)と、クエリモデル学習データの作成処理(S112)及びクエリモデル131の更新処理(S113)とが平行して連動させる仕組みを実現している。
 一連の対話テキストデータ(一連のカスタマーの発話の認識結果テキスト)から生成したクエリ候補について、オペレータがクエリ候補を選択した結果に基づいてクエリモデル131を更新し、検索結果のFAQ候補を評価した結果と、紐付けられたクエリ候補の組に基づいて検索モデル132を更新することにより、次に同一あるいは類似する発話をカスタマーが発話した場合に、オペレータがクエリ候補を選択することなく、正の(負の)評価結果を得たFAQが検索結果のより上位に(下位に)検索されるようになる。
 言い換えれば、カスタマーが意図する問合せに対するFAQ候補の抽出精度が検索モデルの更新によって向上するとともに、オペレータによるクエリ候補の選択履歴に対するクエリモデル131の更新によって、クエリ候補としての順位がFAQ候補の検索と連動して更新されるため、推奨FAQの抽出精度が向上する。
 さらに、本実施形態におけるナイーブベイズ分類器のように、追加学習の計算コストが低い分類手法を用いることで、リアルタイムに検索モデル132の更新と、クエリモデル131を更新とを並行して行うように構成してもよい。これにより、オペレータとお客様との対話の最中に、オペレータのクエリ候補の選択結果及びFAQの評価結果が両モデルに反映され、すぐに同じ(あるいは類似の)発話テキストデータの入力に対する推奨FAQの抽出精度が向上する。
 本実施形態では、対話支援画面に次の仕組みも備えている。これによりオペレータによるカスタマーからの問い合わせ内容の確認や、カスタマーからの問い合わせに対する過去の推奨FAQを同一画面で簡単に確認することができ、オペレータの作業効率を図ることができる。
 図2B、表示領域S1の画面例であり、図2Cは、図2Bに示す画面例と表示領域S2との関係を示す図である。図2Aの表示領域S1に表示されている問い合わせ内容は、オペレータとカスタマーとの一連の会話から、クエリモデル131を使用して抽出された発話テキストデータを表示している。そのため、オペレータとカスタマーの会話が続いている間は逐次表示領域S1に表示される発話テキストデータは増えていくため、最新の発話テキストが表示領域S1の最下段に表示される。図2Bに示すように、この状況において、オペレータが表示領域S1に表示されている最新の発話テキストではなく、過去の発話テキストを参照するために不図示の画面内のスクロールバーを操作した場合や、表示領域S1に表示されている特定の発話テキストを指示した場合は、その後にオペレータとカスタマーの会話が継続した場合でも、スクロールバーの操作により表示した状態の表示またはオペレータが発話テキストを特定した時点の表示状態を保つ、過去履歴参照モードに自動的に切り替わるように制御装置320により制御される。
 すなわち、過去履歴参照モードに切り替わった後のオペレータとカスタマーとの最新の会話は表示領域S1には表示されず、オペレータがスクロール操作により表示した画面またはオペレータが発話テキストを特定した時点の画面がそのまま表示されている状態となる。
 なお、過去履歴参照モードにおいても、スクロール操作は受け付けており、手動でのスクロールアップおよびスクロールダウンは可能である。
 また、過去履歴参照モードの起動により表示領域S1の表示は固定されている状態であるが、その間のオペレータとカスタマーとの会話が継続している場合には、過去履歴参照モード状態で表示されている画面(表示領域S1)には最新の発話テキストは表示されていないため、当該最新の発話テキストが参照できるように表示領域S1にスクロールダウンするためのボタンを表示する。オペレータが当該スクロールダウンするためのボタン操作をした場合、あるいはスクロール操作により、スクロールバーが最下段にスクロールダウンされた場合には、過去履歴参照モードは解除され通常の表示モード、すなわち最新の発話テキストが最下段に表示される状態となる。
 尚、過去履歴参照モードの状態で、オペレータが特定の発話テキストを指示操作すると、表示領域S1とは別の表示領域(第5表示領域)に、指示された発話テキストに対して提示された推奨FAQが表示される(図2C)。
<分類器ならびにモデルの説明>
 本実施形態のクエリ候補生成処理および検索処理は、入力テキストを文書と見做し、文書を適切なカテゴリに振り分ける文書分類として捉える。クエリ候補生成処理は、入力テキストをクエリかクエリでないか2つのカテゴリに振り分る問題であり、検索処理は、入力テキストを各FAQに振り分ける問題である。文書分類には様々な手法があるが、ここでは、機械学習による分類手法のひとつであるナイーブベイズ分類器を一例に説明する。なお、分類手法は、ナイーブベイズ分類器に限定されるものではなく、他の公知の手法を適用することもできる。
 文書分類の問題は、文書dが与えられたときのカテゴリcの事後確率を最大化するようなカテゴリcを見つける問題として、以下の式(1)のように定式化される。
Figure JPOXMLDOC01-appb-I000001
 ナイーブベイズ分類器では、これをベイズの定理を用いて以下の式(2)のように置き換える。
Figure JPOXMLDOC01-appb-I000002
 ここで、同一文書dのもとでのカテゴリの比較であるため、P(d)は無視できる。したがって、以下の式(3)となる。
Figure JPOXMLDOC01-appb-I000003
 ここで、P(d|c)のモデル化には多項モデルを用いる。
 多項モデルは、文書中の各位置についてどのような単語が起こるかをモデル化するモデルであり、語彙Vの中から一つの単語を選ぶ操作を|d|回繰り返すことで文書を生成する。ここで、|d|は文書d内の単語数を表す。(参考文献;自然言語処理のための機械学習入門,P.111 高村大也, コロナ社, 2010)
 そうすると、P(d|c)は、カテゴリが与えられたときの単語の事後確率P(wi|c)の積で表される。
Figure JPOXMLDOC01-appb-I000004
 ただし、
Figure JPOXMLDOC01-appb-I000005
 とする。これを対数化すると、以下の式(5)となる。
Figure JPOXMLDOC01-appb-I000006
 したがって、以下の式に整理することができる。
Figure JPOXMLDOC01-appb-I000007
 ここで、カテゴリ尤度Lcは、以下の式で表される。
Figure JPOXMLDOC01-appb-I000008
Figure JPOXMLDOC01-appb-I000009
Figure JPOXMLDOC01-appb-I000010
 wiは文書dの出現単語、Mは文書dの出現単語数、dcはカテゴリcの文書数、freq(wi,c)はカテゴリcにおける単語wiの出現頻度である。
 また、Vは全文書の単語の異なり数(語彙数)、αは補正パラメータである。これらは、学習データにおいてfreq(wi,c)=0の場合に、確率値が0にならないように補正するためのパラメータである。この補正手法は、加算スムージングと呼ばれる。
 上述の検索モデル132やクエリモデル131におけるモデルとは、学習データから算出されたlnP(wi|c)およびlnP(c)の表のことを指す。
 さらに、分類先のカテゴリ数が2つであり、一方のカテゴリに文書を振り分ける場合は、以下の式(7)によって分類先を決定できる
Figure JPOXMLDOC01-appb-I000011
Figure JPOXMLDOC01-appb-I000012
 式(7)を対数化すると、
Figure JPOXMLDOC01-appb-I000013
Figure JPOXMLDOC01-appb-I000014
Figure JPOXMLDOC01-appb-I000015
Figure JPOXMLDOC01-appb-I000016
 そして、クエリ候補生成処理におけるクエリの分類先は、クエリである「Q」か、クエリでない「¬Q」かのいずれか一方への振り分けであるから、これを用いてクエリ尤度Lqを以下の式(9)のように定める。
Figure JPOXMLDOC01-appb-I000017
Figure JPOXMLDOC01-appb-I000018
Figure JPOXMLDOC01-appb-I000019
Figure JPOXMLDOC01-appb-I000020
 ナイーブベイズ分類器の処理は、カテゴリへの分類のためのモデルの学習段階、文書をカテゴリへ分類する分類段階、追加の学習データを用いてモデルを更新する更新段階の3つの段階に分けられる。特に、本実施形態の各処理を理解するために重要な分類段階と更新段階について、以下に詳しく説明する。
(学習段階)
 文書と分類先カテゴリの組からなる正解データを学習データとして、モデルを学習する。最初にすべての文書について単語列に分割し、カテゴリ別の出現頻度を数え、カテゴリ別単語頻度表を作成する。また、分類先カテゴリ別の文書の頻度も数えてカテゴリ別文書頻度表を作成する。そして、それぞれの表の値を式(6.2)ならびに式(6.3)に代入し、lnP(wi|c)およびlnP(c)を算出し、単語の対数事後確率表並びにカテゴリの対数周辺確率表に算出した値をセットする。
(分類段階)
 図7は、分類段階の処理フローを示す図である。図7のフローチャートに沿って、分類段階の処理を説明する。前提として、分類先カテゴリはカテゴリセットCの要素であり、カテゴリ対数周辺確率表TCpとカテゴリのもとでの単語対数事後確率表TWpとが、学習段階において得られているものとする。
 分類結果を格納するSを初期化する(S301)。続いて、入力テキストUを意味的なまとまりである単語単位に分割し、単語列w1,・・・wMを得る(S302)。
 単語分割処理は、公知の形態素解析器を用いたり、文字N-gram単位を用いたり、さまざまな公知の手法によって実現できる。本処理において、必ずしもテキスト中の全単語を全て切り出す必要はなく、後続するクエリ生成処理において参照される単語情報のみ切り出せばよい。その後、後続処理に合わせて適切な正規化処理を施す。たとえば、「あえーと、」のような話し言葉に特有の表現を除去したり、動詞等の活用形を持つ品詞について原形や語幹のみ取り出したりする。
 全てのカテゴリc1,・・・cKについて、順にcに代入し、ステップS304からS307までの処理を繰り返す(S303)。
 まず、Lcの式(6.1)の右辺の第一項lnP(c)を、カテゴリ対数周辺確率表TCpを参照して抽出し、これをLcに初期値として代入する(S304)。次に、単語w1,・・・wMについて順にwiに代入し、S306からS307までの処理を繰り返す(S305)。lnP(wi|c)を、単語の対数事後確率表から読み込み、Lcに加算する(S306)。{カテゴリc、求めたカテゴリ尤度Lc}の組を順次Sに追加する(S307)。これをすべての単語について繰り返し(S305)、Lcを算出する。これを全てのカテゴリについて繰り返し(S303)、最後に、求めたSを出力とする。
(更新段階)
 図8は、更新段階の処理フローを示す図である。図7のフローチャートに沿って、更新段階の処理を説明する。前提として、カテゴリ対数周辺確率表TCpおよびカテゴリのもとでの単語対数事後確率表TWpと、それらの算出元データであるカテゴリ別文書頻度表TCfおよびカテゴリ別単語頻度表TWfとが学習段階において得られているものとする。
 学習データは、{文書ID(QID),カテゴリc,重みG}の組である。重みGは、同じ文書をG個追加することを表す。
 更新処理では、追加学習データの文書の単語列w1,・・・wMおよび分類先カテゴリcに基づいて、lnP(wi|c)およびlnP(c)の値を再計算し、カテゴリ対数周辺確率表TCpおよびカテゴリのもとでの単語対数事後確率表TWpの値を更新する。
 先にlnP(c)の値を求める。まず、カテゴリcに文書がG個追加されるため、TCf[c]の値をカテゴリ文書数dcに読み込み、G個加算したのち、TCf[c]に値を書き込む(S401)。更新したTCfを用いて各カテゴリの文書数dciを加算し、全文書数Dを求める(S402、S403、S404)。次に、式(6.3)にしたがって、全文書数DとステップS401で求めたdcとを用いてlnP(c)を算出し、TCp[c]に書き込む(S405)。
 次に、lnP(wi|c)の値を求める。まず、TWfを更新する。分類段階で説明したような単語分割処理によって学習データの文書を単語列w1,・・・wMに分割する(S406)。カテゴリcにおけるwiの出現頻度をTWfから読み込み、freq(wi,c)にセットする。学習データに当該単語がG回出現したとみなし、Gを加算した結果でfreq(wi,c)を更新し、これをTWf[c,wi]に書き込む(S408)。ステップS408の処理を単語列中のすべての単語について繰り返す(S407)ことにより、TWfを更新する。
 次に、更新したTWfを用いて更新したTWpを更新する。式(6.2)の分母の第一項であるΣ(j=1~V)freq(wi,c)を求める。これはカテゴリcにおける単語の総出現数であり、freq(c)と置き、0で初期化する(S409)。カテゴリcでの出現頻度TWf[c,wi]を読み込み、freq(wi,c)にセットし、freq(c)を加算する。加算結果を用いてfreq(c)を更新する(S411)。これを全語彙w1,・・・wvについて繰り返す(S410)。
 次に、単語wiについて、カテゴリcにおける出現頻度をTWf[c,wi]から読み込み、freq(wi,c)にセットする。freq(wi,c)と、ステップS411で求めたfreq(c)とを式(6.2)に代入し、lnP(wi|c)を算出し、TWf[c,wi]に値を書き込む(S413)。これを全語彙w1,・・・wvについて繰り返し行う(S412)。以上により、すべての語彙に関して、カテゴリcについてTWpの値が更新される。
 すでに説明した図4のフローチャートにおけるクエリ候補生成処理(S102)および検索処理(S103およびS107)では、上述した分類段階の処理が実行される。
 一方、クエリモデル更新処理(S113)および検索モデル更新処理(S111)では、上述した更新段階の処理が実行される。それぞれの処理について、順に詳しく説明する。
<クエリ候補生成処理の詳細>
 図9は、クエリ生成部121が、一連のテキスト情報からクエリ候補Qcを生成する処理の詳細を表すフローチャートである。クエリ候補の生成処理では、一連のテキストを、分類器によってそれぞれクエリか否かの2つのカテゴリに振り分け、クエリに振り分けられたテキストのセットをクエリ候補とする処理を行う。
 最初に、呼び出し元ルーチンである図4のS102において、クエリ生成部121が上述の一連の発話テキストデータU={U1,・・,U4}(図5のテーブル141)を受け付けたとする。図9のサブルーチンに進み、初期化する(S201)。変数UkにU1から順番に代入し、ステップS203からS206までの処理を繰り返す(S202)。ステップS203は、図7に示したサブルーチンであり、ここで改めて説明する。
 サブルーチンに与えるデータは、カテゴリセットC={Q, ¬Q}、TCp(図12のテーブル202)、TWp(図12のテーブル203)である。UはU1とする。まず、Sを初期化した(S301)のち、テキストU1を意味的なまとまりである単語単位に分割する(S302)。ここでは、最初に図12のテーブル201のように、テキストU1を左から走査し、語彙辞書を用いてマッチする単語を切り出したのち、不要語辞書に基づいて不要語をフィルタして取り除く。U1からは{“、”“。”,“あえーと”,“の”,“ん”,“で”,“って”}を取り除き、図12のテーブル201AのW1={w1=“自動車保険”,w2=“CM”,w3=“見た”,w4=“ですけれども”,w5=“カスタマイズ”,w6=“できる”}を得る。
 続いて、カテゴリの対数周辺確率表(テーブル202)ならびにカテゴリのもとでの単語の対数事後確率表(テーブル203)を用いて、LQ及びL¬Qをそれぞれ求める(S303からS307)。
 まず、c=Qのとき(S303)、LQの初期値としてテーブル202のlnP(Q)を代入する(S304)。次に、単語列w1,・・・w6のそれぞれの単語wiについて、テーブル203のセル[Q,wi]の値をLQに加算する(S306)。その結果が図12のテーブル204のLQ行U1列の値である。{Q,LQ}の組をSに追加する(S307)。同様にc=¬Qの時も処理し、Sに追加する(S305からS307)。L¬Qはテーブル204のL¬Q行U1列の値である。最後に、得られたSが呼び出し元ルーチンに渡される。
 呼び出し元ルーチンでは、得られたLQおよびL¬Qを式(9)に代入し、計算結果をLq1に入力する(S204)。式(9)の条件に従い、Lq1>0であれば、クエリ“Q“と判定し(S205)、(U1, Lq1)の組をクエリ候補Qc´に追加する。U2 、U3、U4についても同様の処理を行い、全ての入力テキストについてクエリ候補Qc´を得る(S206)。最後に、Qc´をクエリ尤度Lqkが大きい順にソートした結果Qcを返す(S207,図5のテーブル142)。
<検索処理の詳細>
 図10は、検索部122が、一連のテキストUからFAQの検索結果であるFAQ候補Scを抽出する処理を表すフローチャートである。各FAQIDをカテゴリとし、カテゴリセットC={faq1,・・・,faqk}とする。そして、一連のテキストを、上述のクエリ生成処理と同様にナイーブベイズ分類器の式(6)を用いて、いずれかのカテゴリ(FAQID)に振り分ける処理を行う。
 前述のように求められたクエリ候補Qcの中で、クエリ尤度が最大であるQ1={(U2,Lq2)}におけるU2が、図4のS104において検索部122に入力された場合のシナリオを例にとり、各ステップについて順に説明する。最初に、図10のサブルーチンより、図7のサブルーチンを呼び出す(S221)。サブルーチンに与えるカテゴリセットC={faq1,・・・,faq5}(FAQデータベース133の各FAQID)、TCpは図12のテーブル302、TWpは図12のテーブル303、UはU2である。
 まず、Sを初期化した(S301)のち、テキストU2を意味的なまとまりである単語単位に分割する(S302)。単語分割には、クエリ生成処理で行ったときと同様に、テーブル201のU2行のとおり単語を切り出した後、不要語フィルタにかける。ここで、不要語フィルタにはクエリ生成処理で用いたものとは異なる検索処理に適したフィルタを用いる。U2から{“を“,”が“,”のか“,”を“,”いただきたい“,”と“,”思って“,”ですね“}を取り除き、図12のテーブル301のWF2={w1=“どのように”,w2=“契約内容”,w3=“カスタマイズ”,w4=“できる”,w5=“教えて”}を得る。続いて、カテゴリの対数周辺確率表(テーブル302)ならびにカテゴリのもとでの単語の対数事後確率表(テーブル303)を用いて、Lfaq1からLfaq5をそれぞれ求める(S303からS307)。
 まず、c=faq1のとき(S303)、Lfaq1の初期値としてテーブル302のセル[faq1,lnP(c)]の値をlnP(faq1)に読み込む(S304)。次に、単語列w1,・・・w5のそれぞれの単語wiについて、テーブル303のセル[faq1,wi]を値をlnP(wi| faq1)に読み込み、Lfaq1に加算する。その結果が図12のテーブル304のfaq1行Q1列の値である。{faq1,Lfaq1}の組をSに追加する。c=faq2 ,・・・,faq5についても同様に処理し、Sに追加する(S305からS307)。Lfaq2,・・・, Lfaq5はテーブル304のfaq2行からfaq5行のQ1列の値である。最後に、得られたSが呼び出し元ルーチンに渡される。
 図10の呼び出し元ルーチンでは、得られたSをLfaqkが大きい順にソートし、上位N件を抽出する(S222)。ここではN=3とし、検索尤度の上位3件(faq3, faq5,faq1)を候補として選ぶ。そして、図12のテーブル305のFAQ候補リストScが得られる。
 次に、クエリモデル更新処理(S113)および検索モデル更新処理(S111)について説明する。上述したとおり、モデルの更新段階では、追加学習データの文書の単語列w1,・・・wMおよびカテゴリcに基づいて、lnP(wi|c)およびカテゴリ対数周辺確率lnP(c)の値を再計算し、カテゴリ対数周辺確率表TCpおよびカテゴリのもとでの単語対数事後確率表TWpの値を更新する。
 ここで、クエリモデル131および検索モデル132の分類段階で用いたカテゴリの対数周辺確率表TCp(図12のテーブル202およびテーブル302)と、単語の対数事後確率表TWp(図12のテーブル203およびテーブル303)の各値は、あらかじめ、学習段階においてそれぞれカテゴリ別文書頻度表(図13のテーブル401およびテーブル501)と、カテゴリ別単語頻度表(図13のテーブル402およびテーブル502)から、式(6.2)および式(6.3)の計算式に基づいて算出されている。
 そのため、カテゴリ別文書頻度表(テーブル401およびテーブル501)と、カテゴリ別単語頻度表(テーブル402およびテーブル502)の該当するセルの値を、追加する学習データのカウント分だけ加算し、更新した各頻度表からカテゴリのもとでの単語対数事後確率lnP(wi|c)およびカテゴリ対数周辺確率lnP(c)の値を再計算しすればよい。
<クエリモデル131の更新処理の詳細>
 図4のステップS112で作成されたクエリモデル学習データ{QID=Q2,c=Q,G=10}(図6のテーブル146)がクエリモデル更新部123に入力された場合を例に、クエリモデル更新処理の詳細について説明する。学習の重みGは、該当の学習データをG個追加することを意味する。
 クエリモデル更新処理では、図11(a)のサブルーチンより、モデル更新のサブルーチン(図8)を呼び出す(S501)。サブルーチンには学習データに加えて以下のデータを与える。カテゴリセット{Q, ¬Q}をCにセットし、テーブル401(図13)のTQCf、テーブル202(図12)のTQCp、テーブル402(図13)のTQWf、およびテーブル203(図12)のTQWpをそれぞれTCf、TCp、TWf、およびTWpにセットする。全語彙がテーブル402の見出し単語であるとし、単語の異なり数V=22とする。また、補正パラメータα=0.01とする。
 先にlnP(Q)の値を求め、カテゴリ周辺確率表TCpを更新する。そのために、カテゴリ別文書頻度表TCf(テーブル401)のセル[Q,dc]の値をdQに読み込み、G=10を加算し、同セルにセットする(ステップS401)。更新後のTCfをテーブル403に示す。テーブル403から、式(6.3)に基づいて新たなカテゴリ周辺確率を求める(ステップS402から405)。まず、全文書数Dを求める(S402からS404)。Dを0で初期化し(S402)、テーブル403から、カテゴリ「Q」および「¬Q」の文書頻度TCf[Q]およびTCf[¬Q]を順にdQおよびd¬Qに読み込み、順にDに加算する(S403、S404)。
 次に、式(6.3)にしたがって、得られたDとステップS401で求めたdQとを用いてlnP(Q)を算出し、TCp[Q]に書き込む(S405、テーブル404)。
 次に全語彙について、カテゴリQのもとでの単語対数事後確率lnP(wi|Q)の値を求め、TWpを更新する。そのために、先にTWfを更新する。まず、図5のテーブル142を参照し、QID=Q2に対応するテキストU3を見つけ出し、単語列に分割する(S406)。このとき、分類段階で分割された結果(図7のS302、図12のテーブル201A)を参照すればよく、同じ分割処理を再実行する必要はない。したがって、図12のテーブル201Aを参照し、求める単語列W3={w1=“"年間”",w2="“走行距離”",w3="“保険料”",w4=“"違い”",w5=“出て”,w6=“ですか”}が得られる。
 次に、単語列W3の各単語wiについて、追加でG=10回ずつ出現したとみなして、カテゴリ「Q」における出現頻度TWf[Q,wi]を更新する(S407、S408)。更新後のTWfをテーブル405に示す。
 次に、更新された単語頻度表(テーブル405)から、式(6.2)に基づいて単語の対数事後確率表を再計算する(S409からS413)。最初に、式(6.2)の分母の第一項であるΣ(j=1~V=22)freq(wj,Q)を求める。カテゴリQにおける単語の総出現数freq(Q)と置き、0で初期化する(S409)。カテゴリQのもとでの単語出現頻度をテーブル405のセル[Q,wi]を読み込み、freq(wi,Q)にセットし、freq(Q)を加算する。加算結果でfreq(Q)を更新する(S411)。これを全語彙w1,・・・,wV=22について繰り返し行うことにより(S410)、freq(Q)を求める。
 続いて、全語彙w1=”教えて”,・・・,wV=22=”できる”についてlnP(wi|Q)の値を算出する。例えば、単語w1=”教えて”について、カテゴリQにおける出現頻度をテーブル405のセル[Q,”教えて”]から読み込み、freq(w1,Q)にセットする。freq(wi,Q)、ステップS410、S411で求めたfreq(Q)、V=22、およびα=0.01を式(6.2)に代入し、lnP(w1|Q)を算出し、TWp[Q,w1]に値を書き込む(S413、テーブル406のセル[Q,”教えて”])。これを残りの語彙w2,・・・,wVについても繰り返し行う(S412)。以上により、すべての語彙に関して、カテゴリc=QについてTWp[Q,wi]の値が更新される(テーブル406)。
 このように本実施形態では、選択されたクエリ候補に対応する対話テキストデータのクエリ尤度が、選択されなかったクエリ候補のクエリ尤度よりも高く設定されるように(選択されなかったクエリ候補については、クエリ尤度が下がるように)、クエリモデル131が更新される。
<検索モデル132の更新処理の詳細>
 上述した本実施形態の対話支援機能の処理フローにおいて、検索モデル132の更新処理について、{QID=Q1,c=faq5,G=10}(テーブル144)と、{QID=Q2,c=faq2,G=10}(テーブル149)をそれぞれ追加学習データを入力としたときの2通りのシナリオについて説明した。ここでは後者(テーブル149)のシナリオを例にとり、検索モデル132の更新処理の詳細を説明する。なお、更新処理自体は、前者についても同じである。
 検索モデル132の更新処理(図11(b))では、モデル更新のサブルーチン(図8)を呼び出す(S502)。サブルーチンには、学習データに加えて以下のデータを与える。カテゴリセット{faqk;1≦k≦K}をCにセットし、テーブル501(図13)のTFcf、テーブル302(図12)のTFcp、テーブル502(図13)のTFwf、およびテーブル303(図12)のTFwpをそれぞれ、TCf、TCp、TWfおよびTWpにセットする。全語彙がテーブル502の見出し単語であるとし、単語の異なり数V=18とする。また、補正パラメータα=0.01とする。
 先に、lnP(faq2)の値を求め、カテゴリ周辺確率表TCpを更新する。カテゴリ別文書頻度表TCf(テーブル501)のセル[faq2,dc]の値をdfaq2に読み込み、G=10を加算し、同セルにセットする(ステップ401)。更新後のTCfをテーブル503に示す。テーブル503から、式(6.3)に基づいて新たなカテゴリ対数周辺確率を求める(ステップ402から405)。まず、全文書数Dを求める(S402からS404)。Dを0で初期化し(S402)、テーブル503から、すべてのカテゴリfaqk(k=1,..,5)の文書頻度TCf[faqk]をDに加算する(S403、S404)。
 次に式(6.3)にしたがって、得られたDとステップS401で求めたdfaq2とを用いてlnP(faq2)を算出し、TCp[faq2]に書き込む(S405、テーブル504)。
 次に、全語彙についてカテゴリfaq2のもとでの単語対数事後確率lnP(wi|faq2)の値を求め、単語の対数事後確率表TWpを更新する。そのために、先にTWfを更新する。
 まず、図5のテーブル142を参照し、学習データのQID=Q2に対応するテキストU3を見つけ出し、単語列に分割する(S406)。このとき、分類段階で分割された結果(図12のテーブル301)を参照すればよく、同じ分割処理を再実行する必要はない。したがって、図12のテーブル301を参照し、求める単語列WF3={w1=“年間”,w2=“走行距離”,w3=“保険料”,w4=“違い”,w5=“出て”}が得られる。
 次に、単語列WF3の各単語wiについて、追加でG=10回ずつ出現したとみなして、カテゴリ“faq2”における出現頻度TWf[faq2, wi]を更新する(S407、S408)。更新後のTWfをテーブル505に示す。
 次に、更新された単語頻度表(テーブル505)から、式(6.2)に基づいて単語の対数事後確率表を再計算する(S409からS413)。最初に、式(6.2)の分母の第一項であるΣ(j=1~V=18)freq(wj,faq2)を求める。そのために、カテゴリQにおける単語の総出現数freq(faq2)と置き、0で初期化する(S409)。カテゴリfaq2のもとでの単語出現頻度をテーブル505のセル[faq2, wi]を読み込み、freq(wi,faq2)にセットし、freq(faq2)を加算する。加算結果でfreq(faq2)を更新する(S411)。これを全語彙w1..,wV=18について繰り返す(S410)ことにより、freq(faq2)を求める。
 続いて、全語彙w1="契約内容”,..,wV=18=“買い物”について、 lnP(wi│faq2)の値を算出する。たとえば、単語w1="契約内容”について、カテゴリfaq2における出現頻度をテーブル505のセル[faq2,"契約内容"]から読み込み、freq(w1,faq2)にセットする。freq(wi,faq2)、ステップS410、ステップS411で求めたfreq(faq2)、V=18,およびα=0.01を式(6.2)に代入し、lnP(w1│faq2)を算出し、TWp[faq2, w1]に値を書き込む(S413、テーブル506のセル[faq2,“教えて”])。これを残りの語彙w2..,wVについても繰り返す(S412)。以上により、すべての語彙に関して、カテゴリc=faq2についてTWp[faq2,wi]の値が更新される(テーブル506)。
(第2実施形態)
 図14から図22は、第2実施形態の情報検索システムを示す図である。上述の第1実施形態では、FAQ候補リスト内の各FAQに対して、オペレータがFAQ評価を行うことができように構成されているが、オペレータは、第2表示領域及び第3表示領域の各FAQ候補リストに含まれなかったFAQを表示させたい場合もある。
 つまり、第1実施形態では、第3表示領域において選択されたクエリ候補を自動的に検索クエリとして用いて検索モデル132を用いた第2検索処理を行っていたが、本実施形態では、オペレータ装置300の第1表示領域において、オペレータが選択したクエリ候補に含まれるキーワードを、オペレータが編集できるように制御する。そして、オペレータによるキーワード編集結果のキーワードリストを新たな検索クエリとして、検索モデル132を用いた検索処理(第3検索処理)を、オペレータが自由に手動で行えるようにする。
 図14は、本実施形態の情報検索システムのネットワーク構成図及び各装置の機能ブロック図であり、上述の第1実施形態に対して、情報検索装置100のクエリ生成部121は、キーワード抽出部121Aをさらに備えている。キーワード抽出部121Aは、オペレータ装置300において選択されたクエリ候補のテキストデータの中からクエリキーワードを抽出し、抽出結果をオペレータ装置300に提供する。
 図15は、本実施形態の対話支援画面の一例を示す図である。対話支援画面は、上記第1実施形態同様に、表示領域S1からS3を含んでいる。そして、表示領域S3は、オペレータから受け付けた選択クエリ候補から抽出したクエリキーワードを表示するキーワード表示入力欄Sa1、キーワード表示入力欄Sa1を追加するための追加ボタンSa2、キーワード表示入力欄Sa1を削除するための削除ボタンSa4、検索ボタンSa3を含むクエリキーワード表示/検索領域を含むように構成されている。
 本実施形態の表示領域S3は、上記第1実施形態における選択クエリ候補に基づく検索FAQ候補リストを表示する領域であると共に、クエリキーワードによる任意検索FAQ候補リスト(任意検索FAQ(aFA1~aFAn),第3ナレッジ情報)が表示される領域である。そして、表示領域S3は、表示されたクエリキーワードをオペレータが任意に編集(提示されたクエリキーワードの削除・修正、変更、新たなキーワードの入力など)して、検索クエリを作成するクエリキーワード編集部として機能する。
 なお、クエリキーワード表示/検索領域は、オペレータから選択クエリ候補を受け付けた場合のみ表示されるように構成することもできる。
 また、クエリキーワード表示/検索領域のキーワード表示入力欄Sa1、追加ボタンSa2および削除ボタンSa4を、オペレータから選択クエリ候補を受け付けた場合のみ操作可能となるようにSa1からSa4の操作可能状態を切り替えるように構成することもできる。
 これにより、オペレータによる任意検索が行われる際に、任意FAQ候補リストとクエリ候補との紐づけ情報が必ず得られるように構成することにより、クエリ候補と任意FAQ候補との組である学習データの収集が促進される効果が得られる。
 なお、クエリキーワード表示/検索領域を含み、任意検索FAQ候補リストが表示される表示領域(第6表示領域S6)が、表示領域S3と分離して設けられるように構成してもよい。また、不図示のボタン選択操作に基づいて、第6表示領域S6と表示領域S3とが表示切替できるように構成することもできる。
 図16は、本実施形態の情報検索装置100の処理フローを示す図である。図16では、上記第1実施形態の処理フロー(図4)に対し、クエリ候補Qselectが選択された後(S106のYES)、クエリキーワード抽出処理以降の処理(S601~S605)が並行して実行される処理が追加されている。クエリキーワード抽出処理の詳細については後述する。
 キーワード抽出部121Aは、クエリ候補QselectからクエリキーワードKWselectを抽出し(S601)、制御装置120は、抽出されたキーワードKWselectをオペレータ装置300に送信して、対話支援画面の表示領域S3に表示させる(S602)。制御装置120は、オペレータ装置300からの検索クエリキーワードKWeditの受信を待ち(S603)、検索クエリキーワードKWeditを受信すると(S603のYES)、検索部122に出力する。
 検索部122は、検索クエリキーワードKWeditに基づいて、検索モデル132を用いて検索処理(第3検索処理)を行い、検索結果としてFAQ候補リスト(任意検索FAQ候補リスト)を生成する(S604)。制御装置120は、生成された任意検索FAQ候補リストをオペレータ装置300に送信して、対話支援画面の表示領域S3に表示させる(S605)。その後は、図16に示すように、ステップS109に進む。なお、図4と同様の処理については同符号を付して説明を省略する。
 ここで、ステップS601のキーワード抽出処理について説明する。上記第1実施形態の説明と同様に、一連の対話テキストデータ(図5のテーブル141)が入力された場合を例にとって説明する。なお、説明の便宜上、FAQデータベースとして図17に示すFAQデータベース133Aを用いている。図17の例では、図5の例に対してFAQID=6が1件追加されている。
 この場合、検索モデル132のカテゴリセットCは、faq1,..,faq6であるから、検索モデル132のカテゴリ別文書頻度表TFcfおよびカテゴリ別単語頻度表TFwfは、faq6の行が追加され、図18のテーブル601および602の値がセットされているとする。また、これらの表からカテゴリ対数周辺確率表TFcp(図18のテーブル603)およびカテゴリのもとでの単語対数事後確率表TFwp(図18のテーブル604)が算出済みであるとする。なお、クエリモデル131は、上記第1実施形態と変わらない。
 図16のステップ102において、クエリ候補QC={Q1,Q2}が生成される(図5のテーブル142)。まず、クエリ候補Q1に対する第1検索処理(S103)において算出される検索尤度は図18のテーブル605のQ1列のとおりである。したがって、検索結果である推奨FAQ候補Sc={S1=(faq3,-13.2),S2=(faq5,-14.3),S3=(faq1,-16.9)}となり、faq6は、FAQ候補(検索結果)には含まれない。
 一方、クエリ候補Q2がオペレータによって選択された場合の第2検索処理(S107)において算出される検索尤度はテーブル605のQ2列のとおりである。検索結果である検索FAQ候補Sc={S1=(faq1,-18.8),S2=(faq4,-19.4),S3=(faq2,-21.9)}となり、クエリ候補Q1に対する検索処理の場合と同様、faq6はFAQ候補には含まれない。
 すなわち、オペレータがクエリ候補を選択しなくても選択しても、faq6はFAQ候補として表示されない。したがって、図16において、faq6をオペレータが検索するための手段として、S601からS605の処理が追加されている。
 まず、ステップS601のクエリキーワード抽出処理について説明する。ここでは、テキストから単語分割された各単語について、キーワードらしさを表す尺度であるキーワード尤度の大きい順に上位N件をクエリキーワードとして抽出する。
 ここで、キーワード尤度とは、カテゴリcのもとでの単語対数事後確率lnP(wi|c)をカテゴリcについて周辺化した対数確率lnP(wi)と定義する(第3モデル)。ただし、式(6.2)と同様に全文書の単語の異なり数Vおよび補正パラメータαによって補正する。これを下記の式(10)に示す。
Figure JPOXMLDOC01-appb-I000021
 図19は、キーワード抽出処理のフローチャートを示す図である。上述のように図16のステップS106においてクエリ候補Q2がオペレータによって選択されたとき(Qselect=Q2を例に説明する。
 最初に、カテゴリ別単語頻度表TFwfから式(10)にしたがって、単語ごとのキーワード尤度を表す単語対数周辺確率表Twmp(テーブル604)を算出する(S611)。なお、式(10)の計算のパラメータは、第1実施形態の説明における検索処理と同じく、α=0.01,V=18である。
 続いて、選択クエリ候補Q2のテキストを単語分割処理する(S611)。ここで、単語分割処理は、選択されたクエリ候補に基づく検索FAQの検索処理(S107)と、クエリモデル更新処理(S113)の中と共通であるため、その結果であるWF3={w1="年間”,w2=“走行距離”,w3=“保険料”,w4="違い”,w5=“出て”}(テーブル301のWF3行)を用いればよい。
 次に、抽出キーワードリストKWi=2を初期化する(S613)。wj(j=1,…,5)について、Twmp[wj]の値をlnP(wj)に読み込み、(wj,lnP(wj))の組をKWiに追加する(S615)。すべてのwj(j=1,…,5)についてこれを繰り返す(S614)。最後に、KW2をlnP(wj)の値が大きい順にソートし、上位3件KW2={(“保険料”,-1.88),(“走行距離”,-2.38),(“年間”,-3.07)}(テーブル607のKW2)を出力する(S616、N=3)。
 図16のメインルーチンに戻り、KWselect=KW2を表示領域S3に表示させる(S602)。例えば、図15の対話支援画面における一番左のキーワード表示入力欄Sa1(検索窓)から順に表示することができる。なお、オペレータは、表示領域S3のクエリキーワード表示/検索領域において、キーワード表示入力欄Sa1の横に設けられる「×」削除ボタンSa4を押すと、キーワードを削除することができる。また、キーワード表示入力欄Sa1は、テキストボックスであり、カーソルを置くと、自由に編集することができる(例えば、KW2を編集したり、KW2以外の任意のキーワードを入力したりすることができる)。また、「+」で表記された追加ボタンSa2を選択すると、キーワード表示入力欄Sa1を追加することができる。
 オペレータは、クエリキーワードの編集を終えると、検索ボタンSa3をクリックすることにより、オペレータ装置300から情報検索装置100に、検索ボタンSa3のクリック時における編集状態の検索クエリキーワードKWEditが送信される。
 ここでは、2つのシナリオを考察してみる。1つ目は、オペレータが編集操作を行わず、表示された3つのキーワードがそのまま検索クエリキーワードKWEditとして情報検索装置100に送信された場合である。KWEdit1={“保険料”,“走行距離”,“年間”}である。2つ目は、オペレータが“年間”を”週末”に変更し、KWEdit2={“保険料”,“走行距離”,”週末”}が情報検索装置100に送信された場合である(テーブル616)。
 制御装置120は、通信制御装置110を介して検索クエリキーワードKWEditを受信する(S603)。制御装置120は、受信した検索クエリキーワードKWEditを検索部122に入力し、検索部122は、第3検索処理を実行する(S604)。
 ここで、まず、上述の1つ目のシナリオでは、検索尤度表は、図18のテーブル606Aのように算出される。したがって、検索結果である任意検索FAQ候補Sc={S1=(faq1,-7.60),S2=(faq4,-8.96),S3=(faq2,-12.4)}となり、上述したキーワード抽出処理を経ないで行われる検索処理(第1検索処理及び第2検索処理)の検索結果と同様に、faq6は、任意検索FAQ候補には含まれない。
 一方、2つ目のシナリオでは、検索尤度表は図18のテーブル606Bのように算出される。したがって、任意検索FAQ候補Sc={S1=(faq6,-8.57),S2=(faq4,-8.68),S3=(faq1,-12.9)}となり、表示領域S3には、任意検索FAQ候補リストの第1位にfaq6が表示される(S605)。
 仮に、FAQ(Q:“通勤で使う場合と、週末買い物で使う場合とで、何か違いがありますか。”、A:“使用目的および走行距離で区分が設定されています...”)をオペレータが正の評価をした場合(S109)、検索モデル学習データ(テーブル608)が作成され(S110)、検索モデル更新処理(S111)が実行される。ここで、検索モデル学習データ作成処理S110は、選択クエリIDと評価されたFAQとの組である学習データに加えて、検索クエリキーワードKWEditから選択クエリキーワードKWselectに含まれるキーワードを除いた差集合(KWEdit-KWselect)のキーワードリストを学習データとしている。
 すなわち、KWEdit2- KWselect={“週末”}と評価されたFAQの組である(テーブル608)。
 なお、検索モデル更新処理(図24のS111および図11(b)のS502)について、キーワードリストを受け取れるように、あらかじめ入力の拡張を施す。図11(b)における検索モデル更新処理の追加学習データのQIDをQIDもしくはキーワードリストKW={kwi;1≦i≦|KW|}とする。サブルーチンである図8のモデル更新処理の入力データも同様に変更し、S302の分割処理の前において、入力タイプがQIDもしくはキーワードリストKWのいずれであるかの判定処理をS405とS406の間に新たに設ける。キーワードリストKWである場合は、M=|KW|とし、kw1,…kw|kw|をそのまま単語列w1,….wMに置き換え、単語分割処理はスキップして次の処理S406に進む。
 なお、それ以外の処理は上記第1実施形態の検索モデル更新処理と同一であるため、説明は省略する。
 さらに、学習データが複数の場合、学習データの数だけモデル更新(S502)を実行するように拡張を施す。
 なお、検索モデル学習データ作成処理S110において、上記の2つの学習データを作成したが、いずれか一方の学習データのみを作成することにしてもよい。上記のキーワードリストの学習データについて、検索クエリキーワードKWEditそのものを追加学習データとするように構成することもできる。さらに、編集によって削除された選択クエリキーワード、すなわちKWselectからKWEdit2の要素を除いた差集合(ここでは{“年間”})について、負の学習重みを設定した学習データを作成してもよい。このように選択クエリ候補、KWselect、およびKWEdit2に基づいて様々な学習データの作成方法をとるように構成できる。
 上記第1実施形態で述べた処理に従い、カテゴリ別文書頻度表TFcfおよびカテゴリ別単語頻度表TFwfが更新され(図20のテーブル609、610)、更新された表から検索モデル132であるカテゴリ対数周辺確率表TFcp(図20のテーブル611)およびカテゴリのもとでの単語対数事後確率表TFwp(図20のテーブル612)が算出される。
 この2つ目のシナリオでは、検索モデル更新処理と並行して、Qselect=Q2に基づいて、第1実施形態の場合と同様に、図6のテーブル146のクエリ学習データが作成され(S112)、クエリモデル更新処理によってクエリモデル131であるカテゴリ対数周辺確率表TQcp(図6のテーブル404)およびカテゴリのもとでの単語対数事後確率表TQwp(図6のテーブル406)が算出される(S113)。
 ここまでの処理によって、第1実施形態の処理では検索結果に含まれなかったfaq6が、新たに設けられた本実施形態の処理によって検索され、検索モデル132とクエリモデル131の両方が更新される。
 次に、同じテキストU(図5のテーブル141)が入力された場合の処理について確認する。ステップS102で生成される第1位のクエリ候補Q1は、U3(“たとえば年間の走行距離によって保険料に違いが出てきたりするんですか。”)に変更されている(図5のテーブル147)。これを入力とし第1検索処理が実行される(S103)と、検索尤度(図20のテーブル613)が算出される。そして、推奨FAQ候補Sc={S1=(faq,-12.1),S2=(faq,-18.8),S3=(faq4,-19.4)}(テーブル614)が生成され、オペレータ装置300に送信され、表示領域S1に表示される。
 このように、検索モデル132とクエリモデル131とが更新されることにより、前回の対話テキストデータとして入力されたときに表示されなかったfaq6が、今回は、オペレータがクエリ候補を選択したり、抽出キーワードを編集して検索せずとも、自動で表示されるように改善される。
 また、テーブル615のとおり、更新されたTFwfから算出されるTwmpは、クエリ候補に含まれるキーワード(“年間”、“走行距離”、“保険料”、“違い”)および、編集によって追加されたキーワード(“週末”)のキーワード尤度が高くなるように更新され、次回以降により選択クエリキーワードとして抽出されやすくなる。
 なお、検索処理(図10および図7)について、キーワードリストを受け取れるように、あらかじめ入力の拡張を施すことができる。図21は、本実施形態のクエリ候補の検索処理フローを示す図であり、図10に対応している。また、図22は、本実施形態の分類段階の処理フローを示す図であり、図7に対応している。図21において、図10における検索処理の入力データを、テキストUもしくはキーワードリストKW={kwi;1≦i≦|KW|}とする。図22において、サブルーチンである図7の分類処理の入力データも同様に変更し、S302の分割処理の前において、入力タイプがテキストUもしくはキーワードリストKWのいずれであるかの判定処理を新たに設ける(S621)。図22において、キーワードリストKWである場合は、M=|KW|とし、kw1,…kw|kw|をそのまま単語列w1,….wMに置き換え、単語分割処理はスキップして次の処理S303に進む(S622)。
(第3実施形態)
 図23から図34は、第3実施形態の情報検索システムを示す図である。本実施形態は、上述の第1実施形態及び第2実施形態に対し、FAQデータベース133,133Aに登録されたFAQ情報の変更・更新機能を備えたものである。
 上述した第1実施形態及び第2実施形態において、オペレータによるクエリ選択機能、FAQ評価機能および抽出キーワードによる検索機能の各履歴を利用することで、別のシステムでFAQを管理するよりも、簡便かつ効果的にFAQを追加、更新あるいは削除することができる。
 図23は、本実施形態のネットワーク構成及び各装置の機能ブロックを示す図であり、本実施形態では、上記第2実施形態の情報検索システムに、FAQデータを追加、更新あるいは削除するためのFAQ管理を行うためのFAQ管理端末400が設けられている。
 FAQ管理端末400は、制御装置410、表示装置420及び入力装置430を備えている。FAQ管理端末400は、例えば、コンタクトセンターを構成する管理端末として設けられているが、これに限らず、情報検索装置100で管理されるFAQ情報にアクセス可能な管理端末であればよい。
 一方、情報検索装置100は、FAQ管理部125が設けられている。FAQ管理部125は、所定のFAQ管理画面を通じたFAQ情報の変更・更新を制御する。記憶装置130には、履歴DB134が格納されており、一連の対話テキストデータの入力履歴、クエリ候補生成履歴、キーワード検索履歴(キーワード検索ミスヒット履歴を含む)、FAQ評価履歴、FAQ改善要求履歴などの各種履歴情報を含む。
 図24は、本実施形態の対話支援機能の処理フローを示す図である。図24は、図16に示した処理フローに対して、各種履歴を履歴DB134に記録する処理が追加されている。以下、新たに追加された処理を中心に説明する。なお、各種履歴の記録処理は、対応する各機能部がそれぞれ行ってもよく、また制御装置120が統括して行ってもよい。
 図24において、まず、一連の対話テキストデータ群Uが入力された後(S101)、クエリ生成部121は、一連の対話テキストデータ群Uを一意に識別可能なID(INPUT ID;以下、IIDと表する)を付与し、これを変数iidに記録する(S701)。IIDは、履歴の個々のデータの識別に用いる。
 次に、{IID,UID,テキスト}の組からなる入力履歴HINPUTに一連の対話テキストデータUをiidとともに記録する(S702)。たとえば、図5のテーブル141のU1,..,U4は、図25のテーブル701の{IID=I1,UID=U1},..,{IID=I4,UID=U4}の行のとおりに記録される。このように{IID, UID}の連結キーによって一連の対話テキストデータU群内の各対話テキストデータを一意に識別できる。
 クエリ候補Qcを生成後(S102)、クエリ候補Qcをiidとともにクエリ候補生成履歴HQに登録する(S703)。たとえば、図5のテーブル142のクエリ候補Q1,Q2は、それぞれ図25のテーブル702の{IID=I1,QID=Q1},{IID=I1,QID=Q2}の行のとおりに記録される。
 検索結果としてFAQ候補Scがない場合(S704のNO)、かつ検索テキストタイプが検索クエリキーワードの場合(S705の“検索クエリキーワード”)、キーワード検索ミスヒット履歴HMissに、{KWedit,IID,QID}の組が記録される(S706、図25のテーブル703)。{IID,QID}により、キーワード検索ミスヒットの検索とクエリ候補生成履歴HQ中のクエリとが紐づけられる。この紐づけ情報は、後述する検索ミスヒット履歴に基づくFAQ新規作成機能において、新規FAQとミスヒット検索のクエリとの組を学習データとして、検索モデル132を更新するために用いられる。
 なお、S704の判定において、検索結果としてFAQ候補ScのすべてのFAQ候補の検索尤度が所定値を下回る場合に、FAQ候補Scがない場合(No)と判定することとしてもよい。
 ここで、ステップS704の分岐に戻り、FAQ候補Scが存在する場合(S704のYES)、FAQ候補Scは、ステップS104においてオペレータ装置300の表示領域S1に表示され、オペレータからFAQ評価を待ち受ける(S109)。つまり、ステップS104,S108及びS605において、前段の各検索処理においてFAQ候補Scがヒットしなかった場合は、FAQ候補Scは、オペレータ装置300には送信されず、表示領域S1にFAQ候補Scは、表示されない。なお、本実施形態でのFAQ評価のタイプは、「有用度」(f21,f22)のFAQ評価に加えて、「改善要求」(f23)を含む。
 オペレータからのFAQ評価を受け付けると(S109のYES)、FAQ評価タイプが「有用度」、「改善要求」のいずれであるかを判定し(S707)、「改善要求」であると判定された場合は、対象のFAQIDをFAQ改善要求履歴HImproveに記録する(S708、図25のテーブル704)。HImproveにデータが記録される度に、改善要求が出された回数がカウントされる(テーブル704のCOUNT列)。後述するFAQ修正機能において、FAQ管理者はカウント情報を参考にして修正対象のFAQを選択することができる。
 ステップS707の分岐に戻り、FAQ評価タイプが「有用度」の場合は、{FAQID, IID, QID, FAQ評価値EVAL}の組をFAQ評価履歴HEvalに登録する(S709、図25のテーブル705)。
 次に、FAQ管理について説明する。FAQの管理とは、FAQデータベース133に登録されたFAQ情報を、必要に応じて追加、削除、更新を行うことであり、FAQ管理者が行う。
 本実施形態では、FAQ管理者がFAQ管理端末400を通じてFAQを管理することができる。図26から図28は、FAQ管理処理を示すフローチャートであり、それぞれ、FAQの新規登録処理、FAQの削除処理、FAQの修正/更新処理を表している。
<FAQ新規登録処理>
 図26は、FAQの新規登録処理を示すフローチャートである。制御装置120(FAQ管理部125)は、ミスヒット履歴HMissのキーワードリストをカウントし、カウント数が大きい順にソートする。たとえば、HMissが図25のテーブル703の場合、キーワードリストは“免許証,色”はカウント数2、“車両保険,入院,期間”はカウント数1である。そしてソート結果である{キーワードリスト,カウント数}のリストを、制御情報とともにFAQ管理端末400に送信し、図29に示すFAQ検索ミスヒット表示領域に表示する(S720)。図29は、オペレータ装置300の表示装置330に表示されるFAQ検索ミスヒット画面の一例である。
 続いて、制御装置120は、FAQ管理者がFAQ検索ミスヒット画面において、キーワードリストを選択するのを待ち受ける(S721)。キーワードリストKWSelectがFAQ管理者によって選択されると、FAQ管理端末400からKWSelectが情報検索装置100に送信され、制御装置120がこれを受信する(S721)。制御装置120は、FAQ管理端末400に図30に示すFAQ作成画面を表示させる(S722)。
 FAQ作成画面には、新規FAQのテキストにミスヒットキーワードリストのすべてのキーワードが必ず含まれるようにするため、FAQ作成画面には入力チェック機能が備わっている。登録ボタンがクリックされた際に、入力チェック機能が実行され、もし新規FAQにミスヒットキーワードリストのキーワードのいずれか一つでも含まれていない場合は、エラーメッセージを表示して登録させないように制御する。
 制御装置120は、FAQ管理者からの新規登録要求を待ち受ける(S723)。FAQ管理者がFAQ作成画面にて、「Q」,「A」を入力・編集し、登録ボタンをクリックすると、新規登録要求を受け付け、入力されたFAQ情報({Qテキスト,Aテキスト})を含む新規登録要求がFAQ管理端末400から情報検索装置100に送信される。情報検索装置100は、通信制御装置110を介して制御装置120が受け取る(S723)。続いて、制御装置120、受信した新規FAQ情報をFAQデータベース133に登録する。このとき、新規FAQ情報に対してFAQIDを付与し、FAQデータベース133に格納される。付与されたFAQIDを変数faqnewにセットする(S724)。
 次に、新規FAQに関連するクエリを入力として当該FAQが検索されるようにするために、検索モデルを更新する。KWSelectと紐づくすべてのクエリIDと新規FAQとの組を学習データとして用いる。
 まず、更新の準備として、検索モデル132の分類先カテゴリに新規FAQを追加するためにカテゴリセットCにfaqnewを追加し(S725)、検索モデル132のテーブルTFcf, TFwf,TFcp,TFwpにfaqnewの行を追加する(S726)。次に、ミスヒット履歴HMissからKWSelectの履歴を全て抽出し、変数H={hi ∈HMiss;1≦i≦M}に格納する(S727)。すべてのhiについて、S729からS731までの処理を繰り返す(S728)。まず、クエリID{IID,QID}を変数{iid,qid}に格納する。{クエリID{iid,qid},カテゴリfaqnew,重みG∈Z}を追加学習データとして、検索モデル132を更新する(S730)。更新後、履歴hiが次回以降の更新処理において重複して用いられないようにするために、HMissからhiを削除しておく(S731)。
 FAQデータベース133に登録されたFAQに基づいて、検索モデル132を更新することで、新規FAQが検索される(検索モデル132を更新しない限り、新規FAQは検索されない)。そこで、引き続き、検索モデルの更新処理を行う。ここで、検索モデル132の学習データは、テキストとFAQIDの組であるが、どのテキストを対応付ければよいか、が課題となる。FAQ作成支援と学習データ収集とを別々に行う従来技術では、本課題を解決できなかった。すなわち、更新したFAQに対する学習データの紐付けができなかった。
 しかしながら、本実施形態では、作成された新規FAQは、ユーザーの質問であるクエリテキストから抽出されたキーワードリストに基づいて作成されており、クエリテキストとFAQとの間には、質問-回答の関係性がある可能性が高いと考えられる。この関係性を学習データの対応付けに用いることができるように、上述のとおり、FAQ利用時の処理において、ミスヒット履歴HMissにクエリID{IID,QID}と、クエリ候補生成履歴HQにクエリIDに対応するクエリテキストを記録する処理を設けている。
 なお、検索モデル学習データ作成処理S110において、上記第2実施形態で説明したように、クエリIDとFAQとの組以外にも選択クエリ候補、選択クエリキーワード、および検索クエリキーワードに基づいて様々な学習データの作成するように構成できる。たとえば、検索クエリキーワードから選択クエリキーワードに含まれるキーワードを除いた差集合のキーワードリストについて、FAQとの組を学習データに加えても良い。
<FAQ削除処理>
 図27はFAQの削除処理を示すフローチャートである。制御装置120(FAQ管理部125)は、FAQ評価履歴HEvalからFAQID毎にFAQ評価値EVALを集計し、集計スコアの低い順にFAQをソートする(S740)。ソート処理の結果のFAQIDに対応する「Q」と「A」とをFAQデータベース133から参照し、{FAQID,Qテキスト,Aテキスト,集計スコア}のリストを作成する。情報検索装置100は、作成されたリストをFAQ管理端末400に送信し、図31に示すFAQ削除リスト表示画面を表示させる(S741)。
 続いて、制御装置120は、FAQ管理者からのFAQ削除要求を待ち受ける(S742)。FAQ管理者がFAQ削除リスト表示画面に表示されたFAQの中から、削除したいFAQを選択すると、削除要求を受け付ける。選択されたFAQのFAQIDがFAQ管理端末400から情報検索装置100に送信される。制御装置120は、選択されたFAQIDを受け取り、これを変数faqdeleteに格納する(S742)。そして、制御装置120は、FAQデータベース133からfaqdeleteに該当するFAQ情報を削除する(S743)。
 なお、FAQデータベース133から該当のFAQを削除しても、検索モデル132の分類カテゴリに削除したFAQのFAQIDが含まれている場合、FAQ検索結果とFAQデータベース133との間で不一致が生じる。このため、検索モデル132から削除すいたFAQに該当するFAQIDを削除する処理を続いて行う。
 まず、検索モデル更新処理の前処理として、検索モデル132のカテゴリセットCからfaqdeleteを削除し(S744)、検索モデル132のテーブルTFcf,TFwf,TFcp,TFwpからカテゴリfaqdeleteの行を削除する(S745)。次に、検索モデル132を更新する(S746)。ここでの更新処理は、カテゴリ削除によって、全カテゴリにおける総文書数および総単語数が変化するため、TFcp,TFwpを再計算しなおすことが目的である。追加学習データがないため、TFcf,TFwfが変化しない点が、上記第2実施形態の検索処理(図16のS111,図8)と異なる。すなわち、図8のモデル更新のTFcf更新処理(S401)、TFwf更新処理(S406からS408)を除いた処理となる。なお、検索モデル更新処理を示すフローチャートを図32に示すが、各ステップの詳細な説明について上述の通りである。
<FAQ更新処理>
 図28は、FAQの更新処理を示すフローチャートである。まず、制御装置120は、FAQ改善要求履歴HImproveのFAQIDをカウント数の大きい順にソートする。ソート結果のFAQIDに対応する「Q」と「A」とをFAQデータベース133から参照し、{FAQID,Qテキスト,Aテキスト,カウント数}のリストを作成し、FAQ管理端末400に送信し、図33に示すFAQ改善リスト画面に表示する(S760)。
 続いて、制御装置120は、FAQ管理者による修正対象FAQの選択を待ち受ける(S761)。FAQ管理者がFAQ改善リスト画面に表示されたFAQの中から、修正を希望するFAQを選択すると、選択情報が情報検索装置100に送信される。制御装置120は、選択情報を受け取り、FAQ管理端末400に図34に示すFAQ修正画面を表示させるように制御する(S762)。FAQ修正画面には、選択されたFAQの「Q」テキストと「A」テキストがセットされており、FAQ管理者はこれを適宜編集できるようになっている。
 制御装置120は、FAQ管理者によるFAQの更新要求を待ち受ける(S763)。FAQ管理者がFAQ修正画面にFAQを入力した後、更新ボタンをクリックすると、更新要求を受け付け、更新FAQ{FAQID,Qテキスト,Aテキスト}が更新要求情報ととともに情報検索装置100に送信される。制御装置120は、更新要求情報を受け取り(S763のYes)、FAQデータベース133の該当のFAQIDのFAQ情報を更新FAQ情報を用いて更新する(S764)。
 FAQの内容が修正されると、オペレータによるFAQ検索結果に対する評価が良くなる可能性がある。しかしながら、FAQ修正前に、FAQがオペレータから負の評価を受けていた場合、検索モデル132は、より検索候補の下位になるように更新されてしまう。そうすると、修正されたFAQが検索結果としてオペレータに表示されないという問題が生じる。これを解決するために、FAQ評価履歴HEvalを用いて、検索モデル132を更新前の状態に復元する処理を次に行う。更新前の状態の復元には、学習重みをモデル更新時と正負反転させて、追加学習データとし、同じ更新処理を行えばよい。
 HEval中のすべての履歴データhi(i=1,..,|HEval|)についてS766からS771の処理を繰り返す(S765)。まず、hiの{FAQID, IID,QID,EVAL}を読み込み、それぞれ変数faqid,iid,qidおよびevalに格納する(S766)。次いで、修正されるFAQIDのfaqreviseとfaqidが一致すれば(S767のYes)次の更新処理に進み、一致しなければhi+1の処理ループに進む(S767のNo)。次の更新処理では、まず、FAQ評価値EVALの正負を反転させ、学習重み変数Gに値を格納する(S768)。追加学習データは{クエリID{iid,qid},カテゴリfaqrevise,重みG∈Z}である。これを検索モデル更新部124に入力し、検索モデル132を更新する(S770)。更新後、履歴hiが次回以降の更新処理において重複して用いられないようにするために、HEvalからhiを削除しておく(S771)。
 なお、本実施形態における検索モデル更新処理(検索モデル更新処理S730およびS770)は、上記第2実施形態の検索モデル更新処理に対して、クエリID{IID,QID}を受け取り、クエリ候補生成履歴HQからクエリテキストを探し出せるよう拡張を施している。具体的には、入力データのQIDが{IID,QID}に変わり、S406においてQIDに対応するテキストUをクエリ候補Qcを格納したテーブルから見つける処理を、クエリID{IID,QID}からクエリ候補生成履歴HQから見つける処理に置き換えられる。なお、それ以外の処理は上記第2実施形態の検索モデル更新処理と同一であるため、説明は省略する。
 このように本実施形態は、クエリ候補及び検索クエリキーワードに基づくFAQ検索履歴(ミスヒット履歴)、FAQ評価履歴、及びFAQ改善要求履歴を記憶し、新規FAQ情報の登録処理、FAQデータベース133に格納されるFAQ情報の更新処理及び削除処理、を制御するFAQ管理部125を備えている。
 そして、FAQ管理部125は、以下の機能を提供する。
(1)FAQ検索履歴に基づいて、検索結果に含まれるFAQ情報の数が所定値よりも少ない(0でもよい)クエリ候補又はクエリ候補に含まれる1つ又は複数のキーワード(第2実施形態の検索クエリキーワード)を含む第1リストを生成してFAQ管理端末400に送信し、FAQ管理端末400において第1リストに含まれるクエリ候補又はクエリ候補に含まれる1つ又は複数のキーワードを含む質問と回答の組からなる新規FAQ情報を作成可能に制御し、FAQ管理端末400から新規FAQ情報を受信して登録する登録処理を行う。
 このとき、検索モデル更新部124は、第1リストに含まれるクエリ候補と新規FAQ情報との組み合わせを追加学習データとして、FAQの数が所定値よりも少ないクエリ候補と同一又は類似のクエリ候補に対して、検索尤度がより高くなるように、検索モデル132を更新する。
(2)FAQ評価履歴に基づいてFAQ評価値が所定値よりも低いFAQ情報を含む第2リストを生成してFAQ管理端末400に送信し、FAQ管理端末400での第2リストに対する選択情報に基づいて該当するFAQ情報をFAQデータベースから削除する削除処理を行う。
 このとき、検索モデル更新部124は、削除対象のFAQ情報を除外した検索モデル132の更新処理を行う。
(3)FAQ改善要求履歴に基づいて、FAQ改善要求が所定値よりも多いFAQ情報を含む第3リストを生成してFAQ管理端末400に送信し、FAQ管理端末400での第3リストに含まれるFAQ情報の質問又は回答に対する編集結果を受信して該当のFAQ情報を更新する更新処理を行う。
 このとき、検索モデル更新部124は、更新対象のFAQ情報とクエリ候補との間の類似性に基づく検索尤度が、更新前のFAQ情報よりも高くなるように(更新前の検索尤度を引き継がないようにリセットするように)、検索モデル132を更新する。
 以上、実施形態について説明したが、本発明は、スーパーバイザーなどの管理者と連動した機能を提供することもできる。例えば、コンタクトセンターは、複数のオペレータ装置300以外に、管理者装置を含むように構成することができる。このとき、情報検索装置100の制御装置120は、各オペレータ装置300に表示される対話支援画面を管理者装置から閲覧できるように制御することができる。具体的には、制御装置120は、管理者装置に対して各オペレータ装置300の対話支援画面をリモート接続可能に制御し、指定したオペレータ装置300(オペレータID)別に稼働中のオペレータ装置300の表示装置330に表示された内容をモニタリングすることができる。制御装置120は、チャット機能などで、管理者とオペレータとが対話するテキスト対話機能を提供するように構成してもよい。
 また、管理者装置自体にも、本実施形態の対話支援機能を適用することができる。つまり、管理者も第2検索機能及びFAQ評価機能を実行して、クエリモデル131及び検索モデル132の各更新を促すことができる。なお、管理者は、上述の第3実施形態で説明したFAQ管理機能を使用して、FAQデータベース133に格納されているFAQの更新(編集・修正)、新規作成、削除などを、適宜行うことができる。
 管理者が管理者装置において、表示部に表示されたオペレータの一覧からオペレータを選択すると、制御部120は、履歴DB134に蓄えられたオペレータ別の履歴情報を参照して、各履歴を管理者装置に表示することにより、管理者は対話内容、検索キーワード、検索結果のFAQ、および評価をモニタリングすることができる(例えば、図35参照)。
 また、管理者装置自体にも、本実施形態の対話支援機能を適用することができる。オペレータとカスタマーとの対話内容を確認しながら、管理者がオペレータの検索結果のFAQを評価しなおすことができる。また、管理者も第2検索機能及びFAQ評価機能を実行して、クエリモデル131及び検索モデル132の各更新を促すことができる。
 実施形態の例では、一つのテキスト情報を一つのクエリ候補として生成していた。1つ以上のテキスト情報の組み合わせを一つのクエリ候補としてもよい。一つのテキスト情報の中の部分テキストを単位として、1つ以上の部分テキストの組み合わせを一つのクエリ候補としてもよい。
 発話テキストを順次受付けるようにし、時刻情報、テキストの意味内容、以前に入力された発話テキストの文脈情報などを用いて、同一の話題に関する発話テキストを一連の発話テキスト情報としてまとめ上げる処理を、前段に追加するように構成しても良い。
 クエリモデルは、かならずしも質問であるか否かの2カテゴリに分類するモデルでなくともよい。たとえば、テキストの意図タイプ(質問、依頼、要求、など)に分類するモデルであってもよい。FAQがグループ(新規契約、解約、支払、契約内容変更、など)に分かれている場合、テキストをグループ別に分類するモデルであってもよい。
 さらに、クエリモデルと検索モデルは1つのモデルであってもよい。たとえば、({¬Q,faq_1,..,faq_M}に分類するモデルであってもよい。
 さらに、実施形態ではクエリ分類とのFAQ分類の2つの分類処理とを続けて行うものあったが、3つ以上の分類処理の階層型に拡張することもできる。たとえば、3階層のツリー型で分類処理を構成してもよい。第1のモデルがテキストを質問か否かに分類するモデルで、第2段のモデルが質問テキストをFAQのグループに分類するモデルで、第3段のモデルはFAQのグループ分あり、それぞれのモデルはグループのテキストを各FAQに分類する。処理はそれぞれの階層のモデルと対応する3段階からなる。第1段の処理において、入力テキストを第1のモデルによって分類する。第2段の処理では、第1段の処理で入力テキストが質問と分類された場合、該入力テキストを第2のモデルによってFAQのグループに分類する。最後に第3段の処理では、入力テキストをFAQグループに対応する第3段のモデルに振り分け、該第3段のモデルによって入力テキストを各FAQに分類する。追加の学習データを収集するために、第1段および第2段には、それぞれクエリ候補およびFAQグループ候補の中から、最良の候補をユーザーが選択する選択手段を設ける。第3段には、FAQ候補の中から、最良の候補を選択する選択手段もしくはそれぞれの候補を評価する評価手段を設ける。
 第1段の処理において選択されたクエリと第2段の処理において選択されたFAQグループとの組を学習データとして、第2のモデルを更新する。第3段の処理では該選択クエリと選択(評価)されたFAQとの組を学習データとして、第3のモデルを更新する。
 このように構成することによって、ユーザーによるそれぞれのモデルの学習データ作成が簡便に行うことができる。同様にして、4階層以上のツリー型にも拡張可能である。
 また、上記各実施形態の各種画面は、情報検索装置100から画面情報をその都度提供してオペレータ装置300に表示させたり、オペレータ装置300に予め画面情報を記憶しておき、情報検索装置100から受信する制御情報に基づいて表示装置330に表示させるように制御してもよい。
 また、本発明の各機能は、プログラムによって実現可能であり、各機能を実現するために予め用意されたコンピュータプログラムが補助記憶装置に格納され、CPU等の制御部が補助記憶装置に格納されたプログラムを主記憶装置に読み出し、主記憶装置に読み出された該プログラムを制御部が実行して、コンピュータに本発明の各部の機能を動作させることができる。他方、本発明の各機能は、各々個別の装置で構成することもでき、複数の装置を直接に又はネットワークを介して接続して本装置(システム)を構成することもできる。
 また、上記プログラムは、コンピュータ読取可能な記録媒体に記録された状態で、コンピュータに提供することも可能である。コンピュータ読取可能な記録媒体としては、CD-ROM等の光ディスク、DVD-ROM等の相変化型光ディスク、MO(Magnet Optical)やMD(Mini Disk)などの光磁気ディスク、フロッピー(登録商標)ディスクやリムーバブルハードディスクなどの磁気ディスク、コンパクトフラッシュ(登録商標)、スマートメディア、SDメモリカード、メモリスティック等のメモリカードが挙げられる。また、本発明の目的のために特別に設計されて構成された集積回路(ICチップ等)等のハードウェア装置も記録媒体として含まれる。
 なお、本発明の実施形態を説明したが、当該実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。この新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
100 情報検索装置
110 通信制御装置
120 制御装置
121 クエリ生成部
121A キーワード抽出部
122 検索部
123 クエリモデル更新部
124 検索モデル更新部
125 FAQ管理部
130 記憶装置
131 クエリモデル
132 検索モデル
133 FAQデータベース(FAQナレッジデータベース)
134 履歴DB
300 オペレータ装置
310 対話装置
310A 生成部
320 制御装置
330 表示装置
340 入力装置
400 FAQ管理端末
410 制御装置
420 表示装置
430 入力装置

Claims (16)

  1.  任意の所定単位の一連のテキストデータが入力され、所定の記憶領域から前記テキストデータに応じたナレッジ情報を検索する情報検索装置であって、
     テキストデータに対し、前記ナレッジ情報を検索するためのクエリらしさを評価する第1モデルと、
     前記第1モデルを用いて、前記ナレッジ情報を検索するためのクエリ候補を生成するクエリ生成部と、
     前記ナレッジ情報の前記クエリ候補に対する検索結果としてのもっともらしさを評価する第2モデルと、
     前記第2モデルを用いて、前記クエリ候補に関連する第1ナレッジ情報を抽出する第1検索部と、
     前記クエリ候補と、前記第1ナレッジ情報とを所定の表示領域に出力する第1出力部と、
     前記第1ナレッジ情報が表示された前記表示領域における前記クエリ候補に対するクエリ選択履歴を取得し、このクエリ選択履歴に基づき選択クエリ候補に関連する第2ナレッジ情報を、前記第2モデルを用いて抽出する第2検索部と、
     前記第2ナレッジ情報を前記表示領域に出力する第2出力部と、
     前記第1ナレッジ情報に対する、前記クエリ候補と前記第1ナレッジ情報との対応付け情報、または/および前記第2ナレッジ情報に対する、前記選択クエリと前記第2ナレッジ情報との対応付け情報を含むナレッジ評価履歴を取得して前記第2モデルを更新する第2モデル更新部と、
     を備えたことを特徴とする情報検索装置。
  2.  任意の所定単位の一連のテキストデータが入力され、所定の記憶領域から前記テキストデータに応じたナレッジ情報を検索する情報検索装置であって、
     前記テキストデータに対し、前記ナレッジ情報を検索するためのクエリらしさを表すクエリ尤度を評価する第1モデルと、
     前記第1モデルを用いて、前記テキストデータのクエリ尤度値を算出し、前記クエリ尤度値に基づいて、前記ナレッジ情報を検索するためのクエリ候補を生成するクエリ生成部と、
     前記ナレッジ情報の前記クエリ候補に対する検索結果としてのもっともらしさを評価する第2モデルと、
     前記第2モデルを用いて、前記クエリ候補に対する検索尤度を算出し、前記検索尤度に基づいて、前記クエリ候補に関連する第1ナレッジ情報を抽出する第1検索部と、
     前記クエリ候補と、前記第1ナレッジ情報とを所定の表示装置に出力する第1出力部と、
     前記第1ナレッジ情報が表示された前記表示領域における前記クエリ候補に対するクエリ選択履歴を取得し、前記第1モデルを更新する第1モデル更新部と、
     前記第2モデルを用いて、前記クエリ選択履歴に基づく選択クエリ候補に対する検索尤度を算出し、前記検索尤度に基づいて、前記選択クエリ候補に関連する第2ナレッジ情報を抽出する第2検索部と、
     前記第2ナレッジ情報を前記表示領域に出力する第2出力部と、
     前記第1ナレッジ情報または/および前記第2ナレッジ情報に対するナレッジ評価履歴を取得して前記第2モデルを更新する第2モデル更新部と、を有し、
     前記ナレッジ評価履歴は、前記クエリ候補と前記第1ナレッジ情報との対応付け情報、または/および前記選択クエリ候補と前記第2ナレッジ情報との対応付け情報を含み、
     前記クエリ選択履歴を用いた前記第1モデル更新部による第1更新処理と、第1更新処理で使用される前記クエリ選択履歴と前記ナレッジ評価履歴とに基づく前記第2更新部による第2更新処理とが、並行して実行されることを特徴とする情報検索装置。
  3.  前記第1モデル更新部は、選択された前記クエリ候補に対応する前記テキストデータのクエリ尤度を、選択されなかった前記クエリ候補のクエリ尤度よりも高く設定することを特徴とする請求項2に記載の情報検索装置。
  4.  前記第1モデル更新部は、前記選択クエリ候補と同一または類似するテキストを含む前記テキストデータが入力されたときに、同一または類似のテキスト部分のクエリ尤度がより高くなるように前記第1モデルを更新することを特徴とする請求項2又は3に記載の情報検索システム装置。
  5.  前記クエリ生成部は、前記任意の所定単位の一連のテキストデータに含まれる前記各テキストデータそれぞれのクエリ尤度を算出し、算出されたクエリ尤度が最も高いテキストデータ、又は算出されたクエリ尤度が所定値以上のテキストデータを前記クエリ候補として生成することを特徴とする請求項1から4のいずれか1つに記載の情報検索システム装置。
  6.  前記第2モデル更新部は、前記ナレッジ評価履歴に該当するナレッジ情報と前記対応付け情報により対応付けられた前記クエリ候補と同一または類似したテキストデータが入力されたときに、前記検索尤度がより高くなるように前記第2モデルを更新することを特徴とする請求項1から5のいずれか1つに記載の情報検索システム装置。
  7.  前記第2モデル更新部は、前記第1検索部によって抽出された前記第1ナレッジ情報に対する第1ナレッジ評価履歴及び前記第2検索部によって抽出された前記第2ナレッジ情報に対する第2ナレッジ評価履歴を取得し、各ナレッジ評価履歴に基づいて前記第2モデルを更新することを特徴とする請求項1から6のいずれか1つに記載の情報検索装置。
  8.  前記所定単位の一連のテキストデータは、少なくとも単語、文章、テキストデータの入力時刻、テキストデータの入力者、テキストデータの意味の何れかに基づく所定の単位に分割されたテキストデータであることを特徴とする請求項1から7のいずれか1つに記載の情報検索システム装置。
  9.  テキストデータの検索クエリとしての重要度を評価する第3モデルと、
     前記クエリ生成部は、前記第3モデルを用いて前記テキストデータから検索クエリとして重要な1つ以上の部分文字列を抽出するキーワード抽出部と、を有し、
     前記抽出された1つ以上の部分文字列をクエリ候補として出力することを特徴とする請求項1から8のいずれか1つに記載の情報検索装置。
  10.  前記クエリ生成部より出力された前記1つ以上の部分文字列を出力し、前記部分文字列に対して編集された部分文字列を入力として受け付ける入出力部と、
     前記第2モデルを用いて、前記部分文字列に対する検索尤度を算出し、前記検索尤度に基づいて、前記部分文字列に関連する第3ナレッジ情報を抽出する第3検索部と、
     前記第3ナレッジ情報を出力する第3出力部と、を更に有し、
     前記第2モデル更新部は、前記第3ナレッジ情報に対するナレッジ評価履歴を取得して前記第2モデルを更新することを特徴とする請求項9に記載の情報検索装置。
  11.  前記第3モデルを、少なくとも前記選択クエリ候補、前記部分文字列、前記検索クエリ用語の何れかに基づき、前記選択クエリ候補、前記部分文字列、前記検索クエリ用語の何れかに含まれる、少なくとも一つの部分文字列について、第3モデルの語彙に含まれない場合は該部分文字列を追加し、第3モデルの語彙に含まれる場合は重要度がより高くなるように前記第3モデルを更新することを特徴とする請求項10に記載の情報検索装置。
  12.  前記ナレッジ情報の登録処理を制御するナレッジ管理部と、
     前記クエリ候補に基づくナレッジ情報検索履歴を記憶する記憶部と、をさらに含み、
     前記ナレッジ管理部は、
     前記ナレッジ情報検索履歴に基づいて、検索結果に含まれる前記ナレッジ情報が無い場合、または検索結果に含まれる全てのナレッジ情報の検索尤度が所定値を下回る場合に、前記クエリ候補又は前記クエリ候補に含まれる1つ又は複数の、検索要求として重要な1つ以上の部分文字列を含む第1リストを生成して所定の管理者端末に送信し、前記第1リストに含まれる前記クエリ候補又は前記クエリ候補に含まれる1つ又は複数の前記文字列を含む新規ナレッジ情報を前記管理者端末から受信して登録する前記登録処理を行い、
     前記第2モデル更新部は、前記第1リストに含まれる前記クエリ候補と新規ナレッジ情報との組を追加学習データとして、前記学習データの前記クエリ候補と同一又は類似のクエリ候補に対して、検索尤度がより高くなるように、前記第2モデルを更新することを特徴とする請求項1から11のいずれか1つに記載の情報検索装置。
  13.  前記ナレッジ情報の削除処理を制御するナレッジ管理部と、
     前記クエリ候補に基づくナレッジ評価履歴を記憶する記憶部と、をさらに含み、
     前記ナレッジ管理部は、
     前記ナレッジ評価履歴に基づいて前記ナレッジ評価値が所定値よりも低い前記ナレッジ情報を含む第2リストを生成して前記管理者端末に送信し、前記第2リストに対する選択情報に基づいて該当する前記ナレッジ情報を削除する前記削除処理を行い、
     前記第2モデル更新部は、削除対象の前記ナレッジ情報を除外した前記第2モデルの更新処理を行うことを特徴とする請求項1から11のいずれか1つに記載の情報検索装置。
  14.  前記ナレッジ情報の更新処理を制御するナレッジ管理部と、
     前記検索された前記ナレッジ情報に対するナレッジ情報改善要求履歴を記憶する記憶部と、をさらに含み、
     前記ナレッジ管理部は、
     前記ナレッジ情報改善要求履歴に基づいて、前記ナレッジ情報改善要求が所定値よりも多い前記ナレッジ情報を含む第3リストを生成して前記管理者端末に送信し、前記第3リストに含まれる前記ナレッジ情報に対する編集情報を前記管理者端末から受信して該当の前記ナレッジ情報を更新する前記更新処理を行い、
     前記第2モデル更新部は、更新対象のナレッジ情報の前記クエリ候補に対する検索結果としてもっともらしさを表す検索尤度が、更新履歴に基づき更新前のナレッジ情報についてのモデル更新を取り消し、当該ナレッジ情報以外のナレッジ情報については更新を保持するように前記第2モデルを更新することを特徴とする請求項1から11のいずれか1つに記載の情報検索装置。
  15.  任意の所定単位の一連のテキストデータが入力され、所定の記憶領域から前記テキストデータに応じたナレッジ情報を検索する方法であって、
     前記ナレッジ情報を検索するためのクエリらしさを評価する第1モデルを用いて、前記ナレッジ情報を検索するためのクエリ候補を生成する第1ステップと、
     前記ナレッジ情報の前記クエリ候補に対する検索結果としてのもっともらしさを評価する第2モデルを用いて、前記クエリ候補に関連する第1ナレッジ情報を抽出する第2ステップと、
     前記クエリ候補と、前記第1ナレッジ情報とを所定の表示領域に出力する第3ステップと、
     前記第1ナレッジ情報が表示された前記表示領域における前記クエリ候補に対するクエリ選択履歴を取得し、この取得した選択履歴に基づき前記選択クエリ候補に関連する第2ナレッジ情報を抽出する第4ステップ、
     前記第2ナレッジ情報を前記表示領域に出力する第5ステップと、
     前記第1ナレッジ情報に対する、前記クエリ候補と前記第1ナレッジ情報との対応付け情報、または/および前記第2ナレッジ情報に対する、前記選択クエリと前記第2ナレッジ情報との対応付け情報を含むナレッジ評価履歴を取得して前記第2モデルを更新する6ステップと、を備えたことを特徴とする情報検索方法。
  16.  任意の所定単位の一連のテキストデータが入力され、所定の記憶領域から前記テキストデータに応じたナレッジ情報を検索する処理をコンピュータに実行させるためのプログラムであって、前記コンピュータに、
     前記ナレッジ情報を検索するためのクエリらしさを評価する第1モデルを用いて、前記ナレッジ情報を検索するためのクエリ候補を生成する第1機能と、
     前記ナレッジ情報の前記クエリ候補に対する検索結果としてのもっともらしさを評価する第2モデルを用いて、前記クエリ候補に関連する第1ナレッジ情報を抽出する第2機能と、
     前記クエリ候補と、前記第1ナレッジ情報とを所定の表示領域に出力する第3機能と、
     前記第1ナレッジ情報が表示された前記表示領域における前記クエリ候補に対するクエリ選択履歴を取得し、この取得した選択履歴に基づき前記選択クエリ候補に関連する第2ナレッジ情報を抽出する第4機能と、
     前記第2ナレッジ情報を前記表示領域に出力する第5機能と、
     前記第1ナレッジ情報に対する、前記クエリ候補と前記第1ナレッジ情報との対応付け情報、または/および前記第2ナレッジ情報に対する、前記選択クエリと前記第2ナレッジ情報との対応付け情報を含むナレッジ評価履歴を取得して前記第2モデルを更新する第6機能と、
     を前記コンピュータに実現させることを特徴とするプログラム。
     
PCT/JP2019/025848 2018-07-06 2019-06-28 情報検索システム WO2020009027A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018-129542 2018-07-06
JP2018129542A JP7182923B2 (ja) 2018-07-06 2018-07-06 情報検索システム

Publications (1)

Publication Number Publication Date
WO2020009027A1 true WO2020009027A1 (ja) 2020-01-09

Family

ID=69059725

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/025848 WO2020009027A1 (ja) 2018-07-06 2019-06-28 情報検索システム

Country Status (2)

Country Link
JP (1) JP7182923B2 (ja)
WO (1) WO2020009027A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111753198A (zh) * 2020-06-22 2020-10-09 北京百度网讯科技有限公司 信息推荐方法和装置、以及电子设备和可读存储介质

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7452090B2 (ja) 2020-02-26 2024-03-19 沖電気工業株式会社 処理システム、処理方法、管理者装置、及びプログラム
JP7475922B2 (ja) 2020-03-27 2024-04-30 株式会社東芝 知識情報作成支援装置
CN111522953B (zh) * 2020-04-24 2023-04-07 广州大学 一种针对朴素贝叶斯分类器的边际攻击方法、装置及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11250086A (ja) * 1998-03-03 1999-09-17 Hitachi Ltd 検索支援システム
WO2011024282A1 (ja) * 2009-08-27 2011-03-03 株式会社 東芝 情報検索装置
WO2014033855A1 (ja) * 2012-08-29 2014-03-06 株式会社日立製作所 音声検索装置、計算機読み取り可能な記憶媒体、及び音声検索方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11250086A (ja) * 1998-03-03 1999-09-17 Hitachi Ltd 検索支援システム
WO2011024282A1 (ja) * 2009-08-27 2011-03-03 株式会社 東芝 情報検索装置
WO2014033855A1 (ja) * 2012-08-29 2014-03-06 株式会社日立製作所 音声検索装置、計算機読み取り可能な記憶媒体、及び音声検索方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111753198A (zh) * 2020-06-22 2020-10-09 北京百度网讯科技有限公司 信息推荐方法和装置、以及电子设备和可读存储介质
CN111753198B (zh) * 2020-06-22 2024-01-12 北京百度网讯科技有限公司 信息推荐方法和装置、以及电子设备和可读存储介质

Also Published As

Publication number Publication date
JP7182923B2 (ja) 2022-12-05
JP2020009140A (ja) 2020-01-16

Similar Documents

Publication Publication Date Title
WO2020009027A1 (ja) 情報検索システム
CN109416816B (zh) 支持交流的人工智能***
WO2023029420A1 (zh) 一种电力用户诉求筛选方法、***、电子设备和存储介质
WO2020244073A1 (zh) 基于语音的用户分类方法、装置、计算机设备及存储介质
CN103339623B (zh) 涉及因特网搜索的方法和设备
CA3052174A1 (en) System and method for call centre management
CN109299245B (zh) 知识点召回的方法和装置
US20090234718A1 (en) Predictive service systems using emotion detection
US20160275444A1 (en) Procurement System
CN109992650A (zh) 用于在运行中提供个性化洞察的认知对话代理
CN112346567A (zh) 基于ai的虚拟交互模型生成方法、装置及计算机设备
WO2006085661A1 (ja) 質問応答データ編集装置、質問応答データ編集方法、質問応答データ編集プログラム
CN109726289A (zh) 事件检测方法及装置
KR101891498B1 (ko) 대화형 ai 에이전트 시스템에서 멀티 도메인 인텐트의 혼재성을 해소하는 멀티 도메인 서비스를 제공하는 방법, 컴퓨터 장치 및 컴퓨터 판독가능 기록 매체
CN109299227B (zh) 基于语音识别的信息查询方法和装置
JPH11161670A (ja) 情報フィルタリング方法、装置及びシステム
JP7267714B2 (ja) 知識情報作成支援装置
CN112163415A (zh) 针对反馈内容的用户意图识别方法、装置及电子设备
JP2829745B2 (ja) 文書検索装置
JP2009163358A (ja) 情報処理装置、情報処理方法、プログラムおよび音声チャットシステム
WO2023164312A1 (en) An apparatus for classifying candidates to postings and a method for its use
JP2020204711A (ja) 登録システム
WO2021193214A1 (ja) 知識情報作成支援装置
JP3260093B2 (ja) 情報フィルタ装置とデータベース再構築装置及び情報フィルタリング方法と初期化方法
CN112597295A (zh) 摘要提取方法、装置、计算机设备和存储介质

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19830213

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19830213

Country of ref document: EP

Kind code of ref document: A1