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

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

▶ ベイジン バイドゥ ネットコム サイエンス アンド テクノロジー カンパニー リミテッドの特許一覧

特開2022-117941イメージ検索方法、装置、電子機器、及びコンピュータ読み取り可能な記憶媒体
<>
  • 特開-イメージ検索方法、装置、電子機器、及びコンピュータ読み取り可能な記憶媒体 図1
  • 特開-イメージ検索方法、装置、電子機器、及びコンピュータ読み取り可能な記憶媒体 図2
  • 特開-イメージ検索方法、装置、電子機器、及びコンピュータ読み取り可能な記憶媒体 図3
  • 特開-イメージ検索方法、装置、電子機器、及びコンピュータ読み取り可能な記憶媒体 図4
  • 特開-イメージ検索方法、装置、電子機器、及びコンピュータ読み取り可能な記憶媒体 図5
  • 特開-イメージ検索方法、装置、電子機器、及びコンピュータ読み取り可能な記憶媒体 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022117941
(43)【公開日】2022-08-12
(54)【発明の名称】イメージ検索方法、装置、電子機器、及びコンピュータ読み取り可能な記憶媒体
(51)【国際特許分類】
   G06F 16/583 20190101AFI20220804BHJP
   G06F 16/90 20190101ALI20220804BHJP
