JP5921379B2 - テキスト処理方法、システム及びコンピュータ・プログラム。 - Google Patents

テキスト処理方法、システム及びコンピュータ・プログラム。 Download PDF

Info

Publication number
JP5921379B2
JP5921379B2 JP2012178600A JP2012178600A JP5921379B2 JP 5921379 B2 JP5921379 B2 JP 5921379B2 JP 2012178600 A JP2012178600 A JP 2012178600A JP 2012178600 A JP2012178600 A JP 2012178600A JP 5921379 B2 JP5921379 B2 JP 5921379B2
Authority
JP
Japan
Prior art keywords
word
words
index
search target
approximate value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2012178600A
Other languages
English (en)
Other versions
JP2014035760A (ja
Inventor
大介 宅間
大介 宅間
弘揮 ▲柳▼澤
弘揮 ▲柳▼澤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP2012178600A priority Critical patent/JP5921379B2/ja
Priority to US13/962,402 priority patent/US9471548B2/en
Priority to CN201310347285.1A priority patent/CN103577532B/zh
Priority to US14/021,458 priority patent/US9652526B2/en
Publication of JP2014035760A publication Critical patent/JP2014035760A/ja
Application granted granted Critical
Publication of JP5921379B2 publication Critical patent/JP5921379B2/ja
Priority to US15/243,299 priority patent/US10353932B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/31Indexing; Data structures therefor; Storage structures
    • G06F16/316Indexing structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/31Indexing; Data structures therefor; Storage structures
    • G06F16/313Selection or weighting of terms for indexing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3322Query formulation using system suggestions
    • G06F16/3323Query formulation using system suggestions using document space presentation or visualization, e.g. category, hierarchy or range presentation and selection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、テキスト処理技術に関し、特に、注目する単語の周辺にどのような単語が頻出するかを高速に検出する技術に係る。
情報処理技術の伸展に伴い、多様で大量のテキストデータを分析し、新たな知見を引き出すことが様々な分野で行われている。例えば、ネットワーク上のマイクロブログデータ、製造業者における製品情報データ、販売者における製品販売データ、医療機関内の診療データ等が分析の対象となっている。これらのテキストデータを対象とし、頻出する単語を上位k件抽出する問題は、top-k問題と呼ばれ、本発明者らによるもの(特許文献1及び2)を含め、従来から様々なアプローチが提案されている。また、転置インデックス等を用い、ある検索キーワードの周辺にどのような単語が頻出使用されているかを検索する近傍検索技術も従来から提案されている(特許文献3乃至14)。
特開2007-156739号公報 特開2009−211263号公報 特開2010−198425号公報 特開2008−243074号公報 特開平06−348757号公報 特開2009−199151号公報 特開平08−287105号公報 特開平07-182354号公報 特開平11−154164号公報 特開2001−75981号公報 特開2011−253572号公報 特開2001−134575号公報 特開2001−101194号公報 特開平10−334114号公報
しかしながら、対象とする文章が大量である場合、リアルタイムで分析を行う場合など、一層高速な近傍検索技術が求められている。とりわけ、複数のコンピュータ・システムを並列処理する場合には、検索精度の低下や運用の複雑化等を招くため、単体のコンピュータ・システムで、より高速に近傍検索を行うことが望ましい。
本発明はこのような課題に鑑みてなされたものであり、その目的の一つは、より高速に近傍検索を可能にするテキスト処理方法、コンピュータ及びコンピュータ・プログラムを提供することにある。
本発明を方法として把握すると、以下の通りとなる。すなわち、本発明は、複数の単語を含む複数の文章の集合をコンピュータにより処理する方法であり、前記文章の集合において、少なくとも一部の単語の出現箇所を階層的に特定するステップと、前記少なくとも一部の単語毎に、各単語に対応する前記特定された出現箇所のより上位階層に基づいて第1インデックスを作成するステップと、検索対象の単語の入力を受け付けるステップと、前記文章の集合において、前記検索対象の単語の出現箇所を階層的に特定するステップと、前記検索対象の単語に対応する前記特定された出現箇所のより上位階層に基づいて第2インデックスを作成するステップと、前記第1インデックスと前記第2インデックスとを比較し、前記検索対象の単語の周辺における一の単語の出現数の概算値を演算するステップと、前記概算値が所定数以上であることを条件に、前記出現箇所の上位階層及び下位階層に基づき、前記検索対象の単語の周辺における前記一の単語の出現数のより正確な値を演算するステップと
を備える方法である。
ここで、前記第1インデックス及び第2インデックスが、前記上位階層のビットセットを1/N(N:自然数)に圧縮したものであり、圧縮元ビットが1つ以上trueであることを条件に、圧縮先ビットをtrueとすることができる。さらにこの場合、前記第1インデックスと前記第2インデックスとの比較は、ビット演算により高速に行うことができる。
概算値の演算方法の一例としては、前記圧縮元ビットが2つ以上trueであることを条件に、対応する前記上位階層の要素を記憶し、前記要素に基づいて、前記検索対象の単語の周辺における一の単語の出現数の概算値を演算することができる。また他の例としては、前記圧縮元ビットが2つ以上trueであることを条件に、対応する前記上位階層の要素の数を記憶し、前記要素の数に基づいて、前記検索対象の単語の周辺における一の単語の出現数の概算値を演算することができる。さらに具体的には、各単語に対応する前記特定された出現箇所のより上位階層のビットセットを1/N(N:自然数)に圧縮したものであり、圧縮元ビットが2つ以上trueであることを条件に、圧縮先ビットをtrueとする第3インデックスを保持するステップと、前記検索対象の単語に対応する前記特定された出現箇所のより上位階層のビットセットを1/N(N:自然数)に圧縮したものであり、圧縮元ビットが2つ以上trueであることを条件に、圧縮先ビットをtrueとする第4インデックスを保持するステップとを更に備え、前記概算値を演算するステップは、前記第3インデックスと前記第4インデックスとをビット演算により比較することにより、さらに高速に概算値を演算することができる。
また、前記概算値が所定数に満たないことを条件に、前記一の単語の出現数のより正確な値を演算するステップをスキップし、次の単語の出現数の概算値を演算することで、全体の演算をより高速に行うことができる。
また、前記検索対象の単語の周辺において出現する単語のうち、暫定的な頻出上位K個の単語(K:自然数)を保持するステップを更に備え、前記一の単語の出現数のより正確な値を演算するステップは、前記概算値が前記暫定的な頻出上位K番目の単語の出現数以上であることを条件に、前記出現箇所の上位階層及び下位階層に基づき、前記検索対象の単語の周辺における前記一の単語の出現数のより正確な値を演算することもできる。この場合、前記演算された前記一の単語の出現数が前記暫定的な頻出上位K番目の単語の出現数以上であることを条件に、前記暫定的な頻出上位K個の単語を更新するステップを更に備えることができる。
なお、前記一の単語の出現数の概算値は、前記一の単語の出現数のより正確な値以上の値となることが望ましい。つまり、前記一の単語の出現数の概算値は、前記一の単語の出現数の上限値となることが望ましい。また、前記少なくとも一部の単語を前記複数の文章の集合において頻出する順に、前記一の単語としてその出現数の概算値を演算することができる。さらに、前記少なくとも一部の単語のすべての検討が終了することを条件に、前記暫定的な頻出上位K個の単語(K:自然数)を最終的な頻出上位K個の単語として出力するステップを更に備えてもよい。
ここで、前記少なくとも一部の単語は、前記複数の文章の集合に含まれる頻出上位L単語(L:自然数)を含むことが望ましい。また、前記少なくとも一部の単語は、前記複数の文章の集合に含まれる特定品詞の単語を含むよう設定することができる。さらに、前記検索対象の単語の周辺は、前記検索対象の単語の出現箇所よりも前方にX単語(X:自然数)、後方にY単語(Y:自然数)の範囲として予め設定することができる。なお、前記出現箇所の上位階層は、前記複数の文章のうち一の文章を特定する文章IDであり、前記出現箇所の下位階層は、前記一の文章中の位置を特定する位置IDとすることもできる。
本発明をこれらコンピュータ・プログラム、コンピュータ・システムとして把握した場合にも、上述した本発明を方法として把握した場合と実質的に同一の技術的特徴を備える事ができるのは当然である。
本発明によれば、より高速な近傍top-k検索が可能となる。
図1は、本実施形態に係るコンピュータ1のハードウェア構成を示すブロック図である。 図2は、コンピュータ1の機能モジュールを説明するブロック図である。 図3は、このコンピュータ1が実行する処理を説明するフローチャートである。 図4は、図3のステップS1の処理をさらに詳細に説明するフローチャートである。 図5は、ステップS11を模式的に説明する図である。 図6は、ステップS121とステップS122を模式的に説明する図である。 図7は、1/N圧縮及び概算値演算を説明する模式図である。 図8は、図3のステップS3の処理をさらに詳細に説明するフローチャートである。 図9は、暫定top-kのリストを説明する概念図である。 図10は、検索圧縮インデックスの作成を説明する概念図である。 図11は、変形例に係る1/N圧縮及び概算値演算を説明する模式図である。
実施形態
図1は、本実施形態に係るコンピュータ1のハードウェア構成を示すブロック図である。コンピュータ1のハードウェア構成は、(低速及び高速の)バス10、バス10に接続されるCPU(演算制御装置)11、RAM(ランダム・アクセス・メモリ:記憶装置)12、ROM(リード・オンリ・メモリ:記憶装置)13、HDD(ハード・ディスク・ドライブ:記憶装置)14、通信インタフェース15、入出力インタフェース16を備えている。さらに、入出力インタフェース16に接続されるマウス(ポインティング装置)17、フラット・パネル・ディスプレイ(表示装置)18、キーボード19等を備えている。なお、コンピュータ1は一般的なパーソナル・コンピュータ・アーキテクチャを採用するものとして説明したが、例えば、より高いデータ処理能力や可用性を求めて、CPU11やHDD14等を多重化することができる。また、デスクトップ型の他、ラップトップ型やタブレット型のパーソナル・コンピュータなど、様々なタイプのコンピュータ・システムを採用することができる。
このコンピュータ1のソフトウェア構成は、基本的な機能を提供するオペレーティング・システム(OS)と、OSの機能を利用するアプリケーション・ソフトウェアと、入出力装置のドライバ・ソフトウェアとを備えている。これらの各ソフトウェアは、各種データと共にRAM12上にロードされ、CPU11等により実行され、コンピュータ1は全体として、図2に示す機能モジュールを構成し、図3に示す処理を実行する。
図2は、コンピュータ1の機能モジュールを説明するブロック図である。このコンピュータ1は、特定モジュール(特定手段)101、インデックス作成モジュール(作成手段)102、入力モジュール(入力手段)100、演算モジュール(演算手段)104、保持モジュール(保持手段)103、更新モジュール(更新手段)105、出力モジュール(出力手段)106を備えている。これらの具体的な機能については、後述の図3等に示す処理の説明を通じて説明する。
図3は、このコンピュータ1が実行する処理を説明するフローチャートである。まず、ワード圧縮インデックス(第1インデックス)を作成する(ステップS1)。このステップS1の処理はバッチ処理で行うことができる。次に、キーボード19及び入力モジュール100を介して、ユーザから検索キーワードwtの入力がなされる(ステップS2)。検索キーワードwtが入力されると、そのキーワードの周辺に頻出する単語の上位k件を各出現数とともに出力モジュール106及びディスプレイ18を介して、ユーザに出力(表示)する(ステップS3)。このステップS3の処理はリアルタイム処理で行うため、特に高速化が望まれる。以下、上記ステップS1及びS3を中心に、図4乃至図11を参照し、コンピュータ1の処理をより詳細に説明する。
図4は、図3のステップS1の処理をさらに詳細に説明するフローチャートである。まず、特定モジュール101がHDD14内に記憶されている複数の文章集合(例えば、50万文章)を検索し、その文章集合に含まれる各ワードの出現箇所を(文章ID(上位階層)、文章内位置(下位階層))の形式で階層的に特定し、各ワードの出現箇所のリストを出現回数の降順(より正確には、文章IDの数の降順)でソートする(ステップS11)。図5は、ステップS11を模式的に説明する図である。文章ID:0〜Mで特定される文章内には、複数の単語が含まれる。これらの単語のうち、最も頻出する単語w1とし、その出現箇所を(文章ID,文章内位置)の形式で(1,15)、(3,2)、…とリストしている。例えば、文章ID:1で特定される文章中の15番目の単語として単語w1が出現することが分かる。同様に、単語w1に次いで最も頻出する単語w2,単語w2に次いで最も頻出する単語w3、…と単語wnまでソートされている。
ここで、本発明を適用するにあたり、文章の種類に制限はなく、例えば、ネットワーク上のマイクロブログデータ、製造業者における製品情報データ、販売者における製品販売データ、医療機関内の診療データ等を対象とすることができる。また、文章の単位も対象とするデータに合わせて任意に設定することができる。例えば、診療データを対象とする場合には、患者毎のカルテを上位階層とし、診察日時を下位階層としてワードの出現箇所を特定することができる。また、複数の文章の集合内に含まれるすべての単語を対象としてもよいが、一部の単語のみ対象とすることもできる。その場合、少なくとも複数の文章の集合内の出現回数が比較的上位の単語を対象としておくことが望ましい。また、データの利用形態やユーザの好みに応じて、対象とする単語の品詞を特定することもできる。例えば、名詞のみを対象とすることもできるし、助詞を対象から除外することもできる。
次に、図5に示したソートされたリストに基づいて、インデックス作成モジュール102により、ワード圧縮インデックスが作成される(ステップS12)。以下、最頻出の単語w1を例に、説明するが、他の単語(w2〜wn)についても同様である。図6は、ステップS121とステップS122を模式的に説明する図である。インデックス作成モジュール101は、単語w1に対応する出現箇所のリストw1:(1,15)、(3,2)、…から、文書内位置を棄却し、文章IDのみのリストw1‘:1,3,3,5,…を作成する(ステップS121)。さらに、インデックス作成モジュール101は、リストw1’から重複する文章IDを纏め(ここでは、「3,3」を「3」に纏め)、リストw1“:1,3,5,…を作成する(ステップS122)。図7は、1/N圧縮を説明する模式図である。インデックス作成モジュール102は、文章IDのビットセットを1/N倍に圧縮し、ワード圧縮インデックスW1を作成する(ステップS123)。すなわち、リストw1”:1,3,5,8,10,11…を1/N圧縮(ここではN=4)し、圧縮元ビットが1つ以上trueであることを条件に、圧縮先ビットをtrueとし、圧縮元ビットが2つ以上trueであることを条件に、対応する文章IDの要素を記憶する。ここでは、文章ID:1と3、8と10と11が記憶される。以上、最頻出の単語w1を例に、ワード圧縮インデックスW1が作成される処理を説明したが、同様に、他の単語(w2〜wn)についても、それぞれワード圧縮インデックスW2〜Wnが作成される。
図8は、図3のステップS3の処理をさらに詳細に説明するフローチャートである。まず、更新モジュール105が、暫定top-kのリストを初期化する(ステップS31)。図9は、暫定top-kのリストを説明する概念図である。検索キーワードwtの周辺に頻出する単語の上位k件が、暫定top-k(単語、出現数)のリストの形式で記憶されている。つまり、#top-k≦…≦#top-2≦#top-1の関係が成立する。ここで、自然数kは予め設定することもできるし、ユーザにより個別に指定することもできる。また、検索キーワードwtの周辺としては、検索キーワードwtの前方にX単語(X:整数)、検索キーワードwtの後方にY単語(Y:整数)として予め設定することもできるし、ユーザにより指定することもできる。また、XとYのいずれかをゼロやマイナスの整数に設定、指定することもできる。なお、暫定top-kのリストは、保持モジュール103により、比較的アクセスが高速な半導体メモリ上に保持される。
次に、特定モジュール101及びインデックス作成モジュール102により、検索圧縮インデックス(第2インデックス)を作成する(ステップS32)。図10は、検索圧縮インデックスの作成を説明する概念図である。特定モジュール101がHDD14内に記憶されている複数の文章集合を検索し、その文章集合に含まれる検索キーワードwtの出現箇所を(文章ID)、文章内位置)の形式で階層的に特定し、検索キーワードwtの出現箇所のリストwtを作成する。ここでは、検索キーワードwtの出現箇所を(2,12)、(8,5)、…とリストしている。すなわち、文章ID:2で特定される文章中の12番目の単語として検索キーワードwtが出現することが分かる。次いで、インデックス作成モジュール101は、検索キーワードwtに対応する出現箇所のリストwt:(2,12)、(8,5)、…から、文書内位置を棄却し、文章IDのみのリストwt‘:2,8,8,10,…を作成する。さらに、インデックス作成モジュール101は、リストwt’から重複する文章IDを纏め(ここでは、「8,8」を「8」に纏め)、リストwt“:2,8,10,…を作成する。図7は、1/N圧縮を説明する模式図である。インデックス作成モジュール101は、リストwt”:2,8,10…を1/N圧縮(ここではN=4)し、圧縮元ビットが1つ以上trueであることを条件に、圧縮先ビットをtrueとし、圧縮元ビットが2つ以上trueであることを条件に、対応する文章IDの要素を記憶する。ここでは、文章ID:8と10が記憶される。
次に、各単語w1〜wnについて、降順に(w1→wnの順に)以下の処理を行う(ステップS33)。まず、演算モジュール104が、当該単語の出現数が、暫定top-kリスト(図9参照)の第k位(最下位)の周辺出現数未満(より正確には以下)か否かを判断する(ステップS34)。「YES」の場合には、ステップS39へ進み、出力モジュール106が暫定top-kリストを最終結果として出力する。他方、「NO」の場合には、ステップS35へ進み、圧縮インデックスWと検索圧縮インデックスWtとを比較して、周辺出現数の概算値を求める。この処理について、図7を参照して、後述する。なお、圧縮インデックスWと検索圧縮インデックスWtとは比較的アクセスが高速な半導体メモリ上に保持される。
次に、ステップS35により得られた概算値が暫定top-kリスト(図9参照)の第k位(最下位)の周辺出現数未満(より正確には以下)か否かを判断する(ステップS36)。「YES」の場合には、ステップS38へ進み、次の単語があるか否かを判断する。ここで「YES」の場合には、さらにステップS34から繰り返す。一方、「NO」の場合には、出力モジュール106が暫定top-kリストを最終結果として出力する。他方、ステップS36の判断が「NO」の場合には、ステップS37へ進み、演算モジュール104は、当該単語の出現箇所と検索キーワードの出現箇所とを用いて、より正確な近傍判定を行う。その結果、当該単語の周辺出現数が、暫定top-kリスト(図9参照)の第k位(最下位)の周辺出現数以上の場合には、更新モジュール105は、暫定top-kリストを更新する。
演算モジュール104は、以下のように、周辺出現数の概算値を求める(図7参照)。まず、圧縮インデックスW1と検索圧縮インデックスWtとを比較し、両インデックスの積集合の大きさを演算する。ここでは、0ビット目と2ビット目の二箇所がtrueのため、演算モジュール104は、「2」を記憶する。なお、かかる演算はビット演算で行われるため、非常に高速である。さらに、演算モジュール104は、圧縮インデックスW1の2ビット目に対応して記憶している文章ID:8,10,11と、同じく検索圧縮Wtの2ビット目に対応して記憶している文章ID:8,10とを比較し、両者の先頭「8」を除外し、文章ID:10,11と文章ID:10の積集合の大きさ(一致する数)「1」を記憶する。他の実装例としては、演算モジュール104は、圧縮インデックスW1の2ビット目に対応して記憶している文章ID:8,10,11と、同じく検索圧縮Wtの2ビット目に対応して記憶している文章ID:8,10とを比較し、共通の要素が1つ以下の場合はゼロ、共通の要素が2つ以上の場合、共通の要素数から1を減じた値の「1」を記憶する。いずれの場合も、結果として、演算モジュール104は、概算値として2+1=3を得る。
変形例
先に説明した実施形態では、周辺出現数の概算値を演算する際にビット演算を用いることより、高速に概算値を得るものであるが、さらに、ビット演算を多用する手法について、変形例として説明する。図11は、変形例を説明する概念図である。上述の実施形態と同様の構成については、同一の符号を付し、その説明を省略する。
インデックス作成モジュール101は、リストw1”:1,3,5…を1/N圧縮(ここではN=4)し、圧縮元ビットが2つ以上trueであることを条件に、圧縮先ビットをtrueとし、圧縮インデックスW1‘(第三インデックス)を作成する。また、対応する文章IDの要素の数を記憶する。ここでは、第0ビットに対応する文章IDの要素:1,3の数「2」と、第2ビットに対応する文章IDの要素:8,10,11の数「3」とを記憶する。同様に、インデックス作成モジュール101は、リストwt”:2,8,10…を1/N圧縮(ここではN=4)し、圧縮元ビットが2つ以上trueであることを条件に、圧縮先ビットをtrueとし、検索圧縮インデックスWt‘を作成する。また、対応する文章IDの要素の数を記憶する。ここでは、第0ビットに対応する文章IDの要素:8,10の数「2」を記憶する。なお、圧縮インデックスW1’と検索圧縮インデックスWt‘はいずれも比較的アクセスが高速な半導体メモリ上に保持される。
演算モジュール104は、以下のように、周辺出現数の概算値を求める(図11参照)。まず、圧縮インデックスW1と検索圧縮インデックスWtとを比較し、両インデックスの積集合の大きさを演算する。ここでは、0ビット目と2ビット目の二箇所がtrueのため、演算モジュール104は、「2」を記憶する。なお、かかる演算はビット演算で行われるため、非常に高速である。さらに、演算モジュール104は、圧縮インデックスW1‘と検索圧縮インデックスWt’とを比較し、両インデックスの積集合を演算する。つまり、積集合のtrueのビットに対応して、記憶しているW1‘の文書IDの数とWt’の文書IDの数の小さい方の数を、積集合の各trueビットについて足した値を演算する。なお、かかる演算もビット演算で行われるため、非常に高速である。ここでは、2ビット目の一箇所がtrueのため、演算モジュール104は、さらに、圧縮インデックスW1‘の2ビット目に対応して記憶している文章ID:8,10,11の数:3と、検索圧縮Wt’の2ビット目に対応して記憶している文章ID:8,10の数:2とを比較し、両者の小さいほうの数:2からマイナス1とし、「1」を得る。その結果、演算モジュール104は、概算値として2+1=3を得る。
以上、本発明の実施形態(含む変形例)を詳細に説明した。なお、本発明の技術的範囲は実施形態に限定して解釈すべきでないことは勿論である。
1…パーソナル・コンピュータ(コンピュータ・システム)、
11…CPU(演算制御装置)、
12…RAM(ランダム・アクセス・メモリ:記憶装置)、
13…ROM(リード・オンリ・メモリ:記憶装置)、
14…HDD(ハード・ディスク・ドライブ:記憶装置)、
17…マウス(ポインティング装置)、
18…フラット・パネル・ディスプレイ(表示装置)、
100…入力モジュール(入力手段)、
101…特定モジュール(特定手段)、
102…インデックス作成モジュール(作成手段)、
103…保持モジュール(保持手段)、
104…演算モジュール(演算手段)、
105…更新モジュール(更新手段)
106…出力モジュール(出力手段)

