【実施例1】
【0029】
本開示では、テキストコンテンツは意味キーワードに基づきフィルタリングされる。意味キーワードは、2つの基本構成要素である基本キーワードと論理演算子で構成される。基本キーワードは独立した単語または句であり、既存の技術で受け入れられた単純なキーワードと同等のものであってもよい。論理演算子は、論理関係を表現するのに用いられる。基本論理関係は論理積、論理和、および否定を有し、それぞれ記号“&”、“│”、および“〜”で表わすことが可能である。以下は、電子商取引ウェブサイトのテキストフィルタリングの意味キーワードのいくつかの簡単な例である。
【0030】
(a)携帯電話盗聴〜対
前述の意味キーワードで表わされる意味は、製品情報が「携帯電話盗聴」を含み、「対」を含まない場合、そのような製品情報がフィルタリングされる必要があることを意味すると解釈してもよい。
【0031】
(b)監視カメラ│無線監視カメラ
前述の意味キーワードで表わされる意味は、製品情報が「監視カメラ」または「無線監視カメラ」を含む場合、そのような製品情報がフィルタリングされる必要があることを意味すると解釈してもよい。
【0032】
(c)軍&縛る
前述の意味キーワードで表わされる意味は、製品情報が「軍」および「縛る」を含む場合、そのような製品情報がフィルタリングされる必要があることを意味すると解釈してもよい。
【0033】
1つの意味キーワードに対し、最も単純な型は論理演算子を加えた2つの基本キーワードであってもよい。前述の3つの例は、全てそのような状態である。意味キーワードが基本キーワードにのみ載せられるとき、テキストフィルタリングは実際は既存の技術と同一である。本開示は、そのような状態の詳細は記載しない。1つの意味キーワードがより多くの基本キーワードおよび論理演算子を有し、より複雑な意味を表現することが可能であることが理解される。1つの例を以下に示す。
【0034】
(d)携帯電話盗聴〜(対│防ぐ)
前述の意味キーワードで表わされる意味は、製品情報が「携帯電話盗聴」を含み、「対」または「防ぐ」を含まない場合、そのような製品情報がフィルタリングされる必要があることを意味すると解釈してもよい。
【0035】
本開示の望ましい実施形態において、意味キーワードのコンテンツは、後述するようにさらに拡張が可能である。
【0036】
意味キーワードは、フィルタリング条件を含むことができる。実際に、前述の基本キーワードおよび論理演算子と異なり、フィルタリング条件はテキストのコンテンツ内の詳細と無関係である。フィルタリング条件の機能は、テキストまたはテキストのカテゴリのソースへの制限のような、テキストの他の特性に基づいたフィルタリングへのさらなる制限を行い、より正確なフィルタリングを実施することである。
【0037】
意味キーワードはさらに、フィルタリングアクションを有して、意味キーワードと合致するテキストコンテンツのコンテンツフィルタ、コンテンツ置換などのような詳細な処理を提供できる。
【0038】
以下の3つの例は、前述の(a)、(b)、および(c)の例にそれぞれフィルタリング条件およびフィルタリングアクションを追加し、意味キーワードの拡張した型を説明する。セミコロンの前の部分は、基本キーワードおよび論理演算子である。セミコロンの後の部分は、拡張したコンテンツである。種々の拡張したコンテンツは、コンマで分離される。本開示の実施形態は、意味の特定のフォーマットを制限しない。
【0039】
(a1)携帯電話盗聴〜対;製品カテゴリ:1002,フィルタリングアクション:在庫有り
前述の意味キーワードで表わされる意味は、製品情報が「携帯電話盗聴」を含み、「対」を含まず、製品カテゴリが1002である場合、そのような製品情報が在庫有りである必要があることを意味すると解釈してもよい。
【0040】
(b1)監視カメラ│無線監視カメラ;製品カテゴリ:101,フィルタリングアクション:在庫有り
前述の意味キーワードで表わされる意味は、製品情報が「監視カメラ」または「無線監視カメラ」を含み、製品カテゴリが101である場合、そのような製品情報が在庫有りである必要があることを意味すると解釈してもよい。
【0041】
(c1)軍&縛る;製品カテゴリ:50001,フィルタリングアクション:在庫有り
前述の意味キーワードで表わされる意味は、製品情報が「軍」および「縛る」を含み、製品カテゴリが50001である場合、そのような製品情報が在庫有りである必要があることを意味すると解釈してもよい。
【0042】
以下の記載で、詳細なプロセスを参照して実施形態を説明する。
図1は、後述するようないくつかのステップを有するテキストフィルタリング方法を示す。
【0043】
S101:入力テキストの取得後、テキストフィルタリングシステムは、予め定義された意味キーワードにより、入力テキスト内の意味キーワードを構成する基本キーワードを見つける。
【0044】
このステップで、テキストフィルタリングシステムは、入力テキストの部分の取得後、入力テキスト内の基本キーワードをサーチし、サーチの結果を記録する。例えば、前述の例(b)または(b1)に対し、テキストフィルタリングシステムは最初に「監視カメラ」および「無線監視カメラ」をサーチする。このステップの詳細な実施は既存の技術による単純なキーワードに基づくマッチング方法と同様であり、簡潔にするため、本明細書には詳細に記載しない。
【0045】
S102:入力テキスト内のテキストコンテンツの少なくとも1つの基本キーワードとの合致が見つかった場合、プロセスは見つかったテキストコンテンツ内の意味マッチングを実行する。
【0046】
ステップS101で、サーチは基本キーワードにのみ基づく。コンテンツマッチングでいずれの基本キーワードも見つからない場合、入力テキストのフィルタリング処理を実行する必要はない。テキストコンテンツの少なくとも1つの基本キーワードとの合致が見つかった場合、テキストフィルタリングシステムは、さらに見つかったテキストコンテンツを完全な意味キーワードと比較する。このステップは、意味マッチングと呼ばれる。
【0047】
意味キーワードが基本キーワードおよび論理演算子のみを有する場合、意味マッチングの詳細な内容は以下のようになる。予め定義された意味キーワード内の論理演算子により、見つかったテキストコンテンツが意味キーワードとマッチングされる。例を以下に述べる。
【0048】
前述の例(a)に対し、テキストフィルタリングシステムは、入力テキストに基本キーワード「携帯電話盗聴」を見つけ、基本キーワード「対」を見つけない。言い換えれば、2つの基本キーワードの実際のサーチ結果は、意味キーワード(a)内の2つの基本キーワードの定義された論理関係「否定」に合致する。よって、見つかったテキストコンテンツは、意味キーワード(a)に合致する。
【0049】
前述の例(c)に対し、テキストフィルタリングシステムは、基本キーワード「縛る」を見つけ、基本キーワード「軍」を見つけない。言い換えれば、2つの基本キーワードの実際のサーチ結果は、意味キーワード(c)内の2つの基本キーワードの論理関係「論理積」に合致しない。よって、見つかったテキストコンテンツは、意味キーワード(c)に合致しない。
【0050】
意味キーワードが拡張したコンテンツ「フィルタリング条件」も有する場合、入力テキストの特性とフィルタリング条件の間のマッチング結果は、意味マッチングが実行されるときさらに検討される。
【0051】
S103:意味マッチングが成功した場合、プロセスは合致したテキストコンテキストをフィルタリングする。
【0052】
ステップS102で、意味キーワードに正常に合致するテキストに対し、テキストフィルタリングシステムは、フィルタリングプロセスを実行する。意味キーワードが「フィルタリングアクション」を含む場合、テキストフィルタリングシステムは、「フィルタリングアクション」の詳細な内容によりテキストのフィルタリング処理を実行する。意味キーワードが「フィルタリングアクション」を含まない場合、テキストフィルタリングシステムは、予め定義された既定の方法によりフィルタリングプロセスを実行する。
【実施例2】
【0053】
既存の技術は、通常入力テキスト内の全ての単語の1つずつのサーチを必要とする。ステップS101に対し、本開示は、キーワードサーチの処理効率を上げるための基本キーワードをサーチする改善された方法を提供する。
【0054】
実際のテキストフィルタリングの適用において、フィルタリングされる多くの単語は、「盗聴」、「盗聴装置」、「盗聴ソフトウェア」などのような同一の部分を有する。そのような単語に対し、ツリー型サーチ方法をサーチ効率の改善に使用できる。
【0055】
最初に、テキストフィルタリングシステムは、文字を単位として使用し、ツリー型構造によりそれぞれの基本キーワードを格納する。基本キーワードの第1の文字はルートノードであり、基本キーワードの最後の文字はリーフノードである。第1の文字が同一の基本キーワードは、同一のルートノードを共有する。例えば、“ab”、“abc”および“ade”に対し、これらを
図2に示された構造を用いて格納できる。
【0056】
図2では、円形がルートノードまたは一般ノードを表す。菱形がリーフノードを表す。3つの単語“ab”、“abc”および“ade”は同一の第1の文字“a”で始まるので、これらは同一のルートノード1を共有する。この3つの単語の最後の文字は、それぞれ“b”、“c”および“e”である。よってこれらの3文字は、それぞれリーフノード2、3、および5である。文字“b”に対し、これはキーワード“abc”の最後の文字ではないが、キーワード“ab”の最後の文字であることが分かる。よって文字“b”は、なおリーフノードになる。言い換えれば、リーフノードは必ずしもツリー型構造の終了ノードではない。しかし、ツリー型構造の終了ノードはリーフノードである。
【0057】
図3は、本開示による基本キーワードのサーチ方法を示す。方法は、後述のように、いくつかのステップを有する。
【0058】
S301:プロセスは入力テキスト内の文字を取得し、文字を現在の文字に、またツリー型構造のルートノードを現在のノードに設定する。実際のフィルタリング適用の要求によって、取得された文字が入力テキストの第1の文字であってもよいし、または入力テキストのいずれの位置の文字であってもよい。
【0059】
S302:プロセスは、現在の文字を現在のノードとマッチングする。合致する場合、プロセスはS303へ進む。そうでなければ、プロセスはS304へ進む。
【0060】
S303:プロセスは、現在のノードが子ノードを持つかどうか判断する。結果が否定であれば、サーチは終了する。結果が肯定であれば、サーチは現在のノードの子ノードである入力テキスト内の現在の文字の次の文字に続き、ステップS302が実行される。
【0061】
S304:プロセスは、現在のノードが兄弟ノードを有するかどうか判断する。結果が否定であれば、サーチは終了する。結果が肯定であれば、現在の文字は保持されて変更されず、サーチは現在のノードの兄弟ノードに続き、ステップS302が実行される。
【0062】
サーチが完了した後、テキストフィルタリングシステムは現在のノードをルートノードと結合してマッチングルートを取得し、リーフノードによって見つかった基本キーワードがマッチングルートで正常な合致があるかどうか判断する。
【0063】
2つの特定の例で、ツリー型構造に基づく基本キーワードのサーチ方法を後述する。
【0064】
(1)入力テキストを“adf”と仮定する。文字“a”を取得した後、テキストフィルタリングシステムはキーワードデータベースのルートノードをスキャンし、それがノード1に合致するのを見つける。ノード1は子ノードも有する。テキストフィルタリングシステムは、さらに文字“d”をノード1の子ノード2および4とマッチングする。
【0065】
文字“d”はノード4と正常に合致し、ノード4は子ノードを有する。テキストフィルタリングシステムは、さらに文字“f”をノード4の子ノード5とマッチングする。
【0066】
文字“f”とノード5の間のマッチングが失敗し、ノード5は他の兄弟ノードを持たない。この時点でサーチは終了する。現在のマッチングルートは1−4−5であり、マッチングルートは正常に合致したリーフノードを有さない。従って、入力テキスト内に基本キーワードが存在しないと判断することができる。
【0067】
(2)入力テキストを“abc”と仮定する。文字“a”を取得した後、テキストフィルタリングシステムはキーワードデータベースのルートノードを横断し、それがノード1に合致するのを見つける。ノード1は子ノードも有する。テキストフィルタリングシステムは、さらに文字“b”をノード1の子ノード2および4とマッチングする。
【0068】
文字“b”はノード2と正常に合致し、ノード2は子ノードを有する。テキストフィルタリングシステムは、さらに文字“c”をノード2の子ノード3とマッチングする。
【0069】
文字“c”とノード4の間のマッチングが成功し、ノード3は他の兄弟ノードを持たない。この時点でサーチは終了する。現在のマッチングルートは1−2−3である。ノード2およびノード3の両方が、正常に合致したリーフノードである。従って、ノード2およびノード3の内容によって、入力テキスト内で基本キーワード“ab”および“abc”が見つかったと判断できる。
【0070】
ツリー型構造に基づく基本キーワードのサーチ方法の適用において、それぞれのレベルのマッチング動作は、最後のマッチングで正常に合致するノードのみを対象とする。よって、入力テキストのそれぞれの文字を全てのキーワード文字とマッチングする必要がなく、それによって効果的にキーワードサーチの処理効率を上げる。
【0071】
前述の例は、第1の文字をルートノードとして用いることで説明される。そのような方法は、複数の基本キーワードが同一の接頭辞、例えば同一の第1の文字を有するときの状況に適用可能である。複数の基本キーワードが「電話盗聴」、「携帯電話盗聴」、「装置盗聴」のような同一の接尾辞を有するとき、基本キーワードを、基本キーワードの最後の文字がルートノードで第1の文字がリーフノードであるツリー型構造で基本キーワードを格納することもできることが理解される。マッチングプロセスに応じて、プロセスはキーワードの終わりから始めへの順番に従い、入力テキストの文字マッチングをしてもよい。そのようなプロセスの詳細な実施は前述と同様であり、よって、簡潔にするためここでは重掲しない。
【0072】
また、テキストフィルタリングを防ぐため、発表されたテキスト内に「盗−聴−装−置」などのような特殊文字を使用する多くの人がいる。そのような状況に対し、テキストフィルタリングシステムはさらに辞書機能を組み合わせてキーワードをサーチすることができる。
【0073】
辞書は文字のセットを定義し、文字のプロトタイプを定義する。プロトタイプは、文字そのものでありうる。例えば、文字“a”のプロトタイプは“a”自身である。プロトタイプは、他の文字でもありうる。例えば、中国語繁体字のプロトタイプは、それに対応する中国語簡体字である。中国語の適用において、頻繁に使用される辞書は、中国語簡体字辞書、中国語繁体字辞書、英語辞書、および数字辞書を含む。また、管理担当者は、実際の必要により自分で定義する辞書も使用できる。例えば、文字“−”のプロトタイプは、空文字として定義される。
【0074】
前述のステップS302によれば、テキストフィルタリングシステムは、現在の文字を現在のノードとマッチングする前に、現在の文字がプロトタイプ文字を含むかどうかサーチが可能である。肯定の場合、テキストフィルタリングシステムは現在の文字を対応するプロトタイプ文字に変換し、プロトタイプ文字を現在の文字として使用し、現在のノードとマッチングする。
【0075】
前述の例(2)の1つの例として、入力テキストを“aBc”と仮定すると、テキストフィルタリングシステムは、文字“B”をノード2とマッチングする前に、全ての辞書を横断して文字“B”がプロトタイプ“b”を有することを見つけ、オリジナルの入力テキスト内の“B”をプロトタイプ“b”に変換し、“b”を現在の文字として使用してノード2をマッチングする。
【0076】
「盗−聴」のようなテキストに対し、テキストフィルタリングシステムは辞書の問い合わせをし、文字“−“を空文字に変換する。マッチングプロセスの間、テキストフィルタリングシステムが”盗“の後の文字をマッチングするとき、システムは空文字を飛ばして直接文字”聴“をマッチングする。
【0077】
従って、1つまたは複数の辞書を使用して文字を変換することにより、テキストフィルタリングシステムはより不適切な情報を識別でき、それによってよりよいテキストフィルタリング結果を実現する。
【0078】
前述の方法の実施形態に対応して、本開示は
図4を参照してテキストフィルタリングシステムも提供する。テキストフィルタリングシステムは、後述のように、いくつかの構成要素を有する。
【0079】
キーワード記憶ユニット410は予め定義された意味キーワードを格納し、意味キーワードは少なくとも1つの基本キーワードおよび1つの論理演算子を有する。
【0080】
基本発見ユニット420は、システムが入力テキストを取得した後、予め定義された意味キーワードにより、入力テキスト内の意味キーワードを構成する基本キーワードを見つける。
【0081】
意味マッチングユニット430は、入力テキスト内のテキストコンテンツと少なくとも1つの基本キーワードとの合致が見つかった場合、見つかったテキストコンテンツ内の意味マッチングを実行する。意味マッチングユニット430は、さらに、意味キーワードを構成する論理演算子により、見つかったテキストコンテンツと意味キーワードをマッチングする論理マッチングサブユニット431も有する。
【0082】
フィルタリング処理ユニット440は、意味マッチングユニット430が正常に合致する場合、合致したテキストコンテキストをフィルタリングする。
【0083】
キーワード記憶ユニット410は、文字を単位として使用し、ツリー型構造により基本キーワードを格納する。基本キーワードの第1の文字はルートノードであり、最後の文字はリーフノードである。同一の第1の文字を持つ基本キーワードは、同一のルートノードを共有する。
【0084】
図5に示されたように、基本発見ユニット420は、後述のようにいくつかのサブ構成要素を有してもよい。
【0085】
テキスト取得サブユニット421は、入力テキスト内の文字c1を取得する。
【0086】
文字マッチングサブユニット422は、c1を現在の文字として、およびツリー型構造のルートノードを現在のノードとして使用し、現在の文字と現在のノードをマッチングする。現在の文字が現在のノードに合致し、現在のノードが子ノードを持つ場合、文字マッチングサブユニット422は、現在につづく次の文字と現在のノードの子ノードをマッチングする。現在の文字が現在のノードに合致せず、現在のノードが兄弟ノードを持つ場合、文字マッチングサブユニット422は、現在のノードと現在のノードの兄弟ノードをマッチングする。このプロセスは、繰り返すことができる。
【0087】
判断サブユニット423は、現在のノードとルートノードを結合してマッチングルートを取得し、リーフノードにより見つかった基本キーワードがマッチングルートで正常に合致する結果を判断する。
【0088】
図6に示されたように、基本発見ユニット420は、さらに、文字マッチングサブユニット422がマッチングを実行する前に、現在の文字がプロトタイプ文字を辞書内に有するかどうかを判断する、文字変換サブユニット424を有する。肯定の場合、文字変換サブユニット424は、現在の文字を対応するプロトタイプ文字に変換する。
【0089】
文字マッチングサブユニット422は、現在の文字としてプロトタイプ文字を使用し、これを現在のノードとマッチングする。
【0090】
意味キーワードは、さらにフィルタリング条件を有してもよい。
【0091】
図7に示されたように、意味マッチングユニット430は、さらに、入力テキストの特性をフィルタリング条件とマッチングする、カテゴリマッチングサブユニット432を有してもよい。
【0092】
意味キーワードは、さらにフィルタリングアクションを有してもよい。
【0093】
フィルタ処理ユニット440は、さらに、フィルタリングアクションにより見つかったテキストコンテンツをフィルタリングするように構成してもよい。
【0094】
記述の都合で、前述のシステムは分けて記載した種々のユニットに機能的に分けられる。開示されたシステムを実行するとき、種々のユニットの機能は、ソフトウェアおよび/またはハードウェアの1つまたは複数の例で実行してもよい。
【0095】
前述の例示的な実施形態から、当業者は、開示された方法およびシステムをソフトウェアおよび汎用ハードウェアプラットフォームを用いて実行してもよいことを明らかに理解できる。この理解に基づき、本開示の技術的スキームを、ROM/RAM、フラッシュメモリ、EEPROM、USBドライブ、ハードドライブおよび光ディスクのような1つまたは複数の非一過性コンピュータ可読な記憶媒体内に格納される、コンピュータに実行される指示の形態で実行してもよい。コンピュータ実行可能な指示は、本開示に記載された方法の実施形態を実行する計算装置(例えば、パーソナルコンピュータ、サーバまたはネットワーク接続された装置)で実行してもよい。
【0096】
種々の例示的な実施形態が、本開示に漸次記載される。例示的な実施形態の同一のまたは類似の部分を、互いに参照することが可能である。それぞれの例示的な実施形態は、他の例示的な実施形態と異なる焦点を持つ。特に、例示的なシステムの実施形態は、例示的な方法との基本的な対応のため、比較的単純な方法で記載した。その詳細は、例示的な方法の関連する部分を参照できる。前述の例示的なシステムの記載は、実例の目的のみを意味する。その中の分離した構成要素として記載されたユニットは、物理的に分離されていてもいなくてもよい。ユニットに関して説明された構成要素は、物理ユニットであってもなくてもよく、例えば、1箇所に設置されても、または複数のネットワークユニットの中に分散してもよい。実際のニーズにより、例示的な実施形態の目標を、選択する部分または全てのモジュールにより達成してもよい。当業者は、開示された実施形態を、革新的な効果なしに理解および実行が可能である。
【0097】
本開示は、汎用または専用コンピュータシステムの環境または構成内で使用してもよい。例は、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルド装置または持ち運び可能な装置、タブレット装置、マルチプロセッサシステム、マイクロプロセッサベースシステム、セットアップボックス、プログラム可能な顧客電子装置、ネットワークPC、小規模コンピュータ、大規模コンピュータ、および前記のあらゆるシステムまたは装置を含む分散コンピューティング環境を含む。
【0098】
本開示は、プログラムモジュールのような、コンピュータにより実行されるコンピュータ実行可能な指示の一般的なコンテキスト内に記載してもよい。通常、プログラムモジュールは、特定のタスクの実行または特定の抽象データ型の実施のため、ルーチン、プログラム、オブジェクト、モジュール、およびデータ構造などを有する。開示された方法及びサーバはまた、分散コンピューティング環境で実行されてもよい。分散コンピューティング環境では、通信ネットワークを介して接続された遠隔処理装置により、タスクが実行される。分散コンピューティング環境では、プログラムモジュールが局所的または遠隔のコンピュータの記憶媒体(記憶装置を含む)内に配置される。
【0099】
本開示の望ましい例示的な実施形態のみを前述した。しかし、本開示はこれらに限定されない。当業者が、この開示の趣旨および範囲から逸脱することなく多くの異なる方法で本開示を変更または修正可能であることが理解される。これらの修正および変形は、従って、本開示の請求項およびそれらの均等物の範囲内に入ると考えるべきである。