【FI】
G06F16/583
G06F16/90 100
【審査請求】有
【請求項の数】17
【出願形態】OL
(21)【出願番号】P 2022001841
(22)【出願日】2022-01-07
(31)【優先権主張番号】202110136576.0
(32)【優先日】2021-02-01
(33)【優先権主張国・地域又は機関】CN
(71)【出願人】
【識別番号】514322098
【氏名又は名称】ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド
【氏名又は名称原語表記】Beijing Baidu Netcom Science Technology Co., Ltd.
【住所又は居所原語表記】2/F Baidu Campus, No.10, Shangdi 10th Street, Haidian District, Beijing 100085, China
(74)【代理人】
【識別番号】110000877
【氏名又は名称】龍華国際特許業務法人
(72)【発明者】
【氏名】リ、ヨン
(72)【発明者】
【氏名】ツァオ、イチェン
(72)【発明者】
【氏名】リ、ルイ
【テーマコード(参考)】
5B175
【Fターム(参考)】
5B175DA02
5B175EA01
5B175HA01
(57)【要約】      (修正有)
【課題】キーワードを使わずにユーザが必要とするイメージを便利、かつ、正確に検索するイメージ検索方法、装置、電子機器及びコンピュータ読み取り可能な記憶媒体を提供する。
【解決手段】方法は、検索待ちのイメージセットの中のイメージの特徴を取得し、取得された特徴に基づいて決定木を生成し、決定木の中のノードに対応する問題をそれぞれ配置し101、ユーザのイメージ検索要求を受信した場合、配置された問題に基づいてユーザに質問し、ユーザの回答を組み合わせて、決定木から一つの最適パスを選択し、最適パス上のリーフノードに対応するイメージを検索されたイメージとする102。
【選択図】図1
【特許請求の範囲】
【請求項1】
イメージ検索方法であって、
検索待ちのイメージセットの中のイメージの特徴を取得し、前記特徴に基づいて決定木を生成し、前記決定木の中のノードに対応する問題をそれぞれ配置するステップと、
ユーザのイメージ検索要求を受信した場合、前記問題に基づいてユーザに質問し、前記ユーザの回答を組み合わせて、前記決定木から一つの最適パスを選択し、前記最適パス上のリーフノードに対応するイメージを検索されたイメージとするステップと、を含む、
イメージ検索方法。
【請求項2】
前記決定木から一つの最適パスを選択するステップは、前記決定木内のルートノードを現在のノードとし、第1の処理を実行するステップを含み、
前記第1の処理は、
前記現在のノードに対応する問題に従って前記ユーザに質問し、
前記ユーザの回答を取得し、前記現在のノードのサブノードから前記回答にマッチングするサブノードを決定し、
前記マッチングするサブノードがリーフノードであると決定された場合、前記ルートノードから前記リーフノードまでのパスを前記最適パスとし、前記マッチングするサブノードが前記リーフノードではないと決定された場合、前記マッチングするサブノードを前記現在のノードとし、前記第1の処理を繰り返し実行する、処理である、
請求項1に記載のイメージ検索方法。
【請求項3】
前記特徴に基づいて決定木を生成するステップは、
前記特徴に基づいて、所定の特徴選択基準に従って、前記決定木を生成するステップを含み、
前記所定の特徴選択基準は、情報利得を含み、
又は、前記所定の特徴選択基準は、情報利得比を含み、
又は、前記所定の特徴選択基準は、ジニ係数を含み、
又は、前記所定の特徴選択基準は、前記情報利得及び前記情報利得比を含み、
又は、前記所定の特徴選択基準は、前記情報利得、前記情報利得比、及び前記ジニ係数を含む、
請求項1または2に記載のイメージ検索方法。
【請求項4】
前記所定の特徴選択基準が前記情報利得及び前記情報利得比を含む場合、前記決定木を生成するステップは、
ルートノードを現在のノードとし、前記検索待ちのイメージセットを前記現在のノードに対応するデータセットとし、取得されたイメージの特徴で構成された特徴セットを前記現在のノードに対応する特徴セットとし、第2の処理を実行するステップを含み、
前記第2の処理は、
前記情報利得及び前記情報利得比を組み合わせて、前記現在のノードに対応する特徴セットから一つの最適な特徴を選択し、前記最適な特徴に対応する異なる特徴値について、対応するノードをそれぞれ確立し、確立されたノードを前記現在のノードのサブノードとし、
前記現在のノードの各サブノードについて、それぞれ前記現在のノードに対応するデータセットから前記サブノードにマッチングするデータを選択し、前記サブノードに対応するデータセットを構成し、前記マッチングするデータは、前記最適な特徴の特徴値が前記サブノードに対応する特徴値であるデータであり、
前記最適な特徴を前記現在のノードに対応する特徴セットから削除し、更新後の特徴セットを取得し、
前記現在のノードの各サブノードについて、前記サブノードがリーフノードであると決定された場合、前記サブノードに対する処理を終了し、前記サブノードがリーフノードではないと決定された場合、前記サブノードを前記現在のノードとし、前記更新後の特徴セットを前記現在のノードに対応する特徴セットとし、前記ルートノードから開始するすべてのパス上の最後一つのノードがいずれもリーフノードであるまで、前記第2の処理を繰り返して実行する、処理である、
請求項3に記載のイメージ検索方法。
【請求項5】
前記所定の特徴選択基準が前記情報利得、前記情報利得比、及び前記ジニ係数を含む場合、前記決定木を生成するステップは、
ルートノードを現在のノードとし、前記検索待ちのイメージセットを前記現在のノードに対応するデータセットとし、取得されたイメージの特徴で構成された特徴セットを前記現在のノードに対応する特徴セットとし、第3の処理を実行するステップを含み、
前記第3の処理は、
前記情報利得及び前記情報利得比を組み合わせて、前記現在のノードに対応する特徴セットから一つの最適な特徴を選択し、前記ジニ係数により、前記最適な特徴に対応する各特徴値からM(Mは前記最適な特徴に対応する特徴値の数より小さい正の整数である)個の特徴値を選択し、選択されていない特徴値を他の特徴値とし、前記他の特徴値を一つの全体として、前記M個の特徴値及び前記他の特徴値に対応するノードをそれぞれ確立し、確立されたM+1個のノードを前記現在のノードのサブノードとし、
前記現在のノードの各サブノードについて、それぞれ前記現在のノードに対応するデータセットから前記サブノードにマッチングするデータを選択し、前記サブノードに対応するデータセットを構成し、前記マッチングするデータは、前記最適な特徴の特徴値が前記サブノードに対応する特徴値であるデータであり、
前記最適な特徴を前記現在のノードに対応する特徴セットから削除し、更新後の特徴セットを取得し、
前記現在のノードの各サブノードについて、前記サブノードが前記リーフノードであると決定された場合、前記サブノードに対する処理を終了し、前記サブノードが前記リーフノードではないと決定された場合、前記サブノードを前記現在のノードとし、前記更新後の特徴セットを前記現在のノードに対応する特徴セットとして、前記ルートノードから開始するすべてのパス上の最後一つのノードがいずれも前記リーフノードであるまで、前記第3の処理を繰り返して実行する、処理である、
請求項3または4に記載のイメージ検索方法。
【請求項6】
前記情報利得及び前記情報利得比を組み合わせて、前記現在のノードに対応する特徴セットから一つの最適な特徴を選択するステップは、
前記現在のノードに対応する特徴セット内の各特徴が前記現在のノードに対応するデータセットに対する情報利得をそれぞれ取得するステップと、
取得された各情報利得の平均値を計算し、前記現在のノードに対応する特徴セットの各特徴から対応する情報利得が前記平均値より大きい特徴を選択するステップと、
選択された各特徴が前記現在のノードに対応するデータセットに対する情報利得比をそれぞれ取得するステップと、
情報利得比が最大の特徴を前記最適な特徴とするステップと、を含む、
請求項5に記載のイメージ検索方法。
【請求項7】
前記ジニ係数により、前記最適な特徴に対応する各特徴値からM個の特徴値を選択するステップは、
前記最適な特徴に対応する各特徴値が前記現在のノードに対応するデータセットに対するジニ係数をそれぞれ取得するステップと、
取得された各ジニ係数を小さい順にソートし、ソート後の前のM位にあるジニ係数を選択するステップと、
選択されたM個のジニ係数に対応する特徴値を前記最適な特徴に対応する各特徴値から選択されたM個の特徴値とするステップと、を含む、
請求項5または6に記載のイメージ検索方法。
【請求項8】
イメージ検索装置であって、
前処理モジュールと検索モジュールを含み、
前記前処理モジュールは、検索待ちのイメージセットの中のイメージの特徴を取得し、前記特徴に基づいて決定木を生成し、前記決定木の中のノードに対応する問題をそれぞれ配置するために用いられ、
前記検索モジュールは、ユーザのイメージ検索要求を受信した場合、前記問題に基づいてユーザに質問し、前記ユーザの回答を組み合わせて、前記決定木から一つの最適パスを選択し、前記最適パス上のリーフノードに対応するイメージを検索されたイメージとするために用いられる、
イメージ検索装置。
【請求項9】
前記検索モジュールは、前記決定木内のルートノードを現在のノードとし、第1の処理を実行し、
前記第1の処理は、
前記現在のノードに対応する問題に従って前記ユーザに質問し、前記ユーザの回答を取得し、前記現在のノードのサブノードから前記回答にマッチングするサブノードを決定し、前記マッチングするサブノードがリーフノードであると決定された場合、前記ルートノードの開始から前記リーフノードの終了までのパスを前記最適パスとし、前記マッチングするサブノードがリーフノードではないと決定された場合、前記マッチングするサブノードを前記現在のノードとし、前記第1の処理を繰り返し実行する、処理である、
請求項8に記載のイメージ検索装置。
【請求項10】
前記前処理モジュールは、前記特徴に基づいて、所定の特徴選択基準に従って、前記決定木を生成し、
前記所定の特徴選択基準は、情報利得を含み、
又は、前記所定の特徴選択基準は、情報利得比を含み、
又は、前記所定の特徴選択基準は、ジニ係数を含み、
又は、前記所定の特徴選択基準は、前記情報利得及び前記情報利得比を含み、
又は、前記所定の特徴選択基準は、前記情報利得、前記情報利得比、及び前記ジニ係数を含む、
請求項8または9に記載のイメージ検索装置。
【請求項11】
前記所定の特徴選択基準が前記情報利得及び前記情報利得比を含む場合、前記前処理モジュールは、ルートノードを現在のノードとし、前記検索待ちのイメージセットを前記現在のノードに対応するデータセットとし、取得されたイメージの特徴で構成された特徴セットを前記現在のノードに対応する特徴セットとし、第2の処理を実行し、
前記第2の処理は、
前記情報利得及び前記情報利得比を組み合わせて、前記現在のノードに対応する特徴セットから一つの最適な特徴を選択し、前記最適な特徴に対応する異なる特徴値について、対応するノードをそれぞれ確立し、確立されたノードを前記現在のノードのサブノードとし、前記現在のノードの各サブノードについて、それぞれ前記現在のノードに対応するデータセットから前記サブノードにマッチングするデータを選択し、前記サブノードに対応するデータセットを構成し、前記マッチングするデータは、前記最適な特徴の特徴値が前記サブノードに対応する特徴値であるデータであり、前記最適な特徴を前記現在のノードに対応する特徴セットから削除し、更新後の特徴セットを取得し、前記現在のノードの各サブノードについて、前記サブノードがリーフノードであると決定された場合、前記サブノードに対する処理を終了し、前記サブノードがリーフノードではないと決定された場合、前記サブノードを前記現在のノードとし、前記更新後の特徴セットを前記現在のノードに対応する特徴セットとし、前記ルートノードから開始するすべてのパス上の最後一つのノードがいずれもリーフノードであるまで、前記第2の処理を繰り返して実行する、処理である、
請求項10に記載のイメージ検索装置。
【請求項12】
前記所定の特徴選択基準が前記情報利得、前記情報利得比、及び前記ジニ係数を含む場合、前記前処理モジュールは、ルートノードを現在のノードとし、前記検索待ちのイメージセットを前記現在のノードに対応するデータセットとし、取得されたイメージの特徴で構成された特徴セットを前記現在のノードに対応する特徴セットとし、第3の処理を実行し、
前記第3の処理は、
前記情報利得及び前記情報利得比を組み合わせて、前記現在のノードに対応する特徴セットから一つの最適な特徴を選択し、前記ジニ係数により、前記最適な特徴に対応する各特徴値からM(Mは前記最適な特徴に対応する特徴値の数より小さい正の整数である)個の特徴値を選択し、選択されていない特徴値を他の特徴値とし、前記他の特徴値を一つの全体として、前記M個の特徴値及び前記他の特徴値に対応するノードをそれぞれ確立し、確立されたM+1個のノードを前記現在のノードのサブノードとし、前記現在のノードの各サブノードについて、それぞれ前記現在のノードに対応するデータセットから前記サブノードにマッチングするデータを選択し、前記サブノードに対応するデータセットを構成し、前記マッチングするデータは、前記最適な特徴の特徴値が前記サブノードに対応する特徴値であるデータであり、前記最適な特徴を前記現在のノードに対応する特徴セットから削除し、更新後の特徴セットを取得し、前記現在のノードの各サブノードについて、前記サブノードがリーフノードであると決定された場合、前記サブノードに対する処理を終了し、前記サブノードがリーフノードではないと決定された場合、前記サブノードを前記現在のノードとし、前記更新後の特徴セットを前記現在のノードに対応する特徴セットとし、前記ルートノードから開始するすべてのパス上の最後一つのノードがいずれもリーフノードであるまで、前記第3の処理を繰り返して実行する、
請求項10または11に記載のイメージ検索装置。
【請求項13】
前記前処理モジュールは、前記現在のノードに対応する特徴セット内の各特徴が前記現在のノードに対応するデータセットに対する情報利得をそれぞれ取得し、取得された各情報利得の平均値を計算し、前記現在のノードに対応する特徴セットの各特徴から対応する情報利得が前記平均値より大きい特徴を選択し、選択された各特徴が前記現在のノードに対応するデータセットに対する情報利得比をそれぞれ取得し、情報利得比が最大の特徴を前記最適な特徴とする、
請求項12に記載のイメージ検索装置。
【請求項14】
前記前処理モジュールは、前記最適な特徴に対応する各特徴値が前記現在のノードに対応するデータセットに対するジニ係数をそれぞれ取得し、取得された各ジニ係数を小さい順にソートし、ソート後の前のM位にあるジニ係数を選択し、選択されたM個のジニ係数に対応する特徴値を前記最適な特徴に対応する各特徴値から選択されたM個の特徴値とする、
請求項12または13に記載のイメージ検索装置。
【請求項15】
電子機器であって、
少なくとも一つのプロセッサと、
前記少なくとも一つのプロセッサと通信接続されたメモリと、を含み、
前記メモリに前記少なくとも一つのプロセッサにより実行可能な命令が記憶されており、前記命令が前記少なくとも一つのプロセッサにより実行されると、前記少なくとも一つのプロセッサが請求項1から7のいずれか一項に記載のイメージ検索方法を実行する、
電子機器。
【請求項16】
コンピュータ命令が記憶されている非一時的なコンピュータ読み取り可能な記憶媒体であって、
前記コンピュータ命令は、コンピュータに請求項1から7のいずれか一項に記載のイメージ検索方法を実行させる、
非一時的なコンピュータ読み取り可能な記憶媒体。
【請求項17】
プロセッサによって実行される時に請求項1から7のいずれか一項に記載のイメージ検索方法を実現する、
コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、人工知能技術分野に関し、特に、インテリジェントクラウド、コンピュータビジョン、及びディープラーニングなどの分野のイメージ検索方法、装置、電子機器、及びコンピュータ読み取り可能な記憶媒体に関する。
【背景技術】
【0002】
現在、ユーザのイメージ数は、爆発的な増加傾向を示している。検索は、クラウドアルバム製品の基礎機能として、ユーザにイメージ(写真など)検索能力を提供することができ、イメージ数が増える時、検索機能もますます重要になる。
【0003】
従来の検索方式は、主にキーワードに基づいて検索する方式であり、すなわち、ユーザがキーワードを入力すると、クラウドはキーワードを条件に最も一致するグループの分類にマッピングし、当該分類下のイメージを出力する。しかし、このような方式は、ユーザが検索するイメージに対して明確な記憶を持ち、キーワードを使用して明確に表現できる場合にのみ適用される。多くの場合、ユーザが検索待ちのイメージに対して曖昧とした記憶しか持っていない可能性があり、例えば、ある大体の時間範囲とある人がある場所にあるイメージしか記憶されていない。このような場合について、現在、まだいい解決策がない。
【発明の概要】
【発明が解決しようとする課題】
【0004】
本開示は、イメージ検索方法、装置、電子機器、及びコンピュータ読み取り可能な記憶媒体を提供する。
【課題を解決するための手段】
【0005】
イメージ検索方法は、
検索待ちのイメージセットの中のイメージの特徴を取得し、前記特徴に基づいて決定木を生成し、前記決定木の中のノードに対応する問題をそれぞれ配置するステップと、
ユーザのイメージ検索要求を受信した場合、前記問題に基づいてユーザに質問し、前記ユーザの回答を組み合わせて、前記決定木から一つの最適パスを選択し、前記最適パス上のリーフノードに対応するイメージを検索されたイメージとするステップと、を含む。
【0006】
イメージ検索装置は、前処理モジュール及び検索モジュールを含み、
前記前処理モジュールは、検索待ちのイメージセットの中のイメージの特徴を取得し、前記特徴に基づいて決定木を生成し、前記決定木の中のノードに対応する問題をそれぞれ配置するために用いられ、
前記検索モジュールは、ユーザのイメージ検索要求を受信した場合、前記問題に基づいてユーザに質問し、前記ユーザの回答を組み合わせて、前記決定木から一つの最適パスを選択し、前記最適パス上のリーフノードに対応するイメージを検索されたイメージとするために用いられる。
【0007】
電子機器であって、
少なくとも一つのプロセッサと、
前記少なくとも一つのプロセッサと通信接続されたメモリと、を含み、
前記メモリに前記少なくとも一つのプロセッサにより実行可能な命令が記憶されており、前記命令が前記少なくとも一つのプロセッサにより実行されると、前記少なくとも一つのプロセッサが上記の方法を実行させる、
【0008】
コンピュータ命令が記憶されている非一時的なコンピュータ読み取り可能な記憶媒体であって、
前記コンピュータ命令は、コンピュータに上記の方法を実行させる。
【0009】
コンピュータプログラム製品であって、コンピュータプログラムを含み、前記コンピュータプログラムがプロセッサによって実行される時に上記の方法を実現する。
【0010】
上記の開示の一つの実施例は、以下のような利点又は有益効果を有し、決定木に基づくイメージ曖昧検索方式を使用し、取得されたイメージ特徴によって生成された決定木に基づいて、ユーザに主動的に質問して誘導し、ユーザの回答を組み合わせて、ユーザが検索するイメージを決定することで、キーワードを使わずにユーザが必要とするイメージを便利かつ正確に検索できることを実現することができる。
本明細書で説明された内容は、本開示の実施例のキー又は重要な特徴を特定することを意図しておらず、本開示の範囲を制限するためにも使用されないことを理解されたい。本開示の他の特徴は、以下の明細書を通じて容易に理解できる。
【図面の簡単な説明】
【0011】
図面は、本開示をより良く理解するためのものであり、本開示を限定しない。
図1】本開示に記載されるイメージ検索方法の実施例のフローチャートである。
図2】本開示に記載される決定木の概略構成図である。
図3】本開示に記載される決定木に基づくイメージ曖昧検索方式の実現プロセスの概略図である。
図4】本開示に記載される改良後の第2の決定木の生成アルゴリズムに従って生成された決定木の概略図である。
図5】本開示に記載されるイメージ検索装置の実施例50の構成の概略構成図である。
図6】本開示の実施例を実施するために使用できる例示的な電子機器600の概略ブロック図を示す。
【発明を実施するための形態】
【0012】
以下、図面に基づいて、本開示の例示の実施例を表現する。理解を容易にするために、本開示の実施例の様々な詳細が含まれており、それらは単なる例示と見なされるべきである。従って、当業者は、本開示の範囲及び精神から逸脱することなく、本明細書に記載の実施形態に対して様々な変更及び修正を行うことができることを認識するはずである。類似として、簡明のために、以下の表現では、よく知られた機能と構造の表現は省略される。
【0013】
また、本明細書の用語「及び/又は」は、関連対象の関連関係のみを説明するものであり、3種類の関係が存在可能であることを表し、例えば、A及び/又はBは、Aのみが存在するか、A及びBが同時に存在するか、Bのみが存在するという3つの場合を表すことができる。符号「/」は、一般的に前後の関連対象が「又は」の関係であることを表すことを理解されたい。
【0014】
図1は、本開示に記載されるイメージ検索方法の実施例のフローチャートである。図1に示すように、以下のような具体的な実現例を含む。
【0015】
ステップ101では、検索待ちのイメージセットの中のイメージの特徴を取得し、取得された特徴に基づいて決定木を生成し、決定木の中のノードに対応する問題をそれぞれ配置する。
【0016】
ステップ102では、ユーザのイメージ検索要求を受信した場合、前記問題に基づいてユーザに質問し、ユーザの回答を組み合わせて、決定木から一つの最適パスを選択し、最適パス上のリーフノードに対応するイメージを検索されたイメージとする。
【0017】
見つけるとおり、上記の方法の実施例に記載される解決策では、決定木に基づくイメージ曖昧検索方式を使用し、取得されたイメージ特徴によって生成された決定木に基づいて、ユーザに主動的に質問して誘導し、ユーザの回答を組み合わせて、ユーザが検索するイメージを決定することで、キーワードを使わずにユーザが必要とするイメージを便利かつ正確に検索できることを実現することができる。
【0018】
決定木(Decision Tree)は、分類決定木などとも呼ばれ、予測モデルであってもよく、どのように実例を分類するツリー構造を記述するために用いられ、ノードと有向エッジで構成される。その中、ノードは、二つの種類、すなわち内部ノードとリーフノードに分類でき、内部ノードは中間ノードなどとも呼ばれ、内部ノードは一つの特徴又は属性を表し、リーフノードは一つのカテゴリを表す。
【0019】
図2は、本開示に記載される決定木の構造概略図である。図2に示すように、その中の矩形ノードはリーフノードを表し、楕円形ノードは内部ノードを表す。
【0020】
本開示に記載される決定木に基づくイメージ曖昧検索方式では、まず、検索待ちのイメージセットの中のイメージの特徴を取得することができ、その後、取得された特徴に基づいて決定木を生成することができ、決定木の中のノードにそれぞれ対応する問題を配置することができる。
【0021】
検索待ちのイメージセットは、あるユーザのイメージセットを指すことができる。本開示では、どのように検索待ちのイメージセットの中のイメージの特徴を取得するかについては、限定されない。例えば、イメージ特徴モデルを使用してイメージの特徴を抽出することができる。
【0022】
取得されたイメージの特徴は、具体的には、どのような特徴を含むかについては、同様に限定されない。例えば、撮影時間、撮影場所、動物、人物などを含むことができる。
【0023】
また、決定木の中のノードに配置する問題は、通常、ユーザが簡単に理解するセマンティクスを表現する問題である。
【0024】
ユーザのイメージ検索要求を受信した場合、配置された問題に基づいてユーザに質問し、ユーザの回答を組み合わせて、決定木から一つの最適パスを選択することができ、最適パス上のリーフノードに対応するイメージを検索されたイメージ、すなわちターゲットイメージとすることができる。
【0025】
具体的には、決定木から最適パスを選択する時、決定木内のルートノードを現在のノードとし、以下の第1の処理を実行することができ、現在のノードに対応する問題に従ってユーザに質問し、ユーザの回答を取得し、現在のノードのサブノードから当該回答にマッチングするサブノードを決定し、マッチングするサブノードがリーフノードであると決定された場合、ルートノードから当該リーフノードまでのパスを必要な最適パスとし、それでない場合、マッチングするサブノードを現在のノードとし、第1の処理を繰り返し実行する。
【0026】
上記の説明に基づいて、図3は、本開示に記載される決定木に基づくイメージ曖昧検索方式の実現プロセスの概略図である。
【0027】
図3に示すように、決定木を生成し、決定木の中のノードに対応する問題を配置した後、まず、ルートノードに対応する問題に基づいてユーザに質問することができ、「写真にあの人がいますか?」であり、ユーザの回答が「はい」であると仮定すると、図3に示すような「はい」にマッチングするノードを決定することができ、当該ノードはルートノードのサブノードであり、表現を簡単にするために、当該ノードをノード1と呼ぶ。
【0028】
その後、ノード1に対応する問題に基づいてユーザに質問することができ、「写真はどの季節に撮影されましたか?」であり、ユーザの回答が「秋」であると仮定すると、図3に示すような「秋」にマッチングするノードを決定することができ、当該ノードはノード1のサブノードであり、表現を簡単にするために、当該ノードをノード2と呼ぶ。
【0029】
その後、ノード2に対応する問題に基づいてユーザに質問することができ、「写真はどの場所で撮影されましたか?」、ユーザの回答が「北京」であると仮定すると、図3に示すような「北京」にマッチングするノードを決定することができ、当該ノードはノード2のサブノードであり、表現を簡単にするために、当該ノードをノード3と呼ぶ。
【0030】
その後、ノード3に対応する問題に基づいてユーザに質問することができ、「写真は室内で撮影しましたか?」であり、……、その後、ノードp(pは3より大きい)に対応する問題に基づいてユーザに質問することができ、「写真に建物がありますか?」であり、ユーザの回答が「はい」であると仮定すると、図3に示すような「はい」にマッチングするノードを決定することができ、ノードがp+1であると仮定すると、ノードp+1はリーフノードであるため、ルートノードからノードp+1までのパスを必要な最適パスとすることができる。
【0031】
さらに、「国慶節にTAが北京天安門での写真である」のような、最適パス上のリーフノードに対応するイメージを検索されたイメージとすることができる。
【0032】
検索されたイメージの数は、1つ以上であってもよく、1より大きい時、数が所定の閾値より大きい場合、その中から一部のイメージを選択することもでき、選択された一部のイメージを最終結果としてユーザに返し、どのように選択するかは限定しない。
【0033】
クラウドアルバムを例として、時間の経過とともに、ユーザがクラウドアルバム内のイメージの記憶ますます曖昧になり、この場合、キーワードを使用してイメージの検索を行うことができなくなり、本開示に記載される決定木に基づくイメージ曖昧検索方式は、ユーザが必要なイメージを便利かつ正確に検索するのに役立つことができる。
【0034】
さらに、本開示に記載される決定木に基づくイメージ曖昧検索方式の検索速度がよく速く、結果セットに迅速に収束することができ、検索効率を向上させることができる。
【0035】
また、本開示に記載される決定木に基づくイメージ曖昧検索方式は、イメージ特徴をより全面的に使用して決定を行うことができ、毎回の決定は、すべてユーザが無関係のイメージを排除するのをより正確に支援することができ、結果を検索できない状況が発生しなく、検索成功率などを向上させる。
【0036】
決定木を分類する時、実例の各特徴をテストし、結果に基づいてそれをサブノードに分配し、できるだけ速く決定木を使用して分類するためには、内部ノードの構造と順序などは非常に重要である。
【0037】
具体的には、本開示では、どのように決定木を生成するかは、検索速度などに直接的な影響を与える。実際のアプリケーションでは、取得されたイメージの特徴に基づいて、所定の特徴選択基準に従って、決定木を生成することができる。
【0038】
特徴選択基準を制定する目的は、特徴を使用してデータセットを分割し、分割後のデータセットの純度は、分割前のデータセットの純度より高く、不確実性は、分割前のデータセットの不確実性より低く、決定木の生成プロセスは、特徴選択基準を満たす特徴を使用してデータセットを純度がより高く、不確実性がより小さくデータセットに継続的に分割するプロセスである。
【0039】
現在、より一般的に使用されている特徴選択基準は、情報利得、情報利得比及びジニ指数を含み、以下でそれぞれ説明する。
【0040】
一)情報利得
情報論では、エントロピーは、ランダム変数の不確実性を表すために用いられ、情報利得はエントロピー情報論に基づいて確定される。
【0041】
任意の特徴Aは、データセットDに対する情報利得g(D、A)に対して、データセットDの経験エントロピーH(D)と所与の特徴Aの条件の下でデータセットDの経験条件エントロピーH(D|A)との差として定義することができ、数式で以下のように表すことができる。
[数1]
g(D,A)=H(D)-H(D|A)
上記の式は、データセットDの初期エントロピーから特徴Aを知った後のデータセットDのエントロピーを減算し、一つの不確実なものについては、関連する情報をもう少し知っている限り、エントロピーは、通常、減少するため、H(D)は、通常、H(D|A)より大きく、H(D)とH(D|A)の差は、情報利得の程度を定量化することを理解することができる。
【0042】
決定木を生成するプロセスは、情報利得を使用して特徴選択基準として、決定木を再帰的に構築するプロセスに変換することができ、当該プロセスは、すなわち、反復二分木三代(ID3、Iterative Dichotomiser 3)アルゴリズムの実現プロセスに対応する。
【0043】
ID3アルゴリズムの実現プロセスは、具体的には、以下のステップを含むことができる。
ルートノードを現在のノードとし、元のデータセットを現在のノードに対応するデータセットとし、元の特徴セットを現在のノードに対応する特徴セットとし、以下の第4の処理を実行し、
現在のノードに対応する特徴セット内の各特徴が現在のノードに対応するデータセットに対する情報利得をそれぞれ取得し、現在のノードに対応する特徴セットにそれぞれ特徴1、特徴2、及び特徴3である3つの特徴が含まれると仮定すると、3つの情報利得を取得することができ、
情報利得が最大の特徴を選択し、特徴2であると仮定すると、さらに、特徴2に対応する異なる特徴値に対応するノードをそれぞれ確立し、確立されたノードを現在のノードのサブノードとすることができ、例えば、特徴2は撮影場所であり、対応する特徴値は、北京、上海、広州などを含み、各特徴値に対応するサブノードをそれぞれ確立することができ、
現在のノードの各サブノードについて、それぞれ現在のノードに対応するデータセットから当該サブノードにマッチングするデータを選択し、当該サブノードに対応するデータセットを構成し、マッチングするデータは、選択された特徴の特徴値が当該サブノードに対応する特徴値のデータであり、例えば、あるサブノードに対応する特徴値が北京であり、現在のノードに対応するデータセットから撮影場所が北京であるデータを選択し、当該サブノードに対応するデータセットを構成することができ、
選択された特徴を特徴2のように現在のノードに対応する特徴セットから削除し、更新後の特徴セットを取得し、
現在のノードの各サブノードについて、当該サブノードがリーフノードであると決定された場合、当該サブノードに対する処理を終了し、それでない場合、当該サブノードを現在のノードとし、更新後の特徴セットを現在のノードに対応する特徴セットとし、ルートノードから開始するすべてのパス上の最後一つのノードがいずれもリーフノードであるまで、第4の処理を繰り返して実行する。
【0044】
実際のアプリケーションでは、あるサブノードに対応するデータセットには一つのカテゴリ、すなわち単一のカテゴリだけを含み、継続に分割することができない場合、当該サブノードがリーフノードであると決定されることができる。
【0045】
二)情報利得比
ID3アルゴリズムは、オーバーフィッティングしやすくなり、情報利得が特徴値の多い特徴に偏っているという大きい欠点がある。原因は、ある特徴に対応する特徴値が比較的に多い場合、当該特徴に基づいて分割すると純度がより高いサブセットをより容易に取得することができ、したがって、分割後のエントロピーはより低くなり、分割前のエントロピーは一定であるため、取得された情報利得はより大きくなる。
【0046】
上記の問題について、情報利得比の概念を提供し、情報利得に対する特徴値の数の影響を弱めることができる。
【0047】
任意の特徴AがデータセットDに対する情報利得比gR(D、A)であり、情報利得g(D、A)とデータセットDの特徴Aに対するエントロピーH(D)の比として定義することができ、すなわち:
[数2]
その中:
[数3]
Nは、特徴Aに対応する特徴値の数を表し、Diは、データセットDの中の特徴Aの値が特徴値iのデータで構成されるデータセットを表し、|D|は、データセットDに含まれるデータの数を表し、|Di|は、データセットDiに含まれるデータの数を表す。
【0048】
上記の式は、一つの特徴に対応する特徴値が多くほど、不確実性が高くなり、H(D)が大きくなることを示す。
【0049】
情報利得比と情報利得の関係は、以下のように表すことができ、
[数4]
情報利得比 = 情報利得 × ペナルティパラメータ
その中、ペナルティパラメータは、すなわち 1/H(D)であるため、情報利得に対する特徴値の数の影響を一定の手順で相殺する。
【0050】
情報利得比は、C4.5アルゴリズムに対応し、C4.5アルゴリズムの実現プロセスは、ID3アルゴリズムと類似しており、ID3アルゴリズム内の情報利得を情報利得比に置き換えるだけである。
【0051】
三)ジニ係数(Gini coefficient)
ID3アルゴリズムでは情報利得を使用して特徴を選択し、情報利得が大きい特徴を優先的に選択し、C4.5アルゴリズムには情報利得比を使用して特徴を選択し、特徴値の数が多いことによる情報利得が大きいという問題を低減する。分類及び回帰ツリー(CART、Classification and Regression Tree)アルゴリズムは、ジニ係数を使用して特徴を選択し、ジニ係数は、不純度を表し、ジニ係数が小さいほど、不純度が低く、特徴がよく、これは情報利得(比)と反対である。
【0052】
データセットDの純度は、ジニ係数で測定することができ、すなわちデータセットDのジニ係数は、以下のように定義することができ、
[数5]
その中、p(xi)は、データxがカテゴリiに属する確率を表し、nはカテゴリの数を表し、すなわちデータセットDにはn個のカテゴリが含まれ、Gini(D)は、データセットDからランダムに選択された一つのデータが誤って分類される確率を反映し、すなわちサンプルセット内で一つのランダムに選択されたサンプルが誤って分類される確率を表し、ジニ係数が小さいほど、サンプルセット内で選択されたサンプルが誤って分類される確率が小さくなることを表し、つまり、サンプルセットの純度が高いほど、逆に、純度が低くなる。
【0053】
データセットDについて、特徴Aがある特徴値aを取るかどうかに応じて、データセットDをD1とD2の二つのデータセット(又はデータサブセットと呼ぶ)に分割することができる。
【0054】
これに応じて、特徴Aに対応する特徴値aがデータセットDに対するジニ係数は、以下のように定義することができ、
[数6]
その中、|D|は、データセットDに含まれるデータの数、すなわちサンプルの数を表し、|D|は、データセットD1に含まれるデータの数を表し、|D|は、データセットD2に含まれるデータの数を表す。
【0055】
ID3アルゴリズム及びC4.5アルゴリズムと比較すると、CARTアルゴリズムの一つの利点は、離散特徴値を処理することができるし、連続特徴値を処理することもできる。例えば、イメージの撮影時間は、一つの連続特徴値であり、季節ごとに分割してジニ係数などを計算することができる。
【0056】
CARTアルゴリズムの実現プロセスは、具体的には、以下のステップを含むことができる。
ルートノードを現在のノードとし、元のデータセットを現在のノードに対応するデータセットとし、元の特徴セットを現在のノードに対応する特徴セットとし、以下の第5の処理を実行し:
現在のノードに対応する特徴セット内の各特徴について、当該特徴に対応する各特徴値が現在のノードに対応するデータセットに対するジニ係数をそれぞれ取得し、
取得された各ジニ係数から値が最も小さいジニ係数を選択し、選択されたジニ係数に対応する特徴(特徴Aと仮定する)及び対応する特徴の特徴値(特徴値aと仮定する)を最適な特徴と最適なセグメンテーションポイントとし、
最適な特徴と最適なセグメンテーションポイントに基づいて、現在のノードに対応するデータセットをD1とD2の二つのデータセットに分割し、現在のノードの二つのサブノードを生成し、一つのサブノードはデータセットD1に対応し、別のサブノードはデータセットD2に対応し、データセットD1内のデータの特徴A値は特徴値aであり、データセットD2内のデータの特徴A値は特徴値aではなく、
現在のノードの各サブノードについて、所定の条件に適合すると決定された場合、当該サブノードに対する処理を終了することができ、例えば、当該サブノードに対応するデータセットに含まれるデータの数が所定の閾値より小さい場合、例えば、前記閾値が2であり、又は、当該サブノードに対応するデータセットのジニ係数が所定の閾値より小さい場合など、所定の条件に適合すると見なすことができ、所定の条件に適合していないと決定された場合、当該サブノードを現在のノードとし、第5の処理などを繰り返して実行することができる。
【0057】
前述のように、本開示では、取得されたイメージの特徴に基づいて、所定の特徴選択基準に従って、決定木を生成することができる。
【0058】
所定の特徴選択基準は、情報利得、情報利得比、ジニ係数のいずれかを含むことができる。又は、所定の特徴選択基準は、情報利得及び情報利得比を含むことができる。又は、所定の特徴選択基準は、情報利得、情報利得比、及びジニ係数を含むことができる。
【0059】
所定の特徴選択基準が情報利得である場合、ID3アルゴリズムに従って決定木を生成することができる。所定の特徴選択基準が情報利得比である場合、C4.5アルゴリズムに従って決定木を生成することができる。所定の特徴選択基準がジニ係数である場合、CARTアルゴリズムに従って決定木を生成することができる。所定の特徴選択基準が情報利得及び情報利得比である場合、改良後の第1の決定木生成アルゴリズムに従って決定木を生成することができる。所定の特徴選択基準が情報利得、情報利得比、及びジニ係数を含む場合、改良後の第2の決定木生成アルゴリズムに従って決定木を生成することができる。具体的にどのアルゴリズムを使用して決定木を生成するかは、実際のニーズに基づいて決定することができ、非常に柔軟で便利である。
【0060】
その中、改良後の第1の決定木生成アルゴリズムの具体的な実現プロセスは、以下のステップを含むことができる。
ルートノードを現在のノードとし、元のデータセットを現在のノードに対応するデータセットとし、元の特徴セットを現在のノードに対応する特徴セットとし、元のデータセットは検索待ちのイメージセットであってもよく、元の特徴セットは取得されたイメージの特徴で構成された特徴セットであってもよく、以下の第2の処理を実行し、
情報利得及び情報利得比を組み合わせて、現在のノードに対応する特徴セットから一つの最適な特徴を選択し、最適な特徴に対応する異なる特徴値について、対応するノードをそれぞれ確立し、確立されたノードを現在のノードのサブノードとし、
現在のノードの各サブノードについて、それぞれ現在のノードに対応するデータセットから当該サブノードにマッチングするデータを選択し、当該サブノードに対応するデータセットを構成し、マッチングするデータは、最適な特徴の特徴値が当該サブノードに対応する特徴値であるデータであり、
最適な特徴を現在のノードに対応する特徴セットから削除し、更新後の特徴セットを取得し、
現在のノードの各サブノードについて、当該サブノードがリーフノードであると決定された場合、当該サブノードに対する処理を終了し、それでない場合、当該サブノードを現在のノードとし、更新後の特徴セットを現在のノードに対応する特徴セットとし、ルートノードから開始するすべてのパス上の最後一つのノードがいずれもリーフノードであるまで、第2の処理を繰り返して実行する。
【0061】
その中、情報利得及び情報利得比を組み合わせて、現在のノードに対応する特徴セットから一つの最適な特徴を選択する方式は、現在のノードに対応する特徴セット内の各特徴が現在のノードに対応するデータセットに対する情報利得をそれぞれ取得するステップと、取得された各情報利得の平均値を計算し、現在のノードに対応する特徴セットの各特徴から対応する情報利得が平均値より大きい特徴を選択するステップと、選択された各特徴が現在のノードに対応するデータセットに対する情報利得比をそれぞれ取得するステップと、情報利得比が最大の特徴を最適な特徴とするステップと、を含むことができる。
【0062】
C4.5アルゴリズムの欠点は、情報利得比が特徴値の少ない特徴に偏っていることであり、原因は、特徴値が少ない場合、H(D)の値は小さくなり、それに応じて、その逆数が大きくなるため、情報利得比も大きくなり、改良後の第1の決定木生成アルゴリズムは、ある程度でこの問題を解決することができ、当該アルゴリズムでは、情報利得又は情報利得比の最大の特徴を直接に選択しなく、まず、ID3アルゴリズムを使用して平均値以上の特徴を取得し、その後、その中から情報利得比が最大の特徴などを選択することによって、ID3アルゴリズムとC4.5アルゴリズムの利点を同時に考慮する。
【0063】
改良後の第2の決定木生成アルゴリズムの具体的な実現プロセスは、以下のようなステップを含むことができる。
ルートノードを現在のノードとし、元のデータセットを現在のノードに対応するデータセットとし、元の特徴セットを現在のノードに対応する特徴セットとし、元のデータセットは検索待ちのイメージセットであってもよく、元の特徴セットは取得されたイメージの特徴で構成された特徴セットであってもよく、以下の第3の処理を実行することができ、
情報利得及び情報利得比を組み合わせて、現在のノードに対応する特徴セットから一つの最適な特徴を選択し、ジニ係数により、最適な特徴に対応する各特徴値からM個の特徴値を選択し、Mは正の整数であり、最適な特徴に対応する特徴値の数より小さく、選択されていない特徴値を他の特徴値とし、他の特徴値を一つの全体とし、M個の特徴値及び他の特徴値に対応するノードをそれぞれ確立し、確立されたM+1個のノードを現在のノードのサブノードとし、
現在のノードの各サブノードについて、それぞれ現在のノードに対応するデータセットから当該サブノードにマッチングするデータを選択し、当該サブノードに対応するデータセットを構成し、マッチングするデータは、最適な特徴の特徴値が当該サブノードに対応する特徴値であるデータであり、
最適な特徴を現在のノードに対応する特徴セットから削除し、更新後の特徴セットを取得し、
現在のノードの各サブノードについて、当該サブノードがリーフノードであると決定された場合、当該サブノードに対する処理を終了し、それでない場合、当該サブノードを現在のノードとし、更新後の特徴セットを現在のノードに対応する特徴セットとし、ルートノードから開始するすべてのパス上の最後一つのノードがいずれもリーフノードであるまで、第3の処理を繰り返して実行する。
【0064】
その中、情報利得及び情報利得比を組み合わせて、現在のノードに対応する特徴セットから一つの最適な特徴を選択する方式は、現在のノードに対応する特徴セット内の各特徴が現在のノードに対応するデータセットに対する情報利得をそれぞれ取得するステップと、取得された各情報利得の平均値を計算し、現在のノードに対応する特徴セットの各特徴から対応する情報利得が平均値より大きい特徴を選択するステップと、選択された各特徴が現在のノードに対応するデータセットに対する情報利得比をそれぞれ取得するステップと、情報利得比が最大の特徴を前記最適な特徴とするステップと、を含むことができる。
【0065】
ジニ係数により、最適な特徴に対応する各特徴値からM個の特徴値を選択する方式は、最適な特徴に対応する各特徴値が現在のノードに対応するデータセットに対するジニ係数をそれぞれ取得するステップと、取得された各ジニ係数を小さい順にソートし、ソート後の前のM位にあるジニ係数を選択し、選択されたM個のジニ係数に対応する特徴値を最適な特徴に対応する各特徴値から選択されたM個の特徴値とするステップと、を含むことができる。Mの具体的な値は、実際のニーズに基づいて決定することができる。
【0066】
図4は、本開示に記載される改良後の第2の決定木の生成アルゴリズムに従って生成された決定木の概略図である。なお、表現を簡単にするために、図4では決定木の構造を簡略化し、実際の構造は、通常、図4に示されるものより複雑である。
【0067】
図4に示すように、ルートノードから開始して、ルートノードを現在のノードとし、検索待ちのイメージセットを現在のノードに対応するデータセットとし、取得されたイメージの特徴で構成された特徴セットを現在のノードに対応する特徴セットとし、まず、現在のノードに対応する特徴セット内の各特徴が現在のノードに対応するデータセットに対する情報利得をそれぞれ取得し、取得された各情報利得の平均値を計算し、現在のノードに対応する特徴セットの各特徴から対応する情報利得が平均値より大きい特徴を選択し、選択された各特徴が現在のノードに対応するデータセットに対する情報利得比をそれぞれ取得し、情報利得比が最大の特徴を最適な特徴とすることができる。
【0068】
例えば、現在のノードに対応する特徴セットに3つの特徴が含まれ、それぞれ特徴1、特徴2、及び特徴3であり、それに応じて、3つの情報利得を取得することができ、3つの情報利得の平均値を計算し、3つの特徴から対応する情報利得が平均値より大きい特徴を選択することができ、特徴1と特徴2を選択すると仮定すると、さらに、特徴1及び特徴2に対応する情報利得比をそれぞれ取得し、情報利得比が最大である特徴、例えば特徴1を最適な特徴とすることができる。
【0069】
その後、最適な特徴に対応する各特徴値が現在のノードに対応するデータセットに対するジニ係数をそれぞれ取得することができ、取得された各ジニ係数を小さい順にソートし、ソート後の前のM位にあるジニ係数を選択し、選択されたM個のジニ係数に対応する特徴値を最適な特徴に対応する各特徴値から選択されたM個の特徴値とすることができ、選択されていない特徴値を他の特徴値とすることができる。さらに、他の特徴値を一つの全体とし、M個の特徴値及び他の特徴値に対応するノードをそれぞれ確立し、確立されたM+1個のノードを現在のノードのサブノードとし、現在のノードの各サブノードについて、それぞれ現在のノードに対応するデータセットから当該サブノードにマッチングするデータを選択し、当該サブノードに対応するデータセットを構成することができ、マッチングするデータは、最適な特徴の特徴値が当該サブノードに対応する特徴値であるデータである。
【0070】
例えば、最適な特徴は特徴1であり、特徴1は、それぞれ特徴値1、特徴値2、特徴値3、及び特徴値4である4つの特徴値に対応すると、特徴値1、特徴値2、特徴値3、及び特徴値4に対応するジニ係数をそれぞれ取得することができ、取得された4つのジニ係数を小さい順にソートすることができ、ソート後の前の2位にあるジニ係数を選択し、選択された2つのジニ係数に対応する特徴値がそれぞれ特徴値1及び特徴値2であると仮定すると、特徴値3及び特徴値4を他の特徴値とすることができ、特徴値1、特徴値2、及び他の特徴値について、対応するノードをそれぞれ確立し、確立された3つのノードを現在のノードに対応するサブノードとし、また、各サブノードについて、さらに、それぞれ現在のノードに対応するデータセットから当該サブノードにマッチングするデータを選択し、当該サブノードに対応するデータセットを構成することができ、例えば、特徴値1に対応するサブノードについて、現在のノードに対応するデータセットから特徴1の値が特徴値1であるデータを選択し、当該サブノードに対応するデータセットを構成することができる。
【0071】
その後、最適な特徴を現在のノードに対応する特徴セットから削除し、更新後の特徴セットを取得することができる。例えば、特徴1を特徴1、特徴2、及び特徴3で構成される特徴セットから削除することによって、特徴2及び特徴3で構成される更新後の特徴セットを取得することができる。
【0072】
現在のノードの各サブノードについて、当該サブノードがリーフノードであると決定された場合、当該サブノードに対する処理を終了することができ、それでない場合、当該サブノードを現在のノードとし、更新後の特徴セットを現在のノードに対応する特徴セットとし、ルートノードから開始するすべてのパス上の最後一つのノードがいずれもリーフノードであるまで、上記の処理を繰り返して実行することができる。
【0073】
例えば、それぞれ特徴値1に対応するサブノード、特徴値2に対応するサブノード、及び他の特徴値に対応するサブノードである合計3つのサブノードが存在すると仮定すると、その中、特徴値1に対応するサブノードがリーフノードであり、図4に示すような矩形ノードであり、当該サブノードに対する処理を終了することができ、特徴値2に対応するサブノード及び他の特徴値に対応するサブノードについて、それぞれそれを現在のノードとし、更新後の特徴セットを現在のノードに対応する特徴セットとし、上記の処理を繰り返して実行し、処理を経た後、2つのサブノードをそれぞれ取得し、いずれもリーフノードであると仮定すると、決定木の確立を完了することができる。
【0074】
見つけるとおり、上記のアルゴリズムでは、情報利得と情報利得比を組み合わせて、まず、ID3アルゴリズムを使用して平均値以上の特徴を取得し、次に、また、その中から情報利得比が最大の特徴などを選択することによって、ID3アルゴリズムとC4.5アルゴリズムの利点を同時に考慮し、また、決定された最適な特徴について、さらに、ジニ係数を使用して値が低いいくつかの特徴値を選択し、残りの特徴値を他の特徴値とすることによって、特徴値が多すぎることによる問題オプションが多すぎるなどの問題を低減することができる。
【0075】
以上は、方法の実施例について説明したが、以下は、装置の実施例によって、本開示に記載される解決策をさらに説明する。
【0076】
図5は、本開示に記載されるイメージ検索装置の実施例50の構成の構造概略図である。図5に示すように、前処理モジュール501と検索モジュール502を含む。
【0077】
前処理モジュール501は、検索待ちのイメージセットの中のイメージの特徴を取得し、取得された特徴に基づいて決定木を生成し、決定木の中のノードに対応する問題をそれぞれ配置するために用いられる。
【0078】
検索モジュール502は、ユーザのイメージ検索要求を受信した場合、配置された問題に基づいてユーザに質問し、ユーザの回答を組み合わせて、決定木から一つの最適パスを選択し、最適パス上のリーフノードに対応するイメージを検索されたイメージとするために用いられる。
【0079】
具体的には、検索モジュール502は、決定木内のルートノードを現在のノードとし、以下の第1の処理を実行することができ、現在のノードに対応する問題に従ってユーザに質問するステップと、ユーザの回答を取得し、現在のノードのサブノードから当該回答にマッチングするサブノードを決定し、マッチングするサブノードがリーフノードであると決定された場合、ルートノードの開始からリーフノードの終了までのパスを最適パスとし、それでない場合、マッチングするサブノードを現在のノードとし、第1の処理を繰り返し実行する。
【0080】
また、前処理モジュール501は、取得された特徴に基づいて、所定の特徴選択基準に従って、決定木を生成することができる。所定の特徴選択基準は、情報利得を含み、又は、所定の特徴選択基準は、情報利得比を含み、又は、所定の特徴選択基準は、ジニ係数を含み、又は、所定の特徴選択基準は、情報利得を含み、及び情報利得比;又は、所定の特徴選択基準は、情報利得、情報利得比、及びジニ係数を含む。
【0081】
その中、所定の特徴選択基準が情報利得及び情報利得比を含む場合、前処理モジュール501は、ルートノードを現在のノードとし、検索待ちのイメージセットを現在のノードに対応するデータセットとし、取得されたイメージの特徴で構成された特徴セットを現在のノードに対応する特徴セットとし、以下の第2の処理を実行し、情報利得及び情報利得比を組み合わせて、現在のノードに対応する特徴セットから一つの最適な特徴を選択し、最適な特徴に対応する異なる特徴値について、対応するノードをそれぞれ確立し、確立されたノードを現在のノードのサブノードとし、現在のノードの各サブノードについて、それぞれ現在のノードに対応するデータセットから当該サブノードにマッチングするデータを選択し、当該サブノードに対応するデータセットを構成し、マッチングするデータは、最適な特徴の特徴値が当該サブノードに対応する特徴値であるデータであり、最適な特徴を現在のノードに対応する特徴セットから削除し、更新後の特徴セットを取得し、現在のノードの各サブノードについて、当該サブノードがリーフノードであると決定された場合、当該サブノードに対する処理を終了し、それでない場合、当該サブノードを現在のノードとし、更新後の特徴セットを現在のノードに対応する特徴セットとし、ルートノードから開始するすべてのパス上の最後一つのノードがいずれもリーフノードであるまで、第2の処理を繰り返して実行することができる。
【0082】
所定の特徴選択基準が情報利得、情報利得比、及びジニ係数を含む場合、前処理モジュール501は、ルートノードを現在のノードとし、検索待ちのイメージセットを現在のノードに対応するデータセットとし、取得されたイメージの特徴で構成された特徴セットを現在のノードに対応する特徴セットとし、以下の第3の処理を実行し、情報利得及び情報利得比を組み合わせて、現在のノードに対応する特徴セットから一つの最適な特徴を選択し、ジニ係数により、最適な特徴に対応する各特徴値からM個の特徴値を選択し、Mは正の整数であり、最適な特徴に対応する特徴値の数より小さく、選択されていない特徴値を他の特徴値とし、他の特徴値を一つの全体とし、M個の特徴値及び他の特徴値に対応するノードをそれぞれ確立し、確立されたM+1個のノードを現在のノードのサブノードとし、現在のノードの各サブノードについて、それぞれ現在のノードに対応するデータセットから当該サブノードにマッチングするデータを選択し、当該サブノードに対応するデータセットを構成し、マッチングするデータは、最適な特徴の特徴値が当該サブノードに対応する特徴値であるデータであり、最適な特徴を現在のノードに対応する特徴セットから削除し、更新後の特徴セットを取得し、現在のノードの各サブノードについて、当該サブノードがリーフノードであると決定された場合、当該サブノードに対する処理を終了し、それでない場合、当該サブノードを現在のノードとし、更新後の特徴セットを現在のノードに対応する特徴セットとし、ルートノードから開始するすべてのパス上の最後一つのノードがいずれもリーフノードであるまで、第3の処理を繰り返して実行することができる。
【0083】
情報利得及び情報利得比を組み合わせて、現在のノードに対応する特徴セットから一つの最適な特徴を選択する時、前処理モジュール501は、現在のノードに対応する特徴セット内の各特徴が現在のノードに対応するデータセットに対する情報利得をそれぞれ取得し、取得された各情報利得の平均値を計算し、現在のノードに対応する特徴セットの各特徴から対応する情報利得が平均値より大きい特徴を選択し、選択された各特徴が現在のノードに対応するデータセットに対する情報利得比をそれぞれ取得し、情報利得比が最大の特徴を最適な特徴とすることができる。
【0084】
ジニ係数により、最適な特徴に対応する各特徴値からM個の特徴値を選択する時、前処理モジュール501は、最適な特徴に対応する各特徴値が現在のノードに対応するデータセットに対するジニ係数をそれぞれ取得することができ、取得された各ジニ係数を小さい順にソートし、ソート後の前のM位にあるジニ係数を選択し、選択されたM個のジニ係数に対応する特徴値を最適な特徴に対応する各特徴値から選択されたM個の特徴値とすることができる。
【0085】
図5に示す装置の実施例の具体的な作業プロセスは、前述の方法の実施例の関連説明を参照し、ここでは説明を省略する。
【0086】
つまり、上記の装置の実施例に記載される解決策を使用して、決定木に基づくイメージ曖昧検索方式を使用し、取得されたイメージ特徴によって生成された決定木に基づいて、ユーザに主動的に質問して誘導し、ユーザの回答を組み合わせて、ユーザが検索するイメージを決定することで、キーワードを使わずにユーザが必要とするイメージを便利かつ正確に検索できることを実現することができ、改良後の決定木生成アルゴリズムを提供し、検索効率などを向上させることができる。
【0087】
本開示に記載される解決策は人工知能の分野に適用することができ、特に、インテリジェントクラウド、コンピュータビジョン及びディープラーニングなどの分野に関する。
【0088】
人工知能は、人間のある思考プロセスと知能行為(たとえば、学習、推理、思考、計画など)をコンピュータでシミュレートすることを研究する学科であり、ハードウェアレベルの技術もソフトウェアレベルの技術もあり、人工知能ハードウェア技術は、一般的に、たとえば、センサー、専用の人工知能チップ、クラウドコンピューティング、分散ストレージ、ビッグデータ処理などの技術を含み、人工知能ソフトウェア技術は、主に、コンピュータビジョン技術、音声認識技術、自然言語処理技術及び機械学習/ディープラーニング、ビッグデータ処理技術、知識グラフ技術などのいくつかの方向を含む。
【0089】
本開示の実施例によれば、本開示は、電子機器、読み取り可能な記憶媒体、及びコンピュータプログラム製品をさらに提供する。
【0090】
図6に示すように、本開示の実施例の例を実現するための電子機器600のブロック図である。電子機器は、ラップトップコンピュータ、デスクトップコンピュータ、ワークステーション、サーバ、ブレードサーバ、大型コンピュータ、及び他の適切なコンピュータなどの様々な形式のデジタルコンピュータを表すことを目的とする。電子機器は、パーソナルデジタル処理、携帯電話、スマートフォン、ウェアラブルデバイス、他の同様の計算デバイスなどの様々な形式のモバイルデバイスを表すこともできる。本明細書で示されるコンポーネント、それらの接続と関係、及びそれらの機能は単なる例であり、本明細書の説明及び/又は要求される本開示の実現を制限することを意図したものではない。
【0091】
図6に示すように、機器600は計算ユニット601を含み、計算ユニット601は、読み取り専用メモリ(ROM)602に記憶されているコンピュータプログラム又は記憶ユニット608からランダムアクセスメモリ(RAM)603にロードされたコンピュータプログラムに基づいて、様々な適切な動作と処理を実行することができる。RAM603には、機器600が動作するに必要な様々なプログラムとデータも記憶することができる。計算ユニット601、ROM602、及びRAM603は、バス604を介してお互いに接続される。入出力(I/O)インターフェース605もバス604に接続される。
【0092】
機器600内の複数のコンポーネントは、I/Oインターフェース605に接続されており、キーボード、マウスなどの入力ユニット606と、様々なタイプのディスプレイ、スピーカなどの出力ユニット607と、ディスク、光ディスクなどの記憶ユニット608と、及びネットワークカード、モデム、無線通信トランシーバなどの通信ユニット609と、を含む。通信ユニット609は、電子機器600が、インターネットなどのコンピュータネットワーク、及び/又は様々な電気通信ネットワークを介して他の機器と情報/データを交換することを可能にする。
【0093】
計算ユニット601は、様々な処理と計算能力を備える汎用及び/又は専用の処理コンポーネントである。計算ユニット601のいくつかの例は、中央処理装置(CPU)、グラフィックス処理ユニット(GPU)、様々な専用の人工知能(AI)計算チップ、様々な機械学習モデルアルゴリズムを実行する計算ユニット、デジタル信号プロセッサ(DSP)、及び任意の適切なプロセッサ、コントローラ、マイクロコントローラなどを含むが、これらに限定されない。計算ユニット601は、本開示に記載される方法などの上記の様々な方法と処理を実行する。例えば、いくつかの実施例では、本開示に記載される方法は、記憶ユニット608などの機械読み取り可能な媒体に有形的に含まれるコンピュータソフトウェアプログラムとして実現することができる。いくつかの実施例では、コンピュータプログラムの一部又は全部は、ROM602及び/又は通信ユニット609を介して電子機器600にロード及び/又はインストールされる。コンピュータプログラムがRAM603にロードされて計算ユニット601によって実行される場合、上記の本開示に記載される方法の一つ又は複数のステップを実行することができる。代替的に、他の実施例では、計算ユニット601は、他の任意の適切な方式(例えば、ファームウェアによって)を介して本開示に記載される方法を実行するように構成されることができる。
【0094】
本明細書で説明されるシステムと技術の様々な実施方式は、デジタル電子回路システム、集積回路システム、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、特定用途向け標準製品(ASSP)、システムオンチップシステム(SOC)、ロードプログラマブルロジックデバイス(CPLD)、コンピュータハードウェア、ファームウェア、ソフトウェア、及び/又はそれらの組み合わせで実現することができる。これらの様々な実施方式は、一つ又は複数のコンピュータプログラムで実施されることを含むことができ、当該一つ又は複数のコンピュータプログラムは、少なくとも一つのプログラマブルプロセッサを含むプログラム可能なシステムで実行及び/又は解釈されることができ、当該プログラマブルプロセッサは、特定用途向け又は汎用プログラマブルプロセッサであってもよく、ストレージシステム、少なくとも一つの入力装置、及び少なくとも一つの出力装置からデータ及び命令を受信し、データ及び命令を当該ストレージシステム、当該少なくとも一つの入力装置、及び当該少なくとも一つの出力装置に伝送することができる。
【0095】
本開示の方法を実施するためのプログラムコードは、一つ又は複数のプログラミング言語の任意の組み合わせを使用して作成することができる。これらのプログラムコードは、プログラムコードがプロセッサ又はコントローラによって実行される時にフローチャート及び/又はブロック図に規定された機能/動作が実施されるように、汎用コンピュータ、専用コンピュータ、又は他のプログラム可能なデータ処理装置のプロセッサ又はコントローラに提供することができる。プログラムコードは、完全に機械上で実行されたり、部分的に機械上で実行されたり、独立したソフトウェアパッケージとして部分的に機械上で実行され、部分的にリモート機械上実行されたり、又は完全にリモート機械又はサーバ上で実行されたりすることができる。
【0096】
本開示の文脈において、機械読み取り可能な媒体は、命令実行システム、装置、又は機器の使用、又は命令実行システム、装置又は機器と組み合わせて使用するプログラムを含むか、又は記憶することができる有形の媒体であってもよい。機械読み取り可能な媒体は、機械読み取り可能な信号媒体又は機械読み取り可能な記憶媒体であってもよい。機械読み取り可能な媒体は、電子、磁気、光学、電磁気、赤外線、又は半導体システム、装置又は機器、又は上記の内容の任意の適切な組み合わせを含むが、これらに限定されない。機械読み取り可能な記憶媒体のより具体的な例は、一つ又は複数のワイヤに基づく電気接続、ポータブルコンピュータディスク、ハードディスク、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、消去可能プログラマブル読み取り専用メモリ(EPROM 又はフラッシュメモリ(登録商標))、光ファイバ、ポータブルコンパクトディスク読み取り専用メモリ(CD-ROM)、光学記憶装置、磁気記憶装置、又は上記の内容の任意の適切な組み合わせを含む。
【0097】
ユーザとのインタラクションを提供するために、コンピュータ上においてここで説明されているシステム及び技術を実施することができ、当該コンピュータは、ユーザに情報を表示するためのディスプレイ装置(例えば、CRT(陰極線管)又はLCD(液晶ディスプレイ)モニタ)と、キーボード及びポインティングデバイス(例えば、マウス又はトラックボール)とを有し、ユーザは、当該キーボード及び当該ポインティングデバイスによって入力をコンピュータに提供することができる。他の種類の装置は、ユーザとのインタラクションを提供するために用いられることもでき、例えば、ユーザに提供されるフィードバックは、任意の形式のセンシングフィードバック(例えば、視覚フィードバック、聴覚フィードバック、又は触覚フィードバック)であってもよく、任意の形式(音響入力と、音声入力と、触覚入力とを含む)でユーザからの入力を受信することができる。
【0098】
ここで説明されるシステム及び技術は、バックエンドコンポーネントを含む計算システム(例えば、データサーバとする)、又はミドルウェアコンポーネントを含む計算システム(例えば、アプリケーションサーバー)、又はフロントエンドコンポーネントを含む計算システム(例えば、グラフィカルユーザインタフェース又はウェブブラウザを有するユーザコンピュータ、ユーザは、当該グラフィカルユーザインタフェース又は当該ウェブブラウザによってここで説明されるシステム及び技術の実施方式とインタラクションする)、又はこのようなバックエンドコンポーネントと、ミドルウェアコンポーネントと、フロントエンドコンポーネントの任意の組み合わせを含む計算システムで実施することができる。任意の形式又は媒体のデジタルデータ通信(例えば、通信ネットワーク)によってシステムのコンポーネントを相互に接続されることができる。通信ネットワークの例は、ローカルエリアネットワーク(LAN)と、ワイドエリアネットワーク(WAN)と、インターネットと、ブロックチェーンネットワークと、を含む。
【0099】
コンピュータシステムは、クライアントとサーバとを含むことができる。クライアントとサーバは、一般に、互いに離れており、通常に通信ネットワークを介してインタラクションする。対応するコンピュータ上で実行され、互いにクライアント-サーバ関係を有するコンピュータプログラムによってクライアントとサーバとの関係が生成される。サーバは、クラウドサーバであってもよく、クラウド計算又はクラウドホストとも呼ばれ、クラウド計算サービスシステムの中の一つのホスト製品であり、従来の物理ホストとバーチャル・プライベート・サーバ(VPS)に、存在する管理困難度が高く、業務拡張性が弱い欠陥を解決する。サーバは、分散システムのサーバであってもよく、又はブロックチェーンを組み合わせるサーバであってもよい。
【0100】
上記に示される様々な形式のフローを使用して、ステップを並べ替え、追加、又は削除することができることを理解されたい。例えば、本開示に記載されている各ステップは、並列に実行されてもよいし、順次的に実行されてもよいし、異なる順序で実行されてもよいが、本開示で開示されている技術案が所望の結果を実現することができれば、本明細書では限定されない。
【0101】
上記の具体的な実施方式は、本開示に対する保護範囲の制限を構成するものではない。当業者は、設計要求と他の要因に基づいて、様々な修正、組み合わせ、サブコンビネーション、及び代替を行うことができる。任意の本開示の精神と原則内で行われる修正、同等の置換、及び改善などは、いずれも本開示の保護範囲内に含まれなければならない。
図1
図2
図3
図4
図5
図6