(57)【要約】      （修正有）【課題】フィルタリングする確率が高いフィルタリング処理方法を提供する。【解決手段】特定の１または複数のユーザーの過去の発言をすべて連結して一文にする工程と、前記文を形態素に解析する工程と、異なる２つの前記形態素を共起語とし、共起度を計算する工程と、前記形態素から素性を生成する工程と、前記形態素から拡張素性を生成する工程と、前記素性及び前記拡張素性に素性パラメータを与える工程とを含む学習工程と、任意のユーザーにより新たに入力された文をフィルタリングするべきか判断する工程を含む分類工程を含むフィルタリング処理方法。【選択図】図２
2011028595.tif 000002
【特許請求の範囲】
【請求項１】
特定の１または複数のユーザーの過去の発言をすべて連結して一文にする工程と、
前記文を形態素に解析する工程と、
異なる２つの前記形態素を共起語とし、共起度を計算する工程と、
前記形態素から素性を生成する工程と、
前記形態素から拡張素性を生成する工程と、
前記素性及び前記拡張素性に素性パラメータを与える工程と
を含む学習工程と、
任意のユーザーにより新たに入力された文をフィルタリングするべきか判断する工程
を含む分類工程
を含むフィルタリング処理方法。
【請求項２】
前記共起度を計算する工程は、
二つの前記形態素を取得する工程と、
前記二つの形態素のうち一方の形態素を有する発言をしたユーザー数を計算する工程と、
他方の形態素を有する発言をしたユーザー数を計算する工程と、
両方の形態素を有する発言をしたユーザー数を計算する工程と、
これらの値にシンプソン係数を計算する工程
により共起度を計算する、請求項１に記載のフィルタリング処理方法。
【請求項３】
前記形態素から素性を生成する工程は、
すべての前記形態素について、任意の１つの形態素を素性とする工程と、
すべての前記形態素について、任意の２つの形態素のペアを素性とする工程
を含む、請求項１または２記載のフィルタリング処理方法。
【請求項４】
前記拡張素性を生成する工程は、
前記素性に属する形態素を、すべての前記形態素に置き換える工程と、
前記置き換える工程前の形態素と、前記置き換える工程後の形態素の間の共起度が一定値以上のものを拡張素性として記憶する工程
を含む、請求項１から３のいずれか一項に記載のフィルタリング処理方法。
【請求項５】
前記素性及び前記拡張素性に素性パラメータを与える工程は、
前記素性についてはその素性に属する形態素の文字数を、発言したユーザーに係る前記文の文字数で割ったものを与える工程と、
前記拡張素性については、その拡張素性に属する形態素の文字数を、発言したユーザーに係る前記文の文字数で割ったものに、置き換える前の形態素と置き換えたあとの形態素の共起度をかけたものを与える工程
を含む、請求項１から４のいずれか一項に記載のフィルタリング処理方法。
【請求項６】
前記入力された文をフィルタリングするべきか判断する工程において、Confidence-Weighted  Linear  Classificationを利用する、請求項１から５のいずれか一項に記載のフィルタリング処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フィルタリング処理方法に関する。
【背景技術】
【０００２】
これまで、メールや掲示板などにおいて、ユーザーが書き込んだ文章のうち不適切なものを判断するフィルタリングにおいては、ベイズフィルターなどが知られている（特許文献１等参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−１２２１４６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
近年、ミニブログの普及などにより短文でＷｅｂ上に書き込まれる事例が増えているものの、上記のような既存のフィルタリングにおいては、短文の書き込みやくだけた文章についてはフィルタリングする確率が低かった。
【０００５】
そこで、本発明は、フィルタリングする確率が高いフィルタリング処理方法の提供を目的とする。
【課題を解決するための手段】
【０００６】
前記目的を達成するために、本発明は、
特定の１または複数のユーザーの過去の発言をすべて連結して一文にする工程と、
前記文を形態素に解析する工程と、
異なる２つの前記形態素を共起語とし、共起度を計算する工程と、
前記形態素から素性を生成する工程と、
前記形態素から拡張素性を生成する工程と、
前記素性及び前記拡張素性に素性パラメータを与える工程と
を含む学習工程と、
任意のユーザーにより新たに入力された文をフィルタリングするべきか判断する工程
を含む分類工程
を含むフィルタリング処理方法を提供する。
【発明の効果】
【０００７】
前記構成を有する本発明のフィルタリング処理方法によれば、短い文を複数つなげることにより情報がリッチになり、共起度を計算することができるようになる。本発明によれば、ひとつひとつが短文であっても、ユーザーの過去発言を一文と見ることによって、共起度を算出することができる。また、素性を拡張することにより情報をさらにリッチにすることで、短文であってもより的確なフィルタリングをすることができるようになる。すなわち、本発明によれば、フィルタリングする確率が高いフィルタリング処理方法を提供することができる。
【図面の簡単な説明】
【０００８】
【図１】本発明の好適な実施形態の一例に係るフィルタリングシステム１００の全体構成を表すブロック図である。
【図２】広告配信システム１００を構成する各サーバーの機能ブロックを示す図である。
【図３】各サーバーの処理フローを示す図である。
【図４】図３のＳ２を詳細に示すフローチャートである。
【図５】図３のＳ４を詳細に示すフローチャートである。
【図６】図３のＳ６を詳細に示すフローチャートである。
【図７】図３のＳ８を詳細に示すフローチャートである。
【発明を実施するための形態】
【０００９】
本発明のフィルタリング処理方法は、前述の通り、
特定の１または複数のユーザーの過去の発言をすべて連結して一文にする工程と、
前記文を形態素に解析する工程と、
異なる２つの前記形態素を共起語とし、共起度を計算する工程と、
前記形態素から素性を生成する工程と、
前記形態素から拡張素性を生成する工程と、
前記素性及び前記拡張素性に素性パラメータを与える工程と
を含む学習工程と、
任意のユーザーにより新たに入力された文をフィルタリングするべきか判断する工程
を含む分類工程
を含む。
【００１０】
本発明のフィルタリング処理方法では、例えば、以下のようにすることができる。すなわち、例えばユーザーＡ、Ｂ及びＣが存在する場合、前記学習工程においては、ユーザーＡの過去の発言を一文にする、ユーザーＢの過去の発言を一文にする、ユーザーＣの過去の発言を一文にする、等の全ての操作を全員に対して行う。前記学習工程により得られるデータは、前記分類工程においてユーザーＡ、Ｂ及びＣの全員に対して共通に適用可能なデータとする。すなわち、前記分類工程では、ユーザーＡ、Ｂ及びＣの誰が発言しても同じデータに基づいて分類がされる。
【００１１】
本発明において、
前記共起度を計算する工程は、
二つの前記形態素を取得する工程と、
前記二つの形態素のうち一方の形態素を有する発言をしたユーザー数を計算する工程と、
他方の形態素を有する発言をしたユーザー数を計算する工程と、
両方の形態素を有する発言をしたユーザー数を計算する工程と、
これらの値にシンプソン係数を計算する工程
により共起度を計算しても良い。
【００１２】
このような構成により、最適な共起度を計算することができる。
【００１３】
本発明において、
前記形態素から素性を生成する工程は、
すべての前記形態素について、任意の１つの形態素を素性とする工程と、
すべての前記形態素について、任意の２つの形態素のペアを素性とする工程
を含んでいても良い。
【００１４】
このような構成により、素性パラメータを生成するための素性を作ることができる。
【００１５】
本発明において、
前記拡張素性を生成する工程は、
前記素性に属する形態素を、すべての前記形態素に置き換える工程と、
前記置き換える工程前の形態素と、前記置き換える工程後の形態素の間の共起度が一定値以上のものを拡張素性として記憶する工程
を含んでいても良い。
【００１６】
このような構成により、素性パラメータを生成するための拡張素性を作ることができる。
【００１７】
本発明において、
前記素性及び前記拡張素性に素性パラメータを与える工程は、
前記素性についてはその素性に属する形態素の文字数を、発言したユーザーに係る前記文の文字数で割ったものを与える工程と、
前記拡張素性については、その拡張素性に属する形態素の文字数を、発言したユーザーに係る前記文の文字数で割ったものに、置き換える前の形態素と置き換えたあとの形態素の共起度をかけたものを与える工程
を含んでいても良い。
【００１８】
このような構成により、より適切な分類が可能となる。
【００１９】
本発明は、
前記入力された文をフィルタリングするべきか判断する工程において、Confidence-Weighted  Linear  Classification  [M  Dredze,2008]を利用しても良い。
【００２０】
このような構成により、前記素性パラメータを用いて、入力された文をフィルタリングするべきかを適切に判断することが可能となる。
【００２１】
なお、本発明は、前記本発明のフィルタリング処理方法を実行するためのプログラム、システム、前記プログラムを格納した記録媒体等であっても良い。これらは、前記学習工程を実行するための学習機能と、前記分類工程を実行するための分類機能を有することにより、前記本発明のフィルタリング処理方法を実行可能である。
【００２２】
以下、本発明の実施形態について、図面を参照しながらさらに具体的に説明する。但し、これらはあくまでも例示であって、本発明の技術的範囲はこれらに限定されるものではない。
【００２３】
図１は、本発明の好適な実施形態の一例に係るフィルタリングシステム１００の全体構成を表すブロック図である。図示の通り、このフィルタリングシステム１００は、ユーザーの入力端末１０１とインターネット９０を介して接続される。入力端末１０１は、携帯電話であってもＰＤＡであっても、ＰＣであっても、これ以外のインターネットに接続される端末であってもよい。この実施例においては、フィルタリングシステム１００は、共起サーバー１０、学習サーバー２０、分類サーバー３０の各サーバーがネットワーク９１に接続されて構成されている。ネットワーク９１は、典型的には構内ネットワーク（ＬＡＮ）または広域ネットワーク（ＷＡＮ）であるが、インターネットであっても、専用回線による遠隔の通信網であってもよい。この広告配信システムの例は、上記の３つのサーバーで構成されているが、サーバーの物理的な構成はこれに限定されるものではない。
【００２４】
図２は、広告配信システム１００を構成する各サーバーの機能ブロックを示す図である。図示の通り、共起サーバー１０は、発言連結部１５、形態素解析部１６、共起度生成部１７、送信部１８を含む。また、発言データベース１１ｄ、文書データベース１２ｄ、形態素データベース１３ｄ、共起度データベース１４ｄを備える。発言連結部１５は発言データベース１１ｄに記憶されたユーザーの過去発言を一つの文に連結する。連結された文を形態素解析部１６で形態素に分解し、共起度生成部１７で各形態素間の共起度を生成する。生成された形態素は形態素データベース１２ｄに、共起度は共起度データベース１４ｄに保存される。保存された形態素及び共起度は、要求があったとき送信部１８から送信される。
【００２５】
学習サーバー２０は、素性生成部２１、素性パラメータ生成部２２を含む。また、素性データベース２０ｄを備える。素性生成部２１で、形態素から素性及び拡張素性を生成し、素性データベース２１ｄに記憶する。また、素性パラメータ生成部２２で、パラメータを生成し、素性と関連付けた形で素性データベース２１ｄに記憶する。
【００２６】
分類サーバー３０は、発言取得部３１、素性パラメータ取得部３２、ラベル生成部３３を含む。入力端末１０１からネットワーク９０を解して入力された発言を発言取得部３１で取得し、素性パラメータを３２で取得し、これらを用いてラベル生成部３３でラベルを生成する。
【００２７】
以上、サーバー各部の機能ブロックの概略を示したが、このような各部の構成は単に一例であり、サーバー間で様々なバリエーションが存在し得ることは言うまでもない。
【００２８】
図３は、本発明のフィルタリング処理方法の処理フローを例示する図である。図示の通り、まず発言データベースに、発言及び発言をしたユーザー名及びその発言がフィルタリングされるか、されないかを示す値（以下、本実施例において「ラベル」という）が入力される（ステップＳ１）。ラベルはプラス１またはマイナス１のどちらかの値である。次に、発言が入力されたとき、発言を追加した新たな文を生成する（ステップＳ２）。
【００２９】
図４は、図３におけるステップＳ２のフロー図である。図示の通り、発言があれば（ステップＳ２−１のＹ）その発言を発言データベース１１ｄから取得する（ステップＳ２−２）。さらに、その発言をしたユーザーを発言データベース１１ｄから取得する（ステップＳ２−３）。そのユーザーの過去発言から生成されている文を文書データベース１２ｄから取得する（ステップＳ２−４）。ステップＳ２−４で取得された文章に、ステップＳ２−２で取得された発言を連結する（ステップＳ２−５）。連結した文を、新たな文として文書データベース１２ｄに記憶する。
【００３０】
文章化された発言は、形態素に分解され、形態素の集合である形態素群は発言したユーザーと関連付けた形で形態素データベース１３ｄに記憶される（ステップＳ３）。分解には、例えば、形態素解析ツールMeCab[工藤ら,  2004]を適用する。また、前記形態素解析ツールMeCabに代えて、形態素解析ツールJUMAN[Kurohashiら,  1994]、Chasen[松本,  2000]、その他公知のツールを使用してもよい。記憶された形態素のすべてのペアについて、共起度を生成する（ステップＳ４）。
【００３１】
図５は、図３におけるステップＳ４の処理フロー図である。図示の通り、まず形態素データベース１３ｄに含まれる、異なる２つの形態素ｐ及びｑのペアを取得する（ステップＳ４−１）。形態素データベース１３ｄの中で、形態素ｐを含む文を有するユーザー数Ｍ１及び形態素ｑを含む文を有するユーザー数Ｍ２及び形態素ｐとｑ両方を含む文を有するユーザー数Ｍ３を検索し、これらの値Ｍ１〜Ｍ３にシンプソン係数を計算し、共起度ｋとする（ステップＳ４−２）。この共起度がある一定の閾値以上になっているか判断する（ステップＳ４−４）。前記共起度が前記閾値以上になっていれば（ステップＳ４−４のＹ）、形態素ｐ及びｑをコードとして、共起度ｋを共起度データベース１４ｄに記憶する（ステップＳ４−５）。前記共起度が前記閾値以上になっていなければ（ステップＳ４−４のＮ）このステップはスキップされる。まだ共起度を生成していない形態素のペアが有る場合には、ステップＳ４−１からステップＳ４−５を繰り返す（ステップＳ４−６のＹ）。
【００３２】
共起度を生成した後、形態素群のデータは学習サーバー２０に送信される（ステップＳ５）。学習サーバー２０は、受信した形態素群から素性を生成する（ステップＳ６）。
【００３３】
図６は、図３におけるステップＳ６の処理フロー図である。図示の通り、まず取得した形態素群からある形態素を取得する（ステップＳ６−１）。取得した形態素を添え字として素性連想配列を生成する（ステップＳ６−２）。まだ素性連想配列を生成していない形態素があれば、ステップＳ６−１及びステップＳ６−２を繰り返す（ステップＳ６−３のＹ）。すべての形態素について終了したとき（ステップＳ６−３のＮ）、形態素群から相異なる２つの形態素を取得する（ステップＳ６―４）。取得した２つの形態素を添え字として、素性連想配列を生成する（ステップＳ６−５）。まだ素性連想配列を生成していない形態素があれば、ステップＳ６−４及びステップＳ６−５を繰り返す（ステップＳ６−６のＹ）。
【００３４】
ステップＳ６が完了した後、共起サーバー１０に共起度ｋを要求する（ステップＳ７）。このとき、共起度のコードとして取得できる共起語を用いて拡張素性を生成する（ステップＳ８）。
【００３５】
図７は、図３におけるステップＳ８の処理フロー図である。図示の通り、まず、ステップＳ６で生成した素性連想配列の一つを取得する（ステップＳ８−１）。次に、その素性連想配列の添え字から形態素を一つ取得する（ステップＳ８−２）。そして、ステップ７で取得した共起度ｋが有するコードから、取得した形態素の共起語を取得する（ステップＳ８−３）。当該共起語を、当該形態素と置き換える（ステップＳ８−４）。置き換えたものを添え字として、拡張素性連想配列を生成し素性データベース２０ｄに記憶する。具体的には、例えば「遊び  行く」を添え字とする素性連想配列を取得し、形態素として「遊び」を取得し、共起語として「プール」を取得した場合、生成される拡張素性連想配列の添え字は「プール  行く」となる。ここまでのステップを行った時点で、まだ取得していない共起語がある場合には（ステップＳ８−６のＹ）、ステップＳ８−３からＳ８−５を繰り返す。すべての共起語について行った後（ステップＳ８−６のＮ）、取得した素性連想配列にまだ取得していない形態素がある場合には（ステップＳ８−７のＹ）、ステップＳ８−２からステップＳ８−６を繰り返す。すべての形態素について行った後（ステップＳ８−７のＮ）、まだ取得していない素性連想配列がある場合には（ステップＳ８−８のＹ）、ステップＳ８−１からステップＳ８−７までを繰り返す。
【００３６】
拡張素性連想配列を生成した後、素性パラメータを素性連想配列及び拡張素性連想配列に与える。素性連想配列には、その素性に属する形態素の文字数を、発言したユーザーに係る文の文字数で割ったものを与え、拡張素性連想配列には、その素性に属する形態素の文字数を、発言したユーザーに係る文の文字数で割ったものに、置き換える前の形態素と置き換えた共起語をコードとする共起度ｋをかけたものを与える（ステップＳ９）。また、正解が負例（ラベルがマイナス１）のときは、ステップＳ９で算出した素性パラメータに負例補正値を掛け合わせ、補正素性パラメータを生成し、素性パラメータと置き換える（ステップＳ１０）。
【００３７】
発言があったとき、パラメータを学習サーバー２０から取得し（ステップＳ１１）、発言を入力端末１０１から取得する（ステップＳ１２）。その後、これらにConfidence-Weighted  Linear  Classification  [M  Dredze,2008]を適用し、ラベルを生成する。（ステップＳ１３）なお、Confidence-Weighted  Linear  Classificationの代わりにベイズ推定、ロジスティック回帰、Support  Vector  Machine[Joachims,  1995],  Perceptron  [Rosenbaltt,  1958],  Averaged  Perceptron  [M.  Collins,  1998],  Passive  Aggressive  [K.  Crammer,  2006]を用いても良い。
【００３８】
以上、本発明の実施形態について説明したが、前述の通り、本発明はこれらの実施形態に限定されるものではない。また、前記実施形態に記載された効果は、本発明から生じる好適な効果を列挙したに過ぎず、前記実施形態に記載された効果によって本発明が限定されるものではない。
【符号の説明】
【００３９】
１００  フィルタリングシステム
１０１  ユーザー入力端末
１０  共起サーバー
１１ｄ  発言データベース
１２ｄ  文書データベース
１３ｄ  形態素データベース
１４ｄ  共起度データベース
１５  発言連結部
１６  形態素解析部
１７  共起度生成部
１８  送信部
２０  学習サーバー
２０ｄ  素性データベース
２１  素性生成部
２２  素性パラメータ生成部
３０  分類サーバー
３１  発言取得部
３２  素性パラメータ取得部
３３  ラベル生成部
９０  ネットワーク
【図１】
2011028595.tif 000003
【図２】
2011028595.tif 000004
【図３】
2011028595.tif 000005
【図４】
2011028595.tif 000006
【図５】
2011028595.tif 000007
【図６】
2011028595.tif 000008
【図７】
2011028595.tif 000009