(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022050379
(43)【公開日】2022-03-30
(54)【発明の名称】意味検索方法、装置、電子機器、記憶媒体およびコンピュータプログラム
(51)【国際特許分類】
G06F 16/35 20190101AFI20220323BHJP
【FI】
G06F16/35
【審査請求】有
【請求項の数】13
【出願形態】OL
【外国語出願】
【公開請求】
(21)【出願番号】P 2021156338
(22)【出願日】2021-09-27
(31)【優先権主張番号】202110186927.9
(32)【優先日】2021-02-09
(33)【優先権主張国・地域又は機関】CN
(71)【出願人】
【識別番号】516340607
【氏名又は名称】ペキン バイドゥ ネットコム サイエンス アンド テクノロジー カンパニー リミテッド
【氏名又は名称原語表記】BEIJING BAIDU NETCOM SCIENCE AND TECHNOLOGY CO., LTD.
【住所又は居所原語表記】2/F Baidu Campus,No.10,Shangdi 10th Street,Haidian District,Beijing 100085,China
(74)【代理人】
【識別番号】100166006
【弁理士】
【氏名又は名称】泉 通博
(74)【代理人】
【識別番号】100154070
【弁理士】
【氏名又は名称】久恒 京範
(74)【代理人】
【識別番号】100153280
【弁理士】
【氏名又は名称】寺川 賢祐
(72)【発明者】
【氏名】リン、 ツェナン
(72)【発明者】
【氏名】ルー、 ジャジュン
(57)【要約】 (修正有)
【課題】意味検索の効率と精度を向上させ、さらにユーザ体験を向上させる意味検索方法、意味検索装置及びプログラムを提供する。
【解決手段】方法は、クエリ情報を受信し、予め構築された知識グラフに基づいてクエリ情報に対してシーケンスラベリングを行ってシーケンスラベリング結果を得る。シーケンスラベリング結果は、知識グラフの既定の情報部分と意味検索部分とを含む。方法はさらに、知識グラフに基づいてシーケンスラベリング結果に合致する候補実体集合を構築することと、候補実体集合における実体とシーケンスラベリング結果における意味検索部分に対して意味マッチングを行って、意味的関連度が予め設定された閾値よりも高い実体集合を得ることと、を含む。
【選択図】
図2
【特許請求の範囲】
【請求項1】
クエリ情報を受信し、予め構築された知識グラフに基づいて、前記クエリ情報に対してシーケンスラベリングを行って、知識グラフの既定の情報部分と意味検索部分とを含むシーケンスラベリング結果を得ることと、
前記知識グラフに基づいて、前記シーケンスラベリング結果に合致する候補実体集合を構築することと、
前記候補実体集合における実体を前記シーケンスラベリング結果における意味検索部分と意味マッチングし、意味的関連度が予め設定された閾値よりも高い実体集合を得ることとを含む意味検索方法。
【請求項2】
クエリ情報を受信し、予め構築された知識グラフに基づいて、前記クエリ情報に対してシーケンスラベリングを行って、シーケンスラベリング結果を得ることは、
クエリ情報を受信し、予め構築された知識グラフと事前トレーニングされたシーケンスラベリングモデルとを用いて、前記クエリ情報に対してシーケンスラベリングを行って第1ラベリング結果を得ることと、
前記第1ラベリング結果を修正して、前記シーケンスラベリング結果を得ることと、
を含む請求項1に記載の意味検索方法。
【請求項3】
前記第1ラベリング結果を修正して、前記シーケンスラベリング結果を得ることは、
自然言語処理による単語分割ツールに基づいて、前記第1ラベリング結果の意味検索部分を単語分割して、第1意味検索部分を得ることと、
自然言語処理による固有名詞識別ツールに基づいて、前記第1意味検索部分に対して固有名詞修正を行って、第2意味検索部分を得ることと、
自然言語処理による係り受け解析ツールに基づいて、前記第1ラベリング結果の知識グラフの既定の情報部分と前記第2意味検索部分における各シーケンスラベリング部分との間の依存関係を判定修正して、第2ラベリング結果を得ることと、
前記知識グラフに基づいて、前記第2ラベリング結果を修正して、前記シーケンスラベリング結果を得ることと、
を含む請求項2に記載の意味検索方法。
【請求項4】
前記候補実体集合における実体を前記シーケンスラベリング結果における意味検索部分と意味マッチングし、意味的関連度が予め設定された閾値よりも高い実体集合を得ることは、
事前トレーニングされた意味マッチング用ツインタワーモデルに基づいて、前記候補実体集合における実体と前記シーケンスラベリング結果における意味検索部分とを意味マッチングして、前記実体と前記意味検索部分との意味的関連度を得ることと、
前記意味的関連度と予め設定された閾値とを比較して、前記意味的関連度が前記予め設定された閾値よりも高い実体集合を得ることと、
を含む請求項3に記載の意味検索方法。
【請求項5】
前記事前トレーニングされた意味マッチング用ツインタワーモデルの入力源は、
前記意味検索部分の意味検索語と前記知識グラフの実体情報とを含む、
請求項4に記載の意味検索方法。
【請求項6】
クエリ情報を受信し、予め構築された知識グラフに基づいて、前記クエリ情報に対してシーケンスラベリングを行って、知識グラフの既定の情報部分と意味検索部分とを含むシーケンスラベリング結果を得るように構成されるラベリングモジュールと、
前記知識グラフに基づいて、前記シーケンスラベリング結果に合致する候補実体集合を構築するように構成される構築モジュールと、
前記候補実体集合における実体と、前記シーケンスラベリング結果における意味検索部分とを意味マッチングし、意味的関連度が予め設定された閾値よりも高い実体集合を得るように構成されるマッチングモジュールと、
を含む意味検索装置。
【請求項7】
前記ラベリングモジュールは、
クエリ情報を受信し、予め構築された知識グラフと事前トレーニングされたシーケンスラベリングモデルとを用いて、前記クエリ情報に対してシーケンスラベリングを行って第1ラベリング結果を得るように構成されるラベリングサブモジュールと、
前記第1ラベリング結果を修正し、前記シーケンスラベリング結果を取得するように構成される修正サブモジュールと、
を含む請求項6に記載の意味検索装置。
【請求項8】
前記修正サブモジュールは、さらに
自然言語処理による単語分割ツールに基づいて、前記第1ラベリング結果の意味検索部分を単語分割して、第1意味検索部分を得ることと、
自然言語処理による固有名詞識別ツールに基づいて、前記第1意味検索部分に対して固有名詞修正を行って、第2意味検索部分を得ることと、
自然言語処理による係り受け解析ツールに基づいて、前記第1ラベリング結果の知識グラフの既定の情報部分と前記第2意味検索部分における各シーケンスラベリング部分との間の依存関係を判定修正して、第2ラベリング結果を得ることと、
前記知識グラフに基づいて前記第2ラベリング結果を修正して、前記シーケンスラベリング結果を得ることと、
を行うように構成される請求項7に記載の意味検索装置。
【請求項9】
前記マッチングモジュールは、さらに
事前トレーニングされた意味マッチング用ツインタワーモデルに基づいて、前記候補実体集合における実体と前記シーケンスラベリング結果における意味検索部分とを意味マッチングして、前記実体と前記意味検索部分との意味的関連度を得ることと、
前記意味的関連度と予め設定された閾値とを比較して、前記意味的関連度が前記予め設定された閾値よりも高い実体集合を得ることと、
を行うように構成される請求項8に記載の意味検索装置。
【請求項10】
前記事前トレーニングされた意味マッチング用ツインタワーモデルの入力源は、
前記意味検索部分の意味検索語と前記知識グラフの実体情報とを含む、
請求項9に記載の意味検索装置。
【請求項11】
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサと通信可能に接続されたメモリとを備える電子機器であって、
前記メモリには、前記少なくとも1つのプロセッサによって実行可能な指令が格納されており、前記指令が前記少なくとも1つのプロセッサによって実行されるとき、前記少なくとも1つのプロセッサに請求項1~5のいずれか1項に記載の意味検索方法を実行させる、電子機器。
【請求項12】
コンピュータ指令が格納されている非一時的コンピュータ可読記憶媒体であって、
前記コンピュータ指令は前記コンピュータに請求項1~5のいずれか1項に記載の意味検索方法を実行させるために用いられる非一時的コンピュータ可読記憶媒体。
【請求項13】
プロセッサによって実行されるとき、請求項1~5のいずれか1項に記載の意味検索方法が実現されるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本出願の実施形態は、コンピュータ分野に関し、具体的には知識グラフ、深層学習および自然言語処理などの人工知能分野に関し、特に意味検索方法、装置、電子機器、記憶媒体およびコンピュータプログラムに関する。
【背景技術】
【0002】
人工知能の普及と発展に伴い、インターネットの大量情報の中で、ユーザは常に検索エンジンによって所望の情報を検索する必要があるが、現在の検索エンジンの検索効果はあまり理想的ではなく、ユーザのクエリ情報を完全に理解することができない。
【0003】
現在の意味検索方法の多くは、ユーザのクエリ情報を実体名のみを含む情報と見なし、直接ファジー検索してマッチングするか、またはクエリ情報のみを単語分割し、関連性を利用して判定することであり、それにより、ユーザのクエリ情報を正確に理解できず、比較的高いエラー率につながる。
【発明の概要】
【0004】
本出願の実施形態は意味検索方法、装置、電子機器、記憶媒体およびコンピュータプログラムを提供する。
【0005】
第1態様において、本出願の実施形態は、クエリ情報を受信し、予め構築された知識グラフに基づいて、クエリ情報に対してシーケンスラベリングを行って、知識グラフの既定の情報部分と意味検索部分とを含むシーケンスラベリング結果を得ることと、知識グラフに基づいて、シーケンスラベリング結果に合致する候補実体集合を構築することと、候補実体集合における実体をシーケンスラベリング結果における意味検索部分と意味マッチングし、意味的関連度が予め設定された閾値よりも高い実体集合を得ることとを含む意味検索方法を提供する。
【0006】
第2態様において、本出願の実施形態は、クエリ情報を受信し、予め構築された知識グラフに基づいて、クエリ情報に対してシーケンスラベリングを行って、知識グラフの既定の情報部分と意味検索部分とを含むシーケンスラベリング結果を得るように構成されるラベリングモジュールと、知識グラフに基づいて、シーケンスラベリング結果に合致する候補実体集合を構築するように構成される構築モジュールと、候補実体集合における実体をシーケンスラベリング結果における意味検索部分と意味マッチングし、意味的関連度が予め設定された閾値よりも高い実体集合を得るように構成されるマッチングモジュールと、を含む意味検索装置を提供する。
【0007】
第3態様において、少なくとも1つのプロセッサと、前記少なくとも1つのプロセッサと通信可能に接続されたメモリとを備える電子機器であって、メモリには、少なくとも1つのプロセッサによって実行可能な指令が格納されており、前記指令が前記少なくとも1つのプロセッサによって実行されるとき、前記少なくとも1つのプロセッサに第1態様のいずれかの実施形態に記載の意味検索方法を実行させる、電子機器を提供する。
【0008】
第4態様において、コンピュータ指令が格納されている非一時的コンピュータ可読記憶媒体であって、コンピュータ指令はコンピュータに第1態様のいずれかの実施形態に記載の意味検索方法を実行させるために用いられる非一時的コンピュータ可読記憶媒体を提供する。
【0009】
第5態様において、プロセッサによって実行されるとき、第1態様のいずれかの実施形態に記載の意味検索方法が実行されるコンピュータプログラムを提供する。
【0010】
本出願の実施形態に係る意味検索方法、装置、電子機器、記憶媒体およびコンピュータプログラムは、まず、クエリ情報を受信し、予め構築された知識グラフに基づいてクエリ情報に対してシーケンスラベリングを行って、知識グラフの既定の情報部分と意味検索部分とを含むシーケンスラベリング結果を得る。次に、知識グラフに基づいて、シーケンスラベリング結果に合致する候補実体集合を構築する。最後に、候補実体集合における実体とシーケンスラベリング結果における意味検索部分を意味マッチングし、意味的関連度が予め設定された閾値よりも高い実体集合を得る。本出願は知識グラフに基づく意味検索方法を提供し、意味検索の効率と正確率を向上させ、さらにユーザ体験を向上させる。
【0011】
なお、発明の概要に記載された内容は、本出願の実施形態のかなめとなる特徴又は重要な特徴を限定することを意図するものではなく、本出願の範囲を限定するものでもない。本出願の他の特徴は、以下の説明によって容易に理解されるであろう。
【図面の簡単な説明】
【0012】
本出願の他の特徴、目的および利点は、以下の図面を参照してなされる非限定的な実施形態に係る詳細な説明を読むことにより、より明らかになるであろう。図面は本出願をよりよく理解するために用いられ、本出願に対する限定を構成しない。
【
図1】本出願を適用可能な例示的なシステムアーキテクチャを示す図である。
【
図2】本出願に係る意味検索方法の一実施形態を示すフローチャートである。
【
図3】本出願に係る意味検索方法の他の一つの実施形態を示すフローチャートである。
【
図4】
図3に示す意味検索方法の修正ステップの分解フローチャートである。
【
図5】本出願に係る意味検索方法の実装ブロック図である。
【
図7】本出願に係る意味検索装置の一実施形態を示す構造概略図である。
【
図8】本出願の実施形態に係る意味検索方法を実現するための電子機器のブロック図である。
【発明を実施するための形態】
【0013】
以下は、図面を参照して本出願の例示的な実施形態を説明し、ここでは理解に役立つため、本出願の実施形態の様々な詳細が記載されるが、これらは単なる例示的なものに過ぎない。従って、本出願の範囲および要旨を逸脱しない限り、当業者が本明細書の実施形態に対して様々な変更や修正を行うことができることは自明である。なお、以下の説明では、明確化および簡略化のため、公知の機能および構成については説明を省略する。
【0014】
なお、矛盾しない限り、本出願における実施形態および実施形態における特徴を互いに組み合わせることができる。以下、図面を参照しながら実施形態と組み合わせて本出願を詳細に説明する。
【0015】
図1は、本出願に係る意味検索方法または意味検索装置の実施形態が適用可能な例示的なシステムアーキテクチャ100を示している。
【0016】
図1に示すように、システムアーキテクチャ100は、端末装置101、102、103、ネットワーク104、およびサーバ105を含んでもよい。ネットワーク104は、端末装置101、102、103とサーバ105の間で通信リンクを提供するための媒体として使用される。ネットワーク104は、有線、無線通信リンク又は光ファイバケーブルなどの様々なタイプの接続を含んでもよい。
【0017】
ユーザは、メッセージを送受信するために、端末装置101、102、103を使用してネットワーク104を介してサーバ105と情報のやり取りをすることができる。端末装置101、102、103には、検索エンジンなどの様々なクライアントアプリケーションをインストールすることができる。
【0018】
端末装置101、102、103は、ハードウェアであってもよいし、ソフトウェアであってもよい。端末装置101、102、103がハードウェアである場合、様々な電子機器であってもよく、スマートフォン、タブレットコンピュータ、ラップトップコンピュータおよびデスクトップコンピュータなどを含むが、これらに限定されない。端末装置101、102、103がソフトウェアである場合、上記の電子機器にインストールされてもよい。それは、複数のソフトウェア若しくはソフトウェアモジュールとして実現されてもよく、又は単一のソフトウェア若しくはソフトウェアモジュールとして実現されてもよい。ここでは特に限定しない。
【0019】
サーバ105は、様々なサービスを提供できる。例えば、サーバ105は、端末装置101、102、103から取得されたメッセージを解析して処理し、処理結果(例えば、実体集合)を生成することができる。
【0020】
なお、サーバ105は、ハードウェアであってもよいし、ソフトウェアであってもよい。サーバ105がハードウェアである場合、複数のサーバから構成される分散サーバクラスターとしても、単一のサーバとしても実装可能である。サーバ105がソフトウェアである場合、複数のソフトウェア若しくはソフトウェアモジュール(例えば、分散サービスを提供するためのもの)として実装されてもよく、又は単一のソフトウェア若しくはソフトウェアモジュールとして実装されてもよい。ここでは特に限定しない。
【0021】
なお、本出願の実施形態に係る意味検索方法は、通常はサーバ105によって実行され、これに応じて、意味検索装置は、通常はサーバ105に設けられている。
【0022】
図1における端末装置、ネットワークおよびサーバの数は例示的なものに過ぎないことを理解すべきである。実装の必要性に応じて、端末装置、ネットワークおよびサーバの数を任意に加減してもよい。
【0023】
次に、
図2を参照し、本出願に係る意味検索方法の一実施形態のフロー200を示している。該意味検索方法は、次のステップを含む。
【0024】
ステップ201では、クエリ情報を受信し、予め構築された知識グラフに基づいて、クエリ情報に対してシーケンスラベリングを行ってシーケンスラベリング結果を得る。
【0025】
本実施形態において、意味検索方法の実行主体(例えば、
図1に示すサーバ105)は、クエリ情報を受信し、予め構築された知識グラフに基づいてクエリ情報に対してシーケンスラベリングを行って、シーケンスラベリング結果を得ることができ、ここで、シーケンスラベリング結果は知識グラフの既定の情報部分と意味検索部分とを含む。クエリ情報は、ユーザが入力したそのクエリ要求を表現できるあらゆるテキスト情報であってもよく、ユーザが入力したクエリ情報を受信し、予め構築された知識グラフに基づいて、クエリ情報に対してシーケンスラベリングを行う。知識グラフは、異なる実体間の関係および実体の属性を表すデータベースである。知識グラフにおいて、実体をノードとする。実体と実体との間、および実体とそれに対応する値との間はエッジを介して接続され、それにより構造化された、グラフ状のデータベースを構成する。実体(コンセプトともいう)は、実世界に存在または過去に存在した具体的な物質の実体または抽象概念であり、例えば、人物、物品、構造、製品、映像、建築、場所、国家、組織、芸術作品、科学技術、科学定理などが挙げられる。実体と実体との間の接続(エッジ)は、実体間の関係を表し、実体と値との間の接続(エッジ)は実体がその値を持つ属性を表す。知識グラフは、従来の知識グラフ構築方法を用いて構築することができ、例えば、知識グラフニューラルネットワークトレーニングモデルを用いて知識グラフを構築してもよく、本出願はこれを具体的に限定するものではない。例として、事前トレーニングされたシーケンスラベリングモデルを用いてクエリ情報に対してシーケンスラベリングを行い、クエリ情報を知識グラフの既定の情報部分と意味検索部分とにラベリングしてもよい。知識グラフの既定の情報部分は、知識グラフに既に存在する情報であり、例えば、クエリ情報が「Aが演じる野外での生存についての映画の名前は『荒野』以外の部分が何ですか」である場合、知識グラフに基づいて、「A」は実体であり、映画スターA1の別名であり、かつ、ユーザが知っているドメイン(domain)は映画であり、かつ、映画の名前には「荒野」が含まれていることが分かる。意味検索部分は知識グラフの文字列レベルで認識されていない部分であり、後で意味マッチングを行う必要がある情報である。例として、クエリ情報が「Bが役1を演じ、Cが役2を演じ、Nの映画の名前は何ですか」である場合、ここで、Nは映画プロットに対する説明情報であるとすると、BとCはクエリ情報において既に役者(知識グラフの既定の情報)を指定しており、かつBの役は役1(知識グラフの既定の情報)であり、Cが演じる役が役2(知識グラフの既定の情報)であり、かつユーザが探すdomainは映画(知識グラフの既定の情報)であり、かつユーザの質問は映画の名前(知識グラフの既定の情報)であり、意味検索部分(semantic)はNであるため、得られたシーケンスラベリング結果は以下のとおりである:B[starring(主演)]が役1[character(キャラクター)]を演じ、C[starring]が役2[character]を演じ、N[semantic]の映画[domain]は何[expression(説明)]ですか。
【0026】
ステップ202では、知識グラフに基づいて、シーケンスラベリング結果に合致する候補実体集合を構築する。
【0027】
本実施形態において、上記実行主体は、知識グラフに基づいて、シーケンスラベリング結果に合致する候補実体集合を構築することができる。完全な知識グラフ情報に基づいて、シーケンスラベリング結果に対して候補実体集合のスクリーニングを行い、既存の情報に基づいて候補実体集合を最小限に抑え、候補実体集合はシーケンスラベリング結果とより一致するようになり、より正確になる。例として、クエリ情報が「Bが役1を演じ、Cが役2を演じ、Nの映画の名前は何ですか」であり、ここで、Nは映画プロットの説明情報であり、このクエリ情報に対してシーケンスラベリングを行うと、B[starring]が役1[character]を演じ、C[starring]が役2[character]を演じ、N[semantic]の映画[domain]の名前は何ですか[expression]というシーケンスラベリング結果が得られる。検索情報を解析すると、domainが映画である実体を探していることが分かり、知識グラフ情報を利用して、まずdomainが映画である実体の全量集合を探す。続いてBとCが同時にstarring役とする実体の集合を探す。続いてBが実体における役が役1であるか否かを判定し、Bが役1ではない場合、続いてCの役が役2であるか否かを判定し、Cが役2ではない場合、ユーザが入力した役はキャラクターの代称または別名または概念の上位または下位情報であると判定する。そこで知識グラフ概念の上位または下位情報を用いて、Bが演じるのは役3であり、役1は役3の下位、役3は役1の上位(総称)であることが分かるので、Bが演じる役が役3、役1が概念の上位または下位に存在するすべての実体をスクリーニングし、さらに候補実体集合を絞り込む。したがって、役1はある映画の実体のcharacterに完全に等しくないにもかかわらず、ある実体のcharacterが役3、下位が役1であるものが存在するので、候補実体集合のスクリーニングを行うこともできる。しかし、役2については、知識グラフ概念の上位または下位情報を利用して、関連する候補実体集合を絞り込む方法を得ることができず、この場合、シーケンスラベリング結果を修正しなければならない。役2のcharacterをsemanticに修正して、後で意味マッチングを行うしかできない。そして、得られた最終的なシーケンスラベリング結果は、B[starring]が役1[character]を演じ、C[starring]が役2[character]を演じ、[semantic]N[semantic]の映画[domain]は何[expression]ですかというようになる。
【0028】
ステップ203では、候補実体集合における実体とシーケンスラベリング結果における意味検索部分とを意味マッチングし、意味的関連度が予め設定された閾値よりも高い実体集合を得る。
【0029】
本実施形態では、上記実行主体は、候補実体集合における実体とシーケンスラベリング結果における意味検索部分とを意味マッチングし、意味的関連度が予め設定された閾値よりも高い実体集合を得ることができる。ステップ202で既に構築された候補実体集合に基づいて、オフラインで事前トレーニングされた意味マッチングモデルに基づいて、候補実体集合における各実体と、クエリ情報のシーケンスラベリング結果におけるsemantic部分とを順次意味マッチングし、それにより意味的関連度の高い実体集合を選択することができる。例として、クエリ情報が「Bが役1を演じ、Cが役2を演じ、Nの映画は何ですか」である場合、ここで、Nは映画プロットに関する説明情報であり、クエリ情報のシーケンスラベリング結果は、B[starring]が役1[character]を演じ、C[starring]が役2[semantic]を演じ、N[semantic]の映画[domain]は何[expression]ですかであり、ステップ202で得られた候補実体集合に30個の候補実体が含まれると仮定すると、オフラインで事前トレーニングされた意味マッチングモデルを用いて、30個の実体を順にsemantic部分(すなわち「役2」と「N」)と意味マッチングを行い、意味的関連度を計算し、それにより意味的関連度の高い実体または実体集合を得、ここで、意味的関連度は0~1の間の数値であり、数値が高いほど、関連性が高い。
【0030】
本出願の実施形態に係る意味検索方法は、まずクエリ情報を受信し、予め構築された知識グラフに基づいてクエリ情報に対してシーケンスラベリングを行って、シーケンスラベリング結果を得、ここで、シーケンスラベリング結果は知識グラフの既定の情報部分と意味検索部分とを含む。続いて、知識グラフに基づいてシーケンスラベリング結果に合致する候補実体集合を構築する。最後に、候補実体集合における実体とシーケンスラベリング結果における意味検索部分とを意味マッチングし、意味的関連度が予め設定された閾値よりも高い実体集合を得る。本出願は知識グラフに基づく意味検索方法を提供し、ユーザのクエリ情報の複雑な意味を十分に理解することができ、ユーザのクエリ情報を知識グラフの既定の情報部分と意味検索部分に分け、且つ意味検索部分を構築された候補実体集合内の各実体と意味マッチングを行い、意味的関連度が最も高い実体集合を選択して最終結果としてユーザに返信することにより、意味検索の効率と正確率を向上させ、ユーザ体験も向上した。
【0031】
次に、
図3を参照し、本出願に係る意味検索方法の他の一つの実施形態のフロー300を示している。該意味検索方法は、次のステップを含む。
【0032】
ステップ301では、クエリ情報を受信し、予め構築された知識グラフおよび事前トレーニングされたシーケンスラベリングモデルを用いてクエリ情報に対してシーケンスラベリングを行って第1ラベリング結果を得る。
【0033】
本実施形態では、意味検索方法の実行主体は、クエリ情報を受信し、予め構築された知識グラフと事前トレーニングされたシーケンスラベリングモデルを用いてクエリ情報に対してシーケンスラベリングを行って第1ラベリング結果を得、ここで、第1ラベリング結果は知識グラフの既定の情報部分および意味検索部分を含む。ユーザのクエリ情報を知識グラフの既定の情報部分と意味検索部分としてラベリングすることにより、ユーザのクエリ情報の複雑な意味を十分に理解することができるという効果を奏する。
【0034】
オプションとして、予め構築された知識グラフとERNIE+BiLSTM+CRFの事前トレーニングされたシーケンスラベリングモデルを用いてクエリ情報に対してシーケンスラベリングを行い、クエリ情報中の知識グラフの既定の情報部分と意味検索部分とを区別して、第1ラベリング結果を得ることもできる。BiLSTM+CRFは、BiLSTM(Bilateral Long Short-Term Memory,双方向長短期記憶ネットワーク)とCRF(Conditional Random Field,条件付き確率場)を結合したシーケンスラベリングアルゴリズムであり、モデルはCRFのようにシーケンス前後の関連性を考慮することができるだけでなく、LSTMの特徴抽出とフィッティング能力を有することもできる。ERNIE(Enhanced Representation from kNowledge IntEgration)は知識強化に基づく継続学習意味理解フレームワークであり、このフレームワークはビッグデータの事前トレーニングとマルチソース豊富な知識を結合し、継続学習技術により、大量のテキストデータにおける語彙、構造、意味などの知識を絶えず吸収し、モデル効果の進化を実現する。ERNIEは文脈依存の遷移学習モデルであるため、モデル能力がさらに向上する。例として、手動でラベリングされたトレーニングサンプルに基づいて、ERNIE+BiLSTM+CRFの事前トレーニングされたシーケンスラベリングモデルを構築し、クエリ情報中の成分をラベリングすることができる。
【0035】
オプションとして、予め構築された知識グラフとBiLSTM+CRFの事前トレーニングされたシーケンスラベリングモデルを用いて、クエリ情報に対してシーケンスラベリングを行い、クエリ情報中の知識グラフの既定の情報部分と意味検索部分とを区別して、第1ラベリング結果を得ることができる。
【0036】
ステップ302では、第1ラベリング結果を修正してシーケンスラベリング結果を得る。
【0037】
本実施形態では、上記実行主体は第1ラベリング結果を修正して、シーケンスラベリング結果を得ることができる。例として、知識グラフと自然言語処理ツールを用いて第1ラベリング結果を修正し、クエリ情報における各部分をより正確にラベリングし、クエリ情報における知識グラフの既定の情報部分と意味検索部分を区別し、検索が必要な部分のみを検索し、意味検索の範囲を縮小した。例えば、上記のクエリ情報「Aが演じる野外での生存についての映画の名前は『荒野』以外の部分が何ですか」の中の「何ですか」は、実は問題の表現語であり、意味検索を行う必要がある部分ではない。実体が「何ですか」と意味マッチングするか否かについて強制的に検索すると、精度が大幅に低下することがある。あるいは、「A」という別名を全く認識せず、強制的に「A」を用いて実体のプロット情報に意味マッチングを行うと、精度も大幅に低下する。
【0038】
ステップ303では、知識グラフに基づいて、シーケンスラベリング結果に合致する候補実体集合を構築する。
【0039】
本実施形態において、上記実行主体は、知識グラフに基づいて上記シーケンスラベリング結果に合致する候補実体集合を構築することができる。ステップ303は前記実施形態のステップ202に対応し、具体的な実現方式は前記ステップ202の説明を参照することができ、ここでは説明を省略する。
【0040】
ステップ304では、事前トレーニングされた意味マッチング用ツインタワーモデル(semantic matching twin tower model)に基づいて、候補実体集合における実体とシーケンスラベリング結果における意味検索部分とを意味マッチングし、実体と意味検索部分との意味的関連度を得る。
【0041】
本実施形態において、上記実行主体は、事前トレーニングされた意味マッチング用ツインタワーモデルに基づいて候補実体集合における実体とシーケンスラベリング結果における意味検索部分とを意味マッチングし、実体と意味検索部分との意味的関連度を得ることができる。候補実体集合における実体とシーケンスラベリング結果におけるsemantic部分を事前トレーニングされた意味マッチング用ツインタワーモデルに入力し、候補実体集合における各実体とsemantic部分との意味的関連度を得、それによって意味検索の関連性マッチングという問題を解決する。一例として、意味検索部分の意味検索語と候補実体集合における実体情報とを、ERNIE+SIAMESE+POINTWISE+LSTMの事前トレーニングされた意味マッチングモデルに入力して、意味検索語と候補実体集合における実体との意味的関連度を得ることができる。SIAMESEネットワークは二つの入力を受信することができ、POINTWISEは一般的な畳み込み方式であり、ERNIE、SIAMESE、POINTWISEおよびLSTM(Long Short-Term Memory、長期短期記憶ネットワーク)を結合して事前トレーニングされた意味マッチングモデルを構築し、意味検索語と候補実体集合における各実体とを入力することで、意味検索語と候補実体集合における各実体との意味的関連度という出力結果を得ることができる。
【0042】
本実施形態のいくつかのオプション的な実施形態において、事前トレーニングされた意味マッチング用ツインタワーモデルの入力源は、意味検索部分の意味検索語と、知識グラフの実体情報とを含み、ここで、知識グラフの実体情報は、実体プロット記述と、実体記述性ラベルとを含む。
【0043】
ステップ305では、意味的関連度と予め設定された閾値とを比較し、意味的関連度が予め設定された閾値よりも高い実体集合を得る。
【0044】
本実施形態において、上記実行主体は、意味的関連度と予め設定された閾値とを比較して、意味的関連度が予め設定された閾値よりも高い実体集合を得ることができる。意味的関連度が0から1の間の値であるので、一例として、閾値を0.9に設定することができ、すなわち、semantic部分の各意味検索語との関連度が0.9以上である実体を選択し、その実体とすべての意味検索語との関連度の平均値を計算し、その平均値をその実体の最終スコアとしてもよい。
【0045】
本出願の実施形態に係る意味検索方法は、まずクエリ情報を受信し、予め構築された知識グラフと事前トレーニングされたシーケンスラベリングモデルを用いて、クエリ情報に対してシーケンスラベリングを行って第1ラベリング結果を得る。第1ラベリング結果を修正し、シーケンスラベリング結果を得る。次に、知識グラフに基づいてシーケンスラベリング結果に合致する候補実体集合を構築する。その後、事前トレーニングされた意味マッチング用ツインタワーモデルに基づいて、候補実体集合における実体とシーケンスラベリング結果における意味検索部分とを意味マッチングし、実体と意味検索部分との意味的関連度を得る。最後に、意味的関連度と予め設定された閾値とを比較し、意味的関連度が予め設定された閾値よりも高い実体集合を得る。本出願の実施形態に係る意味検索方法は、シーケンスラベリング結果の意味検索部分と候補実体集合における各実体とを意味マッチングすることにより、意味的関連度が最も高い実体集合を得ることができ、ユーザの検索意図を十分に理解し、且つ意味検索の正確率が向上され、ユーザ体験が向上された。
【0046】
次に、
図3に示す意味検索方法の修正ステップの分解フロー400を示す
図4を参照する。この修正ステップは以下のように分解され得る。
【0047】
ステップ401では、自然言語処理による単語分割ツールに基づいて第1ラベリング結果の意味検索部分を単語分割し、第1意味検索部分を得る。
【0048】
本実施形態では、自然言語処理(Natural Language Processing,NLP)による単語分割ツールを用いて第1ラベリング結果のsemantic部分を単語分割し、第1意味検索部分を得ることができる。単語分割は、semantic意味検索部分をよりよく理解し、semantic意味検索部分と実体との意味マッチングをより正確にするためであり、そうでなければ文字列が長すぎて、意味情報に偏りがある。
【0049】
ステップ402では、自然言語処理による固有名詞識別ツール(NLP proper noun recognition tool)に基づいて第1意味検索部分に対して固有名詞修正を行い、第2意味検索部分を得る。
【0050】
本実施形態では、NLPによる固有名詞識別ツールを用いて、ステップ401で単語分割されたsemantic意味検索部分に固有名詞修正を行い、単語分割ツールが固有名詞部分をバラバラに分割して意味マッチング効果に影響を与えることを防止する。
【0051】
ステップ403では、自然言語処理による係り受け解析ツール(NLP dependency parsing tool)に基づいて、第1ラベリング結果の知識グラフの既定の情報部分と第2意味検索部分における各シーケンスラベリング部分との間の依存関係を判定して修正し、第2ラベリング結果を得る。
【0052】
本実施形態では、NLPによる係り受け解析ツールを用いて、クエリ情報における各シーケンスラベリング部分の間の依存関係を判定し、すなわち第1ラベリング結果の知識グラフの既定の情報部分と第2意味検索部分における各シーケンスラベリング部分との間の依存関係を判定修正し、それにより第2ラベリング結果を得、ラベリング結果の精度がいっそう向上される。例えば、クエリ情報が「Bが役1を演じ、Cが役2を演じ、Nの映画の名前は何ですか」である場合、シーケンスラベリング結果は、B[person]が役1[character]を演じ、C[person]が役2[character]を演じたN[semantic]の映画[domain]は何ですか[expression]となる。NLPによる係り受け解析ツールに基づいて依存関係(ノード間の依存関係)を判定し、「役1を演じ」が「B」を修飾し、「役2を演じ」が「C」を修飾していることを発見したので、「B」と「C」の2つのpersonは必ず役者(starring)であり、映画監督や映画脚本家などではない。そこでシーケンスラベリング結果を引き続き修正し、B[starring]が役1[character]を演じ、C[starring]が役2[character]を演じたN[semantic]の映画[domain]は何ですか[expression]という第2ラベリング結果を得た。
【0053】
ステップ404では、知識グラフに基づいて第2ラベリング結果を修正し、シーケンスラベリング結果を得る。
【0054】
本実施形態では、知識グラフを用いて第2ラベリング結果を修正し、最終的なシーケンスラベリング結果を得る。知識グラフが完全な情報を有するため、第2ラベリング結果における既存のラベリング情報を修正することで、シーケンスラベリングをマップ化し、それによりシーケンスラベリング結果はより正確になる。例えば、クエリ情報が「Dの文芸映画」である場合、シーケンスラベリング結果は、D[person]の文芸[semantic]映画[domain]である。知識グラフ情報に基づいて、Dはdomainが「映画」の分野で、人personとして映画監督、映画脚本家、役者の3種類の身分があり、かつクエリ情報にDが映画監督であることが強制指定されていないことが判明したため、修正を行い、D[director(映画監督)/writing_credits(映画脚本家)/starring]の文芸[semantic]映画[domain]という最終的なシーケンスラベリング結果を得た。
【0055】
本出願の実施形態に係る修正方法は、まず、自然言語処理による単語分割ツールに基づいて第1ラベリング結果の意味検索部分を単語分割し、第1意味検索部分を得る。次に、自然言語処理による固有名詞識別ツールに基づいて第1意味検索部分に対して固有名詞修正を行って、第2意味検索部分を得る。次に、自然言語処理による係り受け解析ツールに基づいて第1ラベリング結果の知識グラフの既定の情報部分と第2意味検索部分における各シーケンスラベリング部分との間の依存関係を判定して修正し、第2ラベリング結果を得る。最後に、知識グラフに基づいて第2ラベリング結果を修正して、シーケンスラベリング結果を得る。シーケンスラベリング結果を修正する方法を提供し、NLPツールを用いてシーケンスラベリング結果における意味検索部分に対して単語分割と固有名詞識別を行うことにより、意味マッチングの効果と正確率が向上され、且つ知識グラフを用いて既存のシーケンスラベリング情報を修正することにより、シーケンスラベリングをマップ化し、ラベリング結果の正確性が向上された。
【0056】
次に、本出願の意味検索方法の実現ブロック図である
図5を参照する。
図5に示すように、ユーザはクエリ情報queryを入力し、事前トレーニングされたシーケンスラベリングモデル(ERNIE+BiLSTM+CRF)を用いてクエリ情報に対してシーケンスラベリングを行い、ラベリング結果は知識グラフの既定の情報部分と意味検索部分とを含み、ここで、事前トレーニングされたシーケンスラベリングモデルは、トレーニングサンプルを手動ラベリングによってトレーニングして、微調整したものである。一方で、NLPによる単語分割ツール、NLPによる固有名詞識別ツールおよびNLPによる係り受け解析ツールを利用して知識グラフの既定の情報部分を処理し、さらに知識グラフに基づいて知識グラフの既定の情報部分を修正し、かつシーケンスラベリング結果に合致する候補実体集合を構築する。他方では、意味検索部分の意味検索語と知識グラフの実体知識情報とを、事前トレーニングされた意味マッチングモデル(ERNIE+SIAMESE+POINTWISE+LSTM)に入力し、EMBEDDING層(埋め込み層)、LSTM層およびDENSE層(全結合層)を経て、そのManhattan(マンハッタン距離)またはCosine(コサイン類似度)を計算することにより、意味検索部分の意味検索語と、候補実体集合の実体との意味的関連度を得、意味的関連度に基づいて候補実体集合をスクリーニングし、最終的な実体集合を得る。
【0057】
次に、意味検索方法の応用シーンを示す図である
図6を参照する。
図6に示すように、ユーザは端末装置601にクエリ情報「XXXXXXXXXX」を入力し、且つクリックして検索し、サーバ602は端末装置にユーザが入力したクエリ情報を取得し、且つ予め構築された知識グラフによってクエリ情報に対してシーケンスラベリングを行い、知識グラフの既定の情報部分と意味検索部分とを含むシーケンスラベリング結果を得、且つ知識グラフに基づいてシーケンスラベリング結果に合致する候補実体集合を構築し、最後に候補実体集合における実体とシーケンスラベリング結果における意味検索部分とを意味マッチングし、意味的関連度が予め設定された閾値よりも高い実体集合を得、且つ該実体集合をユーザに返信し、且つ端末装置601に表示し、ここで、実体集合に1つ又は複数の実体、例えば実体1、実体2、実体3などを含んでもよい。
【0058】
さらに
図7を参照すると、上記の図に示された方法の実施態様として、本出願は、意味検索装置の一実施形態を提供し、該装置の実施形態は、
図2に示された方法の実施形態に対応しており、該装置は、具体的に様々な電子機器に適用することができる。
【0059】
図7に示すように、本実施形態の意味検索装置700は、ラベリングモジュール701、構築モジュール702およびマッチングモジュール703を備えてもよい。ここで、ラベリングモジュール701は、クエリ情報を受信し、予め構築された知識グラフに基づいて、クエリ情報に対してシーケンスラベリングを行って、知識グラフの既定の情報部分と意味検索部分とを含むシーケンスラベリング結果を得るように構成される。構築モジュール702は、知識グラフに基づいて、シーケンスラベリング結果に合致する候補実体集合を構築するように構成される。マッチングモジュール703は、候補実体集合における実体をシーケンスラベリング結果における意味検索部分と意味マッチングし、意味的関連度が予め設定された閾値よりも高い実体集合を得るように構成される。
【0060】
本実施形態において、意味検索装置700は、ラベリングモジュール701、構築モジュール702およびマッチングモジュール703の具体的な処理およびそれらの技術効果は、それぞれ
図2の対応する実施形態におけるステップ201~203の関連する説明を参照することができ、ここで説明を省略する。
【0061】
本実施形態のいくつかのオプション的な実施形態において、ラベリングモジュールは、クエリ情報を受信し、予め構築された知識グラフと事前トレーニングされたシーケンスラベリングモデルとを用いて、前記クエリ情報に対してシーケンスラベリングを行って第1ラベリング結果を得るように構成されるラベリングサブモジュールと、前記第1ラベリング結果を修正し、前記シーケンスラベリング結果を取得するように構成される修正サブモジュールと、を含む。
【0062】
本実施形態のいくつかのオプション的な実施形態において、修正サブモジュールは、さらに自然言語処理による単語分割ツールに基づいて、第1ラベリング結果の意味検索部分を単語分割して、第1意味検索部分を得ることと、自然言語処理による固有名詞識別ツールに基づいて、第1意味検索部分に対して固有名詞修正を行って、第2意味検索部分を得ることと、自然言語処理による係り受け解析ツールに基づいて、第1ラベリング結果の知識グラフの既定の情報部分と第2意味検索部分における各シーケンスラベリング部分との間の依存関係を判定修正して、第2ラベリング結果を得ることと、知識グラフに基づいて第2ラベリング結果を修正して、シーケンスラベリング結果を得ることと、を行うように構成される。
【0063】
本実施形態のいくつかのオプション的な実施形態において、マッチングモジュールは、さらに事前トレーニングされた意味マッチング用ツインタワーモデルに基づいて、候補実体集合における実体とシーケンスラベリング結果における意味検索部分とを意味マッチングして、実体と意味検索部分との意味的関連度を得ることと、意味的関連度と予め設定された閾値とを比較して、意味的関連度が予め設定された閾値よりも高い実体集合を得ることと、を行うように構成される。
【0064】
本実施形態のいくつかのオプション的な実施形態において、事前トレーニングされた意味マッチング用ツインタワーモデルの入力源は、意味検索部分の意味検索語と、知識グラフの実体情報とを含む。
【0065】
本出願の実施形態によれば、本出願はさらに電子機器、コンピュータ可読記憶媒体およびコンピュータプログラムを提供する。
【0066】
図8は、本出願の実施形態を実施するために使用できる例示的な電子装置800の概略ブロック図を示している。電子機器は、ラップトップコンピュータ、デスクトップコンピュータ、ワークステーション、パーソナルデジタルアシスタント、サーバ、ブレード型サーバ、メインフレームコンピュータおよびその他の適切なコンピュータ等の様々な形態のデジタルコンピュータを表す。また、電子機器は、個人デジタル処理、携帯電話、スマートフォン、ウェアラブル機器およびその他の類似するコンピューティングデバイス等の様々な形態のモバイルデバイスを表すことができる。なお、ここで示したコンポーネント、それらの接続関係、およびそれらの機能はあくまでも一例であり、ここで記述および/または要求した本出願の実施形態を限定することを意図するものではない。
【0067】
図8に示すように、電子機器800は、読み出し専用メモリ(ROM)802に記憶されているコンピュータプログラム又は記憶ユニット808からランダムアクセスメモリ(RAM)803にロードされたコンピュータプログラムによって様々な適当な動作および処理を実行することができる計算ユニット801を備える。RAM803には、電子機器800の動作に必要な様々なプログラムおよびデータがさらに格納されることが可能である。計算ユニット801、ROM802およびRAM803は、バス804を介して互いに接続されている。入/出力(I/O)インターフェース805もバス804に接続されている。
【0068】
装置800において、キーボード、マウスなどの入力ユニット806と、様々なタイプのディスプレイ、スピーカなどの出力ユニット807と、磁気ディスク、光ディスクなどの記憶ユニット808と、ネットワークカード、モデム、無線通信送受信機などの通信ユニット809とを備える複数のコンポーネントは、I/Oインターフェース805に接続されている。通信ユニット809は、電子機器800がインターネットなどのコンピュータネットワークおよび/又は様々な電気通信ネットワークを介して他の装置と情報又はデータのやりとりを可能にする。
【0069】
計算ユニット801は、処理および計算能力を有する様々な汎用および/又は専用処理コンポーネントであってもよい。計算ユニット801のいくつかの例としては、中央処理ユニット(CPU)、グラフィックス処理ユニット(GPU)、様々な専用人工知能(AI)計算チップ、機械学習モデルアルゴリズムを実行する様々な計算ユニット、デジタル信号プロセッサ(DSP)、および任意の適切なプロセッサ、コントローラ、マイクロコントローラなどを含むが、これらに限定されない。計算ユニット801は、上述した意味検索方法のような様々な方法および処理を実行する。例えば、いくつかの実施形態では、意味検索方法は、記憶ユニット808などの機械可読媒体に有形に含まれるコンピュータソフトウェアプログラムとして実現されてもよい。いくつかの実施形態では、コンピュータプログラムの一部又は全部は、ROM802および/又は通信ユニット809を介して電子機器800にロードおよび/又はインストールされてもよい。コンピュータプログラムがRAM803にロードされ、計算ユニット801によって実行されると、上述の意味検索方法の1つまたは複数のステップを実行可能である。あるいは、他の実施形態では、計算ユニット801は、他の任意の適切な形態によって(例えば、ファームウェアによって)意味検索方法を実行するように構成されていてもよい。
【0070】
ここで説明するシステムおよび技術の様々な実施形態はデジタル電子回路システム、集積回路システム、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、特定用途向け標準製品(ASSP)、システムオンチップ(SOC)、コンプレックスプログラマブルロジックデバイス(CPLD)、コンピュータハードウェア、ファームウェア、ソフトウェア、および/又はそれらの組み合わせにおいて実現することができる。これらの各実施形態は、1つ又は複数のコンピュータプログラムに実装され、該1つ又は複数のコンピュータプログラムは少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステムにおいて実行および/又は解釈することができ、該プログラマブルプロセッサは専用又は汎用プログラマブルプロセッサであってもよく、記憶システム、少なくとも1つの入力装置および少なくとも1つの出力装置からデータおよび指令を受信することができ、且つデータおよび指令を該記憶システム、該少なくとも1つの入力装置および該少なくとも1つの出力装置に伝送することを含み得る。
【0071】
本出願の方法を実施するためのプログラムコードは、1つまたは複数のプログラミング言語のあらゆる組み合わせで作成することができる。これらのプログラムコードは、汎用コンピュータ、専用コンピュータ、または他のプログラム可能なデータ処理装置のプロセッサまたはコントローラに提供されることができ、これらのプログラムコードがプロセッサまたはコントローラによって実行されると、フローチャートおよび/またはブロック図に規定された機能または動作が実施される。プログラムコードは、完全にデバイス上で実行されることも、部分的にデバイス上で実行されることも、スタンドアロンソフトウェアパッケージとして部分的にデバイス上で実行されながら部分的にリモートデバイス上で実行されることも、または完全にリモートデバイスもしくはサーバ上で実行されることも可能である。
【0072】
本出願のコンテキストでは、機械可読媒体は、有形の媒体であってもよく、命令実行システム、装置またはデバイスが使用するため、または命令実行システム、装置またはデバイスと組み合わせて使用するためのプログラムを含むか、または格納することができる。機械可読媒体は、機械可読信号媒体または機械可読記憶媒体であり得る。機械可読媒体は、電子的、磁気的、光学的、電磁的、赤外線の、または半導体のシステム、装置または機器、またはこれらのあらゆる適切な組み合わせを含むことができるが、これらに限定されない。機械可読記憶媒体のより具体的な例には、1本または複数本のケーブルに基づく電気的接続、携帯型コンピュータディスク、ハードディスク、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、消去可能プログラマブル読み取り専用メモリ(EPROMまたはフラッシュメモリ)、光ファイバ、コンパクトディスク読み取り専用メモリ(CD-ROM)、光学記憶装置、磁気記憶装置、またはこれらのあらゆる適切な組み合わせが含まれ得る。
【0073】
ユーザとのインタラクションを提供するために、ここで説明するシステムと技術は、ユーザに情報を表示するための表示装置(例えば、陰極線管(CathodeRayTube,CRT)またはLCD(液晶ディスプレイ)モニタ)と、キーボードおよびポインティングデバイス(例えば、マウスまたはトラックボール)とを備えるコンピュータ上で実装することができ、ユーザが該キーボードおよび該ポインティングデバイスを介してコンピュータに入力を提供できる。他の種類の装置もユーザとのやりとりを行うことに用いることができる。例えば、ユーザに提供されるフィードバックは、例えば、視覚フィードバック、聴覚フィードバック、又は触覚フィードバックであるいかなる形態のセンシングフィードバックであってもよく、且つ音入力、音声入力若しくは触覚入力を含むいかなる形態でユーザからの入力を受信してもよい。
【0074】
ここで説明したシステムおよび技術は、バックグラウンドコンポーネントを含むコンピューティングシステム(例えば、データサーバ)に実施されてもよく、又はミドルウェアコンポーネントを含むコンピューティングシステム(例えば、アプリケーションサーバ)に実施されてもよく、又はフロントエンドコンポーネントを含むコンピューティングシステム(例えば、グラフィカルユーザインタフェース又はウェブブラウザを有するユーザコンピュータ)に実施されてもよく、ユーザは該グラフィカルユーザインタフェース又はウェブブラウザを介してここで説明したシステムおよび技術の実施形態とインタラクションしてもよく、又はこのようなバックグラウンドコンポーネント、ミドルウェアコンポーネント又はフロントエンドコンポーネントのいずれかの組み合わせを含むコンピューティングシステムに実施されてもよい。また、システムの各コンポーネントの間は、通信ネットワーク等の任意の形態または媒体を介してデジタルデータ通信により接続されていてもよい。通信ネットワークとしては、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)およびインターネットなどを含む。
【0075】
コンピュータシステムは、クライアントとサーバとを含んでもよい。クライアントとサーバは、通常、互いに離れており、通信ネットワークを介してやりとりを行う。クライアントとサーバとの関係は、互いにクライアント-サーバの関係を有するコンピュータプログラムをそれぞれのコンピュータ上で動作することによって生成される。
【0076】
なお、上述した様々な形態のフローを用いて、ステップを改めて並び替え、追加または削除を行うことができる。例えば、本出願に記載された各ステップは、本出願に開示された技術方案の所望の結果が達成できる限り、並行して実行されてもよく、順番に実行されてもよく、異なる順番で実行されてもよい。本明細書はここで制限しない。
【0077】
上記具体的な実施形態は、本出願の保護範囲を限定するものではない。当業者であれば、設計要件および他の要因に応じて、様々な修正、組み合わせ、副次的な組み合わせ、および置換を行うことができることを理解すべきである。本出願の趣旨および原理を逸脱せずに行われたあらゆる修正、均等な置換および改善などは、いずれも本出願の保護範囲内に含まれるべきである。
【外国語明細書】