(57)【特許請求の範囲】
【請求項１】
ストップワード識別方法であって、前記方法は、コンピュータデバイス上で動作する情報検索システムによって実行され、
第1のクエリを受信し、前記第1のクエリに対応するセッション識別子(ID)を獲得するステップと、
前記セッションIDに従って、前記第1のクエリと同一のセッションに属する第2のクエリを獲得するステップと、
前記第2のクエリに対する前記第1のクエリにおける各単語の変化ベースの特徴を獲得するステップと、
前記第2のクエリに対する前記第1のクエリにおける各単語の前記変化ベースの特徴に従って前記第1のクエリにおけるストップワードを識別するステップとを含む、方法。
【請求項２】
前記第2のクエリに対する前記第1のクエリにおける各単語の前記変化ベースの特徴は、前記第2のクエリに対する前記第1のクエリにおける各単語が新規単語であるかどうかを示すために使用される、第1の変化ベースの特徴、前記第2のクエリにおける前記単語の位置に対する前記第1のクエリにおける、前記第1のクエリおよび前記第2のクエリの双方に含まれる、単語の位置の変化を示すために使用される、第2の変化ベースの特徴、前記第2のクエリにおける前記単語の品詞に対する前記第1のクエリにおける、前記第1のクエリおよび前記第2のクエリの双方に含まれる、単語の品詞の変化を示すために使用される、第3の変化ベースの特徴、前記第2のクエリにおける前記単語の構文クラスに対する前記第1のクエリにおける、前記第1のクエリおよび前記第2のクエリの双方に含まれる、単語の構文クラスの変化を示すために使用される、第4の変化ベースの特徴、または、前記第2のクエリにおける前記単語の両端にある句読記号に対する前記第1のクエリにおける、前記第1のクエリおよび前記第2のクエリの双方に含まれる、単語の両端にある句読記号の変化を示すために使用される、第5の変化ベースの特徴のうちのいずれか1つを含む、請求項1に記載の方法。
【請求項３】
前記獲得した第2のクエリは、
前記第1のクエリと前記第2のクエリとの最長の共通の節の長さが第1の閾値より大きい、または、
前記第1のクエリを前記第2のクエリに変換するために要する操作の最小回数が第2の閾値未満である、または、
前記第1のクエリが第1のベクトルにマッピングされており、前記第2のクエリが第2のベクトルにマッピングされており、前記第1のベクトルと前記第2のベクトルとの間の夾角または距離が第3の閾値未満である、という条件のうちのいずれか1つを満たす、請求項1または2に記載の方法。
【請求項４】
前記方法は、
前記第1のクエリにおける各単語に従って前記情報検索システムの単語特徴データベースにクエリを行い、前記第1のクエリにおける各単語の統計的特徴を獲得するステップをさらに含み、
前記第2のクエリに対する前記第1のクエリにおける各単語の前記変化ベースの特徴に従って前記第1のクエリにおけるストップワードを識別するステップは、前記第1のクエリにおける各単語の前記統計的特徴および前記第2のクエリに対する前記第1のクエリにおける各単語の前記変化ベースの特徴に従って前記第1のクエリにおける前記ストップワードを識別するステップを含む、請求項1から3のいずれか一項に記載の前記方法。
【請求項５】
前記情報検索システムは、識別モデルをさらに備え、
前記第1のクエリにおける各単語の前記統計的特徴および前記第2のクエリに対する前記第1のクエリにおける各単語の前記変化ベースの特徴に従って前記第1のクエリにおける前記ストップワードを識別するステップは、
前記第2のクエリに対する前記第1のクエリにおける各単語の前記変化ベースの特徴および前記第1のクエリにおける各単語の前記統計的特徴を前記識別モデルに入力し、前記第1のクエリにおける、前記識別モデルによって識別された前記ストップワードを取得するステップを含む、請求項4に記載の方法。
【請求項６】
前記方法は、
正例として前記第1のクエリにおける前記ストップワードの統計的特徴および前記第2のクエリに対する前記第1のクエリにおける前記ストップワードの変化ベースの特徴を使用し、負例として前記第1のクエリにおける前記ストップワードを除いた任意の単語の統計的特徴および前記第2のクエリに対する前記第1のクエリにおける前記ストップワードを除いた任意の単語の変化ベースの特徴を使用し、前記正例および前記負例に従って前記識別モデルを訓練するステップをさらに含む、請求項5に記載の方法。
【請求項７】
前記訓練を行う前に、前記方法は、
前記第1のクエリから前記識別モデルによって識別された前記ストップワードを除去して候補検索語を取得し、前記候補検索語に従って検索を行って検索結果を取得するステップと、
前記検索結果の精度が判定されると前記訓練を行うステップとをさらに含む、請求項6に記載の方法。
【請求項８】
ストップワード識別装置であって、
第1のクエリを受信し、前記第1のクエリに対応するセッション識別子(ID)を獲得するように構成される、入力モジュールと、
前記セッションIDに従って、前記第1のクエリと同一のセッションに属する第2のクエリを獲得するように構成され、前記第2のクエリに対する前記第1のクエリにおける各単語の変化ベースの特徴を獲得するようにさらに構成される、処理モジュールとを備え、
前記処理モジュールは、前記第2のクエリに対する前記第1のクエリにおける各単語の前記変化ベースの特徴に従って前記第1のクエリにおけるストップワードを識別するようにさらに構成される、装置。
【請求項９】
前記第2のクエリに対する前記第1のクエリにおける各単語の前記変化ベースの特徴は、前記第2のクエリに対する前記第1のクエリにおける各単語が新規単語であるかどうかを示すために使用される、第1の変化ベースの特徴、前記第2のクエリにおける前記単語の位置に対する前記第1のクエリにおける、前記第1のクエリおよび前記第2のクエリの双方に含まれる、単語の位置の変化を示すために使用される、第2の変化ベースの特徴、前記第2のクエリにおける前記単語の品詞に対する前記第1のクエリにおける、前記第1のクエリおよび前記第2のクエリの双方に含まれる、単語の品詞の変化を示すために使用される、第3の変化ベースの特徴、前記第2のクエリにおける前記単語の構文クラスに対する前記第1のクエリにおける、前記第1のクエリおよび前記第2のクエリの双方に含まれる、単語の構文クラスの変化を示すために使用される、第4の変化ベースの特徴、または、前記第2のクエリにおける前記単語の両端にある句読記号に対する前記第1のクエリにおける、前記第1のクエリおよび前記第2のクエリの双方に含まれる、単語の両端にある句読記号の変化を示すために使用される、第5の変化ベースの特徴のうちのいずれか1つを含む、請求項8に記載の装置。
【請求項１０】
前記獲得した第2のクエリは、
前記第1のクエリと前記第2のクエリとの最長の共通の節の長さが第1の閾値より大きい、または、
前記第1のクエリを前記第2のクエリに変換するために要する操作の最小回数が第2の閾値未満である、または、
前記第1のクエリが第1のベクトルにマッピングされており、前記第2のクエリが第2のベクトルにマッピングされており、前記第1のベクトルと前記第2のベクトルとの間の夾角または距離が第3の閾値未満である、という条件のうちのいずれか1つを満たす、請求項8または9に記載の装置。
【請求項１１】
前記処理モジュールは、前記第1のクエリにおける各単語に従って情報検索システムの単語特徴データベースにクエリを行い、前記第1のクエリにおける各単語の統計的特徴を獲得するようにさらに構成され、
前記処理モジュールが前記第2のクエリに対する前記第1のクエリにおける各単語の前記変化ベースの特徴に従って前記第1のクエリにおけるストップワードを識別することは、前記第1のクエリにおける各単語の前記統計的特徴および前記第2のクエリに対する前記第1のクエリにおける各単語の前記変化ベースの特徴に従って前記第1のクエリにおける前記ストップワードを識別することを含む、請求項8から10のいずれか一項に記載の前記装置。
【請求項１２】
前記処理モジュールは、識別モデルをさらに含み、
前記処理モジュールが前記第1のクエリにおける各単語の前記統計的特徴および前記第2のクエリに対する前記第1のクエリにおける各単語の前記変化ベースの特徴に従って前記第1のクエリにおける前記ストップワードを識別することは、前記第2のクエリに対する前記第1のクエリにおける各単語の前記変化ベースの特徴および前記第1のクエリにおける各単語の前記統計的特徴を前記識別モデルに入力し、前記第1のクエリにおける、前記識別モデルによって識別された前記ストップワードを取得することを含む、請求項11に記載の装置。
【請求項１３】
前記処理モジュールは、正例として前記第1のクエリにおける前記ストップワードの統計的特徴および前記第2のクエリに対する前記第1のクエリにおける前記ストップワードの変化ベースの特徴を使用し、負例として前記第1のクエリにおける前記ストップワードを除いた任意の単語の統計的特徴および前記第2のクエリに対する前記第1のクエリにおける前記ストップワードを除いた任意の単語の変化ベースの特徴を使用し、前記正例および前記負例に従って前記識別モデルを訓練するようにさらに構成される、請求項12に記載の装置。
【請求項１４】
前記訓練を行う前に、前記処理モジュールは、
前記第1のクエリから前記識別モデルによって識別された前記ストップワードを除去して候補検索語を取得し、前記候補検索語に従って検索を行って検索結果を取得し、
前記検索結果の精度が判定されると前記訓練を行うようにさらに構成される、請求項13に記載の装置。
【請求項１５】
プロセッサと、メモリとを備える、コンピュータデバイスであって、
前記プロセッサは、前記メモリにあるプログラムを読み出して、第1のクエリを受信し、前記第1のクエリに対応するセッション識別子(ID)を獲得し、前記セッションIDに従って、前記第1のクエリと同一のセッションに属する第2のクエリを獲得し、前記第2のクエリに対する前記第1のクエリにおける各単語の変化ベースの特徴を獲得し、前記第2のクエリに対する前記第1のクエリにおける各単語の前記変化ベースの特徴に従って前記第1のクエリにおけるストップワードを識別する動作を行う、コンピュータデバイス。
【請求項１６】
前記第2のクエリに対する前記第1のクエリにおける各単語の前記変化ベースの特徴は、前記第2のクエリに対する前記第1のクエリにおける各単語が新規単語であるかどうかを示すために使用される、第1の変化ベースの特徴、前記第2のクエリにおける前記単語の位置に対する前記第1のクエリにおける、前記第1のクエリおよび前記第2のクエリの双方に含まれる、単語の位置の変化を示すために使用される、第2の変化ベースの特徴、前記第2のクエリにおける前記単語の品詞に対する前記第1のクエリにおける、前記第1のクエリおよび前記第2のクエリの双方に含まれる、単語の品詞の変化を示すために使用される、第3の変化ベースの特徴、前記第2のクエリにおける前記単語の構文クラスに対する前記第1のクエリにおける、前記第1のクエリおよび前記第2のクエリの双方に含まれる、単語の構文クラスの変化を示すために使用される、第4の変化ベースの特徴、または、前記第2のクエリにおける前記単語の両端にある句読記号に対する前記第1のクエリにおける、前記第1のクエリおよび前記第2のクエリの双方に含まれる、単語の両端にある句読記号の変化を示すために使用される、第5の変化ベースの特徴のうちのいずれか1つを含む、請求項15に記載のコンピュータデバイス。
【請求項１７】
前記プロセッサによって獲得された前記第2のクエリは、前記第1のクエリと前記第2のクエリとの最長の共通の節の長さが第1の閾値より大きい、または、前記第1のクエリを前記第2のクエリに変換するために要する操作の最小回数が第2の閾値未満である、または、前記第1のクエリが第1のベクトルにマッピングされており、前記第2のクエリが第2のベクトルにマッピングされており、前記第1のベクトルと前記第2のベクトルとの間の夾角または距離が第3の閾値未満である、という条件のうちのいずれか1つを満たす、請求項15または16に記載のコンピュータデバイス。
【請求項１８】
前記プロセッサは、前記第1のクエリにおける各単語に従って情報検索システムの単語特徴データベースにクエリを行い、前記第1のクエリにおける各単語の統計的特徴を獲得するようにさらに構成され、
前記プロセッサが前記第2のクエリに対する前記第1のクエリにおける各単語の前記変化ベースの特徴に従って前記第1のクエリにおけるストップワードを識別することは、前記第1のクエリにおける各単語の前記統計的特徴および前記第2のクエリに対する前記第1のクエリにおける各単語の前記変化ベースの特徴に従って前記第1のクエリにおける前記ストップワードを識別することを含む、請求項15から17のいずれか一項に記載の前記コンピュータデバイス。
【請求項１９】
前記プロセッサが前記第1のクエリにおける各単語の前記統計的特徴および前記第2のクエリに対する前記第1のクエリにおける各単語の前記変化ベースの特徴に従って前記第1のクエリにおける前記ストップワードを識別することは、前記第2のクエリに対する前記第1のクエリにおける各単語の前記変化ベースの特徴および前記第1のクエリにおける各単語の前記統計的特徴を識別モデルに入力し、前記第1のクエリにおける、前記識別モデルによって識別された前記ストップワードを取得することを含む、請求項18に記載のコンピュータデバイス。
【請求項２０】
前記プロセッサは、正例として前記第1のクエリにおける前記ストップワードの統計的特徴および前記第2のクエリに対する前記第1のクエリにおける前記ストップワードの変化ベースの特徴を使用し、負例として前記第1のクエリにおける前記ストップワードを除いた任意の単語の統計的特徴および前記第2のクエリに対する前記第1のクエリにおける前記ストップワードを除いた任意の単語の変化ベースの特徴を使用し、前記正例および前記負例に従って前記識別モデルを訓練するようにさらに構成される、請求項19に記載のコンピュータデバイス。
【請求項２１】
前記訓練を行う前に、前記プロセッサは、前記第1のクエリから前記識別モデルによって識別された前記ストップワードを除去して候補検索語を取得し、前記候補検索語に従って検索を行って検索結果を取得し、前記検索結果の精度が判定されると前記訓練を行うようにさらに構成される、請求項20に記載のコンピュータデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータ技術の分野に関し、詳細には、情報検索システムにおいて使用されるストップワード識別方法および装置、ならびにコンピュータデバイスに関する。
【背景技術】
【０００２】
情報検索システム、例えば、サーチエンジンまたは質問応答(英語表記:question answering)システムは、ユーザによって入力されたクエリに従って、ユーザにとって必要な関連するコンテンツを検索する。ユーザによって入力されたクエリは、実際には意味をなさないが頻出する単語および熟語の一部を含み得る。これらの単語および熟語はまた、ストップワード(英語表記:stop word)と称される。検索効率および精度を改善するために、情報検索システムは、クエリにおけるストップワードを識別し、クエリからこのストップワードの部分を除去してクエリのキーワードを取得する必要がある。その後、情報検索システムは、獲得したキーワードに従ってマッチングを行ってユーザにとって必要な関連するコンテンツを獲得する。
【０００３】
情報検索システムが広く利用可能およびインテリジェントになるにつれて、より多くのユーザが自然言語形式および半自然言語形式でクエリを入力することによって検索を行うようになっている。したがって、より高い要件が情報検索システムのストップワード識別機能に課されている。従来技術では、ストップワード識別は、単語および熟語の分野における専門家によって事前に手作業で編纂されたストップワードリストに依存して主に実施されている。しかしながら、ストップワードリストを手作業で編纂することは、高い製作コストを生じることになり、加えて、単にストップワードリストとマッチングすることによって入力文章中のストップワードを識別する方法はまた、ますます複雑になるユーザ検索行動に適応できていない。
【発明の概要】
【課題を解決するための手段】
【０００４】
本出願は、ストップワード識別の精度を改善するために、ストップワード識別方法および装置、ならびにコンピュータデバイスを提供している。
【０００５】
本出願の第1の態様は、ストップワード識別方法を提供しており、方法は、コンピュータデバイス上で動作する情報検索システムによって実行され、第1のクエリを受信し、第1のクエリに対応するセッション識別子(英語表記:identify、略して、ID)を獲得するステップと、獲得したセッションIDに従って、第1のクエリと同一のセッションに属する第2のクエリを獲得するステップと、第2のクエリに対する第1のクエリにおける各単語の変化ベースの特徴を獲得するステップであって、変化ベースの特徴は、第2のクエリに対する第1のクエリにおける各単語の様々な変化、例えば、新規単語、品詞、単語の位置、および単語の両端にある句読記号を反映するために使用される、ステップと、第2のクエリに対する第1のクエリにおける各単語の変化ベースの特徴に従って第1のクエリにおけるストップワードを識別するステップとを含む。
【０００６】
必要に応じて、第2のクエリは、第1のクエリが入力される前にユーザによって入力された以前のクエリである。情報検索システムを使用して検索を行うプロセスにおいて、ユーザによって連続して入力されたクエリ間の変化ベースの特徴は、ユーザによってなされたクエリの調整をより強く反映し得る。したがって、連続して入力されたクエリ間の変化ベースの特徴は、ストップワードを識別することに有用である。
【０００７】
処理予定のクエリと同一のセッションに属するクエリを獲得し、その後、そのクエリに対する処理予定のクエリにおける単語の変化ベースの特徴を獲得し、変化ベースの特徴を処理予定のクエリにおけるストップワードを識別するための判断に組み込む。したがって、ストップワード識別プロセスにおいて、ストップワード識別をクエリ間の変化ベースの特徴に従って行うことができ、ストップワード識別の精度を改善している。
【０００８】
第1の態様に準拠している、第1の態様の第1の実施様態においては、獲得した第2のクエリは、第1のクエリと第2のクエリとの最長の共通の節の長さが第1の閾値より大きい、または、第1のクエリを第2のクエリに変換するために要する操作の最小回数が第2の閾値未満である、または、第1のクエリが第1のベクトルにマッピングされており、第1のクエリが第2のベクトルにマッピングされており、第1のベクトルと第2のベクトルとの間の夾角が第3の閾値未満である、または、第1のクエリと第2のクエリとの長さの合計に対する第1のクエリと第2のクエリとの最長の共通の節の長さの比が第4の閾値より大きい、または、第1のクエリと第2のクエリとのうちの短い方の長さに対する第1のクエリと第2のクエリとの最長の共通の節の長さの比が第5の閾値より大きい、または、第1のベクトルと第2のベクトルとの間の距離が第6の閾値未満である、という条件のうちのいずれか1つまたは任意の2つ以上の組合せを満たす。
【０００９】
複数のクエリが、第1のクエリと同一のセッションに属していてもよい。しかしながら、情報検索システムを使用するプロセスにおいては、ユーザが、検索対象を変更する場合があり、ユーザが異なるターゲットを検索する場合には、使用されるクエリに大きな変化が一般的に存在する、したがって、同一または同様の検索対象を有する2つのクエリ間の変化ベースの特徴に従ってストップワードが識別されると、より望ましい効果が達成されることになる。したがって、第1のクエリと同一のセッションに属する複数のクエリをさらに判別し、第1のクエリとわずかな違いを有する第2のクエリを判定する。第2のクエリと第1のクエリとが同一または同様の検索対象を有している可能性はより高い。その後、第2のクエリを使用して第2のクエリに対する第1のクエリにおける各単語の変化ベースの特徴を抽出する。
【００１０】
第1の態様または第1の態様の第1の実施様態に準拠している、第1の態様の第2の実施様態においては、方法は、第1のクエリにおける各単語に従って情報検索システムの単語特徴データベースにクエリを行い、第1のクエリにおける各単語の統計的特徴を獲得するステップをさらに含む。したがって、ストップワード識別プロセスにおいて、第1のクエリにおけるストップワードは、第2のクエリに対する第1のクエリにおける各単語の変化ベースの特徴に従ってだけでなく、第1のクエリにおける各単語の統計的特徴にも従って、識別される。
【００１１】
第1のクエリにおける各単語の統計的特徴はまた、コーパス内の各単語の統計パラメータを反映することができ、ストップワード識別のために統計的特徴を使用することは、ストップワード識別の精度をさらに改善し得る。
【００１２】
必要に応じて、第1のクエリにおける各単語の第1のクエリベースの特徴がさらに獲得され、第1のクエリにおけるストップワードが、第1のクエリにおける各単語の統計的特徴、第2のクエリに対する第1のクエリにおける各単語の変化ベースの特徴、および第1のクエリにおける各単語の第1のクエリベースの特徴に従って識別されることになる、その結果、ストップワード識別の精度をさらに改善することができる。
【００１３】
第1の態様の第2の実施様態に準拠している、第1の態様の第3の実施様態においては、第1のクエリにおける各単語の統計的特徴および第2のクエリに対する第1のクエリにおける各単語の変化ベースの特徴に従って第1のクエリにおけるストップワードを識別するステップは、第2のクエリに対する第1のクエリにおける各単語の変化ベースの特徴および第1のクエリにおける各単語の統計的特徴を識別モデルに入力し、第1のクエリにおける、識別モデルによって識別されたストップワードを取得するステップを含む、ここで、識別モデルは、一般的に、プログラムコードのセグメントであり、プログラムコードが動作する場合には、ストップワード識別関数が実施される。
【００１４】
第1の態様の第3の実施様態に準拠している、第1の態様の第4の実施様態においては、方法は、正例として第1のクエリにおけるストップワードの統計的特徴および第2のクエリに対する第1のクエリにおけるストップワードの変化ベースの特徴を使用し、負例として第1のクエリにおけるストップワードを除いた任意の単語の統計的特徴および第2のクエリに対する第1のクエリにおけるストップワードを除いた任意の単語の変化ベースの特徴を使用し、正例および負例に従って識別モデルを訓練するステップをさらに含む。
【００１５】
第1の態様の第4の実施様態に準拠している、第1の態様の第5の実施様態においては、識別モデルを訓練する前に、識別モデルによって識別されたストップワードを第1のクエリから除去して候補検索語を取得し、検索を候補検索語に従って行って検索結果を取得し、検索結果の精度が判定されると訓練が行なわれる。
【００１６】
検索結果の精度を判定することは、第1のクエリに対応する検索結果に対するユーザ満足度を判定するために、第1のクエリに対応する操作情報を分析することである。ユーザが満足しているクエリに対応するストップワード識別プロセスにおいて識別されたストップワードおよび非ストップワードを選択し、このストップワードおよび非ストップワードの様々な特徴を識別モデルを訓練するために使用して識別モデルの識別精度をさらに改善している。
【００１７】
本出願の第2の態様は、ストップワード識別装置を提供しており、装置は、入力モジュールと、処理モジュールとを備える。入力モジュールは、第1のクエリを受信し、第1のクエリに対応するセッション識別子IDを獲得するように構成される。処理モジュールは、セッションIDに従って、第1のクエリと同一のセッションに属する第2のクエリを獲得し、第2のクエリに対する第1のクエリにおける各単語の変化ベースの特徴を獲得することであって、変化ベースの特徴は、第2のクエリに対する第1のクエリにおける各単語の様々な変化、例えば、品詞、単語の位置、および単語の両端にある句読記号を反映するために使用される、獲得することを行い、第2のクエリに対する第1のクエリにおける各単語の変化ベースの特徴に従って第1のクエリにおけるストップワードを識別するように構成される。装置は、第1の態様によって提供したストップワード識別方法を実施するように構成される。
【００１８】
本出願の第3の態様は、プロセッサと、メモリとを備える、コンピュータデバイスを提供している。動作時には、コンピュータデバイスは、第1の態様によって提供したストップワード識別方法を実施し得る。第1の態様によって提供したストップワード識別方法を実施するためのプログラムコードは、メモリに記憶され、プロセッサによって実行され得る。
【００１９】
本出願の第4の態様は、記憶媒体を提供している。実行されると、記憶媒体に記憶されているプログラムコードは、第1の態様によって提供したストップワード識別方法を実施し得る。プログラムコードは、第1の態様によって提供したストップワード識別方法を実施するためのコンピュータ命令を含む。
【００２０】
本発明の実施形態における技術的解決手法をより明確に説明するために、実施形態を説明するために必要となる添付の図面を以下に簡単に説明する。以下の説明における添付の図面が本発明のいくつかの実施形態を示しており、当業者が創造的努力なしにこれらの添付の図面ら他の図面をさらに導出し得ることは明らかであろう。
【図面の簡単な説明】
【００２１】
【図１】本発明の実施形態による、情報検索システムの組織構造の概略図である。
【図２】本発明の実施形態による、別の情報検索システムの組織構造の概略図である。
【図３】本発明の実施形態による、コンピュータデバイスの組織構造の概略図である。
【図４】本発明の実施形態による、ストップワード識別方法の概略フローチャートである。
【図５】本発明の実施形態による、ストップワード識別装置の組織構造の概略図である。
【発明を実施するための形態】
【００２２】
本発明の実施形態における添付の図面を参照して本発明の実施形態における技術的解決手法を以下に説明する。
【００２３】
本明細書全体にわたって、不要語とも称される「ストップワード」という用語は、文章中の文章表現において直接影響を与えないまたはほとんど影響を与えない単語または熟語、例えば、ユーザによって入力されたが関連ファイルを探し出すことに有用ではないクエリにおける単語または熟語を指す。例えば、「one basketball player Kobe」というクエリにおける「one」は、ユーザにとって必要な関連するコンテンツを検索することに有用ではない、したがって、この場合、「one」は、ストップワードとしてみなされ得る。異なる文脈または適用状況において同一の単語または熟語がストップワードであるかどうかについての判定が変化し得ることに留意されたい。例えば、「one world one dream」というクエリにおいて、「one」がストップワードとして常に除去されるのであれば、検索結果の精度に大きく影響を及ぼす。
【００２４】
本明細書全体にわたって、「セッション」(英語表記:session)という用語は、ある期間において2つ以上のデバイス間で交換されるメッセージを含む。セッションがユーザとサーバとの間に作成されると、その期間は、ユーザがサービスを使用し始めると開始し、ユーザがサービスを使用することを最終的に停止すると終了する、または、ユーザが、ある時間、例えば、30分の間、サーバとやり取りしなかった場合に終了する。特に、情報検索システムの使用環境においては、新規セッションが開始すると、情報検索システムは、新規セッションIDを生成し、ユーザによって送信されたクエリを継続的に受信する。情報検索システムが、連続した期間において、ユーザによって送信されたいかなる新規クエリも受信していない場合には、情報検索システムは、現在のセッションが終了したとみなす。セッションが開始してからセッションが終了するまでに情報検索システムによって受信されたすべてのクエリはそのセッションに属し、セッションIDおよびそのセッションに属するクエリは履歴クエリに記憶される。
【００２５】
本明細書全体にわたって、「無界言語」という用語は、境界を設定するための句読記号または空白を有していない言語を指す。一般的な無界言語は、中国語、日本語などを含む。それに対して、一般的な有界言語は、英語を含む。
【００２６】
本発明の実施形態において適用される情報検索システムのアーキテクチャ図
図1は、ストレージデバイス206と、検索デバイス202とを備える、情報検索システム200の実施様態である。ストレージデバイス206は、情報検索システムにおいて検索を行うために必要となるデータを記憶する。ストレージデバイス206は、通信ネットワーク204を使用して検索デバイス202との通信を確立し得る。ストレージデバイス206はまた、検索デバイス202に直接配置されてもよく、入力/出力ユニット2021を使用して検索デバイス202との通信を確立してもよい。検索デバイス202は、入力/出力ユニット2021と、処理ユニット2022とを備える。ユーザが入力/出力ユニット2021を使用してクエリを検索デバイス202に送信した後に、検索デバイス202は、クエリに従って検索を行い、対応する検索結果をユーザに返す。一般的に、情報検索システムは、一連のファイルを使用してユーザに検索結果を表示する。ユーザが通信ネットワーク204を使用してクエリを検索デバイス202に送信する場合には、入力/出力ユニット2021は、ネットワークインターフェースであり得る。ユーザが検索デバイス202においてローカルでクエリを検索デバイス202に送信する場合には、入力/出力ユニット2021はまた、検索デバイス202の入力/出力(英語表記:input/output、略して、I/O)インターフェースであり得る。
【００２７】
図2は、1つまたは複数の検索デバイス202を備え、1つまたは複数のストレージデバイス206をさらに備える、情報検索システム200の別の実施様態である。通信は、通信ネットワークを使用して各検索デバイス202と各ストレージデバイス206との間で実施される。コーパス、インデックスファイルデータベース、履歴クエリ、履歴クエリのログ、および単語特徴データベースなどの、情報検索システム200のデータは、分散方式でストレージデバイス206にデプロイされていてもよい。1つまたは複数の検索デバイス202は、クエリを処理するための分散コンピューティングシステムを形成し得る。大量のクエリを処理する必要があり、情報検索システム200に重い負荷が存在している場合には、情報検索システム200は、情報検索システム200の並列処理能力を改善するために、実行に関して処理予定のタスクを異なる検索デバイス202に割り振ることができる。
【００２８】
一般的に、情報検索システム200は、情報検索システム200によってインデックス化され得るファイルを定期的に更新し、コーパスにこれらのファイルを記憶する。更新後のファイルを獲得した後に、情報検索システム200は、各ファイルにIDを割り振り、インデックスを確立する。一般的なインデックスは、転置インデックス(英語表記:inverted index)を含む。表1に示したように、転置インデックスは各単語が位置しているファイルのIDを記録しており、インデックスを記録するファイルはインデックスファイルとも称される。
【表１】
0006355840.tif 000002
【００２９】
検索デバイス202が入力/出力ユニット2021を使用してクエリを獲得した後に、処理ユニット2022は、クエリを一連の単語に分割する。クエリが無界言語である場合には、一連の単語を獲得するプロセスは単語分割とも称される。例えば、「
【数１】
0006355840.tif 000003
」は、「手机」(携帯電話を意味し、
【数２】
0006355840.tif 000004
と発音する)と、「
【数３】
0006355840.tif 000005
」(ショッピングを意味し、kou(51) u(51)と発音する)との2つの単語に分割される。クエリが英語である場合には、一連の単語を獲得するプロセスにおいて単語分割をクエリに対して行う必要は無く、その代わりに、種々の単語をクエリ中の空白に従って識別する。獲得した一連の単語の一部が、ストップワードである場合がある。検索結果の精度を保証するために、これらの単語中のストップワードをその後識別する必要がある。その後、ストップワードを除去した後の単語をインデックスファイルとマッチングし、インデックスファイル内のクエリと一致する各ファイルのマッチング状態を獲得することであって、マッチング状態は、一致したファイルのスコアまたは配置順序を含む、獲得することを行い、最終的に、最高のスコアを有するまたは最上位に配置された、ある数量のファイルをユーザに返す。
【００３０】
情報検索システム200によって出力される検索結果の精度がインデックスファイルとマッチングする単語の精度に大きく依存していることが情報検索システム200のワークフローから理解できよう。したがって、ストップワードの正確な識別が、情報検索システムのパフォーマンスにとって非常に重要なものとなる。
【００３１】
図1または図2中の検索デバイス202は、図3中のコンピュータデバイス400によって実施されてもよい。コンピュータデバイス400の組織構造の概略図を図3に示している。コンピュータデバイスは、プロセッサ402と、メモリ404とを備え、バス408と、通信インターフェース406とをさらに備え得る。通信インターフェース406は、入力/出力ユニット2021の実施様態であり得る。プロセッサ402およびメモリ404は、処理ユニット2022の実装様態であり得る。
【００３２】
プロセッサ402、メモリ404、および通信インターフェース406は、バス408を使用して互いに通信接続を実施し得る、または、無線伝送などの他の手段によって通信接続を実施し得る。
【００３３】
メモリ404は、例えば、ランダムアクセスメモリ(英語表記:random-access memory、略して、RAM)といった、揮発性メモリ(英語表記:volatile memory)を含み得るし、メモリはまた、例えば、リードオンリーメモリ(英語表記:read-only memory、略して、ROM)、フラッシュメモリ(英語表記:flash memory)、ハードディスクドライブ(英語表記:hard disk drive、略して、HDD)、もしくはソリッドステートドライブ(英語表記:solid-state drive、略して、SSD)といった、不揮発性メモリ(英語表記:non-volatile memory)を含み得るし、メモリ404は、前述のタイプのメモリの組合せをさらに含み得る。コンピュータデバイス400が動作する場合には、メモリ404は、履歴クエリ、履歴クエリのログ、および単語特徴データベースなどのストレージデバイス206にあるデータをロードし、使用のためにデータをプロセッサ402に提供する。本発明によって提供した技術的解決手法がソフトウェアによって実施される場合には、図4中の本発明によって提供したストップワード識別方法を実施するためのプログラムコードは、メモリ404に記憶され、プロセッサ402によって実行され得る。
【００３４】
コンピュータデバイス400は、通信インターフェース406を使用してクエリを獲得し、クエリに対応する検索結果を獲得した後に、通信インターフェース406を使用してユーザに検索結果を返す。
【００３５】
プロセッサ402は、中央処理ユニット(英語表記:central processing unit、略して、CPU)であってもよい。第1のクエリを獲得した後に、プロセッサ402は、第1のクエリと同一のセッションに属する第2のクエリを獲得し、第2のクエリに対する第1のクエリにおける各単語の変化ベースの特徴を抽出することであって、変化ベースの特徴は、位置、品詞、両端にある句読記号、および構文クラスなどの、第2のクエリに対する第1のクエリにおける各単語の変化を示すために使用される、抽出することを行い、第2のクエリに対する第1のクエリにおける各単語の変化ベースの特徴を使用して第1のクエリにおけるストップワードを識別する。
【００３６】
処理予定のクエリと同一のセッションに属するクエリを獲得し、その後、そのクエリに対する処理予定のクエリにおける単語の変化ベースの特徴を獲得し、変化ベースの特徴を処理予定のクエリにおけるストップワードを識別するための判断に取り入れる。したがって、ストップワード識別プロセスにおいて、ストップワード識別をクエリ間の変化ベースの特徴に従って行うことができ、ストップワード識別の精度を改善している。
【００３７】
プロセッサ402は、第1のクエリと同一のセッションに属する複数のクエリを獲得し得る。しかしながら、情報検索システムを使用するプロセスにおいては、ユーザが、検索対象を変更する場合があり、ユーザが異なるターゲットを検索する場合には、使用されるクエリに大きな変化が一般的に存在する、したがって、同一または同様の検索対象を有する2つのクエリ間の変化ベースの特徴に従ってストップワードが識別されると、より望ましい効果が達成されることになる。したがって、プロセッサ402は、さらに、第1のクエリと同一のセッションに属する複数のクエリを判別し、第1のクエリとわずかな違いを有する第2のクエリを判定し、その後、第2のクエリを使用して第2のクエリに対する第1のクエリにおける各単語の変化ベースの特徴を抽出し得る。
【００３８】
プロセッサ402は、さらに、第1のクエリにおける各単語の統計的特徴を獲得し、各単語の統計的特徴および変化ベースの特徴を識別モデルに入力して第1のクエリにおけるストップワードを識別し得る。プロセッサ402によって使用される識別モデルは、プログラムコードのセグメントであってもよい、ここで、プログラムコードは、メモリ404に記憶されていてもよく、プロセッサ404は、識別モデルを訓練する際に、または、識別モデルを使用してストップワードを識別する際に、このプログラムコードのセグメントを呼び出す。識別モデルはまた、ハードウェアによって実装されていてもよい。この場合には、プロセッサ402は、第1のクエリにおける各単語の統計的特徴および変化ベースの特徴をハードウェアに入力し、専用のハードウェアは、識別結果をプロセッサ402に返す。ハードウェアは、フィールドプログラマブルロジックゲートアレイ(英語表記:field-programmable gate array、略して、FPGA)であってもよい。
【００３９】
第1のクエリにおける各単語の統計的特徴は、情報検索システムのコーパスにおける、第1のクエリにおける各単語に関する統計情報を反映しており、ストップワード識別プロセスにおいて各単語の統計的特徴を使用することも、第1のクエリにおけるストップワードを識別することに有用である。
【００４０】
本発明は、ストップワード識別方法をさらに提供している。図1および図2中の検索デバイス202および図3中のコンピュータデバイス400が動作する場合には、ストップワード識別方法が実行される。方法の概略フローチャートを図4に示している。
【００４１】
ステップ602: 第1のクエリを受信し、第1のクエリに対応するセッションIDを獲得する。
【００４２】
本実施形態においては、例えば、情報検索システムによって受信された第1のクエリは、「backstreet boys 'the one'」であり、「backstreet boys 'the one'」に対応するセッションIDを獲得する。この時、一般的に、2つのケースが存在する。クエリが新規セッションにおける第1のクエリである場合には、セッションIDをステップ602においてクエリのために生成する必要がある。クエリが既存のセッションに属している場合には、ステップ602において獲得したセッションIDは既存のセッションのIDである。
【００４３】
必要に応じて、ステップ602の後に、ステップ604をさらに行う。
【００４４】
ステップ604: 第1のクエリにおける各単語に従って情報検索システムの単語特徴データベースにクエリを行い、第1のクエリにおける各単語の統計的特徴を獲得する。
【００４５】
まず、4つの単語「backstreet」、「boys」、「the」、および「one」を「backstreet boys 'the one'」から獲得する。ステップ602において受信したクエリが無界言語である場合には、単語分割をクエリに対して行いクエリにおける各単語を獲得する必要がある。4つの単語の統計的特徴、例えば、用語の頻度、用語の頻度の平均値、および用語の頻度の分散を獲得する。単語特徴データベースは、ある数量のファイルにまたはある期間中に取得したファイルに生じる各単語の様々な特徴の統計値を収集することによって、情報検索システムによって取得される。したがって、クエリに含まれる各単語に従って、単語に対応する様々な統計的特徴値は、単語特徴データベースからクエリが行われてもよい。情報検索システムは、例えば、Query1[6][n+2]={{backstreet, 1, 統計的特徴1, 統計的特徴2, ..., 統計的特徴n}, {boys, 2, 統計的特徴1, 統計的特徴2, ..., 統計的特徴n}, {', 3}, {the, 4, 統計的特徴1, 統計的特徴2, ..., 統計的特徴n}, {one, 5, 統計的特徴1, 統計的特徴2, ..., 統計的特徴n}, {', 6}}といった、配列を使用してクエリを一般的に記憶する、ここで、{backstreet, 1, 統計的特徴1, 統計的特徴2, ..., 統計的特徴n}は、クエリにおける第1の単語が「backstreet」であり、統計的特徴1から統計的特徴nが単語「backstreet」の統計的特徴であることを示している。第1のクエリにおける各単語の統計的特徴は、情報検索システムのコーパスにおける、第1のクエリにおける各単語に関する統計情報を反映しており、各単語の統計的特徴を分析することも、ストップワードを識別することに有用である。
【００４６】
第1のクエリを受信した後に、情報検索システムは、第1のクエリを処理して、それを記憶用のデータ構造、例えば、前述のQuery1[6][n+2]に変換する。各単語の統計的特徴を獲得することに加えて、必要に応じて、情報検索システムは、第1のクエリにおける各単語が第1のクエリにおいて発生する回数、各単語の品詞、各単語の構文クラス、第1のクエリにおける各単語の位置、各単語の前および後ろに空白があるかどうか、各単語が引用符で囲まれているかどうかなどを含む、第1のクエリにおける各単語の第1のクエリベースの特徴をさらに獲得する。「backstreet boys 'the one'」を獲得した後に、m個のクエリベースの特徴が存在している場合には、Query1[6][n+m+2]に変換される。第1のクエリにおける各単語の第1のクエリベースの特徴は、第1のクエリにおける各単語の特徴を反映しており、各単語のクエリベースの特徴を分析することも、ストップワードを識別することに有用である。
【００４７】
ステップ606: 第1のクエリに対応するセッションIDに従って、第1のクエリと同一のセッションに属する第2のクエリを獲得する。
【００４８】
履歴クエリは第1のクエリに対応するセッションIDに従ってクエリが行われ、クエリ「backstreet boys 'the one'」と同一のセッションに属する第2のクエリを獲得する。ここで、例えば、取得した第2のクエリが「the one backstreet boys」であるとすると、Query2[4][2]={{the, 1}, {one, 2}, {backstreet, 3}, {boys, 4}}となる。Query2における各単語iの統計的特徴およびクエリベースの特徴等は省略される。複数のクエリが同一のセッションに含まれ得るので、必要に応じて、ステップ606において獲得したクエリは、ステップ602におけるクエリより前の以前のクエリであり得る。クエリプロセスにおいて、必要なファイルがクエリを使用して獲得できなかった場合には、ユーザは、クエリを調整し得る。したがって、隣接するクエリがクエリチェーンを形成することができる可能性は高い。隣接するクエリ間の変化ベースの特徴はまた、ストップワードを識別することにより有用である。各セッションIDおよびそのセッションIDに対応するセッションに属するクエリは、履歴クエリに記録される。履歴クエリは、同一のクエリチェーンに属するクエリに関する情報をさらに含んでいてもよい。
【００４９】
ステップ604およびステップ606を実行シーケンスにおいて入れ替えても並行に処理してもよいことに留意されたい。クエリにおけるステップ604のクエリ処理において取得した統計的特徴および単語のクエリベースの特徴、ならびに、ステップ606、ステップ608、およびステップ610を行うことによって獲得した単語の変化ベースの特徴はすべて、ステップ612において使用することができる。したがって、ステップ602を行った後に、ステップ604およびステップ606を並行に行ってもよく、ステップ608およびステップ610をステップ606の分岐の後にさらに含んでいてもよい。
【００５０】
必要に応じて、ステップ606の後に、ステップ608をさらに行う。
【００５１】
ステップ608: 第1のクエリと第2のクエリとの最長の共通の節の長さが第1の閾値より大きい、または、第1のクエリを第2のクエリに変換するために要する操作の最小回数が第2の閾値未満である、または、第1のクエリが第1のベクトルにマッピングされており、第1のクエリが第2のベクトルにマッピングされており、第1のベクトルと第2のベクトルとの間の夾角が第3の閾値未満である、または、第1のクエリと第2のクエリとの長さの合計に対する第1のクエリと第2のクエリとの最長の共通の節の長さの比が第4の閾値より大きい、または、第1のクエリと第2のクエリとのうちの短い方の長さに対する第1のクエリと第2のクエリとの最長の共通の節の長さの比が第5の閾値より大きい、または、第1のベクトルと第2のベクトルとの間の距離が第6の閾値未満である、という条件のうちのいずれか1つを獲得した第2のクエリが満たしているかどうかを判定する。
【００５２】
第1のクエリが属するセッションは、複数のクエリを含み得る。したがって、条件を満たす第2のクエリをさらにステップ608において複数のクエリからスクリーニングしてもよい。すなわち、第1のクエリとクエリチェーンを形成することができる第2のクエリがスクリーニングされる。スクリーニングの基準は、以下の条件のうちのいずれか1つまたはその任意の組合せに基づいてもよい。第2のクエリおよび第1のクエリが以下の条件のうちのいずれか1つまたはその任意の組合せを満たしていると判定することは、第2のクエリと第1のクエリとがクエリチェーンを形成することができると判定することである。第2のクエリと第1のクエリとがクエリチェーンを形成することができるのであれば、ステップ610を引き続き行う。第2のクエリと第1のクエリとがクエリチェーンを形成することができないならば、ステップ612を行う。
【００５３】
条件1: 「backstreet boys 'the one'」と「the one backstreet boys」との最長の共通の節の長さが第1の閾値より大きいかどうかを判定する。本実施形態においては、「backstreet boys 'the one'」と「the one backstreet boys」との最長の共通の節の長さは2である。第1の閾値が1である場合には、「backstreet boys 'the one'」と「the one backstreet boys」とはクエリチェーンを形成することができる。節の長さは、節に含まれる単語の数量である。
【００５４】
Query1[6][2]={{backstreet, 1}, {boys, 2}, {', 3}, {the, 4}, {one, 5}, {', 6}}内の要素は、Query2[4][2]={{the, 1}, {one, 2}, {backstreet, 3}, {boys, 4}}内の要素と順次比較され、Query1とQuery2との最長の共通の節である「backstreet boys」および「the one」を取得する。2つの節の長さは両方とも2である。したがって、Query1とQuery2との最長の共通の節の長さは2である。
【００５５】
条件2: 「backstreet boys 'the one'」を「the one backstreet boys」に変換するために要する操作の最小回数、または「the one backstreet boys」を「backstreet boys 'the one'」に変換するために要する操作の最小回数を判定する。必要とされる操作の最小回数が第2の閾値未満である場合には、「backstreet boys 'the one'」と「the one backstreet boys」とが同一のクエリチェーンに属していると判定してもよい。この例においては、少なくとも総計6回の操作が「the one backstreet boys」を「backstreet boys 'the one'」に変換するために必要となる、すなわち、文章の始まりにある「the」および「one」を除去する必要があり、その後、「the」および「one」を文章の終わりに追加する必要があり、引用符を「the one」の両端に追加する必要がある。
【００５６】
2つの最長の共通の節が「backstreet boys」および「the one」であることはQuery1とQuery2との間の比較により把握できる。したがって、「the one backstreet boys」を「backstreet boys 'the one'」に変換するために、少なくとも6回の操作、すなわち、{backstreet, 3}および{boys, 4}を{backstreet, 1}および{boys, 2}に変更するために{the, 1}および{one, 2}をQuery1から除去すること、その後、{boys, 2}の後ろに{the, 4}および{one, 5}を追加すること、および新たな{the, 1}および{one, 2}の両端に引用符{', 3}および{', 6}を追加することが必要となる。
【００５７】
条件3: 「backstreet boys 'the one'」および「the one backstreet boys」から変換されたベクトル間の夾角を計算する。夾角が第3の閾値未満である場合には、「backstreet boys 'the one'」と「the one backstreet boys」とはクエリチェーンを形成することができる。クエリをベクトルに変換するための一般的な方法は、1. ベクトル空間モデル(英語表記:vector space modal、略して、VSM)を確立することと、次元として単語特徴データベース内の各単語を使用することであって、VSMにおける次元の数は、単語特徴データベース内の単語の数量に等しい、使用することと、「the one backstreet boys」をVSMとマッピングすることであって、値をVSMにおける4つの単語「the」、「one」、「backstreet」、および「boys」に対応する次元に割り当て、値は、単語の発生または単語の統計的特徴を表し得るし、VSMの確立により、「backstreet boys 'the one'」および「the one backstreet boys」は、VSM空間における2つのベクトルとなり、その結果、2つのベクトル間の夾角または距離を計算し得る、マッピングすることと、2. Word2vec、語の袋(bags of words)、およびword embeddingなどの文章をベクトルに変換するための方法とを含む。
【００５８】
条件4: 条件1とは異なり、「backstreet boys 'the one'」と「the one backstreet boys」との長さの合計に対する「backstreet boys 'the one'」と「the one backstreet boys」との最長の共通の節の長さの比と第4の閾値との大小関係を判定する。比が第4の閾値より大きい場合には、「backstreet boys 'the one'」と「the one backstreet boys」とが同一のクエリチェーンに属していると判定してもよい。クエリの長さは、クエリに含まれる単語の数量である。
【００５９】
条件5: 条件1とは異なり、「backstreet boys 'the one'」と「the one backstreet boys」とのうちのより短い方の長さに対する「backstreet boys 'the one'」と「the one backstreet boys」との最長の共通の節の長さの比と第5の閾値との大小関係を判定する。比が第5の閾値より大きい場合には、「backstreet boys 'the one'」と「the one backstreet boys」とが同一のクエリチェーンに属していると判定してもよい。
【００６０】
条件6: 条件3とは異なり、「backstreet boys 'the one'」および「the one backstreet boys」をベクトルに変換した後に、2つのベクトル間の距離を計算する。距離が第6の閾値未満である場合には、「backstreet boys 'the one'」と「the one backstreet boys」とはクエリチェーンを形成することができる。条件6における2つのベクトル間の距離は、ユークリッド距離(英語表記:euclidean distance)であってもよい。
【００６１】
パラメータが6つの条件の各々に関して生成されることに留意されたい。パラメータは、最長の共通の節の長さ、操作の最小回数、ベクトル間の夾角、2つのクエリの長さの合計に対する最長の共通の節の長さの比、より短いクエリの長さに対する最長の共通の節の長さの比、およびベクトル間の距離である。したがって、ステップ608における実際の使用において、6つのパラメータのうちの任意の2つ以上を使用のためにランダムに組み合わせてもよい。例えば、重みを6つのパラメータに割り当てた後に、総和が行われて全体パラメータを獲得し、2つのクエリがクエリチェーンを形成することができるかどうかを判定するために比較を全体パラメータと閾値との間で行う。
【００６２】
情報検索システムを使用するプロセスにおいては、ユーザが、検索対象を変更する場合があり、ユーザが異なるターゲットを検索する場合には、使用されるクエリに大きな変化が一般的に存在する、したがって、同一または同様の検索対象を有する2つのクエリ間の変化ベースの特徴に従ってストップワードが識別されると、より望ましい効果が達成されることになる。したがって、6つの条件は、第1のクエリと第2のクエリとの間にわずかな違いが存在することを判定するために基本的に使用され、その結果、同一または同様の検索対象を有する第1のクエリおよび第2のクエリを取得している。
【００６３】
ステップ608においては、2つのクエリがクエリチェーンを形成することができると判定された場合には、ステップ608における判定結果を履歴クエリに記憶してもよい。例えば、記憶フォーマットは、クエリチェーン1:クエリAおよびクエリBとクエリチェーン2:クエリCおよびクエリDとである。このように、情報検索システムが再び同一のクエリを受信した場合には、前述のステップ608における判定プロセスを行う必要は無く、履歴の判定結果が直接読み出される。加えて、クエリチェーン2は、クエリCおよびクエリDのみを含む。クエリEを受信し、クエリEとクエリDとが同一のクエリチェーンに属していると判定されると、クエリチェーン3:クエリDおよびクエリEを作成してもよく、または、クエリチェーン4:クエリC、クエリD、およびクエリEを作成してもよく、当然のことながら、クエリチェーン2をクエリチェーン4に置き換えてもよい。このように、情報検索システムに記憶されているクエリチェーン情報をより豊かにすればするほど、その後抽出されるクエリ間の変化ベースの特徴もより豊かになる。
【００６４】
ステップ610: 第2のクエリに対する第1のクエリにおける各単語の変化ベースの特徴を獲得する。第2のクエリに対する第1のクエリにおける各単語の変化ベースの特徴は、第2のクエリに対する第1のクエリにおける各単語の様々な変化を示している。
【００６５】
必要に応じて、第2のクエリに対する第1のクエリにおける各単語の変化ベースの特徴は、第2のクエリに対する第1のクエリにおける各単語が新規単語であるかどうかを示すために使用される、第1の変化ベースの特徴、第2のクエリにおける単語の位置に対する第1のクエリにおける、第1のクエリおよび第2のクエリの双方に含まれる、単語の位置の変化を示すために使用される、第2の変化ベースの特徴、第2のクエリにおける単語の品詞に対する第1のクエリにおける、第1のクエリおよび第2のクエリの双方に含まれる、単語の品詞の変化を示すために使用される、第3の変化ベースの特徴、第2のクエリにおける単語の構文クラスに対する第1のクエリにおける、第1のクエリおよび第2のクエリの双方に含まれる、単語の構文クラスの変化を示すために使用される、第4の変化ベースの特徴、または、第2のクエリにおける単語の両端にある句読記号に対する第1のクエリにおける、第1のクエリおよび第2のクエリの双方に含まれる、単語の両端にある句読記号の変化を示すために使用される、第5の変化ベースの特徴のうちのいずれか1つを含む。
【００６６】
第1の変化ベースの特徴は、第2のクエリに対する第1のクエリにおける各単語が新規単語であるかどうかを示すために使用される。一般的に、第2のクエリに対する第1のクエリにおける新規単語がストップワードである可能性は少ない。例えば、第2のクエリが「backstreet boys」であり、第1のクエリが「backstreet boys the one」である場合には、「the one」は、第2のクエリに対する第1のクエリにおける新規単語である。
【００６７】
例えば、第1のクエリは、Query A[m][n]={{word11, m11, m12, ..., m1n}, {word12, m21, m22, ..., m2n}...{word1m, mm1, mm2, ..., mmn}}であり、第2のクエリは、Query B[x][y]={{word21, m11, m12, ..., m1y}, {word22, m21, m22, ..., m2y}...{word2x, mx1, mx2, ..., mxy}}であるとする。Query Aにおけるword11は単語または句読記号であり、m11はAにおける単語の位置であり、m12はAにおける単語の構文クラスであり、m13は単語の品詞であり、m14からm1nは第1のクエリにおけるword11の他の統計的特徴またはword11のクエリベースの特徴を示している。
【００６８】
Query AとQuery Bとの間の比較により、Query Bに対するQuery Aにおける各単語が新規であるかどうかを判定してもよい、したがって、第2のクエリに対する第1のクエリにおける各単語が新規単語であるかどうかを判定してもよい。
【００６９】
第2のクエリにおける単語の位置に対する第1のクエリにおいて、第2の変化ベースの特徴は、第1のクエリにおける各単語の位置の変化を示すために使用される。一般的に、第2のクエリにおける単語の位置に対する第1のクエリにおける単語の位置の変化が存在する場合には、単語が比較的に重要であることを示している、すなわち、単語がストップワードである可能性は低い。
【００７０】
Query AとQuery Bとにおける各行内の対応する要素が比較される。例えば、word11とword22とが同一(word11は単語)であるがm11とm21とが異なる場合には、第2のクエリにおける単語の位置に対する第1のクエリにおけるword11に対応する単語の位置が変化していることを示している。したがって、第2の特徴は、位置が変化しているかどうかを示し得る、または、変化の大きさ、すなわち、m11とm21との間の違いを示し得る。
【００７１】
第3の変化ベースの特徴は、第2のクエリにおける単語の品詞に対する第1のクエリにおける、第1のクエリおよび第2のクエリの双方に含まれる、単語の品詞の変化を示している。異なる品詞の単語については、ストップワードである可能性は変化する。例えば、一般的に、名詞がストップワードである確率は、形容詞がストップワードである確率より低い。異なる特徴値が異なる品詞に割り当てられている場合には、第2のクエリにおける単語の品詞に対する第1のクエリにおける単語の品詞が変化すると、第3の変化ベースの特徴は、第1のクエリにおける単語の品詞の特徴値から第2のクエリにおける単語の品詞の特徴値を差し引いたものとなり得る。
【００７２】
Query AとQuery Bとにおける各行内の対応する要素が比較される。例えば、word11とword22とが同一(word11は単語)であるがm13とm23とが異なる場合には、第2のクエリにおける単語の品詞に対する第1のクエリにおけるword11に対応する単語の品詞が変化していることを示している。
【００７３】
第4の変化ベースの特徴は、第2のクエリにおける単語の構文クラスに対する第1のクエリにおける、第1のクエリおよび第2のクエリの双方に含まれる、単語の構文クラスの変化を示している。異なる構文クラスの単語については、ストップワードである可能性は変化する。異なる特徴値が例えば、主語、述語、および目的語といった異なる構文クラスに割り当てられている場合には、第2のクエリにおける単語の構文クラスに対する第1のクエリにおける単語の構文クラスが変化すると、第5の変化ベースの特徴は、第1のクエリにおける単語の構文クラスの特徴値から第2のクエリにおける単語の構文クラスの特徴値を差し引いたものとなり得る。
【００７４】
Query AとQuery Bとにおける各行内の対応する要素が比較される。例えば、word11とword22とが同一(word11は単語)であるがm12とm22とが異なる場合には、第2のクエリにおける単語の構文クラスに対する第1のクエリにおけるword11に対応する単語の構文クラスが変化していることを示している。
【００７５】
第5の変化ベースの特徴は、第2のクエリにおける単語の両端にある句読記号に対する第1のクエリにおける、第1のクエリおよび第2のクエリの双方に含まれる、単語の両端にある句読記号の変化を示している。単語の両端にある句読記号が異なる場合には、単語がストップワードである可能性は変化する。例えば、第2のクエリにおける単語に対して、第1のクエリにおける単語の両端に付加的な空白が存在する場合、または、単語が二重引用符もしくは単一引用符で囲まれている場合には、単語がストップワードである可能性が低いことを示しており、第6の変化ベースの特徴は、置き換わった単語がストップワードである可能性が低いことをさらに示している。例えば、第2のクエリが「backstreet boys the one」であり、第1のクエリが「backstreet boys 'the one'」である場合には、第1のクエリにおいて「the one」の両端に引用符が存在しており、単語「the one」がストップワードである可能性は低い。
【００７６】
Query AとQuery Bとにおける各行内の対応する要素が比較される。例えば、word13とword23とが同一(word13は単語)であるが、word13の前に位置している句読記号word12およびword13の後ろに位置している句読記号word14がword23の前に位置している句読記号word22およびword23の後ろに位置している句読記号word24と異なる場合には、word23に対するword13の両端にある句読記号が変化していることまたはword22およびword24が句読記号ではない可能性があることを示しており、このことは句読記号が第1のクエリにおけるword13の両端に追加されていることを示している。
【００７７】
ステップ608において「backstreet boys 'the one'」と「the one backstreet boys」とがクエリチェーンを形成することができると判定された場合には、「the one backstreet boys」に対する「backstreet boys 'the one'」の変化ベースの特徴を獲得する。
【００７８】
例として、第1のクエリ「backstreet boys 'the one'」と第2のクエリ「backstreet boys the one」とを使用すれば、第1のクエリにおける「the」および「one」は、第2のクエリに対する2つの変化ベースの特徴、前述の第2の変化ベースの特徴と前述の第5の変化ベースの特徴とを有している、すなわち、「the」および「one」の位置が変化しており、引用符が「the one」の両端に追加されている。
【００７９】
「backstreet boys 'the one'」が属するセッションにおいて、ステップ608におけるクエリチェーン4と類似した、2つのさらなるクエリを含む類似したクエリチェーンが存在している場合には、「the one backstreet boys」に対する「backstreet boys 'the one'」の変化ベースの特徴を獲得し得るだけでなく、ステップ610において他のクエリに対する「backstreet boys 'the one'」の変化ベースの特徴も獲得し得ることに留意されたい。加えて、獲得した変化ベースの特徴およびステップ608において獲得したクエリチェーン判定結果は、次回に同一のクエリを処理するために、履歴クエリに記憶される。
【００８０】
前述の配列形式でクエリを記憶することに加えて、実装のためにオブジェクト指向プログラミングの実施様態を使用してもよい。例えば、以下のクラスを使用して2つのオブジェクトQueryおよびWordを示すことが可能である、ここで、Queryクラスはクエリを示し、Wordクラスはクエリにおける各単語を示している。
Query
{
//属性情報
String sessionID;
String queryContent;
Word wordList[];
...
//関数定義
static public isInTheSameSession(){};
static public isInTheSameQueryChain(){};
...
}
Word
{
//クエリにおける、単語、統計的特徴、および単語のクエリベースの特徴についての内容を含む属性情報
String wordContent;
int wordPosition;
int wordFrequency;
long wordVariance;
...
//動的情報
Boolean newWord;
Int positionChange;
Long posChange;
...
//関数定義
static public Boolean newWord(){};
static public Int positionChange(){};
...
}
【００８１】
前述のデータ構造を使用して各クエリおよび単語を記憶した後に、Query MとQuery Nとが同一のセッションに属しているかどうかを判定するために、次のようなQuery.isInTheSameSession(){Query M.sessionID, Query N.sessionID}を呼び出してもよい、
ここで、isInTheSameSession(){}は、入力されたクエリのセッションIDに従って、2つのクエリが同一のセッションに属しているかどうかを判定するものとして定義されている。
【００８２】
Query MとQuery Nとが同一のクエリチェーンに属しているかどうかを判定するために、次のようなQuery.isInTheSameQueryChain(){Query M.sessionID, Query N.sessionID}を呼び出してもよい、ここで、Query.isInTheSameQueryChain(){}は、入力されたクエリに従って、2つのクエリが同一のクエリチェーンに属しているかどうかを判定するものとして定義されている、すなわち、isInTheSameQueryChain(){}は、ステップ608において第1のクエリおよび第2のクエリが同一のクエリチェーンに属しているかどうかを判定するための方法を含んでいる。
【００８３】
同様に、前述の第1の変化ベースの特徴をWord.newWord()関数を使用して実施してもよい。Query1とQuery2とが同一のクエリチェーンに属していることを把握した後に、Query1.Word内の各単語に関してnewWord()関数を実行して、第2のクエリに対する第1のクエリにおける各単語が新規単語であるかどうかを判定することができる。他の変化ベースの特徴の獲得は、前述したものと同様である。Query2に対するQuery1における各単語の様々な変化ベースの特徴が、Query1.Wordにおいて定義された各関数に従って取得され得る。
【００８４】
ステップ612: 第2のクエリに対する第1のクエリにおける各単語の変化ベースの特徴に従って第1のクエリにおけるストップワードを識別する。
【００８５】
複数の方法を第1のクエリにおけるストップワードを識別するために使用してもよい。例として、値を第1のクエリにおける各単語の様々な変化ベースの特徴に割り当てる。各変化ベースの特徴の値がより高い場合には、単語がストップワードである可能性がより高いことを示している。第1のクエリにおける任意の単語の様々な変化ベースの特徴の値の重み付き合計がプリセット閾値より大きい場合には、単語をストップワードとして識別する。重み付き合計がプリセット閾値より大きくない場合には、単語を非ストップワードとして識別する。
【００８６】
必要に応じて、ステップ602の後に、ステップ604をさらに含む、すなわち、第1のクエリにおける各単語の統計的特徴を獲得する。したがって、ステップ612においては、第1のクエリにおけるストップワードを、第1のクエリにおける各単語の統計的特徴および第2のクエリに対する第1のクエリにおける各単語の変化ベースの特徴に従って識別し得る。
【００８７】
必要に応じて、第1のクエリにおける各単語の第1のクエリベースの特徴をステップ604においてさらに獲得する場合には、第1のクエリにおけるストップワードを、第1のクエリにおける各単語の統計的特徴、第1のクエリにおける各単語の第1のクエリベースの特徴、および第2のクエリに対する第1のクエリにおける各単語の変化ベースの特徴に従ってステップ612において識別してもよい、その結果、ストップワード識別の精度をさらに改善することができる。
【００８８】
必要に応じて、情報検索システムは、識別モデルをさらに備え、第1のクエリにおける各単語の統計的特徴および第2のクエリに対する第1のクエリにおける各単語の様々な変化ベースの特徴は、第1のクエリにおける各単語がストップワードであるかどうかを判定することができるように、識別モデルに入力される。識別モデルは、閾値モデルであってもよい。例えば、様々な変化ベースの特徴および単語の統計的特徴の値の重み付き合計がプリセット閾値より大きい場合には、単語をストップワードとして識別する。重み付き合計がプリセット閾値より大きくない場合には、単語を非ストップワードとして識別する。識別モデルはまた、判定木またはニューラルネットワークなどの学習モデルであってもよい。実際の使用において、前述の識別モデルを使用することに加えて、識別プロセスを加速するために識別方法とともに使用されるいくつかの直接識別基準をさらに設定してもよい。例えば、第2のクエリに対する第1のクエリにおける単語が新規単語である場合には、単語を非ストップワードとして直ちに識別してもよい。
【００８９】
ステップ604をステップ602の後にさらに含む場合には、第1のクエリと任意の履歴クエリとがクエリチェーンを形成することができないならば、第2のクエリに対する第1のクエリの変化ベースの特徴を取得することはできない、したがって、ステップ612において、第1のクエリにおけるストップワードを第1のクエリにおける各単語の統計的特徴のみに従って識別する。
【００９０】
ストップワードリストに基づいたストップワード識別のための従来の方法は、手作業で設定されたストップワードリストまたはファイルの統計情報に依存しており、ストップワード識別プロセスにおいて同一のセッションに属するクエリ間の変化ベースの特徴を使用することができない。例えば、「backstreet boys 'the one'」というクエリにおいて、各単語がストップワードであるかどうかを識別するためにストップワードリストが使用されると、定冠詞「the」がストップワードとして安易に識別され得る。しかしながら、この例においては、「the one」は、バンド「backstreet boys」の歌曲のタイトルである、したがって、「the」を処理のために定冠詞として簡単にみなすことはできない。「the」をストップワードとしてみなし、「the」によって表される意味を後段の検索プロセスにおいて無視してしまうと、検索結果に悪影響が生じる。本実施形態によって提供した方法においては、情報検索システムがユーザによって入力されたクエリの変化に従ってストップワード識別をより望ましく行うことができるように、クエリ間の変化ベースの特徴をストップワード識別プロセスにおいて使用しており、それによって、ストップワードリストに基づいたストップワード識別のための従来の方法におけるストップワード識別プロセスにおいてユーザによってなされるクエリの調整に起因する、クエリの変化を使用することができないことにより生じるエラーを回避している。
【００９１】
必要に応じて、ステップ614をさらに含む、ここで、第1のクエリにおけるストップワードの統計的特徴および第2のクエリに対する第1のクエリにおけるストップワードの変化ベースの特徴は、正例として使用され、第1のクエリにおけるストップワードを除いた任意の単語の統計的特徴および第2のクエリに対する第1のクエリにおけるストップワードを除いた任意の単語の変化ベースの特徴は、負例として使用され、識別モデルは、正例および負例に従って訓練される。
【００９２】
第1のクエリにおけるストップワードを識別した後に、第1のクエリにおけるストップワードの統計的特徴および第2のクエリに対する第1のクエリにおけるストップワードの変化ベースの特徴は、正例として使用され、第1のクエリにおけるストップワードを除いた任意の単語の統計的特徴および第2のクエリに対する第1のクエリにおけるストップワードを除いた任意の単語の変化ベースの特徴は、識別モデルを訓練するために負例として使用される。その後ストップワード識別を識別モデルにおいて行う際に、受信した単語が正例として分類される場合には、識別モデルがストップワードとして単語を識別していることを示しており、受信した単語が負例として分類される場合には、識別モデルがストップワードとして単語を識別していないことを示している。識別モデルを訓練することは、識別モデルの精度を改善する。
【００９３】
必要に応じて、第1のクエリにおけるストップワードを第1のクエリにおける各単語の統計的特徴、第1のクエリにおける各単語の第1のクエリベースの特徴、およびステップ612における第2のクエリに対する第1のクエリにおける各単語の変化ベースの特徴に従って識別する場合には、ステップ614において、第1のクエリにおけるストップワードの第1のクエリベースの特徴は、正例として使用され、第1のクエリにおけるストップワードを除いた任意の単語の第1のクエリベースの特徴は、識別モデルを訓練するために負例として使用され、その結果、識別モデルの精度をさらに改善している。
【００９４】
毎回クエリにおけるストップワードを識別した後に、情報検索システムは、正例および負例をある期間蓄積した後にまたはある数量の正例および負例を蓄積した後にステップ614を行うことができるように、獲得した正例および負例を記憶してもよい。
【００９５】
必要に応じて、ステップ614の前に、識別モデルによって識別されたストップワードをさらに第1のクエリから除去して候補検索語を取得し、検索を候補検索語に従って行って検索結果を取得し、検索結果の精度が判定されると訓練が行なわれる。
【００９６】
検索を候補検索語に従って行い、検索プロセスにおける関連する特徴および検索結果は、履歴クエリのログに記憶される。検索プロセスにおける関連する特徴は、第1のクエリにおける各単語の統計的特徴、第2のクエリに対する第1のクエリにおける各単語の変化ベースの特徴、および第1のクエリにおける各単語の第1のクエリベースの特徴を含む。加えて、ステップ614の後に、ユーザが関心を持っている限りは、「backstreet boys 'the one'」に基づいた検索結果は、既に取得されている可能性がある。検索結果は、クエリに従って検索されたファイルIDを含む。履歴クエリのログの記憶フォーマットについては、表2を参照されたい。各ファイルIDを獲得した後に、情報検索システムは、ファイルIDに対応するファイルをユーザに返す。ユーザによってこれらのファイルに対して行われる操作に関する情報も、履歴クエリのログに記録される。操作情報は、例えば、どのファイルがユーザによってクリックされたか、クリックアクションが発生した時間、および各ファイルにおける閲覧の期間といった、クエリが行われた各ファイルをユーザが取得した後に各ファイルに対して行われる操作に関する情報を含む。あるファイルがクリックされた時間と次のファイルがクリックされた時間との間の間隔をこれまでのファイルにおける閲覧の期間と一般的にみなす。
【表２】
0006355840.tif 000006
【００９７】
第1のクエリに対応する検索結果の精度を判定することは、第1のクエリに対応する検索結果に対するユーザ満足度を判定するために、分析を第1のクエリに対応する操作情報に対して行うことである。例えば、ユーザがファイルをクリックした後60秒以内にユーザが他のファイルをクリックしていないことが第1のクエリの検索結果において判明した場合には、ユーザがこの検索結果において必要なファイルを見つけたとみなしてもよい、したがって、第1のクエリにおけるストップワードとして識別された単語およびその単語に対応する検索プロセスにおける関連する特徴は、識別モデルの正例として使用され得るし、第1のクエリにおけるストップワードとして識別されていない単語およびその単語に対応する検索プロセスにおける関連する特徴は、識別モデルを訓練するために識別モデルのための負例として使用され得る。
【００９８】
複数のスクリーニングの条件を、第1のクエリに対応する検索結果の精度を判定するために設定してもよい。ユーザがファイルをクリックした後のアクションが無い期間が閾値を超過するというスクリーニングの条件に加えて、ユーザがこの検索結果におけるファイルの精度に納得するものをスクリーニングの条件またはイベントの設定が表すことができている限り、この時に検索されたファイルにおいてユーザによってクリックされたファイルの数量が閾値を超過したかどうかなどを判定してもよい。
【００９９】
識別モデルは、一般的に、ある数量の正例および負例を蓄積した後に訓練する必要がある。したがって、ある数量のクエリを履歴クエリのログに蓄積した後に、または、プリセットされた期間が経過した後に、クエリに対応する検索プロセスにおいて、識別モデルの訓練データとして使用するのに適した関連する特徴を取り出し、識別モデルを訓練するために、分析を履歴クエリのログ内の各クエリに対応する検索結果の操作情報に対して行う。
【０１００】
情報検索システムを使用するプロセスにおいて、ユーザによって検索結果における各ファイルに対して行われる操作は、この検索結果の精度についてのユーザの判定を反映しており、検索結果に対応するストップワード識別結果が正確であるかどうかも反映している。ユーザの各クエリに対応する履歴クエリのログの分析により、ユーザがどのクエリに満足したかという検索結果を知り得る、したがって、このクエリの部分に対応する関連パラメータおよびストップワード識別の結果を、識別モデルを訓練するために使用してもよい。ユーザの操作結果は、ストップワード識別プロセスにおいて使用される識別モデルにフィードバックされ、その結果、ユーザの使用環境、傾向などに対する、情報検索システムの適応性を改善している。特に、このことはいくつかの特別な使用状況における情報検索システム内のストップワード識別に有用である。例えば、スーパーマーケットにおいて使用される情報検索システムにおいては、「商品」という単語は、より頻繁に使用され、おそらく何ら特別な意味を示していない、したがって、情報検索システムが「商品」をストップワードとして使用して検索を行うと、ユーザは、検索結果の精度に比較的納得する可能性がある。したがって、「商品」という単語の検索プロセスにおける関連する特徴を、識別モデルを訓練するために正例として使用してもよい。
【０１０１】
ステップ616: 新規ファイルに従って情報検索システムの単語特徴データベースを更新する。
【０１０２】
情報検索システムによって検索され得るファイルは、定期的に更新される。したがって、分析を新規ファイル内の各単語に対して行った後は、単語特徴データベースが更新され得る、その結果、情報検索システムのストップワード識別の精度を改善している。ステップ616をステップ602からステップ614とは独立して行ってもよい、すなわち、単語特徴データベースの更新および識別モデルの訓練を並行に行ってもよい。ステップ614およびステップ616を、オンラインで行っても(ユーザがクエリを入力する際に行っても)よいし、(例えば、システムがアイドルである場合には、またはシステムの集中保守中は、またはシステムの更新中は)オフラインで行ってもよい。特に、ステップ614およびステップ616の双方の実行は履歴クエリのログの更新の蓄積またはある期間におけるファイル更新の蓄積を必要とするため、ステップ614およびステップ616をオフラインで実行する場合には、情報検索システムに対するオンライン実行によって生じる処理圧力は回避され得る。
【０１０３】
本実施形態によって提供したストップワード識別方法においては、処理予定のクエリと同一のセッションに属するクエリが獲得され、その後、そのクエリに対する処理予定のクエリにおける単語の変化ベースの特徴が獲得され、変化ベースの特徴が処理予定のクエリにおけるストップワードを識別するための判断に組み込まれる。したがって、ストップワード識別プロセスにおいては、ストップワード識別をクエリ間の変化ベースの特徴に従って行うことができ、ストップワード識別の精度を改善しており、すなわち、情報検索システムによって出力される検索結果の精度を改善している。
【０１０４】
本発明の実施形態は、ストップワード識別装置800をさらに提供している。ストップワード識別装置800は、図1もしくは図2に示した検索デバイス202によって実装されてもよい、または図3に示したコンピュータデバイス400によって実装されてもよい、または特定用途向け集積回路(英語表記:application-specific integrated circuit、略して、ASIC)によって実装されてもよい、またはプログラマブル・ロジック・デバイス(英語表記:programmable logic device、略して、PLD)によって実装されてもよい。PLDは、コンプレックス・プログラマブル・ロジック・デバイス(英語表記:complex programmable logic device、略して、CPLD)、FPGA、ジェネリック・アレイ・ロジック(英語表記:generic array logic、略して、GAL)、またはその任意の組合せであってもよい。ストップワード識別装置800は、図4に示したストップワード識別方法を実施するように構成される。
【０１０５】
ストップワード識別装置800の組織構造の概略図を図5に示している。装置は、入力モジュール802と、処理モジュール804とを備える。動作時には、処理モジュール804は、図4に示したストップワード識別方法におけるステップ604からステップ616を行う。
【０１０６】
入力モジュール802は、第1のクエリを受信し、第1のクエリに対応するセッションIDを獲得するように構成される、すなわち、図4に示したストップワード識別方法におけるステップを行う。
【０１０７】
処理モジュール804は、第1のクエリに対応するセッションIDに従って、第1のクエリと同一のセッションに属する第2のクエリを獲得するように構成され、第2のクエリに対する第1のクエリにおける各単語の変化ベースの特徴を獲得するようにさらに構成され、第2のクエリに対する第1のクエリにおける各単語の変化ベースの特徴に従って第1のクエリにおけるストップワードを識別するようにさらに構成される。
【０１０８】
処理モジュール804によって獲得された第2のクエリと第1のクエリとはクエリチェーンを形成することができる。クエリチェーンの構造を判定するための条件は、第1のクエリと第2のクエリとの最長の共通の節の長さが第1の閾値より大きい、または、第1のクエリを第2のクエリに変換するために要する操作の最小回数が第2の閾値未満である、または、第1のクエリが第1のベクトルにマッピングされており、第1のクエリが第2のベクトルにマッピングされており、第1のベクトルと第2のベクトルとの間の夾角が第3の閾値未満である、または、第1のクエリと第2のクエリとの長さの合計に対する第1のクエリと第2のクエリとの最長の共通の節の長さの比が第4の閾値より大きい、または、第1のクエリと第2のクエリとのうちのより短い方の長さに対する第1のクエリと第2のクエリとの最長の共通の節の長さの比が第5の閾値より大きい、または、第1のベクトルと第2のベクトルとの間の距離が第6の閾値未満であるを含む。
【０１０９】
処理ユニット804は、さらに、第1のクエリにおける各単語に従って情報検索システムの単語特徴データベースにクエリを行い、第1のクエリにおける各単語の統計的特徴を獲得し、第2のクエリに対する第1のクエリにおける各単語の変化ベースの特徴および第1のクエリにおける各単語の統計的特徴を識別モデルに入力し、第1のクエリにおける、識別モデルによって識別されたストップワードを取得する。識別モデルは、一般的に、プログラムコードのセグメントである。処理ユニット804は、訓練識別モデルを訓練する際に、または、識別モデルを使用してストップワードを識別する際に、プログラムコードのこのセグメントを呼び出す。
【０１１０】
処理ユニット804は、さらに、第1のクエリから識別モデルによって識別されたストップワードを除去して候補検索語を取得し、候補検索語に従って検索を行って検索結果を取得し、検索結果の精度が判定されると、正例として第1のクエリにおけるストップワードの統計的特徴および第2のクエリに対する第1のクエリにおけるストップワードの変化ベースの特徴を使用し、負例として第1のクエリにおけるストップワードを除いた任意の単語の統計的特徴および第2のクエリに対する第1のクエリにおけるストップワードを除いた任意の単語の変化ベースの特徴を使用し、正例および負例に従って識別モデルを訓練する。第1のクエリに対応する検索結果の精度を判定することは、第1のクエリに対応する検索結果に対するユーザ満足度を判定するために、分析を第1のクエリに対応する操作情報に対して行うことである。ユーザが満足する検索結果に対応するクエリのストップワード識別において識別されたストップワードおよび非ストップワードの様々な特徴を識別モデルを訓練するために使用しており、その結果、識別モデルの精度をさらに改善している。
【０１１１】
本実施形態によって提供したストップワード識別装置は、処理予定のクエリと同一のセッションに属するクエリを獲得し、その後、そのクエリに対する処理予定のクエリにおける単語の変化ベースの特徴を獲得し、変化ベースの特徴を処理予定のクエリにおけるストップワードを識別するための判断に組み込むことができる。したがって、ストップワード識別プロセスにおいては、ストップワード識別をクエリ間の変化ベースの特徴に従って行うことができ、ストップワード識別の精度を改善しており、すなわち、情報検索システムによって出力される検索結果の精度を改善している。
【０１１２】
前述の実施形態において、各実施形態の説明はそれぞれの焦点を有している。ある実施形態において詳細に説明していない部分については、他の実施形態における関連する説明を参照されたい。
【０１１３】
本発明によって開示した内容を参照して説明した方法は、ソフトウェア命令を実行することによってプロセッサによって実施されてもよい。ソフトウェア命令は、対応するソフトウェアモジュールを含み得る。ソフトウェアモジュールは、RAM、フラッシュメモリ、ROM、消去可能プログラマブルリードオンリーメモリ(英語表記:erasable programmable read only memory、略して、EPROM)、電気的消去可能プログラマブルリードオンリーメモリ(英語表記:electrically erasable programmable read only memory、略して、EEPROM)、ハードディスク、光ディスク、または先行技術において知られている任意の他の形式の記憶媒体に記憶され得る。
【０１１４】
当業者は、1つまたは複数の前述の例において、本発明において説明した機能をハードウェアまたはソフトウェアによって実施してもよいことを気づくであろう。ソフトウェアによって実装された場合には、機能は、コンピュータ可読媒体に記憶され得る、または、コンピュータ可読媒体内の1つまたは複数の命令またはコードとして送信され得る。記憶媒体は、コンピュータにアクセス可能な任意の汎用または専用の利用可能な媒体であり得る。
【０１１５】
前述の特定の実施様態において、本発明の目的、技術的解決手法、および利点を詳細にさらに説明している。前述の説明は、本発明の特定の実施様態にすぎず、本発明の保護範囲を限定することを意図していないことを理解されたい。本発明の技術的解決手法に基づいてなされた任意の変更または改善は本発明の保護範囲に含まれるものとする。
【符号の説明】
【０１１６】
200  情報検索システム
2021  入力/出力ユニット
2022  処理ユニット
202  検索デバイス
204  通信ネットワーク
206  ストレージデバイス
202  検索デバイス
206  ストレージデバイス
200  情報検索システム
400  コンピュータデバイス
402  プロセッサ
404  メモリ
406  通信インターフェース
408  バス
800  ストップワード識別装置
802  入力モジュール
804  処理モジュール
【図１】
0006355840.tif 000007
【図２】
0006355840.tif 000008
【図３】
0006355840.tif 000009
【図４】
0006355840.tif 000010
【図５】
0006355840.tif 000011