Claims (20)

  1. 複数の単語を含む複数の文章の集合をコンピュータにより処理する方法であり、
    前記文章の集合において、少なくとも一部の単語の出現箇所を階層的に特定するステップと、
    前記少なくとも一部の単語毎に、各単語に対応する前記特定された出現箇所のより上位階層に基づいて第1インデックスを作成するステップと、
    検索対象の単語の入力を受け付けるステップと、
    前記文章の集合において、前記検索対象の単語の出現箇所を階層的に特定するステップと、
    前記検索対象の単語に対応する前記特定された出現箇所のより上位階層に基づいて第2インデックスを作成するステップと、
    前記第1インデックスと前記第2インデックスとを比較し、前記検索対象の単語の周辺における一の単語の出現数の概算値を演算するステップと、
    前記概算値が所定数以上であることを条件に、前記出現箇所の上位階層及び下位階層に基づき、前記検索対象の単語の周辺における前記一の単語の出現数のより正確な値を演算するステップと
    を備える方法。
  2. 前記第1インデックス及び第2インデックスが、前記上位階層のビットセットを1/N(N:自然数)に圧縮したものであり、圧縮元ビットが1つ以上trueであることを条件に、圧縮先ビットをtrueとする請求項1に記載の方法。
  3. 前記第1インデックスと前記第2インデックスとの比較は、ビット演算により行われる請求項2に記載の方法。
  4. 前記概算値を演算するステップは、
    前記圧縮元ビットが2つ以上trueであることを条件に、対応する前記上位階層の要素を記憶し、前記要素に基づいて、前記検索対象の単語の周辺における一の単語の出現数の概算値を演算する請求項2又は3に記載の方法。
  5. 前記概算値を演算するステップは、
    前記圧縮元ビットが2つ以上trueであることを条件に、対応する前記上位階層の要素の数を記憶し、前記要素の数に基づいて、前記検索対象の単語の周辺における一の単語の出現数の概算値を演算する請求項2又は3に記載の方法。
  6. 各単語に対応する前記特定された出現箇所のより上位階層のビットセットを1/N(N:自然数)に圧縮したものであり、圧縮元ビットが2つ以上trueであることを条件に、圧縮先ビットをtrueとする第3インデックスを作成するステップと、
    前記検索対象の単語に対応する前記特定された出現箇所のより上位階層のビットセットを1/N(N:自然数)に圧縮したものであり、圧縮元ビットが2つ以上trueであることを条件に、圧縮先ビットをtrueとする第4インデックスを作成するステップとを更に備え、
    前記概算値を演算するステップは、
    前記第3インデックスと前記第4インデックスとをビット演算により比較する請求項5に記載の方法。
  7. 前記概算値が所定数に満たないことを条件に、前記少なくとも一部の単語のうち、次の単語の出現数の概算値を演算する請求項1乃至6のいずれかに記載の方法。
  8. 前記概算値が所定数に満たないことを条件に、前記一の単語の出現数のより正確な値を演算するステップをスキップする請求項1乃至7のいずれかに記載の方法。
  9. 前記検索対象の単語の周辺において出現する単語のうち、暫定的な頻出上位K個の単語(K:自然数)を保持するステップを更に備え、
    前記一の単語の出現数のより正確な値を演算するステップは、
    前記概算値が前記暫定的な頻出上位K番目の単語の出現数以上であることを条件に、前記出現箇所の上位階層及び下位階層に基づき、前記検索対象の単語の周辺における前記一の単語の出現数のより正確な値を演算する
    請求項1乃至8のいずれかに記載の方法。
  10. 前記演算された前記一の単語の出現数が前記暫定的な頻出上位K番目の単語の出現数以上であることを条件に、前記暫定的な頻出上位K個の単語を更新するステップを更に備える請求項9に記載の方法。
  11. 前記一の単語の出現数の概算値は、前記一の単語の出現数の正確な値以上の値である請求項1乃至10のいずれかに記載の方法。
  12. 前記少なくとも一部の単語を前記複数の文章の集合において頻出する順に、前記一の単語としてその出現数の概算値を演算する請求項1乃至11のいずれかに記載の方法。
  13. 前記少なくとも一部の単語のすべての検討が終了することを条件に、前記暫定的な頻出上位K個の単語(K:自然数)を最終的な頻出上位K個の単語として出力するステップを更に備える請求項9乃至12のいずれかに記載の方法。
  14. 前記少なくとも一部の単語は、前記複数の文章の集合に含まれる頻出上位L単語(L:自然数)を含む請求項1乃至13のいずれかに記載の方法。
  15. 前記少なくとも一部の単語は、前記複数の文章の集合に含まれる特定品詞の単語を含む請求項1乃至14のいずれかに記載の方法。
  16. 前記検索対象の単語の周辺は、前記検索対象の単語の出現箇所よりも前方にX単語(X:整数)、後方にY単語(Y:整数)の範囲として予め設定される請求項1乃至15のいずれかに記載の方法。
  17. 前記出現箇所の上位階層は、前記複数の文章のうち一の文章を特定する文章IDであり、前記出現箇所の下位階層は、前記一の文章中の位置を特定する位置IDである請求項1乃至16のいずれかに記載の方法。
  18. コンピュータにより実行されることにより、前記コンピュータに請求項1乃至17のいずれかに記載の方法を実行させるコンピュータ・プログラム。
  19. 複数の単語を含む複数の文章の集合を処理するコンピュータであり、
    前記文章の集合において、少なくとも一部の単語の出現箇所を階層的に特定する手段と、
    前記少なくとも一部の単語毎に、各単語に対応する前記特定された出現箇所のより上位階層に基づいて第1インデックスを作成する手段と、
    検索対象の単語の入力を受け付ける手段と、
    前記文章の集合において、前記検索対象の単語の出現箇所を階層的に特定する手段と、
    前記検索対象の単語に対応する前記特定された出現箇所のより上位階層に基づいて第2インデックスを作成する手段と、
    前記第1インデックスと前記第2インデックスとを比較し、前記検索対象の単語の周辺における一の単語の出現数の概算値を演算する手段と、
    前記概算値が所定数以上であることを条件に、前記出現箇所の上位階層及び下位階層に基づき、前記検索対象の単語の周辺における前記一の単語の出現数のより正確な値を演算する手段と
    を備えるコンピュータ。
  20. 前記コンピュータは半導体メモリを備え、
    前記概算値を演算する手段は、前記半導体メモリ上に前記第1インデックスと前記第2インデックスを記憶し、ビット演算により比較する請求項19に記載のコンピュータ。
