(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】特表2017-526021(P2017-526021A)
(43)【公表日】2017年9月7日
(54)【発明の名称】データ検索におけるエラー修正装置及びその方法
(51)【国際特許分類】
G06F 17/30 20060101AFI20170810BHJP
【FI】
G06F17/30 320C
G06F17/30 340B
【審査請求】未請求
【予備審査請求】未請求
【全頁数】21
(21)【出願番号】特願2016-563112(P2016-563112)
(86)(22)【出願日】2015年8月25日
(85)【翻訳文提出日】2016年10月13日
(86)【国際出願番号】CN2015087971
(87)【国際公開番号】WO2016034052
(87)【国際公開日】20160310
(31)【優先権主張番号】201410447009.7
(32)【優先日】2014年9月3日
(33)【優先権主張国】CN
(81)【指定国】
AP(BW,GH,GM,KE,LR,LS,MW,MZ,NA,RW,SD,SL,ST,SZ,TZ,UG,ZM,ZW),EA(AM,AZ,BY,KG,KZ,RU,TJ,TM),EP(AL,AT,BE,BG,CH,CY,CZ,DE,DK,EE,ES,FI,FR,GB,GR,HR,HU,IE,IS,IT,LT,LU,LV,MC,MK,MT,NL,NO,PL,PT,RO,RS,SE,SI,SK,SM,TR),OA(BF,BJ,CF,CG,CI,CM,GA,GN,GQ,GW,KM,ML,MR,NE,SN,TD,TG),AE,AG,AL,AM,AO,AT,AU,AZ,BA,BB,BG,BH,BN,BR,BW,BY,BZ,CA,CH,CL,CN,CO,CR,CU,CZ,DE,DK,DM,DO,DZ,EC,EE,EG,ES,FI,GB,GD,GE,GH,GM,GT,HN,HR,HU,ID,IL,IN,IR,IS,JP,KE,KG,KN,KP,KR,KZ,LA,LC,LK,LR,LS,LU,LY,MA,MD,ME,MG,MK,MN,MW,MX,MY,MZ,NA,NG,NI,NO,NZ,OM,PA,PE,PG,PH,PL,PT,QA,RO,RS,RU,RW,SA,SC,SD,SE,SG,SK,SL,SM,ST,SV,SY,TH,TJ,TM,TN,TR,TT,TZ,UA,UG,US
(71)【出願人】
【識別番号】516228017
【氏名又は名称】▲楽▼視控股(北京)有限公司
【氏名又は名称原語表記】Le Holdings(Beijing)Co.,Ltd.
(71)【出願人】
【識別番号】516308032
【氏名又は名称】楽視網信息技術(北京)股▲ふん▼有限公司
【氏名又は名称原語表記】LE SHI INTERNET INFORMATION & TECHNOLOGY CORP. BEI JING
(74)【代理人】
【識別番号】110002217
【氏名又は名称】特許業務法人矢野内外国特許事務所
(72)【発明者】
【氏名】関涛
(72)【発明者】
【氏名】於立柱
(57)【要約】
【課題】データ検索におけるエラー修正装置及びその方法を提供する。
【解決手段】データ検索におけるエラー修正装置は、すべての検索キーワードを統計して、前記検索キーワードの第1特徴を取得するように設置されるキーワード統計モジュールと、分類型データ構造の各ノードにN個(1以上の自然数)の検索キーワードを格納し、前記第1特徴に基づき構築した分類型データ構造に前記検索キーワードを挿入するように設置されるキーワード挿入モジュールと、各ノードに格納した検索キーワードをそれぞれ2つずつ比較し、その比較結果に基づき、比較した2つの検索キーワードのうち、エラー検索キーワードと、それに対応したエラー修正用検索キーワードとを確定してキー値対を構成するように設置されるキー値対応モジュールと、前記キー値対に基づき、受信した検索キーワードに対してエラー修正操作処理を行うエラー修正操作モジュールとを備える。本発明に係る検索キーワードのエラー修正装置は計算量が少なく、計算効率が高い。
【選択図】
図1
【特許請求の範囲】
【請求項1】
データ検索におけるエラー修正装置であって、
すべての検索キーワードを統計して、前記検索キーワードの第1特徴を取得するように設置されるキーワード統計モジュールと、
分類型データ構造の各ノードにN個(1以上の自然数)の検索キーワードを格納し、前記第1特徴に基づき前記検索キーワードを予め構築した分類型データ構造に挿入するように設置されるキーワード挿入モジュールと、
各ノードに格納した検索キーワードをそれぞれ2つずつ比較し、その比較結果に基づき、比較した2つの検索キーワードのうち、エラー検索キーワードと、それに対応したエラー修正用検索キーワードとを確定して、前記エラー検索キーワードと、それに対応したエラー修正用検索キーワードとで、キー値対を構成するように設置されるキー値対応モジュールと、
前記キー値対に基づき、受信した検索キーワードに対してエラー修正操作処理を行うように設置されるエラー修正操作モジュールと、
を備えることを特徴とするデータ検索におけるエラー修正装置。
【請求項2】
前記キーワード統計モジュールは、更に、前記検索キーワードの、検索回数及び/又は既存のキー値においてエラー検索キーワードおよびエラー修正用の検索キーワードとして使用される履歴を含む検索履歴を取得するように設置され、
前記キーワード挿入モジュールは、前記検索キーワードの第1特徴及び検索履歴に基づき、前記検索キーワードを前記分類型データ構造に挿入することを特徴とする請求項1に記載の装置。
【請求項3】
前記分類型データ構造はトライ木であることを特徴とする請求項1又は2に記載の装置。
【請求項4】
前記キー値対応モジュールは、
各ノードに格納した検索キーワードの類似度を2つずつ計算して、類似度が第1所定閾値未満の2つのキーワードを第1キーワード対として設定するように設置される類似度計算サブモジュールと、
前記検索キーワードの検索履歴に基づき、前記第1キーワード対のエラー検索キーワードと、それに対応したエラー修正用検索キーワードとを確定して、前記エラー検索キーワードと、それに対応したエラー修正用検索キーワードとでキー値対を構成するように設置されるキー値確定サブモジュールと、
を備えることを特徴とする請求項3に記載の装置。
【請求項5】
前記キー値確定サブモジュールは、前記エラー検索キーワードと、それに対応したエラー修正用検索キーワードとのエラー度を計算し、前記エラー度が第2所定閾値より大きい場合に、前記エラー検索キーワードと、それに対応したエラー修正用検索キーワードとでキー値対を構成することを特徴とする請求項4に記載の装置。
【請求項6】
すべてのキー値対から、エラー修正用検索キーワードが他のキー値対におけるエラー検索キーワードであるキー値対をフィルタリングして、残ったキー値対を格納するように設置されるフィルタリング処理モジュールを更に備える、ことを特徴とする請求項1に記載の装置。
【請求項7】
データ検索におけるエラー修正方法であって、
すべての検索キーワードを統計して、前記検索キーワードの第1特徴を取得するステップと、
分類型データ構造の各ノードにN個(1以上の自然数)の検索キーワードを格納し、前記第1特徴に基づき前記検索キーワードを予め構築した分類型データ構造に挿入するステップと、
各ノードに格納した検索キーワードをそれぞれ2つずつ比較し、その比較結果に基づき、比較した2つの検索キーワードのうち、エラー検索キーワードと、それに対応したエラー修正用検索キーワードとを確定して、前記エラー検索キーワードと、それに対応したエラー修正用検索キーワードとでキー値対を構成するステップと、
前記キー値対に基づき、受信した検索キーワードに対してエラー修正操作処理を行うステップと、
を含むことを特徴とするデータ検索におけるエラー修正方法。
【請求項8】
前記すべての検索キーワードを統計して、前記検索キーワードの第1特徴を取得するステップは、前記検索キーワードの、検索回数及び/又は既存のキー値においてエラー検索キーワードおよびエラー修正用の検索キーワードとして使用される履歴を含む検索履歴を取得するステップを含み、
前記検索キーワードの第1特徴に基づき前記検索キーワードを前記分類型データ構造に挿入するする前記ステップは、前記検索キーワードの第1特徴及び検索履歴に基づき前記検索キーワードを前記分類型データ構造に挿入することであることを特徴とする請求項7に記載の方法。
【請求項9】
前記分類型データ構造はトライ木であることを特徴とする請求項7又は8に記載の方法。
【請求項10】
各ノードに格納した検索キーワードをそれぞれ2つずつ比較し、その比較結果に基づき、比較した2つの検索キーワードのうち、エラー検索キーワードと、それに対応したエラー修正用検索キーワードとを確定して、前記エラー検索キーワードと、それに対応したエラー修正用検索キーワードとでキー値対を構成する前記ステップは、
各ノードに格納した検索キーワードの類似度を2つずつ計算して、類似度が第1所定閾値未満の2つのキーワードを第1キーワード対として設定するステップと、
前記検索キーワードの検索履歴に基づき、前記第1キーワード対のエラー検索キーワードと、それに対応したエラー修正用検索キーワードとを確定して、前記エラー検索キーワードと、それに対応したエラー修正用検索キーワードとでキー値対を構成するステップとを含むことを特徴とする請求項9に記載の方法。
【請求項11】
前記検索キーワードの検索履歴に基づき、前記第1キーワード対のエラー検索キーワードと、それに対応したエラー修正用検索キーワードとを確定して、前記エラー検索キーワードと、それに対応したエラー修正用検索キーワードとでキー値対を構成する前記ステップは、前記エラー検索キーワードと、それに対応したエラー修正用検索キーワードとのエラー度を計算し、前記エラー度が第2所定閾値より大きい場合に、前記エラー検索キーワードと、それに対応したエラー修正用検索キーワードとでキー値対を構成するステップを更に含むことを特徴とする請求項10に記載の方法。
【請求項12】
すべてのキー値対から、エラー修正用検索キーワードが他のキー値対におけるエラー検索キーワードであるキー値対をフィルタリングして、残ったキー値対を格納するステップを更に含むことを特徴とする請求項7に記載の方法。
【請求項13】
請求項1〜6のいずれか1項に記載の装置を備える電子機器。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ検索の技術分野に関し、特にデータ検索におけるエラー修正装置及びその方法に関する。
【背景技術】
【0002】
インターネット技術の発展に伴って、ネットワーク情報のデータ量が大きくなり、例えばビデオウェブサイトでの大量のビデオ情報、ウェブサイトフォーラムで大量のユーザーが発布する情報、及びユーザーによる大量の履歴ログが挙げられる。特定の操作目的を達成させるために、多量のデータを含むネットワーク情報からニーズに合わせるデータを検索する必要がある。
【0003】
従来のデータ検索技術では、検索キーワード(query)に基づき検索を行うことが一般的であり、検索エンジンサーバが入力した検索キーワードに基づき、予め構築したデータインデックスから検索し、次に該インデックスデータをユーザーに表示する。しかしながら、検索キーワードは入力のランダム性や不規則性が原因で、エラーが発生しやすく、エラー検索キーワードを入力すれば、期待される検索結果が検索できなかったり、エラー検索結果が検索されたりすることを招く恐れがある。
【0004】
検索キーワードの中のエラー検索キーワードを識別するために、従来技術では、通常、すべての検索キーワードを2つずつ比較して、すべての検索キーワードの類似度を2つずつ計算することで、エラー検索キーワード、及びそれに対応した正確な検索キーワードを見つける。このように検索キーワードのエラー修正を行って、検索精度を確保できるが、すべての検索キーワードを2つずつ比較することによる検索キーワードのエラー修正方式は計算量が膨大で、計算効率が低下する。
【0005】
従って、如何に検索キーワードのエラー修正効率を向上させるかはデータ検索技術において早急に解決しなければならない技術的課題となる。
【発明の概要】
【発明が解決しようとする課題】
【0006】
上記の事情に鑑みて、本発明は検索キーワードに対するエラー修正方式の計算量が小さく、計算効率が高いデータ検索におけるエラー修正装置及びその方法を提供する。
【0007】
本発明は、
すべての検索キーワードを統計して、前記検索キーワードの第1特徴を取得するように設定されるキーワード統計モジュールと、
分類型データ構造の各ノードにN個(1以上の自然数)の検索キーワードを格納し、前記第1特徴に基づき前記検索キーワードを予め構築した分類型データ構造に挿入するように設定されるキーワード挿入モジュールと、
各ノードに格納した検索キーワードをそれぞれ2つずつ比較し、その比較結果に基づき、比較した前記の2つの検索キーワードのうち、エラー検索キーワードと、それに対応したエラー修正用検索キーワードとを確定して、前記エラー検索キーワードと、それに対応したエラー修正用検索キーワードとでキー値対を構成するように設定されるキー値対応モジュールと、
前記キー値対に基づき、受信した検索キーワードに対してエラー修正操作処理を行うように設定されるエラー修正操作モジュールとを備えるデータ検索用のエラー修正装置を提供する。
【0008】
本発明は、
すべての検索キーワードを統計して、前記検索キーワードの第1特徴を取得するステップと、
分類型データ構造の各ノードにN個(1以上の自然数)の検索キーワードを格納し、前記第1特徴に基づき前記検索キーワードを予め構築した分類型データ構造に挿入するステップと、
各ノードに格納した検索キーワードをそれぞれ2つずつ比較し、その比較結果に基づき、比較した前記の2つの検索キーワードのうち、エラー検索キーワードと、それに対応したエラー修正用検索キーワードとを確定して、前記エラー検索キーワードと、それに対応したエラー修正用検索キーワードとでキー値対を構成するステップと、
前記キー値対に基づき、受信した検索キーワードに対してエラー修正操作処理を行うステップとを含むデータ検索用のエラー修正方法を更に提供する。
【発明の効果】
【0009】
以上の技術案から分かるように、本発明は、すべての検索キーワードを統計して、前記検索キーワードの第1特徴に基づき構築した分類型データ構造に前記検索キーワードを挿入し、更に分類型データ構造における各ノードに格納した検索キーワードをそれぞれ2つずつ比較し、この比較結果に基づき、エラー検索キーワードと、それに対応したエラー修正用検索キーワードとを確定して、両者でキー値対を構成し、該キー値対に基づき、受信した検索キーワードをエラー修正する。従って、本発明によれば、分類型データ構造における各ノードに格納した検索キーワードを2つずつ比較するだけでよく、全ての検索キーワードを2つずつ比較する必要がなく、それによって、検索キーワードに対するエラー修正の計算量を大幅に減少させ、計算効率を向上させる。
【図面の簡単な説明】
【0010】
【
図1】
図1は本発明に係るデータ検索におけるエラー修正装置の構成図である。
【
図2】
図2は本発明に係るトライ木の模式図である。
【
図3】
図3はピン音文字をトライ木に挿入する模式図である。
【
図4】
図4は本発明に係るキー値対応モジュールの構成図である。
【
図5】
図5は本発明に係るデータ検索におけるエラー修正方法のフローチャートである。
【
図6】
図6は本発明に係るステップS4のフローチャートである。
【発明を実施するための形態】
【0011】
一般的なデータ検索技術では、検索キーワード入力のランダム性や不規則性に起因する検索エラーを防止するために、検索キーワードと一定の相関関係を有する用語、例えば同義語又はより標準化された用語を利用して検索キーワードをエラー修正することが一般的である。しかし、検索キーワードのエラー修正を行う前に、予めエラー検索キーワードと、それに対応したエラー修正用検索キーワードとで構成されるキー値対を含むエラー修正ファイルを作成しなければならない。該キー値対を確立するのにすべての検索キーワードを2つずつ比較し、すべての検索キーワードの類似度を2つずつ計算することが必要であり、これほど膨大な計算量によってエラー修正ファイル作成時の計算効率の低下を招く。
【0012】
本発明はすべての検索キーワードを統計して、前記検索キーワードの第1特徴に基づき、構築した分類型データ構造に前記検索キーワードを挿入し、更にそれぞれ分類型データ構造における各ノードに格納した検索キーワードを2つずつ比較し、比較結果に基づき、エラー検索キーワードと、それに対応したエラー修正用検索キーワードとを確定し、両者でキー値対を構成して、該キー値対に基づき、受信した検索キーワードをエラー修正する。従って、本発明は分類型データ構造における各ノードに格納した検索キーワードを2つずつ比較するだけでよく、全ての検索キーワードを2つずつ比較する必要がなく、それによって、検索キーワードに対するエラー修正の計算量を大幅に減少させ、計算効率を向上させる。
【0013】
以下、本発明の図面を利用して更に本発明の実施形態を説明する。
【0014】
図1に示されるように、本発明はコンピュータ、携帯電話、タブレットコンピュータ等の装置に用いるデータ検索におけるエラー修正装置を提供し、前記ハードウェア装置は、通常、CPU、入出力モジュール、メモリー及びほかのハードウェアモジュールを含む。本発明はウェブサイトフォーラムで大量のユーザーが発布する情報、サーバ中のビデオファイル及びユーザーの大量の履歴ログ等の多量のデータ情報を検索することができる。
【0015】
本発明の装置は、
すべての検索キーワードを統計して、前記検索キーワードの第1特徴を取得するように設定されるキーワード統計モジュール11と、
分類型データ構造の各ノードにN個(1以上の自然数)の検索キーワードを格納し、前記検索キーワードの第1特徴に基づき前記検索キーワードを予め構築した分類型データ構造に挿入するように設定されるキーワード挿入モジュール12と、
各ノードに格納した検索キーワードをそれぞれ2つずつ比較し、その比較結果に基づき、比較した2つの検索キーワードのうち、エラー検索キーワードと、それに対応したエラー修正用検索キーワードとを確定して、前記エラー検索キーワードと、それに対応したエラー修正用検索キーワードとでキー値対を構成するように設定されるキー値対応モジュール13と、
前記キー値対に基づき、受信した検索キーワードに対してエラー修正操作処理を行うように設定されるエラー修正操作モジュール14と、を備える。
【0016】
本発明によれば、分類型データ構造における各ノードに格納した検索キーワードを2つずつ比較するだけでよく、すべての検索キーワードを2つずつ比較する必要がなく、それによって、検索キーワードに対するエラー修正の計算量を大幅に減少させ、計算効率を向上させる。
【0017】
一般的には、キーワードをピン音又は五筆字型入力方法により出力するから、検索キーワード入力のランダム性や不規則性は入力法に起因する場合が多い。前記検索キーワードがエラー検索キーワードであるかエラー修正用検索キーワードであるかを確かめて、検索キーワードのエラー修正を効率よく行うために、前記キーワード統計モジュール11は前記検索キーワードを統計して、前記検索キーワードのピン音又は中国語文字筆画を取得して検索キーワードの第1特徴とする。
【0018】
本発明の実施形態において、本発明で予め構築した分類型データ構造はトライ木である。
【0019】
図2に示されるトライ木(Trie木)は、プレフィックス木とも呼ばれ、木構造であって、ハッシュ木の変形であり、代表的に大量のストリング(ストリングに限定されない)の統計、並べ替え及び保存に用いるため、検索エンジンシステムにおいて単語頻度統計に用いる場合が多く、ストリングの共通のプレフィックスを利用してクエリ時間を削減させ、できるだけ無用なストリング比較を減少させ、それによってクエリ効率がハッシュマップより高くなるという利点を有する。
図2では、ルートノードにキャラクターが格納されず、前記トライ木の各子ノードのそれぞれにストリングにおける一つのキャラクターが順次格納されており、トライ木に格納したストリングはab、abc、bd、ddaであり、ストリングの末端に黒色をもって該ストリングの終了を示す。
【0020】
本発明の一実施例では、トライ木の各ノードで、N個の検索キーワードが格納できる、即ちサイズがN(例えば、N=100)である検索キーワードテーブルが作成されている。本発明に係るキーワード挿入モジュール12は前記検索キーワードをピン音又は中国語文字筆画に基づきトライ木に挿入する。
【0021】
本発明の一実施例では、ピン音に基づき検索キーワードをトライ木中の特定ノードに対応した検索キーワードテーブルに挿入することを例にして説明する。
【0022】
本発明の一実施形態において、先ず、任意の検索キーワード中の各キャラクターのピン音先頭文字をキャラクターの順序に応じて配列し、勿論、検索キーワードが比較的長い場合は、予め設定された長さ(例えば、最初の4つ)を有する一部の検索キーワード中の各キャラクターのピン音先頭文字をキャラクターの順序に応じて配列してもよく、次に、前記ピン音先頭文字を配列順序に応じて同一の子木中のレベルが高くなるノードに配置し、例えば、第1キャラクターのピン音先頭文字をルートノードの子ノードに配置して、第2キャラクターのピン音先頭文字を第1キャラクターのピン音先頭文字が配置されたノードの子ノードに配置し、このようにして配置を行い、それによって、上記配置が終了した後、前記検索キーワード(又は予め設定された長さを有する一部の検索キーワード)の、順に配列しているキャラクターのピン音先頭文字は同一の子木のルートノードからレベルごとに後続のノードまでトラバーサルすることによって取得することができ、更に、前記検索キーワードを上記のようにトラバーサルした最後のノードに挿入する。例えば、
図3に示されるように、本発明で統計して得た検索キーワードは、「婚里婚外那些事児」、「婚礼婚外那些事児」、「環里環外那些事児」、「婚礼」、「婚里」、「狄仁傑」、「敵人姐」、「低熱界」であり、上記検索キーワードを獲得するためのピン音は、それぞれ「hunlihunwainaxieshier」、「hunlihunwainaxieshier」、「huanlihuanwainaxieshier」、「hunli」、「hunli」、「direnjie」、「direnjie」、「direjie」になる。具体的には、本発明では、1)検索キーワードの「婚里婚外那些事児」について最初の四つの文字のそれぞれのピン音先頭文字を「h」、「l」、「h」、「w」の順序に応じて配列し、2)各キャラクターのピン音先頭文字「h」、「l」、「h」、「w」を同一の子木の対応したノートに順次配置し、つまり、ピン音文字「h」をルートノードの子ノード、ピン音文字「l」をピン音文字「h」が配置されたノードの子ノード、ピン音文字「h」をピン音文字「l」が配置されたノードの子ノード、ピン音文字「w」をピン音文字「h」が配置されたノードの子ノードに配置し、3)検索キーワードの「婚里婚外那些事児」をピン音文字「w」が配置されたノードに挿入するように、ピン音に基づき検索キーワードの「婚里婚外那些事児」をトライ木に挿入する。このようなステップによって、検索キーワードの「婚礼婚外那些事児」、「環里環外那些事児」、「婚礼」、「婚里」、「狄仁傑」、「敵人姐」、「低熱界」をトライ木中の対応したノードに対応した検索キーワードテーブルに挿入する。上記記載から明らかなように、検索キーワードの「婚里婚外那些事児」、「婚礼婚外那些事児」及び「環里環外那些事児」は同一ノードに挿入され、検索キーワードの「婚礼」、「婚里」は同一ノードに挿入され、検索キーワードの「狄仁傑」、「敵人姐」、「低熱界」は同一ノードに挿入される。それぞれ「婚里婚外那些事児」、「婚礼婚外那些事児」及び「環里環外那些事児」を2つずつ比較し(3回)、「婚礼」、「婚里」を2つずつ比較し(1回)、「狄仁傑」、「敵人姐」、「低熱界」を2つずつ比較する(3回)。従来技術のように、「婚里婚外那些事児」、「婚礼婚外那些事児」、「環里環外那些事児」、「婚礼」、「婚里」、「狄仁傑」、「敵人姐」、「低熱界」の全てを2つずつ比較せずに済んで(56回)、それによって、検索キーワードに対するエラー修正の計算量を大幅に減少させ、計算効率を大幅に向上させる。
【0023】
上記実施例では、複数の子木を含むトライ木が作成されており、子木のそれぞれにおける各子ノート(下位ノード)が同一親ノード(下位ノード)を共用し、同一親ノードの子ノードがそれぞれ異なり、末端で黒色をもって該ストリングの終了を示し、各子ノードに対応した検索キーワードテーブル中の検索ワードのピン音頭文字から構成されるストリング中の各文字は順序に応じてトライ木の対応した枝の各ノードに格納されている。
【0024】
筆画に基づき検索キーワードをトライ木に挿入する場合は、ピン音に基づき検索キーワードをトライ木に挿入する場合と類似し、例えば、検索キーワードにおける各文字の最初の筆画を第1特徴として、設定された筆画の順序に応じてトライ木を作成する。そのため、ここで詳細な説明を省略する。
【0025】
勿論、本発明はトライ木以外の分類型データ構造、例えば二分探索木、三分探索木、リンクリスト等を使用して実現することもでき、本発明では、これについて限定がない。更に、当業者はピン音に基づき検索キーワードをトライ木に挿入する操作を使用して、前記検索キーワードを前記検索キーワードのピン音又は中国語文字筆画に基づき二分探索木、三分探索木、リンクリスト等のほかの分類型データ構造に挿入することができる。
【0026】
更に、本発明に係る前記キーワード統計モジュール11は、更に前記検索キーワードの検索履歴を取得することに用いる。具体的には、前記検索履歴は検索回数及び/又は既存のキー値対(既存のエラー修正ファイルに格納したキー値対)においてエラー検索キーワードおよびエラー修正用検索キーワードとして使用される履歴を含む。
【0027】
前記キーワード挿入モジュール12は、前記検索キーワードの第1特徴及び検索履歴に基づき前記検索キーワードを前記分類型データ構造に挿入する。
【0028】
本発明の好ましい実施例では、検索回数に基づき前記検索キーワードを並べ替え、次に順序に応じて、第1特徴に基づき前記検索キーワードをトライ木に挿入する。検索キーワードは検索回数が多いほど、エラー修正用検索キーワードとする確率が高い。更に、トライ木の各ノードで作成する検索キーワードテーブルのサイズはNであるため、検索回数に基づき検索キーワードを並べ替えた後、第1特徴に基づきトライ木に挿入することにより、検索回数が多い検索キーワードは先に挿入され、検索回数が少ない検索キーワードは後に挿入され或いは挿入できなくなる。従って、本実施例で作成するトライ木は、検索効率が更に高く、エラー修正の計算量を減少させ、エラー修正効果を向上させる。
【0029】
同様に、前記検索キーワードの、既存のキー値対においてエラー検索キーワードおよびエラー修正用検索キーワードとして使用される履歴を参照して、既存のキー値対においてエラー修正用検索キーワードとして使用される検索キーワードを先にトライ木に挿入することによっても、作成するトライ木は検索効率が更に高く、エラー修正の計算量を減少させ、エラー修正効果を向上させることを確保できる。
【0030】
図4に示されるように、本発明の一例示的な実施形態では、前記キー値対応モジュール13は、
各ノードに格納した検索キーワードの類似度を2つずつ計算して、類似度が第1所定閾値未満の2つのキーワードを第1キーワード対として設定する類似度計算サブモジュール131と、
前記検索キーワードの検索履歴に基づき、前記第1キーワード対のエラー検索キーワードと、それに対応したエラー修正用検索キーワードとを確定して、前記エラー検索キーワードと、それに対応したエラー修正用検索キーワードとでキー値対を構成するキー値確定サブモジュール132とを備える。
【0031】
本発明に係る類似度計算サブモジュール131で取得した第1キーワード対の類似度が第1所定閾値未満である場合は、第1キーワード対の二つの検索キーワードのうち、一方の検索キーワードが入力のランダム性や不規則性に起因するエラー検索キーワードである可能性があることを示す。従って、キー値確定サブモジュール132を使用して検索履歴と組み合わせて、第1キーワード対の2つの検索キーワードのうち、どの検索キーワードがエラー検索キーワードであるか、どの検索キーワードがエラー修正用検索キーワードであるかを確定する。前記第1所定閾値は当業者によってニーズや経験に応じて設定される。
【0032】
具体的には、前記各ノードに格納した検索キーワードの2つずつの類似度(類似程度)の計算は編集距離を使用して実行することができる。編集距離(Edit Distance)は、Levenshtein距離とも呼ばれ、2つのストリング間で一方を他方に変換するのに必要な最少編集操作回数を意味する。許容される編集操作は、一つのキャラクターから他のキャラクターへの変換、一つのキャラクターの挿入、一つのキャラクターの削除を含む。検索キーワードq1と検索キーワードq2の類似度Sを計算する場合は、
S=D/L(但し、Dは検索キーワードq1と検索キーワードq2の編集距離、Lは検索キーワードq1と検索キーワードq2の最大距離(検索キーワードの最大文字数)を示す)である。
【0033】
例えば、検索キーワードの「婚礼婚外那些事」と検索キーワードの「婚里婚外那些事」の編集距離が1であり、つまり「礼」を「里」にするように一回変換する。検索キーワードの「婚礼婚外那些事」と検索キーワードの「婚里婚外那些事」の最大距離は7であり、この場合、検索キーワードの「婚礼婚外那些事」と検索キーワードの「婚里婚外那些事」の類似度は1/7になる。
【0034】
ここで、検索キーワードq1と検索キーワードq2の編集距離は2つの検索キーワードのキャラクター同士の変換回数であり、勿論、2つの検索キーワードのピン音同士の変換回数を考慮に入れてもよく、例えば「direnjie」と「direjie」の編集距離が1である。好ましくは、検索キーワードq1と検索キーワードq2のキャラクターの編集距離に一つの重み付け値を乗じた積と、検索キーワードq1と検索キーワードq2のピン音編集距離に他の重み付け値を乗じた積とを加算して、検索キーワードq1と検索キーワードq2の編集距離とする。前記重み付け値は当業者によってシステムのニーズに応じて設定される。
【0035】
なお、本発明の実施形態では、予め記憶した正確な検索キーワードを格納するための正確な検索キーワードのデータベースが更に含まれる。例えば、前記第1キーワード対の一方の検索キーワードが前記の正確な検索キーワードのデータベースにおける正確な検索キーワードである場合は、該検索キーワードをエラー修正用検索キーワード、他方の検索キーワードをエラー検索キーワードとして確定する。例えば、前記第1キーワード対のいずれの検索キーワードも前記の正確な検索キーワードのデータベースにおける正確な検索キーワードではない場合は、更にキー値確定サブモジュール132を使用して検索履歴と組み合わせて、第1キーワード対の2つの検索キーワードのうち、どの検索キーワードがエラー検索キーワードであるか、どの検索キーワードがエラー修正用検索キーワードであるかを確定する。
【0036】
更に、前記キー値確定サブモジュール132は、検索回数及び/又は既存のキー値対においてエラー検索キーワードおよびエラー修正用検索キーワードとして使用される履歴に基づき、第1キーワード対のエラー検索キーワードと、それに対応したエラー修正用検索キーワードとを確定する。例えば、前記キー値確定サブモジュール132は、第1キーワード対の2つの検索キーワードの検索回数を比較し、検索回数が少ない検索キーワードの検索回数/検索回数が多い検索キーワードの検索回数として両者の検索比を取得する。前記検索比が第3所定閾値未満であれば、検索回数が少ない搜素キーワードはエラー検索キーワード、検索回数が多い検索キーワードはエラー修正用検索キーワードである。前記第3所定閾値は当業者によってニーズや経験に応じて設定される。また、例えば、前記キー値確定サブモジュール132は、第1キーワード対の2つの検索キーワードの、既存のキー値対においてエラー検索キーワードおよびエラー修正用検索キーワードとして使用される履歴を参照して、一方の検索キーワードが既存のキー値対においてエラー検索キーワードとして使用されれば、この検索キーワードはエラー検索キーワード、他方の検索キーワードはエラー修正用検索キーワードとして確定する。
【0037】
本発明では、単独に検索回数、又は、既存のキー値対においてエラー検索キーワードおよびエラー修正用検索キーワードとして使用される履歴に基づき、第1キーワード対のエラー検索キーワードと、それに対応したエラー修正用検索キーワードとを確定する。本発明では、検索回数と、既存のキー値対においてエラー検索キーワードおよびエラー修正用検索キーワードとして使用される履歴との組み合わせに基づき、第1キーワード対のエラー検索キーワードと、それに対応したエラー修正用検索キーワードとを総合的に確定することもできる。例えば、先ず、既存のキー値対においてエラー検索キーワードおよびエラー修正用検索キーワードとして使用される履歴に基づき、第1キーワード対の一方の検索キーワードをエラー検索キーワード、他方の検索キーワードをエラー修正用検索キーワードとし、次に、第3所定閾値を極めて小さな値に設定し、検索回数が少ない検索キーワードの検索回数/検索回数が多い検索キーワードの検索回数が該第3所定閾値未満である時に、元にエラーとして設定した検索キーワードを、エラー修正用として設定した検索キーワードに変え、元にエラー修正用として設定した検索キーワードを、エラー検索キーワードに変える。このようにして、単独に検索回数又は従来のキー値を考慮に入れることに起因する誤判断を回避して、第1キーワード対のエラー検索キーワードと、それに対応したエラー修正用検索キーワードとを確定する精度を向上させる。
【0038】
更に、本発明に係るキー値確定サブモジュール132は、前記検索キーワードの検索履歴に基づき、前記第1キーワード対のエラー検索キーワードと、それに対応したエラー修正用検索キーワードとを確定した後に、前記エラー検索キーワードと、それに対応したエラー修正用検索キーワードとのエラー度(差異度)を計算する。前記エラー度が第2所定閾値より大きい場合に、前記エラー検索キーワードと、それに対応したエラー修正用検索キーワードとでキー値対を構成する。前記第2所定閾値は当業者によってニーズ及び経験に応じて設定される。
【0039】
エラー検索キーワードと、それに対応したエラー修正用検索キーワードとのエラー度は、具体的に、対応したエラー修正用検索キーワードに対するエラー検索キーワードのエラー確率である。対応したエラー修正用検索キーワードに対するエラー検索キーワードのエラー度と、エラー検索キーワードとそれに対応したエラー修正用検索キーワードとの類似度とが比例し、即ち、類似度が高いほど、エラー度が高い。
【0040】
例えば、エラー検索キーワード=「婚礼婚外那些事」、エラー修正用検索キーワード=「婚里婚外那些事」では、2つの検索キーワードは類似度が非常に高いため、エラー度が高い(注釈:「婚里婚外那些事」はドラマの名前である)。
【0041】
また、エラー検索キーワードが「婚礼」、エラー修正用検索キーワードが「婚里婚外那些事」である場合は、2つの検索キーワードは類似度が非常に低いため、エラー度が極めて低い。「婚礼」も語彙であり、エラー検索キーワードとして識別できないことが明らかであり、「婚礼」は「婚里婚外那些事」とキー値対を構成することができない。
【0042】
更に、対応したエラー修正用検索キーワードに対するエラー検索キーワードのエラー度と、エラー検索キーワードとそれに対応したエラー修正用検索キーワードとの検索比とが反比例し、即ち、検索比が高いほど、エラー度が低い。
【0043】
例えば、エラー検索キーワードが「天下第一丑」で、9000回検索され、エラー修正用検索キーワードが「天下第一刀」で、10000回検索される場合は、両方の検索比は0.9と高い。この場合は、対応したエラー修正用検索キーワードに対するエラー検索キーワードのエラー度が低いとするため、「天下第一丑」と「天下第一刀」はキー値対にしてはならない。実際には、「天下第一丑」と「天下第一刀」はそれぞれドラムの名前とバラエティ番組の名前である。
【0044】
また、例えば、エラー検索キーワードが「狄人傑」で、100回検索され、エラー修正用検索キーワードが「狄仁傑」で、10000回検索される場合は、両者の検索比は0.01である。この場合は、対応したエラー修正用検索キーワードに対するエラー検索キーワードのエラー度が非常に高く、「狄人傑」と「狄仁傑」をキー値対にすべきである。
【0045】
上記の原因によって、前記エラー度は類似度と比例して、検索比と反比例する。具体的には、その式として、エラー度=類似度
k*(1−検索比)とすることができ、ここで、kは類似度の重みを示し、k=1は、類似度と検索比の重視度が同じであることを示し、k>1は類似度を重視することを示し、k<1は検索比を重視することを示す。
【0046】
前記エラー度の計算式としても、エラー度=類似度
k/検索比とすることができ、但し、前記エラー度は類似度と比例して、検索比と反比例するだけでよい。
【0047】
各ノード中のキー値対のうちの一つのキー値対のエラー修正用検索キーワードが他のキー値対のエラー検索キーワードであれば、このキー値対のエラー検索キーワードは本質的にエラー修正を必要としない検索キーワードであることを示す。従って、本発明は、すべてのキー値対から、エラー修正用検索キーワードが他のキー値対のエラー検索キーワードであるキー値対をフィルタリングして、残ったキー値対を格納するフィルタリング処理モジュールを更に備える。
【0048】
具体的には、本発明に係るエラー修正操作モジュール14は、メモリーにキー値対で構成されるエラー修正ファイルをロードして、ハッシュマップ(hashmap)を構成して、キー(key)をエラー検索キーワード、値(value)をエラー修正用検索キーワードとして設定し、入力した検索キーワードを判別し、ハッシュマップに入力した検索キーワードと同様なキーが存在すれば、入力した検索キーワードに対して直接エラー修正を行い、キーに対応した値をエラー修正後の検索キーワードとし、エラー修正後の検索キーワードに基づきデータ検索を行って、対応した検索結果を取得する。
【0049】
本発明の装置に対応して、本発明は更にデータ検索におけるエラー修正方法を提供し、
図5に示されるように、前記方法は、
すべての検索キーワードを統計して、前記検索キーワードの第1特徴を取得するステップS1と、
分類型データ構造の各ノードにN個(1以上の自然数)の検索キーワードを格納し、前記検索キーワードの第1特徴に基づき前記検索キーワードを予め構築した分類型データ構造に挿入するステップS2と、
各ノードに格納した検索キーワードをそれぞれ2つずつ比較し、その比較結果に基づき、比較した前記の2つの検索キーワードのうち、エラー検索キーワードと、それに対応したエラー修正用検索キーワードとを確定して、前記エラー検索キーワードと、それに対応したエラー修正用検索キーワードとでキー値対を構成するステップS3と、
前記キー値対に基づき、受信した検索キーワードに対してエラー修正操作処理を行うステップS4とを含む。
【0050】
本発明によれば、分類型データ構造における各ノードに格納した検索キーワードを2つずつ比較するだけでよく、すべての検索キーワードを2つずつ比較する必要がなく、それによって、検索キーワードに対するエラー修正の計算量を大幅に減少させ、計算効率を向上させる。
【0051】
一般的にはキーワードをピン音又は五筆字型入力方法により入力するから、検索キーワード入力のランダム性や不規則性は入力法に起因する場合が多い。前記検索キーワードがエラー検索キーワードであるか、エラー修正用検索キーワードであるかを確かめて、検索キーワードに対してエラー修正を効率よく行うために、前記検索キーワードを統計して、前記検索キーワードのピン音又は中国語文字筆画を取得して検索キーワードの第1特徴とする。
【0052】
本発明の実施形態では、本発明で作成した分類型データ構造はトライ木である。トライ木を構成した後、トライ木の各ノードで、N個の検索キーワードを格納できる、即ちサイズがN(例えばN=100)である検索キーワードテーブルを構成する。
【0053】
前記ステップS1では、さらに前記検索キーワードの検索履歴を取得する。具体的には、前記検索履歴は、検索回数及び/又は既存のキー値対においてエラー検索キーワードおよびエラー修正用検索キーワードとして使用される履歴を含む。
【0054】
前記ステップS2では、前記検索キーワードの第1特徴及び検索履歴に基づき前記検索キーワードを前記分類型データ構造に挿入する。
【0055】
本発明の好ましい実施例では、検索回数に基づき前記検索キーワードを並べ替え、次に当該順序に応じて前記検索キーワードをトライ木に挿入する。検索キーワードは検索回数が多いほど、エラー修正用検索キーワードとする確率が高く、更に、トライ木の各ノードで作成した検索キーワードテーブルのサイズがNに固定されたため、検索回数に基づき検索キーワードを並べ替えた後に、トライ木に挿入することによって、検索回数が多い検索キーワードが先に挿入され、検索回数が少ない検索キーワードが後に挿入され或いは挿入できないことが確保できる。従って、本実施例で作成したトライ木は、検索効率が更に高く、エラー修正の計算量を減少させ、エラー修正効果を向上させる。
【0056】
同様に、前記検索キーワードの、既存のキー値対においてエラー検索キーワードおよびエラー修正用検索キーワードとして使用される履歴を参照して、既存のキー値対においてエラー修正用検索キーワードとして使用される検索キーワードを先にトライ木に挿入することによっても、作成したトライ木は検索効率が更に高く、エラー修正の計算量を減少させ、エラー修正効果を向上させる。
【0057】
図6に示されるように、前記ステップS3は、
各ノードに格納した検索キーワードの類似度を2つずつ計算して、類似度が第1所定閾値未満の2つのキーワードを第1キーワード対として設定するステップS31と、
前記検索キーワードの検索履歴に基づき、前記第1キーワード対のエラー検索キーワードと、それに対応したエラー修正用検索キーワードとを確定して、前記エラー検索キーワードと、それに対応したエラー修正用検索キーワードとでキー値対を構成するステップS32とを含む。
【0058】
本発明のステップS31で取得した第1キーワード対の類似度が第1所定閾値未満であれば、第1キーワード対の2つの検索キーワードののうち、一方の検索キーワードが、入力のランダム性や不規則性に起因するエラー検索キーワードである可能性があることを示す。従って、ステップS2では、検索履歴と組み合わせて第1キーワード対の2つの検索キーワードのうち、どの検索キーワードがエラー検索キーワードであるか、どの検索キーワードがエラー修正用検索キーワードであることを確定する。前記第1所定閾値は当業者によってニーズ及び経験に応じて設定される。
【0059】
更に、検索回数及び/又は既存のキー値対においてエラー検索キーワードおよびエラー修正用検索キーワードとして使用される履歴に基づき、第1キーワード対のエラー検索キーワードと、それに対応したエラー修正用検索キーワードとを確定する。例えば、第1キーワード対の2つの検索キーワードの検索回数を比較して、検索回数が少ない検索キーワードの検索回数/検索回数が多い検索キーワードの検索回数として両者の検索比を取得する。前記検索比が第3所定閾値未満であれば、この検索キーワードはエラー検索キーワード、他方の検索キーワードはエラー修正用検索キーワードである。前記第3所定閾値は当業者によってニーズ及び経験に応じて設定される。また、例えば、第1キーワード対の2つの検索キーワードの、既存のキー値対においてエラー検索キーワードおよびエラー修正用検索キーワードとして使用される履歴を参照して、一方の検索キーワードが既存のキー値対においてエラー検索キーワードとして使用される場合は、この検索キーワードをエラー検索キーワード、他方の検索キーワードをエラー修正用検索キーワードとして確定する。
【0060】
本発明は、前記検索キーワードの検索履歴に基づき、前記第1キーワード対のエラー検索キーワードと、それに対応したエラー修正用検索キーワードとを確定した後に、前記エラー検索キーワードと、それに対応したエラー修正用検索キーワードとののエラー度(類似度)を計算する必要がある。前記エラー度が第2所定閾値より大きい場合のみ、前記エラー検索キーワードと、それに対応したエラー修正用検索キーワードとでキー値対を構成する。前記第2所定閾値は当業者によってニーズ及び経験に応じて設定される。
【0061】
本発明に係る方法は、すべてのキー値対から、エラー修正用検索キーワードが他のキー値対のエラー検索キーワードであるキー値対をフィルタリングして、残ったキー値対を格納するステップを更に含む。
【0062】
各ノード中のキー値対のうちの一つのキー値対のエラー修正用検索キーワードが他のキー値対のエラー検索キーワードである場合は、このキー値対のエラー検索キーワードは本質的にエラー修正を必要としない検索キーワードであることを示す。
【0063】
具体的には、本発明のステップS4では、メモリーにキー値対で構成されるエラー修正ファイルをロードして、ハッシュマップ(hashmap)を構成して、キー(key)をエラー検索キーワード、値(value)をエラー修正用検索キーワードとして設定し、入力した検索キーワードを判別し、ハッシュマップに入力した検索キーワードと同様なキーが存在すれば、入力した検索キーワードに対して直接エラー修正を行って、キーに対応した値をエラー修正後の検索キーワードとし、エラー修正後の検索キーワードに基づきデータ検索を行って、対応した検索結果を取得する。
【0064】
以下、一実施形態を参照して更に本発明の原理を説明する。
【0065】
すべての検索キーワードのピン音及び検索回数を統計して、26個のノードを持つトライ木を作成し、検索回数に基づきすべての検索キーワードを並べ替えた後に、ピン音に基づき該トライ木に挿入する。該トライ木の各ノードの検索キーワードテーブルのサイズは100で、即ち、各ノードに100個の検索キーワードが格納できる。
【0066】
各ノードに格納した検索キーワードの類似度を2つずつ計算して、類似度が第1所定閾値未満の2つのキーワードを第1キーワード対として設定する。
【0067】
前記検索キーワードの検索回数を比較し、検索回数が少ない検索キーワードの検索回数/検索回数が多い検索キーワードの検索回数として両者の検索比を取得する。前記検索比が第3所定閾値未満であれば、検索回数が少ない検索キーワードはエラー検索キーワード、他方の検索キーワードはエラー修正用検索キーワードである。
【0068】
前記エラー検索キーワードと、それに対応したエラー修正用検索キーワードとのエラー度を計算する。前記エラー度が第2所定閾値より大きい場合は、前記エラー検索キーワードと、それに対応したエラー修正用検索キーワードとでキー値対を構成する。
【0069】
すべてのキー値対から、エラー修正用検索キーワードが他のキー値対のエラー検索キーワードであるキー値対をフィルタリングして、残ったキー値対を格納する。
【0070】
従って、本発明によれば、従来技術のように、26*100個の検索キーワードを2つずつ比較し、すべての検索キーワードの類似度を2つずつ計算する必要がなく、それぞれ26個のノードのそれぞれに格納した100個の検索キーワードを2つずつ比較し、すべてのエラー検索キーワードと、それに対応したエラー修正用検索キーワードとを見つけてキー値対を構成するだけでよい。本発明では、検索キーワードに対するエラー修正の計算量を減少させ、計算効率を向上させる。
【0071】
本発明では、メモリーに取得したキー値対で構成されるエラー修正ファイルをロードして、ハッシュマップ(hashmap)を構成して、キー(key)をエラー検索キーワード、値(value)をエラー修正用検索キーワードとして設定し、入力した検索キーワードを判別し、ハッシュマップに入力した検索キーワードと同様なキーが存在すれば、入力した検索キーワードに対して直接エラー修正を行い、キーに対応した値をエラー修正後の検索キーワードとし、エラー修正後の検索キーワードに基づきデータ検索を行って、対応した検索結果を取得する。
【0072】
本発明に係る方法は、コンピュータ、携帯電話、タブレットコンピュータ等の装置に適用でき、前記ハードウェア装置としては、通常、CPU、入出力モジュール、メモリー及びほかのハードウェアモジュールを含む。当業者にとっては、上記方法を実現する実施例の全部又は一部のステップをCPUによってプログラムによって関連ハードウェアに命令を出して行うことができ、上記プログラムは、ROM、RAM、磁気ディスク又はコンパクトディスク等のプロクラムコードを記憶可能な各種媒体を含む、コンピュータの読み取り可能な記憶媒体に記憶されてもよい。該プログラムは実行時に、上記方法の実施例のステップを実行する。
【0073】
なお、以上の各実施例は本発明の技術案を説明するものに過ぎず、限定するものではない。上記の各実施例を参照して本発明を詳細に説明したが、当業者にとっては、上記の各実施例に記載の技術案に対して変更したり、それらの一部の又は全部の技術的特徴等を同等置換したりすることができることが明らかなことであり、これらの変更や置換によって、対応した技術案が本発明の各実施例における技術案の趣旨の範囲を脱逸することがない。
【国際調査報告】