JP7009911B2 - Answer output program, answer output method and information processing device - Google Patents
Answer output program, answer output method and information processing device Download PDFInfo
- Publication number
- JP7009911B2 JP7009911B2 JP2017207623A JP2017207623A JP7009911B2 JP 7009911 B2 JP7009911 B2 JP 7009911B2 JP 2017207623 A JP2017207623 A JP 2017207623A JP 2017207623 A JP2017207623 A JP 2017207623A JP 7009911 B2 JP7009911 B2 JP 7009911B2
- Authority
- JP
- Japan
- Prior art keywords
- probability
- faq
- answer
- question
- answer candidates
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
Images
Description
本発明は、回答出力プログラム、回答出力方法および情報処理装置に関する。 The present invention relates to an answer output program, an answer output method, and an information processing apparatus.
近年、オペレータのスキル平準化や回答リードタイムの短縮化のため、FAQ(Frequently Asked Question)システムを導入するコールセンタが増えている。また、外部にFAQを公開して、コールセンタへの問い合わせ削減を図ることも行われている。 In recent years, an increasing number of call centers have introduced the FAQ (freak Asked Question) system in order to standardize operator skills and shorten response lead times. In addition, the FAQ is open to the outside to reduce the number of inquiries to the call center.
先行技術としては、例えば、複数の識別器各々の識別結果および真のクラスを2次学習データとして用いて、統合識別器の学習を行うものがある。また、追加素性情報候補が追加された新たな学習モデル情報の回答候補抽出の精度と、元の学習モデル情報の回答候補抽出の精度とを比較し、回答候補抽出の精度が所定値以上向上している場合には、新たな学習モデル情報をDBに保持させたままとする技術がある。また、第1の処理部による、第1の質問に対する第1の回答を取得し、第2の処理部による、第1の質問に対する回答および回答の評価を参照して得られた、第1の回答の評価を取得し、第1の回答と第1の回答の評価とを併せて提示する技術がある。また、問い合わせの対象を用いて行動履歴情報を検索する範囲を決定し、絞込みモデルを用いて、範囲内の行動履歴情報によって示される行動の履歴から、問い合わせの回答の候補ごとに可能性を判定し、この可能性に応じて回答の候補を出力する技術がある。 As the prior art, for example, there is a method in which the integrated classifier is trained by using the discrimination result of each of the plurality of classifiers and the true class as the secondary learning data. In addition, the accuracy of answer candidate extraction of new learning model information to which additional elemental information candidates have been added is compared with the accuracy of answer candidate extraction of the original learning model information, and the accuracy of answer candidate extraction is improved by a predetermined value or more. If so, there is a technique for keeping the new learning model information in the DB. In addition, the first answer obtained by the first processing unit for the first question was obtained, and the first answer was obtained by referring to the answer to the first question and the evaluation of the answer by the second processing unit. There is a technique for acquiring an evaluation of an answer and presenting the evaluation of the first answer and the evaluation of the first answer together. In addition, the range for searching the behavior history information is determined using the target of the inquiry, and the possibility is determined for each candidate for answering the inquiry from the behavior history indicated by the behavior history information within the range using the narrowing model. However, there is a technology to output candidate answers according to this possibility.
しかしながら、従来技術では、入力された質問に対して出力する回答候補を最適化することが難しい。例えば、FAQへのアクセス数の多い順や、入力されたキーワードや文章との類似度が高い順にFAQを並び替えただけでは、ユーザが期待する並びになっていないことがある。 However, in the prior art, it is difficult to optimize the answer candidates to be output for the input question. For example, simply sorting the FAQs in descending order of the number of access to the FAQs or in descending order of similarity with the entered keywords or sentences may not be the order expected by the user.
一つの側面では、本発明は、質問に対して出力する回答候補を最適化することを目的とする。 In one aspect, the present invention aims to optimize the answer candidates to be output for a question.
1つの実施態様では、質問の入力を受け付け、受け付けた前記質問に対応する複数の回答候補を特定し、前記質問に対する前記回答候補のうち選択操作を受け付けた1または複数の第1の回答候補と、前記質問に対する前記回答候補のうち選択操作を受け付けなかった1または複数の第2の回答候補とを記憶する記憶部の記憶内容に基づく機械学習を行って、特定した前記複数の回答候補それぞれについて、受け付けた前記質問に対して表示された際に選択される第1の確率と、受け付けた前記質問に対して表示された際に選択されない第2の確率とを算出し、算出した前記第1の確率と前記第2の確率とに基づいて、前記複数の回答候補のうち前記第2の確率が閾値以上の回答候補を除外した回答候補を、前記第1の確率が高い順にソートした1または複数の回答候補を、受け付けた前記質問に対する1または複数の回答候補に決定し、決定した前記1または複数の回答候補を出力し、前記質問に対する選択操作を受け付けた前記回答候補を示すログ情報を蓄積し、蓄積した前記ログ情報に基づいて、前記質問に対して表示される上位所定数の前記回答候補のいずれかが選択される確率を算出し、算出した前記確率の時系列変化に基づいて、前記閾値を調整し、前記調整する処理は、算出した前記確率の時系列変化に基づいて、前記確率が下降傾向にあると判断した場合、前記閾値を所定値下げる、回答出力プログラムが提供される。 In one embodiment, an input of a question is accepted, a plurality of answer candidates corresponding to the received question are specified, and one or a plurality of first answer candidates that have received a selection operation among the answer candidates for the question . , Each of the plurality of answer candidates identified by performing machine learning based on the stored contents of the storage unit that stores one or a plurality of second answer candidates that did not accept the selection operation among the answer candidates for the question. , The first probability calculated when displayed for the accepted question and the second probability not selected when displayed for the accepted question. Based on the probability of Multiple answer candidates are determined as one or more answer candidates for the received question, the determined one or more answer candidates are output , and log information indicating the answer candidate for which the selection operation for the question is accepted is output. Based on the accumulated log information, the probability that any of the upper predetermined number of answer candidates displayed for the question will be selected is calculated, and the calculated probability is based on the time-series change. , The process of adjusting the threshold is provided with a response output program that lowers the threshold by a predetermined value when it is determined that the probability is on a downward trend based on the calculated time-series change of the probability. To.
本発明の一側面によれば、質問に対して出力する回答候補を最適化することができる。 According to one aspect of the present invention, it is possible to optimize the answer candidates to be output to the question.
以下に図面を参照して、本発明にかかる回答出力プログラム、回答出力方法および情報処理装置の実施の形態を詳細に説明する。 Hereinafter, embodiments of the response output program, the response output method, and the information processing apparatus according to the present invention will be described in detail with reference to the drawings.
(実施の形態)
図1は、実施の形態にかかる回答出力方法の一実施例を示す説明図である。図1において、情報処理装置101は、質問に対応する回答候補を出力するコンピュータである。質問は、何らかの問題の解決方法を問いただすためのものである。質問は、例えば、商品やサービスについての質問である。質問は、単語または複数の単語の組み合わせによって表現されてもよいし、1または複数の文章によって表現されてもよい。
(Embodiment)
FIG. 1 is an explanatory diagram showing an embodiment of a response output method according to an embodiment. In FIG. 1, the
また、回答候補は、問題を解決するための情報である。すなわち、質問に対応する回答候補は、質問された問題の解決方法を示す回答の候補である。回答候補は、例えば、FAQである。FAQは、「頻繁に尋ねられる質問」の略であり、あらかじめ予想される質問に対して、質問と回答をまとめたものである。 In addition, the answer candidate is information for solving the problem. That is, the answer candidate corresponding to the question is the answer candidate indicating the solution method of the questioned problem. The answer candidate is, for example, FAQ. FAQ is an abbreviation for "Frequently Asked Questions" and is a collection of questions and answers to expected questions in advance.
ここで、コールセンタやサポートセンタでは、オペレータのスキル平準化や回答リードタイムの短縮化のため、FAQシステムが導入されていることが多い。FAQシステムを適切に運用すると、一次回答率や顧客満足度の向上につながるため、コールセンタ等においてFAQシステムは重要な位置付けにある。 Here, in call centers and support centers, FAQ systems are often introduced in order to level the skills of operators and shorten the response lead time. Proper operation of the FAQ system leads to improvements in the primary response rate and customer satisfaction, so the FAQ system is in an important position in call centers and the like.
また、企業の中には、インターネット上に自社のFAQを公開しているところもある。社外にFAQサイトを公開することで、顧客自身がFAQを閲覧できるようになるため、顧客の利便性の向上やコールセンタ等への問い合わせの削減が期待できる。 In addition, some companies publish their FAQs on the Internet. By disclosing the FAQ site outside the company, customers can browse the FAQ themselves, which can be expected to improve customer convenience and reduce inquiries to call centers and the like.
一方で、FAQの内容は陳腐化しやすいため、定期的な見直しを行うことが望ましいが、FAQの見直しにかかる運用負荷は大きい。例えば、FAQマスタに登録されるFAQの数は、数千~数万個程度となることもあり、それらFAQの内容を短期間に人手で見直すのは非常に負荷がかかる。 On the other hand, since the contents of the FAQ tend to become obsolete, it is desirable to review it regularly, but the operational load required for reviewing the FAQ is heavy. For example, the number of FAQs registered in the FAQ master may be several thousand to tens of thousands, and it is extremely burdensome to manually review the contents of those FAQs in a short period of time.
したがって、質問に対して、現状のFAQの中からより適切なFAQを厳選して提示することは重要である。しかし、FAQへのアクセス数の多い順や、入力されたキーワードや文章との類似度が高い順にFAQを並び替えただけでは、利用者が期待する並びになっていない、すなわち、利用者が知りたいFAQが上位に表示されないことが多い。 Therefore, it is important to carefully select and present a more appropriate FAQ from the current FAQs for questions. However, simply sorting the FAQs in descending order of the number of access to the FAQs or in descending order of similarity to the entered keywords or sentences does not meet the user's expectations, that is, the user wants to know. FAQs are often not displayed at the top.
また、チャットボットのようなサービスでは、入力された質問に対して一度に表示する検索結果(FAQ)の数は少なく、より検索精度の高いFAQの絞り込みや並び替えが求められる。例えば、コールセンタのオペレータが使用するFAQシステムや、社外に公開されるFAQサイトの場合、一度に表示する検索結果の数は30個程度である。これに対して、チャットボットの場合、一度に表示する検索結果の数は5個程度である。 Further, in a service such as a chatbot, the number of search results (FAQs) displayed at one time for an input question is small, and it is required to narrow down and sort FAQs with higher search accuracy. For example, in the case of an FAQ system used by a call center operator or an FAQ site published outside the company, the number of search results displayed at one time is about 30. On the other hand, in the case of a chatbot, the number of search results displayed at one time is about five.
そこで、本実施の形態では、質問に対して出力する回答候補を最適化する回答出力方法について説明する。以下、情報処理装置101の処理例について説明する。
Therefore, in the present embodiment, an answer output method for optimizing the answer candidates to be output for the question will be described. Hereinafter, a processing example of the
(1)情報処理装置101は、質問の入力を受け付ける。入力される質問は、単語または複数の単語の組み合わせであってもよいし、1または複数の文章であってもよい。質問を入力するユーザは、例えば、コールセンタ等のオペレータや、FAQサイトを利用する利用者である。図1の例では、質問「XXX」の入力を受け付けた場合を想定する。
(1) The
(2)情報処理装置101は、受け付けた質問に対応する複数の回答候補を特定する。回答候補は、例えば、FAQである。質問に対応する回答候補は、例えば、FAQシステムやFAQサイトにおいて採用されている既存の検索アルゴリズムを用いて検索される、質問に対する検索結果(FAQ)である。
(2) The
具体的には、例えば、情報処理装置101は、受け付けた質問を形態素解析して形態素に分解する。つぎに、情報処理装置101は、FAQマスタ(例えば、後述の図2に示すFAQマスタ220)から、所定の検索条件にしたがって、分解した形態素に対応するFAQを検索する。そして、情報処理装置101は、検索した検索結果(FAQ)を、受け付けた質問に対応する複数の回答候補として特定する。
Specifically, for example, the
図1の例では、受け付けた質問「XXX」に対応する複数の回答候補として、回答候補1~10が特定された場合を想定する。なお、情報処理装置101は、受け付けた質問に対応する複数の回答候補を、他のコンピュータから取得することにしてもよい。
In the example of FIG. 1, it is assumed that
(3)情報処理装置101は、記憶部110を参照して、特定した複数の回答候補の中から、受け付けた質問に対する1または複数の回答候補を決定する。具体的には、例えば、情報処理装置101は、記憶部110の記憶内容に基づく機械学習を行って、複数の回答候補の中から、質問に対する1または複数の回答候補を決定する。
(3) The
ここで、機械学習とは、コンピュータが、データから学習して、パターンや傾向を導き出し、将来予測や意思決定を可能にすることである。記憶部110は、質問に対する選択操作を受け付けた1または複数の第1の回答候補と、質問に対する選択操作を受け付けなかった1または複数の第2の回答候補とを記憶する。すなわち、記憶部110は、機械学習に用いる教師データを記憶する。
Here, machine learning means that a computer learns from data to derive patterns and trends, and enables future prediction and decision making. The
より詳細に説明すると、記憶部110は、質問に対する選択操作を受け付けた第1の回答候補を当該質問に対応付けた教師データ(よゐこ)を記憶する。また、記憶部110は、質問に対する選択操作を受け付けなかった第2の回答候補を当該質問に対応付けた教師データ(わるいこ)を記憶する。
More specifically, the
第1の回答候補は、例えば、質問に対する上位N件の回答候補のうち選択操作を受け付けた回答候補であってもよい。また、第2の回答候補は、例えば、質問に対する上位N件の回答候補のうち選択操作を受け付けなかった回答候補であってもよい。 The first answer candidate may be, for example, an answer candidate that has accepted a selection operation from among the top N answer candidates for a question. Further, the second answer candidate may be, for example, an answer candidate that does not accept the selection operation among the top N answer candidates for the question.
所定数Nは、任意に設定可能である。所定数Nは、例えば、質問に対する回答候補を表示する画面の1ページ目に表示される回答候補の上限数に設定される。FAQシステムやFAQサイトでは、所定数Nは、30程度の値に設定される。チャットボットでは、所定数Nは、5程度の値に設定される。 The predetermined number N can be arbitrarily set. The predetermined number N is set to, for example, the upper limit number of answer candidates displayed on the first page of the screen for displaying the answer candidates for the question. In the FAQ system and FAQ site, the predetermined number N is set to a value of about 30. In the chatbot, the predetermined number N is set to a value of about 5.
すなわち、第1の回答候補は、ユーザからの質問に対する検索結果の1ページ目に表示され、かつ、ユーザによって照会(選択)された回答候補である。一方、第2の回答候補は、ユーザからの質問に対する検索結果の1ページ目に表示されたにもかかわらず、ユーザによって照会(選択)されなかった回答候補である。 That is, the first answer candidate is an answer candidate displayed on the first page of the search result for the question from the user and inquired (selected) by the user. On the other hand, the second answer candidate is an answer candidate that is displayed on the first page of the search result for the question from the user but is not inquired (selected) by the user.
第1の回答候補を質問に対応付けた教師データを用いて機械学習することで、1ページ目に表示された際に選択される可能性が高い回答候補の特徴を導き出す。また、第2の回答候補を質問に対応付けた教師データを用いて機械学習することで、1ページ目に表示されても選択されない可能性が高い回答候補の特徴を導き出す。 By machine learning the first answer candidate using the teacher data associated with the question, the characteristics of the answer candidate that are likely to be selected when displayed on the first page are derived. Further, by machine learning the second answer candidate using the teacher data associated with the question, the characteristics of the answer candidate that are likely not to be selected even if they are displayed on the first page are derived.
図1の例では、質問「XXX」に対応する回答候補1~10のうち、回答候補1~5が、1ページ目に表示された際に選択される可能性が高い回答候補として特定されたとする。また、回答候補2,5が、1ページ目に表示されても選択されない可能性が高い回答候補として特定されたとする。この場合、情報処理装置101は、例えば、回答候補1~5から回答候補2,5を除いた回答候補1,3,4を、質問「XXX」に対する回答候補に決定する。
In the example of FIG. 1, among the
(4)情報処理装置101は、決定した1または複数の回答候補を出力する。図1の例では、情報処理装置101は、受け付けた質問「XXX」に対する回答候補として、決定した回答候補1,3,4を出力する。この際、情報処理装置101は、例えば、回答候補1,3,4を、1ページ目に表示された際に選択される可能性が高い順にソートして出力することにしてもよい。
(4) The
このように、情報処理装置101によれば、過去のユーザの操作履歴をもとに、質問に対して表示された際に選択(照会)される可能性の高さと、質問に対して表示された際に選択(照会)されない可能性の高さという異なる2つの観点から、質問との関連性の強い回答候補と、質問との関連性が弱い回答候補とを特定することができる。例えば、質問に対して表示された際に選択(照会)される可能性が高ければ、質問との関連性が強く、問題解決につながる可能性が高い回答候補といえる。一方、質問に対して表示された際に選択(照会)されない可能性が高ければ、質問との関連性が弱く、問題解決につながる可能性が低い回答候補といえる。これにより、質問に対して表示された際に照会されて問題解決につながるような回答候補を精度よく絞り込んで、質問に対して出力する回答候補を最適化することができる。
In this way, according to the
(回答出力システム200のシステム構成例)
つぎに、図1に示した情報処理装置101を含む回答出力システム200のシステム構成例について説明する。回答出力システム200は、例えば、コールセンタ等のFAQシステムに適用されてもよく、また、インターネット上に公開されるFAQサイトに適用されてもよい。
(System configuration example of answer output system 200)
Next, a system configuration example of the
図2は、回答出力システム200のシステム構成例を示す説明図である。図2において、回答出力システム200は、情報処理装置101と、複数の端末201(図2の例では、3台)と、を含む。回答出力システム200において、情報処理装置101および複数の端末201は、有線または無線のネットワーク210を介して接続される。ネットワーク210は、例えば、LAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどである。
FIG. 2 is an explanatory diagram showing a system configuration example of the
ここで、情報処理装置101は、質問に対応する回答候補を出力する。以下の説明では、回答候補として「FAQ」を例に挙げて説明する場合がある。また、情報処理装置101は、FAQマスタ220、アクセスログDB(Database)230、教師データ(よゐこ)DB240、教師データ(わるいこ)DB250および教師データ(まいご)DB260を有する。情報処理装置101は、例えば、サーバである。
Here, the
なお、各種DB220,230,240,250,260等の記憶内容については、図4~図8を用いて後述する。
The stored contents of
端末201は、回答出力システム200のユーザが使用するコンピュータである。回答出力システム200のユーザは、例えば、コールセンタのオペレータや、FAQサイトの利用者である。端末201は、例えば、PC(Personal Computer)、スマートフォン、タブレット型PCなどである。
The terminal 201 is a computer used by the user of the
(情報処理装置101のハードウェア構成例)
図3は、情報処理装置101のハードウェア構成例を示すブロック図である。図3において、情報処理装置101は、CPU(Central Processing Unit)301と、メモリ302と、I/F(Interface)303と、ディスクドライブ304と、ディスク305と、を有する。また、各構成部は、バス300によってそれぞれ接続される。
(Hardware configuration example of information processing device 101)
FIG. 3 is a block diagram showing a hardware configuration example of the
ここで、CPU301は、情報処理装置101の全体の制御を司る。メモリ302は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)およびフラッシュROMなどを有する。具体的には、例えば、フラッシュROMがOS(Operating System)のプログラムを記憶し、ROMがアプリケーションプログラムを記憶し、RAMがCPU301のワークエリアとして使用される。メモリ302に記憶されるプログラムは、CPU301にロードされることで、コーディングされている処理をCPU301に実行させる。
Here, the
I/F303は、通信回線を通じてネットワーク210に接続され、ネットワーク210を介して外部のコンピュータ(例えば、図2に示した端末201)に接続される。そして、I/F303は、ネットワーク210と装置内部とのインターフェースを司り、外部のコンピュータからのデータの入出力を制御する。I/F303には、例えば、モデムやLANアダプタなどを採用することができる。
The I /
ディスクドライブ304は、CPU301の制御に従ってディスク305に対するデータのリード/ライトを制御する。ディスク305は、ディスクドライブ304の制御で書き込まれたデータを記憶する。ディスク305としては、例えば、磁気ディスク、光ディスクなどが挙げられる。
The
なお、情報処理装置101は、上述した構成部のほかに、例えば、SSD(Solid State Drive)、入力装置、ディスプレイ等を有することにしてもよい。また、図2に示した端末201についても、情報処理装置101と同様のハードウェア構成により実現することができる。ただし、端末201は、上述した構成部のほかに、入力装置、ディスプレイ等を有する。
In addition to the above-mentioned components, the
(各種DB220,230,240,250,260等の記憶内容)
つぎに、図4~図8を用いて、情報処理装置101が有する各種DB220,230,240,250,260等の記憶内容について説明する。
(Memory contents of
Next, the stored contents of
図4は、FAQマスタ220の記憶内容の一例を示す説明図である。図4において、FAQマスタ220は、FAQ番号、質問および回答のフィールドを有し、各フィールドに情報を設定することで、FAQ(例えば、FAQ400-1,400-2)をレコードとして記憶する。
FIG. 4 is an explanatory diagram showing an example of the stored contents of the
ここで、FAQ番号は、FAQを一意に識別する識別子である。FAQ400-#の「#」は、FAQ番号に対応する。質問は、あらかじめ予想される質問である。回答は、あらかじめ予想される質問に対する回答である。例えば、FAQ400-1は、質問「PCを初期状態に戻す方法を教えてください。」と、回答「トラブルが発生し正常に動作しなくなった場合などに、リカバリする方法は、次のとおりです。・・・」と、をまとめたものである。 Here, the FAQ number is an identifier that uniquely identifies the FAQ. "#" In FAQ400- # corresponds to the FAQ number. The question is a question that is expected in advance. The answer is an answer to a question that is expected in advance. For example, FAQ400-1 asks the question "Please tell me how to return the PC to the initial state." And the answer "If a problem occurs and the PC does not operate normally, the recovery method is as follows. ... ", is a summary.
図5は、アクセスログDB230の記憶内容の一例を示す説明図である。図5において、アクセスログDB230は、セッション番号、日時、タイプ、検索ワード、照会FAQ、順位および検索リストのフィールドを有する。各フィールドに情報を設定することで、アクセスログ、例えば、アクセスログ500-1~500-3がレコードとして記憶される。
FIG. 5 is an explanatory diagram showing an example of the stored contents of the
ここで、セッション番号は、情報処理装置101と端末201とのセッションを一意に識別する識別子である。セッションは、2点間(装置間)の通信において、情報をやり取りするために設定する論理的な接続関係である。日時は、端末201において操作が行われた日時である。
Here, the session number is an identifier that uniquely identifies the session between the
タイプは、端末201において行われた操作のタイプである。タイプとしては、例えば、検索、照会などが挙げられる。タイプ「検索」は、検索ワードに対応するFAQを検索する操作を表す。タイプ「照会」は、検索ワードに対するFAQを選択する操作、すなわち、FAQの内容を照会する操作を表す。 The type is the type of operation performed at the terminal 201. Types include, for example, search, query, and the like. The type "search" represents an operation to search for the FAQ corresponding to the search word. The type "query" represents an operation of selecting an FAQ for a search word, that is, an operation of querying the contents of the FAQ.
検索ワードは、端末201において入力される質問に相当する。検索ワードは、単語または複数の単語の組み合わせであってもよいし、1または複数の文章であってもよい。照会FAQは、検索ワードに対する選択操作を受け付けたFAQ、すなわち、照会されたFAQのFAQ番号である。
The search word corresponds to a question input in the
順位は、検索ワードに対してFAQが表示された際に、当該FAQが上から何番目に表示されるかを示す順位である。検索リストは、検索ワードに基づきFAQマスタ220(例えば、図4参照)から検索されたFAQのFAQ番号をリスト化したものである。 The ranking is a ranking indicating the order in which the FAQ is displayed from the top when the FAQ is displayed for the search word. The search list is a list of FAQ numbers of FAQs searched from the FAQ master 220 (see, for example, FIG. 4) based on the search word.
図6は、教師データ(よゐこ)DB240の記憶内容の一例を示す説明図である。図6において、教師データ(よゐこ)DB240は、日時、照会FAQおよび形態素解析後検索ワードのフィールドを有する。各フィールドに情報を設定することで、教師データ(よゐこ)、例えば、教師データ(よゐこ)600-1,600-2がレコードとして記憶される。
FIG. 6 is an explanatory diagram showing an example of the stored contents of the teacher data (Yoiko)
ここで、日時は、照会FAQが照会された日時である。照会FAQは、検索ワードに対して1ページ目に表示された際に選択操作を受け付けたFAQ、すなわち、照会されたFAQのFAQ番号である。1ページ目に表示されるFAQは、検索ワードに対するFAQのうち上位N件のFAQである。形態素解析後検索ワードは、照会FAQが照会されたときの検索ワードを形態素解析して検出された1または複数の形態素である。 Here, the date and time is the date and time when the inquiry FAQ is inquired. The inquiry FAQ is a FAQ that has received a selection operation when it is displayed on the first page of the search word, that is, the FAQ number of the inquired FAQ. The FAQ displayed on the first page is the top N FAQs among the FAQs for the search word. The search word after morphological analysis is one or more morphemes detected by morphological analysis of the search word when the inquiry FAQ is queried.
図7は、教師データ(わるいこ)DB250の記憶内容の一例を示す説明図である。図7において、教師データ(わるいこ)DB250は、日時、非照会FAQおよび形態素解析後検索ワードのフィールドを有する。各フィールドに情報を設定することで、教師データ(わるいこ)、例えば、教師データ(わるいこ)700-1~700-3がレコードとして記憶される。
FIG. 7 is an explanatory diagram showing an example of the stored contents of the teacher data (wariko)
ここで、日時は、非照会FAQが照会されなかった日時、例えば、非照会FAQが照会されずに情報処理装置101と端末201とのセッションが切断された日時である。非照会FAQは、検索ワードに対して1ページ目に表示された際に選択操作を受け付けなかったFAQ、すなわち、照会されなかったFAQのFAQ番号である。形態素解析後検索ワードは、非照会FAQが照会されなかったときの検索ワードを形態素解析して検出された1または複数の形態素である。
Here, the date and time is the date and time when the non-inquiry FAQ was not inquired, for example, the date and time when the session between the
図8は、教師データ(まいご)DB260の記憶内容の一例を示す説明図である。図8において、教師データ(まいご)DB260は、日時、代替ワードおよび検索ワードのフィールドを有する。各フィールドに情報を設定することで、教師データ(まいご)、例えば、教師データ(まいご)800-1がレコードとして記憶される。
FIG. 8 is an explanatory diagram showing an example of the stored contents of the teacher data (maigo)
ここで、日時は、検索ワードに対してFAQマスタ220から1件もFAQが検索されなかった日時、例えば、当該検索ワードに対応するFAQを検索する操作が行われた日時である。代替ワードは、1件もFAQが表示されなかった検索ワードに後続して入力を受け付けた他の検索ワードであって、当該他の検索ワードに対して1ページ目に表示されたいずれかのFAQが選択された検索ワードである。検索ワードは、FAQマスタ220から1件もFAQが検索されなかった質問である。検索ワードは、例えば、検索ワードを形態素解析して検出された1または複数の形態素によって表現されてもよい。
Here, the date and time is the date and time when no FAQ was searched for the search word from the
(FAQ画面900の画面例)
つぎに、端末201に表示されるFAQ画面900の画面例について説明する。以下の説明では、端末201に表示される操作画面のボックス、ボタン等をユーザが選択する操作として、不図示の入力装置を用いたクリック操作を行う場合を例に挙げて説明する。
(Screen example of FAQ screen 900)
Next, a screen example of the
図9は、FAQ画面900の画面例を示す説明図である。図9において、FAQ画面900は、FAQを検索したり、FAQを照会したりする操作画面の一例である。FAQ画面900において、ボックス901をクリックすると、検索ワードを入力することができる。図9の例では、検索ワード「FJ10 初期化」が入力されている。
FIG. 9 is an explanatory diagram showing a screen example of the
また、FAQ画面900において、ボタン902をクリックすると、ボックス901に入力された検索ワードに対応するFAQを検索することができる。具体的には、ボタン902をクリックすると、ボックス901に入力された検索ワードが、端末201から情報処理装置101に送信される。
Further, by clicking the
この結果、情報処理装置101から端末201に検索ワードに対する検索結果が送信され、検索されたFAQが表示エリア910にリスト化されて表示される。この際、上位N件のFAQは、1ページ目に表示される。それ以外のFAQは、2ページ以降に表示される。Nは、任意に設定可能であり、5~30程度の値に設定される。ここでは、Nは「N=5」である。
As a result, the search result for the search word is transmitted from the
図9の例では、検索ワード「FJ10 初期化」に対応するFAQが検索された結果、上位5件のFAQ911~915が、1ページ目の検索結果として表示エリア910に表示されている。なお、FAQ画面900において、ボタン903をクリックすると、2ページ目の検索結果を表示することができる。
In the example of FIG. 9, as a result of searching the FAQ corresponding to the search word "FJ10 initialization", the top five
また、FAQ画面900において、表示エリア910に表示されたいずれかのFAQをクリックすると、当該FAQの内容を照会することができる。例えば、FAQ911をクリックすると、FAQ911の内容(質問と回答)を照会することができる。また、表示エリア910に表示されたいずれかのFAQがクリックされると、当該FAQが選択されたことを示す選択結果が、端末201から情報処理装置101に送信される。
Further, by clicking any FAQ displayed in the
(情報処理装置101の機能的構成例)
図10は、情報処理装置101の機能的構成例を示すブロック図である。図10において、情報処理装置101は、受付部1001と、検索部1002と、決定部1003と、出力制御部1004と、生成部1005と、判定部1006と、特定部1007と、記憶部1010と、を含む。受付部1001~特定部1007は制御部となる機能であり、具体的には、例えば、図3に示したメモリ302、ディスク305などの記憶装置に記憶されたプログラムをCPU301に実行させることにより、または、I/F303により、その機能を実現する。各機能部の処理結果は、例えば、メモリ302、ディスク305などの記憶装置に記憶される。
(Example of functional configuration of information processing device 101)
FIG. 10 is a block diagram showing a functional configuration example of the
また、記憶部1010は、メモリ302、ディスク305などの記憶装置により実現される。例えば、記憶部1010は、各種DB220,230,240,250,260,1900(後述の図19参照)等を記憶する。なお、記憶部1010は、情報処理装置101とは異なる他のコンピュータが有することにしてもよい。この場合、情報処理装置101は、他のコンピュータにアクセスして、記憶部1010の記憶内容を参照することができる。
Further, the
受付部1001は、質問の入力を受け付ける。質問は、何らかの問題の解決方法を問いただすための検索ワードであり、単語または複数の単語の組み合わせであってもよいし、1または複数の文章であってもよい。質問の入力は、例えば、図9に示したFAQ画面900において行われる。具体的には、例えば、受付部1001は、端末201から、FAQ画面900に入力された検索ワードを受信することにより、検索ワードの入力を受け付ける。以下の説明では、質問を「検索ワード」と表記する場合がある。
The
検索部1002は、検索ワードに対応するFAQを検索する。具体的には、例えば、検索部1002は、検索ワードを形態素解析して形態素に分解する。つぎに、検索部1002は、図4に示したFAQマスタ220から、所定の検索条件にしたがって、分解した形態素に対応するFAQを検索する。
The
より詳細に説明すると、例えば、検索部1002は、検索ワードを形態素解析して検出された形態素についてのAND条件またはOR条件を設定して、FAQマスタ220からFAQを検索してもよい。この際、検索部1002は、例えば、各FAQの過去のアクセス数(照会数)や検索ワードとの類似度を考慮して、アクセス数が多いFAQや類似度が高いFAQを検索することにしてもよい。
More specifically, for example, the
これにより、検索ワードに対応するFAQを特定することができる。検索結果は、例えば、タイプ「検索」のアクセスログとして、図5に示したアクセスログDB230に記憶される。具体的には、アクセスログのセッション番号には、検索ワードを受け付けた端末201と情報処理装置101とのセッションのセッション番号が設定される。アクセスログの日時には、検索ワードを受け付けた日時が設定される。アクセスログの検索ワードには、受け付けた検索ワードが設定される。アクセスログの照会FAQおよび順位は「空白」である。アクセスログの検索リストには、検索されたFAQのFAQ番号が設定される。ただし、検索ワードに対応するFAQが1件も検索されなかった場合、アクセスログの検索リストには「-(null)」が設定される。
Thereby, the FAQ corresponding to the search word can be specified. The search result is stored in the
決定部1003は、教師データ(よゐこ)と教師データ(わるいこ)とを記憶する記憶部1010の記憶内容に基づく機械学習を行って、検索された複数のFAQの中から、検索ワードに対する1または複数のFAQを決定する。ここで、教師データ(よゐこ)は、質問に対する選択操作を受け付けたFAQを当該質問に対応付けた情報である。教師データ(わるいこ)は、質問に対する選択操作を受け付けなかったFAQを当該質問に対応付けた情報である。
The
具体的には、例えば、決定部1003は、図6に示した教師データ(よゐこ)DB240を参照して、ナイーブベイズ分類器による機械学習を行って、検索された複数のFAQそれぞれについて、第1の確率を算出する。第1の確率は、入力を受け付けた検索ワードに対してFAQが表示された際に、当該FAQが選択される確率である。
Specifically, for example, the
これにより、検索された複数のFAQそれぞれが、1ページ目に表示された際に照会される可能性の高さを判断する指標値、換言すれば、検索ワードとの関連性の強さを表す指標値を得ることができる。 As a result, each of the plurality of searched FAQs indicates an index value for determining the high possibility of being inquired when displayed on the first page, in other words, the strength of relevance to the search word. The index value can be obtained.
また、決定部1003は、図7に示した教師データ(わるいこ)DB250を参照して、ナイーブベイズ分類器による機械学習を行って、検索された複数のFAQそれぞれについて、第2の確率を算出する。第2の確率は、入力を受け付けた検索ワードに対してFAQが表示された際に、当該FAQが選択されない確率である。
Further, the
これにより、検索された複数のFAQそれぞれが、1ページ目に表示された際に照会されない可能性の高さを判断する指標値、換言すれば、検索ワードとの関連性の弱さを表す指標値を得ることができる。 As a result, each of the plurality of searched FAQs is an index value that determines the high possibility that the FAQ will not be inquired when displayed on the first page, in other words, an index that indicates the weakness of the relevance to the search word. You can get the value.
そして、決定部1003は、検索された複数のFAQそれぞれについて算出した第1の確率と第2の確率とに基づいて、検索された複数のFAQの中から、検索ワードに対する1または複数のFAQを決定する。これにより、第1の確率および第2の確率の両方を考慮して、検索ワードに対して表示するFAQを絞り込むことができる。
Then, the
より詳細に説明すると、例えば、決定部1003は、検索された複数のFAQのうち第2の確率が閾値α以上のFAQを除外したFAQを、第1の確率が高い順にソートした1または複数のFAQを、検索ワードに対する1または複数のFAQに決定する。閾値αは、任意に設定可能である。閾値αは、例えば、単位を[%]とすると、80程度の値に設定される。
More specifically, for example, the
また、例えば、決定部1003は、第1の確率が高い上位N件のFAQを選択し、選択したFAQのうち第2の確率が閾値α以上のFAQを、検索ワードに対する1または複数のFAQに決定することにしてもよい。すなわち、決定部1003は、第1の確率が高い上位N件のFAQを絞り込んだ上で、第2の確率が閾値α以上のFAQを除外する。
Further, for example, the
なお、第1および第2の確率を算出する具体的な処理内容については、図15を用いて後述する。また、検索ワードに対するFAQの決定例については、図16を用いて後述する。 The specific processing contents for calculating the first and second probabilities will be described later with reference to FIG. Further, an example of determining the FAQ for the search word will be described later with reference to FIG.
出力制御部1004は、検索ワードに対する1または複数のFAQを出力する。具体的には、例えば、出力制御部1004は、検索ワードに対して、決定された1または複数のFAQを出力する。各FAQには、各FAQの順位(表示順序)を特定可能な情報が付与される。より詳細に説明すると、例えば、出力制御部1004は、端末201に対して、決定された1または複数のFAQを送信することにより、FAQ画面900の表示エリア910に、受け付けた検索ワードに対する1または複数のFAQを表示する制御を行う。
The
また、受付部1001は、検索ワードに対するFAQの選択操作を受け付ける。FAQの選択操作は、FAQの内容を照会するための操作であり、例えば、図9に示したFAQ画面900において行われる。具体的には、例えば、受付部1001は、端末201から、FAQ画面900において選択(クリック)されたFAQを示す選択結果を受信することにより、当該FAQの選択操作を受け付ける。
Further, the
FAQの選択操作を受け付けた場合、タイプ「照会」のアクセスログがアクセスログDB230に記憶される。具体的には、アクセスログのセッション番号には、検索ワードを受け付けた端末201と情報処理装置101とのセッションのセッション番号が設定される。アクセスログの日時には、FAQの選択操作を受け付けた日時が設定される。アクセスログの検索ワードには、受け付けた検索ワードが設定される。アクセスログの照会FAQには、選択操作を受け付けたFAQのFAQ番号が設定される。アクセスログの順位には、選択操作を受け付けたFAQの順位が設定される。アクセスログの検索リストは「空白」である。これにより、検索ワードに対して表示された際に選択操作を受け付けたFAQを示すアクセスログを蓄積することができる。
When the FAQ selection operation is accepted, the access log of type "inquiry" is stored in the
生成部1005は、教師データ(よゐこ)を生成する。また、生成部1005は、教師データ(わるいこ)を生成する。また、生成部1005は、教師データ(まいご)を生成する。ここで、教師データ(まいご)は、検索ワードに対応するFAQがないときに後続して入力を受け付けた他の検索ワードを、当該検索ワードに対応付けた情報である。ただし、他の検索ワードは、例えば、他の検索ワードに対して1ページ目に表示されたいずれかのFAQが選択された検索ワードである。
The
具体的には、例えば、生成部1005は、アクセスログDB230から、セッション番号が同一のアクセスログを取得する。つぎに、生成部1005は、取得したアクセスログの日時に基づいて、取得したアクセスログを時系列にソートする。そして、生成部1005は、取得したアクセスログの中に、タイプ「照会」のアクセスログがあるか否かを判断する。
Specifically, for example, the
ここで、タイプ「照会」のアクセスログがある場合、生成部1005は、当該アクセスログから特定される照会FAQの順位に基づいて、照会FAQが、1ページ目に表示されたFAQ、すなわち、上位N件のFAQであるか否かを判断する。ここで、1ページ目に表示されたFAQである場合、タイプ「照会」のアクセスログから特定される照会FAQと形態素解析後検索ワードとを対応付けて表す教師データ(よゐこ)を生成する。形態素解析後検索ワードは、タイプ「照会」のアクセスログから特定される検索ワードを形態素解析して検出される1または複数の形態素である。
Here, if there is an access log of type "inquiry", the
また、生成部1005は、タイプ「検索」のアクセスログの検索リストを参照して、検索ワードに対して表示された際に照会されなかったFAQ、すなわち、検索ワードに対する選択操作を受け付けなかったFAQがあるか否かを判断する。ここで、照会されなかったFAQがある場合、生成部1005は、照会されなかったFAQを非照会FAQとする教師データ(わるいこ)を生成する。教師データ(わるいこ)の形態素解析後検索ワードは、例えば、タイプ「照会」のアクセスログから特定される検索ワードから得られる。
Further, the
また、生成部1005は、タイプ「検索」のアクセスログの検索リストを参照して、FAQが1件も検索されなかった検索ワードがあるか否かを判断する。ここで、FAQが1件も検索されなかった検索ワードがある場合、生成部1005は、取得したアクセスログの日時に基づいて、当該検索ワードに後続して入力を受け付けた他の検索ワードがあるか否かを判断する。ただし、他の検索ワードは、当該他の検索ワードに対して1ページ目に表示されたいずれかのFAQが照会(選択)された検索ワードである。ここで、他の検索ワードがある場合、生成部1005は、他の検索ワードを代替ワードとする教師データ(まいご)を生成する。教師データ(まいご)の形態素解析後検索ワードは、例えば、他の検索ワードを形態素解析して検出される1または複数の形態素である。
Further, the
生成された教師データ(よゐこ)は、例えば、図6に示した教師データ(よゐこ)DB240に記憶される。生成された教師データ(わるいこ)は、例えば、図7に示した教師データ(わるいこ)DB250に記憶される。生成された教師データ(まいご)は、例えば、図8に示した教師データ(まいご)DB260に記憶される。
The generated teacher data (Yoiko) is stored in, for example, the teacher data (Yoiko)
教師データ(よゐこ)、教師データ(わるいこ)および教師データ(まいご)の生成例については、図11~図14を用いて後述する。 Examples of generation of teacher data (yoiko), teacher data (wariko), and teacher data (maigo) will be described later with reference to FIGS. 11 to 14.
なお、教師データ(よゐこ)と教師データ(わるいこ)とが蓄積されていない場合、情報処理装置101は、上述した第1および第2の確率を用いたFAQの絞り込みを行うことができない。このため、運用開始からある程度の期間は、情報処理装置101は、検索ワードに対して、検索されたFAQを出力することにしてもよい。この際、情報処理装置101は、例えば、検索された複数のFAQを、過去のアクセス数(照会数)が多い順にソートして出力することにしてもよい。より詳細に説明すると、例えば、出力制御部1004は、端末201に対して、検索されたFAQを送信することにより、FAQ画面900の表示エリア910に、受け付けた検索ワードに対するFAQを表示する制御を行う。これにより、教師データ(よゐこ)と教師データ(わるいこ)とを蓄積することができる。
If the teacher data (yoiko) and the teacher data (wariko) are not accumulated, the
また、決定部1003は、検索ワードに対する選択操作を受け付けたFAQを示すアクセスログに基づいて、閾値αを調整することにしてもよい。具体的には、例えば、決定部1003は、アクセスログDB230内のタイプ「照会」のアクセスログに基づいて、検索ワードに対する上位N件のFAQ、すなわち、1ページ目に表示されるFAQのいずれかが選択される確率を算出する。
Further, the
以下の説明では、1ページ目に表示されるFAQのいずれかが選択される確率を「1ページ目ヒット率」と表記することがある。 In the following description, the probability that any of the FAQs displayed on the first page will be selected may be referred to as "first page hit rate".
1ページ目ヒット率の算出は、例えば、所定期間ごとに行う。所定期間は、任意に設定可能であり、例えば、数週間~数ヶ月程度の期間に設定される。この際、決定部1003は、例えば、直近所定期間分のアクセスログに基づいて、1ページ目ヒット率を算出する。これにより、直近のアクセス傾向が反映された1ページ目ヒット率を算出することができる。
The hit rate for the first page is calculated, for example, at predetermined intervals. The predetermined period can be arbitrarily set, and is set to, for example, a period of several weeks to several months. At this time, the
そして、決定部1003は、算出した1ページ目ヒット率の時系列変化に基づいて、閾値αを調整する。より詳細に説明すると、例えば、決定部1003は、1ページ目ヒット率が下降傾向にある場合に、閾値αを下げる。閾値αの下げ分は、任意に設定可能であり、例えば、単位を[%]とすると、1程度の値に設定される。
Then, the
閾値αの調整例については、図17および図18を用いて後述する。 An example of adjusting the threshold value α will be described later with reference to FIGS. 17 and 18.
判定部1006は、検索ワードに対応するFAQの有無を判定する。具体的には、例えば、判定部1006は、FAQマスタ220から検索ワードに対応するFAQが1件も検索されなかった場合、いわゆる、0件ヒットの場合に、検索ワードに対応するFAQがないと判定する。
The
また、判定部1006は、決定部1003によって検索ワードに対するFAQが1件も決定されなかった場合に、検索ワードに対応するFAQがないと判定することにしてもよい。より詳細に説明すると、例えば、判定部1006は、上述した第1および第2の確率を用いたFAQの絞り込みを行った結果、FAQが1件も残らなかった場合に、検索ワードに対応するFAQがないと判定することにしてもよい。
Further, the
特定部1007は、検索ワードに対応するFAQがないと判定された場合、教師データ(まいご)を記憶する記憶部1010の記憶内容に基づく機械学習を行って、当該検索ワードに後続して入力される他の検索ワードを特定する。以下の説明では、判定部1006によってFAQがないと判定された検索ワードを「0件ヒット検索ワード」と表記する場合がある。
When it is determined that there is no FAQ corresponding to the search word, the
具体的には、例えば、特定部1007は、教師データ(まいご)DB260を参照して、ナイーブベイズ分類器による機械学習を行って、他の検索ワード(代替ワード)それぞれについて、0件ヒット検索ワードに後続して入力される第3の確率を算出する。そして、特定部1007は、他の検索ワードそれぞれについて算出した第3の確率に基づいて、0件ヒット検索ワードに後続して入力される代替ワードを特定する。
Specifically, for example, the
より詳細に説明すると、例えば、特定部1007は、第3の確率が最大の他の検索ワードを、代替ワードとして特定することにしてもよい。また、特定部1007は、第3の確率が閾値β以上の他の検索ワードを、代替ワードとして特定することにしてもよい。閾値βは、任意に設定可能である。また、特定部1007は、第3の確率が閾値β以上で、かつ、最大の他の検索ワードを、代替ワードとして特定することにしてもよい。
More specifically, for example, the
第3の確率を算出する具体的な処理内容については、図15を用いて後述する。 The specific processing content for calculating the third probability will be described later with reference to FIG.
出力制御部1004は、特定された代替ワードに対応するFAQを出力する。具体的には、例えば、まず、検索部1002は、代替ワードに対応するFAQを検索する。なお、複数の代替ワードが特定された場合、検索部1002は、複数の代替ワードそれぞれについて、FAQを検索することにしてもよい。
The
つぎに、決定部1003は、記憶部1010の記憶内容に基づく機械学習を行って、検索された複数のFAQの中から、代替ワードに対する1または複数のFAQを決定する。そして、出力制御部1004は、代替ワードに対して、決定された1または複数のFAQを出力する。なお、出力制御部1004は、検索された代替ワードに対応するFAQを出力することにしてもよい。
Next, the
これにより、入力された検索ワードに対応するFAQがなくても、過去のユーザの操作履歴(アクセスログ)をもとに、その検索ワード、すなわち、0件ヒット検索ワードに置き換わる代替ワードを推定してFAQを出力することができる。 As a result, even if there is no FAQ corresponding to the input search word, the search word, that is, the alternative word to be replaced with the 0 hit search word is estimated based on the operation history (access log) of the past user. FAQ can be output.
(教師データの生成例)
つぎに、図11~図14を用いて、教師データ(わるいこ)および教師データ(まいご)の生成例について説明する。ここでは、上位5件のFAQが1ページ目に表示されるFAQである場合を想定する(N=5)。
(Example of generating teacher data)
Next, an example of generating teacher data (wariko) and teacher data (maigo) will be described with reference to FIGS. 11 to 14. Here, it is assumed that the top five FAQs are the FAQs displayed on the first page (N = 5).
図11は、アクセスログの具体例を示す説明図(その1)である。図12は、教師データの具体例を示す説明図(その1)である。図11において、アクセスログ1101~1103は、時系列にソートされたセッション番号が同一のアクセスログの集合である。
FIG. 11 is an explanatory diagram (No. 1) showing a specific example of the access log. FIG. 12 is an explanatory diagram (No. 1) showing a specific example of teacher data. In FIG. 11, the
この場合、生成部1005は、アクセスログ1101~1103の中に、タイプ「照会」のアクセスログがあるか否かを判断する。ここで、アクセスログ1102,1103はタイプ「照会」のアクセスログである。このため、生成部1005は、タイプ「照会」のアクセスログがあると判断する。
In this case, the
つぎに、生成部1005は、タイプ「照会」のアクセスログ1102の順位に基づいて、照会FAQが、1ページ目に表示されたFAQであるか否かを判断する。ここで、アクセスログ1102の順位は、「1」であり、5以下である。このため、生成部1005は、アクセスログ1102の照会FAQが、1ページ目に表示されたFAQであると判断する。
Next, the
この場合、生成部1005は、図12に示すように、アクセスログ1102から特定される照会FAQ「011」と形態素解析後検索ワード「拡大、印刷」とを対応付けて表す教師データ(よゐこ)1201を生成する。
In this case, as shown in FIG. 12, the
同様に、生成部1005は、タイプ「照会」のアクセスログ1103の順位に基づいて、照会FAQが、1ページ目に表示されたFAQであるか否かを判断する。ここで、アクセスログ1103の順位は、「2」であり、5以下である。このため、生成部1005は、アクセスログ1103の照会FAQが、1ページ目に表示されたFAQであると判断する。
Similarly, the
この場合、生成部1005は、図12に示すように、アクセスログ1103から特定される照会FAQ「012」と形態素解析後検索ワード「拡大、印刷」とを対応付けて表す教師データ(よゐこ)1202を生成する。
In this case, as shown in FIG. 12, the
また、生成部1005は、タイプ「検索」のアクセスログ1101の検索リストを参照して、検索ワードに対して表示された際に照会されなかったFAQ、すなわち、検索ワードに対する選択操作を受け付けなかったFAQがあるか否かを判断する。ここで、FAQ番号「013」のFAQは照会されていない。
Further, the
このため、生成部1005は、照会されなかったFAQがあると判断する。この場合、生成部1005は、図12に示すように、照会されなかったFAQ番号「013」のFAQを非照会FAQとする教師データ(わるいこ)1203を生成する。
Therefore, the
また、生成部1005は、タイプ「検索」のアクセスログの検索リストを参照して、FAQが1件も検索されなかった検索ワードがあるか否かを判断する。ここでは、FAQが1件も検索されなかった検索ワードは存在しない。この場合、生成部1005は、教師データ(まいご)を生成しない。
Further, the
図13は、アクセスログの具体例を示す説明図(その2)である。図14は、教師データの具体例を示す説明図(その2)である。図13において、アクセスログ1301~1304は、時系列にソートされたセッション番号が同一のアクセスログの集合である。
FIG. 13 is an explanatory diagram (No. 2) showing a specific example of the access log. FIG. 14 is an explanatory diagram (No. 2) showing a specific example of teacher data. In FIG. 13,
この場合、生成部1005は、アクセスログ1301~1304の中に、タイプ「照会」のアクセスログがあるか否かを判断する。ここで、アクセスログ1303,1304はタイプ「照会」のアクセスログである。このため、生成部1005は、タイプ「照会」のアクセスログがあると判断する。
In this case, the
つぎに、生成部1005は、タイプ「照会」のアクセスログ1303の順位に基づいて、照会FAQが、1ページ目に表示されたFAQであるか否かを判断する。ここで、アクセスログ1303の順位は、「1」であり、5以下である。このため、生成部1005は、アクセスログ1303の照会FAQが、1ページ目に表示されたFAQであると判断する。
Next, the
この場合、生成部1005は、図14に示すように、アクセスログ1303から特定される照会FAQ「011」と形態素解析後検索ワード「拡大、印刷」とを対応付けて表す教師データ(よゐこ)1401を生成する。
In this case, as shown in FIG. 14, the
同様に、生成部1005は、タイプ「照会」のアクセスログ1304の順位に基づいて、照会FAQが、1ページ目に表示されたFAQであるか否かを判断する。ここで、アクセスログ1304の順位は、「2」であり、5以下である。このため、生成部1005は、アクセスログ1304の照会FAQが、1ページ目に表示されたFAQであると判断する。
Similarly, the
この場合、生成部1005は、図14に示すように、アクセスログ1304から特定される照会FAQ「012」と形態素解析後検索ワード「拡大、印刷」とを対応付けて表す教師データ(よゐこ)1402を生成する。
In this case, as shown in FIG. 14, the
また、生成部1005は、タイプ「検索」のアクセスログ1301,1302の検索リストを参照して、検索ワードに対して表示された際に照会されなかったFAQ、すなわち、検索ワードに対する選択操作を受け付けなかったFAQがあるか否かを判断する。ここで、FAQ番号「013」のFAQは照会されていない。
Further, the
このため、生成部1005は、照会されなかったFAQがあると判断する。この場合、生成部1005は、図14に示すように、照会されなかったFAQ番号「013」のFAQを非照会FAQとする教師データ(わるいこ)1403を生成する。
Therefore, the
また、生成部1005は、タイプ「検索」のアクセスログ1301,1302の検索リストを参照して、FAQが1件も検索されなかった検索ワードがあるか否かを判断する。ここでは、アクセスログ1301の検索リストは「-」であり、検索ワード「大きく印刷」はFAQが1件も検索されなかった検索ワードである。
Further, the
この場合、生成部1005は、検索ワード「大きく印刷」に後続して入力を受け付けた他の検索ワードがあるか否かを判断する。ただし、他の検索ワードは、当該他の検索ワードに対して1ページ目に表示されたいずれかのFAQが照会(選択)された検索ワードである。
In this case, the
ここで、検索ワード「拡大、印刷」は、検索ワード「大きく印刷」に後続して入力を受け付けた他の検索ワードである。また、検索ワード「拡大、印刷」は、当該他の検索ワードに対して1ページ目に表示されたFAQ番号「001,002」のFAQが照会(選択)された検索ワードである。このため、生成部1005は、他の検索ワードがあると判断する。
Here, the search word "enlarge, print" is another search word that accepts input following the search word "large print". Further, the search word "enlarge, print" is a search word in which the FAQ of the FAQ number "001,002" displayed on the first page is inquired (selected) for the other search words. Therefore, the
この場合、生成部1005は、図14に示すように、他の検索ワード「拡大、印刷」を代替ワードとして、代替ワード「拡大、印刷」と検索ワード「大きく印刷」とを対応付けた教師データ(まいご)1404を生成する。
In this case, as shown in FIG. 14, the
(第1、第2および第3の確率を算出する具体的な処理内容)
つぎに、図15を用いて、ナイーブベイズ分類器による機械学習を行って、第1、第2および第3の確率を算出する具体的な処理内容について説明する。
(Specific processing contents for calculating the first, second, and third probabilities)
Next, with reference to FIG. 15, specific processing contents for calculating the first, second, and third probabilities by performing machine learning with a naive Bayes classifier will be described.
図15は、分析DB1500の記憶内容の一例を示す説明図である。ここでは、第1の確率を例に挙げて、計算例について説明する。まず、決定部1003は、教師データ(よゐこ)DB240を参照して、分析DB1500を作成する。
FIG. 15 is an explanatory diagram showing an example of the stored contents of the
分析DB1500は、縦軸に「FAQ番号」、横軸に「キーワード」を設定し、キーワードごとに各FAQの照会回数を集計したものである。ただし、FAQ番号は、検索部1002によって検索された複数のFAQそれぞれのFAQ番号である。キーワードは、教師データ(よゐこ)DB240内の教師データ(よゐこ)の形態素解析後検索ワードに含まれる形態素である。
In the
ここでは、検索ワードを「キーワード1,キーワード2」とする。また、検索部1002によって検索された検索ワード「キーワード1,キーワード2」に対応する複数のFAQそれぞれのFAQ番号を「1,2,3,4,5」とする。また、教師データ(よゐこ)DB240内の教師データ(よゐこ)の形態素解析後検索ワードに含まれる形態素を「キーワード1,キーワード2,キーワード3,キーワード4,キーワード5,キーワード6」とする。
Here, the search word is "
具体的には、例えば、決定部1003は、教師データ(よゐこ)DB240から未選択の教師データ(よゐこ)を選択する。ここで、選択された教師データ(よゐこ)の照会FAQを「1」とし、形態素解析後検索ワードにキーワード1、キーワード2が含まれるとする。この場合、決定部1003は、FAQ番号「1」のキーワード1の照会回数をインクリメントする。また、決定部1003は、FAQ番号「1」のキーワード2の照会回数をインクリメントする。決定部1003は、教師データ(よゐこ)DB240から選択されていない未選択の教師データ(よゐこ)がなくなるまで、上述した一連の処理を繰り返す。
Specifically, for example, the
つぎに、決定部1003は、分析DB1500を参照して、検索された複数のFAQそれぞれについて、第1の確率を算出する。具体的には、例えば、決定部1003は、例えば、下記式(1)を用いて、検索された複数のFAQそれぞれについて、第1の確率を算出することができる。
Next, the
P(FAQ|検索ワード)=P(FAQ)P(検索ワード|FAQ)・・・(1) P (FAQ | Search word) = P (FAQ) P (Search word | FAQ) ... (1)
事後確率P(FAQ|検索ワード)は、検索ワードを指定してFAQを検索した場合、該当FAQが選択(照会)される確率を示す。すなわち、事後確率P(FAQ|検索ワード)は、第1の確率に相当する。例えば、P(FAQ1|事故)は、検索ワード「事故」を指定してFAQを検索した場合、FAQ1が選択(照会)される確率を示す。 The posterior probability P (FAQ | search word) indicates the probability that the corresponding FAQ is selected (inquired) when the FAQ is searched by designating the search word. That is, the posterior probability P (FAQ | search word) corresponds to the first probability. For example, P (FAQ1 | Accident) indicates the probability that FAQ1 will be selected (inquired) when the search word "accident" is specified and the FAQ is searched.
なお、検索ワードが複数のキーワードで構成される場合は、事後確率をそれぞれの確率の積で示す。例えば、P(FAQ1|事故、車)は、検索ワード「事故」、「車」を指定してFAQを検索した場合、FAQ1が選択される確率が、P(FAQ1)P(事故|FAQ1)×P(FAQ1)P(車|FAQ1)であることを示す。 If the search word is composed of a plurality of keywords, the posterior probabilities are indicated by the product of each probability. For example, for P (FAQ1 | accident, car), when the search words "accident" and "car" are specified and the FAQ is searched, the probability that FAQ1 is selected is P (FAQ1) P (accident | FAQ1) ×. P (FAQ1) Indicates that it is P (car | FAQ1).
事前確率P(FAQ)は、該当FAQが選ばれる確率(割合)を示す。例えば、FAQ総数が5000で、検索ワード「事故」で検索する場合、P(FAQ1)は「1/5000」である。なお、事前確率P(FAQ)は、推定における精度を向上させるため、検索ワードに含まれるFAQの総数に置き換える。FAQ総数が5000で、検索ワード「事故」でヒットしたことのあるFAQの総数が100とすると、検索ワード「事故」で検索する場合、P(FAQ1)は「1/100」である。 The prior probability P (FAQ) indicates the probability (ratio) that the corresponding FAQ is selected. For example, when the total number of FAQs is 5000 and the search word "accident" is used for searching, P (FAQ1) is "1/5000". The prior probability P (FAQ) is replaced with the total number of FAQs included in the search word in order to improve the accuracy in estimation. Assuming that the total number of FAQs is 5000 and the total number of FAQs that have been hit by the search word "accident" is 100, P (FAQ1) is "1/100" when searching with the search word "accident".
尤度P(検索ワード|FAQ)は、FAQが決まったとき、検索ワードが作成される確率を示す。例えば、P(事故|FAQ1)は、FAQ1から検索ワード「事故」が作成される確率を示す。FAQ1をアクセスしたキーワードのアクセス数が1000で、検索ワード「事故」が10の場合は、P(事故|FAQ1)は「10/1000」となる。 Likelihood P (search word | FAQ) indicates the probability that a search word will be created when the FAQ is determined. For example, P (accident | FAQ1) indicates the probability that the search word "accident" will be created from FAQ1. If the number of accesses of the keyword that accessed FAQ1 is 1000 and the search word "accident" is 10, P (accident | FAQ1) is "10/1000".
図15に示した分析DB1500をもとに算出される各FAQ1~5の第1の確率(P(FAQ|キーワード1,2))は、以下の通りである。なお、「0」となる部分は「1」に置き換える(ラプラススムージング)。
The first probabilities (P (FAQ |
P(FAQ1|キーワード1,2)
=P(キーワード1|FAQ1)×P(FAQ1)×P(キーワード2|FAQ1)×P(FAQ1)=(1/21)(1/23)×(12/21)(12/96)
=0.00015
P (FAQ1 |
= P (
= 0.00015
P(FAQ2|キーワード1,2)
=P(キーワード1|FAQ2)×P(FAQ2)×P(キーワード2|FAQ2)×P(FAQ2)=(10/85)(10/23)×(1/85)(1/96)
=0.00001
P (FAQ2 |
= P (
= 0.00001
P(FAQ3|キーワード1,2)
=P(キーワード1|FAQ3)×P(FAQ3)×P(キーワード2|FAQ3)×P(FAQ3)=(2/7)(2/23)×(1/7)(1/96)
=0.00018
P (FAQ3 |
= P (
= 0.00018
P(FAQ4|キーワード1,2)
=P(キーワード1|FAQ4)×P(FAQ4)×P(キーワード2|FAQ4)×P(FAQ4)=(6/124)(6/23)×(77/124)(77/96)
=0.00629
P (FAQ4 |
= P (
= 0.00629
P(FAQ5|キーワード1,2)
=P(キーワード1|FAQ5)×P(FAQ5)×P(キーワード2|FAQ5)×P(FAQ5)=(4/44)(4/23)×(6/44)(6/96)
=0.00013
P (FAQ5 |
= P (
= 0.00013
ただし、コンピュータ上では、桁数が小さくなりすぎると計算できなくなる可能性がある(オーバーフロー)。このため、決定部1003は、算出した各値を対数に変換して、第1の確率をそれぞれ算出する。対数に変換した第1の確率は、以下の通りである。0に近いほど、確率が高いことを示す。
However, on a computer, if the number of digits becomes too small, it may not be possible to calculate (overflow). Therefore, the
P(FAQ1|キーワード1,2)
=Log(1/21)(1/23)+Log(12/21)(12/96)
=-3.83
P (FAQ1 |
= Log (1/21) (1/23) + Log (12/21) (12/96)
=-3.83
P(FAQ2|キーワード1,2)
=Log(10/85)(10/23)+Log(1/85)(1/96)
=-5.20
P (FAQ2 |
= Log (10/85) (10/23) + Log (1/85) (1/96)
=-5.20
P(FAQ3|キーワード1,2)
=Log(2/7)(2/23)+Log(1/7)(1/96)
=-4.43
P (FAQ3 |
= Log (2/7) (2/23) + Log (1/7) (1/96)
=-4.43
P(FAQ4|キーワード1,2)
=Log(6/124)(6/23)+Log(77/124)(77/96)
=-2.2
P (FAQ4 |
= Log (6/124) (6/23) + Log (77/124) (77/96)
= -2.2
P(FAQ5|キーワード1,2)
=Log(4/44)(4/23)+Log(6/44)(6/96)
=-3.87
P (FAQ5 |
= Log (4/44) (4/23) + Log (6/44) (6/96)
=-3.87
つぎに、決定部1003は、ソフトマックス関数を利用して、対数表記した各FAQ1~5の第1の確率を、0~100[%]の表記に変換する。具体的には、例えば、決定部1003は、対数表記した各FAQ1~5の第1の確率のうち、絶対値の最大値C「-5.20」を取得する。そして、決定部1003は、以下のように、各FAQ1~5について、(最大値C-第1の確率)の値の指数を計算する。
Next, the
P(FAQ1)=exp(-3.83-(-5.20))=3.93
P(FAQ2)=exp(-5.20-(-5.20))=1.0
P(FAQ3)=exp(-4.43-(-5.20))=2.16
P(FAQ4)=exp(-2.20-(-5.20))=20.09
P(FAQ5)=exp(-3.87-(-5.20))=3.42
P (FAQ1) = exp (-3.83- (-5.20)) = 3.93
P (FAQ2) = exp (-5.20- (-5.20)) = 1.0
P (FAQ3) = exp (-4.43- (-5.20)) = 2.16
P (FAQ4) = exp (-2.20- (-5.20)) = 20.09
P (FAQ5) = exp (-3.87- (-5.20)) = 3.42
つぎに、決定部1003は、各FAQ1~5の(最大値C-第1の確率)の値の指数の合計値Sを計算する。ここでは、指数の合計値Sは、「30.06」となる。
Next, the
つぎに、決定部1003は、以下のように、各FAQ1~5について、(最大値C-第1の確率)の値の指数を、指数の合計値Sで割った値を算出する。
Next, the
P(FAQ1)=3.93/30.06=0.13
P(FAQ2)=1.0/30.06=0.03
P(FAQ3)=2.16/30.06=0.07
P(FAQ4)=20.09/30.06=0.67
P(FAQ5)=3.42/30.06=0.11
P (FAQ1) = 3.93 / 30.06 = 0.13
P (FAQ2) = 1.0 / 30.06 = 0.03
P (FAQ3) = 2.16 / 30.06 = 0.07
P (FAQ4) = 20.09 / 30.06 = 0.67
P (FAQ5) = 3.42 / 30.06 = 0.11
つぎに、決定部1003は、以下のように、各FAQ1~5について、算出した値に100を掛けることにより、第1の確率を0~100[%]の表記に変換する。
Next, the
P(FAQ1)=13[%]
P(FAQ2)=3[%]
P(FAQ3)=7[%]
P(FAQ4)=67[%]
P(FAQ5)=11[%]
P (FAQ1) = 13 [%]
P (FAQ2) = 3 [%]
P (FAQ3) = 7 [%]
P (FAQ4) = 67 [%]
P (FAQ5) = 11 [%]
このようにして、各FAQ1~5について、検索ワード「キーワード1,キーワード2」に対して各FAQ1~5が表示された際に、各FAQ1~5が選択(照会)される第1の確率を算出することができる。なお、1回も選択(照会)されたことがないFAQについては、第1の確率は「0[%]」とする。
In this way, for each of the
また、ここでは、第1の確率を例に挙げて説明したが、第2および第3の確率についても、同様にして求めることができる。 Further, although the first probability has been described here as an example, the second and third probabilities can be obtained in the same manner.
例えば、第2の確率の場合、決定部1003は、教師データ(わるいこ)DB250を参照して、分析DB1500を作成する。この場合、分析DB1500は、縦軸に「FAQ番号」、横軸に「キーワード」を設定し、キーワードごとに各FAQが照会されなかった非照会回数を集計したものである。ただし、FAQ番号は、検索部1002によって検索された複数のFAQそれぞれのFAQ番号である。キーワードは、教師データ(わるいこ)DB250内の教師データ(わるいこ)の形態素解析後検索ワードに含まれる形態素である。
For example, in the case of the second probability, the
具体的には、例えば、決定部1003は、教師データ(わるいこ)DB250から未選択の教師データ(わるいこ)を選択する。ここで、選択された教師データ(わるいこ)の非照会FAQを「1」とし、形態素解析後検索ワードにキーワード1、キーワード2が含まれるとする。この場合、決定部1003は、FAQ番号「1」のキーワード1の非照会回数をインクリメントする。また、決定部1003は、FAQ番号「1」のキーワード2の非照会回数をインクリメントする。決定部1003は、教師データ(よゐこ)DB240から選択されていない未選択の教師データ(よゐこ)がなくなるまで、上述した一連の処理を繰り返す。
Specifically, for example, the
これにより、キーワードごとに各FAQの非照会回数が記憶された分析DB1500を作成することができる。そして、決定部1003は、例えば、分析DB1500を参照して、上記式(1)を用いて、検索された複数のFAQそれぞれについて、第2の確率を算出する。ただし、事後確率P(FAQ|検索ワード)は、検索ワードを指定してFAQを検索した場合、該当FAQが選択(照会)されない確率を示す。事前確率P(FAQ)は、該当FAQが選ばれない確率(割合)を示す。尤度P(検索ワード|FAQ)は、FAQが決まったとき、検索ワードが作成される確率を示す。なお、以降の第2の確率の具体的な計算手順は、第1の確率と同様のため、詳細な説明は省略する。
As a result, it is possible to create an
また、第3の確率の場合、特定部1007は、教師データ(まいご)DB260を参照して、分析DB1500を作成する。この場合、分析DB1500は、縦軸に「代替ワード」、横軸に「形態素」を設定し、形態素ごとに各代替ワードが入力された入力回数を集計したものである。ただし、代替ワードは、教師データ(まいご)DB260内の教師データ(まいご)の代替ワードである。すなわち、代替ワードは、0件ヒット検索ワードに後続して入力された他の検索ワードに相当する。形態素は、0件ヒット検索ワードを形態素解析して検出される形態素である。0件ヒット検索ワードから形態素が検出されなかった場合には、例えば、0件ヒット検索ワードそのものを、横軸の形態素としてもよい。
Further, in the case of the third probability, the
具体的には、例えば、特定部1007は、教師データ(まいご)DB260から未選択の教師データ(まいご)を選択する。そして、特定部1007は、選択した教師データ(まいご)の検索ワードに、分析DB1500内のいずれかの形態素が含まれる場合、その形態素について、選択した教師データ(まいご)の代替ワードの入力回数をインクリメントする。特定部1007は、教師データ(まいご)DB260から選択されていない未選択の教師データ(まいご)がなくなるまで、上述した一連の処理を繰り返す。
Specifically, for example, the
これにより、形態素ごとに各代替ワードが入力された入力回数が記憶された分析DB1500を作成することができる。そして、特定部1007は、例えば、分析DB1500を参照して、上記式(1)を用いて、分析DB1500内の代替ワードそれぞれについて、第3の確率を算出する。
This makes it possible to create an
ただし、事後確率は、P(代替ワード|検索ワード)となる。事前確率は、P(代替ワード)となる。尤度は、P(代替ワード)となる。事後確率P(代替ワード|検索ワード)は、検索ワードに後続して代替ワードが入力される確率を示す。事前確率P(代替ワード)は、該当代替ワードがある確率(割合)を示す。尤度P(検索ワード|代替ワード)は、代替ワードが決まったとき、検索ワードが作成される確率を示す。なお、以降の第3の確率の具体的な計算手順は、第1の確率と同様のため、詳細な説明は省略する。 However, the posterior probability is P (alternative word | search word). The prior probability is P (alternative word). The likelihood is P (alternative word). The posterior probability P (alternative word | search word) indicates the probability that an alternative word is input after the search word. The prior probability P (alternative word) indicates the probability (ratio) of the corresponding alternative word. Likelihood P (search word | alternative word) indicates the probability that a search word will be created when the alternative word is determined. Since the specific calculation procedure of the third probability thereafter is the same as that of the first probability, detailed description thereof will be omitted.
(FAQの決定例)
つぎに、図16を用いて、検索ワードに対するFAQの決定例について説明する。
(FAQ decision example)
Next, an example of determining the FAQ for the search word will be described with reference to FIG.
図16は、FAQの決定例を示す説明図である。図16において、第1のテーブル1601は、検索部1002によって検索された複数のFAQそれぞれについて算出された第1の確率を記憶する。第2のテーブル1602は、検索部1002によって検索された複数のFAQそれぞれについて算出された第2の確率を記憶する。
FIG. 16 is an explanatory diagram showing an example of determining FAQ. In FIG. 16, the first table 1601 stores the first probabilities calculated for each of the plurality of FAQs searched by the
ここでは、検索ワードに対応するFAQとして、FAQ番号が「001~010」の10件のFAQが検索された場合を想定する。また、閾値αを「α=80」とする。また、FAQ番号が若いほど、既存の検索アルゴリズムで検索された際の優先度が高いものとする。例えば、既存の検索アルゴリズムでは、過去のアクセス数(照会数)が多いFAQほど高い優先度が設定される。 Here, it is assumed that 10 FAQs with FAQ numbers "001 to 010" are searched as FAQs corresponding to the search words. Further, the threshold value α is set to “α = 80”. Further, the younger the FAQ number, the higher the priority when the search is performed by the existing search algorithm. For example, in an existing search algorithm, a FAQ with a large number of past accesses (inquiries) is set with a higher priority.
この場合、決定部1003は、例えば、第2のテーブル1602を参照して、第2の確率が閾値α以上のFAQを特定する。ここでは、FAQ番号「003,005,006,008」のFAQが特定される。つぎに、決定部1003は、第1のテーブル1601から、特定したFAQ番号「003,005,006,008」のFAQのレコードを削除する。
In this case, the
そして、決定部1003は、第1のテーブル1601を参照して、第1の確率が高い順にソートした残余のFAQ、すなわち、FAQ番号「001,002,007,004,009,010」のFAQを、検索ワードに対する1または複数のFAQに決定する。
Then, the
この場合、出力制御部1004は、端末201に対して、決定されたFAQ番号「001,002,007,004,009,010」のFAQを送信する。ここで、FAQ画面900において、上位5件のみ1ページ目に表示される場合(N=5)、FAQ番号「001,002,007,004,009」のFAQは、この順番で1ページ目に表示され、FAQ番号「010」のFAQは2ページ目に表示される。
In this case, the
例えば、過去のアクセス数(照会数)が多い順にFAQを表示する場合に比べると、第1および第2の確率を用いてFAQが絞り込まれた結果、FAQ番号「003,005,006,008」のFAQが除外され、FAQ番号「007,009,010」のFAQが繰り上がって1ページ目に表示される。 For example, as a result of narrowing down the FAQ using the first and second probabilities, the FAQ number "003,005,006,008" is compared with the case where the FAQ is displayed in descending order of the number of past accesses (inquiries). The FAQ of is excluded, and the FAQ of the FAQ number "007,009,010" is moved up and displayed on the first page.
(閾値αの調整例)
つぎに、図17および図18を用いて、閾値αの調整例について説明する。ここでは、上位5件のFAQが1ページ目に表示されるFAQである場合を想定する(N=5)。
(Example of adjusting threshold α)
Next, an example of adjusting the threshold value α will be described with reference to FIGS. 17 and 18. Here, it is assumed that the top five FAQs are the FAQs displayed on the first page (N = 5).
図17は、アクセスログの具体例を示す説明図(その3)である。図17において、アクセスログ1701~1705は、時系列にソートされたセッション番号が同一のアクセスログの集合である。以下、アクセスログ1701~1705から、1ページ目ヒット率を算出する場合について説明する。
FIG. 17 is an explanatory diagram (No. 3) showing a specific example of the access log. In FIG. 17,
具体的には、例えば、決定部1003は、下記式(2)を用いて、アクセスログ1701~1705から1ページ目ヒット率を算出する。ただし、Xは、照会されたFAQが検索結果の1ページ目に存在する回数である。Yは、FAQの照会回数である。また、1ページ目ヒット率の単位は[%]である。
Specifically, for example, the
1ページ目ヒット率=X/Y×100 ・・・(2) 1st page hit rate = X / Y × 100 ・ ・ ・ (2)
より詳細に説明すると、決定部1003は、タイプ「照会」のアクセスログ1702~1705を参照して、照会されたFAQが検索結果の1ページ目に存在する回数Xを算出する。ここで、アクセスログ1702,1703の順位は、「1,2」であり、5以下である。一方、アクセスログ1704,1705の順位は、「40,45」であり、5より大きい。したがって、回数Xは「X=2」となる。
More specifically, the
また、決定部1003は、タイプ「照会」のアクセスログ1702~1705を参照して、FAQの照会回数Yを算出する。ここでは、照会回数Yは、タイプ「照会」のアクセスログ1702~1705の数であり、「Y=4」である。このため、1ページ目ヒット率は、「50[%](=2/4×100)」となる。
Further, the
決定部1003は、1ページ目ヒット率の算出を、所定期間ごと、例えば、数週間~数ヶ月程度の期間ごとに行う。つぎに、決定部1003は、所定期間ごとに算出した1ページ目ヒット率の推移を回帰分析して、1ページ目ヒット率の時系列変化を表す直線の傾きを算出する。そして、決定部1003は、算出した傾きに応じて、閾値αを調整する。
The
図18は、1ページ目ヒット率の時系列変化の一例を示す説明図である。図18において、直線1801,1802は、1ページ目ヒット率の時系列変化を表す直線である。直線1801は、傾きが0より大きく、1ページ目ヒット率が上昇傾向にあることを示している。一方、直線1802は、傾きが0より小さく、1ページ目ヒット率が下降傾向にあることを示している。
FIG. 18 is an explanatory diagram showing an example of time-series changes in the hit rate on the first page. In FIG. 18, the
例えば、決定部1003は、1ページ目ヒット率の時系列変化を表す直線の傾きが0より大きい場合、1ページ目ヒット率が上昇傾向にあるため、閾値αを調整しない。また、決定部1003は、1ページ目ヒット率の時系列変化を表す直線の傾きが0の場合、1ページ目ヒット率に変化がないため、閾値αを調整しない。
For example, when the slope of the straight line representing the time-series change of the first page hit rate is larger than 0, the
一方、決定部1003は、1ページ目ヒット率の時系列変化を表す直線の傾きが0より小さい場合、1ページ目ヒット率が下降傾向にあるため、閾値αを調整する。具体的には、例えば、決定部1003は、1ページ目ヒット率の時系列変化を表す直線の傾きが0より小さい場合、閾値αを1[%]下げる。
On the other hand, when the slope of the straight line representing the time-series change of the hit rate of the first page is smaller than 0, the
例えば、調整前の閾値αが「80[%]」の場合、決定部1003は、閾値αを「79[%]」に変更する。1ページ目ヒット率が下降傾向にある場合、1ページ目のFAQが照会されにくくなって、教師データ(わるいこ)の学習が進むと想定される。このため、教師データ(わるいこ)の反応をよくするため、閾値αを下げて、FAQをより多く削る方向に調整する。
For example, when the threshold value α before adjustment is “80 [%]”, the
なお、決定部1003は、1ページ目ヒット率の時系列変化を表す直線の傾きの大きさに応じて、閾値αの下げ分を変更することにしてもよい。例えば、1ページ目ヒット率が大幅に下降していると判断できる程度に、直線の傾きが小さい場合、決定部1003は、閾値αの下げ分を5[%]程度に変更することにしてもよい。
The
(形態素の推定)
つぎに、図19を用いて、形態素を推定する処理について説明する。
(Estimation of morpheme)
Next, the process of estimating the morpheme will be described with reference to FIG.
図19は、形態素を推定する方法の一実施例を示す説明図である。特定部1007は、判定部1006によって検索ワードに対応するFAQがないと判定された場合、教師データ(まいご)DB260の記憶内容に基づく機械学習を行って、0件ヒット検索ワードに後続して入力される代替ワードを特定する。しかし、教師データ(まいご)が蓄積されるまでの間は、代替ワードを特定することができない。
FIG. 19 is an explanatory diagram showing an embodiment of a method for estimating a morpheme. When the
例えば、パンチミス等によりデタラメな検索ワードが入力された場合、検索ワードから形態素が検出されず、0件ヒットとなることがある。また、この場合、当該検索ワードに対応する教師データ(まいご)は蓄積されていない可能性が高い。すなわち、パンチミス等によりデタラメな検索ワードが入力された場合、代替ワードを特定できず、0件ヒットとなることがある。 For example, when a random search word is input due to a punch mistake or the like, the morpheme may not be detected from the search word and 0 hits may be obtained. Further, in this case, it is highly possible that the teacher data (maigo) corresponding to the search word is not accumulated. That is, when a random search word is input due to a punch mistake or the like, the alternative word cannot be specified, and 0 hits may be obtained.
そこで、情報処理装置101は、代替ワードが特定されなかった場合に、当該検索ワードに対応する形態素を推定して、推定した形態素に対応するFAQを検索することにしてもよい。
Therefore, when the alternative word is not specified, the
具体的には、例えば、まず、生成部1005は、教師データ(形態素)を生成する。より詳細に説明すると、例えば、生成部1005は、教師データ(よゐこ)DB240内の教師データ(よゐこ)の形態素解析後検索ワードから形態素を抽出する。そして、生成部1005は、抽出した形態素と、当該形態素に含まれるそれぞれの文字とを対応付けた教師データ(形態素)を生成する。
Specifically, for example, first, the
一例として、形態素を「FILE」とすると、形態素「FILE」と、形態素「FILE」に含まれるそれぞれの要素(文字)「“F”,“I”,“L”,“E”」とを対応付けた教師データ(形態素)1901が生成される。生成された教師データ(形態素)は、教師データ(形態素)DB1900に記憶される。 As an example, assuming that the morpheme is "FILE", the morpheme "FILE" and the respective elements (characters) "" F "," I "," L "," E "" included in the morpheme "FILE" correspond to each other. The attached teacher data (morpheme) 1901 is generated. The generated teacher data (morpheme) is stored in the teacher data (morpheme) DB1900.
また、生成部1005は、例えば、教師データ(わるいこ)DB250内の教師データ(わるいこ)の形態素解析後検索ワードから形態素を抽出し、抽出した形態素と、当該形態素に含まれるそれぞれの文字とを対応付けた教師データ(形態素)を生成してもよい。また、生成部1005は、例えば、教師データ(まいご)DB260内の教師データ(まいご)の代替ワードや検索ワードから形態素を抽出し、抽出した形態素と、当該形態素に含まれるそれぞれの文字とを対応付けた教師データ(形態素)を生成してもよい。
Further, the
つぎに、特定部1007は、検索ワードから形態素が検出されなかった場合、教師データ(形態素)DB1900の記憶内容に基づく機械学習を行って、検索ワードに対応する形態素を特定する。ただし、検索ワードから形態素が検出されなかった場合であっても、FAQマスタ220からFAQが検索されることもある。
Next, when the morpheme is not detected from the search word, the specifying
すなわち、検索ワードから形態素が検出されなかった場合であっても、端末201に対して検索ワードに対応するFAQを出力できる場合がある。このため、特定部1007は、例えば、検索ワードから形態素が検出されず、かつ、検索ワードに対応するFAQがないと判定された場合に、検索ワードに対応する形態素を特定することにしてもよい。
That is, even when the morpheme is not detected from the search word, the FAQ corresponding to the search word may be output to the terminal 201. Therefore, the
より具体的には、例えば、特定部1007は、教師データ(形態素)DB1900を参照して、ナイーブベイズ分類器による機械学習を行って、複数の形態素それぞれについて、第4の確率を算出する。第4の確率は、形態素が検出されなかった検索ワードに類似する度合いの高さを示す。
More specifically, for example, the
なお、第4の確率についても、第1の確率と同様にして求めることができる。まず、特定部1007は、教師データ(形態素)DB1900を参照して、分析DB1500を作成する。この場合、分析DB1500は、縦軸に「形態素」、横軸に「文字」を設定し、文字ごとの出現回数を集計したものである。ただし、形態素は、教師データ(形態素)DB1900内の教師データ(形態素)の形態素である。文字は、教師データ(形態素)DB1900内の教師データ(形態素)の形態素に含まれる文字である。
The fourth probability can also be obtained in the same manner as the first probability. First, the
具体的には、例えば、特定部1007は、教師データ(形態素)DB1900から未選択の教師データ(形態素)を選択する。ここで、選択された教師データ(形態素)の形態素を「FILE」とし、要素を「“F”,“I”,“L”,“E”」とする。この場合、特定部1007は、分析DB1500内の形態素「FILE」の各要素「“F”,“I”,“L”,“E”」の出現回数をそれぞれインクリメントする。特定部1007は、例えば、教師データ(形態素)DB1900から選択されていない未選択の教師データ(形態素)がなくなるまで、上述した一連の処理を繰り返す。
Specifically, for example, the
これにより、形態素ごとに各要素の出現回数が記憶された分析DB1500を作成することができる。そして、決定部1003は、例えば、分析DB1500を参照して、上記式(1)を用いて、複数の形態素それぞれについて、第4の確率を算出する。ただし、事後確率は、P(形態素|文字)となる。事前確率は、P(形態素)となる。尤度は、P(形態素)となる。事後確率P(形態素|文字)は、該当文字を含む形態素が入力される確率を示す。事前確率P(形態素)は、形態素(縦軸)に含まれる全要素中に該当文字が占める割合を示す。尤度P(形態素)は、形態素が決まったとき、該当文字が含まれる確率を示す。なお、以降の第4の確率の具体的な計算手順は、第1の確率と同様のため、詳細な説明は省略する。
This makes it possible to create an
そして、特定部1007は、分析DB1500内の複数の形態素それぞれについて算出した第4の確率に基づいて、検索ワードに対応する形態素を特定する。具体的には、例えば、特定部1007は、第4の確率が最大の形態素を、形態ワードに対応する形態素として特定する。これにより、形態素解析により形態素が検出されなかった検索ワードに対応する形態素を推定することができる。
Then, the specifying
この場合、特定部1007は、例えば、教師データ(まいご)を記憶する記憶部1010の記憶内容に基づく機械学習を行って、特定した形態素に後続して入力される代替ワードを特定する。そして、検索部1002は、特定された代替ワードに対応するFAQを検索する。
In this case, the
これにより、パンチミス等によりデタラメな検索ワードが入力された場合であっても、0件ヒットとなることを防ぐことができる。また、上述した説明では、特定部1007が、特定した形態素に後続して入力される代替ワードを特定し、検索部1002が、特定された代替ワードに対応するFAQを検索することにしたが、これに限らない。例えば、検索部1002は、特定された形態素に対応するFAQを検索することにしてもよい。
As a result, even if a random search word is input due to a punch mistake or the like, it is possible to prevent 0 hits. Further, in the above description, the
なお、教師データ(よゐこ)、教師データ(わるいこ)のデータ構造は、FAQ番号と形態素解析後検索ワードのため、検索ワードから形態素が検出されなかった場合は、学習できず、第1および第2の確率を算出できない。つまり、第1および第2の確率を用いたFAQの絞り込みを行うことができない。したがって、このような場合も、第1および第2の確率を用いたFAQの絞り込みを行えるように、情報処理装置101は、検索ワードに対応する形態素を推定して、FAQを再検索することにしてもよい。
Since the data structures of teacher data (yoiko) and teacher data (wariko) are FAQ numbers and search words after morphological analysis, if morphemes are not detected from the search words, they cannot be learned, and the first and first morphemes cannot be learned. The probability of 2 cannot be calculated. That is, it is not possible to narrow down the FAQ using the first and second probabilities. Therefore, even in such a case, the
(情報処理装置101の教師データ生成処理手順)
つぎに、図20および図21を用いて、情報処理装置101の教師データ生成処理手順について説明する。情報処理装置101の教師データ生成処理は、例えば、24時間程度の期間ごとに定期的に実行されてもよく、また、回答出力システム200の管理者等が指定する所定のタイミングで実行されてもよい。
(Procedure for generating teacher data of information processing device 101)
Next, the teacher data generation processing procedure of the
図20および図21は、情報処理装置101の教師データ生成処理手順の一例を示すフローチャートである。図20のフローチャートにおいて、まず、情報処理装置101は、アクセスログDB230から選択されていない未選択のセッション番号を選択する(ステップS2001)。
20 and 21 are flowcharts showing an example of the teacher data generation processing procedure of the
つぎに、情報処理装置101は、アクセスログDB230から、選択したセッション番号のアクセスログを取得する(ステップS2002)。そして、情報処理装置101は、取得したアクセスログの日時に基づいて、取得したアクセスログを時系列にソートする(ステップS2003)。
Next, the
つぎに、情報処理装置101は、取得したアクセスログの中に、タイプ「照会」のアクセスログがあるか否かを判断する(ステップS2004)。ここで、タイプ「照会」のアクセスログがない場合(ステップS2004:No)、情報処理装置101は、図21に示すステップS2101に移行する。
Next, the
一方、タイプ「照会」のアクセスログがある場合(ステップS2004:Yes)、情報処理装置101は、当該アクセスログから特定される照会FAQが、1ページ目に表示されたFAQであるか否かを判断する(ステップS2005)。ここで、1ページ目に表示されたFAQではない場合(ステップS2005:No)、情報処理装置101は、図21に示すステップS2101に移行する。
On the other hand, when there is an access log of type "inquiry" (step S2004: Yes), the
一方、1ページ目に表示されたFAQの場合(ステップS2005:Yes)、情報処理装置101は、タイプ「照会」のアクセスログから特定される照会FAQと形態素解析後検索ワードとを対応付けて表す教師データ(よゐこ)を生成する(ステップS2006)。そして、情報処理装置101は、生成した教師データ(よゐこ)を、教師データ(よゐこ)DB240に登録して(ステップS2007)、図21に示すステップS2101に移行する。
On the other hand, in the case of the FAQ displayed on the first page (step S2005: Yes), the
図21のフローチャートにおいて、まず、情報処理装置101は、タイプ「検索」のアクセスログの検索リストを参照して、0件ヒットの検索ワードがあるか否かを判断する(ステップS2101)。ここで、0件ヒットの検索ワードがない場合(ステップS2101:No)、情報処理装置101は、ステップS2105に移行する。
In the flowchart of FIG. 21, first, the
一方、0件ヒットの検索ワードがある場合(ステップS2101:Yes)、情報処理装置101は、取得したアクセスログの日時に基づいて、0件ヒットの検索ワードに後続して入力を受け付けた他の検索ワードがあるか否かを判断する(ステップS2102)。ただし、他の検索ワードは、当該他の検索ワードに対して1ページ目に表示されたいずれかのFAQが照会(選択)された検索ワードである。
On the other hand, when there is a search word with 0 hits (step S2101: Yes), the
ここで、他の検索ワードがない場合(ステップS2102:No)、情報処理装置101は、ステップS2105に移行する。一方、他の検索ワードがある場合(ステップS2102:Yes)、情報処理装置101は、他の検索ワードを代替ワードとする教師データ(まいご)を生成する(ステップS2103)。
Here, when there is no other search word (step S2102: No), the
そして、情報処理装置101は、生成した教師データ(まいご)を、教師データ(まいご)DB260に登録する(ステップS2104)。つぎに、情報処理装置101は、タイプ「検索」のアクセスログの検索リストを参照して、検索ワードに対して表示された際に照会されなかったFAQがあるか否かを判断する(ステップS2105)。
Then, the
ここで、照会されなかったFAQがない場合(ステップS2105:No)、情報処理装置101は、ステップS2108に移行する。一方、照会されなかったFAQがある場合(ステップS2105:Yes)、情報処理装置101は、照会されなかったFAQを非照会FAQとする教師データ(わるいこ)を生成する(ステップS2106)。
Here, if there is no FAQ that has not been inquired (step S2105: No), the
そして、情報処理装置101は、生成した教師データ(わるいこ)を、教師データ(わるいこ)DB250に登録する(ステップS2107)。つぎに、情報処理装置101は、アクセスログDB230から選択されていない未選択のセッション番号があるか否かを判断する(ステップS2108)。
Then, the
ここで、未選択のセッション番号がある場合(ステップS2108:Yes)、情報処理装置101は、図20に示したステップS2001に戻る。一方、未選択のセッション番号がない場合(ステップS2108:No)、情報処理装置101は、本フローチャートによる一連の処理を終了する。
Here, if there is an unselected session number (step S2108: Yes), the
これにより、過去のユーザの操作履歴(アクセスログ)から教師データ(よゐこ)、教師データ(わるいこ)および教師データ(まいご)を生成することができる。なお、アクセスログDB230の記憶内容は、例えば、情報処理装置101の教師データ生成処理の実行が完了すると、その都度リセットされる。
As a result, teacher data (yoiko), teacher data (wariko), and teacher data (maigo) can be generated from the past user operation history (access log). The stored contents of the
(情報処理装置101の回答出力処理手順)
つぎに、図22および図23を用いて、情報処理装置101の回答出力処理手順について説明する。
(Procedure for processing the answer output of the information processing device 101)
Next, the response output processing procedure of the
図22および図23は、情報処理装置101の回答出力処理手順の一例を示すフローチャートである。図22のフローチャートにおいて、まず、情報処理装置101は、検索ワードの入力を受け付けたか否かを判断する(ステップS2201)。ここで、情報処理装置101は、検索ワードの入力を受け付けるのを待つ(ステップS2201:No)。
22 and 23 are flowcharts showing an example of the response output processing procedure of the
そして、情報処理装置101は、検索ワードの入力を受け付けた場合(ステップS2201:Yes)、検索ワードを形態素解析する(ステップS2202)。つぎに、情報処理装置101は、検索ワードを形態素解析した結果に基づいて、FAQマスタ220からFAQを検索する(ステップS2203)。
Then, when the
つぎに、情報処理装置101は、教師データ(よゐこ)DB240を参照して、ナイーブベイズ分類器による機械学習を行って、検索された複数のFAQそれぞれについて、第1の確率を算出する(ステップS2204)。つぎに、情報処理装置101は、教師データ(わるいこ)DB250を参照して、ナイーブベイズ分類器による機械学習を行って、検索された複数のFAQそれぞれについて、第2の確率を算出する(ステップS2205)。
Next, the
そして、情報処理装置101は、検索された複数のFAQそれぞれについて算出した第1の確率と第2の確率とに基づいて、検索された複数のFAQの中から、検索ワードに対する1または複数のFAQを決定する(ステップS2206)。
Then, the
つぎに、情報処理装置101は、検索ワードに対応するFAQがあるか否かを判断する(ステップS2207)。具体的には、例えば、情報処理装置101は、ステップS2203においてFAQが1件も検索されなかった場合、または、ステップS2206においてFAQが1件も決定されなかった場合に、検索ワードに対応するFAQがないと判定する。
Next, the
ここで、検索ワードに対応するFAQがある場合(ステップS2207:Yes)、情報処理装置101は、決定した検索ワードに対する1または複数のFAQを出力して(ステップS2208)、本フローチャートによる一連の処理を終了する。一方、検索ワードに対応するFAQがない場合(ステップS2207:No)、情報処理装置101は、図23に示すステップS2301に移行する。
Here, when there is an FAQ corresponding to the search word (step S2207: Yes), the
図23のフローチャートにおいて、まず、情報処理装置101は、教師データ(まいご)DB260を参照して、ナイーブベイズ分類器による機械学習を行って、複数の代替ワードそれぞれについて、検索ワードに後続して入力される第3の確率を算出する(ステップS2301)。
In the flowchart of FIG. 23, first, the
そして、情報処理装置101は、複数の代替ワードそれぞれについて算出した第3の確率に基づいて、検索ワードに後続して入力される代替ワードを特定する(ステップS2302)。つぎに、情報処理装置101は、代替ワードが特定されたか否かを判断する(ステップS2303)。例えば、図22に示したステップS2202において、検索ワードから形態素が検出されなかった場合に、代替ワードは特定されないことがある。
Then, the
ここで、代替ワードが特定された場合(ステップS2303:Yes)、情報処理装置101は、図22に示したステップS2202に戻る。この場合、情報処理装置101は、特定した代替ワードの形態素解析を実施する。
Here, when the alternative word is specified (step S2303: Yes), the
一方、代替ワードが特定されなかった場合(ステップS2303:No)、情報処理装置101は、教師データ(形態素)DB1900を参照して、ナイーブベイズ分類器による機械学習を行って、複数の形態素それぞれについて、第4の確率を算出する(ステップS2304)。第4の確率は、検索ワードに類似する度合いの高さを示す。
On the other hand, when the alternative word is not specified (step S2303: No), the
そして、情報処理装置101は、複数の形態素それぞれについて算出した第4の確率に基づいて、検索ワードに対応する形態素を特定して(ステップS2305)、図22に示したステップS2203に戻る。この場合、情報処理装置101は、特定した形態素に基づいて、FAQマスタ220からFAQを検索する。
Then, the
なお、ステップS2203において、FAQが1件も検索されなかった場合、情報処理装置101は、ステップS2304に移行することにしてもよい。また、ステップS2305からステップS2203への移行は、2回以上行わないこととする。このため、移行後のステップS2207において、検索ワードに対応するFAQがない場合には(ステップS2207:No)、情報処理装置101は、例えば、検索結果が0件である旨の情報を出力する。
If no FAQ is searched in step S2203, the
これにより、過去のユーザの操作履歴(アクセスログ)をもとに、検索ワードに対して表示するFAQを最適化することができる。また、検索ワードに対応するFAQがなくても、過去のユーザの操作履歴をもとに、その検索ワード、すなわち、0件ヒット検索ワードに置き換わる代替ワードを推定してFAQを出力することができる。 This makes it possible to optimize the FAQ displayed for the search word based on the operation history (access log) of the past user. Further, even if there is no FAQ corresponding to the search word, it is possible to estimate the search word, that is, the alternative word to be replaced with the 0-hit search word, and output the FAQ based on the operation history of the past user. ..
以上説明したように、実施の形態にかかる情報処理装置101によれば、検索ワードの入力を受け付け、受け付けた検索ワードに対応するFAQを検索することができる。また、情報処理装置101によれば、教師データ(よゐこ)と教師データ(わるいこ)とを記憶する記憶部1010の記憶内容に基づく機械学習を行って、検索した複数のFAQの中から、検索ワードに対する1または複数のFAQを決定することができる。教師データ(よゐこ)は、例えば、検索ワード(質問)に対して1ページ目に表示された際に選択操作を受け付けたFAQを、当該検索ワードに対応付けた情報である。教師データ(わるいこ)は、例えば、検索ワードに対して1ページ目に表示された際に選択操作を受け付けなかったFAQを、当該検索ワードに対応付けた情報である。そして、情報処理装置101によれば、決定した1または複数のFAQを出力することができる。
As described above, according to the
これにより、過去のユーザの操作履歴(アクセスログ)をもとに、異なる2つの観点から検索ワードと関連性の強いFAQ、および、検索ワードと関連性が弱いFAQを特定して、問題解決につながるFAQを精度よく絞り込むことができる。 As a result, based on the operation history (access log) of the past user, the FAQ that is strongly related to the search word and the FAQ that is weakly related to the search word are identified from two different viewpoints, and the problem is solved. The FAQs to be connected can be narrowed down accurately.
また、情報処理装置101によれば、記憶部1010を参照して、ナイーブベイズ分類器による機械学習を行って、検索した複数のFAQそれぞれについて、第1の確率と第2の確率とを算出することができる。第1の確率は、例えば、検索ワードに対して1ページ目に表示された際に選択される確率である。第2の確率は、例えば、検索ワードに対して1ページ目に表示された際に選択されない確率である。そして、情報処理装置101によれば、検索した複数のFAQそれぞれについて算出した第1の確率と第2の確率とに基づいて、複数のFAQの中から、受け付けた検索ワードに対する1または複数のFAQを決定することができる。
Further, according to the
これにより、検索ワードと関連性の強いFAQ、および、検索ワードと関連性が弱いFAQの特定精度を向上させることができる。また、ナイーブベイズ分類器による機械学習を利用することで、教師データ(よゐこ、わるいこ)の質と量により特定精度をコントロールすることができる。 This makes it possible to improve the accuracy of identifying FAQs that are strongly related to the search word and FAQs that are weakly related to the search word. In addition, by using machine learning with a naive Bayes classifier, it is possible to control the specific accuracy by the quality and quantity of teacher data (Yoiko, Wariko).
また、情報処理装置101によれば、検索した複数のFAQのうち第2の確率が閾値α以上のFAQを除外したFAQを、第1の確率が高い順にソートした1または複数のFAQを、検索ワードに対する1または複数のFAQに決定することができる。これにより、検索ワードと関連性の強いFAQを検索上位に表示しつつ、検索ワードと関連性が弱いFAQを表示対象から除外することができる。具体的には、1ページ目に表示された際に照会される確度の高いFAQを選別しつつ、1ページ目に表示されても照会されない確度が高いFAQを除外することができる。このため、例えば、1ページ目に頻繁に表示されるものの問題解決につながらないようなFAQの表示を抑制することができる。また、例えば、過去はよく回答として照会されていたが、FAQの陳腐化が進み、最近は照会されなくなってきているFAQの表示を抑制することができる。
Further, according to the
また、情報処理装置101によれば、検索ワードに対する選択操作を受け付けたFAQを示すアクセスログに基づいて、検索ワードに対して1ページ目に表示されるFAQのいずれかが選択(照会)される確率を算出することができる。そして、情報処理装置101によれば、算出した確率の時系列変化に基づいて、閾値αを調整することができる。これにより、1ページ目(上位N件)に表示されたFAQがどの程度照会されているかという運用中の照会実績をもとに、閾値αの大きさを最適化することができる。
Further, according to the
これらのことから、情報処理装置101によれば、FAQシステムやFAQサイトにおける一次回答率や顧客満足度の向上を図ることができる。また、FAQを見直すことなく検索結果の最適化を図ることができるため、FAQシステムやFAQサイトの運用コストを削減することができる。
From these facts, according to the
なお、本実施の形態で説明した回答出力方法は、あらかじめ用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本回答出力プログラムは、ハードディスク、フレキシブルディスク、CD(Compact Disc)-ROM、MO(Magneto-Optical disk)、DVD(Digital Versatile Disk)、USB(Universal Serial Bus)メモリ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本回答出力プログラムは、インターネット等のネットワークを介して配布してもよい。 The answer output method described in this embodiment can be realized by executing a program prepared in advance on a computer such as a personal computer or a workstation. This answer output program is a computer-readable recording medium such as a hard disk, flexible disk, CD (Compact Disk) -ROM, MO (Magnet-Optical disk), DVD (Digital Versaille Disk), and USB (Universal Serial Bus) memory. It is recorded on an optical disc and executed by being read from a recording medium by a computer. Further, this answer output program may be distributed via a network such as the Internet.
上述した実施の形態に関し、さらに以下の付記を開示する。 The following additional notes are further disclosed with respect to the above-described embodiment.
(付記1)質問の入力を受け付け、
受け付けた前記質問に対応する複数の回答候補を特定し、
質問に対する選択操作を受け付けた1または複数の第1の回答候補と、質問に対する選択操作を受け付けなかった1または複数の第2の回答候補とを記憶する記憶部の記憶内容に基づく機械学習を行って、特定した前記複数の回答候補の中から、受け付けた前記質問に対する1または複数の回答候補を決定し、
決定した前記1または複数の回答候補を出力する、
処理をコンピュータに実行させることを特徴とする回答出力プログラム。
(Appendix 1) Accepting the input of questions,
Identify multiple answer candidates corresponding to the received question,
Machine learning is performed based on the stored contents of the storage unit that stores one or more first answer candidates that have accepted the selection operation for the question and one or more second answer candidates that have not accepted the selection operation for the question. Then, from the specified plurality of answer candidates, one or more answer candidates for the received question are determined.
Output the determined one or more answer candidates,
An answer output program characterized by having a computer perform processing.
(付記2)前記決定する処理は、
前記記憶部を参照して、ナイーブベイズ分類器による機械学習を行って、特定した前記複数の回答候補それぞれについて、受け付けた前記質問に対して表示された際に選択される第1の確率と、受け付けた前記質問に対して表示された際に選択されない第2の確率とを算出し、
前記複数の回答候補それぞれについて算出した前記第1の確率と前記第2の確率とに基づいて、前記複数の回答候補の中から、受け付けた前記質問に対する1または複数の回答候補を決定する、ことを特徴とする付記1に記載の回答出力プログラム。
(Appendix 2) The process to be determined is
With reference to the storage unit, machine learning by the naive Bayes classifier is performed, and for each of the plurality of identified answer candidates, the first probability selected when displayed for the received question and the first probability. Calculate the second probability that the question will not be selected when displayed for the accepted question.
Based on the first probability and the second probability calculated for each of the plurality of answer candidates, one or a plurality of answer candidates for the received question are determined from the plurality of answer candidates. The answer output program according to
(付記3)前記決定する処理は、
前記複数の回答候補のうち前記第2の確率が閾値以上の回答候補を除外した回答候補を、前記第1の確率が高い順にソートした1または複数の回答候補を、受け付けた前記質問に対する1または複数の回答候補に決定する、ことを特徴とする付記2に記載の回答出力プログラム。
(Appendix 3) The process to be determined is
One or a plurality of answer candidates obtained by sorting the answer candidates excluding the answer candidates whose second probability is equal to or higher than the threshold value among the plurality of answer candidates in descending order of the first probability is one or a plurality of answers. The answer output program described in
(付記4)質問に対する選択操作を受け付けた回答候補を示すログ情報を蓄積し、
蓄積した前記ログ情報に基づいて、質問に対して表示される上位所定数の回答候補のいずれかが選択される確率を算出し、
算出した前記確率の時系列変化に基づいて、前記閾値を調整する、
処理を前記コンピュータに実行させることを特徴とする付記3に記載の回答出力プログラム。
(Appendix 4) Accumulate log information indicating answer candidates that have accepted the selection operation for the question.
Based on the accumulated log information, the probability that one of the top predetermined number of answer candidates displayed for the question will be selected is calculated.
Adjusting the threshold value based on the calculated time-series change of the probability.
The answer output program according to
(付記5)前記調整する処理は、算出した前記確率の時系列変化に基づいて、前記確率が下降傾向にあると判断した場合、前記閾値を所定値下げる、ことを特徴とする付記4に記載の回答出力プログラム。
(Appendix 5) The adjustment process is described in
(付記6)前記第1の回答候補は、質問に対する上位所定数の回答候補のうち選択操作を受け付けた回答候補であり、
前記第2の回答候補は、質問に対する上位所定数の回答候補のうち選択操作を受け付けなかった回答候補である、
ことを特徴とする付記1~5のいずれか一つに記載の回答出力プログラム。
(Appendix 6) The first answer candidate is an answer candidate that has received a selection operation from among the top predetermined number of answer candidates for the question.
The second answer candidate is an answer candidate that does not accept the selection operation among the top predetermined number of answer candidates for the question.
The answer output program described in any one of the
(付記7)前記回答候補は、FAQ(Frequently Asked Question)である、ことを特徴とする付記1~6のいずれか一つに記載の回答出力プログラム。
(Appendix 7) The answer output program according to any one of the
(付記8)質問の入力を受け付け、
受け付けた前記質問に対応する複数の回答候補を特定し、
質問に対する選択操作を受け付けた1または複数の第1の回答候補と、質問に対する選択操作を受け付けなかった1または複数の第2の回答候補とを記憶する記憶部の記憶内容に基づく機械学習を行って、特定した前記複数の回答候補の中から、受け付けた前記質問に対する1または複数の回答候補を決定し、
決定した前記1または複数の回答候補を出力する、
処理をコンピュータが実行することを特徴とする回答出力方法。
(Appendix 8) Accepting the input of questions,
Identify multiple answer candidates corresponding to the received question,
Machine learning is performed based on the stored contents of the storage unit that stores one or more first answer candidates that have accepted the selection operation for the question and one or more second answer candidates that have not accepted the selection operation for the question. Then, from the specified plurality of answer candidates, one or more answer candidates for the received question are determined.
Output the determined one or more answer candidates,
An answer output method characterized by a computer performing processing.
(付記9)質問の入力を受け付け、
受け付けた前記質問に対応する複数の回答候補を特定し、
質問に対する選択操作を受け付けた1または複数の第1の回答候補と、質問に対する選択操作を受け付けなかった1または複数の第2の回答候補とを記憶する記憶部の記憶内容に基づく機械学習を行って、特定した前記複数の回答候補の中から、受け付けた前記質問に対する1または複数の回答候補を決定し、
決定した前記1または複数の回答候補を出力する、
制御部を有することを特徴とする情報処理装置。
(Appendix 9) Accepting the input of questions,
Identify multiple answer candidates corresponding to the received question,
Machine learning is performed based on the stored contents of the storage unit that stores one or more first answer candidates that have accepted the selection operation for the question and one or more second answer candidates that have not accepted the selection operation for the question. Then, from the specified plurality of answer candidates, one or more answer candidates for the received question are determined.
Output the determined one or more answer candidates,
An information processing device characterized by having a control unit.
101 情報処理装置
110,1010 記憶部
200 回答出力システム
201 端末
210 ネットワーク
220 FAQマスタ
230 アクセスログDB
240 教師データ(よゐこ)DB
250 教師データ(わるいこ)DB
260 教師データ(まいご)DB
300 バス
301 CPU
302 メモリ
303 I/F
304 ディスクドライブ
305 ディスク
900 FAQ画面
1001 受付部
1002 検索部
1003 決定部
1004 出力制御部
1005 生成部
1006 判定部
1007 特定部
1101,1102,1103,1301,1302,1303,1304,1701,1702,1703,1704,1705 アクセスログ
1500 分析DB
1900 教師データ(形態素)DB
101
240 Teacher data (Yoiko) DB
250 Teacher data (wariko) DB
260 Teacher Data (Maigo) DB
300
302 Memory 303 I / F
304
1900 Teacher data (morpheme) DB
Claims (4)
受け付けた前記質問に対応する複数の回答候補を特定し、
前記質問に対する前記回答候補のうち選択操作を受け付けた1または複数の第1の回答候補と、前記質問に対する前記回答候補のうち選択操作を受け付けなかった1または複数の第2の回答候補とを記憶する記憶部の記憶内容に基づく機械学習を行って、特定した前記複数の回答候補それぞれについて、受け付けた前記質問に対して表示された際に選択される第1の確率と、受け付けた前記質問に対して表示された際に選択されない第2の確率とを算出し、
算出した前記第1の確率と前記第2の確率とに基づいて、前記複数の回答候補のうち前記第2の確率が閾値以上の回答候補を除外した回答候補を、前記第1の確率が高い順にソートした1または複数の回答候補を、受け付けた前記質問に対する1または複数の回答候補に決定し、
決定した前記1または複数の回答候補を出力し、
前記質問に対する選択操作を受け付けた前記回答候補を示すログ情報を蓄積し、
蓄積した前記ログ情報に基づいて、前記質問に対して表示される上位所定数の前記回答候補のいずれかが選択される確率を算出し、
算出した前記確率の時系列変化に基づいて、前記閾値を調整し、
前記調整する処理は、算出した前記確率の時系列変化に基づいて、前記確率が下降傾向にあると判断した場合、前記閾値を所定値下げる、
処理をコンピュータに実行させることを特徴とする回答出力プログラム。 Accepts questions and accepts questions
Identify multiple answer candidates corresponding to the received question,
One or more first answer candidates that received the selection operation among the answer candidates for the question and one or more second answer candidates that did not accept the selection operation among the answer candidates for the question are stored. For each of the plurality of identified answer candidates by performing machine learning based on the stored contents of the storage unit, the first probability selected when displayed for the received question and the received question On the other hand, calculate the second probability that it will not be selected when it is displayed,
Based on the calculated first probability and the second probability, the answer candidate excluding the answer candidate whose second probability is equal to or greater than the threshold value among the plurality of answer candidates has a high first probability. One or more answer candidates sorted in order are determined as one or more answer candidates for the received question.
Output the determined one or more answer candidates ,
The log information indicating the answer candidate that accepted the selection operation for the question is accumulated, and the log information is accumulated.
Based on the accumulated log information, the probability that any of the top predetermined number of answer candidates displayed for the question will be selected is calculated.
The threshold is adjusted based on the calculated time-series change of the probability.
The adjustment process lowers the threshold value by a predetermined value when it is determined that the probability is on a downward trend based on the calculated time-series change of the probability.
An answer output program characterized by having a computer perform processing.
前記第2の回答候補は、前記質問に対する上位所定数の前記回答候補のうち選択操作を受け付けなかった回答候補である、The second answer candidate is an answer candidate that does not accept the selection operation from the top predetermined number of answer candidates for the question.
ことを特徴とする請求項1に記載の回答出力プログラム。The answer output program according to claim 1.
受け付けた前記質問に対応する複数の回答候補を特定し、Identify multiple answer candidates corresponding to the received question,
前記質問に対する前記回答候補のうち選択操作を受け付けた1または複数の第1の回答候補と、前記質問に対する前記回答候補のうち選択操作を受け付けなかった1または複数の第2の回答候補とを記憶する記憶部の記憶内容に基づく機械学習を行って、特定した前記複数の回答候補それぞれについて、受け付けた前記質問に対して表示された際に選択される第1の確率と、受け付けた前記質問に対して表示された際に選択されない第2の確率とを算出し、One or more first answer candidates that received the selection operation among the answer candidates for the question and one or more second answer candidates that did not accept the selection operation among the answer candidates for the question are stored. For each of the plurality of identified answer candidates by performing machine learning based on the stored contents of the storage unit, the first probability selected when displayed for the received question and the received question On the other hand, calculate the second probability that it will not be selected when it is displayed,
算出した前記第1の確率と前記第2の確率とに基づいて、前記複数の回答候補のうち前記第2の確率が閾値以上の回答候補を除外した回答候補を、前記第1の確率が高い順にソートした1または複数の回答候補を、受け付けた前記質問に対する1または複数の回答候補に決定し、Based on the calculated first probability and the second probability, the answer candidate excluding the answer candidate whose second probability is equal to or higher than the threshold value among the plurality of answer candidates has a high first probability. One or more answer candidates sorted in order are determined as one or more answer candidates for the received question.
決定した前記1または複数の回答候補を出力し、Output the determined one or more answer candidates,
前記質問に対する選択操作を受け付けた前記回答候補を示すログ情報を蓄積し、The log information indicating the answer candidate that accepted the selection operation for the question is accumulated, and the log information is accumulated.
蓄積した前記ログ情報に基づいて、前記質問に対して表示される上位所定数の前記回答候補のいずれかが選択される確率を算出し、Based on the accumulated log information, the probability that any of the top predetermined number of answer candidates displayed for the question will be selected is calculated.
算出した前記確率の時系列変化に基づいて、前記閾値を調整し、The threshold is adjusted based on the calculated time-series change of the probability.
前記調整する処理は、算出した前記確率の時系列変化に基づいて、前記確率が下降傾向にあると判断した場合、前記閾値を所定値下げる、The adjustment process lowers the threshold value by a predetermined value when it is determined that the probability is on a downward trend based on the calculated time-series change of the probability.
処理をコンピュータが実行することを特徴とする回答出力方法。An answer output method characterized by a computer performing processing.
受け付けた前記質問に対応する複数の回答候補を特定し、Identify multiple answer candidates corresponding to the received question,
前記質問に対する前記回答候補のうち選択操作を受け付けた1または複数の第1の回答候補と、前記質問に対する前記回答候補のうち選択操作を受け付けなかった1または複数の第2の回答候補とを記憶する記憶部の記憶内容に基づく機械学習を行って、特定した前記複数の回答候補それぞれについて、受け付けた前記質問に対して表示された際に選択される第1の確率と、受け付けた前記質問に対して表示された際に選択されない第2の確率とを算出し、One or more first answer candidates that received the selection operation among the answer candidates for the question and one or more second answer candidates that did not accept the selection operation among the answer candidates for the question are stored. For each of the plurality of identified answer candidates by performing machine learning based on the stored contents of the storage unit, the first probability selected when displayed for the received question and the received question On the other hand, calculate the second probability that it will not be selected when it is displayed,
算出した前記第1の確率と前記第2の確率とに基づいて、前記複数の回答候補のうち前記第2の確率が閾値以上の回答候補を除外した回答候補を、前記第1の確率が高い順にソートした1または複数の回答候補を、受け付けた前記質問に対する1または複数の回答候補に決定し、Based on the calculated first probability and the second probability, the answer candidate excluding the answer candidate whose second probability is equal to or higher than the threshold value among the plurality of answer candidates has a high first probability. One or more answer candidates sorted in order are determined as one or more answer candidates for the received question.
決定した前記1または複数の回答候補を出力し、Output the determined one or more answer candidates,
前記質問に対する選択操作を受け付けた前記回答候補を示すログ情報を蓄積し、The log information indicating the answer candidate that accepted the selection operation for the question is accumulated, and the log information is accumulated.
蓄積した前記ログ情報に基づいて、前記質問に対して表示される上位所定数の前記回答候補のいずれかが選択される確率を算出し、Based on the accumulated log information, the probability that any of the top predetermined number of answer candidates displayed for the question will be selected is calculated.
算出した前記確率の時系列変化に基づいて、前記閾値を調整し、The threshold is adjusted based on the calculated time-series change of the probability.
前記調整する処理は、算出した前記確率の時系列変化に基づいて、前記確率が下降傾向にあると判断した場合、前記閾値を所定値下げる、The adjustment process lowers the threshold value by a predetermined value when it is determined that the probability is on a downward trend based on the calculated time-series change of the probability.
制御部を有することを特徴とする情報処理装置。An information processing device characterized by having a control unit.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017207623A JP7009911B2 (en) | 2017-10-26 | 2017-10-26 | Answer output program, answer output method and information processing device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017207623A JP7009911B2 (en) | 2017-10-26 | 2017-10-26 | Answer output program, answer output method and information processing device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019079437A JP2019079437A (en) | 2019-05-23 |
JP7009911B2 true JP7009911B2 (en) | 2022-01-26 |
Family
ID=66628822
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017207623A Active JP7009911B2 (en) | 2017-10-26 | 2017-10-26 | Answer output program, answer output method and information processing device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7009911B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7096277B2 (en) * | 2020-02-28 | 2022-07-05 | Nttテクノクロス株式会社 | Prediction systems, prediction methods and programs |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011154467A (en) | 2010-01-26 | 2011-08-11 | Ntt Docomo Inc | Retrieval result ranking method and system |
JP2013510343A (en) | 2008-09-10 | 2013-03-21 | マイクロソフト コーポレーション | Document length as a static relevance feature for ranking search results |
JP2017049681A (en) | 2015-08-31 | 2017-03-09 | 国立研究開発法人情報通信研究機構 | Training device for question answering system and computer program therefor |
-
2017
- 2017-10-26 JP JP2017207623A patent/JP7009911B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013510343A (en) | 2008-09-10 | 2013-03-21 | マイクロソフト コーポレーション | Document length as a static relevance feature for ranking search results |
JP2011154467A (en) | 2010-01-26 | 2011-08-11 | Ntt Docomo Inc | Retrieval result ranking method and system |
JP2017049681A (en) | 2015-08-31 | 2017-03-09 | 国立研究開発法人情報通信研究機構 | Training device for question answering system and computer program therefor |
Also Published As
Publication number | Publication date |
---|---|
JP2019079437A (en) | 2019-05-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Jeon et al. | A framework to predict the quality of answers with non-textual features | |
CN109033229B (en) | Question and answer processing method and device | |
KR101301380B1 (en) | Ranking functions using a biased click distance of a document on a network | |
US6654744B2 (en) | Method and apparatus for categorizing information, and a computer product | |
US8082247B2 (en) | Best-bet recommendations | |
US8554716B1 (en) | Systems and methods for predictive coding | |
US7668789B1 (en) | Comparing distributions of cases over groups of categories | |
US7711737B2 (en) | Multi-document keyphrase extraction using partial mutual information | |
US7949644B2 (en) | Method and apparatus for constructing a compact similarity structure and for using the same in analyzing document relevance | |
WO2018157625A1 (en) | Reinforcement learning-based method for learning to rank and server | |
US20100293117A1 (en) | Method and system for facilitating batch mode active learning | |
EP0497960A1 (en) | Adaptive ranking system for information retrieval | |
CN109299245B (en) | Method and device for recalling knowledge points | |
US20100106704A1 (en) | Cross-lingual query classification | |
CN110287440B (en) | Search engine optimization method and device, computer equipment and computer-readable storage medium | |
US7895198B2 (en) | Gradient based optimization of a ranking measure | |
CN103020289A (en) | Method for providing individual needs of search engine user based on log mining | |
JP7009911B2 (en) | Answer output program, answer output method and information processing device | |
JP7009912B2 (en) | Answer output program, answer output method and information processing device | |
Mea et al. | Measuring retrieval effectiveness: A new proposal and a first experimental validation | |
JP5579140B2 (en) | Document search apparatus, method, and program | |
CN110413763B (en) | Automatic selection of search ranker | |
Demeester et al. | Predicting relevance based on assessor disagreement: analysis and practical applications for search evaluation | |
CN113656575B (en) | Training data generation method and device, electronic equipment and readable medium | |
CN109934689B (en) | Target object ranking interpretation method and device, electronic equipment and readable storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200709 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210521 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210608 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210805 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20211214 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20211227 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7009911 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |