IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 京東方科技集團股▲ふん▼有限公司の特許一覧

特表2023-514023質問の検索装置、質問の検索方法、デバイス、および記憶媒体
<>
  • 特表-質問の検索装置、質問の検索方法、デバイス、および記憶媒体 図1
  • 特表-質問の検索装置、質問の検索方法、デバイス、および記憶媒体 図2
  • 特表-質問の検索装置、質問の検索方法、デバイス、および記憶媒体 図3
  • 特表-質問の検索装置、質問の検索方法、デバイス、および記憶媒体 図4
  • 特表-質問の検索装置、質問の検索方法、デバイス、および記憶媒体 図5
  • 特表-質問の検索装置、質問の検索方法、デバイス、および記憶媒体 図6
  • 特表-質問の検索装置、質問の検索方法、デバイス、および記憶媒体 図7
  • 特表-質問の検索装置、質問の検索方法、デバイス、および記憶媒体 図8
  • 特表-質問の検索装置、質問の検索方法、デバイス、および記憶媒体 図9
  • 特表-質問の検索装置、質問の検索方法、デバイス、および記憶媒体 図10
  • 特表-質問の検索装置、質問の検索方法、デバイス、および記憶媒体 図11
  • 特表-質問の検索装置、質問の検索方法、デバイス、および記憶媒体 図12
  • 特表-質問の検索装置、質問の検索方法、デバイス、および記憶媒体 図13
  • 特表-質問の検索装置、質問の検索方法、デバイス、および記憶媒体 図14
  • 特表-質問の検索装置、質問の検索方法、デバイス、および記憶媒体 図15
  • 特表-質問の検索装置、質問の検索方法、デバイス、および記憶媒体 図16
  • 特表-質問の検索装置、質問の検索方法、デバイス、および記憶媒体 図17
  • 特表-質問の検索装置、質問の検索方法、デバイス、および記憶媒体 図18
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-04-05
(54)【発明の名称】質問の検索装置、質問の検索方法、デバイス、および記憶媒体
(51)【国際特許分類】
   G06F 16/90 20190101AFI20230329BHJP