JP2012178600A 2012-08-10 2012-08-10 テキスト処理方法、システム及びコンピュータ・プログラム。 Active JP5921379B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2012178600A JP5921379B2 (ja) 2012-08-10 2012-08-10 テキスト処理方法、システム及びコンピュータ・プログラム。
US13/962,402 US9471548B2 (en) 2012-08-10 2013-08-08 Text processing method, system and computer program
CN201310347285.1A CN103577532B (zh) 2012-08-10 2013-08-09 用于文本处理的方法和系统
US14/021,458 US9652526B2 (en) 2012-08-10 2013-09-09 Text processing method, system and computer program
US15/243,299 US10353932B2 (en) 2012-08-10 2016-08-22 Text processing method, system and computer program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012178600A JP5921379B2 (ja) 2012-08-10 2012-08-10 テキスト処理方法、システム及びコンピュータ・プログラム。

Publications (2)

Publication Number Publication Date
JP2014035760A JP2014035760A (ja) 2014-02-24
JP5921379B2 true JP5921379B2 (ja) 2016-05-24

Family

ID=50049308

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012178600A Active JP5921379B2 (ja) 2012-08-10 2012-08-10 テキスト処理方法、システム及びコンピュータ・プログラム。

Country Status (3)

Country Link
US (3) US9471548B2 (ja)
JP (1) JP5921379B2 (ja)
CN (1) CN103577532B (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10474672B2 (en) * 2015-08-25 2019-11-12 Schlafender Hase GmbH Software & Communications Method for comparing text files with differently arranged text sections in documents
JP7003427B2 (ja) 2017-03-24 2022-01-20 富士通株式会社 検索プログラム、情報処理装置および検索方法
JP2018169795A (ja) * 2017-03-30 2018-11-01 株式会社日立製作所 情報処理装置、これにおける画面表示方法及び分析処理プログラム

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0675999A (ja) 1992-07-06 1994-03-18 Nec Corp データベース類似検索解表示装置
JPH06348757A (ja) 1993-06-07 1994-12-22 Hitachi Ltd 文書検索装置および方法
JPH07182354A (ja) 1993-12-24 1995-07-21 Fujitsu Ltd 電子文書の作成方法
JPH07189354A (ja) 1993-12-28 1995-07-28 Idai Kensetsu:Kk 内装パネル
JP3531281B2 (ja) 1995-04-18 2004-05-24 富士ゼロックス株式会社 文書登録検索装置
JP3514874B2 (ja) 1995-06-06 2004-03-31 富士通株式会社 フリーテキスト検索システム
JP2833580B2 (ja) * 1996-04-19 1998-12-09 日本電気株式会社 全文インデックス作成装置および全文データベース検索装置
JP3143079B2 (ja) * 1997-05-30 2001-03-07 松下電器産業株式会社 辞書索引作成装置と文書検索装置
JP3627445B2 (ja) 1997-06-04 2005-03-09 富士ゼロックス株式会社 文書検索装置及び文書検索プログラムを記録した記憶媒体
JP3134817B2 (ja) * 1997-07-11 2001-02-13 日本電気株式会社 音声符号化復号装置
JPH11154164A (ja) 1997-11-21 1999-06-08 Hitachi Ltd 全文検索処理における適合度算出方法および該方法に係るプログラムを格納した記憶媒体
JP2001014575A (ja) 1999-06-29 2001-01-19 Mitsubishi Electric Corp 車載異常通報装置
JP4073586B2 (ja) 1999-09-02 2008-04-09 株式会社エヌ・ティ・ティ・データ 検索システム、検索条件受付方法及び記録媒体
JP2001101194A (ja) 1999-09-27 2001-04-13 Mitsubishi Electric Corp テキストマイニング方法、テキストマイニング装置及びテキストマイニングプログラムが記録された記録媒体
KR100645614B1 (ko) 2005-07-15 2006-11-14 (주)첫눈 정보 가치 측정결과를 반영한 검색 방법 및 검색 장치
JP4314221B2 (ja) 2005-07-28 2009-08-12 株式会社東芝 構造化文書記憶装置、構造化文書検索装置、構造化文書システム、方法およびプログラム
JP4172801B2 (ja) 2005-12-02 2008-10-29 インターナショナル・ビジネス・マシーンズ・コーポレーション テキストからキーワードを検索する効率的なシステム、および、その方法
JP2008243074A (ja) 2007-03-28 2008-10-09 Toshiba Corp 文書検索装置、方法及びプログラム
JP2009043125A (ja) 2007-08-10 2009-02-26 Kddi Corp ユーザ分類装置、広告配信装置、ユーザ分類方法、広告配信方法およびプログラム
JP2009193219A (ja) 2008-02-13 2009-08-27 Nippon Telegr & Teleph Corp <Ntt> インデックス作成装置、その方法、プログラム及び記録媒体
US9384175B2 (en) 2008-02-19 2016-07-05 Adobe Systems Incorporated Determination of differences between electronic documents
JP5333815B2 (ja) 2008-02-19 2013-11-06 株式会社日立製作所 k最近傍検索方法、k最近傍検索プログラム及びk最近傍検索装置
JP5038939B2 (ja) 2008-03-03 2012-10-03 インターナショナル・ビジネス・マシーンズ・コーポレーション 情報検索システム、方法及びプログラム
US9405831B2 (en) 2008-04-16 2016-08-02 Gary Stephen Shuster Avoiding masked web page content indexing errors for search engines
JP5169456B2 (ja) * 2008-05-09 2013-03-27 日本電気株式会社 文書検索システム、文書検索方法および文書検索プログラム
JP2010198425A (ja) * 2009-02-26 2010-09-09 Hitachi Ltd 文書管理方法、装置
US8560530B2 (en) 2010-05-17 2013-10-15 Buzzmetrics, Ltd. Methods, apparatus, and articles of manufacture to rank web site influence
US9069754B2 (en) 2010-09-29 2015-06-30 Rhonda Enterprises, Llc Method, system, and computer readable medium for detecting related subgroups of text in an electronic document
US20120143683A1 (en) 2010-12-06 2012-06-07 Fantab Corporation Real-Time Sentiment Index
US9922333B2 (en) 2012-03-09 2018-03-20 Exponential Interactive, Inc. Automated multivariate behavioral prediction

Also Published As

Publication number Publication date
JP2014035760A (ja) 2014-02-24
US10353932B2 (en) 2019-07-16
CN103577532A (zh) 2014-02-12
US20160357852A1 (en) 2016-12-08
CN103577532B (zh) 2016-12-28
US20140046953A1 (en) 2014-02-13
US20140046654A1 (en) 2014-02-13
US9652526B2 (en) 2017-05-16
US9471548B2 (en) 2016-10-18

Similar Documents

Publication Publication Date Title
US20230177579A1 (en) System and method for computing features that apply to infrequent queries
US20120078587A1 (en) Designing A Modeled Object Within A Session Of A Computer-Aided Design System Interacting With A Database
WO2012039864A1 (en) Visual-cue refinement of user query results
TW201140349A (en) Compensating for unbalanced hierarchies when generating OLAP queries from report specifications
WO2013063740A1 (en) Selecting images based on textual description
Zakeri et al. Protein fold recognition using geometric kernel data fusion
JP5921379B2 (ja) テキスト処理方法、システム及びコンピュータ・プログラム。
US10198497B2 (en) Search term clustering
JP2004192398A (ja) 情報処理装置および情報処理方法、並びに情報処理プログラム
US10296626B2 (en) Graph
JP2021500639A (ja) 多段階パターン発見およびビジュアル分析推奨のための予測エンジン
US20170109402A1 (en) Automated join detection
Sun et al. A scalable and flexible basket analysis system for big transaction data in Spark
US8479143B1 (en) Signature based duplicate extraction
Yang et al. Integrating PPI datasets with the PPI data from biomedical literature for protein complex detection
US20150170067A1 (en) Determining analysis recommendations based on data analysis context
CN113297226B (zh) 数据存储方法、数据读取方法、装置、电子设备及介质
KR101765292B1 (ko) 목적 기반의 데이터 분석도구 제공 장치 및 방법
US9471848B2 (en) Classifying objects displayed on a device
WO2020235020A1 (ja) マッピング支援装置、マッピング支援方法、及びプログラム
US11797580B2 (en) Connection nature between nodes in graph structure
US20170124177A1 (en) Method and system for locating underlying patterns in datasets using hierarchically structured categorical clustering
US10956449B2 (en) OLAP engine workload distribution using cost based algorithms
WO2022264385A1 (ja) 検索方法、検索プログラムおよび情報処理装置
JP2017097451A (ja) 情報処理方法、情報処理プログラムおよび情報処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20141224

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151201

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160322

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160412

R150 Certificate of patent or registration of utility model

Ref document number: 5921379

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150