(57)【要約】【課題】特定の複数の用語の抽出を高速に行いつつシステム負荷を軽減できる用語抽出装置、方法及び用語辞書のデータ構造を提供する。【解決手段】用語抽出サーバ１は、用語の先頭から所定バイト以上の先頭文字列と用語の文字列長とを対応付けてインデックスとして記憶するインデックスＤＢ２１と、先頭文字列に対応する用語を実データとして記憶する用語ＤＢ２２と、ブログの記事から所定文字数の連続した文字列を読み込んでインデックスＤＢ２１の先頭文字列に一致するブログの記事中の文字列を検索するインデックス検索手段１３と、検索した文字列についてインデックスＤＢ２１を参照して文字列に一致した先頭文字列に対応する文字列長分の文字列をブログの記事から読み込んで対象文字列を抽出して用語ＤＢ２２に記憶された用語との一致を判定する用語判定手段１４と、一致すると判定されたことに応じて対象文字列を記憶する抽出用語ＤＢ２４とを備える。【選択図】図１
2011138365.tif 000002
【特許請求の範囲】
【請求項１】
用語の先頭から所定バイト以上の所定数の文字列によって構成された先頭文字列と、前記用語の文字列長とを対応付けてインデックスとして記憶するインデックス記憶手段と、
前記先頭文字列に対応する前記用語を前記インデックスが参照する実データとして記憶する用語記憶手段と、
対象文書から前記所定数の文字数分の連続した文字列を読み込んで、前記インデックス記憶手段に記憶された前記先頭文字列に一致する前記対象文書の中の文字列を検索するインデックス検索手段と、
前記インデックス検索手段が検索した前記先頭文字列に一致する前記文字列について、前記インデックス記憶手段を参照して前記文字列に一致した前記先頭文字列に対応する前記文字列長の分の文字列を前記対象文書から読み込んで対象文字列を抽出し、前記用語記憶手段に記憶された前記用語に一致するか否かを判定する用語判定手段と、
前記用語判定手段により一致すると判定されたことに応じて、前記対象文字列を記憶する抽出用語記憶手段と、
を備える用語抽出装置。
【請求項２】
前記インデックス検索手段は、前記対象文書の先頭から前記所定数の文字数分の連続した文字列を１文字ずつ文末方向に移動させながら逐次読み込んで、前記インデックス記憶手段に記憶された前記先頭文字列に一致する前記対象文書の中の文字列を逐次検索し、
前記対象文書の文末に至るまで、前記インデックス検索手段による検索と、前記用語判定手段による判定と、前記抽出用語記憶手段による抽出された前記対象文字列の記憶とを繰り返す繰返し手段を備える、
請求項１に記載の用語抽出装置。
【請求項３】
前記用語記憶手段は、前記用語に対応した種類情報を記憶し、
前記用語判定手段により一致すると判定されたことに応じて、前記用語記憶手段を参照して前記対象文字列に対応する前記種類情報を抽出して記憶する抽出種類記憶手段を備える、
請求項１又は請求項２に記載の用語抽出装置。
【請求項４】
前記所定数の先頭文字列は、３バイト以上４バイト以下の文字列である、
請求項１から請求項３までのいずれかに記載の用語抽出装置。
【請求項５】
コンピュータによって実行される用語抽出方法であって、
前記コンピュータが、用語の先頭から所定バイト以上の所定数の文字列によって構成された先頭文字列と、前記用語の文字列長とを対応付けてインデックスとして記憶するステップと、
前記コンピュータが、前記先頭文字列に対応する前記用語を前記インデックスが参照する実データとして記憶するステップと、
前記コンピュータが、対象文書から前記所定数の文字数分の連続した文字列を読み込んで、前記インデックスとして記憶された前記先頭文字列に一致する前記対象文書の中の文字列を検索するステップと、
前記コンピュータが、検索した前記先頭文字列に一致する前記文字列について、記憶された前記インデックスを参照して前記文字列に一致した前記先頭文字列に対応する前記文字列長の分の文字列を前記対象文書から読み込んで対象文字列を抽出し、前記実データとして記憶された前記用語に一致するか否かを判定するステップと、
前記コンピュータが、一致すると判定されたことに応じて、前記対象文字列を記憶するステップと、
を含む用語抽出方法。
【請求項６】
用語のうちの先頭の所定バイト以上の所定数の先頭文字列と、前記用語の文字列長とをインデックスとして記憶するインデックス記憶手段と、
前記インデックス記憶手段に記憶された前記先頭文字列及び対応する前記文字列長に対応する前記用語を前記インデックスが参照する実データとして記憶する用語記憶手段と、
を備える用語辞書のデータ構造。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、用語抽出装置、方法及び用語辞書のデータ構造に関する。
【背景技術】
【０００２】
従来、文書に含まれる用語を検索するシステムとして、インデックスを用いた用語検索支援システムが開示されている（例えば、特許文献１）。特許文献１に記載の用語検索支援システムは、インデックスを作成するのにファイル（文書）に含まれる掲載文字列を形態素解析して掲載用語を抽出した上で、索引用語を保存している。
【０００３】
他方、インターネット上には、様々なＷｅｂページが存在しているが、そのＷｅｂページの文書には、例えば、誹謗中傷がされたものや卑猥な言葉が書かれたもの等も存在する。このような一般に公開することが相応しくないＷｅｂページを探して、そのようなＷｅｂページを非公開にしたいというニーズが存在する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−１８２４０８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載の用語検索支援システムは、形態素解析を用いるものであるが、形態素解析は、システム負荷がかかる処理である。また、索引用語は、検索文字列を入力した際に一致を見るために、用語（文字列）単位に保存されており、文書全体のうち誹謗中傷や卑猥な言葉等の特定の複数の用語を検索するのには改善の余地がある。
【０００６】
本発明は、特定の複数の用語の抽出を高速に行いつつシステム負荷を軽減できる用語抽出装置、方法及び用語辞書のデータ構造を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明者らは、用語の辞書として、用語の先頭から所定バイト以上の所定数の先頭文字列と、用語の文字列長とを対応付けてインデックスとして記憶する方法を見出し、本発明を完成するに至った。本発明は、具体的には次のようなものを提供する。
【０００８】
（１）  用語の先頭から所定バイト以上の所定数の文字列によって構成された先頭文字列と、前記用語の文字列長とを対応付けてインデックスとして記憶するインデックス記憶手段と、
前記先頭文字列に対応する前記用語を前記インデックスが参照する実データとして記憶する用語記憶手段と、
対象文書から前記所定数の文字数分の連続した文字列を読み込んで、前記インデックス記憶手段に記憶された前記先頭文字列に一致する前記対象文書の中の文字列を検索するインデックス検索手段と、
前記インデックス検索手段が検索した前記先頭文字列に一致する前記文字列について、前記インデックス記憶手段を参照して前記文字列に一致した前記先頭文字列に対応する前記文字列長の分の文字列を前記対象文書から読み込んで対象文字列を抽出し、前記用語記憶手段に記憶された前記用語に一致するか否かを判定する用語判定手段と、
前記用語判定手段により一致すると判定されたことに応じて、前記対象文字列を記憶する抽出用語記憶手段と、
を備える用語抽出装置。
【０００９】
本発明のこのような構成によれば、用語の辞書として、用語の先頭から所定バイト以上の所定数の先頭文字列と、用語の文字列長とを対応付けてインデックスとして記憶し、先頭文字列に対応する用語をインデックスが参照する実データとして記憶し、インデックスを用いて所定数の先頭文字列に一致する文字列を対象文書から検索することで、実データに記憶された用語を抽出できる。よって、所定数の先頭文字列に一致する文字列を先に検索して確認することにより、参照する実データの数を絞り込める場合には特にシステム負荷を抑制しつつ、特定の複数の用語を高速に抽出できる。
【００１０】
（２）  前記インデックス検索手段は、前記対象文書の先頭から前記所定数の文字数分の連続した文字列を１文字ずつ文末方向に移動させながら逐次読み込んで、前記インデックス記憶手段に記憶された前記先頭文字列に一致する前記対象文書の中の文字列を逐次検索し、
前記対象文書の文末に至るまで、前記インデックス検索手段による検索と、前記用語判定手段による判定と、前記抽出用語記憶手段による抽出された前記対象文字列の記憶とを繰り返す繰返し手段を備える、
（１）に記載の用語抽出装置。
【００１１】
本発明のこのような構成によれば、対象文書の先頭から所定数の文字数分の連続した文字列を１文字ずつ文末方向に移動させながら逐次読み込んで、先頭文字列に一致する対象文書の中の文字列を逐次検索して、文末に至るまで繰返すので、対象文書の全てを検索して、特定の複数の用語を抽出することができる。
【００１２】
（３）  前記用語記憶手段は、前記用語に対応した種類情報を記憶し、
前記用語判定手段により一致すると判定されたことに応じて、前記用語記憶手段を参照して前記対象文字列に対応する前記種類情報を抽出して記憶する抽出種類記憶手段を備える、
（１）又は（２）に記載の用語抽出装置。
【００１３】
本発明のこのような構成によれば、用語に対応した種類情報を記憶することで、一致した用語に対応する種類情報を抽出することができる。ここで、種類情報を、例えば、用語のジャンルとすることで、抽出して蓄積したジャンルから、対象文書の傾向を把握できる。
【００１４】
（４）  前記所定数の先頭文字列は、３バイト以上４バイト以下の文字列である、
（１）から（３）までのいずれかに記載の用語抽出装置。
【００１５】
本発明のこのような構成によれば、所定数の先頭文字列を３バイト又は４バイトの文字列とすることができる。よって、例えば、２バイト文字であれば２文字を先頭文字列にするので、例えば、一文字単位の場合と比較して処理対象が絞られるので、高速かつシステム負荷を抑制して特定の複数の用語の抽出を実現できる。
【００１６】
（５）  コンピュータによって実行される用語抽出方法であって、
前記コンピュータが、用語の先頭から所定バイト以上の所定数の文字列によって構成された先頭文字列と、前記用語の文字列長とを対応付けてインデックスとして記憶するステップと、
前記コンピュータが、前記先頭文字列に対応する前記用語を前記インデックスが参照する実データとして記憶するステップと、
前記コンピュータが、対象文書から前記所定数の文字数分の連続した文字列を読み込んで、前記インデックスとして記憶された前記先頭文字列に一致する前記対象文書の中の文字列を検索するステップと、
前記コンピュータが、検索した前記先頭文字列に一致する前記文字列について、記憶された前記インデックスを参照して前記文字列に一致した前記先頭文字列に対応する前記文字列長の分の文字列を前記対象文書から読み込んで対象文字列を抽出し、前記実データとして記憶された前記用語に一致するか否かを判定するステップと、
前記コンピュータが、一致すると判定されたことに応じて、前記対象文字列を記憶するステップと、
を含む用語抽出方法。
【００１７】
（６）  用語のうちの先頭の所定バイト以上の所定数の先頭文字列と、前記用語の文字列長とをインデックスとして記憶するインデックス記憶手段と、
前記インデックス記憶手段に記憶された前記先頭文字列及び対応する前記文字列長に対応する前記用語を前記インデックスが参照する実データとして記憶する用語記憶手段と、
を備える用語辞書のデータ構造。
【発明の効果】
【００１８】
本発明によれば、用語の先頭から所定バイト以上の所定数の先頭文字列を比較することにより、複雑な処理を行わずにシステム負荷を抑制して特定の複数の用語を抽出できる。
【図面の簡単な説明】
【００１９】
【図１】本実施形態に係る用語抽出システムの全体構成及び用語抽出サーバの機能構成を示す図である。
【図２】本実施形態に係るインデックスＤＢ及び用語ＤＢの例を示す図である。
【図３】本実施形態に係る用語抽出サーバのメイン処理のフローチャートである。
【図４】本実施形態に係る例文を用いた説明のための図である。
【発明を実施するための形態】
【００２０】
以下、本発明を実施するための形態について、図を参照しながら説明する。なお、これは、あくまでも一例であって、本発明の技術的範囲はこれに限られるものではない。
【００２１】
（実施形態）
［用語抽出システム１００の全体構成及び用語抽出サーバ１の機能構成］
図１は、本実施形態に係る用語抽出システム１００の全体構成及び用語抽出サーバ１の機能構成を示す図である。図２は、本実施形態に係るインデックスＤＢ２１及び用語ＤＢ２２の例を示す図である。
【００２２】
用語抽出システム１００は、用語抽出サーバ１と、ブログサーバ３と、ユーザ端末５と、通信ネットワーク９とにより構成される。
【００２３】
用語抽出サーバ１は、例えば、ブログサーバ３に対して新たにブログの記事（対象文書）が投稿された場合や、既に存在するブログの記事が更新された場合に、ブログサーバ３から送信されたブログの記事を読み込んで、ブログの記事が用語ＤＢ（ＤＢ：データベース）に登録された用語を含んでいるか否かを判定して、ブログの記事に含まれる用語を抽出するサーバである。用語抽出サーバ１は、制御部１０と、記憶部２０とを備える。
【００２４】
制御部１０は、対象文書読込手段１１と、繰返し手段１２とを備える。また、繰返し手段１２は、インデックス検索手段１３と、用語判定手段１４と、抽出用語記憶手段１５と、抽出種類記憶手段１６とを備える。
【００２５】
対象文書読込手段１１は、ブログサーバ３等の外部装置から処理対象になる対象文書を読み込む制御部である。対象文書とは、例えば、ブログの記事における文字列をいい、写真やイラスト等は除かれる。
【００２６】
繰返し手段１２は、対象文書の先頭から所定数の連続した文字列を１文字ずつ文末方向に移動させながら逐次読み込んで、文末に至るまで、次に説明するインデックス検索手段１３と、用語判定手段１４と、抽出用語記憶手段１５と、抽出種類記憶手段１６とを繰り返す制御部である。
【００２７】
インデックス検索手段１３は、インデックスＤＢ２１に記憶されたインデックスの先頭文字列に一致する文字列を、対象文書から検索する制御部である。
【００２８】
用語判定手段１４は、インデックス検索手段１３により検索された先頭文字列に対応する文字列長をインデックスＤＢ２１から抽出し、検索された文字列を含む文字列の長さ分を対象文字列として対象文書から抽出して、これが、インデックスＤＢ２１に対応する用語ＤＢ２２の用語に一致するか否かを判定する制御部である。
【００２９】
ここで、記憶部２０に記憶されたインデックスＤＢ２１について、用語ＤＢ２２を用いつつ図２に基づき説明する。図２（ａ）に示すインデックスＤＢ２１は、対象になる用語の先頭文字列と用語の文字列長とを記憶するＤＢである。インデックスＤＢ２１は、そのＤＢ内で１から順番に番号を付したＮｏの他、先頭文字列２１ａと、文字列長２１ｂとからなる。
【００３０】
先頭文字列２１ａは、用語のうち３バイト以上４バイト以下の文字列（所定数の文字列）を格納する。図２（ａ）に示す例では、Ｎｏが「１」のレコードは、「アダ」という文字列を先頭文字列２１ａに格納する。「アダ」は、カタカナ文字であり、１文字が２バイト文字であるので、４バイトの文字列である。英字であれば、１文字が１バイトであるので、先頭文字列２１ａは、３文字を格納する。
【００３１】
文字列長２１ｂは、用語の文字列の長さを格納する。図２（ａ）に示す例では、Ｎｏが「１」のレコードの「アダ」に対応する用語は、図２（ｂ）に示す用語ＤＢ２２のうちＮｏが「１」の「アダルトサイト」である。よって、文字列長２１ｂは、２バイト文字が７文字であるので合計として１４バイトを格納する。また、図２（ａ）のＮｏが「２」のレコードの「イタ」に対応する用語は、図２（ｂ）に示す用語ＤＢ２２のうちＮｏが「２」から「４」までの３つの用語である。よって、文字列長２１ｂは、３つの用語の各々の文字列長を格納する。
【００３２】
図１に戻り、抽出用語記憶手段１５は、用語判定手段１４によって一致すると判定された対象文字列である用語を、抽出用語ＤＢ２４に記憶する。抽出種類記憶手段１６は、用語ＤＢ２２の該当の用語に対応するジャンルを抽出種類ＤＢ２５に記憶する。
【００３３】
ここで、用語ＤＢ２２について、図２に基づき説明する。図２（ｂ）に示す用語ＤＢ２２は、インデックスＤＢ２１の先頭文字列２１ａに対応する用語と、その用語のジャンルとを記憶するＤＢである。用語ＤＢ２２は、そのＤＢ内で１から順番に番号を付したＮｏの他、用語２２ａと、ジャンル２２ｂとからなる。
【００３４】
用語２２ａは、抽出対象の用語を格納する。ジャンル２２ｂは、用語に対応するカテゴリを格納する。図２（ｂ）に示す例では、Ｎｏが「１」のレコードは、用語２２ａには「アダルトサイト」という用語を格納し、ジャンル２２ｂには「性的表現」という用語のカテゴリを格納する。
【００３５】
このように、用語抽出サーバ１は、３バイト以上４バイト以下の用語の先頭文字列と、用語の文字列長とを記憶したインデックスＤＢ２１と、先頭文字列に対応した用語と、用語のジャンルとを記憶した用語ＤＢ２２とからなる新たな用語辞書を備えることができる。
【００３６】
記憶部２０は、上述したインデックスＤＢ２１と、用語ＤＢ２２の他、抽出用語ＤＢ２４と、抽出種類ＤＢ２５とを備える。
【００３７】
抽出用語ＤＢ２４及び抽出種類ＤＢ２５は、対象文書ごとに抽出された用語及びジャンルを記憶するＤＢである。
【００３８】
本実施形態の用語抽出サーバ１のハードウェアは、一般的なコンピュータによって構成してもよい。一般的なコンピュータは、例えば、制御部１０として、中央処理装置（ＣＰＵ）を備える他、記憶部２０として、メモリ（ＲＡＭ、ＲＯＭ）、ハードディスク（ＨＤＤ）及び光ディスク（ＣＤ、ＤＶＤ等）を、ネットワーク通信装置として、各種有線及び無線ＬＡＮ装置を、表示装置として、例えば、液晶ディスプレイ、プラズマディスプレイ等の各種ディスプレイを、入力装置として、例えば、キーボード及びポインティング・デバイス（マウス、トラッキングボール等）を適宜備え、これらはバスラインにより接続されている。このような一般的なコンピュータにおいて、ＣＰＵは、用語抽出サーバ１を統括的に制御し、各種プログラムを適宜読み出して実行することにより、上述したハードウェアと協働し、本発明に係る各種機能を実現している。
【００３９】
ブログサーバ３は、複数のブログの記事を記憶したサーバであり、ブログの記事を記憶する記憶部と、ブログサーバ３の全体を制御する制御部とを備える。ブログサーバ３のハードウェアは、一般的なコンピュータによって構成してよい。
【００４０】
ユーザ端末５は、例えば、パーソナルコンピュータ（ＰＣ）や、携帯電話機等の携帯端末である。ユーザ端末５は、通信機能を有し、ブログの記事の更新等が可能な端末であれば、どのような装置でもよい。
【００４１】
なお、本実施形態では、用語抽出サーバ１と、ブログサーバ３とを別々の装置として説明しているが、用語抽出サーバ１がブログサーバ３の機能をも有して、１台のコンピュータによって実現してもよい。また、本実施形態では、用語抽出サーバ１は、ブログサーバ３から送信されたブログの記事を受け付けるものとしているが、送信元は、どの装置であっても構わない。
【００４２】
通信ネットワーク９は、用語抽出サーバ１と、ブログサーバ３と、ユーザ端末５との間で通信を行うための、例えば、インターネット等の通信回線である。通信ネットワーク９は、有線であってもよいし、その一部又は全部が無線であってもよい。
【００４３】
［用語抽出サーバ１の処理］
次に、用語抽出サーバ１での処理について説明する。図３は、本実施形態に係る用語抽出サーバ１のメイン処理のフローチャートである。
【００４４】
図３のＳ１：制御部１０（対象文書読込手段１１）は、ブログサーバ３から送信されたブログの記事を読み込む。
【００４５】
Ｓ２：制御部１０は、定数ｎ（ｎは整数）にブログの記事の総文字数を格納し、変数ｋに１を格納する。
【００４６】
Ｓ３：制御部１０（インデックス検索手段１３）は、ブログの記事のｋ番目の文字を含む２文字（１バイト文字の場合は３文字）をブログの記事から抽出する。
【００４７】
Ｓ４：制御部１０（インデックス検索手段１３）は、抽出した文字列が、インデックスＤＢ２１に記憶された先頭文字列２１ａに格納された先頭文字列のいずれかに一致するか否かを判断する。抽出した文字列に一致する先頭文字列がある場合（Ｓ４：ＹＥＳ）には、制御部１０は、処理をＳ５に移す。抽出した文字列に一致する先頭文字列がない場合（Ｓ４：ＮＯ）には、制御部１０は、処理をＳ９に移す。
【００４８】
Ｓ５：制御部１０（インデックス検索手段１３、用語判定手段１４）は、一致した先頭文字列に対応する文字列長をインデックスＤＢ２１から抽出し、抽出した文字列長の文字列を対象文字列としてブログの記事から抽出する。ここで、先頭文字列に対応する文字列長が複数存在する場合（例えば、図２（ａ）のＮｏが「２」の場合）には、各々の文字列長に対応する文字列を対象文字列として抽出する。
【００４９】
Ｓ６：制御部１０（用語判定手段１４）は、対象文字列が先頭文字列２１ａの先頭文字列に対応する用語ＤＢ２２の用語に一致するか否かを判断する。一致する場合（Ｓ６：ＹＥＳ）には、制御部１０は、処理をＳ７に移す。他方、一致しない場合（Ｓ６：ＮＯ）には、制御部１０は、処理をＳ９に移す。ここで、複数の対象文字列が抽出されている場合には、複数の対象文字列の各々についてＳ６の処理を行う。
【００５０】
Ｓ７：制御部１０（抽出用語記憶手段１５）は、一致した対象文字列を抽出用語ＤＢ２４に記憶する。
【００５１】
Ｓ８：制御部１０（抽出種類記憶手段１６）は、一致した対象文字列に用語ＤＢ２２で対応するジャンルを抽出種類ＤＢ２５に記憶する。
【００５２】
Ｓ９：制御部１０は、変数ｋに「１」を加算する。
【００５３】
Ｓ１０：制御部１０（繰返し手段１２）は、変数ｋが定数ｎ以上であるか否かを判定する。この処理は、対象のブログの記事を先頭から文末まで全てについて処理を行ったか否かを判定するものである。本処理の条件を満たす場合（Ｓ１０：ＹＥＳ）には、制御部１０は、本処理を終了する。他方、本処理の条件を満たさない場合（Ｓ１０：ＮＯ）には、制御部１０は、処理をＳ３に移し、ブログの記事の文末に至るまで、処理を繰返す。
【００５４】
このように、用語抽出サーバ１は、インデックスＤＢ２１と用語ＤＢ２２とにより、インデックスＤＢ２１を用いて所定数の先頭文字列に一致する文字列をブログの記事から検索することで、用語ＤＢ２２に記憶された用語を抽出できるので、所定数の先頭文字列に一致する文字列を先に検索して確認することにより、参照する実データの数を絞り込める場合には特にシステム負荷を抑制しつつ、特定の複数の用語を高速に抽出できる。
【００５５】
また、用語抽出サーバ１は、ブログの記事の先頭から３バイト又は４バイトの連続した文字列を１文字ずつ文末方向に移動させながら逐次読み込んで、先頭文字列に一致するブログの記事の中の文字列を逐次検索して、文末に至るまで繰返すので、ブログの記事の全てを検索して、特定の複数の用語を抽出することができる。
【００５６】
次に、上述したフローチャートを用いての具体例を説明する。図４は、本実施形態に係る例文を用いた説明のための図である。
【００５７】
この例では、「このアダルトサイト作った人イタいやつだよね。」との文書からなるブログの記事４０を読み込む（図３のＳ１）。そして、定数ｎには、ブログの記事４０の総文字数である「２２」が格納される（図３のＳ２）。
【００５８】
最初は、変数ｋは「１」であり、ブログの記事は、全て２バイト文字であるので、１番目の文字を含む２文字として「この」の文字列が抽出される（図３のＳ３）。
【００５９】
文字列「この」は、インデックスＤＢ２１の先頭文字列２１ａの中には存在しないので（図３のＳ４でＮＯが選択）、変数ｋは、１加算されて「２」になる（図３のＳ９）。変数ｋの「２」は、定数ｎの「２２」より小であるので（図３のＳ１０でＮＯが選択）、今度は、２番目の文字を含む２文字として「のア」の文字列が抽出される（図３のＳ３）。
【００６０】
文字列「のア」も、インデックスＤＢ２１の先頭文字列２１ａの中には存在しないので（図３のＳ４でＮＯが選択）、変数ｋは「３」になり（図３のＳ９）、今度は、３番目の文字を含む２文字として「アダ」の文字列４１が抽出される（図３のＳ３）。
【００６１】
「アダ」である文字列４１は、図２（ａ）のインデックスＤＢ２１の先頭文字列２１ａの中に存在する（図３のＳ４でＹＥＳが選択）。よって、制御部１０は、インデックスＤＢ２１の先頭文字列２１ａの「アダ」に対応する文字列長２１ｂの「１４」をインデックスＤＢ２１から抽出し、ブログの記事４０から、「アダ」を先頭に含む「１４」バイトの対象文字列４２である「アダルトサイト」を抽出する（図３のＳ５）。
【００６２】
そして、対象文字列４２が用語ＤＢ２２の用語２２ａの「アダルトサイト」に一致するので（図３のＳ６でＹＥＳが選択）、対象文字列４２を抽出用語ＤＢ２４に記憶させる（図３のＳ７）。また、用語ＤＢ２２の用語２２ａに対応するジャンル２２ｂの内容である「性的表現」を、抽出種類ＤＢ２５に記憶させる（図３のＳ８）。そして、今度は、４番目の文字を含む２文字として「ダル」の文字列が抽出される（図３のＳ３）。このように、制御部１０は、ブログの記事４０を文末に向かって１文字ずつ移動させながら逐次読み込んで、一連の処理を行っていく。
【００６３】
ここで、変数ｋが「１４」の場合について説明する。１４番目の文字を含む２文字として「イタ」の文字列４３が抽出される（図３のＳ３）。「イタ」である文字列４３は、図２（ａ）のインデックスＤＢ２１の先頭文字列２１ａの中に存在する（図３のＳ４でＹＥＳが選択）。よって、制御部１０は、インデックスＤＢ２１の先頭文字列２１ａの「イタ」に対応する文字列長２１ｂとして「８」、「１０」、「１２」の３つをインデックスＤＢ２１から抽出する。そして、ブログの記事４０から「イタ」を先頭に含む「８」、「１０」、「１２」バイトの対象文字列４４から４６である「イタいや」、「イタいやつ」、「イタいやつだ」を抽出する（図３のＳ５）。
【００６４】
対象文字列４４と対象文字列４６とは、用語ＤＢ２２の用語２２ａに存在しないが、対象文字列４５は、用語ＤＢ２２の用語２２ａの「イタいやつ」に一致するので（図３のＳ６でＹＥＳが選択）、対象文字列４５を抽出用語ＤＢ２４に記憶させる（図３のＳ７）。また、用語ＤＢ２２の用語２２ａに対応するジャンル２２ｂの内容である「誹謗中傷」を、抽出種類ＤＢ２５に記憶させる（図３のＳ８）。
【００６５】
さらに、変数ｋが「２１」の場合について説明する。２１番目の文字を含む２文字として文字列「ね。」が抽出される（図３のＳ３）。文字列「ね。」は、インデックスＤＢ２１の先頭文字列２１ａの中には存在しないので（図３のＳ４でＮＯが選択）、変数ｋは「２２」になり（図３のＳ９）、変数ｋと定数ｎとは共に「２２」であるので、「ｋ≧ｎ」を満たし（図３のＳ１０でＹＥＳが選択）、処理が終了する。
【００６６】
このように、用語抽出サーバ１は、用語ＤＢ２２に、用語に対応したジャンルを記憶することで、一致した用語に対応するジャンルを抽出することができ、抽出して蓄積したジャンルから、ブログの記事の傾向を把握できる。
【００６７】
また、用語抽出サーバ１は、所定数の先頭文字列を３バイト又は４バイトの文字列とすることによって、例えば、２バイト文字であれば２文字を先頭文字列にするので、例えば、一文字単位の場合と比較して処理対象が絞られるので、高速かつシステム負荷を抑制して特定の複数の用語の抽出を実現できる。
【００６８】
なお、上述の実施形態においては、所定数の先頭文字列を３バイト又は４バイトの文字列とする場合について説明したが、対象文書のブログの記事等が１バイト文字であれば、所定数の文字列を１バイト又は２バイトの文字列とする場合の変形例も可能である。その場合には、用語抽出サーバ１は、それぞれ１文字又は２文字を先頭文字列にする。２文字を先頭文字列とする場合は、上述の実施形態と同様の効果が期待できる。さらに１文字を先頭文字列にする場合、一文字単位の場合と比べて、用語抽出サーバ１が参照するインデックスＤＢ２１の先頭文字の数は変わらないが、用語ＤＢ２２については指定された文字列長のもののみを参照するので、その分の用語ＤＢ２２の参照数が減少するので、システム負荷を抑制し、高速に処理することができる。また、対象文書のブログの記事等が２バイト文字であれば、所定数の文字列を２バイトの文字列とする場合の変形例が同様に可能である。
【００６９】
（変形形態）
本実施形態は、ユーザが投稿したブログの記事について説明したが、Ｗｅｂサイトの利用者によって制作され、生成されたコンテンツ（ＵＧＣ：Ｕｓｅｒ−Ｇｅｎｅｒａｔｅｄ  Ｃｏｎｔｅｎｔｓ）であれば、例えば、電子掲示板（ＢＢＳ）、プロフ、ソーシャルネットワーキングサービス（ＳＮＳ）等どのようなものでも利用できる。
【００７０】
以上、本発明の実施形態について説明したが、本発明は上述した実施形態に限るものではない。また、本発明の実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本発明の実施形態に記載されたものに限定されるものではない。
【符号の説明】
【００７１】
１      用語抽出サーバ
３      ブログサーバ
５      ユーザ端末
１０    制御部
１１    対象文書読込手段
１２    繰返し手段
１３    インデックス検索手段
１４    用語判定手段
１５    抽出用語記憶手段
１６    抽出種類記憶手段
２０    記憶部
２１    インデックスＤＢ
２２    用語ＤＢ
２４    抽出用語ＤＢ
２５    抽出種類ＤＢ
４０    記事
４１，４３  文字列
４２，４４，４５，４６  対象文字列
【図１】
2011138365.tif 000003
【図２】
2011138365.tif 000004
【図３】
2011138365.tif 000005
【図４】
2011138365.tif 000006