【FI】
G06F16/90 100
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2022539697
(86)(22)【出願日】2021-01-12
(85)【翻訳文提出日】2022-06-28
(86)【国際出願番号】 CN2021071242
(87)【国際公開番号】W WO2021169640
(87)【国際公開日】2021-09-02
(31)【優先権主張番号】PCT/CN2020/076600
(32)【優先日】2020-02-25
(33)【優先権主張国・地域又は機関】CN
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.JAVA
2.SMALLTALK
(71)【出願人】
【識別番号】510280589
【氏名又は名称】京東方科技集團股▲ふん▼有限公司
【氏名又は名称原語表記】BOE TECHNOLOGY GROUP CO.,LTD.
【住所又は居所原語表記】No.10 Jiuxianqiao Rd.,Chaoyang District,Beijing 100015,CHINA
(74)【代理人】
【識別番号】100108453
【弁理士】
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(72)【発明者】
【氏名】▲張▼ 帆
(72)【発明者】
【氏名】魏 小▲紅▼
(72)【発明者】
【氏名】▲賀▼ 王▲強▼
(72)【発明者】
【氏名】苗 新宇
(72)【発明者】
【氏名】▲蒋▼ 成▲偉▼
(72)【発明者】
【氏名】王 ▲瑜▼
(72)【発明者】
【氏名】王 玉峰
(72)【発明者】
【氏名】王 洪
【テーマコード(参考)】
5B175
【Fターム(参考)】
5B175EA01
(57)【要約】
質問の検索装置、質問の検索方法、端末、および記憶媒体を開示する。質問の検索方法は、ユーザーの入力情報を取得することと、ユーザーの入力情報に基づいてユーザーの意図情報を取得することと、解答生成ルールを確定することと、入力情報及び意図情報に基づいて、解答生成ルールを利用して第1解答を生成し、ユーザーに提供することと、を含む。
【特許請求の範囲】
【請求項1】
ユーザーの入力情報を取得することと、
前記ユーザーの入力情報に基づいて前記ユーザーの意図情報を取得することと、
解答生成ルールを確定することと、
前記入力情報及び前記意図情報に基づいて、前記解答生成ルールを利用して第1解答を生成し、前記ユーザーに提供することと、
を含む、
ことを特徴とする質問の検索方法。
【請求項2】
前記解答生成ルールが第1ルールである場合、前記入力情報及び前記意図情報に基づいて、前記解答生成ルールを利用して第1解答を生成することは、
前記入力情報及び前記意図情報に基づいて、質問応答モデルによって第2解答を生成し、前記第2解答の信頼性を取得することと、
前記第2解答の信頼性及び前記第2解答に基づいて前記第1解答を生成することと、
を含む、
ことを特徴とする請求項1に記載の質問の検索方法。
【請求項3】
前記第2解答の信頼性及び前記第2解答に基づいて前記第1解答を生成することは、
前記第2解答の信頼性が第1閾値より大きい場合、前記第2解答を前記第1解答とすることと、
前記第2解答の信頼性が第1閾値以下である場合、前記入力情報に基づいて知識グラフモデルによって第3解答を生成できるかどうかをさらに判断することと、
前記第2解答の信頼性が第1閾値以下であり、且つ前記知識グラフモデルによって第3解答を生成した場合、前記第3解答を前記第1解答とすることと、
前記第2解答の信頼性が第1閾値以下であり、且つ前記知識グラフモデルによって第3解答を生成しない場合、前記第2解答を前記第1解答とすることと、
を含む、
ことを特徴とする請求項2に記載の質問の検索方法。
【請求項4】
前記入力情報及び前記意図情報に基づいて、質問応答モデルによって第2解答を生成し、前記第2解答の信頼性を取得することは、
前記入力情報の特徴ベクトル表現を取得することと、
予め設定された質問応答ライブラリから前記意図情報に対応する候補質問集合を取得することと、
前記候補質問集合における各候補質問の特徴ベクトル表現を取得することと、
前記入力情報の特徴ベクトル表現と前記各候補質問の特徴ベクトル表現との間の第1類似度をそれぞれ計算することと、
前記入力情報の特徴ベクトル表現と前記各候補質問の特徴ベクトル表現との間の第1類似度に基づいて、前記候補質問集合から第1候補質問を選択することと、
前記質問応答ライブラリにおける前記第1候補質問に対応する候補解答を前記第2解答とし、ここで、前記入力情報の特徴ベクトル表現と選択された前記第1候補質問の特徴ベクトル表現との間の第1類似度は、前記第2解答の信頼性であることと、
を含む、
ことを特徴とする請求項2に記載の質問の検索方法。
【請求項5】
前記解答生成ルールが第2ルールである場合、前記入力情報及び前記意図情報に基づいて、前記解答生成ルールを利用して第1解答を生成することは、
前記意図情報に食品が含まれるかどうかを判断することと、
前記意図情報に食品が含まれない場合、前記入力情報に基づいて質問応答モデルによって第2解答を生成できるかどうかを判断することと、
前記質問応答モデルによって第2解答を生成した場合、前記第2解答を前記第1解答とすることと、
前記意図情報に食品が含まれる場合、前記入力情報に基づいて知識グラフモデルによって第3解答を生成できるかどうかを判断することと、
前記知識グラフモデルによって第3解答を生成した場合、前記第3解答を前記第1解答とすることと、
を含む、
ことを特徴とする請求項1に記載の質問の検索方法。
【請求項6】
前記入力情報及び前記意図情報に基づいて、前記解答生成ルールを利用して第1解答を生成することは、
前記質問応答モデルによって第2解答を生成しない場合、前記入力情報に基づいて前記知識グラフモデルによって第3解答を生成し、前記第3解答を前記第1解答とすることと、
前記知識グラフモデルによって第3解答を生成しない場合、前記入力情報に基づいて前記質問応答モデルによって第2解答を生成し、前記第2解答を前記第1解答とすることと、
をさらに含む、
ことを特徴とする請求項5に記載の質問の検索方法。
【請求項7】
前記意図情報に食品が含まれるかどうかを判断する前に、
前記入力情報に基づいて前記質問応答モデルによって第2解答を生成できるかどうか、または、前記知識グラフモデルによって第3解答を生成できるかどうかを判断することと、
前記質問応答モデルによって第2解答を生成せず、且つ前記知識グラフモデルによって第2解答を生成しない場合、予め設定された質問応答ライブラリから前記意図情報に対応する候補質問集合を取得し、前記候補質問集合における候補質問を前記ユーザーに提供することと、
をさらに含む、
ことを特徴とする請求項5に記載の質問の検索方法。
【請求項8】
前記入力情報及び前記意図情報に基づいて、質問応答モデルによって第2解答を生成することは、
前記入力情報の特徴ベクトル表現を取得することと、
予め設定された質問応答ライブラリから前記意図情報に対応する候補質問集合を取得することと、
前記候補質問集合における各候補質問の特徴ベクトル表現を取得することと、
前記入力情報の特徴ベクトル表現と前記各候補質問の特徴ベクトル表現との間の第1類似度をそれぞれ計算することと、
前記入力情報の特徴ベクトル表現と前記各候補質問の特徴ベクトル表現との間の第1類似度に基づいて、前記候補質問集合から1つ以上の候補問題を確定することと、
1つの候補質問が確定された場合、前記質問応答ライブラリにおける当該候補質問に対応する候補解答を前記第2解答とすることと、
複数の候補質問が確定された場合、前記ユーザーに前記複数の候補質問を提供することと、
前記ユーザーの第1選択指令を取得することと、
前記第1選択指令に基づいて、前記ユーザーが選択した候補質問を確定することと、
前記質問応答ライブラリにおける前記ユーザーが選択した候補質問に対応する候補解答を前記第2解答とすることと、
を含む、
ことを特徴とする請求項5から7のいずれか1項に記載の質問の検索方法。
【請求項9】
前記ユーザーの入力情報に基づいて前記ユーザーの意図情報を取得することは、
前記入力情報の特徴ベクトル表現を取得することと、
前記入力情報の特徴ベクトル表現を意図予測モデルに入力することにより、前記ユーザーの意図情報を取得することと、
を含む、
ことを特徴とする請求項1から8のいずれか1項に記載の質問の検索方法。
【請求項10】
前記知識グラフモデルによって第3解答を生成することは、
前記入力情報に存在するエンティティタイプおよび関係タイプを識別することと、
前記エンティティタイプおよび関係タイプに基づいて、前記知識グラフモデルを検索することにより、前記第3解答を生成することと、
を含む、
ことを特徴とする請求項3、5、6、7のいずれか1項に記載の質問の検索方法。
【請求項11】
前記ユーザーの入力情報を取得する前に、
前記ユーザーの属性情報を取得することと、
前記属性情報の特徴ベクトル表現を確定することと、
前記属性情報の特徴ベクトル表現と予め設定された質問応答ライブラリにおける各標準質問の特徴ベクトル表現との間の第2類似度をそれぞれ確定することと、
前記第2類似度に基づいて、前記ユーザーに推薦質問を提供することと、
をさらに含む、
ことを特徴とする請求項1から10のいずれか1項に記載の質問の検索方法。
【請求項12】
前記ユーザーに推薦質問を提供した後、
前記ユーザーの第2選択指令を取得することと、
前記第2選択指令に基づいて、前記ユーザーが選択した推薦質問を確定することと、
前記ユーザーが選択した推薦質問に基づいて、前記予め設定された質問応答ライブラリから第4解答を取得することと、
前記第4解答を前記ユーザーに提供することと、
をさらに含む、
ことを特徴とする請求項11に記載の質問の検索方法。
【請求項13】
前記ユーザーの入力情報を取得した後、
前記入力情報を分割することにより、複数の単語を生成することと、
前記複数の単語の各々が予め設定された類語ライブラリにおける任意の単語と合致するかどうかを判断することと、
マッチング結果に応じて、予め設定された質問応答ライブラリから提示質問を選択し、前記ユーザーに提供することと、
をさらに含む、
ことを特徴とする請求項1から12のいずれか1項に記載の質問の検索方法。
【請求項14】
前記予め設定された質問応答ライブラリから提示質問を選択し、前記ユーザーに提供した後、
前記ユーザーの第3選択指令を取得することと、
前記第3選択指令に基づいて、前記ユーザーが選択した提示質問を確定することと、
前記ユーザーが選択した提示質問に基づいて、前記予め設定された質問応答ライブラリから第5解答を取得することと、
前記第5解答を前記ユーザーに提供することと、
をさらに含む、
ことを特徴とする請求項13に記載の質問の検索方法。
【請求項15】
前記ユーザーの入力情報を取得した後、
前記入力情報に含まれる文字数が第2閾値より大きいかどうかを判断することと、
大きい場合、前記入力情報を分割することにより、複数の単文を生成することと、
プリセットされたアルゴリズムによって、前記複数の単文のうち2つの単文ごとの第3類似度を確定することと、
前記2つの単文ごとの第3類似度に基づいて、キーセンテンスを確定し、前記キーセンテンスを最終的な入力情報として確定することと、
をさらに含む、
ことを特徴とする請求項1から14のいずれか1項に記載の質問の検索方法。
【請求項16】
前記入力情報に含まれる文字数が第2閾値より大きいかどうかを判断した後、
そうでない場合、前記入力情報が予め設定された補足条件を満たすかどうかを判断することと、
大きい場合、前記ユーザーの履歴入力情報を取得することと、
前記履歴入力情報に基づいて前記入力情報を補足し、補足された情報を最終的な入力情報とすることと、
をさらに含む、
ことを特徴とする請求項15に記載の質問の検索方法。
【請求項17】
ユーザーの入力情報を取得するために使用される第1取得モジュールと、
前記ユーザーの入力情報に基づいて前記ユーザーの意図情報を取得するために使用される第2取得モジュールと、
解答生成ルールを確定するために使用される確定モジュールと、
前記入力情報及び前記意図情報に基づいて、前記解答生成ルールを利用して第1解答を生成するために使用される処理モジュールと、
前記第1解答を前記ユーザーに提供するために使用される解答提供モジュールと、
を含む、
ことを特徴とする質問の検索装置。
【請求項18】
メモリ、プロセッサ、およびメモリに記憶され且つプロセッサ上で実行可能なコンピュータプログラムを含み、前記プログラムが前記プロセッサによって実行されるとき、請求項1から16のいずれか1項に記載の質問の検索方法を実現することを特徴とする端末デバイス。
【請求項19】
コンピュータプログラムが記憶されたコンピュータ可読記憶媒体であって、当該プログラムがプロセッサによって実行されるとき、請求項1から16のいずれか1項に記載の質問の検索方法を実現することを特徴とするコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、コンピュータ技術の分野に関し、特に質問の検索装置、質問の検索方法、デバイス、および記憶媒体に関するものである。
【背景技術】
【0002】
通信技術の発展に伴い、ユーザーは常にネットワークを介して関連情報を検索する必要があり、例えばユーザーが体調不良になった場合、通常、ネットワークを介して病気の情報を検索し、疾患に関する情報を自分で把握する。しかしながら、ネットワーク上には情報量が多いので、ユーザーがページごとに閲覧することで関連情報を取得する際に、膨大な時間と手間がかかり、ネットワーク上には様々な質問に対する解答数が多いので、ユーザーが自分で検索したい質問に対する解答を正確に取得できない。
【発明の概要】
【課題を解決するための手段】
【0003】
本発明の実施例は、質問の検索装置、質問の検索方法、端末デバイス、およびコンピュータ可読記憶媒体に関する。
【0004】
本発明の一側面において、ユーザーの入力情報を取得することと、前記ユーザーの入力情報に基づいて前記ユーザーの意図情報を取得することと、解答生成ルールを確定することと、前記入力情報及び前記意図情報に基づいて、前記解答生成ルールを利用して第1解答を生成し、前記ユーザーに提供することと、を含む質問の検索方法に関する。
【0005】
一実現可能な実施形態において、前記解答生成ルールが第1ルールである場合、前記入力情報及び前記意図情報に基づいて、前記解答生成ルールを利用して第1解答を生成することは、
前記入力情報及び前記意図情報に基づいて、質問応答モデルによって第2解答を生成し、前記第2解答の信頼性を取得することと、
前記第2解答の信頼性及び前記第2解答に基づいて、前記第1解答を生成し、前記ユーザーに提供することと、
を含む。
【0006】
別の実現可能な実施形態において、前記第2解答の信頼性及び前記第2解答に基づいて、第1解答を生成し、前記ユーザーに提供することは、
前記第2解答の信頼性が第1閾値より大きい場合、前記第2解答を前記第1解答とすることと、
前記第2解答の信頼性が第1閾値以下である場合、前記入力情報に基づいて知識グラフモデルによって第3解答を生成するかどうかをさらに判断することと、
前記第2解答の信頼性が第1閾値以下であり、且つ前記知識グラフモデルによって第3解答を生成した場合、前記第3解答を前記第1解答とすることと、
前記第2解答の信頼性が第1閾値以下であり、且つ前記知識グラフモデルによって第3解答を生成しない場合、前記第2解答を前記第1解答とすることと、
を含む。
【0007】
別の実現可能な実施形態において、前記入力情報及び前記意図情報に基づいて、質問応答モデルによって第2解答を生成し、前記第2解答の信頼性を取得することは、
前記入力情報の特徴ベクトル表現を取得することと、
予め設定された質問応答ライブラリから前記意図情報に対応する候補質問集合を取得することと、
前記候補質問集合における各候補質問の特徴ベクトル表現を取得することと、
前記入力情報の特徴ベクトル表現と前記各候補質問の特徴ベクトル表現との間の第1類似度をそれぞれ計算することと、
前記入力情報の特徴ベクトル表現と前記各候補質問の特徴ベクトル表現との間の第1類似度に基づいて、前記候補質問集合から第1候補質問を選択することと、
前記質問応答ライブラリにおける前記第1候補質問に対応する候補解答を前記第2解答とし、ここで、前記入力情報の特徴ベクトル表現と選択された前記第1候補質問の特徴ベクトル表現との間の第1類似度は、前記第2解答の信頼性であることと、
を含む。
【0008】
別の実現可能な実施形態において、前記解答生成ルールが第2ルールである場合、前記入力情報及び前記意図情報に基づいて、前記解答生成ルールを利用して第1解答を生成することは、
前記意図情報に食品が含まれるかどうかを判断することと、
前記意図情報に食品が含まれない場合、前記入力情報に基づいて質問応答モデルによって第2解答を生成できるかどうかを判断することと、
前記質問応答モデルによって第2解答を生成した場合、前記第2解答を前記第1解答とすることと、
前記意図情報に食品が含まれる場合、前記入力情報に基づいて知識グラフモデルによって第3解答を生成できるかどうかを判断することと、
前記知識グラフモデルによって第3解答を生成した場合、前記第3解答を前記第1解答とすることと、
を含む。
【0009】
別の実現可能な実施形態において、前記入力情報及び前記意図情報に基づいて、前記解答生成ルールを利用して第1解答を生成することは、
前記質問応答モデルによって第2解答を生成しない場合、前記入力情報に基づいて前記知識グラフモデルによって第3解答を生成し、前記第3解答を前記第1解答とすることと、
前記知識グラフモデルによって第3解答を生成しない場合、前記入力情報に基づいて前記質問応答モデルによって第2解答を生成し、前記第2解答を前記第1解答とすることと、
をさらに含む。
【0010】
別の実現可能な実施形態において、前記意図情報に食品が含まれるかどうかを判断する前に、
前記入力情報に基づいて前記質問応答モデルによって第2解答を生成できるかどうか、または、前記知識グラフモデルによって第3解答を生成できるかどうかを判断することと、
前記質問応答モデルによって第2解答を生成せず、且つ前記知識グラフモデルによって第2解答を生成しない場合、予め設定された質問応答ライブラリから前記意図情報に対応する候補質問集合を取得し、前記候補質問集合における候補質問を前記ユーザーに提供することと、
をさらに含む。
【0011】
別の実現可能な実施形態において、前記入力情報及び前記意図情報に基づいて質問応答モデルによって第2解答を生成することは、
前記入力情報の特徴ベクトル表現を取得することと、
予め設定された質問応答ライブラリから前記意図情報に対応する候補質問集合を取得することと、
前記候補質問集合における各候補質問の特徴ベクトル表現を取得することと、
前記入力情報の特徴ベクトル表現と前記各候補質問の特徴ベクトル表現との間の第1類似度をそれぞれ計算することと、
前記入力情報の特徴ベクトル表現と前記各候補質問の特徴ベクトル表現との間の第1類似度に基づいて、前記候補質問集合から1つ以上の候補問題を確定することと、
1つの候補質問が確定された場合、前記質問応答ライブラリにおける当該候補質問に対応する候補解答を前記第2解答とすることと、
複数の候補質問が確定された場合、前記ユーザーに前記複数の候補質問を提供することと、
前記ユーザーの第1選択指令を取得することと、
前記第1選択指令に基づいて、前記ユーザーが選択した候補質問を確定することと、
前記質問応答ライブラリにおける前記ユーザーが選択した候補質問に対応する候補解答を前記第2解答とすることと、
を含む。
【0012】
別の実現可能な実施形態において、前記ユーザーの入力情報に基づいて前記ユーザーの意図情報を取得することは、
前記入力情報の特徴ベクトル表現を取得することと、
前記入力情報の特徴ベクトル表現を意図予測モデルに入力することにより、前記ユーザーの意図情報を取得することと、
を含む。
【0013】
別の実現可能な実施形態において、前記知識グラフモデルによって第3解答を生成することは、
前記入力情報に存在するエンティティタイプおよび関係タイプを識別することと、
前記エンティティタイプおよび関係タイプに基づいて、前記知識グラフモデルを検索することにより、前記第3解答を生成することと、
を含む。
【0014】
別の実現可能な実施形態において、前記ユーザーの入力情報を取得する前に、
前記ユーザーの属性情報を取得することと、
前記属性情報の特徴ベクトル表現を確定することと、
前記属性情報の特徴ベクトル表現と予め設定された質問応答ライブラリにおける各標準質問の特徴ベクトル表現との間の第2類似度をそれぞれ確定することと、
前記第2類似度に基づいて、前記ユーザーに推薦質問を提供することと、
をさらに含む。
【0015】
別の実現可能な実施形態において、前記ユーザーに推薦質問を提供した後、
前記ユーザーの第2選択指令を取得することと、
前記第2選択指令に基づいて、前記ユーザーが選択した推薦質問を確定することと、
前記ユーザーが選択した推薦質問に基づいて、前記予め設定された質問応答ライブラリから第4解答を取得することと、
前記第4解答を前記ユーザーに提供することと、
をさらに含む。
【0016】
別の実現可能な実施形態において、前記ユーザーの入力情報を取得した後、
前記入力情報を分割することにより、複数の単語を生成することと、
前記複数の単語の各々が予め設定された類語ライブラリにおける任意の単語と合致するかどうかを判断することと、
マッチング結果に応じて、予め設定された質問応答ライブラリから提示質問を選択し、前記ユーザーに提供することと、
をさらに含む。
【0017】
別の実現可能な実施形態において、前記予め設定された質問応答ライブラリから提示質問を選択し、前記ユーザーに提供した後、
前記ユーザーの第3選択指令を取得することと、
前記第3選択指令に基づいて、前記ユーザーが選択した提示質問を確定することと、
前記ユーザーが選択した提示質問に基づいて、前記予め設定された質問応答ライブラリから第5解答を取得することと、
前記第5解答を前記ユーザーに提供することと、
を含む。
【0018】
別の実現可能な実施形態において、前記ユーザーの入力情報を取得した後、
前記入力情報に含まれる文字数が第2閾値より大きいかどうかを判断することと、
大きい場合、前記入力情報を分割することにより、複数の単文を生成することと、
プリセットされたアルゴリズムによって、前記複数の単文のうち2つの単文ごとの第3類似度を確定することと、
前記2つの単文ごとの第3類似度に基づいて、キーセンテンスを確定し、前記キーセンテンスを最終的な入力情報として確定することと、
をさらに含む。
【0019】
別の実現可能な実施形態において、前記入力情報に含まれる文字数が第2閾値より大きいかどうかを判断した後、
そうでない場合、前記入力情報が予め設定された補足条件を満たすかどうかを判断することと、
大きい場合、前記ユーザーの履歴入力情報を取得することと、
前記履歴入力情報に基づいて前記入力情報を補足し、補足された情報を最終的な入力情報とすることと、
をさらに含む。
【0020】
本発明の別の側面において、ユーザーの入力情報を取得するために使用される第1取得モジュールと、前記ユーザーの入力情報に基づいて前記ユーザーの意図情報を取得するために使用される第2取得モジュールと、解答生成ルールを確定するために使用される確定モジュールと、前記入力情報及び前記意図情報に基づいて、前記解答生成ルールを利用して第1解答を生成するために使用される処理モジュールと、前記第1解答を前記ユーザーに提供するために使用される解答提供モジュールと、を含む質問の検索装置に関する。
【0021】
本発明のさらに別の側面において、メモリ、プロセッサ、およびメモリに記憶され且つプロセッサ上で実行可能なコンピュータプログラムを含み、前記プログラムが前記プロセッサによって実行されるとき、第2側面に記載された質問の検索方法を実現する端末デバイスに関する。
【0022】
本発明のさらに別の側面において、コンピュータプログラムが記憶されたコンピュータ可読記憶媒体であって、当該プログラムがプロセッサによって実行されるとき、第2側面に記載された質問の検索方法を実現するコンピュータ可読記憶媒体に関する。
【0023】
本発明の上述および/または追加の態様および利点は、以下の図面による実施例の説明から明らかになり、容易に理解されるであろう。
【図面の簡単な説明】
【0024】
図1】本発明の実施例による質問の検索方法の概略フローチャートである。
図2】本発明の一実施例による質問の検索方法の概略フローチャートである。
図3】本発明の一例による質問の検索方法の概略フローチャートである。
図4】本発明の一実施例による対話型インタフェースを示す図である。
図5】本発明の別の実施例による質問の検索方法の概略フローチャートである。
図6】本発明の一実施例による入力情報に基づいて知識グラフによって第3解答を生成する方法の概略フローチャートである。
図7】本発明の別の実施例による対話型インタフェースを示す図である。
図8】本発明の別の実施例による質問の検索方法の概略フローチャートである。
図9】本発明の別の実施例による対話型インタフェースを示す図である。
図10】本発明の別の実施例による質問の検索方法の概略フローチャートである。
図11】本発明の別の実施例による質問の検索方法の概略フローチャートである。
図12】本発明の別の実施例による対話型インタフェースを示す図である。
図13】本発明の別の実施例による質問の検索方法の概略フローチャートである。
図14】本発明の別の実施例による質問の検索方法の概略フローチャートである。
図15】本発明の別の実施例による質問の検索方法の概略フローチャートである。
図16】本発明の一実施例による質問の検索装置の概略構造図である。
図17】本発明の一実施例による端末デバイスの概略構造図である。
図18】本発明の別の実施例による端末デバイスの概略構造図である。
【発明を実施するための形態】
【0025】
以下、本発明の実施例について詳細に説明し、その例は、添付の図面に示され、同一又は類似の符号は、同一又は類似の要素または同一又は類似の機能を有する要素を示している。以下、図面を参照しながら説明する実施例は、例示的なものであり、本発明を説明するために使用されることを意図しているが、本発明に対する制限として解釈されるべきではない。
【0026】
本発明の各実施例は、主に、関連技術においてユーザーがページごとに閲覧することでネットワーク上の疾患に関する情報を取得する際に、膨大な時間と手間がかかり、ネットワーク上には様々な質問に対する解答数が多いので、ユーザーが自分で検索したい質問に対する解答を正確に取得できないという技術問題について、質問の検索方法、質問の検索装置、端末デバイス及びコンピュータ可読記憶媒体を提案する。
【0027】
本発明の実施例による質問の検索方法、質問の検索装置、端末デバイス及びコンピュータ可読記憶媒体は、ユーザーの入力情報及びユーザーの意図情報に基づいて、解答生成ルールを利用して第1解答を生成し、ユーザーに提供することにより、ユーザーの入力情報に基づいて、対応する正確な解答をユーザーに自動的に提供することが実現され、ユーザーの時間及び手間が節約され、ユーザー体験を改善する。
【0028】
以下、図面を参照して、本発明の実施例による質問の検索方法、質問の検索装置、端末デバイス及びコンピュータ可読記憶媒体について説明する。
【0029】
なお、本発明では、各ステップの実行順序を限定せず、実施可能な場合には、各ステップの実行順序を変更してもよい。本発明の実施例では、以下の実施例又は図面に示された方法による操作指令ステップを提供するが、従来の、又は創造性の必要のない作業に基づいて、前記方法において、より多く又はより少ない操作指令ステップを含んでもよい。
【0030】
まず図1を参照して、本発明の実施例による質問の検索方法を具体的に説明する。
【0031】
図1は、本発明の実施例による質問の検索方法の概略フローチャートである。
【0032】
図1に示されたように、本発明の質問の検索方法は、以下のステップを含み得る。
【0033】
ステップ101において、ユーザーの入力情報を取得する。
【0034】
具体的に、本発明の実施例による質問の検索方法は、本発明の実施例による端末デバイスによって実行されることができる。ここで、端末デバイスには、ユーザーが質問に関する情報を検索したい場合に、ユーザーの入力情報に基づいて、対応する正確な解答をユーザーに自動的に提供する質問の検索装置(以下、検索装置と略す)が設けられている。本実施例において、端末デバイスは、例えばスマートフォン、タブレット、パーソナルデジタルアシスタント等のようなデータ処理機能を有するハードウェアデバイスであってもよく、本発明は、これについて限定しない。
【0035】
質問としては、生活常識、文学常識、経済常識、科学技術常識などの任意のタイプの常識に関する質問が挙げられることが理解でき、本発明は、これについて限定しない。本発明は、疾患に関する質問の検索を例に説明する。ここで、本発明における疾患は、糖尿病、高血圧、冠状動脈性硬化症、脳卒中等の任意の疾患であってもよく、本発明は、これについて限定しない。
【0036】
具体的に、検索装置に対話型インタフェースを設けることができ、この結果、ユーザーは、対話型インタフェースで操作することにより、自分が検索したい情報に基づいて情報を入力できる。
【0037】
ここで、ユーザーの入力情報は、文字形式であってもよいし、音声形式であってもよいし、その他の任意の形式であってもよく、本発明は、これについて限定しない。
【0038】
例えば、ユーザーが糖尿病の食べ物を検索したい場合、対話型インタフェースに「糖尿病は何を食べるべきか」という文字を入力したり、音声で「糖尿病は何を食べるべきか」を入力したりすることにより、糖尿病に適した具体的な食品を検索することができる。
【0039】
例示的な実施例において、ユーザーが音声方式で情報を入力する場合、ユーザーが入力した音声情報を受信した後、受信した音声情報を音声認識することにより、音声情報に対応する文字形式の入力情報を取得することができる。
【0040】
ステップ102において、ユーザーの入力情報に基づいてユーザーの意図情報を取得する。
【0041】
ここで、意図情報は、ユーザーの目的を表すことができ、ユーザーの入力情報に対応する意図タイプ及び当該意図タイプに対応する確率を含むことができる。
【0042】
具体的に、ユーザーの入力情報を取得した後、ユーザーの入力情報に対応する意図タイプおよび対応する確率を確定してユーザーの意図情報を取得するように、複数の意図タイプを予め定義しておくことができる。
【0043】
例えば、意図タイプを食品、運動、治療、薬物、合併症、症状、予防などのタイプに予め分けておくことができる。ユーザーが「糖尿病は何を食べるべきか」を入力した場合、即ち、ユーザーの目的が疾患に必要な食品を検索することである場合、意図タイプが食品であると確定することができ、対応する確率がP1であれば、意図情報に「食品」および「P1」が含まれると確定することができ、ユーザーが「糖尿病をどのように予防するか」を入力した場合、即ち、ユーザーの目的が疾患の予防知識を検索することである場合、意図タイプが予防であると確定することができ、対応する確率がP2であれば、意図情報に「予防」および「P2」が含まれると確定することができる。
【0044】
具体的に実施する場合、ユーザーの入力情報および予め訓練された意図予測モデルに基づいて、ユーザーの意図情報を取得するようにしてもよい。即ち、ステップ102を以下のように実現することができる。
【0045】
ステップ102aにおいて、入力情報の特徴ベクトル表現を取得する。
【0046】
具体的に、入力情報を分割することにより、複数の単語を生成し、次に複数の単語の特徴ベクトル表現をそれぞれに取得し、さらに複数の単語の特徴ベクトル表現を合併することにより、入力情報の特徴ベクトル表現を取得することができる。
【0047】
例示的な実施例において、入力情報をトークナイザーに入力することにより、トークナイザーによって入力情報を若干の単語に分割することができる。
【0048】
例を挙げると、入力情報が「糖尿病は何を食べるべきか」であると仮定し、トークナイザーによって当該入力情報を分割することで、複数の単語を得ることができ、生成された複数の単語をw、w、...、wで表すと仮定し、取得された複数の単語は、w=糖尿病、w=当該、w=食べる、w=何である。
【0049】
また、訓練語彙データを予め取得することができ、訓練語彙データには大量の質問に対応する正確な解答が含まれ、訓練語彙データを前処理することができ、例えば、いくつかの重要でない単語や句読点などを削除し、次に、前処理された訓練語彙データにおける各文を分割することにより、各文にそれぞれ対応する複数の単語を生成し、さらに各文にそれぞれ対応する複数の単語のうち、各単語にそれぞれ対応する特徴ベクトル表現を生成することにより、訓練語彙データに対応する単語ベクトルライブラリを構築する。次に、入力情報に対応する複数の単語を生成した後、訓練語彙データに対応する単語ベクトルライブラリを検索することにより、複数の単語にそれぞれ対応する特徴ベクトル表現を取得することができる。複数の単語にそれぞれ対応する特徴ベクトル表現を合併することにより、入力情報の特徴ベクトル表現を取得することができる。
【0050】
ここで、さまざまな方法で単一の単語に対応する特徴ベクトル表現を生成することができ、例えば、オープンソースの単語ベクトルライブラリで検索することで、各単語にそれぞれ対応する特徴ベクトル表現を取得することができる。
【0051】
または、ユーザーの入力情報に対応するone-hot特徴ベクトルを取得したり、その他の方法でユーザーの入力情報の特徴ベクトル表現を取得したりすることができ、本発明は、入力情報の特徴ベクトル表現を取得する方法について限定しない。
【0052】
ステップ102bにおいて、入力情報の特徴ベクトル表現を意図予測モデルに入力することにより、ユーザーの意図情報を取得する。
【0053】
ここで、意図予測モデルは、例えば、TextCNNモデル(畳み込みニューラルネットワークを利用してテキストを分類するモデル)などのテキスト分類可能な任意のモデルであってもよく、本発明は、これについて限定しない。
【0054】
具体的に、意図予測モデルを予め訓練することができ、意図予測モデルの入力は、ユーザーの入力情報の特徴ベクトル表現であり、出力は、対応する意図タイプ及び当該意図タイプに対応する確率値を含む。したがって、入力情報の特徴ベクトル表現を取得した後、入力情報の特徴ベクトル表現を意図予測モデルに入力することにより、ユーザーの意図情報を取得することができる。
【0055】
例示的な実施例において、TextCNNモデルを訓練することを例に挙げて、keras深層学習フレームワークを利用してTextCNNモデルを構築し、訓練語彙データを10:1:1の割合で訓練セット、検証セット及びテストセットに分割してモデル訓練を行い、この後、訓練によって得られた最適なモデルを本発明の実施例における意図予測モデルとする。
【0056】
具体的な意図予測モデルの訓練プロセスは、関連技術におけるモデル訓練プロセスを参照することができるが、ここでは説明を省略する。
【0057】
ステップ103において、解答生成ルールを確定する。
【0058】
具体的に、複数の解答生成ルールを予め設定しておくことができ、ユーザーは、必要に応じて対応する解答生成ルールを選択することができ、例えば、解答生成ルールオプションボックスを設定することにより、ユーザーが選択できるようになる。また、ユーザーの検索習慣(例えば、解答生成ルールを選択する頻度、情報に対応する意図情報の入力など)に応じて、解答生成ルールを推薦してもよい。
【0059】
ステップ104において、入力情報及び意図情報に基づいて、解答生成ルールを利用して第1解答を生成し、ユーザーに提供する。
【0060】
具体的に、2つの解答生成ルールを予め設定することができ、解答生成ルールが第1ルールである場合、以下のように第1解答を得ることができる。即ち、図2に示されたように、ステップ104は、以下のステップ104a~104bを含み得る。
【0061】
ステップ104aにおいて、入力情報及び意図情報に基づいて、質問応答モデルによって第2解答を生成し、第2解答の信頼性を取得する。
【0062】
具体的に、質問応答モデルを予め訓練することができ、質問応答モデルの入力は、ユーザーの入力情報及び意図情報であり、出力は、ユーザーの入力情報及び意図情報に対応する第1候補質問であり、したがって、ユーザーの入力情報及び意図情報を取得した後、入力情報及び意図情報を質問応答モデルに入力することにより、当該入力情報及び意図情報に対応する第1候補質問を取得することができる。
【0063】
また、質問応答ライブラリを予め設定することができ、質問応答ライブラリに各種の標準質問及びこれに対応する正確な解答が含まれ、したがって、第1候補質問を取得した後、質問応答ライブラリにおいて第1候補質問に対応する候補解答を第2解答とすることができる。
【0064】
ここで、質問応答ライブラリにおける各種の標準質問および対応する正確な解答は、ネットワークからクロールされた各種の疾患に関する高頻度の問題および対応する正確な解答、人工的に増加した各種の疾患に関する質問および対応する正確な解答、その他の方法で取得した各種の疾患に関する質問および対応する正確な解答を含むことができ、本発明は、これについて限定しない。また、質問応答ライブラリにおけるデータは、重複排除したり、不要な文字を削除したりといった前処理がなされたデータであってもよく、本発明は、これについて限定しない。
【0065】
なお、質問応答ライブラリにおける各標準質問および対応する正確な解答は、唯一の標識を持つことができ、相応的に、質問応答モデルの出力は、入力質問応答モデルのユーザーの入力情報及び意図情報に対応する第1候補質問の標識であってもよく、したがって、第2解答として、第1候補質問の標識によって質問応答ライブラリから当該標識に対応する標準質問に対応する解答を取得することができる。
【0066】
ここで、質問応答モデルは、例えば、例えば、BiLSTM+DSSMモデル(双方向長短記憶ネットワークモデル+Deep Structured Semantic Models)など、セマンティックマッチングが可能な任意のモデルであってもよく、本発明は、これについて限定しない。
【0067】
例示的な実施例において、BiLSTM+DSSMモデルを訓練することを例に挙げて、質問応答ライブラリにおける各種の標準質問を訓練語彙データとし、次にkeras深層学習フレームワークを利用してBiLSTM+DSSMモデルを構築し、訓練語彙データを10:1:1の割合で訓練セット、検証セット及びテストセットに分割してモデル訓練を行い、この後、訓練によって得られた最適なモデルを本発明の実施例における質問応答モデルとする。
【0068】
具体的に、質問応答モデルは、以下のように第1候補質問を取得する。即ち、ステップ104aは、以下のステップ104aa-104afを含み得る。
【0069】
ステップ104aaにおいて、入力情報の特徴ベクトル表現を取得する。
【0070】
具体的に、入力情報の特徴ベクトル表現を取得する方法について、ステップ102aにおける関連説明を参照でき、ここでは説明を省略する。
【0071】
ステップ104abにおいて、予め設定された質問応答ライブラリから意図情報に対応する候補質問集合を取得する。
【0072】
具体的に、質問応答ライブラリにおける各標準質問に対応する意図タイプに予めマークすることにより、ユーザーの意図情報を取得した後、ユーザーの意図情報に基づいて、予め設定された質問応答ライブラリからユーザーの意図タイプに対応する各標準質問を取得し、これらの標準質問の集合を候補質問集合とすることができる。
【0073】
なお、ユーザーの入力情報に基づいて、ユーザーの意図情報を取得する場合、意図予測モデルから出力された意図タイプに対応する確率値は小さく、即ち、確定された意図情報の精度は低く、例えば、意図予測モデルから出力された意図タイプに対応する確率値は、予め設定された確率閾値より小さく、ここで、確率閾値は、必要に応じて任意に設定されることができ、例えば0.5に設定されることができ、この場合、出力可能な候補質問集合は、空の集合であってもよく、即ち、質問応答モデルは、確率値が予め設定された確率閾値より大きい意図タイプに対応する各標準質問の集合のみを出力する。
【0074】
ステップ104acにおいて、候補質問集合における各候補質問の特徴ベクトル表現を取得する。
【0075】
具体的に、質問応答モデルは、候補質問集合を取得した後、候補質問集合における各候補質問の特徴ベクトル表現を取得することができる。ここで、候補質問の特徴ベクトル表現は、one-hot特徴ベクトルであってもよいし、その他のタイプの特徴ベクトルであってもよく、本発明は、これについて限定しない。
【0076】
具体的に、候補質問の特徴ベクトル表現を取得する方法について、関連技術における特徴ベクトルの生成方法を参照でき、ここでは説明を省略する。
【0077】
ステップ104adにおいて、入力情報の特徴ベクトル表現と各候補質問の特徴ベクトル表現との間の第1類似度をそれぞれ計算する。
【0078】
ステップ104aeにおいて、入力情報の特徴ベクトル表現と各候補質問の特徴ベクトル表現との間の第1類似度に基づいて、候補質問集合から第1候補質問を選択する。
【0079】
ステップ104afにおいて、質問応答ライブラリにおける第1候補質問に対応する候補解答を第2解答とし、ここで、入力情報の特徴ベクトル表現と選択された第1候補質問の特徴ベクトル表現との間の第1類似度は、第2解答の信頼性である。
【0080】
具体的に、質問応答モデルが入力情報の特徴ベクトル表現と各候補質問の特徴ベクトル表現との間の第1類似度をそれぞれ計算した後、入力情報の特徴ベクトル表現との間の第1類似度が最も高い候補質問を第1候補質問とし、次に質問応答ライブラリにおける第1候補質問に対応する候補解答を第2候補質問とし、入力情報の特徴ベクトル表現と選択された第1候補質問の特徴ベクトル表現との間の第1類似度を第2解答の信頼性とすることができる。
【0081】
質問応答モデルによって確定された第1候補質問が複数である可能性があり、相応的に第2解答の個数が複数である可能性があり、本発明の実施例では、確定された第1候補質問が複数である場合、第1候補質問に対するユーザーの選択に応じて、最終的な第1候補質問および対応する第2解答を確定するために、複数の第1候補質問をユーザーに提供することができることが理解できる。
【0082】
予め訓練された質問応答モデルを利用して、予め設定された質問応答ライブラリから入力情報に対応する第2解答を確定することにより、確定された第2解答の正確性を向上させる。そして、まずユーザーの入力情報に基づいてユーザーの意図情報を確定し、さらに意図情報および入力情報に基づいて第2解答を生成することにより、質問応答モデルが、入力情報の特徴ベクトル表現と確定された意図タイプに対応する各候補質問の特徴ベクトル表現との間の第1類似度のみを計算することができ、この結果、質問応答モデルによって処理されるデータの量が低減され、第2解答の生成時間が節約され、効率を向上させ、これにより、ユーザー体験を向上させる。
【0083】
ステップ104bにおいて、第2解答の信頼性及び第2解答に基づいて第1解答を生成し、前記ユーザーに提供する。
【0084】
例示的な実施例において、第1閾値を設定でき、図3に示されたように、第2解答および第2解答の信頼性を取得した後、まず第2解答の信頼性が第1閾値より大きいかどうかを判断し、第2解答の信頼性が第1閾値より大きい場合、第2解答を第1解答とする。
【0085】
ここで、第1閾値は、必要に応じて設定されることができ、例えば、第1閾値は、0.9、0.8などに設定されることができる。
【0086】
なお、本発明の実施例において、質問応答ライブラリにおける各標準質問および対応する正確な解答の記憶フォーマットは、辞書フォーマットであってもよい。例えば、標識が「30」であり、質問が「口渇と頻尿は糖尿病の症状ですか?」であり、解答が「口渇には多くの理由があり、食事、心理、生活習慣の不良によるものもあり、病気によるものもあり、例えば糖尿病の典型的な症状は、多飲、多食、多尿、体重減少である。患者は糖尿病かどうかを確認するためにさらに検査する必要がある。」である場合、対応する記憶フォーマットは、{「qid」:「30」、「question」「口渇と頻尿は糖尿病の症状ですか?」、「answer」:「口渇には多くの理由があり、食事、心理、生活習慣の不良によるものもあり、病気によるものもあり、例えば糖尿病の典型的な症状は、多飲、多食、多尿、体重減少である。患者は糖尿病かどうかを確認するためにさらに検査する必要がある。」}であってもよい。したがって、検索装置は、第2解答を確定する場合、確定された第1候補質問に対応する候補解答、即ち第1候補質問に対応する 「answer」フィールドを第2解答とし、第2解答の信頼性が第1閾値より大きい場合、当該第2解答を第1解答としてユーザーに提供することができる。
【0087】
辞書フォーマットで各標準質問および対応する解答を記憶することにより、検索装置が必要な質問または解答を質問応答ライブラリ内で検索することが容易になる。
【0088】
例示的な実施例において、図3に示されたように、第2解答の信頼性が第1閾値以下である場合、入力情報に基づいて知識グラフモデルによって第3解答を生成するかどうかをさらに判断し、第2解答の信頼性が第1閾値以下であり、且つ知識グラフモデルによって第3解答を生成した場合、第3解答を第1解答とし、第2解答の信頼性が第1閾値以下であり、且つ知識グラフモデルによって第3解答を生成しない場合、第2解答を第1解答とする。
【0089】
例を挙げると、確率閾値が0.5であり、第1閾値が0.9であり、ユーザーの入力情報が文字形式の「糖尿病をどのように予防するか?」であると仮定すると、検索装置は、ユーザーの入力情報に基づいて、意図予測モデルによって、ユーザーの意図情報に「予防」および「0.8」が含まれると判断することができ、次に、ユーザーの入力情報およびユーザーの意図情報に基づいて、質問応答モデルによって、第1候補質問を確定し、予め設定された質問応答ライブラリから第1候補質問に対応する第2解答を取得することができ、第2解答の信頼性が0.95である場合、第2解答を第1解答として確定し、第1解答を図4に示された形式でユーザーに提供することができる。
【0090】
図4に示されたように、検索装置は、アプリケーションソフトウェアであってもよく、当該アプリケーションソフトウェアは、スマートフォンにインストールされ、アプリケーションソフトウェアは、対話型インタフェースを提供し、ユーザーは、糖尿病の予防知識を検索したい場合に、対話型インタフェースに情報を入力して検索することができ、ユーザーが対話型インタフェースに入力した情報が文字形式の「糖尿病をどのように予防するか?」であり、第2解答「1、暴飲暴食をせず生活に規律があり、食事はよく噛んで食べ、野菜を多く食べる……」が確定され、且つアプリケーションソフトウェアが第2解答の信頼性が第1閾値より大きいと確定すると仮定すると、第2解答を第1解答として確定し、第1解答をユーザーに提供し、糖尿病の予防に関する情報を理解させることができる。
【0091】
解答生成ルールが第2ルールである場合、以下のように第1解答を得る。即ち、図5に示されたように、ステップ104は、以下のステップ104c-104gを含み得る。
【0092】
ステップ104cにおいて、意図情報に食品が含まれるかどうかを判断する。
【0093】
例を挙げると、入力情報が「糖尿病は何を食べるべきか」、「糖尿病患者はりんごを食べられるか」などであると仮定すると、意図情報に食品が含まれると考えられ、入力情報が「糖尿病をどのように予防するか」、「糖尿病患者の運動上の注意事項」などであると仮定すると、意図情報に食品が含まれないと考えられる。
【0094】
ステップ104dにおいて、意図情報に食品が含まれない場合、入力情報に基づいて質問応答モデルによって第2解答を生成できるかどうかを判断する。
【0095】
ステップ104eにおいて、質問応答モデルによって第2解答を生成した場合、第2解答を第1解答とする。
【0096】
具体的に、入力情報及び意図情報に基づいて、質問応答モデルによって第2解答を生成することは、入力情報の特徴ベクトル表現を取得することと、予め設定された質問応答ライブラリから意図情報に対応する候補質問集合を取得することと、候補質問集合における各候補質問の特徴ベクトル表現を取得することと、入力情報の特徴ベクトル表現と各候補質問の特徴ベクトル表現との間の第1類似度をそれぞれ計算することと、入力情報の特徴ベクトル表現と各候補質問の特徴ベクトル表現との間の第1類似度に基づいて、候補質問集合から1つ以上の候補質問を確定することと、1つの候補質問が確定された場合、質問応答ライブラリにおける当該候補質問に対応する候補解答を第2解答とすることと、を含み得る。当該質問応答モデルによって第2解答を生成することについて、上記のステップ104aにおける関連説明を参照することができ、ここでは説明を省略する。
【0097】
例示的な実施例において、複数の候補質問が確定された場合、ユーザーに複数の候補質問を提供し、ユーザーの第1選択指令を取得し、第1選択指令に基づいて、ユーザーが選択した候補質問を確定し、質問応答ライブラリにおけるユーザーが選択した候補質問に対応する候補解答を第2解答とする。
【0098】
例示的な実施例において、質問応答モデルによって第2解答を生成しない場合、入力情報に基づいて知識グラフモデルによって第3解答を生成し、第3解答を第1解答とする。
【0099】
ステップ104fにおいて、意図情報に食品が含まれる場合、入力情報に基づいて知識グラフモデルによって第3解答を生成できるかどうかを判断する。
【0100】
ステップ104gにおいて、知識グラフモデルによって第3解答を生成した場合、第3解答を第1解答とする。
【0101】
なお、意図情報に食品が含まれることが例示的なものであり、意図情報に食品が含まれる場合、知識グラフモデルによって取得された第3解答は、質問応答モデルによって取得された第1解答よりも正確である。
【0102】
例示的な実施例において、知識グラフモデルによって第3解答を生成しない場合、入力情報に基づいて質問応答モデルによって第2解答を生成し、第2解答を第1解答とする。
【0103】
意図情報に食品が含まれるかどうかを判断する前に、入力情報に基づいて質問応答モデルによって第2解答を生成できるかどうか、または、知識グラフモデルによって第3解答を生成できるかどうかを判断することと、質問応答モデルによって第2解答を生成せず、且つ知識グラフモデルによって第2解答を生成しない場合、予め設定された質問応答ライブラリから意図情報に対応する候補質問集合を取得し、ユーザーが選択できるように候補質問集合における候補質問をユーザーに提供し、ひいては質問応答ライブラリにおけるユーザーが選択した候補質問に対応する候補解答を第1解答とすることと、をさらに含み得る。もちろん、質問応答モデルによって第2解答が生成された場合、または、知識グラフモデルによって第2解答が生成された場合、上記のステップ104c-104gが実行される。
【0104】
これにより、質問応答モデルと知識グラフモデルを総合的に利用することにより、入力情報に基づいて最終的な第1解答を確定し、検索装置によって確定された解答の正確性を向上させた。そして、異なる解答生成ルールの設定により、異なるユーザーの質問の検索のニーズをよりよく満たすことができる。
【0105】
ユーザーの入力情報に基づいてユーザーの意図情報を取得する際に、意図予測モデルから出力された意図タイプに対応する確率値が小さく、例えば意図予測モデルから出力された意図タイプに対応する確率値が予め設定された確率閾値より小さく、ここで、確率閾値は、必要に応じて任意に設定されることができ、例えば0.5に設定される場合、質問応答モデルから出力されたものは空の集合であるので、相応的に、質問応答モデルによる第1類似度の計算をさらに行う必要がなく、入力情報に基づいて知識グラフによって第3解答を生成するかどうかを直接に判断することができ、これにより、質問応答モデルによって処理されるデータの量が低減され、第1解答の生成時間が節約され、効率を向上させ、これにより、ユーザー体験を向上させることが理解できる。
【0106】
本発明の実施例による質問の検索方法は、ユーザーの入力情報及びユーザーの意図情報に基づいて、質問応答モデルを利用して第2解答を生成し、さらに第2解答及び当該解答の信頼性に基づいて最終的な解答を生成し、ユーザーに提供し、ユーザーの入力情報に基づいて、対応する正確な解答をユーザーに自動的に提供することが実現され、ユーザーの時間及び手間が節約され、ユーザー体験を改善する。
【0107】
以下、図6を参照すると、本発明の実施例において、入力情報に基づいて知識グラフによって第3解答を生成するプロセスを説明する。
【0108】
図6は、本発明の一実施例による入力情報に基づいて知識グラフによって第3解答を生成する方法の概略フローチャートである。
【0109】
図6に示されたように、本発明の実施例において、入力情報に基づいて知識グラフによって第3解答を生成するプロセスは、以下のステップを含み得る。
【0110】
ステップ201において、入力情報に存在するエンティティタイプおよび関係タイプを識別する。
【0111】
具体的に、複数のエンティティタイプを予め定義しておき、予め訓練されたエンティティ識別モデルを採用し、入力情報に存在するエンティティタイプを識別する。
【0112】
ここで、エンティティ識別モデルは、BiLSTM+CRF深層学習モデルのような任意の具体的なエンティティ識別功能のモデルであってもよく、本発明は、これについて限定しない。
【0113】
例示的な実施例において、BiLSTM+CRFモデルを訓練することを例に挙げて、まず訓練語彙データにおける質問および対応する解答データを解析し、定義されたエンティティタイプをマークし、エンティティタイプがマークされた訓練語彙データを訓練データとし、次にkeras深層学習フレームワークを利用してBiLSTM+CRFモデルを構築し、訓練語彙データを10:1:1の割合で訓練セット、検証セット及びテストセットに分割してモデル訓練を行い、この後、訓練によって得られた最適なモデルを本発明の実施例におけるエンティティ識別モデルとする。
【0114】
具体的に、訓練語彙データにエンティティタイプをマークする場合、開始-中間-終了(Begin-Inside-Outside、BIOと略す)方法を採用することができる。
【0115】
ここで、BIO方法では、各要素を「B-X」、「I-X」または「0」と表記する。ここで、「B-X」は、この要素が含まれるセグメントがXタイプに属し、且つこの要素がこのセグメントの先頭にあることを示し、「I-X」は、この要素が含まれるセグメントがXタイプに属し、且つこの要素がこのセグメントの中間位置にあることを示し、「0」は、どのタイプにも属していないことを示す。具体的な表記するプロセスについて、関連技術を参照することができ、本発明では説明を省略する。
【0116】
具体的に実施する場合、エンティティ識別モデルの入力は、入力情報の特徴ベクトル表現であり、出力は、入力情報に存在するエンティティタイプである。したがって、ユーザーの入力情報を取得した後、入力情報に存在するエンティティタイプを確定するように、まずユーザーの入力情報の特徴ベクトル表現を取得し、次に当該特徴ベクトル表現をエンティティ識別モデルに入力することができる。
【0117】
ここで、入力情報の特徴ベクトル表現は、one-hot特徴ベクトルであってもよいし、その他のタイプの特徴ベクトルであってもよく、本発明は、これについて限定しない。
【0118】
例示的な実施例において、エンティティ識別モデルは、入力情報に存在するエンティティタイプを識別した後、BIOに基づいて識別された結果をスティッチングし、リスト形式で検索装置に送信することができる。
【0119】
例えば、予め定義されたエンティティタイプにDisease(疾患)、Food(食品)が含まれ、ユーザーの入力情報が「糖尿病でりんごを食べてもいいですか?」であると仮定すると、エンティティ識別モデルによって識別されたエンティティタイプには、「糖尿病」、「リンゴ」が含まれてもよく、エンティティ識別モデルから検索装置に送信される認識結果は、[[「糖尿病」、「リンゴ」]、[「Disease」、「Food」]]であってもよい。
【0120】
具体的に、複数の関係タイプを予め定義しておき、定義された関係タイプに基づいて、テンプレートを定義することにより、定義されたテンプレートを利用し、入力情報に存在する関係タイプを識別することができる。
【0121】
例を挙げると、「食べるべき」、「食べられない」、「摂取量」、「症状」、「栄養素含有量」などの関係タイプを予め定義しておき、関係タイプ「食べるべき」に対応するテンプレートを「xxx(疾患エンティティ)でxxx(食品エンティティ)を食べてもいいですか?」と定義し、関係タイプ「症状」に対応するテンプレートを「xxx(疾患エンティティ)になったらxxx(症状エンティティ)になりますか?」と定義することにより、ユーザーの入力情報が「糖尿病でりんごを食べてもいいですか?」である場合、予め定義されたテンプレートに基づいて、入力情報に「食べるべき」という関係タイプがあると確定することができる。
【0122】
ステップ202において、エンティティタイプおよび関係タイプに基づいて、知識グラフモデルを検索することにより、前記第3解答を生成する。
【0123】
具体的に、知識グラフモデルを予め構築することにより、入力情報に存在するエンティティタイプおよび関係タイプを識別した後、知識グラフモデルを呼び出すことで、第3解答を生成することができる。
【0124】
ここで、知識グラフに各種のエンティティおよびエンティティ間の関係が含まれる。本発明の質問応答方法が疾患に関するものであるので、本発明の知識グラフモデルにおいて、エンティティが疾患領域、食品領域、栄養領域におけるエンティティを含むことができ、関係が疾患と食品との間の関係を含むことができる。
【0125】
以下、引き続いて上記の例を例として、本発明においてエンティティタイプおよび関係タイプに基づいて、知識グラフモデルを検索することにより、前記第3解答を生成するプロセスを説明する。
【0126】
具体的に、ユーザーの入力情報に存在するエンティティタイプが「糖尿病」、「リンゴ」で、関係タイプが「食べるべき」であると確定した後、知識グラフモデルによって、「リンゴ」と「糖尿病」との間に「食べるべき」という関係が存在するかどうかを検索することができ、存在する場合、第3解答に「適当に食べられる」が含まれる。それから更に「リンゴ」の「原因」関係を呼び出して、その食べるべき原因を確定し、「適当に食べられる」と食べるべき原因をスティッチングすることにより、第3解答が「適量にリンゴを食べることができ、理由として、血糖値を下げ、糖尿病を予防する。」であると確定する。
【0127】
例示的な実施例において、生成された第3解答は、予め設定されたフォーマットで記憶されることができる。例えば、第3解答のデータフォーマットは、{「question」:「糖尿病でりんごを食べてもいいですか?」、「answer」:「適量にリンゴを食べることができる。理由として、血糖値を下げ、糖尿病を予防する。」}であってもよい。
【0128】
上記のようにして、ユーザーの入力情報に基づいて、知識グラフモデルによって、第3解答を生成することで、第2解答の信頼性が第1閾値以下である場合、第3解答を第1解答としてユーザーに提供することができる。
【0129】
例えば、図7に示されたように、検索装置は、アプリケーションソフトウェアであってもよく、当該アプリケーションソフトウェアは、スマートフォンにインストールされ、アプリケーションソフトウェアは、対話型インタフェースを提供し、ユーザーは、糖尿病に関する食事知識を検索したい場合、対話型インタフェースに情報を入力して検索することができ、ユーザーの入力情報が文字形式の「糖尿病でりんごが食べられますか」であり、アプリケーションソフトウェアが質問応答モデルによって生成した第2解答の信頼性が第1閾値以下であり、知識グラフモデルによって第3解答である「糖尿病は、高血糖を特徴とする代謝性疾患である。高血糖は、インスリン分泌の不足、生物学的作用の障害、またはその両方で引き起こされる。糖尿病の時に長期にわたって存在する高血糖は、さまざまな組織、特に目、腎臓、心臓、血管、神経の慢性的な損傷と機能障害を引き起こす。適量にリンゴを食べることができる。理由として、血糖値を下げ、糖尿病を予防する。」を生成したと仮定すると、図7に示されたように、第3解答を第1解答としてユーザーに提供することができる。
【0130】
なお、エンティティ識別モデルが、ユーザーの入力情報に存在するエンティティタイプを識別していないか、予め定義されたテンプレートによってユーザーの入力情報に存在する関係タイプを識別していないか、または知識グラフモデルにおいて、エンティティタイプおよび関係タイプに対応する解答が検索されていない場合、上記のようにして、第3解答を生成できない可能性があり、このとき、質問応答モデルによって生成された第2解答を第1解答としてユーザーに提供することができる。
【0131】
また、質問応答モデルによって第2解答を生成するプロセスおよび知識グラフモデルによって第3解答を生成するプロセスを同時に実行できるので、質問応答モデルによって生成された第2解答の信頼性が第1閾値以下である場合、知識グラフモデルによって第3解答が生成されたかどうかを直接に判断することができ、さらに知識グラフモデルによって第3解答が生成されたかどうかの判断結果に基づいて、第2解答または第3解答を第1解答として選択することにより、第1解答を生成する時間を節約することができる。
【0132】
質問応答モデルによって第2解答を生成するプロセスおよび知識グラフモデルによって第3解答を生成するプロセスを同時に実行しなくてもよいことが理解でき、本発明は、これについて限定しない。
【0133】
上記の解析から分かるように、本発明による質問の検索方法は、ユーザーの入力情報に基づいて、対応する解答をユーザーに提供し、例示的な実施例において、ユーザーの時間をさらに節約するために、検索装置は、ユーザーが興味を持つ可能性のある質問をユーザーに推薦することもできる。以下、図8を参照して、上記の場合について、本発明の実施例による質問の検索方法をさらに説明する。
【0134】
図8は、本発明の別の実施例による質問の検索方法の概略フローチャートである。
【0135】
図8に示されたように、本発明の質問の検索方法は、以下のステップをさらに含み得る。
【0136】
ステップ301において、ユーザーの属性情報を取得する。
【0137】
ここで、属性情報は、年齢、性別、疾患タイプ、妊娠の有無、家族歴の有無などの情報を含むことができる。
【0138】
ステップ302において、属性情報の特徴ベクトル表現を確定する。
【0139】
ここで、属性情報の特徴ベクトル表現を取得する方法は、ユーザーの入力情報の特徴ベクトル表現を取得する方法と同様であり、ここでは説明を省略する。
【0140】
ステップ303において、属性情報の特徴ベクトル表現と予め設定された質問応答ライブラリにおける各標準質問の特徴ベクトル表現との間の第2類似度をそれぞれ確定する。
【0141】
ステップ304において、第2類似度に基づいて、ユーザーに推薦質問を提供する。
【0142】
本発明の実施例において、協調フィルタリングに基づくアルゴリズムを採用して、ユーザーの属性情報に基づいて、興味を持つ可能性のある質問をユーザーに提供することができる。
【0143】
具体的に、まず属性情報に基づいて、予め設定された質問応答ライブラリにおける各標準質問および対応する正確な解答をマークすることができ、例えば、ある標準質問が妊娠に関する質問であれば、当該質問を1とマークし、ある標準質問が未妊娠に関する質問であれば、当該質問を2とマークし、この後、各標準質問の特徴ベクトル表現をそれぞれ確定し、さらに属性情報の特徴ベクトル表現と予め設定された質問応答ライブラリにおけるマークされた各標準質問の特徴ベクトル表現との間の第2類似度を確定する。
【0144】
具体的に実施する場合、ピアソン相関係数方法またはその他の方法を採用して、属性情報の特徴ベクトル表現と予め設定された質問応答ライブラリにおける各標準質問の特徴ベクトル表現との間の第2類似度をそれぞれ確定する。
【0145】
また、第3閾値を予め設定することにより、属性情報の特徴ベクトル表現との間の第2類似度が第3閾値より大きい標準質問を推薦質問としてユーザーに提供することができる。
【0146】
なお、推薦質問の個数は、必要に応じて設定できる。例えば、本発明の実施例において、推薦質問の個数を5個に予め設定することができ、各標準質問を第2類似度が高い順から低い順に並べ、属性情報の特徴ベクトル表現との間の第2類似度が第3閾値より大きい上位5個の標準質問を推薦質問としてユーザーに提供することができる。
【0147】
例を挙げると、本発明における検索装置は、アプリケーションソフトウェアであってもよく、当該アプリケーションソフトウェアは、スマートフォンにインストールされ、アプリケーションソフトウェアは、図9に示された対話型インタフェースを提供することができる。予め設定された推薦質問の個数が5個であり、第3閾値が0.5であり、ユーザーの属性情報に29歳、女性、糖尿病が含まれると仮定すると、ユーザーがアプリケーションソフトウェアを起動した後、アプリケーションソフトウェアは、まずユーザーの属性情報を取得し、当該属性情報の特徴ベクトル表現を確定し、且つ当該特徴ベクトル表現と予め設定された質問応答ライブラリにおける各標準質問の特徴ベクトル表現との間の第2類似度を確定し、ユーザーの属性情報の特徴ベクトル表現と標識がそれぞれ1、2、3、4、5、6である第2類似度がそれぞれ0.6、0.7、0.9、0.4、0.75、0.77である場合、標識がそれぞれ1、2、3、5、6である5個の標準質問を推薦質問とし、図9に示された形式でユーザーに提供する。ここで、標識がそれぞれ1、2、3、5、6である5個の標準質問は、「糖尿病の血糖測定の時間は?」、「糖尿病はどんな検査をすればいいのか」、「糖尿病患者はどんな運動をすればいいのか?」、「糖尿病はどんな食品を食べるべきですか?どんな食品を食べられないか?」、「糖尿病はどんな治療が効果的ですか?」であり、図9に示されたように、アプリケーションソフトウェアは、これらの質問をユーザーに推薦することができる。
【0148】
例示的な実施例において、ユーザーは、推薦質問から自分が検索したい質問を選択することにより、対応する解答を取得することができ、この場合、検索装置は、ユーザーの選択に応じて、予め設定された質問応答ライブラリから対応する解答を取得して、ユーザーに提供する。即ち、ステップ304以降、以下のステップを含み得る。
【0149】
ステップ305において、ユーザーの第2選択指令を取得する。
【0150】
ステップ306において、第2選択指令に基づいて、ユーザーが選択した推薦質問を確定する。
【0151】
ステップ307において、ユーザーが選択した推薦質問に基づいて、予め設定された質問応答ライブラリから第4解答を取得する。
【0152】
ステップ308において、第4解答をユーザーに提供する。
【0153】
具体的に、検索装置は、対話型インタフェースで推薦質問を提供することができ、ユーザーは、クリック、長押しなどのタッチ操作によって検索したい質問をタッチ操作することにより、第2選択指令をトリガーすることができ、検索装置は、ユーザーの第2選択指令を取得した後、第2選択指令に基づいて、ユーザーが選択した推薦質問を確定し、予め設定された質問応答ライブラリから第4解答を取得することにより、第4解答をユーザーに提供する。
【0154】
なお、本発明の実施例において、予め設定された質問応答ライブラリにおける各標準質問および対応する正確な解答の記憶フォーマットは、辞書フォーマットであってもよい。例えば、標識が「30」であり、質問が「口渇と頻尿は糖尿病の症状ですか?」であり、解答が「口渇には多くの理由があり、食事、心理、生活習慣の不良によるものもあり、病気によるものもあり、例えば糖尿病の典型的な症状は、多飲、多食、多尿、体重減少である。患者は糖尿病かどうかを確認するためにさらに検査する必要がある。」である場合、対応する記憶フォーマットは、{「qid」:「30」、「question」「口渇と頻尿は糖尿病の症状ですか?」、「answer」:「口渇には多くの理由があり、食事、心理、生活習慣の不良によるものもあり、病気によるものもあり、例えば糖尿病の典型的な症状は、多飲、多食、多尿、体重減少である。患者は糖尿病かどうかを確認するためにさらに検査する必要がある。」}であってもよい。したがって、ユーザーがある推薦質問を選択した後、検索装置は、予め設定された質問応答ライブラリから当該質問に対応する解答、即ち「answer」フィールドを得て、ユーザーに「answer」フィールドを提供することができる。
【0155】
ユーザーの属性情報に基づいて、ユーザーが興味を持つ可能性のある質問をユーザーに推薦することによって、ユーザーが再度情報を入力することなく、自分が興味を持つ情報を理解するために推薦質問を直接に選択することができ、ユーザーの時間を節約し、ユーザー体験を向上させることができる。
【0156】
本発明の実施例において、ユーザーが検索装置から提供したある推薦質問を選択した場合、検索装置は、上記のようにして、ユーザーにその選択した推薦質問に対応する解答を返すことができることが理解できる。例示的な実施例において、ユーザーは、検索装置から提供した推薦質問を選択せずに、自分で情報を入力することにより、知りたい情報を検索する可能性があり、本発明の実施例において、ユーザーの入力情報に基づいて、入力提示をユーザーに提供することにより、ユーザーが、提示質問を直接に選択し、自分が検索したい情報を検索し、ユーザーの時間をさらに節約することもできる。
【0157】
即ち、図10に示されたように、ステップ101以降、以下のステップを含み得る。
【0158】
ステップ401において、入力情報を分割することにより、複数の単語を生成する。
【0159】
例示的な実施例において、入力情報をトークナイザーに入力することにより、トークナイザーによって入力情報を若干の単語に分割することができる。
【0160】
ステップ402において、複数の単語の各々が予め設定された類語ライブラリにおける任意の単語と合致するかどうかを判断する。
【0161】
具体的に、予め設定された質問応答ライブラリから高頻度の単語を事前に選び、次にオープンソースの単語ベクトルライブラリから各高頻度の単語の予め設定された数の類語を取得することにより、各高頻度の単語の予め設定された数の類語を含む類語ライブラリを取得することができる。
【0162】
ステップ403において、マッチング結果に応じて、予め設定された質問応答ライブラリから提示質問を選択し、前記ユーザーに提供する。
【0163】
具体的に、複数の単語のうちある単語が予め設定された類語ライブラリにおけるある類語と合致する場合、複数の単語における当該単語および当該単語の類語に基づいて、予め設定された質問応答ライブラリから提示質問を選択し、ユーザーに提供し、複数の単語のうちある単語が予め設定された類語ライブラリにおける任意の類語と合致しない場合、複数の単語における当該単語に基づいて、予め設定された質問応答ライブラリから提示質問を選択し、ユーザーに提供する。
【0164】
例示的な実施例において、入力情報を分割することにより複数の単語を生成した後、これらの単語の各々を予め設定された類語ライブラリにおける類語とそれぞれマッチングすることができる。マッチングされた最初の単語について、仮に単語Aと命名し、当該単語Aが予め設定された類語ライブラリにおける各類語と合致しない場合、当該単語Aを予め設定された質問応答ライブラリにおける各標準質問とマッチングすることにより、当該単語Aと予め設定された質問応答ライブラリにおける各標準質問との間の第4類似度を確定することができる。また、第4閾値を予め設定することにより、予め設定された質問応答ライブラリにおいて単語Aとの間の第4類似度が第4閾値より大きい各標準質問の集合を第1質問ライブラリとすることができる。当該単語Aが予め設定された類語ライブラリにおけるある類語と合致する場合、当該類語が単語Bであると仮定すると、当該単語Aおよび単語Bのそれぞれを予め設定された質問応答ライブラリにおける各標準質問とマッチングすることにより、当該単語Aおよび単語Bのそれぞれと予め設定された質問応答ライブラリにおける各標準質問との間の第4類似度を確定し、予め設定された質問応答ライブラリにおいて単語Aとの間の第4類似度が第4閾値より大きい各標準質問、および単語Bとの間の第4類似度が第4閾値より大きい各標準質問の集合を第1質問ライブラリとすることができる。
【0165】
そして、複数の単語のうち2番目の単語を同じ方法で予め設定された類語ライブラリにおける各類語とマッチングすることができ、2番目の単語が単語Cであると仮定し、当該単語Cが予め設定された類語ライブラリにおける各類語と合致しない場合、当該単語Cと第1質問ライブラリにおける各標準質問とマッチングすることにより、当該単語Cと第1質問ライブラリにおける各標準質問との間の第5類似度を確定し、第1質問ライブラリにおいて単語Cとの間の第5類似度が第4閾値より大きい各標準質問の集合を第2質問ライブラリとすることができる。当該単語Cが予め設定された類語ライブラリにおけるある類語と合致する場合、当該類語が単語Dであると仮定すると、当該単語Cおよび単語Dのそれぞれを第1質問ライブラリにおける各標準質問とマッチングすることにより、当該単語Cおよび単語Dのそれぞれと第1質問ライブラリにおける各標準質問との間の第5類似度を確定し、第1質問ライブラリにおいて単語Cとの間の第5類似度が第4閾値より大きい各標準質問、および単語Dとの間の第5類似度が第4閾値より大きい各標準質問の集合を第2質問ライブラリとすることができる。
【0166】
ここで、ジャカード(Jaccard)距離アルゴリズムで第4類似度および第5類似度を確定することができ、もちろん、他の方法を使用することもでき、本発明は、これについて限定しない。
【0167】
質問ライブラリが最終的に確定されるまで、上記のプロセスに従って複数の単語の各々を処理し、即ち、最終的に確定された質問ライブラリにおける質問を提示質問としてユーザーに提供することができる。
【0168】
なお、ユーザーの入力情報を分割した後、1つの単語が生成された場合、第1質問ライブラリは、最終的な質問ライブラリである。
【0169】
図11に示されたように、入力情報を分割して2つの単語が生成されたと仮定すると、最初の単語Aに対して、即ちi=1の場合、単語Aを類語ライブラリにおける任意の単語とマッチングすることができ、類語ライブラリにおいて単語Aと合致した類語がない場合、当該単語Aを予め設定された質問応答ライブラリにおける各標準質問とマッチングすることにより、当該単語Aと予め設定された質問応答ライブラリにおける各標準質問とのJaccard距離を確定し、次に、当該Jaccard距離に基づいて、第1質問ライブラリを確定することができる。類語ライブラリにおいて単語Aと合致した類語がある場合、類語リストを取得し、次に単語Aおよび類語リストにおける各単語のそれぞれを予め設定された質問応答ライブラリにおける各標準質問とマッチングすることにより、当該単語Aおよび類語リストにおける各単語のそれぞれと予め設定された質問応答ライブラリにおける各標準質問とのJaccard距離をそれぞれ確定し、この後、当該Jaccard距離に基づいて、第1質問ライブラリを確定することができる。
【0170】
2番目の単語Cに対して、即ちi=2の場合、単語Cを類語ライブラリにおける任意の単語とマッチングすることができ、類語ライブラリにおいて単語Cと合致した類語がない場合、当該単語Cを第1質問ライブラリにおける各標準質問とマッチングすることにより、当該単語Cと第1質問ライブラリにおける各標準質問とのJaccard距離を確定し、次に、当該Jaccard距離に基づいて、第2質問ライブラリを確定することができる。類語ライブラリにおいて単語Cと合致した類語がある場合、類語リストを取得し、次に単語Cおよび類語リストにおける各単語のそれぞれを第1質問ライブラリにおける各標準質問とマッチングすることにより、当該単語Cおよび類語リストにおける各単語のそれぞれと第1質問ライブラリにおける各標準質問とのJaccard距離をそれぞれ確定し、この後、当該Jaccard距離に基づいて、第2質問ライブラリを確定することができる。
【0171】
i=3の場合、ループから脱出することにより、第2質問ライブラリにおける質問を提示質問としてユーザーに提供する。
【0172】
例を挙げると、第4閾値が0.5であると仮定し、ユーザーが検索装置から提供した推薦質問を選択せず、対話型インタフェースに「糖尿病」を入力した場合、検索装置は、当該入力情報を分割することにより、単語「糖尿病」を生成することができ、次に、検索装置は、「糖尿病」が予め設定された類語ライブラリにおける任意の単語と合致するかどうかを判断することができ、「糖尿病」が予め設定された類語ライブラリにおける各類語と合致しない場合、「糖尿病」を予め設定された質問応答ライブラリにおける各標準質問とマッチングすることにより、「糖尿病」と予め設定された質問応答ライブラリにおける各標準質問との間の第4類似度を確定するができ、予め設定された質問応答ライブラリにおいて「糖尿病」との間の第4類似度が第4閾値より大きい標準質問には、「糖尿病はお酒やタバコを止めるべきですか?」、「糖尿病患者に適した肉類?」が含まれる場合、図12に示されたように、この2つの提示質問をユーザーに提供することができる。図12に示されたように、本発明における検索装置は、アプリケーションソフトウェアであってもよく、当該アプリケーションソフトウェアは、スマートフォンにインストールされ、アプリケーションソフトウェアは、対話型インタフェースを提供することができ、ユーザーは、対話型インタフェースに「糖尿病」を入力し、アプリケーションソフトウェアが予め設定された質問応答ライブラリにおいて「糖尿病」との間の第4類似度が第4閾値より大きい標準質問には「糖尿病はお酒やタバコを止めるべきですか?」、「糖尿病患者に適した肉類?」が含まれると確定した場合、アプリケーションソフトウェアは、この2つの質問を提示質問としてユーザーに提供することができる。
【0173】
例示的な実施例において、ユーザーは、提示質問から自分が検索したい質問を選択して、対応する解答を取得することができ、この場合、検索装置は、ユーザーの選択に応じて、予め設定された質問応答ライブラリから対応する解答を取得することができる。即ち、ステップ403以降、以下のステップを含み得る。
【0174】
ステップ404において、ユーザーの第3選択指令を取得する。
【0175】
ステップ405において、第3選択指令に基づいて、ユーザーが選択した提示質問を確定する。
【0176】
ステップ406において、ユーザーが選択した提示質問に基づいて、予め設定された質問応答ライブラリから第5解答を取得する。
【0177】
ステップ407において、第5解答をユーザーに提供する。
【0178】
具体的に、検索装置は、対話型インタフェースで提示質問を提供することができ、ユーザーユーザーは、クリック、長押しなどのタッチ操作によって検索したい質問をタッチ操作することにより、第3選択指令をトリガーすることができ、検索装置は、ユーザーの第3選択指令を取得した後、第3選択指令に基づいて、ユーザーが選択した提示質問を確定し、予め設定された質問応答ライブラリから第5解答を取得することにより、第5解答をユーザーに提供する。
【0179】
なお、本発明の実施例において、質問応答ライブラリにおける各標準質問および対応する正確な解答の記憶フォーマットは、辞書フォーマットであってもよい。例えば、標識が「30」であり、質問が「口渇と頻尿は糖尿病の症状ですか?」であり、解答が「口渇には多くの理由があり、食事、心理、生活習慣の不良によるものもあり、病気によるものもあり、例えば糖尿病の典型的な症状は、多飲、多食、多尿、体重減少である。患者は糖尿病かどうかを確認するためにさらに検査する必要がある。」である場合、対応する記憶フォーマットは、{「qid」:「30」、「question」「口渇と頻尿は糖尿病の症状ですか?」、「answer」:「口渇には多くの理由があり、食事、心理、生活習慣の不良によるものもあり、病気によるものもあり、例えば糖尿病の典型的な症状は、多飲、多食、多尿、体重減少である。患者は糖尿病かどうかを確認するためにさらに検査する必要がある。」}であってもよい。したがって、ユーザーがある提示質問を選択した後、検索装置は、予め設定された質問応答ライブラリから当該質問に対応する解答、即ち「answer」フィールドを得て、ユーザーに「answer」フィールドを提供することができる。
【0180】
本発明の実施例において、ユーザーが検索装置から提供したある提示質問を選択した場合、検索装置は、上記のようにして、ユーザーにその選択した提示質問に対応する解答を返すことができ、ユーザーが検索装置から提供した提示質問を選択しない場合、このとき、検索装置は、ユーザーの入力情報に基づいて、図1に示された方式で、対応する解答をユーザーに直接に提供できることが理解できる。
【0181】
ユーザーの入力情報に基づいて、入力提示をユーザーに提供することにより、ユーザーが、提示質問を直接に選択し、自分が検索したい情報を検索し、ユーザーの時間をさらに節約することができる。そして、類語ライブラリにおいてユーザーの入力情報における単語に類似した類語がある場合、ユーザーの入力情報における単語と類語ライブラリにおける類語に基づいて提示質問を取得するので、予め設定された質問応答ライブラリから入力情報に語義的に類似した質問を見つけてユーザーに提供することにより、提供された提示情報をより正確かつ包括的にすることができる。
【0182】
上記の解析から分かるように、本発明において、ユーザーの入力情報に基づいて、対応する解答をユーザーに提供する場合、まずユーザーの入力情報に基づいてユーザーの意図情報を取得し、次に入力情報及び意図情報に基づいて、予め設定された質問応答ライブラリからユーザーの入力情報に最も合致する第1候補質問を選択し、ひいては第1候補質問に対応する候補解答を第2解答とし、さらに第2解答の信頼性および第2解答に基づいて第1解答を生成し、ユーザーに提供する必要がある。しかしながら、実際の応用では、ユーザーの入力情報の長さが比較的長く、多くの冗長情報が含まれているか、あるいは、ユーザーの入力情報が短く、予め設定された質問応答ライブラリから第1候補解答を得るために必要なキー情報が含まれていないため、予め設定された質問応答ライブラリから第1候補質問を正確に得ることが困難であり、以下、上記の場合について、図13を参照して本発明の実施例による質問の検索方法をさらに説明する。
【0183】
図13は、本発明の別の実施例による質問の検索方法の概略フローチャートである。
【0184】
図13に示されたように、本発明の実施例による質問の検索方法は、以下のステップを含む。
【0185】
ステップ501において、ユーザーの入力情報を取得する。
【0186】
ステップ502において、入力情報に含まれる文字数が第2閾値より大きいかどうかを判断し、大きい場合、ステップ503を実行し、そうでない場合、ステップ506を実行する。
【0187】
ステップ503において、入力情報を分割することにより、複数の単文を生成する。
【0188】
ステップ504において、プリセットされたアルゴリズムによって、複数の単文のうち2つの単文ごとの第3類似度を確定する。
【0189】
ステップ505において、2つの単文ごとの第3類似度に基づいて、キーセンテンスを確定し、キーセンテンスを最終的な入力情報とする。
【0190】
ユーザーの入力情報の長さが比較的長い場合、多くの冗長情報が含まれる可能性があることが理解でき、例えば、ユーザーが音声形式で入力した入力情報は、「尊敬する専門家こんにちは、私は江蘇省出身で、陳と申します。男性、身長180cm、体重80kg、今年60歳です。糖尿病を患ってすでに10年余りになりました。現在空腹時の血糖値は7-8mmol/L、食后の血糖値は14-15mmol/L単位かな?服用している薬はメトホルミンです。薬を正常に服用し、しかも食事をコントロールするが、食后の血糖値がこんなに高いのはなぜですか、お聞きしたいです。お願いします。ありがとうございます。」であり、したがって、入力情報には「ありがとうございます」や「私は江蘇省出身で」などの冗長情報が含まれることがわかり、この結果、予め設定された質問応答ライブラリから第1候補質問を正確に得ることが困難であり、相応的に、ユーザーに正確な解答を提供することができない。さて、本発明の実施例において、ユーザーの入力情報の長さが比較的長い場合、入力情報を圧縮することにより、圧縮された情報に基づいて第1解答を生成する。
【0191】
具体的に、本発明の実施例において、第2閾値を予め設定することができ、入力情報に含まれる文字数が第2閾値より大きい場合、入力情報の長さが比較的長く、冗長情報が含まれると考えられるので、入力情報における重要度が最も高いキーセンテンスを抽出するために、ステップ503~505により入力情報を圧縮することができ、ひいてはキーセンテンスを最終的な入力情報とし、最終的な入力情報に基づいて第1解答を生成する。
【0192】
ここで、第2閾値は、必要に応じて任意に設定されることができる。例えば、第2閾値は、30、25などに設定されることができる。
【0193】
例示的な実施例において、TextRankアルゴリズムを採用して、ユーザーの入力情報における重要度が最も高い文をキーセンテンスとして自動的に選択することができる。
【0194】
具体的に実施する場合、まず入力情報を前処理することができる。具体的に、入力情報を複数の単文に分割し、次に各単文に対して分詞、ストップワードの除去などの処理を行う。ここで、入力情報Tを分割することにより、T=[S1, S2, …, Sm]を得ることができ、ここで、S1, S2, …, Smは、それぞれ各単文を表し、単文Siに対して分詞、ストップワードの除去などの処理を行った後、Si=[ti,1, ti,2, …, ti,n]を得ることができ、ここで、tij∈Sjは、保留後の候補キーワードである。
【0195】
そして、プリセットされたアルゴリズムによって、複数の単文のうち2つの単文ごとの第3類似度を確定することができる。具体的に、以下の式(1)に示されたアルゴリズムによって、単文間のコンテンツカバレッジに基づいて、単文SiとSjとの間の第3類似度Similarity(Si, Sj)を確定することができる。
【数1】
【0196】
また、第5閾値を予め設定することができ、2つの単文間の第3類似度が予め設定された第5閾値より大きい場合、この2つの単文が語義的に相関していると考えることができ、したがって、この2つの単文を連結し、2つの単文間の第3類似度を辺の重みとすることができる。例えば、単文SiとSjとの間の第3類似度が第5閾値より大きい場合、単文Si,Sjを連結し、辺の重みwji=Similarity(Si, Sj)になる。上記の式(1)によれば、複数の単文をうち2つの単文ごとの重みを反復的に計算することができる。
【0197】
ここで、第5閾値は、必要に応じて任意に設定されることができる。例えば、5、6などに設定されることができる。
【0198】
次に、2つの単文ごとの重みに基づいて、各単文を並べ替えることにより、重要度が最も高い予め設定された数の単文をキーセンテンスとして選択し、キーセンテンスを最終的な入力情報とすることができる。
【0199】
ユーザーの入力情報の長さが比較的長い場合、キーセンテンスを抽出し、キーセンテンスを最終的な入力情報とし、対応する第1解答を確定することにより、ユーザーの入力情報の長さが比較的長い場合、情報の冗長性のために対応する解答を正確に確定できないという問題を回避する。
【0200】
ステップ506において、入力情報が予め設定された補足条件を満たすかどうかを判断する。
【0201】
ステップ507において、満たす場合、ユーザーの履歴入力情報を取得する。
【0202】
ステップ508において、履歴入力情報に基づいて入力情報を補足し、補足された情報を最終的な入力情報とする。
【0203】
ユーザーの入力情報の長さが短く、予め設定された質問応答ライブラリから第1候補質問を得るのに必要なキー情報が含まれていない可能性があることが理解でき、例えば、ユーザーは、初めて「糖尿病ではどんな症状が生じるのか?」と入力し、検索装置が解答を提供した後、ユーザーは、再び「どのように予防するか?」と入力し、「どのように予防するか」には予め設定された質問応答ライブラリから第1候補質問を得るのに必要なキー情報が含まれていないので、予め設定された質問応答ライブラリから第1候補質問を正確に得ることが困難であり、相応的に、ユーザーに正確な解答を提供することができない。さて、本発明の実施例において、ユーザーの入力情報の長さが比較的短い場合、入力情報を補足する必要があるかどうかを判断し、必要がある場合、入力情報を補足した後、補足された情報に基づいて第1解答を生成する。
【0204】
ここで、予め設定された補足条件は、ユーザーの入力情報が完全であるかどうかを判断するために使用され、ユーザーの入力情報が予め設定された補足条件を満たす場合、ユーザーの入力情報が不完全であり、補足する必要があり、ユーザーの入力情報が予め設定された補足条件を満たしていない場合、ユーザーの入力情報が完全であり、補足する必要がない。ここで、予め設定された補足条件は、必要に応じて設定できる。また、予め設定された補足条件に含まれる条件の数は、1つであってもよいし、複数であってもよいし、本発明は、これについて限定しない。
【0205】
本発明の実施例において、予め設定された補足条件には、3つの条件が含まれることができ、第1に、すべてのエンティティが存在しない、第2に、疾患エンティティが存在しないが、他のエンティティが存在する、第3に、疾患エンティティのみが存在し、文の長さが第6閾値より小さい。
【0206】
具体的に実施する場合、図14に示されたように、まず入力情報が第1条件または第2条件を満たすかどうかを判断することができ、満たす場合、入力情報が不完全であり、エンティティが欠けていることを示し、対応するエンティティを補足する必要がある。入力情報が第1条件を満たさず、第2条件も満たさない場合、ユーザーの入力情報が第3条件を満たすかどうかを判断し、満たす場合、ユーザーの入力情報が不完全であり、対応する文型を補足する必要があることを示す。ユーザーの入力情報が第1条件および第2条件を満たさず、第3条件も満たさない場合、ユーザーの入力情報が完全であり、補足する必要がないことを示し、このとき、ユーザーの入力情報は、最終的な入力情報であり、検索装置は、ユーザーの入力情報に基づいて第1解答を生成することができる。
【0207】
例を挙げると、ユーザーは、まず「糖尿病でりんごを食べてもいいですか?」を入力し、この後「どのように予防するか?」を再び入力し、「どのように予防するか」が第1条件を満たし、即ちすべてのエンティティが存在しないので、ユーザーの最初の入力に応じて、「どのように予防するか」に疾患エンティティ「糖尿病」または食品エンティティ「リンゴ」をそれぞれ補足することができ、これにより、「糖尿病をどのように予防するか?」および「リンゴはどのように予防するか?」を取得する。
【0208】
または、第6閾値が7であると仮定し、ユーザーは、まず「高齢者の糖尿病をどのように予防しますか?」を入力し、検索装置は、解答を提供した後、ユーザーは、再び「妊娠糖尿病の場合は?」を入力し、「妊娠糖尿病の場合は?」が第1条件および第2条件を満たさず、第3条件を満たすので、このとき、文型の補足が必要であり、ユーザーの最初の入力に応じて、「妊娠糖尿病の場合は?」を「妊娠糖尿病をどのように予防しますか?」になるように補足する。
【0209】
履歴入力情報に基づいて入力情報を補足した後、補足された情報をユーザーに提供することにより、ユーザーの選択に応じて、最終的な入力情報を確定できることが理解できる。例えば、ユーザーが「糖尿病をどのように予防するか?」および「リンゴはどのように予防するか?」から「糖尿病をどのように予防するか?」を選択した場合、「糖尿病をどのように予防するか?」を最終的な入力情報とする。
【0210】
なお、ユーザーが検索装置から提供した補足された情報を選択しない場合、ユーザーの入力情報が完全であり、補足する必要がないと考えられるので、ユーザーの入力情報に基づいて、第1解答を直接に生成する。
【0211】
ユーザーの入力情報の長さが短い場合、履歴入力情報に基づいてユーザーの入力情報を異なる状況に対して的確に補足し、さらに補足された情報に基づいて対応する第1解答を確定することにより、検索装置がコンテキスト情報をよりよく理解することができ、ユーザーの入力情報の長さが短い場合、情報の不足で対応する解答を正確に確定できないという問題を回避することができる。
【0212】
具体的に、最終的な入力情報に基づいて、以下のように第1解答を生成することができる。
【0213】
ステップ509において、最終的な入力情報に基づいてユーザーの意図情報を取得する。
【0214】
ステップ510において、キーセンテンスおよび意図情報に基づいて、質問応答モデルによって第2解答を生成し、且つ第2解答の信頼性を取得する。
【0215】
ステップ511において、第2解答の信頼性及び第2解答に基づいて第1解答を生成し、前記ユーザーに提供する。
【0216】
ここで、ステップ509~511の具体的な実現プロセスおよび原理について、上記実施例の詳細な説明を参照することができ、ここでは説明を省略する。
【0217】
本発明の実施例による質問の検索方法では、入力情報に含まれる文字数が第2閾値より大きい場合、入力情報を分割することにより、複数の単文を生成し、次にプリセットされたアルゴリズムによって、複数の単文のうち2つの単文ごとの第3類似度を確定し、さらに2つの単文ごとの第3類似度に基づいて、キーセンテンスを確定し、キーセンテンスを最終的な入力情報とすることができ、入力情報に含まれる文字数が第2閾値以下である場合、入力情報が予め設定された補足条件を満たすかどうかを判断することができ、満たす場合、ユーザーの履歴入力情報を取得し、履歴入力情報に基づいて入力情報を補足し、補足された情報を最終的な入力情報とし、この後、最終的な入力情報に基づいてユーザーの意図情報を取得し、さらにキーセンテンスおよび意図情報に基づいて、質問応答モデルによって第2解答を生成し、且つ第2解答の信頼性を取得し、ひいては第2解答の信頼性及び第2解答に基づいて第1解答を生成し、前記ユーザーに提供することができる。これにより、ユーザーの入力情報に基づいて、対応する正確な解答をユーザーに自動的に提供することが実現され、ユーザーの時間及び手間が節約され、ユーザー体験を改善する。
【0218】
以下、図15図4図7図9図12を参照して、本発明による質問の検索方法をさらに説明する。なお、本発明の実施例では、検索装置がスマートフォンにインストールされたアプリケーションソフトウェアであることを例に説明し、ここで、当該アプリケーションソフトウェアは、対話型インタフェースを提供することができ、これにより、ユーザーは、対話型インタフェースを介して質問の解答を検索することができる。
【0219】
図15は、本発明の別の実施例による質問の検索方法の概略フローチャートである。
【0220】
図15および図9に示されたように、ユーザーがアプリケーションソフトウェアを起動した後、アプリケーションソフトウェアは、まずユーザーの属性情報を取得し、属性情報の特徴ベクトル表現を確定し、次に属性情報の特徴ベクトル表現と予め設定された質問応答ライブラリにおける各標準質問の特徴ベクトル表現との間の第2類似度をそれぞれ確定し、さらに第2類似度に基づいて、ユーザーに推薦質問を提供することができる。
【0221】
ユーザーが推薦質問におけるある推薦質問を選択して第2選択指令をトリガーした後、推薦に成功し、アプリケーションソフトウェアは、第2選択指令に基づいて、ユーザーが選択した推薦質問を確定し、次にユーザーが選択した推薦質問に基づいて、第4解答として予め設定された質問応答ライブラリからユーザーが選択した推薦質問に対応する「answer」フィールドを取得し、第4解答をユーザーに提供することができる。例えば、ユーザーが図9における「糖尿病はどのような検査をしますか?」を選択すると、アプリケーションソフトウェアは、予め設定された質問応答ライブラリから当該質問に対応する解答を取得し、当該解答をユーザーに提供する。
【0222】
ユーザーが推薦質問のいずれかを選択せず、自分で情報を入力した場合、推薦に失敗し、入力情報を分割することにより、複数の単語を生成し、次に複数の単語の各々が予め設定された類語ライブラリにおける任意の単語と合致するかどうかを判断し、マッチング結果に応じて、予め設定された質問応答ライブラリから提示質問を選択し、前記ユーザーに提供することができる。例えば、ユーザーが図9における推薦質問を選択せず、対話型インタフェースに「糖尿病」を入力した場合、アプリケーションソフトウェアは、「糖尿病」を分割することができ、「糖尿病」が単語であるため、アプリケーションソフトウェアは、「糖尿病」が予め設定された類語ライブラリにおける任意の単語と合致するかどうかを判断し、マッチング結果に応じて、予め設定された質問応答ライブラリから提示質問を選択することができ、アプリケーションソフトウェアが選択した提示質問には「糖尿病はお酒やタバコを止めるべきですか?」および「糖尿病患者に適した肉類?」が含まれる場合、図12に示されたように、アプリケーションソフトウェアは、この2つの質問をユーザーに提供することができる。
【0223】
ユーザーが提示質問におけるある提示質問を選択して第3選択指令をトリガーした後、提示に成功し、第3選択指令に基づいて、ユーザーが選択した提示質問を確定し、次にユーザーが選択した提示質問に基づいて、第5解答として予め設定された質問応答ライブラリからユーザーが選択した提示質問に対応する「answer」フィールドを取得し、第5解答をユーザーに提供することができる。例えば、ユーザーが図12における「糖尿病患者に適した肉類?」を選択すると、アプリケーションソフトウェアは、予め設定された質問応答ライブラリから当該質問に対応する解答を取得し、当該解答をユーザーに提供することができる。
【0224】
ユーザーが提示質問のいずれかを選択しない場合、提示に失敗し、入力情報に含まれる文字数が第2閾値より大きいかどうかを判断することができ、大きい場合、入力情報を分割することにより、複数の単文を生成し、次にプリセットされたアルゴリズムによって、複数の単文のうち2つの単文ごとの第3類似度を確定し、さらに2つの単文ごとの第3類似度に基づいて、キーセンテンスを確定し、キーセンテンスを最終的な入力情報とする。
【0225】
入力情報に含まれる文字数が第2閾値以下である場合、入力情報が予め設定された補足条件を満たすかどうかを判断し、ユーザーの履歴入力情報を取得した場合、履歴入力情報に基づいて入力情報を補足し、補足された情報を最終的な入力情報とする。
【0226】
次に、最終的な入力情報に基づいて、ユーザーの意図情報を取得し、入力情報及び意図情報に基づいて質問応答モデルによって第1候補質問を確定し、第2解答として予め設定された質問応答ライブラリから第1候補質問に対応する「answer」フィールドを取得し、且つ第2解答の信頼性を取得することができる。
【0227】
同時に、最終的な入力情報に存在するエンティティタイプおよび関係タイプを識別し、エンティティタイプおよび関係タイプに基づいて、知識グラフモデルを検索することにより、前記第3解答を生成することができる。
【0228】
第2解答の信頼性が第1閾値より大きい場合、第2解答を第1解答とし、第2解答の信頼性が第1閾値以下である場合、入力情報に基づいて知識グラフモデルによって第3解答を生成するかどうかをさらに判断し、第2解答の信頼性が第1閾値以下であり、且つ知識グラフモデルによって第3解答を生成した場合、第3解答を第1解答とし、第2解答の信頼性が第1閾値以下であり、且つ知識グラフモデルによって第3解答を生成しない場合、第2解答を第1解答とする。したがって、第1解答をユーザーに提供することができる。
【0229】
ユーザーが図12に示された提示質問のいずれかを選択せず、図4に示されたように、対話型インタフェースに「糖尿病をどのように予防するか?」を入力し、アプリケーションソフトウェアが第2解答「1、暴飲暴食をせず生活に規律があり、食事はよく噛んで食べ、野菜を多く食べる……」を確定し、且つ当該第2解答の信頼性が第1閾値より大きいと仮定すると、アプリケーションソフトウェアは、図4に示されたように、当該第2解答を第1解答として確定し、ユーザーに提供することができる。
【0230】
ユーザーが図12に示された提示質問のいずれかを選択せず、図7に示されたように、対話型インタフェースに「糖尿病でりんごが食べられますか」を入力し、アプリケーションソフトウェアが第2解答を確定したが、第2解答の信頼性が第1閾値より小さく、同時にアプリケーションソフトウェアが第3解答「糖尿病は、高血糖を特徴とする代謝性疾患である。高血糖は、インスリン分泌の不足、生物学的作用の障害、またはその両方で引き起こされる。糖尿病の時に長期にわたって存在する高血糖は、さまざまな組織、特に目、腎臓、心臓、血管、神経の慢性的な損傷と機能障害を引き起こす。適量にリンゴを食べることができる。理由として、血糖値を下げ、糖尿病を予防する。」を確定したと仮定すると、アプリケーションソフトウェアは、図7に示されたように、当該第3解答を第1解答として確定し、ユーザーに提供することができる。
【0231】
上記プロセスによって、ユーザーの入力情報に基づいて、対応する解答をユーザーに自動的に提供することが実現され、ユーザーの時間および手間が節約され、質問応答ライブラリに記憶されたデータ量が少なく、第2解答が正確でない可能性がある場合、質問応答モデルと知識グラフモデルを総合的に利用することにより、最終的な第1解答を確定し、確定された第1解答の正確性を向上させた。
【0232】
以下、図16を参照して、本発明の実施例による質問の検索装置を説明する。
【0233】
図16は、本発明の一実施例による質問の検索装置の概略構造図である。
【0234】
図16に示されたように、当該質問の検索装置は、第1取得モジュール11、第2取得モジュール12、確定モジュール13、処理モジュール14および解答提供モジュール15を含む。
【0235】
第1取得モジュール11は、ユーザーの入力情報を取得するために使用される。
【0236】
第2取得モジュール12は、ユーザーの入力情報に基づいてユーザーの意図情報を取得するために使用される。
【0237】
確定モジュールは、解答生成ルールを確定するために使用される。
【0238】
処理モジュール13は、入力情報及び意図情報に基づいて、解答生成ルールを利用して第1解答を生成するために使用される。
【0239】
解答提供モジュール15は、第1解答をユーザーに提供するために使用される。
【0240】
具体的に、本発明の実施例による質問の検索装置(以下、検索装置と略す)は、本発明の実施例による質問の検索方法を実行することができる。当該検索装置は、ユーザーの入力情報に基づいて対応する正確な解答をユーザーに自動的に提供するために、本発明の実施例による端末デバイスに設けられてもよい。本実施例において、端末デバイスは、例えばスマートフォン、タブレット、パーソナルデジタルアシスタント等のようなデータ処理機能を有するハードウェアデバイスであってもよく、本発明は、これについて限定しない。
【0241】
例示的な実施例において、解答生成ルールが第1ルールである場合、処理モジュール14は、具体的に、
入力情報及び意図情報に基づいて、質問応答モデルによって第2解答を生成し、第2解答の信頼性を取得し、
第2解答の信頼性及び第2解答に基づいて第1解答を生成するために使用される。
【0242】
例示的な実施例において、処理モジュール14は、第2解答の信頼性及び第2解答に基づいて第1解答を生成する場合、具体的に、
第2解答の信頼性が第1閾値より大きい場合、第2解答を第1解答とし、
第2解答の信頼性が第1閾値以下である場合、入力情報に基づいて知識グラフモデルによって第3解答を生成するかどうかをさらに判断し、
第2解答の信頼性が第1閾値以下であり、且つ知識グラフモデルによって第3解答を生成した場合、第3解答を第1解答とし、
第2解答の信頼性が第1閾値以下であり、且つ知識グラフモデルによって第3解答を生成しない場合、第2解答を第1解答とするために使用される。
【0243】
例示的な実施例において、第2取得モジュール12は、具体的に、
入力情報の特徴ベクトル表現を取得し、
入力情報の特徴ベクトル表現を意図予測モデルに入力することにより、ユーザーの意図情報を取得するために使用される。
【0244】
例示的な実施例において、処理モジュール14は、入力情報及び意図情報に基づいて質問応答モデルによって第2解答を生成し、第2解答の信頼性を取得する場合、具体的に、
入力情報の特徴ベクトル表現を取得し、
予め設定された質問応答ライブラリから意図情報に対応する候補質問集合を取得し、
候補質問集合における各候補質問の特徴ベクトル表現を取得し、
質問応答モデルによって、入力情報の特徴ベクトル表現と各候補質問の特徴ベクトル表現との間の第1類似度をそれぞれ計算し、
入力情報の特徴ベクトル表現と各候補質問の特徴ベクトル表現との間の第1類似度に基づいて、候補質問集合から第1候補質問を選択し、
質問応答ライブラリにおける第1候補質問に対応する候補解答を第2解答とし、ここで、入力情報の特徴ベクトル表現と選択された第1候補質問の特徴ベクトル表現との間の第1類似度は、第2解答の信頼性であるために使用される。
【0245】
例示的な実施例において、解答生成ルールが第2ルールである場合、処理モジュール14は、具体的に、
意図情報に食品が含まれるかどうかを判断し、
意図情報に食品が含まれない場合、入力情報に基づいて質問応答モデルによって第2解答を生成できるかどうかを判断し、
質問応答モデルによって第2解答を生成した場合、第2解答を第1解答とし、
意図情報に食品が含まれる場合、入力情報に基づいて知識グラフモデルによって第3解答を生成できるかどうかを判断し、
知識グラフモデルによって第3解答を生成した場合、第3解答を第1解答とし、
質問応答モデルによって第2解答を生成しない場合、入力情報に基づいて知識グラフモデルによって第3解答を生成し、第3解答を第1解答とし、
知識グラフモデルによって第3解答を生成しない場合、入力情報に基づいて質問応答モデルによって第2解答を生成し、第2解答を第1解答とするために使用される。
【0246】
例示的な実施例において、意図情報に食品が含まれるかどうかを判断する前に、処理モジュール14は、
入力情報に基づいて質問応答モデルによって第2解答を生成できるかどうか、または、知識グラフモデルによって第3解答を生成できるかどうかを判断し、
質問応答モデルによって第2解答を生成せず、且つ知識グラフモデルによって第2解答を生成しない場合、予め設定された質問応答ライブラリから意図情報に対応する候補質問集合を取得し、ユーザーが選択できるように候補質問集合における候補質問をユーザーに提供するためにも使用されることができる。
【0247】
例示的な実施例において、処理モジュール14は、入力情報及び意図情報に基づいて質問応答モデルによって第2解答を生成する場合、具体的に、
入力情報の特徴ベクトル表現を取得し、
予め設定された質問応答ライブラリから意図情報に対応する候補質問集合を取得し、
候補質問集合における各候補質問の特徴ベクトル表現を取得し、
入力情報の特徴ベクトル表現と各候補質問の特徴ベクトル表現との間の第1類似度をそれぞれ計算し、
入力情報の特徴ベクトル表現と各候補質問の特徴ベクトル表現との間の第1類似度に基づいて、候補質問集合から1つ以上の候補質問を確定し、
1つの候補質問が確定された場合、質問応答ライブラリにおける当該候補質問に対応する候補解答を第2解答とし、
複数の候補質問が確定された場合、ユーザーに複数の候補質問を提供し、
ユーザーの第1選択指令を取得し、
第1選択指令に基づいて、ユーザーが選択した候補質問を確定し、
質問応答ライブラリにおけるユーザーが選択した候補質問に対応する候補解答を第2解答とするために使用される。
【0248】
例示的な実施例において、検索装置は、
前記入力情報に存在するエンティティタイプおよび関係タイプを識別し、
前記エンティティタイプおよび関係タイプに基づいて、前記知識グラフモデルを検索することにより、前記第3解答を生成するために使用される第3処理モジュールと、
ユーザーの属性情報を取得するために使用される第3取得モジュールと、
属性情報の特徴ベクトル表現を確定するために使用される第1確定モジュールと、
属性情報の特徴ベクトル表現と予め設定された質問応答ライブラリにおける各標準質問の特徴ベクトル表現との間の第2類似度をそれぞれ確定するために使用される第2確定モジュールと、
第2類似度に基づいて、ユーザーに推薦質問を提供するために使用される第1推薦モジュールと、
をさらに含み得る。
【0249】
例示的な実施例において、検索装置は、
ユーザーの第2選択指令を取得するために使用される第4取得モジュールと、
第2選択指令に基づいて、ユーザーが選択した推薦質問を確定するために使用される第3確定モジュールと、
ユーザーが選択した推薦質問に基づいて、予め設定された質問応答ライブラリから第4解答を取得する第5取得モジュールと、
第4解答をユーザーに提供するためにも使用される解答提供モジュールと、
をさらに含み得る。
【0250】
例示的な実施例において、検索装置は、
入力情報を分割することにより、複数の単文を生成するために使用される第4処理モジュールと、
複数の単語の各々が予め設定された類語ライブラリにおける任意の単語と合致するかどうかを判断するために使用される第1判断モジュールと、
マッチング結果に応じて、予め設定された質問応答ライブラリから提示質問を選択し、前記ユーザーに提供するために使用される第2推薦モジュールと、
をさらに含み得る。
【0251】
例示的な実施例において、検索装置は、
ユーザーの第3選択指令を取得するために使用される第6取得モジュールと、
第3選択指令に基づいて、ユーザーが選択した提示質問を確定するために使用される第4確定モジュールと、
ユーザーが選択した提示質問に基づいて、予め設定された質問応答ライブラリから第5解答を取得するために使用される第7取得モジュールと、
第5解答をユーザーに提供するためにも使用される解答提供モジュールと、
をさらに含み得る。
【0252】
例示的な実施例において、検索装置は、
入力情報に含まれる文字数が第2閾値より大きいかどうかを判断するために使用される第2判断モジュールと、
入力情報に含まれる文字数が第2閾値より大きい場合、入力情報を分割することにより、複数の単文を生成するために使用される第5処理モジュールと、
プリセットされたアルゴリズムによって、複数の単文のうち2つの単文ごとの第3類似度を確定するために使用される第5確定モジュールと、
2つの単文ごとの第3類似度に基づいて、キーセンテンスを確定し、キーセンテンスを最終的な入力情報として確定するために使用される第6確定モジュールと、
をさらに含み得る。
【0253】
例示的な実施例において、検索装置は、
入力情報に含まれる文字数が第2閾値以下である場合、入力情報が予め設定された補足条件を満たすかどうかを判断するために使用される第3判断モジュールと、
入力情報が予め設定された補足条件を満たす場合、ユーザーの履歴入力情報を取得するために使用される第8取得モジュールと、
履歴入力情報に基づいて入力情報を補足し、補足された情報を最終的な入力情報とするために使用される補足モジュールと、
をさらに含み得る。
【0254】
質問の検索方法についての説明は、本発明の実施例による質問の検索装置にも適用でき、ここでは説明を省略する。
【0255】
本発明の実施例による質問の検索装置は、ユーザーの入力情報及びユーザーの意図情報に基づいて、質問応答モデルを利用して第2解答を生成し、さらに第2解答及び当該解答の信頼性に基づいて最終的な解答を生成し、ユーザーに提供し、ユーザーの入力情報に基づいて、対応する正確な解答をユーザーに自動的に提供することが実現され、ユーザーの時間及び手間が節約され、ユーザー体験を改善する。
【0256】
上記実施例を実現するために、本発明では、端末デバイスも提案する。
【0257】
図17は、本発明の一実施例による端末デバイスの概略構造図である。図17に示された端末デバイスは一例に過ぎず、本発明の実施例の機能および使用範囲を制限しない。
【0258】
図17に示されたように、上記端末デバイス200は、メモリ210、プロセッサ220、およびメモリ210に記憶され且つプロセッサ220上で実行可能なコンピュータプログラムを含み、前記プログラムが前記プロセッサ220によって実行されるとき、前述の実施例に記載された質問の検索方法を実現する。
【0259】
一選択可能な実施形態において、図18に示されたように、当該端末デバイス200は、メモリ210、プロセッサ220、および異なるコンポーネント(メモリ210とプロセッサ220を含む)を接続するバス230をさらに含み得て、メモリ210にコンピュータプログラムが記憶され、前記プログラムがプロセッサ220によって実行されるとき、本発明の実施例に記載された質問の検索方法を実現する。
【0260】
バス230は、メモリバスまたはメモリコントローラ、週辺バス、グラフィックアクセラレーションポート、プロセッサ、または様々なバス構造のうちの任意のバス構造を使用するローカルバスを含む、いくつかのタイプのバス構造のうちの1つまたは複数を表す。例を挙げると、これらのアーキテクチャは、業界標準アーキテクチャ(ISA)バス、マイクロチャネルアーキテクチャ(MAC)バス、拡張されたISAバス、ビデオエレクトロニクス標準協会(VESA)ローカルバス、および周辺機器コンポーネント相互接続(PCI)バスを含むが、これらに限定されない。
【0261】
端末デバイス200は、典型的には様々なコンピュータ可読媒体を含む。これらの媒体は、端末デバイス200がアクセス可能な任意の利用可能な媒体であってもよく、揮発性媒体および不揮発性媒体、リムーバブル媒体および非リムーバブル媒体を含む。
【0262】
メモリ210は、例えばランダムアクセスメモリ(RAM)240および/またはキャッシュメモリ250のような揮発性メモリ形式のコンピュータシステム可読媒体をさらに含むことができる。端末デバイス200は、他のリムーバブル/非リムーバブル、揮発性/不揮発性コンピュータシステム記憶媒体をさらに含み得る。一例として、記憶システム260は、非リムーバブルな不揮発性磁気媒体(図18には示されていないが、一般的には「ハードディスクドライブ」と呼ばれる)を読み書きすることができる。図18には示されていないが、リムーバブルな不揮発性磁気ディスク(例えば「フロッピーディスク」)を読み書きするために使用される磁気ディスクドライブ、およびリムーバブルな不揮発性光ディスク(例えばCD-ROM、DVD-ROMまたは他の光媒体)を読み書きするために使用される光ディスクドライブを提供することができる。これらの場合、各ドライブは、1つまたは複数のデータメディアインターフェースを介してバス230に接続されることができる。メモリ210は、少なくとも1つのプログラム製品を含むことができ、当該プログラム製品は、一組の(例えば少なくとも1つの)プログラムモジュールを有し、これらのプログラムモジュールは、本発明の各実施例の機能を実行するように構成される。
【0263】
一組の(少なくとも1つの)プログラムモジュール270を有するプログラム/ユーティリティ280は、例えばメモリ210に記憶されることができ、このようなプログラムモジュール270は、オペレーティングシステム、1つ以上のアプリケーションプログラム、その他のプログラムモジュール、およびプログラムデータを含むが、これらに限定されず、これらの例のそれぞれまたは何らかの組み合わせには、ネットワーク環境の実現が含まれ得る。プログラムモジュール270は、通常に、本発明で説明された実施例における機能および/または方法を実行する。
【0264】
端末デバイス200は、1つ以上の外部デバイス290(例えば、キーボード、ポインティングデバイス、ディスプレイ291など)と通信することもでき、ユーザーが当該端末デバイス200と対話することを可能にする1つ以上のデバイスと通信し、および/または、当該端末デバイス200が1つ以上の他の計算デバイスと通信することを可能にする任意のデバイス(例えば、ランカード、モデムなど)と通信することもできる。このような通信は、入力/出力(I/O)インタフェース292を介して行われ得る。そして、端末デバイス200は、ネットワークアダプタ293を介して、1つ以上のネットワーク(例えば、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、および/または例えばインターネットのようなパブリックネットワーク)と通信することができる。図18に示されたように、ネットワークアダプタ293は、バス230を介して端末デバイス200の他のモジュールと通信する。図示していないが、端末デバイス200と組み合わせて、マイクロコード、デバイスドライブ、冗長処理ユニット、外部磁気ディスクドライブアレイ、RADIシステム、テープドライブ、データバックアップストレージシステムなどを含むがこれらに限定されない他のハードウェアおよび/またはソフトウェアモジュールを使用してもよいことが理解されるべきである。
【0265】
いくつかの実施例において、ユーザーの入力情報は、入力インタフェース292を介して取得され、質問の検索がプロセッサ220を介して完了した後、取得された第1解答は、出力インタフェース292を介してユーザーに提供される。例えば、端末デバイス200の対話型インタフェースを介してユーザーの入力情報を取得し、且つ対話型インタフェースを介して第1解答をユーザーに表示することができる。
【0266】
なお、本実施例の端末デバイスの実施プロセスおよび技術原理について、前述の質問の検索方法の実施例についての説明を参照し、ここでは説明を省略する。
【0267】
本発明の実施例による端末デバイスは、ユーザーの入力情報及びユーザーの意図情報に基づいて、質問応答モデルを利用して第2解答を生成し、さらに第2解答及び当該解答の信頼性に基づいて最終的な解答を生成し、ユーザーに提供し、ユーザーの入力情報に基づいて、対応する正確な解答をユーザーに自動的に提供することが実現され、ユーザーの時間及び手間が節約され、ユーザー体験を改善する。
【0268】
上記実施例を実現するために、本発明では、コンピュータ可読記憶媒体をさらに提案する。
【0269】
ここで、当該コンピュータ可読記憶媒体にコンピュータプログラムが記憶され、当該プログラムがプロセッサによって実行されるとき、前述の実施例に記載された質問の検索方法を実現する。
【0270】
一選択可能な実施形態において、本実施例は、1つ以上のコンピュータ可読媒体の任意の組み合わせを使用することができる。コンピュータ可読媒体は、コンピュータ可読信号媒体またはコンピュータ可読記憶媒体であってもよい。コンピュータ可読記憶媒体は、例えば、電気、磁気、光、電磁気、赤外線、あるいは半導体のシステム、装置またはデバイス、あるいは上記の任意の組合せであってもよいが、これらに限らない。コンピュータ可読記憶媒体のより具体的な例(網羅的ではないリスト)には、1本以上のワイヤによる電気的接続、携帯型コンピュータディスク、ハードディスク、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、消去可能プログラマブル読み取り専用メモリ(EPROMまたはフラッシュメモリ)、光ファイバ、コンパクトディスク読み取り専用メモリ(CD-ROM)、光記憶装置、磁気記憶装置、または上記の任意の組み合わせが含まれる。本発明では、コンピュータ可読記憶媒体は、プログラムを含むかまたは記憶する任意の有形の媒体であってもよく、当該プログラムは、指令実行システム、装置またはデバイスによって使用され、またはそれらと組み合わせて使用されることができる。
【0271】
コンピュータが読み取り可能な信号媒体は、コンピュータが読み取り可能なプログラムコードを担持した、ベースバンド内でまたは搬送波の一部として伝播されるデータ信号を含んでもよい。このような伝播されたデータ信号は、多種の形式を採用でき、電磁気信号、光信号、または上記の任意の適切な組み合わせを含むが、これらに限らない。コンピュータが読み取り可能な信号媒体は、コンピュータ可読記憶媒体以外のいかなるコンピュータ可読媒体であってもよく、当該コンピュータ可読媒体は、指令実行システム、装置またはデバイスによって使用され、またはそれらと組み合わせて使用されるためのプログラムを送信、伝播または伝送することができる。
【0272】
コンピュータ可読媒体に含まれるプログラムコードは、任意の適切な媒体で伝送されることができ、無線、ワイヤ、光ファイバケーブル、RFなど、または上記の任意の適切な組み合わせを含むが、これらに限らない。
【0273】
本発明の操作を実行するためのコンピュータプログラムコードを、1つ以上のプログラミング言語またはそれらの組み合わせで書くことができ、前記プログラミング言語には、Java、Smalltalk、C++などのオブジェクト指向プログラミング言語を含み、さらに「C」言語または同様のプログラミング言語などの従来の手続き型プログラミング言語も含まれる。プログラムコードは、完全にユーザーのコンピュータ上で、部分的にユーザーのコンピュータ上で、1つの単独のソフトウェアパッケージとして、部分的にユーザーのコンピュータ上かつ部分的にリモートコンピュータ上で、あるいは完全に遠隔コンピュータまたはサーバー上で実行されることができる。遠隔コンピュータに関する場合には、遠隔コンピュータは、ローカルエリアネットワーク(LAN)またはワイドエリアネットワーク(WAN)を含む任意の種類のネットワークを介してユーザーのコンピュータに接続されることができ、または、外部のコンピュータに接続されることができる(例えばインターネットサービスプロバイダを利用してインターネットを介して接続する)。
【0274】
上記実施例を実現するために、本発明では、コンピュータプログラム製品をさらに提案し、コンピュータプログラム製品における指令がプロセッサによって実行されるとき、前述の実施例に記載された質問の検索方法を実行する。
【0275】
当業者にとって、上記の実施例の方法のステップの全部または一部が、プログラムを利用して関連するハードウェアを指令することにより完了してもよいことを理解することができ、前記プログラムは、コンピュータ可読記憶媒体に記憶されることができ、当該プログラムは、方法の実施例のステップの1つまたはその組み合わせを含んで実行される。
【0276】
また、本発明の各実施例における各機能ユニットは、1つの処理モジュールに集積されていてもよいし、各ユニットは、個別に物理的に存在していてもよいし、2つ以上のユニットは、1つのモジュールに集積されていてもよい。上記の集積されたモジュールは、ハードウェアの形式で実現されてもよいし、ソフトウェア機能モジュールの形式で実現されてもよい。前記集積されたモジュールは、ソフトウェア機能モジュールの形式で実現され、独立した製品として販売または使用される場合には、1つのコンピュータ読取可能記憶媒体に記憶されてもよい。
【0277】
上記の記憶媒体は、読み出し専用メモリ、磁気ディスクまたは光ディスク等であってもよい。
【0278】
上記は、本発明の好ましい実施形態に過ぎず、当業者にとって、本発明の原理から逸脱することなく、いくつかの改良および修正を行うこともでき、これらの改良および修正も、本発明の保護範囲と見なされるべきであることに留意されたい。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
【国際調査報告】