(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-05
(45)【発行日】2024-01-16
(54)【発明の名称】出力方法、および出力プログラム
(51)【国際特許分類】
G06F 16/90 20190101AFI20240109BHJP
【FI】
G06F16/90 100
(21)【出願番号】P 2019184107
(22)【出願日】2019-10-04
【審査請求日】2022-06-09
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】100104190
【氏名又は名称】酒井 昭徳
(72)【発明者】
【氏名】鄭 育昌
【審査官】酒井 恭信
(56)【参考文献】
【文献】特開2012-079161(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00 - 16/958
(57)【特許請求の範囲】
【請求項1】
それぞれ回答文に対応付けられた複数の質問文を取得し、
取得した前記質問文ごとに、当該質問文について意味構造を解析した結果に基づいて、当該質問文に含まれる
関係性がある単語のペアと、当該ペアとなる単語間にどのような関係性があるかを示す概念関係子とを対応付けた、当該質問文の意味構造を形成する最小意味単位を1以上特定し、
前記質問文ごとに特定した前記
最小意味単位に基づいて、前記複数の質問文のうち、
それぞれ異なる回答文に対応付けられた、意味構造が類似する質問文のペアを検出し、前記質問文のペアを検出した場合、当該ペアとなる第1の質問文の意味構造と、当該ペアとなる第2の質問文の意味構造とで、相違する最小意味単位のペアを検出し、前記最小意味単位のペアを検出した場合、当該ペアとなる第1の最小意味単位と、当該ペアとなる第2の最小意味単位とで、相違する単語のペアを検出し、検出した前記最小意味単位のペアが1つであり、かつ、検出した前記単語のペアが同じ意味カテゴリに属する場合、検出した前記単語のペアとなる第1の単語と第2の単語とが交換可能であると判定し、
交換可能であると判定した場合、前記第1の質問文に含まれる前記第1の単語を変数化した第1の雛形質問文と、前記第2の質問文に含まれる前記第2の単語を変数化した第2の雛形質問文とを生成し、
生成した前記第1の雛形質問文と前記第2の雛形質問文とのグループに基づいて、
入力質問文が前記グループに含まれるいずれかの雛形質問文に対応する場合、前記グループに含まれる前記いずれかの雛形質問文とは異なる雛形質問文に基づいて、前記入力質問文と意味的に類似する類似質問文を生成し、前記複数の質問文の
うち、生成した前記類似質問文に対応する質問文を、前記入力質問文に対応する質問文として検索し、発見した前記入力質問文に対応する質問文に対応付けられた回答文
を、前記入力質問文に対する回答文
として出力する、
処理をコンピュータが実行することを特徴とする出力方法。
【請求項2】
交換可能であると判定した場合、前記複数の質問文のうち、前記第1の質問文と同じ回答文に対応付けられた第3の質問文に含まれる第3の単語を変数化した第3の雛形質問文と、前記複数の質問文のうち、前記第2の質問文と同じ回答文に対応付けられた第4の質問文に含まれる第4の単語を変数化した第4の雛形質問文とを生成する、処理を前記コンピュータが実行し、
前記出力する処理は、
生成した前記第1の雛形質問文と前記第2の雛形質問文と前記第3の雛形質問文と前記第4の雛形質問文とのグループに基づいて、
前記入力質問文が前記グループに含まれるいずれかの雛形質問文に対応する場合、前記グループに含まれる前記いずれかの雛形質問文とは異なる雛形質問文に基づいて、前記入力質問文と意味的に類似する類似質問文を生成し、前記複数の質問文のうち、
生成した前記類似質問文に対応する質問文を、前記入力質問文に対応する質問文として検索し、発見した前記入力質問文に対応する質問文に対応付けられた回答文
を、前記入力質問文に対する回答文
として出力する、ことを特徴とする請求項1に記載の出力方法。
【請求項3】
前記第1の最小意味単位と、前記第2の最小意味単位とで、検出した前記単語のペアとなる前記第1の単語と前記第2の単語とを交換した場合について、前記複数の質問文内での、交換前の前記第1の最小意味単位の出現頻度から、交換後の前記第1の最小意味単位の出現頻度への第1の減少量と、交換前の前記第2の最小意味単位の出現頻度から、交換後の前記第2の最小意味単位の出現頻度への第2の減少量とを算出する、処理を前記コンピュータが実行し、
前記判定する処理は、
算出した前記第1の減少量と前記第2の減少量とが共に閾値以下である場合、検出した前記単語のペアとなる前記第1の単語と前記第2の単語とが交換可能であると判定する、ことを特徴とする請求項1または2に記載の出力方法。
【請求項4】
交換可能であると判定した前記第1の単語と前記第2の単語との組ごとに、当該組の前記第1の単語を含む前記第1の質問文に含まれる当該組の前記第1の単語を当該組の前記第2の単語に置換して得られる新規質問文を、当該組の前記第2の単語を含む前記第2の質問文に対応付けられた回答文に対応付けて出力する、処理を前記コンピュータが実行することを特徴とする請求項1~3のいずれか一つに記載の出力方法。
【請求項5】
前記質問文は、名詞および動詞を含む文であり、
前記関係性は、名詞と動詞との関係性である、ことを特徴とする請求項1~4のいずれか一つに記載の出力方法。
【請求項6】
前記生成する処理は、
交換可能であると判定した場合、前記第1の質問文に含まれる前記第1の単語を前記第1の単語および前記第2の単語を包括的に示す変数記号に置換した第1の雛形質問文と、前記第2の質問文に含まれる前記第2の単語を前記第1の単語および前記第2の単語を包括的に示す変数記号に置換した第2の雛形質問文とを生成する、ことを特徴とする請求項1~5のいずれか一つに記載の出力方法。
【請求項7】
前記生成する処理は、
交換可能であると判定した場合、前記第1の質問文に含まれる前記第1の単語を前記第1の単語および前記第2の単語と同じ意味カテゴリに属する単語を包括的に示す変数記号に置換した第1の雛形質問文と、前記第2の質問文に含まれる前記第2の単語を前記第1の単語および前記第2の単語と同じ意味カテゴリに属する単語を包括的に示す変数記号に置換した第2の雛形質問文とを生成する、ことを特徴とする請求項1~6のいずれか一つに記載の出力方法。
【請求項8】
所定の検索方法により、前記複数の質問文のそれぞれの質問文に対応付けられた回答文の中から発見された、前記入力質問文に対する回答文を取得し、
前記グループに基づいて、前記入力質問文が前記グループに含まれるいずれかの雛形質問文に対応する場合、前記グループに含まれる前記いずれかの雛形質問文とは異なる雛形質問文に基づいて、前記入力質問文と意味的に類似する類似質問文を生成し、前記複数の質問文のうち、生成した前記類似質問文に対応する質問文を、前記入力質問文に対応する質問文として検索し、発見した前記入力質問文に対応する質問文に対応付けられた回答文を、前記入力質問文に対する回答文として検索する、処理を前記コンピュータが実行し、
前記出力する処理は、
取得した前記回答文と、検索した結果とに基づいて、前記入力質問文に対する回答文を出力する、ことを特徴とする請求項1~7のいずれか一つに記載の出力方法。
【請求項9】
出力した前記入力質問文に対する回答文についての登録指示を受け付け、
前記登録指示を受け付けた場合、出力した前記入力質問文に対する回答文と、前記入力質問文とを対応付けて記憶する、処理を前記コンピュータが実行することを特徴とする請求項1~8のいずれか一つに記載の出力方法。
【請求項10】
それぞれ回答文に対応付けられた複数の質問文を取得し、
取得した前記質問文ごとに、当該質問文について意味構造を解析した結果に基づいて、当該質問文に含まれる関係性がある単語のペアと、当該ペアとなる単語間にどのような関係性があるかを示す概念関係子とを対応付けた、当該質問文の意味構造を形成する最小意味単位を1以上特定し、
前記質問文ごとに特定した前記最小意味単位に基づいて、前記複数の質問文のうち、それぞれ異なる回答文に対応付けられた、意味構造が類似する質問文のペアを検出し、前記質問文のペアを検出した場合、当該ペアとなる第1の質問文の意味構造と、当該ペアとなる第2の質問文の意味構造とで、相違する最小意味単位のペアを検出し、前記最小意味単位のペアを検出した場合、当該ペアとなる第1の最小意味単位と、当該ペアとなる第2の最小意味単位とで、相違する単語のペアを検出し、検出した前記最小意味単位のペアが1つであり、かつ、検出した前記単語のペアが同じ意味カテゴリに属する場合、検出した前記単語のペアとなる第1の単語と第2の単語とが交換可能であると判定し、
交換可能であると判定した場合、前記第1の質問文に含まれる前記第1の単語を変数化した第1の雛形質問文と、前記第2の質問文に含まれる前記第2の単語を変数化した第2の雛形質問文とを生成し、
生成した前記第1の雛形質問文と前記第2の雛形質問文とのグループに基づいて、入力質問文が前記グループに含まれるいずれかの雛形質問文に対応する場合、前記グループに含まれる前記いずれかの雛形質問文とは異なる雛形質問文に基づいて、前記入力質問文と意味的に類似する類似質問文を生成し、前記複数の質問文のうち、生成した前記類似質問文に対応する質問文を、前記入力質問文に対応する質問文として検索し、発見した前記入力質問文に対応する質問文に対応付けられた回答文を、前記入力質問文に対する回答文として出力する、
処理をコンピュータに実行させることを特徴とする出力プログラム。
【請求項11】
それぞれ回答文に対応付けられた複数の質問文を取得し、
取得した前記質問文ごとに、当該質問文について意味構造を解析した結果に基づいて、当該質問文に含まれる関係性がある単語のペアと、当該ペアとなる単語間にどのような関係性があるかを示す概念関係子とを対応付けた、当該質問文の意味構造を形成する最小意味単位を1以上特定し、
前記質問文ごとに特定した前記最小意味単位に基づいて、前記複数の質問文のうち、それぞれ異なる回答文に対応付けられた、意味構造が類似する質問文のペアを検出し、前記質問文のペアを検出した場合、当該ペアとなる第1の質問文の意味構造と、当該ペアとなる第2の質問文の意味構造とで、相違する最小意味単位のペアを検出し、前記最小意味単位のペアを検出した場合、当該ペアとなる第1の最小意味単位と、当該ペアとなる第2の最小意味単位とで、相違する単語のペアを検出し、検出した前記最小意味単位のペアが1つであり、かつ、検出した前記単語のペアが同じ意味カテゴリに属する場合、検出した前記単語のペアとなる第1の単語と第2の単語とが交換可能であると判定し、
交換可能であると判定した前記第1の単語と前記第2の単語との組ごとに、当該組の前記第1の単語を含む前記第1の質問文に含まれる当該組の前記第1の単語を当該組の前記第2の単語に置換して得られる新規質問文を、当該組の前記第2の単語を含む前記第2の質問文に対応付けられた回答文に対応付けて出力する、
処理をコンピュータが実行することを特徴とする出力方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、出力方法、および出力プログラムに関する。
【背景技術】
【0002】
従来、それぞれ回答文に対応付けられた複数の質問文の中から、ユーザによる入力質問文に対応する質問文を検索し、発見した質問文に対応付けられた回答文を出力するFAQ(Frequently Asked Questions)サービスがある。
【0003】
先行技術としては、例えば、同一の回答文書に対応した質問文書集合におけるすべての文対に対して、質問文言い換えモデルを用いて言い換え文対であるかどうかを判定するものがある。また、例えば、入力質問から特徴語を選択し、特徴語を置き換えた変形質問に基づく検索処理を実行し、さらに、当該検索処理の検索結果に含まれる拡張語を選択し、拡張語に基づく検索処理を実行する技術がある。
【先行技術文献】
【特許文献】
【0004】
【文献】国際公開第2008/078670号
【文献】特開2006-252380号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、従来技術では、複数の質問文の中から、入力質問文に意味的に類似する質問文などの、入力質問文に対応する適切な質問文を発見することができず、ユーザが所望する回答文を出力することができない場合がある。例えば、ユーザによって、入力質問文は、様々な態様で表現され、複数の質問文のいずれの質問文とも一致しないことがあり、入力質問文に対応する適切な質問文を発見することができない場合がある。
【0006】
1つの側面では、本発明は、ユーザが所望する回答文を出力する確率の向上を図ることを目的とする。
【課題を解決するための手段】
【0007】
1つの実施態様によれば、それぞれ回答文に対応付けられた複数の質問文を取得し、取得した前記質問文ごとに、当該質問文について意味構造を解析した結果に基づいて、当該質問文に含まれる単語間の関係性を特定し、前記質問文ごとに特定した前記関係性に基づいて、前記複数の質問文のうち、第1の質問文に含まれる第1の単語と、前記第1の質問文とは異なる回答文に対応付けられた第2の質問文に含まれる第2の単語とが交換可能であるか否かを判定し、交換可能であると判定した場合、前記第1の質問文に含まれる前記第1の単語を変数化した第1の雛形質問文と、前記第2の質問文に含まれる前記第2の単語を変数化した第2の雛形質問文とを生成し、生成した前記第1の雛形質問文と前記第2の雛形質問文とのグループに基づいて、前記複数の質問文のそれぞれの質問文に対応付けられた回答文のうち、入力質問文に対する回答文を出力する出力方法、および出力プログラムが提案される。
【発明の効果】
【0008】
一態様によれば、ユーザが所望する回答文を出力する確率の向上を図ることが可能になる。
【図面の簡単な説明】
【0009】
【
図1】
図1は、実施の形態にかかる出力方法の一実施例を示す説明図である。
【
図2】
図2は、FAQサービス提供システム200の一例を示す説明図である。
【
図3】
図3は、情報処理装置100のハードウェア構成例を示すブロック図である。
【
図4】
図4は、FAQDB400の記憶内容の一例を示す説明図である。
【
図5】
図5は、意味構造DB500の記憶内容の一例を示す説明図である。
【
図6】
図6は、辞書DB600の記憶内容の一例を示す説明図である。
【
図7】
図7は、情報処理装置100の機能的構成例を示すブロック図である。
【
図8】
図8は、実施例1にかかる情報処理装置100の具体的な機能的構成例を示すブロック図である。
【
図9】
図9は、実施例1にかかる情報処理装置100が質問拡張パターンP1を学習する具体例を示す説明図(その1)である。
【
図10】
図10は、実施例1にかかる情報処理装置100が質問拡張パターンP1を学習する具体例を示す説明図(その2)である。
【
図11】
図11は、実施例1にかかる情報処理装置100が入力質問文に対する回答文を出力する具体例を示す説明図である。
【
図12】
図12は、実施例1にかかる学習処理手順の一例を示すフローチャートである。
【
図13】
図13は、実施例1にかかる検索処理手順の一例を示すフローチャートである。
【
図14】
図14は、実施例2にかかる情報処理装置100が質問拡張パターンP1を学習する具体例を示す説明図である。
【
図15】
図15は、実施例2にかかる情報処理装置100が入力質問文に対する回答文を出力する具体例を示す説明図である。
【
図16】
図16は、実施例3にかかる情報処理装置100の具体的な機能的構成例を示すブロック図である。
【
図17】
図17は、実施例3にかかる検索処理手順の一例を示すフローチャートである。
【
図18】
図18は、実施例4にかかる情報処理装置100の具体的な機能的構成例を示すブロック図である。
【
図19】
図19は、実施例4にかかる学習処理手順の一例を示すフローチャートである。
【
図20】
図20は、実施例5にかかる情報処理装置100の具体的な機能的構成例を示すブロック図である。
【
図21】
図21は、実施例5にかかる情報処理装置100がFAQDB400を更新する具体例を示す説明図である。
【
図22】
図22は、実施例5にかかる学習処理手順の一例を示すフローチャートである。
【
図23】
図23は、情報処理装置100により得られる効果を示す説明図である。
【発明を実施するための形態】
【0010】
以下に、図面を参照して、本発明にかかる出力方法、および出力プログラムの実施の形態を詳細に説明する。
【0011】
(実施の形態にかかる出力方法の一実施例)
図1は、実施の形態にかかる出力方法の一実施例を示す説明図である。
図1において、情報処理装置100は、それぞれ回答文に対応付けられた複数の質問文のうち、受け付けた入力質問文に対応する適切な質問文を発見しやすくし、ユーザが所望する回答文を出力しやすくするためのコンピュータである。
【0012】
ユーザは、所定のサービスを利用する者である。ユーザは、例えば、入力質問文を作成した作成者である。ユーザは、情報処理装置100を直接操作する操作者でなくてよい。所定のサービスは、例えば、FAQサービスである。
【0013】
従来、FAQサービスにおいて、複数の質問文のうち、入力質問文と一致する質問文に対応付けられた回答文を出力する手法が考えられる。
【0014】
しかしながら、この手法では、複数の質問文のうち、入力質問文に対応する適切な質問文を発見することができず、ユーザが所望する回答文を出力することができない場合がある。例えば、ユーザによって、入力質問文は、様々な態様で表現されるため、複数の質問文のうち、入力質問文と一致する質問文が存在せず、回答文を出力することができない場合がある。
【0015】
これに対し、複数の質問文のそれぞれの質問文を最小意味単位に分解し、入力質問文を受け付けた際に、入力質問文も最小意味単位に分解し、複数の質問文のうち、入力質問文と同じ最小意味単位を含む質問文に対応付けられた回答文を出力する手法が考えられる。最小意味単位は、単語のペアと、当該ペアとなる単語間に関する概念関係子とを対応付けた情報である。この手法については、例えば、下記参考文献1を参照することができる。
【0016】
参考文献1 : 特開2013-186766号公報
【0017】
この手法でも、複数の質問文のうち、入力質問文に対応する適切な質問文を発見することができず、ユーザが所望する回答文を出力することができない場合がある。例えば、ユーザによって、入力質問文は、様々な態様で表現されるため、複数の質問文のうち、入力質問文と同じ最小意味単位を含む質問文が存在せず、回答文を出力することができない場合がある。
【0018】
また、例えば、ユーザによって、入力質問文は、様々な態様で表現されるため、複数の質問文のうち、入力質問文とは意味的に類似しない質問文が、入力質問文と同じ最小意味単位を含む場合がある。この場合、複数の質問文のうち、入力質問文と同じ最小意味単位を含む質問文に対応付けられた回答文は、ユーザが所望する回答文とは一致しない傾向があり、ユーザが所望する回答文を出力することは難しい。
【0019】
また、FAQサービスにおいて、管理者が、ユーザによって、入力質問文が、どのような態様で表現されるかを予め想定し、それぞれ回答文と対応付けられた複数の質問文を、様々な態様で用意しておく手法が考えられる。
【0020】
この手法でも、ユーザによって、入力質問文が、どのような態様で表現されるかを予め想定することは難しく、入力質問文に対応する適切な質問文を用意することは難しく、ユーザが所望する回答文を出力することは難しい。また、管理者の作業負担の増大化を招くことがある。
【0021】
そこで、本実施の形態では、単語が交換可能である類似する質問文のペアから生成した、単語を変数化して得られる雛形質問文のペアを利用して、入力質問文に対する回答文を出力しやすくすることができる出力方法について説明する。
【0022】
図1の例では、(1-1)情報処理装置100は、それぞれ回答文に対応付けられた複数の質問文を取得する。複数の質問文は、例えば、情報処理装置100が有する記憶装置110を用いて記憶される。複数の質問文は、例えば、過去のユーザの入力質問文の履歴から抽出され、または、管理者によって作成される。回答文は、例えば、管理者によって作成される。
【0023】
情報処理装置100は、例えば、複数の質問文を、記憶装置110から読み出すことにより取得する。ここで、2以上の質問文が、同じ回答文に対応付けられてもよい。例えば、質問文群Q1が、同じ回答文A1に対応付けられる。同じ回答文に対応付けられた質問文群は、異なる態様で表現されていても、同じ意味を有する質問文群として扱うことができる。意味とは、ユーザの質問意図に対応する。
【0024】
以下では、質問文群Q2と質問文群Q3とを一例として用いて、情報処理装置100の動作について説明する。
【0025】
ここで、質問文群Q2に含まれる質問文Q2-aと質問文Q2-bとは、同じ回答文に対応付けられ、同じ質問意図を有する異なる表現態様の質問文のペアであることを前提とする。同様に、質問文群Q3に含まれる質問文Q3-aと質問文Q3-bとは、同じ回答文に対応付けられ、同じ質問意図を有する異なる表現態様の質問文のペアであることを前提とする。
【0026】
また、質問文Q2-bと質問文Q3-aとを一例として用いて、質問文Q2-bと質問文Q3-aとについて、互いに相違する単語のペアがある部分「XX」を、同じ単語で共通化すると、質問文Q2-bと質問文Q3-aとが、同じ質問意図になることを仮定する。単語は、例えば、名詞である。
【0027】
上記仮定が成立すれば、質問文Q2-bと質問文Q3-aとのペアを参照して、同じ質問意図を有するが、異なる表現態様である雛型質問文のペアが生成可能になると考えられる。雛型質問文は、少なくともいずれかの単語が変数化され、何らかの単語を代入可能にされた質問文である。そして、雛型質問文のペアに基づいて、何らかの質問文を、異なる表示態様の他の質問文に拡張可能になると考えられる。このため、情報処理装置100は、上記仮定が成立するか否かを検証する。
【0028】
(1-2)情報処理装置100は、上記仮定の検証のため、取得した質問文ごとに、当該質問文について意味構造を解析した結果に基づいて、当該質問文に含まれる単語間の関係性を特定する。関係性は、単語のペアと、当該ペアとなる単語間にどのような関係性があるかを示す概念関係子により表現される。例えば、質問文Q2-bに含まれる単語「ワード」と単語「実行」との間には、概念関係子「OBJ」が示す関係性がある。単語「ワード」は、口語的に文書作成ソフトウェアを示す単語である。文書作成ソフトウェアは、例えば、Microsoft Word(登録商標)である。
【0029】
(1-3)情報処理装置100は、上記仮定の検証のため、質問文ごとに特定した関係性に基づいて、複数の質問文のうち、第1の質問文に含まれる第1の単語と、第2の質問文に含まれる第2の単語とが交換可能であるか否かを判定する。第2の質問文は、複数の質問文のうち、第1の質問文とは異なる回答文に対応付けられた質問文である。
【0030】
図1の例では、情報処理装置100は、質問文Q2-bに含まれる単語「ワード」と、質問文Q3-aに含まれる単語「家計簿」とが交換可能であるか否かを判定する。単語「家計簿」は、口語的に家計管理ソフトウェアを示す単語である。ここでは、情報処理装置100は、質問文Q2-bに含まれる単語「ワード」と、質問文Q3-aに含まれる単語「家計簿」とが交換可能であると判定する。
【0031】
交換可能であれば、質問文Q2-bと質問文Q3-aとのペアで、単語「ワード」と単語「家計簿」とのペアを、単語「ワード」に共通化可能であり、かつ、単語「家計簿」に共通化可能であることになる。従って、交換可能であれば、質問文Q2-bと質問文Q3-aとのペアは、上記仮定が成立するペアであると扱うことができる。
【0032】
(1-4)情報処理装置100は、交換可能であると判定した場合、第1の質問文に含まれる第1の単語を変数化した第1の雛形質問文と、第2の質問文に含まれる第2の単語を変数化した第2の雛形質問文とを生成する。
図1の例では、情報処理装置100は、雛型質問文T1-aと、雛型質問文T1-bとのグループT1を生成する。
【0033】
(1-5)情報処理装置100は、入力質問文を受け付ける。
図1の例では、情報処理装置100は、入力質問文「ワードが開始できなかった」を受け付けたとする。
【0034】
(1-6)情報処理装置100は、生成した第1の雛形質問文と第2の雛形質問文とのグループに基づいて、複数の質問文のそれぞれの質問文に対応付けられた回答文のうち、入力質問文に対する回答文を出力する。
【0035】
図1の例では、情報処理装置100は、グループT1に基づいて、入力質問文「ワードが開始できなかった」が、単語「ワード」を代入した雛型質問文T1-b「ワードが開始できなかった」と一致すると判定する。このため、単語「ワード」を代入した雛型質問文T1-a「ワードの開始に失敗した」も、入力質問文「ワードが開始できなかった」と同じ質問意図を有する新規質問文として扱うことができる。
【0036】
従って、情報処理装置100は、入力質問文「ワードが開始できなかった」の他、単語「ワード」を代入した雛型質問文T1-a「ワードの開始に失敗した」でも、記憶装置110に記憶された質問文を検索する。そして、情報処理装置100は、発見した質問文に対応付けられた回答文を、入力質問文「ワードが開始できなかった」に対する回答文として出力する。
【0037】
これにより、情報処理装置100は、入力質問文「ワードが開始できなかった」のみで、記憶装置110に記憶された質問文を検索する場合に比べて、入力質問文「ワードが開始できなかった」に対応する適切な質問文を発見する確率の向上を図ることができる。結果として、情報処理装置100は、ユーザが所望する回答文を出力する確率の向上を図ることができる。
【0038】
ここでは、情報処理装置100が、単語を交換可能であると判定した第1の質問文と第2の質問文とから、雛形質問文を生成する場合について説明したが、これに限らない。例えば、情報処理装置100が、第1の質問文と同じ回答文に対応付けられた第3の質問文から、さらに雛形質問文を生成する場合、および、第2の質問文と同じ回答文に対応付けられた第4の質問文から、さらに雛形質問文を生成する場合などがあってもよい。
【0039】
この場合、情報処理装置100は、交換可能であると判定した場合、複数の質問文のうち、第1の質問文と同じ回答文に対応付けられた第3の質問文に含まれる第3の単語を変数化した第3の雛形質問文を生成する。
図1の例では、情報処理装置100は、雛型質問文T1-cを、さらにグループT1に含めることになる。
【0040】
また、情報処理装置100は、交換可能であると判定した場合、複数の質問文のうち、第2の質問文と同じ回答文に対応付けられた第4の質問文に含まれる第4の単語を変数化した第4の雛形質問文を生成する。
図1の例では、情報処理装置100は、雛型質問文T1-dを、さらにグループT1に含めることになる。
【0041】
そして、情報処理装置100は、生成した雛形質問文を纏めたグループに基づいて、複数の質問文のそれぞれの質問文に対応付けられた回答文のうち、入力質問文に対する回答文を出力する。
図1の例では、情報処理装置100は、グループT1に基づいて、入力質問文の他、単語「ワード」を代入した雛型質問文T1-aと、雛型質問文T1-cと、雛型質問文T1-dとでも、記憶装置110に記憶された質問文を検索することになる。
【0042】
これにより、情報処理装置100は、入力質問文「ワードが開始できなかった」のみで、記憶装置110に記憶された質問文を検索する場合に比べて、入力質問文「ワードが開始できなかった」に対応する適切な質問文を発見する確率の向上を図ることができる。結果として、情報処理装置100は、さらに、ユーザが所望する回答文を出力する確率の向上を図ることができる。
【0043】
ここでは、情報処理装置100が、雛型質問文のグループに基づいて、入力質問文「ワードが開始できなかった」と同じ質問意図を有する新規質問文で、記憶装置110に記憶された質問文を検索する場合について説明したが、これに限らない。例えば、情報処理装置100が、雛型質問文のグループに基づいて、記憶装置110に記憶された質問文から新規質問文を生成しておき、回答文と対応付けて、記憶装置110に追加しておく場合があってもよい。
【0044】
これにより、情報処理装置100は、入力質問文に基づいて発見可能な、入力質問文に対応する適切な質問文が、記憶装置110に含まれる確率の向上を図ることができる。このため、情報処理装置100は、入力質問文に対応する適切な質問文を発見する確率の向上を図ることができる。結果として、情報処理装置100は、さらに、ユーザが所望する回答文を出力する確率の向上を図ることができる。
【0045】
(FAQサービス提供システム200の一例)
次に、
図2を用いて、
図1に示した情報処理装置100を適用した、FAQサービス提供システム200の一例について説明する。
【0046】
図2は、FAQサービス提供システム200の一例を示す説明図である。
図2において、FAQサービス提供システム200は、情報処理装置100と、1以上のクライアント装置201とを含む。
【0047】
FAQサービス提供システム200において、情報処理装置100とクライアント装置201とは、有線または無線のネットワーク210を介して接続される。ネットワーク210は、例えば、LAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどである。
【0048】
情報処理装置100は、FAQサービスを提供するためのコンピュータである。情報処理装置100は、
図4~
図6に後述する各種DB(DataBase)を記憶する。情報処理装置100は、入力質問文を、クライアント装置201から受信する。情報処理装置100は、各種DBを参照して、入力質問文に対する回答文を、クライアント装置201に送信する。
【0049】
情報処理装置100は、例えば、各種DBを参照して、雛型質問文のグループを学習する。情報処理装置100は、例えば、各種DBを参照して、学習した雛型質問文のグループに基づいて、入力質問文に対する回答文を検索し、発見した回答文を、クライアント装置201に送信する。情報処理装置100は、例えば、サーバやPC(Personal Computer)などである。
【0050】
クライアント装置201は、FAQシステムのユーザによって用いられるコンピュータである。クライアント装置201は、ユーザの操作入力に基づき、入力質問文を受け付け、入力質問文を、情報処理装置100に送信する。クライアント装置201は、入力質問文を送信した結果、入力質問文に対する回答文を情報処理装置100から受信して出力する。出力形式は、例えば、ディスプレイへの表示、プリンタへの印刷出力、または、記憶領域への記憶などである。これにより、クライアント装置201は、ユーザが、入力質問文に対する回答文を把握可能にすることができる。クライアント装置201は、例えば、PC、タブレット端末、または、スマートフォンなどである。
【0051】
ここでは、情報処理装置100と、クライアント装置201とが異なる装置である場合について説明したが、これに限らない。例えば、情報処理装置100が、クライアント装置201と一体である場合があってもよい。
【0052】
ここでは、情報処理装置100が、雛型質問文のグループを学習し、かつ、雛型質問文のグループに基づいて、入力質問文に対する回答文を検索する場合について説明したが、これに限らない。例えば、情報処理装置100が、雛型質問文のグループを学習し、他のコンピュータに送信し、他のコンピュータで、雛型質問文のグループに基づいて、入力質問文に対する回答文を検索する場合があってもよい。他のコンピュータは、例えば、クライアント装置201であってもよい。
【0053】
(情報処理装置100のハードウェア構成例)
次に、
図3を用いて、情報処理装置100のハードウェア構成例について説明する。
【0054】
図3は、情報処理装置100のハードウェア構成例を示すブロック図である。
図3において、情報処理装置100は、CPU(Central Processing Unit)301と、メモリ302と、ネットワークI/F(Interface)303と、記録媒体I/F304と、記録媒体305とを有する。また、各構成部は、バス300によってそれぞれ接続される。
【0055】
ここで、CPU301は、情報処理装置100の全体の制御を司る。メモリ302は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)およびフラッシュROMなどを有する。具体的には、例えば、フラッシュROMやROMが各種プログラムを記憶し、RAMがCPU301のワークエリアとして使用される。メモリ302に記憶されるプログラムは、CPU301にロードされることで、コーディングされている処理をCPU301に実行させる。
【0056】
ネットワークI/F303は、通信回線を通じてネットワーク210に接続され、ネットワーク210を介して他のコンピュータに接続される。そして、ネットワークI/F303は、ネットワーク210と内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。ネットワークI/F303は、例えば、モデムやLANアダプタなどである。
【0057】
記録媒体I/F304は、CPU301の制御に従って記録媒体305に対するデータのリード/ライトを制御する。記録媒体I/F304は、例えば、ディスクドライブ、SSD(Solid State Drive)、USB(Universal Serial Bus)ポートなどである。記録媒体305は、記録媒体I/F304の制御で書き込まれたデータを記憶する不揮発メモリである。記録媒体305は、例えば、ディスク、半導体メモリ、USBメモリなどである。記録媒体305は、情報処理装置100から着脱可能であってもよい。
【0058】
情報処理装置100は、上述した構成部の他、例えば、キーボード、マウス、ディスプレイ、プリンタ、スキャナ、マイク、スピーカーなどを有してもよい。また、情報処理装置100は、記録媒体I/F304や記録媒体305を複数有していてもよい。また、情報処理装置100は、記録媒体I/F304や記録媒体305を有していなくてもよい。
【0059】
(FAQDB400の記憶内容)
次に、
図4を用いて、FAQDB400の記憶内容の一例について説明する。FAQDB400は、例えば、
図3に示した情報処理装置100のメモリ302や記録媒体305などの記憶領域により実現される。
【0060】
図4は、FAQDB400の記憶内容の一例を示す説明図である。
図4に示すように、FAQDB400は、FAQIDと、質問(Q)と、回答(A)とのフィールドを有する。FAQDB400は、FAQごとに各フィールドに情報を設定することにより、FAQ情報がレコード400-aとして記憶される。aは、任意の整数である。
図4の例では、aは、1~4の任意の整数である。
【0061】
FAQIDのフィールドには、FAQを識別するFAQIDが設定される。FAQは、質問文と回答文とのペアである。質問(Q)のフィールドには、FAQを形成する質問文が設定される。回答(A)のフィールドには、FAQを形成する回答文が設定される。
【0062】
(意味構造DB500の記憶内容)
次に、
図5を用いて、意味構造DB500の記憶内容の一例について説明する。意味構造DB500は、例えば、
図3に示した情報処理装置100のメモリ302や記録媒体305などの記憶領域により実現される。
【0063】
図5は、意味構造DB500の記憶内容の一例を示す説明図である。
図5に示すように、意味構造DB500は、文IDと、原文と、意味構造とのフィールドを有する。意味構造DB500は、質問文ごとに各フィールドに情報を設定することにより、意味構造情報がレコード500-bとして記憶される。bは、任意の整数である。
図5の例では、bは、1,2の任意の整数である。
【0064】
文IDのフィールドには、質問文を識別する文IDが設定される。原文のフィールドには、質問文が設定される。意味構造のフィールドには、質問文の意味構造が設定される。質問文の意味構造は、最小意味単位の集合により表現される。最小意味単位は、質問文に含まれる関係性がある単語のペアと、当該ペアとなる単語間にどのような関係性があるかを示す概念関係子とを対応付けた情報である。
図5の例では、最小意味単位は、{[単語1],[単語2],[単語間関係性]}と表現される。
【0065】
(辞書DB600の記憶内容)
次に、
図6を用いて、辞書DB600の記憶内容の一例について説明する。辞書DB600は、例えば、
図3に示した情報処理装置100のメモリ302や記録媒体305などの記憶領域により実現される。
【0066】
図6は、辞書DB600の記憶内容の一例を示す説明図である。
図6に示すように、辞書DB600は、カテゴリIDと、同義類義語集合と、意味とのフィールドを有する。辞書DB600は、意味カテゴリごとに各フィールドに情報を設定することにより、同義類義情報がレコード600-cとして記憶される。cは、任意の整数である。
図6の例では、cは、1,2の任意の整数である。
【0067】
カテゴリIDのフィールドには、意味カテゴリを識別するカテゴリIDが設定される。同義類義語集合のフィールドには、意味カテゴリに属する同義語や類義語などの集合が設定される。意味のフィールドには、意味カテゴリが示す単語が有する意味が設定される。
【0068】
(クライアント装置201のハードウェア構成例)
クライアント装置201のハードウェア構成例は、
図3に示した、情報処理装置100のハードウェア構成例と同様であるため、説明を省略する。
【0069】
(情報処理装置100の機能的構成例)
次に、
図7を用いて、情報処理装置100の機能的構成例について説明する。
【0070】
図7は、情報処理装置100の機能的構成例を示すブロック図である。
図7において、情報処理装置100は、記憶部700と、取得部701と、特定部702と、判定部703と、生成部704と、検索部705と、拡張部706と、出力部707とを含む。
【0071】
記憶部700は、例えば、
図3に示したメモリ302や記録媒体305などの記憶領域によって実現される。以下では、記憶部700が、情報処理装置100に含まれる場合について説明するが、これに限らない。例えば、記憶部700が、情報処理装置100とは異なる装置に含まれ、記憶部700の記憶内容が情報処理装置100から参照可能である場合があってもよい。
【0072】
取得部701~出力部707は、制御部の一例として機能する。取得部701~出力部707は、具体的には、例えば、
図3に示したメモリ302や記録媒体305などの記憶領域に記憶されたプログラムをCPU301に実行させることにより、または、ネットワークI/F303により、その機能を実現する。各機能部の処理結果は、例えば、
図3に示したメモリ302や記録媒体305などの記憶領域に記憶される。
【0073】
記憶部700は、各機能部の処理において参照され、または更新される各種情報を記憶する。記憶部700は、それぞれ回答文に対応付けられた複数の質問文を記憶する。質問文は、例えば、自然言語文である。回答文は、例えば、自然言語文である。質問文は、例えば、名詞および動詞を含む。質問文や回答文は、例えば、日本語を用いて記述される。質問文や回答文は、例えば、日本語以外の言語を用いて記述される場合があってもよい。記憶部700は、例えば、
図4に示したFAQDB400を記憶する。
【0074】
記憶部700は、質問文に含まれる単語間の関係性を記憶する。関係性は、例えば、名詞と名詞との関係性、名詞と動詞との関係性、動詞と動詞との関係性などである。記憶部700は、例えば、質問文の意味構造を形成する1以上の最小意味単位を記憶する。記憶部700は、具体的には、
図5に示した意味構造DB500を記憶する。記憶部700は、単語が属する意味カテゴリを記憶する。記憶部700は、例えば、
図6に示した辞書DB600を記憶する。
【0075】
記憶部700は、雛型質問文のグループを記憶する。雛型質問文は、少なくともいずれかの単語が変数化された質問文である。雛型質問文は、変数化された部分に、条件を満たす何らかの単語を代入可能にされた質問文である。条件は、例えば、特定の意味カテゴリに属することである。雛型質問文のグループは、生成部704によって生成される。
【0076】
取得部701は、各機能部の処理に用いられる各種情報を取得する。取得部701は、取得した各種情報を、記憶部700に記憶し、または、各機能部に出力する。また、取得部701は、記憶部700に記憶しておいた各種情報を、各機能部に出力してもよい。取得部701は、例えば、管理者の操作入力に基づき、各種情報を取得する。取得部701は、例えば、情報処理装置100とは異なる装置から、各種情報を受信してもよい。
【0077】
取得部701は、それぞれ回答文に対応付けられた複数の質問文を取得する。取得部701は、例えば、管理者の操作入力に基づき、それぞれ回答文に対応付けられた複数の質問文を取得する。取得部701は、例えば、それぞれ回答文に対応付けられた複数の質問文を、着脱可能な記録媒体305から読み込むことにより取得してもよい。
【0078】
取得部701は、入力質問文を取得する。入力質問文は、例えば、自然言語文である。取得部701は、例えば、入力質問文をクライアント装置201から受信することにより取得する。取得部701は、例えば、管理者の操作入力に基づき、入力質問文を取得してもよい。
【0079】
取得部701は、所定の検索方法により、複数の質問文のそれぞれの質問文に対応付けられた回答文の中から発見された、入力質問文に対する回答文を取得してもよい。取得部701は、例えば、所定の検索方法を実行可能な他のコンピュータから、入力質問文に対する回答文を受信することにより取得する。
【0080】
取得部701は、入力質問文に対する回答文についての登録指示を受け付ける。登録指示は、例えば、入力質問文に対する回答文が、ユーザが所望する回答文である場合、ユーザによって生成される。取得部701は、入力質問文に対する回答文についての登録指示を、クライアント装置201から受信することにより取得する。
【0081】
取得部701は、いずれかの機能部の処理を開始する開始トリガーを受け付けてもよい。開始トリガーは、例えば、管理者による所定の操作入力があったことである。開始トリガーは、例えば、他のコンピュータから、所定の情報を受信したことであってもよい。
【0082】
取得部701は、例えば、管理者による所定の操作入力があったことを、特定部702~生成部704の処理を開始する開始トリガーとして受け付ける。取得部701は、定期的な所定のタイミングになったことを、特定部702~生成部704の処理を開始する開始トリガーとして受け付けてもよい。取得部701は、例えば、クライアント装置201から、入力質問文を受信したことを、検索部705の処理を開始する開始トリガーとして受け付ける。
【0083】
特定部702は、取得した質問文ごとに、当該質問文について意味構造を解析した結果に基づいて、当該質問文に含まれる単語間の関係性を特定する。特定部702は、例えば、取得した質問文ごとに、当該質問文の意味構造を形成する最小意味単位を1以上特定する。最小意味単位は、質問文に含まれる関係性がある単語のペアと、当該ペアとなる単語間にどのような関係性があるかを示す概念関係子とを対応付けた情報である。意味構造は、単語をノードとし、概念関係子をエッジとしたグラフ構造によっても表現可能である。これにより、特定部702は、単語間の関係性を、判定部703が参照可能にすることができる。
【0084】
判定部703は、質問文ごとに特定した関係性に基づいて、複数の質問文のうち、第1の質問文に含まれる第1の単語と、第2の質問文に含まれる第2の単語とが交換可能であるか否かを判定する。第2の質問文は、第1の質問文とは異なる回答文に対応付けられた質問文である。第1の単語と第2の単語とは、第1の質問文と第2の質問文とで相違する単語のペアである。第1の単語と第2の単語とは、例えば、同じ意味カテゴリに属する単語のペアであることが好ましい。
【0085】
判定部703は、例えば、質問文ごとに特定した最小意味単位に基づいて、複数の質問文のうち、それぞれ異なる回答文に対応付けられた、意味構造が類似する質問文のペアを検出する。意味構造が類似する質問文のペアは、例えば、意味構造を表現するグラフ構造の形状が同じである質問文のペアである。そして、判定部703は、検出した質問文のペアについて、当該ペアとなる第1の質問文に含まれる第1の単語と、当該ペアとなる第2の質問文に含まれる第2の単語とが交換可能であるか否かを判定する。
【0086】
判定部703は、具体的には、質問文のペアを検出した場合、当該ペアとなる第1の質問文の意味構造と、当該ペアとなる第2の質問文の意味構造とで、相違する最小意味単位のペアを検出する。次に、判定部703は、最小意味単位のペアを検出した場合、当該ペアとなる第1の最小意味単位と、当該ペアとなる第2の最小意味単位とで、相違する単語のペアを検出する。
【0087】
そして、判定部703は、検出した最小意味単位のペアが1つであり、かつ、検出した単語のペアが同じ意味カテゴリに属する場合、検出した単語のペアとなる第1の単語と第2の単語とが交換可能であると判定する。これにより、判定部703は、交換可能であるか否かに基づいて、質問文のペアから雛型質問文のグループを生成するか否かを判定可能にすることができる。また、判定部703は、検出した最小意味単位のペアの数と、検出した単語のペアが属する意味カテゴリとに基づいて、交換可能であるか否かを判定する精度の向上を図ることができる。
【0088】
判定部703は、具体的には、第1の最小意味単位と、第2の最小意味単位とで、検出した単語のペアとなる第1の単語と第2の単語とを交換する。次に、判定部703は、所定の文集合内での、交換前の第1の最小意味単位の出現頻度から、交換後の第1の最小意味単位の出現頻度への第1の減少量を算出する。また、判定部703は、所定の文集合内での、交換前の第2の最小意味単位の出現頻度から、交換後の第2の最小意味単位の出現頻度への第2の減少量を算出する。
【0089】
そして、判定部703は、算出した第1の減少量と第2の減少量とが共に閾値以下である場合、検出した単語のペアとなる第1の単語と第2の単語とが交換可能であると判定する。これにより、判定部703は、交換可能であるか否かに基づいて、質問文のペアから雛型質問文のグループを生成するか否かを判定可能にすることができる。また、判定部703は、第1の減少量と第2の減少量とに基づいて、交換可能であるか否かを判定する精度の向上を図ることができる。
【0090】
判定部703は、具体的には、検出した最小意味単位のペアが1つであり、検出した単語のペアが同じ意味カテゴリに属し、第1の減少量と第2の減少量とが共に閾値以下である場合、第1の単語と第2の単語とが交換可能であると判定してもよい。これにより、判定部703は、検出した最小意味単位のペアの数と、検出した単語のペアが属する意味カテゴリと、第1の減少量と、第2の減少量とに基づいて、交換可能であるか否かを判定する精度の向上を図ることができる。
【0091】
生成部704は、交換可能であると判定した場合、第1の質問文に含まれる第1の単語を変数化した第1の雛形質問文と、第2の質問文に含まれる第2の単語を変数化した第2の雛形質問文とを生成する。変数化は、例えば、第1の単語および第2の単語を包括的に示す変数記号に置換することである。変数化は、例えば、第1の単語および第2の単語と同じ意味カテゴリに属する単語を包括的に示す変数記号に置換することである。これにより、生成部704は、何らかの質問文から、当該質問文と同じ質問意図を有する別の質問文を生成可能にするための、雛型質問文のグループを生成することができる。
【0092】
生成部704は、交換可能であると判定した場合、複数の質問文のうち、第1の質問文と同じ回答文に対応付けられた第3の質問文に含まれる第3の単語を変数化した第3の雛形質問文をさらに生成する。第3の単語は、第1の単語と同じ意味カテゴリに属することが好ましい。第3の単語は、例えば、第1の単語と同じ単語である。これにより、生成部704は、何らかの質問文から、当該質問文と同じ質問意図を有する別の質問文を生成可能にするための、雛型質問文のグループを生成することができる。
【0093】
生成部704は、交換可能であると判定した場合、複数の質問文のうち、第2の質問文と同じ回答文に対応付けられた第4の質問文に含まれる第4の単語を変数化した第4の雛形質問文を生成する。第4の単語は、第2の単語と同じ意味カテゴリに属することが好ましい。第4の単語は、例えば、第2の単語と同じ単語である。これにより、生成部704は、何らかの質問文から、当該質問文と同じ質問意図を有する別の質問文を生成可能にするための、雛型質問文のグループを生成することができる。
【0094】
検索部705は、生成した雛型質問文を含むグループに基づいて、複数の質問文のうち、入力質問文に対応する適切な質問文を検索する。グループは、例えば、第1の雛形質問文と第2の雛形質問文とのペアである。グループは、さらに、第3の雛形質問文を含んでもよい。グループは、さらに、第4の雛形質問文を含んでもよい。
【0095】
検索部705は、例えば、入力質問文がグループに含まれるいずれかの雛形質問文に対応する場合、グループに含まれるいずれかの雛形質問文とは異なる雛形質問文に基づいて、入力質問文と意味的に類似する類似質問文を生成する。そして、検索部705は、生成した類似質問文に基づいて、複数の質問文のうち、類似質問文に対応する質問文を、入力質問文に対応する適切な質問文として検索する。これにより、検索部705は、入力質問文のみで検索する場合に比べて、入力質問文に対応する適切な質問文を発見する確率の向上を図ることができる。結果として、検索部705は、ユーザが所望する回答文を出力する確率の向上を図ることができる。
【0096】
検索部705は、所定の検索方法により、複数の質問文のうち、入力質問文に対応する質問文を検索してもよい。所定の検索方法は、例えば、既存の検索方法である。これにより、検索部705は、雛型質問文を含むグループに基づいて検索した結果とは異なる、所定の検索方法により入力質問文に対応する質問文を検索した結果を取得することができる。
【0097】
拡張部706は、交換可能であると判定した場合、第1の質問文に含まれる第1の単語を第2の単語に置換して得られる新規質問文を、第2の質問文に対応付けられた回答文に対応付けて出力する。出力先は、例えば、記憶部700である。これにより、出力部707は、記憶部700に記憶される、回答文に対応付けられた質問文の種類を増加させ、今後の検索において、入力質問文に対応する適切な質問文が発見されやすくすることができ、ユーザが所望する回答文が出力されやすくすることができる。
【0098】
拡張部706は、交換可能であると判定した場合、第2の質問文に含まれる第2の単語を第1の単語に置換して得られる新規質問文を、第1の質問文に対応付けられた回答文に対応付けて出力する。出力先は、例えば、記憶部700である。これにより、出力部707は、記憶部700に記憶される、回答文に対応付けられた質問文の種類を増加させ、今後の検索において、入力質問文に対応する適切な質問文が発見されやすくすることができ、ユーザが所望する回答文が出力されやすくすることができる。
【0099】
拡張部706は、交換可能であると判定した場合、複数の質問文のうち、第1の質問文と同じ回答文に対応付けられた第3の質問文に含まれる第3の単語を第2の単語に置換した新規質問文を生成する。そして、拡張部706は、生成した新規質問文を、第2の質問文に対応付けられた回答文に対応付けて出力する。出力先は、例えば、記憶部700である。これにより、出力部707は、記憶部700に記憶される、回答文に対応付けられた質問文の種類を増加させ、今後の検索において、入力質問文に対応する適切な質問文が発見されやすくすることができ、ユーザが所望する回答文が出力されやすくすることができる。
【0100】
拡張部706は、交換可能であると判定した場合、複数の質問文のうち、第2の質問文と同じ回答文に対応付けられた第4の質問文に含まれる第4の単語を第1の単語に置換した新規質問文を生成する。そして、拡張部706は、生成した新規質問文を、第1の質問文に対応付けられた回答文に対応付けて出力する。出力先は、例えば、記憶部700である。これにより、出力部707は、記憶部700に記憶される、回答文に対応付けられた質問文の種類を増加させ、今後の検索において、入力質問文に対応する適切な質問文が発見されやすくすることができ、ユーザが所望する回答文が出力されやすくすることができる。
【0101】
出力部707は、いずれかの機能部の処理結果を出力する。出力形式は、例えば、ディスプレイへの表示、プリンタへの印刷出力、ネットワークI/F303による外部装置への送信、または、メモリ302や記録媒体305などの記憶領域への記憶である。これにより、出力部707は、いずれかの機能部の処理結果を管理者に通知可能にし、情報処理装置100の利便性の向上を図ることができる。
【0102】
出力部707は、複数の質問文のそれぞれの質問文に対応付けられた回答文のうち、検索部705が発見した質問文に対応付けられた回答文を、入力質問文に対する回答文として出力する。これにより、出力部707は、ユーザが所望する回答文を把握可能にすることができる。
【0103】
出力部707は、雛型質問文を含むグループに基づいて検索した結果と、所定の検索方法により入力質問文に対応する質問文を検索した結果とに基づいて、入力質問文に対する回答文を出力する。これにより、出力部707は、ユーザが所望する回答文が出力されやすくすることができる。
【0104】
出力部707は、入力質問文に対する回答文についての登録指示を受け付けた場合、当該入力質問文と、当該回答文とを対応付けて出力する。出力先は、例えば、記憶部700である。これにより、出力部707は、記憶部700に記憶される、回答文に対応付けられた質問文の種類を増加させ、今後の検索において、入力質問文に対応する適切な質問文が発見されやすくすることができ、ユーザが所望する回答文が出力されやすくすることができる。
【0105】
(実施例1)
次に、
図8~
図13を用いて、実施例1について説明する。まず、
図8を用いて、実施例1にかかる情報処理装置100の具体的な機能的構成例について説明する。
【0106】
図8は、実施例1にかかる情報処理装置100の具体的な機能的構成例を示すブロック図である。
図8に示すように、情報処理装置100は、機能部群800を含む。
【0107】
情報処理装置100は、例えば、意味構造解析部801と、統計処理部802と、変数化処理部803と、パターン生成部804とを含む。例えば、意味構造解析部801と、統計処理部802と、変数化処理部803と、パターン生成部804とによって、雛形質問文のグループを学習する動作が実現される。以下の説明では、雛形質問文のグループを「質問拡張パターン」と表記する場合がある。
【0108】
また、
図8に示すように、情報処理装置100は、例えば、入力部810と、パターン検索部811と、質問展開部812と、回答取得部813と、出力部814とを含む。入力部810と、パターン検索部811と、質問展開部812と、回答取得部813と、出力部814とによって、入力質問文に対する回答文を出力する動作が実現される。
【0109】
以下の説明では、FAQDB400は、複数の質問文群を記憶しているとする。また、質問文群は、同じ回答文に対応付けられた1以上の質問文の集合であり、同じ意味を有し、同じ質問意図を有する1以上の質問文の集合であるとする。
【0110】
意味構造解析部801は、FAQDB400に記憶された質問文、および、入力部810で受け付けたユーザからの入力質問文を、意味構造を形成する1以上の最小意味単位に分解し、意味構造を解析する。意味構造は、単語をノードとし、概念関係子をエッジとしたグラフ構造で表現可能である。意味構造解析部801は、雛形質問文を、意味構造を形成する1以上の最小意味単位に分解し、意味構造を解析する。意味構造解析部801は、解析した結果を、意味構造DB500に保存する。
【0111】
統計処理部802は、FAQDB400内での、単語の出現頻度や最小意味単位の出現頻度などの統計情報を取得する。統計処理部802は、例えば、FAQDB400内での、単語の出現頻度や最小意味単位の出現頻度などを算出することにより、統計情報を取得する。
【0112】
変数化処理部803は、意味構造DB500を参照して、FAQDB400に記憶された、2以上の質問文群のそれぞれの質問文群に含まれる質問文間で意味構造を比較することにより、それぞれの質問文群を、変数化対象とするか否かを判定する。
【0113】
変数化処理部803は、例えば、2つの質問文群のそれぞれの質問文群から、1つずつ質問文を抽出することにより、2つの質問文を取得する。変数化処理部803は、2つの質問文のそれぞれの質問文の意味構造を表現するグラフ構造の形状が一致するか否かを判定する。変数化処理部803は、形状が一致する場合、2つの質問文のそれぞれ質問文の意味構造間で、相違する最小意味単位のペアを検出し、検出した最小意味単位のペアが1つだけであるか否かを判定する。変数化処理部803は、1つだけである場合、辞書DB600を参照して、検出した最小意味単位のペア間で、相違する単語のペアを検出し、検出した単語のペアが、同じ意味カテゴリに属するか否かを判定する。意味カテゴリは、例えば、機能名である。
【0114】
変数化処理部803は、同じ意味カテゴリに属する場合、単語のペアを交換する。変数化処理部803は、FAQDB400内での、交換前のそれぞれの最小意味単位の出現頻度を、統計処理部802から取得する。変数化処理部803は、FAQDB400内での、交換後のそれぞれの最小意味単位の出現頻度を、統計処理部802から取得する。変数化処理部803は、それぞれの最小意味単位の出現頻度が、交換前後で閾値以上減少しない場合、相違する単語のペアが変数化可能であると判定し、2つの質問文群のそれぞれの質問文群を、変数化対象とすると判定する。
【0115】
具体的には、相違する最小意味単位のペアが、[単語:開始]-[単語:ブラウザ]のペアと、[単語:起動]-[単語:ワード]のペアとである場合が一例として考えられる。この場合、変数化処理部803は、単語を交換し、[単語:起動]-[単語:ブラウザ]のペアと、[単語:開始]-[単語:ワード]のペアとについて、出現頻度が、交換前後で閾値以上減少するか否かを判定する。
【0116】
変数化処理部803は、閾値以上減少しない場合、[単語:開始]-[単語:ブラウザ]のペアと、[単語:起動]-[単語:ワード]のペアとで、相違する単語のペアが、変数化可能であると判定する。例えば、[単語:開始]と[単語:起動]とのペアは、[変数:動作{開始,起動}]に変数化可能である。[単語:ブラウザ]と[単語:ワード]とのペアは、[変数:機能名]に変数化可能である。
【0117】
変数化処理部803は、2つの質問文群のそれぞれの質問文群を、変数化対象とする場合、それぞれの質問文群について、変数化可能と判定した単語のペアを変数化することにより、それぞれの質問文群に対応する雛形質問文群を生成する。
【0118】
パターン生成部804は、変数化によって生成された雛形質問文を纏めた質問拡張パターンを生成する。パターン生成部804は、例えば、雛形質問文のうち、同じ意味構造を有する雛形質問文を纏めた質問拡張パターンを生成し、パターンDB805に保存する。パターンDB805は、質問拡張パターンを記憶する。パターンDB805は、例えば、
図3に示した情報処理装置100のメモリ302や記録媒体305などの記憶領域により実現される。
【0119】
入力部810は、回答文を所望するユーザによって作成された入力質問文を受け付ける。パターン検索部811は、入力質問文の意味構造を参照して、入力質問文の意味構造を、質問拡張パターンに含まれる雛形質問文の意味構造と照合し、入力質問文の単語を変数部分に代入すると、入力質問文と一致するようになる雛形質問文を検出する。質問展開部812は、検出した雛形質問文を含む質問拡張パターンに含まれる、検出した雛形質問文とは異なる雛形質問文の変数部分に、入力質問文の単語を代入し、新規質問文を生成する。
【0120】
回答取得部813は、入力質問文および新規質問文に基づいて、FAQDB400に記憶された質問文を検索し、発見した質問文に対応付けられた回答文を取得する。回答取得部813は、例えば、FAQDB400に記憶された質問文のうち、入力質問文または新規質問文と一致する質問文を検索し、発見した質問文に対応付けられた回答文を取得する。出力部814は、取得した回答文を出力する。出力部814は、例えば、取得した回答文を、クライアント装置201に送信する。
【0121】
次に、
図9および
図10を用いて、実施例1にかかる情報処理装置100が質問拡張パターンP1を学習する具体例について説明する。
【0122】
図9および
図10は、実施例1にかかる情報処理装置100が質問拡張パターンP1を学習する具体例を示す説明図である。
図9において、FAQDB400は、回答文A1と対応付けられた質問文群Q1と、回答文A2と対応付けられた質問文群Q2と、回答文A3と対応付けられた質問文群Q3とを記憶しているとする。
【0123】
ここで、質問文群Q1は、質問文Q1-aと質問文Q1-bとを含む。質問文群Q2は、質問文Q2-aと質問文Q2-bとを含む。質問文群Q3は、質問文Q3-aと質問文Q3-bとを含む。
【0124】
(9-1)情報処理装置100は、学習ステップ1として、質問文の意味構造を解析する。
図9の例では、情報処理装置100は、質問文Q1-aと、質問文Q1-bと、質問文Q2-aと、質問文Q2-bと、質問文Q3-aと、質問文Q3-bとの意味構造を解析する。
【0125】
(9-2)情報処理装置100は、学習ステップ2として、質問文のペアに含まれる単語のペアが変数化可能であるか否かを判定し、変数化可能な単語を変数化する。実施例1では、変数化可能であるか否かを判定する単語のペアは、名詞のペアであるとする。
【0126】
図9の例では、情報処理装置100は、質問文Q1-bの意味構造を表現するグラフ構造901と、質問文Q2-bの意味構造を表現するグラフ構造902とを比較し、単語「ブラウザ」と単語「ワード」とが変数化可能であると判定する。情報処理装置100は、質問文Q1-bの単語「ブラウザ」と、質問文Q2-bの単語「ワード」とを変数化する。
【0127】
また、情報処理装置100は、質問文Q2-bの意味構造を表現するグラフ構造902と、質問文Q3-aの意味構造を表現するグラフ構造903とを比較し、単語「ワード」と単語「家計簿」とが変数化可能であると判定する。情報処理装置100は、質問文Q2-bの単語「ワード」と、質問文Q3-aの単語「家計簿」とを変数化する。
【0128】
(9-3)情報処理装置100は、学習ステップ3として、変数化した質問文の意味構造に基づいて、同じ質問意図の質問文のグループを特定する。
図9の例では、情報処理装置100は、変数化した質問文Q1-bと、変数化した質問文Q2-bと、変数化した質問文Q3-aとで、意味構造が一致すると判定する。このため、情報処理装置100は、質問文Q1-bと、質問文Q2-bと、質問文Q3-aとのグループを、同じ質問意図の質問文のグループとして特定する。
【0129】
(9-4)情報処理装置100は、学習ステップ4として、同じ質問意図の質問文のグループに含まれるそれぞれの質問文の単語を変数化した雛形質問文を纏めた質問拡張パターンP1を生成する。また、情報処理装置100は、同じ質問意図の質問文のグループに含まれるいずれかの質問文と、同じ回答文に対応付けられた質問文の単語を変数化した雛形質問文も、質問拡張パターンP1に含めるようにする。
【0130】
図9の例では、情報処理装置100は、質問文Q1-bから得られた雛形質問文P1-bと、質問文Q2-bから得られた雛形質問文P1-dと、質問文Q3-aから得られた雛形質問文P1-eとを纏めた質問拡張パターンP1を生成する。
【0131】
また、情報処理装置100は、質問文Q1-bと同じ回答文A1に対応付けられた質問文Q1-aから得られた雛形質問文P1-aを、質問拡張パターンP1に含める。雛形質問文P1-aは、質問文Q1-aのうち、同じ質問意図の質問文のグループで変数化した単語と同じ意味カテゴリに属する単語を変数化することにより得られる。
【0132】
また、情報処理装置100は、質問文Q2-bと同じ回答文A2に対応付けられた質問文Q2-aから得られた雛形質問文P1-cを、質問拡張パターンP1に含める。また、情報処理装置100は、質問文Q3-aと同じ回答文A3に対応付けられた質問文Q3-bから得られた雛形質問文P1-fを、質問拡張パターンP1に含める。次に、
図10の説明に移行し、生成した質問拡張パターンP1を保存する一例について説明する。
【0133】
図10において、情報処理装置100は、変数化した質問文から生成した質問拡張パターンに含まれるそれぞれの雛形質問文の意味構造を記憶することにより、質問拡張パターンを記憶することにする。
図10の例では、情報処理装置100は、質問文Q1-aから得られた雛形質問文P1-aの意味構造を表現するグラフ構造1001を記憶する。また、情報処理装置100は、質問文Q1-bから得られた雛形質問文P1-bの意味構造を表現するグラフ構造1002を記憶する。
【0134】
また、情報処理装置100は、質問文Q2-aから得られた雛形質問文P1-cの意味構造を表現するグラフ構造1003を記憶する。また、情報処理装置100は、質問文Q2-bから得られた雛形質問文P1-dの意味構造を表現するグラフ構造1004を記憶する。また、情報処理装置100は、質問文Q3-aから得られた雛形質問文P1-eの意味構造を表現するグラフ構造1005を記憶する。また、情報処理装置100は、質問文Q3-bから得られた雛形質問文P1-fの意味構造を表現するグラフ構造1006を記憶する。
【0135】
これにより、情報処理装置100は、入力質問文を基に、入力質問文と同じ質問意図の新規質問文を生成可能にするための、質問拡張パターンP1を学習することができる。また、情報処理装置100は、入力質問文の意味構造と、雛形質問文の意味構造とが一致するか否かを判定しやすくするために、雛形質問文の意味構造を記憶しておくことができる。このため、情報処理装置100は、入力質問文に対応する適切な質問文を検索する際にかかる処理時間の低減化を図ることができる。
【0136】
次に、
図11を用いて、質問拡張パターンP1に基づいて、実施例1にかかる情報処理装置100が入力質問文に対する回答文を出力する具体例について説明する。
【0137】
図11は、実施例1にかかる情報処理装置100が入力質問文に対する回答文を出力する具体例を示す説明図である。
図11において、情報処理装置100は、検索画面1100を、クライアント装置201に表示させる。検索画面1100は、入力質問文の入力欄1101と、検索ボタン1102と、回答文の表示欄1103とを含む。クライアント装置201は、ユーザの操作入力に基づいて、検索ボタン1102がクリックされると、入力欄1101に入力された入力質問文を、情報処理装置100に送信する。
【0138】
(11-1)情報処理装置100は、検索ステップ1として、入力質問文の意味構造を解析し、質問拡張パターンP1の雛形質問文の意味構造と照合し、入力質問文に対応する雛形質問文を特定する。
図11の例では、情報処理装置100は、入力質問文の単語「ブラウザ」を代入すると、入力質問文と意味構造が一致する、質問拡張パターンP1の雛形質問文P1-f「[機能名]を押すと動かない」を特定する。
【0139】
(11-2)情報処理装置100は、検索ステップ2として、質問拡張パターンP1のうち、特定した雛形質問文とは異なる他の雛形質問文に基づいて、入力質問文と同じ質問意図を有する新規質問文を生成する。
図11の例では、情報処理装置100は、雛形質問文P1-a~P1-eに、入力質問文の単語「ブラウザ」を代入することにより、新規質問文群1110を生成する。
【0140】
(11-3)情報処理装置100は、検索ステップ3として、FAQDB400のうち、入力質問文、または、生成した新規質問文と一致する質問文を検索する。
図11の例では、情報処理装置100は、新規質問文「ブラウザの起動に失敗する」と一致する質問文Q1-aを発見する。また、情報処理装置100は、新規質問文「ブラウザの起動ができない」と一致する質問文Q1-bを発見する。このため、情報処理装置100は、質問文群Q1と回答文A1とを対応付けたFAQを、正解のFAQの候補として特定する。正解のFAQとは、例えば、ユーザが所望するFAQである。
【0141】
(11-4)情報処理装置100は、検索ステップ4として、特定したFAQを、クライアント装置201に表示させる。
図11の例では、情報処理装置100は、特定したFAQを、表示欄1103に表示させる。結果として、クライアント装置201は、表示内容を、検索画面1100から、検索画面1120へと遷移させる。
【0142】
これにより、情報処理装置100は、入力質問文のみで、FAQDB400に記憶された質問文を検索する場合に比べて、入力質問文に対応する適切な質問文を発見する確率の向上を図ることができる。結果として、情報処理装置100は、ユーザが所望する回答文を出力する確率の向上を図ることができる。
【0143】
(実施例1にかかる学習処理手順)
次に、
図12を用いて、情報処理装置100が実行する、実施例1にかかる学習処理手順の一例について説明する。学習処理は、例えば、
図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、ネットワークI/F303とによって実現される。
【0144】
図12は、実施例1にかかる学習処理手順の一例を示すフローチャートである。
図12において、情報処理装置100は、FAQDB400から、複数の質問文を読み込む(ステップS1201)。
【0145】
次に、情報処理装置100は、それぞれの質問文を最小意味単位に分解し、意味構造を保存する(ステップS1202)。そして、情報処理装置100は、それぞれの質問文の意味構造に基づいて、意味構造を表現するグラフ構造の形状が類似する質問文の組を検出する(ステップS1203)。
【0146】
次に、情報処理装置100は、辞書DB600を参照して、検出した質問文の組のうち、意味構造間で、最小意味単位の1組のみが相違し、かつ、質問文間で、相違する単語同士が、同じ意味カテゴリに属するという条件を満たす、質問文の組を検出する(ステップS1204)。
【0147】
そして、情報処理装置100は、検出した質問文の組ごとに、1組の相違する最小意味単位間で、相違する単語同士を交換した場合の、所定のDB内での、それぞれの最小意味単位の出現頻度の減少量を算出する(ステップS1205)。所定のDBは、例えば、FAQDB400である。
【0148】
次に、情報処理装置100は、算出した減少量が閾値未満である質問文の組を検出する(ステップS1206)。そして、情報処理装置100は、検出した質問文の組ごとに、当該組内のそれぞれの質問文に含まれる、当該組内の他方の質問文とは相違している単語を変数化する(ステップS1207)。
【0149】
次に、情報処理装置100は、検出した質問文の組ごとに、当該組内のそれぞれの質問文と同じ回答文に対応付けられた別の質問文に含まれる、当該組内の他方の質問文とは相違している単語を変数化する(ステップS1208)。そして、情報処理装置100は、検出した質問文の組ごとに、変数化した雛形質問文を纏めてグループ化し、質問拡張パターンとして保存する(ステップS1209)。
【0150】
次に、情報処理装置100は、保存した質問拡張パターンを出力する(ステップS1210)。そして、情報処理装置100は、学習処理を終了する。これにより、情報処理装置100は、入力質問文を基に、入力質問文と同じ質問意図の新規質問文を生成可能にするための、質問拡張パターンを学習することができる。
【0151】
(実施例1にかかる検索処理手順)
次に、
図13を用いて、情報処理装置100が実行する、実施例1にかかる検索処理手順の一例について説明する。検索処理は、例えば、
図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、ネットワークI/F303とによって実現される。
【0152】
図13は、実施例1にかかる検索処理手順の一例を示すフローチャートである。
図13において、情報処理装置100は、入力質問文を取得する(ステップS1301)。
【0153】
次に、情報処理装置100は、入力質問文を最小意味単位に分解し、意味構造を保存する(ステップS1302)。そして、情報処理装置100は、辞書DB600を参照して、入力質問文に含まれるいずれかの単語を特定し、入力質問文に含まれる特定された単語を変数化する(ステップS1303)。
【0154】
次に、情報処理装置100は、質問拡張パターンの複数の雛形質問文のうち、変数化した入力質問文と同じ意味構造である雛形質問文を検出する(ステップS1304)。そして、情報処理装置100は、質問拡張パターンの複数の雛形質問文のうち、検出した雛形質問文とは異なる雛形質問文に、特定された単語を代入した新規質問文を生成する(ステップS1305)。
【0155】
次に、情報処理装置100は、FAQDB400から、入力質問文に対応する質問文に対応付けられた回答文、または、新規質問文に対応する質問文に対応付けられた回答文の少なくともいずれかの回答文を検索する(ステップS1306)。そして、情報処理装置100は、発見した回答文を出力する(ステップS1307)。
【0156】
その後、情報処理装置100は、検索処理を終了する。これにより、情報処理装置100は、入力質問文のみで、FAQDB400に記憶された質問文を検索する場合に比べて、入力質問文に対応する適切な質問文を発見する確率の向上を図ることができる。結果として、情報処理装置100は、ユーザが所望する回答文を出力する確率の向上を図ることができる。
【0157】
(実施例2)
次に、
図14および
図15を用いて、実施例2について説明する。上述した実施例1は、変数化可能であるか否かを判定する単語のペアが、名詞のペアである場合についての実施例である。これに対し、実施例2は、変数化可能であるか否かを判定する単語のペアが、名詞のペア、および、動詞のペアの両方である場合についての実施例である。
【0158】
実施例2にかかる情報処理装置100の具体的な機能的構成例は、
図8に示した、実施例1にかかる情報処理装置100の具体的な機能的構成例と同様であるため、説明を省略する。
【0159】
次に、
図14を用いて、実施例2にかかる情報処理装置100が質問拡張パターンP1を学習する具体例について説明する。
【0160】
図14は、実施例2にかかる情報処理装置100が質問拡張パターンP1を学習する具体例を示す説明図である。
図14において、FAQDB400は、回答文A1と対応付けられた質問文群Q1と、回答文A2と対応付けられた質問文群Q2と、回答文A3と対応付けられた質問文群Q3とを記憶しているとする。
【0161】
ここで、質問文群Q1は、質問文Q1-aと質問文Q1-bとを含む。質問文群Q2は、質問文Q2-aと質問文Q2-bとを含む。質問文群Q3は、質問文Q3-aと質問文Q3-bとを含む。
【0162】
(14-1)情報処理装置100は、学習ステップ1として、質問文の意味構造を解析する。
図14の例では、情報処理装置100は、質問文Q1-aと、質問文Q1-bと、質問文Q2-aと、質問文Q2-bと、質問文Q3-aと、質問文Q3-bとの意味構造を解析する。
【0163】
(14-2)情報処理装置100は、学習ステップ2として、質問文のペアに含まれる単語のペアが変数化可能であるか否かを判定し、変数化可能な単語を変数化する。実施例2では、変数化可能であるか否かを判定する単語のペアは、名詞のペア、または、動詞のペアの少なくともいずれかであるとする。
【0164】
図14の例では、情報処理装置100は、質問文Q1-bの意味構造を表現するグラフ構造1401と、質問文Q2-bの意味構造を表現するグラフ構造1402とを比較し、単語「ブラウザ」と単語「ワード」とが変数化可能であると判定する。また、情報処理装置100は、単語「起動」と単語「実行」とが変数化可能であると判定する。情報処理装置100は、質問文Q1-bの単語「ブラウザ」および単語「起動」と、質問文Q2-bの単語「ワード」および単語「実行」とを変数化する。
【0165】
また、情報処理装置100は、質問文Q2-bの意味構造を表現するグラフ構造1402と、質問文Q3-aの意味構造を表現するグラフ構造1403とを比較し、単語「ワード」と単語「家計簿」とが変数化可能であると判定する。また、情報処理装置100は、単語「実行」と単語「開始」とが変数化可能であると判定する。情報処理装置100は、質問文Q2-bの単語「ワード」および単語「実行」と、質問文Q3-aの単語「家計簿」および単語「開始」とを変数化する。
【0166】
(14-3)情報処理装置100は、学習ステップ3として、変数化した質問文の意味構造に基づいて、同じ質問意図の質問文のグループを特定する。
図14の例では、情報処理装置100は、変数化した質問文Q1-bと、変数化した質問文Q2-bと、変数化した質問文Q3-aとで、意味構造が一致すると判定する。このため、情報処理装置100は、質問文Q1-bと、質問文Q2-bと、質問文Q3-aとのグループを、同じ質問意図の質問文のグループとして特定する。
【0167】
(14-4)情報処理装置100は、学習ステップ4として、同じ質問意図の質問文のグループに含まれるそれぞれの質問文の単語を変数化した雛形質問文を纏めた質問拡張パターンP1を生成する。また、情報処理装置100は、同じ質問意図の質問文のグループに含まれるいずれかの質問文と、同じ回答文に対応付けられた質問文の単語を変数化した雛形質問文も、質問拡張パターンP1に含めるようにする。
【0168】
図14の例では、情報処理装置100は、質問文Q1-aと、質問文Q2-aとから、雛形質問文P1-a「[機能名]の{起動,開始,実行}に失敗する」を、質問拡張パターンP1に含める。また、情報処理装置100は、質問文Q1-bと、質問文Q2-bと、質問文Q3-aとから、雛形質問文P1-b「[機能名]の{起動,開始,実行}ができない」を、質問拡張パターンP1に含める。また、情報処理装置100は、質問文Q3-bから、雛形質問文P1-c「[機能名]を押すと動かない」を、質問拡張パターンP1に含める。
【0169】
これにより、情報処理装置100は、入力質問文を基に、入力質問文と同じ質問意図の新規質問文を生成可能にするための、質問拡張パターンP1を学習することができる。また、情報処理装置100は、入力質問文の意味構造と、雛形質問文の意味構造とが一致するか否かを判定しやすくするために、雛形質問文の意味構造を記憶しておくことができる。このため、情報処理装置100は、入力質問文に対応する適切な質問文を検索する際にかかる処理時間の低減化を図ることができる。
【0170】
次に、
図15を用いて、実施例2にかかる情報処理装置100が入力質問文に対する回答文を出力する具体例について説明する。
【0171】
図15は、実施例2にかかる情報処理装置100が入力質問文に対する回答文を出力する具体例を示す説明図である。
図15において、情報処理装置100は、検索画面1500を、クライアント装置201に表示させる。検索画面1500は、入力質問文の入力欄1501と、検索ボタン1502と、回答文の表示欄1503とを含む。クライアント装置201は、ユーザの操作入力に基づいて、検索ボタン1502がクリックされると、入力欄1501に入力された入力質問文を、情報処理装置100に送信する。
【0172】
(15-1)情報処理装置100は、検索ステップ1として、入力質問文の意味構造を解析し、質問拡張パターンP1の雛形質問文の意味構造と照合し、入力質問文に対応する雛形質問文を特定する。
図15の例では、情報処理装置100は、入力質問文の単語「ブラウザ」を代入すると、入力質問文と意味構造が一致する、質問拡張パターンP1の雛形質問文P1-c「[機能名]を押すと動かない」を特定する。
【0173】
(15-2)情報処理装置100は、検索ステップ2として、質問拡張パターンP1のうち、特定した雛形質問文とは異なる他の雛形質問文に基づいて、入力質問文と同じ質問意図を有する新規質問文を生成する。
図15の例では、情報処理装置100は、雛形質問文P1-aおよび雛形質問文P1-bに、入力質問文の単語「ブラウザ」および単語「実行」を代入することにより、新規質問文群1510を生成する。
【0174】
(15-3)情報処理装置100は、検索ステップ3として、FAQDB400のうち、入力質問文、または、生成した新規質問文と一致する質問文を検索する。
図15の例では、情報処理装置100は、新規質問文「ブラウザの起動に失敗する」と一致する質問文Q1-aを発見する。このため、情報処理装置100は、質問文群Q1と回答文A1とを対応付けたFAQを、正解のFAQの候補として特定する。
【0175】
(15-4)情報処理装置100は、検索ステップ4として、特定したFAQを、クライアント装置201に表示させる。
図15の例では、情報処理装置100は、特定したFAQを、表示欄1503に表示させる。結果として、クライアント装置201は、表示内容を、検索画面1500から、検索画面1520へと遷移させる。
【0176】
これにより、情報処理装置100は、入力質問文のみで、FAQDB400に記憶された質問文を検索する場合に比べて、入力質問文に対応する適切な質問文を発見する確率の向上を図ることができる。結果として、情報処理装置100は、ユーザが所望する回答文を出力する確率の向上を図ることができる。
【0177】
(実施例2にかかる学習処理手順)
情報処理装置100が実行する、実施例2にかかる学習処理手順の一例は、
図12に示した、実施例1にかかる学習処理手順の一例と同様であるため、説明を省略する。
【0178】
(実施例2にかかる検索処理手順)
情報処理装置100が実行する、実施例2にかかる検索処理手順の一例は、
図13に示した、実施例1にかかる検索処理手順の一例と同様であるため、説明を省略する。
【0179】
(実施例3)
次に、
図16および
図17を用いて、実施例3について説明する。まず、
図16を用いて、実施例3にかかる情報処理装置100の具体的な機能的構成例について説明する。
【0180】
図16は、実施例3にかかる情報処理装置100の具体的な機能的構成例を示すブロック図である。
図16に示すように、情報処理装置100は、
図8に示した機能部群800を含む他、質問検索部1601と、出力補正部1602とを含む。入力部810と、出力部814と、FAQDB400とは、機能部群800に含まれるが、説明の便宜上、機能部群800の外部にも明示しておく。
【0181】
質問検索部1601は、既存の検索方法により、FAQDB400のうち、入力質問文に対応する質問文を検索し、発見した質問文に対応付けられた回答文を取得する。質問検索部1601は、複数の回答文を取得した場合、回答文ごとにスコア付けしてもよい。出力補正部1602は、取得した回答文に基づいて、機能部群800の出力内容を補正する。
【0182】
出力補正部1602は、例えば、質問検索部1601がスコア付けしない状況で、回答取得部813で取得した回答文が存在する場合、回答取得部813で取得した回答文を、質問検索部1601が取得した回答文よりも、ユーザが参照しやすく優先的に順位付ける。出力補正部1602は、順位付けた回答文を、出力部814に出力させる。出力補正部1602は、例えば、質問検索部1601がスコア付けしない状況で、回答取得部813で取得した回答文が存在しない場合、質問検索部1601が取得した回答文を、出力部814に出力させる。
【0183】
出力補正部1602は、例えば、質問検索部1601がスコア付けする状況で、回答取得部813で取得した回答文が存在する場合、回答取得部813で取得した回答文のうち、質問検索部1601が取得した回答文と一致する回答文を検出する。出力補正部1602は、検出した回答文について、補正後スコア=質問検索部1601が付与したスコア×補正係数を算出し、補正後スコアに基づいて、質問検索部1601が取得した回答文を順序付ける。一方で、出力補正部1602は、回答取得部813で取得した回答文のうち、検出しなかった回答文について、質問検索部1601が取得した回答文よりも、ユーザが参照しやすく優先的に順位付ける。そして、出力補正部1602は、順序付けた回答文を、出力部814に出力させる。
【0184】
出力補正部1602は、例えば、質問検索部1601がスコア付けする状況で、回答取得部813で取得した回答文が存在しない場合、質問検索部1601が取得した回答文を、出力部814に出力させる。これにより、情報処理装置100は、既存の検索方法も考慮し、ユーザが所望する回答文が出力されやすくすることができる。
【0185】
(実施例3にかかる学習処理手順)
情報処理装置100が実行する、実施例3にかかる学習処理手順の一例は、
図12に示した、実施例1にかかる学習処理手順の一例と同様であるため、説明を省略する。
【0186】
(実施例3にかかる検索処理手順)
次に、
図17を用いて、情報処理装置100が実行する、実施例3にかかる検索処理手順の一例について説明する。検索処理は、例えば、
図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、ネットワークI/F303とによって実現される。
【0187】
図17は、実施例3にかかる検索処理手順の一例を示すフローチャートである。
図17において、情報処理装置100は、入力質問文を取得する(ステップS1701)。
【0188】
次に、情報処理装置100は、入力質問文を最小意味単位に分解し、意味構造を保存する(ステップS1702)。そして、情報処理装置100は、辞書DB600を参照して、入力質問文に含まれるいずれかの単語を特定し、入力質問文に含まれる特定された単語を変数化する(ステップS1703)。
【0189】
次に、情報処理装置100は、質問拡張パターンの複数の雛形質問文のうち、変数化した入力質問文と同じ意味構造である雛形質問文を検出する(ステップS1704)。そして、情報処理装置100は、質問拡張パターンの複数の雛形質問文のうち、検出した雛形質問文とは異なる雛形質問文に、特定された単語を代入した新規質問文を生成する(ステップS1705)。
【0190】
次に、情報処理装置100は、FAQDB400から、入力質問文に対応する質問文に対応付けられた回答文、または、新規質問文に対応する質問文に対応付けられた回答文の少なくともいずれかの回答文を検索する(ステップS1706)。そして、情報処理装置100は、所定の検索方法により、FAQDB400から、入力質問文に対応する質問文に対応付けられた回答文を検索した結果を取得する(ステップS1707)。
【0191】
次に、情報処理装置100は、取得した結果を、ステップS1706で検索した回答文に基づいて補正する(ステップS1708)。そして、情報処理装置100は、補正した結果を出力する(ステップS1709)。その後、情報処理装置100は、検索処理を終了する。これにより、情報処理装置100は、既存の検索方法も考慮し、ユーザが所望する回答文が出力されやすくすることができる。
【0192】
(実施例4)
次に、
図18および
図19を用いて、実施例4について説明する。まず、
図18を用いて、実施例4にかかる情報処理装置100の具体的な機能的構成例について説明する。
【0193】
図18は、実施例4にかかる情報処理装置100の具体的な機能的構成例を示すブロック図である。
図18に示すように、情報処理装置100は、
図8に示した機能部群800を含む他、ユーザ評価部1801と、再学習制御部1802とを含む。入力部810と、出力部814と、FAQDB400とは、機能部群800に含まれるが、説明の便宜上、機能部群800の外部にも明示しておく。
【0194】
実施例4では、情報処理装置100が、検索画面1810を、クライアント装置201に表示させている。検索画面1810は、入力質問文の入力欄1811と、検索ボタン1812と、回答文の表示欄1813とを含む。入力部810は、入力欄1811に入力された入力質問文を取得する。これに対し、出力部814は、正解のFAQの候補を特定し、表示欄1813に表示させる。この際、出力部814は、表示欄1813に、正解のFAQの候補それぞれに対応付けて、解決ボタン1814を表示させる。
【0195】
ユーザ評価部1801は、ユーザの操作入力に基づいて、いずれかの解決ボタン1814がクリックされた通知を、クライアント装置201から受信する。通知は、クリックされた解決ボタン1814に対応付けられたFAQを特定可能な情報を含む。
【0196】
再学習制御部1802は、通知に基づいて、クリックされた解決ボタン1814に対応付けられたFAQを、正解のFAQとして、入力質問文と対応付けて、FAQDB400に追加し、FAQDB400を更新する。これにより、情報処理装置100は、FAQDB400に記憶される、回答文に対応付けられた質問文の種類を増加させることができる。このため、情報処理装置100は、今後の検索において、入力質問文に対応する適切な質問文が発見されやすくすることができ、ユーザが所望する回答文が出力されやすくすることができる。
【0197】
再学習制御部1802は、さらに、FAQDB400を更新した後、機能部群800に、質問拡張パターンを生成させてもよい。これにより、情報処理装置100は、質問拡張パターンを、最新の状態に更新することができ、入力質問文に対応する適切な質問文を発見する確率の向上を図ることができ、ユーザが所望する回答文を出力する確率の向上を図ることができる。
【0198】
(実施例4にかかる学習処理手順)
次に、
図19を用いて、情報処理装置100が実行する、実施例4にかかる学習処理手順の一例について説明する。学習処理は、例えば、
図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、ネットワークI/F303とによって実現される。
【0199】
図19は、実施例4にかかる学習処理手順の一例を示すフローチャートである。
図19において、情報処理装置100は、入力質問文に応じて出力した1以上の回答文のうち、正解となる回答文の指定を受け付ける(ステップS1901)。そして、情報処理装置100は、FAQDB400に、入力質問文と、指定された回答文とを対応付けて保存する(ステップS1902)。
【0200】
次に、情報処理装置100は、FAQDB400から、複数の質問文を読み込む(ステップS1903)。そして、情報処理装置100は、それぞれの質問文を最小意味単位に分解し、意味構造を保存する(ステップS1904)。
【0201】
次に、情報処理装置100は、それぞれの質問文の意味構造に基づいて、意味構造が類似する質問文の組を検出する(ステップS1905)。そして、情報処理装置100は、辞書DB600を参照して、検出した質問文の組のうち、意味構造間で、最小意味単位の1組のみが相違し、かつ、質問文間で、相違する単語同士が、同じ意味カテゴリに属するという条件を満たす、質問文の組を検出する(ステップS1906)。
【0202】
次に、情報処理装置100は、検出した質問文の組ごとに、1組の相違する最小意味単位間で、相違する単語同士を交換した場合の、所定のDB内での、それぞれの最小意味単位の出現頻度の減少量を算出する(ステップS1907)。そして、情報処理装置100は、算出した減少量が閾値未満である質問文の組を検出する(ステップS1908)。
【0203】
次に、情報処理装置100は、検出した質問文の組ごとに、当該組内のそれぞれの質問文に含まれる、当該組内の他方の質問文とは相違している単語を変数化する(ステップS1909)。そして、情報処理装置100は、検出した質問文の組ごとに、当該組内のそれぞれの質問文と同じ回答文に対応付けられた別の質問文に含まれる、当該組内の他方の質問文とは相違している単語を変数化する(ステップS1910)。
【0204】
次に、情報処理装置100は、検出した質問文の組ごとに、変数化した質問文を纏めてグループ化し、質問拡張パターンとして保存する(ステップS1911)。そして、情報処理装置100は、保存した質問拡張パターンを出力する(ステップS1912)。
【0205】
その後、情報処理装置100は、学習処理を終了する。これにより、情報処理装置100は、質問拡張パターンを、最新の状態に更新することができ、入力質問文に対応する適切な質問文を発見する確率の向上を図ることができ、ユーザが所望する回答文を出力する確率の向上を図ることができる。
【0206】
(実施例4にかかる検索処理手順)
情報処理装置100が実行する、実施例4にかかる検索処理手順の一例は、
図13に示した、実施例1にかかる検索処理手順の一例と同様であるため、説明を省略する。
【0207】
(実施例5)
次に、
図20~
図22を用いて、実施例5について説明する。まず、
図20を用いて、実施例5にかかる情報処理装置100の具体的な機能的構成例について説明する。
【0208】
図20は、実施例5にかかる情報処理装置100の具体的な機能的構成例を示すブロック図である。
図20に示すように、情報処理装置100は、
図8に示した機能部群800を含む他、質問文拡張部2001を含む。
【0209】
質問文拡張部2001は、パターンDB805を参照して、質問拡張パターンに基づいて、新規質問文を生成し、FAQDB400に追加する。質問文拡張部2001は、例えば、FAQDB400のいずれかの質問文を選択する。質問文拡張部2001は、選択した質問文の意味構造を、質問拡張パターンに含まれる雛形質問文の意味構造と照合し、選択した質問文の単語を変数部分に代入すると、選択した質問文と一致するようになる雛形質問文を検出する。
【0210】
質問文拡張部2001は、雛形質問文を検出した場合、質問展開部812を利用して、検出した雛形質問文を含む質問拡張パターンに含まれる、検出した雛形質問文とは異なる雛形質問文の変数部分に、選択した質問文の単語を代入し、新規質問文を生成する。質問文拡張部2001は、生成した新規質問文に、選択した質問文に対応付けられた回答文を対応付けて、FAQDB400に追加する。
【0211】
これにより、情報処理装置100は、入力質問文に基づいて発見可能な、入力質問文に対応する適切な質問文が、FAQDB400に含まれる確率の向上を図ることができる。このため、情報処理装置100は、入力質問文に対応する適切な質問文を発見する確率の向上を図ることができ、ユーザが所望する回答文を出力する確率の向上を図ることができる。
【0212】
次に、
図21を用いて、実施例5にかかる情報処理装置100がFAQDB400を更新する具体例について説明する。
【0213】
図21は、実施例5にかかる情報処理装置100がFAQDB400を更新する具体例を示す説明図である。
図21において、(21-1)情報処理装置100は、実施例1や実施例2などと同様に、FAQDB400を参照して、質問拡張パターンP1を生成する。
【0214】
(21-2)情報処理装置100は、質問拡張パターンP1を、FAQDB400に記憶された質問文に適用する。
図21の例では、情報処理装置100は、質問文Q1-aの単語「ブラウザ」を変数部分に代入すると、質問拡張パターンP1の雛形質問文P1-aの意味構造が、質問文Q1-aの意味構造と一致すると判定する。このため、情報処理装置100は、質問文Q1-aの単語「ブラウザ」を、質問拡張パターンP1の雛形質問文P1-aとは異なる雛形質問文P1-b~P1-fに代入し、新規質問文Q1-c~Q1-fを生成する。同様に、情報処理装置100は、新規質問文Q2-c~Q2-fなども生成する。
【0215】
(21-3)情報処理装置100は、生成した新規質問文Q1-c~Q1-fを、元の質問文Q1-aに対応付けられた回答文A1に対応付けて、FAQDB400に追加する。同様に、情報処理装置100は、新規質問文Q2-c~Q2-fを、元の質問文Q2-aに対応付けられた回答文A2に対応付けて、FAQDB400に追加する。
【0216】
これにより、情報処理装置100は、入力質問文に基づいて発見可能な、入力質問文に対応する適切な質問文が、FAQDB400に含まれる確率の向上を図ることができる。このため、情報処理装置100は、入力質問文に対応する適切な質問文を発見する確率の向上を図ることができ、ユーザが所望する回答文を出力する確率の向上を図ることができる。
【0217】
(実施例5にかかる学習処理手順)
次に、
図22を用いて、情報処理装置100が実行する、実施例5にかかる学習処理手順の一例について説明する。学習処理は、例えば、
図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、ネットワークI/F303とによって実現される。
【0218】
図22は、実施例5にかかる学習処理手順の一例を示すフローチャートである。
図22において、情報処理装置100は、FAQDB400から、複数の質問文を読み込む(ステップS2201)。
【0219】
次に、情報処理装置100は、それぞれの質問文を最小意味単位に分解し、意味構造を保存する(ステップS2202)。そして、情報処理装置100は、それぞれの質問文の意味構造に基づいて、意味構造が類似する質問文の組を検出する(ステップS2203)。
【0220】
次に、情報処理装置100は、辞書DB600を参照して、検出した質問文の組のうち、意味構造間で、最小意味単位の1組のみが相違し、かつ、質問文間で、相違する単語同士が、同じ意味カテゴリに属するという条件を満たす、質問文の組を検出する(ステップS2204)。
【0221】
そして、情報処理装置100は、検出した質問文の組ごとに、1組の相違する最小意味単位間で、相違する単語同士を交換した場合の、所定のDB内での、それぞれの最小意味単位の出現頻度の減少量を算出する(ステップS2205)。
【0222】
次に、情報処理装置100は、算出した減少量が閾値未満である質問文の組を検出する(ステップS2206)。そして、情報処理装置100は、検出した質問文の組ごとに、当該組内のそれぞれの質問文に含まれる、当該組内の他方の質問文とは相違している単語を変数化する(ステップS2207)。
【0223】
次に、情報処理装置100は、検出した質問文の組ごとに、当該組内のそれぞれの質問文と同じ回答文に対応付けられた別の質問文に含まれる、当該組内の他方の質問文とは相違している単語を変数化する(ステップS2208)。そして、情報処理装置100は、検出した質問文の組ごとに、変数化した質問文を纏めてグループ化し、質問拡張パターンとして保存する(ステップS2209)。
【0224】
次に、情報処理装置100は、保存した質問拡張パターンに基づいて、FAQDB400に含まれる質問文から、新規質問文を生成する(ステップS2210)。そして、情報処理装置100は、生成した新規質問文を、生成元である質問文に対応付けられた回答文に対応付けて、FAQDB400に保存する(ステップS2211)。その後、情報処理装置100は、学習処理を終了する。これにより、情報処理装置100は、入力質問文に基づいて発見可能な、入力質問文に対応する適切な質問文が、FAQDB400に含まれる確率の向上を図ることができる。
【0225】
実施例5では、情報処理装置100が、質問拡張パターンP1を生成してから、新規質問文を生成する場合について説明したが、これに限らない。例えば、情報処理装置100が、質問文のペアについて、単語のペアを変数化可能であると判定した時点で、質問拡張パターンP1を生成せず、質問文のペアから新規質問文を生成する場合があってもよい。
【0226】
(情報処理装置100により得られる効果)
次に、
図23を用いて、情報処理装置100により得られる効果について説明する。
【0227】
図23は、情報処理装置100により得られる効果を示す説明図である。
図23において、FAQDB400のうち、情報処理装置100により発見可能な、入力質問文に対応する質問文と、下記に示す第1の検索手法、第2の検索手法、および、第3の検索手法により発見可能な、入力質問文に対応する質問文とを比較する。
【0228】
第1の検索手法としては、例えば、複数の質問文のうち、入力質問文と同じ名詞を含む質問文を検索する手法が考えられる。第2の検索手法としては、例えば、複数の質問文のうち、2つの動詞を含む最小意味単位が、入力質問文と共通している質問文を検索する手法が考えられる。第3の検索手法としては、例えば、複数の質問文のうち、名詞と動詞とを含む最小意味単位が、入力質問文と共通している質問文を検索する手法が考えられる。
【0229】
図23の例では、入力質問文が「ワードを押すと動かない」である。入力質問文に対応する適切な質問文は、質問文群Q2に含まれる質問文Q2-a、Q2-bである。第1の検索手法は、入力質問文と同じ名詞「ワード」を含む質問文Q1-a、Q1-b、Q2-a、Q2-bを発見することになり、適切な質問文以外も発見してしまう。
【0230】
第2の検索手法は、入力質問文の意味構造を表現するグラフ構造2300と各質問文の意味構造を表現するグラフ構造2301~2308とを参照して、動詞「押す」と動詞「動く」とを含む最小意味単位が、入力質問文と共通する質問文を検索することになる。このため、第2の検索手法は、質問文Q3-a、Q3-bを発見することになり、適切な質問文を発見することができない。
【0231】
第3の検索手法は、入力質問文の意味構造を表現するグラフ構造2300と各質問文の意味構造を表現するグラフ構造2301~2308とを参照して、名詞「ワード」と動詞「押す」とを含む最小意味単位が、入力質問文と共通する質問文を検索することになる。このため、第3の検索手法は、質問文を発見することができない。
【0232】
これに対し、情報処理装置100は、例えば、入力質問文から、新規質問文「ワードが実行できない」を生成し、新規質問文と一致する質問文を検索することができるため、入力質問文に対応する適切な質問文を発見することができる。このように、情報処理装置100は、入力質問文に対応する適切な質問文を発見する確率の向上を図ることができ、ユーザが所望する回答文を出力する確率の向上を図ることができる。
【0233】
また、情報処理装置100は、入力質問文と一致する質問文が、FAQDB400に登録されていなくても、入力質問文に対応する適切な質問文を発見する確率の向上を図ることができる。このため、管理者が、FAQDB400を用意する際にかかる作業量の低減化を図ることができる。また、情報処理装置100は、FAQDB400の記憶量の増大化を抑制することができる。
【0234】
以上説明したように、情報処理装置100によれば、それぞれ回答文に対応付けられた複数の質問文を取得することができる。情報処理装置100によれば、取得した質問文ごとに、当該質問文について意味構造を解析した結果に基づいて、当該質問文に含まれる単語間の関係性を特定することができる。情報処理装置100によれば、質問文ごとに特定した関係性に基づいて、第1の質問文に含まれる第1の単語と、第2の質問文に含まれる第2の単語とが交換可能であるか否かを判定することができる。情報処理装置100によれば、交換可能であると判定した場合、第1の質問文に含まれる第1の単語を変数化した第1の雛形質問文と、第2の質問文に含まれる第2の単語を変数化した第2の雛形質問文とを生成することができる。情報処理装置100によれば、生成した雛形質問文のグループに基づいて、複数の質問文のそれぞれの質問文に対応付けられた回答文のうち、入力質問文に対する回答文を出力することができる。これにより、情報処理装置100は、入力質問文に対応する適切な質問文を発見する確率の向上を図ることができ、ユーザが所望する回答文を出力する確率の向上を図ることができる。
【0235】
情報処理装置100によれば、交換可能であると判定した場合、第1の質問文と同じ回答文に対応付けられた第3の質問文に含まれる第3の単語を変数化した第3の雛形質問文を生成することができる。情報処理装置100によれば、交換可能であると判定した場合、第2の質問文と同じ回答文に対応付けられた第4の質問文に含まれる第4の単語を変数化した第4の雛形質問文を生成することができる。情報処理装置100によれば、生成した雛形質問文のグループに基づいて、入力質問文に対する回答文を出力することができる。これにより、情報処理装置100は、入力質問文に対応する適切な質問文を発見する確率のさらなる向上を図ることができ、ユーザが所望する回答文を出力する確率の向上を図ることができる。
【0236】
情報処理装置100によれば、質問文ごとに、当該質問文の意味構造を形成する最小意味単位を1以上特定することができる。情報処理装置100によれば、質問文ごとに特定した最小意味単位に基づいて、複数の質問文のうち、それぞれ異なる回答文に対応付けられた、意味構造が類似する質問文のペアを検出することができる。情報処理装置100によれば、当該ペアとなる第1の質問文に含まれる第1の単語と、当該ペアとなる第2の質問文に含まれる第2の単語とが交換可能であるか否かを判定することができる。これにより、情報処理装置100は、交換可能であるか否かを判定する精度の向上を図ることができる。
【0237】
情報処理装置100によれば、質問文のペアを検出した場合、当該ペアとなる第1の質問文の意味構造と、当該ペアとなる第2の質問文の意味構造とで、相違する最小意味単位のペアを検出することができる。情報処理装置100によれば、最小意味単位のペアを検出した場合、当該ペアとなる第1の最小意味単位と、当該ペアとなる第2の最小意味単位とで、相違する単語のペアを検出することができる。情報処理装置100によれば、検出した最小意味単位のペアが1つであり、かつ、検出した単語のペアが同じ意味カテゴリに属する場合、検出した単語のペアとなる第1の単語と第2の単語とが交換可能であると判定することができる。これにより、情報処理装置100は、交換可能であるか否かを判定する精度の向上を図ることができる。
【0238】
情報処理装置100によれば、質問文のペアを検出した場合、当該ペアとなる第1の質問文の意味構造と、当該ペアとなる第2の質問文の意味構造とで、相違する最小意味単位のペアを検出することができる。情報処理装置100によれば、最小意味単位のペアを検出した場合、当該ペアとなる第1の最小意味単位と、当該ペアとなる第2の最小意味単位とで、相違する単語のペアを検出することができる。情報処理装置100によれば、第1の最小意味単位と、第2の最小意味単位とで、検出した単語のペアとなる第1の単語と第2の単語とを交換することができる。情報処理装置100によれば、所定の文集合内での、交換前の第1の最小意味単位の出現頻度から、交換後の第1の最小意味単位の出現頻度への第1の減少量を算出することができる。情報処理装置100によれば、交換前の第2の最小意味単位の出現頻度から、交換後の第2の最小意味単位の出現頻度への第2の減少量を算出することができる。情報処理装置100によれば、算出した第1の減少量と第2の減少量とが共に閾値以下である場合、検出した単語のペアとなる第1の単語と第2の単語とが交換可能であると判定することができる。これにより、情報処理装置100は、交換可能であるか否かを判定する精度の向上を図ることができる。
【0239】
情報処理装置100によれば、入力質問文がグループに含まれるいずれかの雛形質問文に対応する場合、グループに含まれるいずれかの雛形質問文とは異なる雛形質問文に基づいて、入力質問文と意味的に類似する類似質問文を生成することができる。情報処理装置100によれば、生成した類似質問文に基づいて、複数の質問文のそれぞれの質問文に対応付けられた回答文のうち、入力質問文に対する回答文を出力することができる。これにより、情報処理装置100は、入力質問文と一致する質問文が存在しなくても、類似質問文に基づいて、入力質問文に対応する適切な質問文を発見する確率の向上を図ることができる。
【0240】
情報処理装置100によれば、交換可能であると判定した場合、第1の質問文に含まれる第1の単語を第2の単語に置換して得られる新規質問文を、第2の質問文に対応付けられた回答文に対応付けて出力することができる。これにより、情報処理装置100は、入力質問文に基づいて発見可能な、入力質問文に対応する適切な質問文を用意しやすくすることができる。このため、情報処理装置100は、入力質問文に対応する適切な質問文を発見する確率の向上を図ることができ、ユーザが所望する回答文を出力する確率の向上を図ることができる。
【0241】
情報処理装置100によれば、質問文は、名詞および動詞を含む文であり、名詞と動詞との関係性を特定することができる。これにより、情報処理装置100は、質問意図が現れやすい名詞と動詞との関係性に基づいて、雛形質問文を生成することができる。
【0242】
情報処理装置100によれば、単語の変数化の動作として、第1の単語および第2の単語を包括的に示す変数記号に置換する動作を採用することができる。これにより、情報処理装置100は、第1の単語と第2の単語とのいずれかの単語が代入可能な雛形質問文を生成することができる。このため、情報処理装置100は、第1の単語と第2の単語との2つの単語以外を代入することが好ましいか否かを判断することが困難な場合にも、入力質問文と同じ質問意図を有する新規質問文を生成しやすくすることができる。
【0243】
情報処理装置100によれば、単語の変数化の動作として、第1の単語および第2の単語と同じ意味カテゴリに属する単語を包括的に示す変数記号に置換する動作を採用することができる。これにより、情報処理装置100は、第1の単語と第2の単語と同じ意味カテゴリに属する単語であれば代入可能な雛形質問文を生成することができる。このため、情報処理装置100は、雛形質問文に基づいて、様々な新規質問文を生成しやすくすることができる。
【0244】
情報処理装置100によれば、所定の検索方法により、複数の質問文のそれぞれの質問文に対応付けられた回答文の中から発見された、入力質問文に対する回答文を取得することができる。情報処理装置100によれば、グループに基づいて、複数の質問文のそれぞれの質問文に対応付けられた回答文のうち、入力質問文に対する回答文を検索することができる。情報処理装置100によれば、取得した回答文と、検索した結果とに基づいて、入力質問文に対する回答文を出力することができる。これにより、情報処理装置100は、雛形質問文以外に、所定の検索方法も考慮し、ユーザが所望する回答文が出力されやすくすることができる。
【0245】
情報処理装置100によれば、出力した入力質問文に対する回答文についての登録指示を受け付けることができる。情報処理装置100によれば、登録指示を受け付けた場合、出力した入力質問文に対する回答文と、入力質問文とを対応付けて記憶することができる。これにより、情報処理装置100は、回答文に対応付けられた質問文の種類を増加させることができる。このため、情報処理装置100は、今後の検索において、入力質問文に対応する適切な質問文が発見されやすくすることができ、ユーザが所望する回答文が出力されやすくすることができる。
【0246】
情報処理装置100によれば、第3の単語に、第1の単語と同じ意味カテゴリに属する単語を用いることができる。情報処理装置100によれば、第4の単語に、第2の単語と同じ意味カテゴリに属する単語を用いることができる。これにより、情報処理装置100は、第3の雛形質問文または第4の雛形質問文に基づき、入力質問文と同じ質問意図を有する新規質問文を生成しやすくすることができる。
【0247】
情報処理装置100によれば、第3の単語に、第1の単語と同じ単語を用いることができる。情報処理装置100によれば、第4の単語に、第2の単語と同じ単語を用いることができる。これにより、情報処理装置100は、第3の雛形質問文または第4の雛形質問文に基づき、入力質問文と同じ質問意図を有する新規質問文を生成しやすくすることができる。
【0248】
情報処理装置100によれば、それぞれ回答文に対応付けられた複数の質問文を取得することができる。情報処理装置100によれば、取得した質問文ごとに、当該質問文について意味構造を解析した結果に基づいて、当該質問文に含まれる単語間の関係性を特定することができる。情報処理装置100によれば、質問文ごとに特定した関係性に基づいて、複数の質問文のうち、第1の質問文に含まれる第1の単語と、第2の質問文に含まれる第2の単語とが交換可能であるか否かを判定することができる。情報処理装置100によれば、交換可能であると判定した場合、第1の質問文に含まれる第1の単語を第2の単語に置換して得られる新規質問文を、第2の質問文に対応付けられた回答文に対応付けて出力することができる。これにより、情報処理装置100は、回答文に対応付けられた質問文の種類を増加させることができる。このため、情報処理装置100は、今後の検索において、入力質問文に対応する適切な質問文が発見されやすくすることができ、ユーザが所望する回答文が出力されやすくすることができる。
【0249】
情報処理装置100によれば、交換可能であると判定した場合、複数の質問文のうち、第1の質問文と同じ回答文に対応付けられた第3の質問文に含まれる第3の単語を第2の単語に置換して得られる新規質問文を生成することができる。情報処理装置100によれば、生成した新規質問文を、第2の質問文に対応付けられた回答文に対応付けて出力することができる。これにより、情報処理装置100は、回答文に対応付けられた質問文の種類を増加させることができる。このため、情報処理装置100は、今後の検索において、入力質問文に対応する適切な質問文が発見されやすくすることができ、ユーザが所望する回答文が出力されやすくすることができる。
【0250】
なお、本実施の形態で説明した出力方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本実施の形態で説明した出力プログラムは、ハードディスク、フレキシブルディスク、CD(Compact Disc)-ROM、MO、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本実施の形態で説明した出力プログラムは、インターネット等のネットワークを介して配布してもよい。
【0251】
上述した実施の形態に関し、さらに以下の付記を開示する。
【0252】
(付記1)それぞれ回答文に対応付けられた複数の質問文を取得し、
取得した前記質問文ごとに、当該質問文について意味構造を解析した結果に基づいて、当該質問文に含まれる単語間の関係性を特定し、
前記質問文ごとに特定した前記関係性に基づいて、前記複数の質問文のうち、第1の質問文に含まれる第1の単語と、前記第1の質問文とは異なる回答文に対応付けられた第2の質問文に含まれる第2の単語とが交換可能であるか否かを判定し、
交換可能であると判定した場合、前記第1の質問文に含まれる前記第1の単語を変数化した第1の雛形質問文と、前記第2の質問文に含まれる前記第2の単語を変数化した第2の雛形質問文とを生成し、
生成した前記第1の雛形質問文と前記第2の雛形質問文とのグループに基づいて、前記複数の質問文のそれぞれの質問文に対応付けられた回答文のうち、入力質問文に対する回答文を出力する、
処理をコンピュータが実行することを特徴とする出力方法。
【0253】
(付記2)交換可能であると判定した場合、前記複数の質問文のうち、前記第1の質問文と同じ回答文に対応付けられた第3の質問文に含まれる第3の単語を変数化した第3の雛形質問文と、前記複数の質問文のうち、前記第2の質問文と同じ回答文に対応付けられた第4の質問文に含まれる第4の単語を変数化した第4の雛形質問文とを生成する、処理を前記コンピュータが実行し、
前記出力する処理は、
生成した前記第1の雛形質問文と前記第2の雛形質問文と前記第3の雛形質問文と前記第4の雛形質問文とのグループに基づいて、前記複数の質問文のそれぞれの質問文に対応付けられた回答文のうち、前記入力質問文に対する回答文を出力する、ことを特徴とする付記1に記載の出力方法。
【0254】
(付記3)前記特定する処理は、
取得した前記質問文ごとに、当該質問文に含まれる関係性がある単語のペアと、当該ペアとなる単語間にどのような関係性があるかを示す概念関係子とを対応付けた、当該質問文の意味構造を形成する最小意味単位を1以上特定し、
前記判定する処理は、
前記質問文ごとに特定した前記最小意味単位に基づいて、前記複数の質問文のうち、それぞれ異なる回答文に対応付けられた、意味構造が類似する質問文のペアを検出し、当該ペアとなる前記第1の質問文に含まれる前記第1の単語と、当該ペアとなる前記第2の質問文に含まれる前記第2の単語とが交換可能であるか否かを判定する、ことを特徴とする付記1または2に記載の出力方法。
【0255】
(付記4)前記質問文のペアを検出した場合、当該ペアとなる前記第1の質問文の意味構造と、当該ペアとなる前記第2の質問文の意味構造とで、相違する最小意味単位のペアを検出し、
前記最小意味単位のペアを検出した場合、当該ペアとなる第1の最小意味単位と、当該ペアとなる第2の最小意味単位とで、相違する単語のペアを検出する、処理を前記コンピュータが実行し、
前記判定する処理は、
検出した前記最小意味単位のペアが1つであり、かつ、検出した前記単語のペアが同じ意味カテゴリに属する場合、検出した前記単語のペアとなる前記第1の単語と前記第2の単語とが交換可能であると判定する、ことを特徴とする付記3に記載の出力方法。
【0256】
(付記5)前記質問文のペアを検出した場合、当該ペアとなる前記第1の質問文の意味構造と、当該ペアとなる前記第2の質問文の意味構造とで、相違する最小意味単位のペアを検出し、
前記最小意味単位のペアを検出した場合、当該ペアとなる第1の最小意味単位と、当該ペアとなる第2の最小意味単位とで、相違する単語のペアを検出し、
前記第1の最小意味単位と、前記第2の最小意味単位とで、検出した前記単語のペアとなる前記第1の単語と前記第2の単語とを交換し、
所定の文集合内での、交換前の前記第1の最小意味単位の出現頻度から、交換後の前記第1の最小意味単位の出現頻度への第1の減少量と、交換前の前記第2の最小意味単位の出現頻度から、交換後の前記第2の最小意味単位の出現頻度への第2の減少量とを算出する、処理を前記コンピュータが実行し、
前記判定する処理は、
算出した前記第1の減少量と前記第2の減少量とが共に閾値以下である場合、検出した前記単語のペアとなる前記第1の単語と前記第2の単語とが交換可能であると判定する、ことを特徴とする付記3または4に記載の出力方法。
【0257】
(付記6)前記入力質問文が前記グループに含まれるいずれかの雛形質問文に対応する場合、前記グループに含まれる前記いずれかの雛形質問文とは異なる雛形質問文に基づいて、前記入力質問文と意味的に類似する類似質問文を生成する、処理を前記コンピュータが実行し、
前記出力する処理は、
生成した前記類似質問文に基づいて、前記複数の質問文のそれぞれの質問文に対応付けられた回答文のうち、前記入力質問文に対する回答文を出力する、ことを特徴とする付記1~5のいずれか一つに記載の出力方法。
【0258】
(付記7)交換可能であると判定した場合、前記第1の質問文に含まれる前記第1の単語を前記第2の単語に置換して得られる新規質問文を、前記第2の質問文に対応付けられた回答文に対応付けて出力する、処理を前記コンピュータが実行することを特徴とする付記1~6のいずれか一つに記載の出力方法。
【0259】
(付記8)前記質問文は、名詞および動詞を含む文であり、
前記関係性は、名詞と動詞との関係性である、ことを特徴とする付記1~7のいずれか一つに記載の出力方法。
【0260】
(付記9)前記生成する処理は、
交換可能であると判定した場合、前記第1の質問文に含まれる前記第1の単語を前記第1の単語および前記第2の単語を包括的に示す変数記号に置換した第1の雛形質問文と、前記第2の質問文に含まれる前記第2の単語を前記第1の単語および前記第2の単語を包括的に示す変数記号に置換した第2の雛形質問文とを生成する、ことを特徴とする付記1~8のいずれか一つに記載の出力方法。
【0261】
(付記10)前記生成する処理は、
交換可能であると判定した場合、前記第1の質問文に含まれる前記第1の単語を前記第1の単語および前記第2の単語と同じ意味カテゴリに属する単語を包括的に示す変数記号に置換した第1の雛形質問文と、前記第2の質問文に含まれる前記第2の単語を前記第1の単語および前記第2の単語と同じ意味カテゴリに属する単語を包括的に示す変数記号に置換した第2の雛形質問文とを生成する、ことを特徴とする付記1~9のいずれか一つに記載の出力方法。
【0262】
(付記11)所定の検索方法により、前記複数の質問文のそれぞれの質問文に対応付けられた回答文の中から発見された、前記入力質問文に対する回答文を取得し、
前記グループに基づいて、前記複数の質問文のそれぞれの質問文に対応付けられた回答文のうち、前記入力質問文に対する回答文を検索する、処理を前記コンピュータが実行し、
前記出力する処理は、
取得した前記回答文と、検索した結果とに基づいて、前記入力質問文に対する回答文を出力する、ことを特徴とする付記1~10のいずれか一つに記載の出力方法。
【0263】
(付記12)出力した前記入力質問文に対する回答文についての登録指示を受け付け、
前記登録指示を受け付けた場合、出力した前記入力質問文に対する回答文と、前記入力質問文とを対応付けて記憶する、処理を前記コンピュータが実行することを特徴とする付記1~11のいずれか一つに記載の出力方法。
【0264】
(付記13)前記第3の単語は、前記第1の単語と同じ意味カテゴリに属し、
前記第4の単語は、前記第2の単語と同じ意味カテゴリに属する、ことを特徴とする付記2に記載の出力方法。
【0265】
(付記14)前記第3の単語は、前記第1の単語と同じ単語であり、
前記第4の単語は、前記第2の単語と同じ単語である、ことを特徴とする付記13に記載の出力方法。
【0266】
(付記15)それぞれ回答文に対応付けられた複数の質問文を取得し、
取得した前記質問文ごとに、当該質問文について意味構造を解析した結果に基づいて、当該質問文に含まれる単語間の関係性を特定し、
前記質問文ごとに特定した前記関係性に基づいて、前記複数の質問文のうち、第1の質問文に含まれる第1の単語と、前記第1の質問文とは異なる回答文に対応付けられた第2の質問文に含まれる第2の単語とが交換可能であるか否かを判定し、
交換可能であると判定した場合、前記第1の質問文に含まれる前記第1の単語を変数化した第1の雛形質問文と、前記第2の質問文に含まれる前記第2の単語を変数化した第2の雛形質問文とを生成し、
生成した前記第1の雛形質問文と前記第2の雛形質問文とのグループに基づいて、前記複数の質問文のそれぞれの質問文に対応付けられた回答文のうち、入力質問文に対する回答文を出力する、
処理をコンピュータに実行させることを特徴とする出力プログラム。
【0267】
(付記16)それぞれ回答文に対応付けられた複数の質問文を取得し、
取得した前記質問文ごとに、当該質問文について意味構造を解析した結果に基づいて、当該質問文に含まれる単語間の関係性を特定し、
前記質問文ごとに特定した前記関係性に基づいて、前記複数の質問文のうち、第1の質問文に含まれる第1の単語と、前記第1の質問文とは異なる回答文に対応付けられた第2の質問文に含まれる第2の単語とが交換可能であるか否かを判定し、
交換可能であると判定した場合、前記第1の質問文に含まれる前記第1の単語を変数化した第1の雛形質問文と、前記第2の質問文に含まれる前記第2の単語を変数化した第2の雛形質問文とを生成し、
生成した前記第1の雛形質問文と前記第2の雛形質問文とのグループに基づいて、前記複数の質問文のそれぞれの質問文に対応付けられた回答文のうち、入力質問文に対する回答文を出力する、
制御部を有することを特徴とする情報処理装置。
【0268】
(付記17)それぞれ回答文に対応付けられた複数の質問文を取得し、
取得した前記質問文ごとに、当該質問文について意味構造を解析した結果に基づいて、当該質問文に含まれる単語間の関係性を特定し、
前記質問文ごとに特定した前記関係性に基づいて、前記複数の質問文のうち、第1の質問文に含まれる第1の単語と、前記第1の質問文とは異なる回答文に対応付けられた第2の質問文に含まれる第2の単語とが交換可能であるか否かを判定し、
交換可能であると判定した場合、前記第1の質問文に含まれる前記第1の単語を前記第2の単語に置換して得られる新規質問文を、前記第2の質問文に対応付けられた回答文に対応付けて出力する、
処理をコンピュータが実行することを特徴とする出力方法。
【0269】
(付記18)交換可能であると判定した場合、前記複数の質問文のうち、前記第1の質問文と同じ回答文に対応付けられた第3の質問文に含まれる第3の単語を前記第2の単語に置換して得られる新規質問文を、前記第2の質問文に対応付けられた回答文に対応付けて出力する、処理を前記コンピュータが実行することを特徴とする付記17に記載の出力方法。
【0270】
(付記19)それぞれ回答文に対応付けられた複数の質問文を取得し、
取得した前記質問文ごとに、当該質問文について意味構造を解析した結果に基づいて、当該質問文に含まれる単語間の関係性を特定し、
前記質問文ごとに特定した前記関係性に基づいて、前記複数の質問文のうち、第1の質問文に含まれる第1の単語と、前記第1の質問文とは異なる回答文に対応付けられた第2の質問文に含まれる第2の単語とが交換可能であるか否かを判定し、
交換可能であると判定した場合、前記第1の質問文に含まれる前記第1の単語を前記第2の単語に置換して得られる新規質問文を、前記第2の質問文に対応付けられた回答文に対応付けて出力する、
処理をコンピュータに実行させることを特徴とする出力プログラム。
【0271】
(付記20)それぞれ回答文に対応付けられた複数の質問文を取得し、
取得した前記質問文ごとに、当該質問文について意味構造を解析した結果に基づいて、当該質問文に含まれる単語間の関係性を特定し、
前記質問文ごとに特定した前記関係性に基づいて、前記複数の質問文のうち、第1の質問文に含まれる第1の単語と、前記第1の質問文とは異なる回答文に対応付けられた第2の質問文に含まれる第2の単語とが交換可能であるか否かを判定し、
交換可能であると判定した場合、前記第1の質問文に含まれる前記第1の単語を前記第2の単語に置換して得られる新規質問文を、前記第2の質問文に対応付けられた回答文に対応付けて出力する、
制御部を有することを特徴とする情報処理装置。
【符号の説明】
【0272】
100 情報処理装置
110 記憶装置
200 FAQサービス提供システム
201 クライアント装置
210 ネットワーク
300 バス
301 CPU
302 メモリ
303 ネットワークI/F
304 記録媒体I/F
305 記録媒体
400 FAQDB
500 意味構造DB
600 辞書DB
700 記憶部
701 取得部
702 特定部
703 判定部
704 生成部
705 検索部
706 拡張部
707,814 出力部
800 機能部群
801 意味構造解析部
802 統計処理部
803 変数化処理部
804 パターン生成部
805 パターンDB
810 入力部
811 パターン検索部
812 質問展開部
813 回答取得部
901~903,1001~1006,1401~1403,2300~2308 グラフ構造
1100,1120,1500,1520,1810 検索画面
1101,1501,1811 入力欄
1102,1502,1812 検索ボタン
1103,1503,1813 表示欄
1110,1510 新規質問文群
1601 質問検索部
1602 出力補正部
1801 ユーザ評価部
1802 再学習制御部
1814 解決ボタン
2001 質問文拡張部