(57)【特許請求の範囲】
【請求項１】
ｍ行×ｎ列のサンプルデータを取得する取得手段と、
前記サンプルデータを、ｍ行×ｎ列×奥行Ｉ（Ｉは、文字種の数）のデータフォーマットを有する３次元データに変換する変換手段であって、前記変換手段は、ｍ行×ｎ列のそれぞれの位置のサンプルデータの文字種を識別し、識別された文字種に対応する奥行の位置に識別情報をセットする、前記変換手段と、
前記変換手段により変換された多数の３次元データに基づき３次元データの識別情報が現れる特徴を学習することで特定のテキストデータの特徴的データ構造を生成する学習手段と、
前記学習手段により学習された前記特徴的データ構造と入力データの特徴的データ構造とが一致するかまたは近似する場合に、前記入力データが前記特定のテキストデータであると評価する評価手段と、
を有する評価装置。
【請求項２】
前記入力データは、ｍ行×ｎ列のテキストデータであり、前記評価手段は、前記変換手段と同様にｍ行×ｎ列のテキストデータを３次元データに変換し、変換された３次元データと前記特徴的データ構造とを比較する、請求項１に記載の評価装置。
【請求項３】
文字種の数Ｉは、複数の文字種を複数の次元に分類したときの数である、請求項１に記載の評価装置。
【請求項４】
前記評価手段は、入力データがスパムメールか否かを評価する、請求項１ないし３いずれか１つに記載の評価装置。
【請求項５】
テキストデータの特徴を学習する学習装置とテキストデータを評価する評価装置とを含む評価システムであって、
前記学習装置は、
ｍ行×ｎ列のサンプルデータを取得する取得手段と、
前記サンプルデータを、ｍ行×ｎ列×奥行Ｉ（Ｉは、文字種の数）のデータフォーマットを有する３次元データに変換する変換手段であって、前記変換手段は、ｍ行×ｎ列のそれぞれの位置のサンプルデータの文字種を識別し、識別された文字種に対応する奥行の位置に識別情報をセットする、前記変換手段と、
前記変換手段により変換された多数の３次元データに基づき３次元データの識別情報が現れる特徴を学習することで特定のテキストデータの特徴的データ構造を生成する学習手段とを有し、
前記評価装置は、
評価対象のｍ行×ｎ列の入力データを、ｍ行×ｎ列×奥行Ｉ（Ｉは、文字種の数）のデータフォーマットを有する３次元データに変換する変換手段であって、前記変換手段は、ｍ行×ｎ列のそれぞれの位置のサンプルデータの文字種を識別し、識別された文字種に対応する奥行の位置に識別情報をセットする、前記変換手段と、
前記特徴的データ構造と前記変換された３次元の入力データの特徴的データ構造とが一致するかまたは近似する場合に、前記入力データが前記特定のテキストデータであると評価する評価手段と、
を有する評価システム。
【請求項６】
前記評価装置は、メールサーバに設けられる、請求項５に記載の評価システム。
【請求項７】
コンピュータが実行する入力テキストデータの評価方法であって、
ｍ行×ｎ列のサンプルデータを取得するステップと、
前記サンプルデータを、ｍ行×ｎ列×奥行Ｉ（Ｉは、文字種の数）のデータフォーマットを有する３次元データに変換するステップであって、当該変換するステップは、ｍ行×ｎ列のそれぞれの位置のサンプルデータの文字種を識別し、識別された文字種に対応する奥行の位置に識別情報をセットする、前記変換するステップと、
前記変換された多数の３次元データに基づき３次元データの識別情報が現れる特徴を学習することで特定のテキストデータの特徴的データ構造を生成するステップと、
前記特徴的データ構造と入力データの特徴的データ構造とが一致するかまたは近似する場合に、前記入力データが前記特定のテキストデータであると評価するステップと、
を含む評価方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、種々のテキストデータを機械的に評価する評価装置に関し、特に、電子メール等の文書データがスパムメール（迷惑メール）に該当するか否か等を識別する方法に関する。
【背景技術】
【０００２】
スパムメールを排除する方法として、電子メールを受信者に配信するメールサーバ側で、スパムメールか否かを判定するための判定情報、例えば、キーワード、送信者のアドレス、ＵＲＬなどを予め登録しておき、受信した電子メールに判定情報が含まれる場合には、受信した電子メールをスパムメールに分類し、これを破棄したり、ユーザへの配信を停止している。また、ユーザ側の端末において、ユーザ自身が設定したフィルタルールにより、特定のアドレスやキーワードを含む電子メールをスパムメールとしてフィルタリングしている。【０００３】
例えば、特許文献１では、電子メールの本文、送信者および送信アドレス、受信者および受信アドレスを除く外観情報（例えば、電子メールの行数、添付ファイル、電子メールの形式、および電子メールの言語等）を電子メールの外観的特徴を示すアウトライン情報として抽出し、抽出したアウトライン情報に基づきスパムメールを検出するためのスパム検出情報の送信を外部の管理センタに要求し、電子メールの内容が対応するスパム検出情報に該当するとき、当該電子メールをスパムメールであると判定し、電子メールがスパムメールでないと判定されたとき、外部の管理センタに対しアウトライン情報を送信することにより更新されたスパム検出情報を要求する電子メール処理装置を開示している。【０００４】
また、特許文献２では、スパムメールを排除するための処理負荷を軽減し、かつユーザの操作負荷を軽減する電子メール分類装置を開示している。具体的には、電子メールのヘッダ情報に基づいて電子メールの特徴を示す特徴ベクトルを取得し、特徴ベクトルを学習データとして、スパムメールか否かを分類する分類ルールを作成するものである。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第５１２１８２８号公報
【特許文献２】特開２０１１−９０４４２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従来、スパムメールの検出や分類をする方法が検討されている。例えば、スパムメールに自然言語解析を応用してテキストデータの解析を行い、入力されたテキストデータがスパムメールであるか否かを判断する方法が考えられている。【０００７】
まず第１に、評価単語を予め定義し、それらの出現有無をデータとする「Bag of Words」という自然言語のデータ構造を用いてテキストデータを解析する方法がある。この方法では、予め定義された単語の出現有無を判断するため、定義されていない単語は扱えず、また、語順などの順序情報を考慮できないという課題がある。第２に、テキストデータをＮ文字毎に区切り、それらの出現有無をデータとする「N-gram」という自然言語のデータ構造を用いてテキストデータを解析する方法がある。この方法では、一定の文字数Ｎで区切りを行うため、単語の意味を考慮しないデータ構造となり、また、「Bag of Words」と同様に、語順などの順序情報を考慮できないという課題がある。第３に、機械学習技術を用いて単語をベクトル化する「分散表現」という自然言語のデータ構造を用いてテキストデータを解析する方法がある。この方法では、テキストデータの意味を解析しやすくなる一方で、定義されていない単語を扱うことは困難である。【０００８】
これらのデータ構造をスパムメールの検出に用いると、「Bag of Words」、「分散表現」においては、スパムメールの文字列の自由度が高い場合に解析が難しく、また、「N-gram」においては、スパムメールがランダムな文字列を含むことにより検出の精度が減少してしまうという問題があった。例えば、前者の場合、メールのヘッダーには"dws8m7rf.com"といったランダムなドメインを表す文字列、"dr*g"といった正しい単語(drug)を変えた文字列、あるいは"_NextPart_000_0016_465EED20"といった本文と添付ファイルなどを分離する区切り文字列などが使用されているが、これらの文字列はランダム性や自由度が高く、これらの文字列含む辞書を予め用意することは大よそ不可能なことに依る。【０００９】
本発明は、このような従来の課題を解決するものであり、メール文書等のテキストデータを文字種毎に２値化したデータ構造を用いて入力したテキストデータを評価する評価装置、評価方法、評価プログラムおよび評価システムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明に係る評価装置は、ｍ行×ｎ列のサンプルデータを取得する取得手段と、前記サンプルデータから文字種Ｉを抽出し、前記サンプルデータをｍ行×ｎ列×文字種Ｉの３次元データに変換する変換手段と、前記変換手段により変換された３次元データの特徴を学習する学習手段と、前記学習手段により学習された特徴に基づき入力データを評価する評価手段とを有する評価装置。好ましくは前記入力データは、ｍ行×ｎ列のテキストデータである。【００１１】
さらに本発明に係る評価装置は、複数の文字種で表された２次元データを取得する取得手段と、前記取得された２次元データを複数の文字種の次元に分類することで、前記２次元データを３次元データに変換する変換手段と、３次元データの特徴を分析する分析手段と、前記分析手段により分析された特徴に基づき、複数の文字種で記載された入力データを評価する評価手段とを有する。【００１２】
好ましくは評価装置はさらに、入力データを複数の文字種の次元に分類することで、前記入力データを３次元入力データに変換する変換手段を含み、前記評価手段は、３次元入力データの特徴と前記分析手段により分析された特徴とを比較することで入力データを評価する。好ましくは前記評価手段は、入力データがスパムメールか否かを評価する。【００１３】
本発明に係る評価システムは、テキストデータの特徴を学習する学習部とテキストデータを評価する評価部を含むものであって、前記学習部は、データベースから複数の文字種で表された２次元データを取得する取得手段と、前記取得された２次元データを複数の文字種の次元に分類することで、前記２次元データを３次元データに変換する変換手段と、３次元データの特徴を分析し、当該特徴を学習する学習手段とを有し、前記評価部は、評価対象の入力データを複数の文字種の次元に分類することで、前記入力データを３次元入力データに変換する変換手段と、前記変換手段により変換された３次元入力データの特徴と前記学習手段により学習された特徴とを比較することで入力データを評価する評価手段とを有する。好ましくは前記評価部は、メールサーバに設けられる。
【発明の効果】
【００１４】
本発明によれば、メール文書等のテキストデータを文字種の次元をもつ３次元データに変換し、３次元データの特徴を分析、学習することで、従来扱えなかったランダム性の高い文字列を扱えるようになり、構造情報も持つことができるようになる。また、画像と同様の構造を持つようになるため、ディープラーニングや従来の画像処理方法の多くを応用することができる。さらに、テキストデータを当該構造に変換することにより、ランダム性の高いスパムメールを適格に区別することができるようになる。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施例に係るメール処理装置の機能的な構成を示すブロック図である。
【図２】本発明の実施例に係るデータ変換部によるテキストデータの変換を説明する図である。
【図３】本発明の実施例に係る３次元データ構造を示す図である。
【図４】本発明の実施例に係るテキスト入力部およびデータ変換部の動作を示すフロー図である。
【図５】文字と次元の対応を示す図である。
【図６】図４の処理フローの具体例を示す図である。
【図７】学習システムにより特定された特徴的なデータ構造を例示する図である。
【図８】本発明の実施例に係るメール処理装置を一般化したテキストデータ評価装置を示す図である。
【発明を実施するための形態】
【００１６】
次に、本発明の実施の形態について、図面を参照して詳細に説明する。本発明の評価装置は、１つの好ましい形態ではテキストデータ評価装置として実施される。さらに好ましい形態ではメール処理装置として実施される。メール処理装置は、インターネットまたはイントラネット等のネットワークに接続可能であり、ネットワークを介して電子メールを受信し、受信した電子メールを解析することによりスパムメールか否かの判定を行う。メール処理装置は、少なくともメールを処理する機能を備えていれば良く、ハードウエアまたはソフトウエアによって実行される他の機能を備えることもできる。メール処理装置は、例えば、サーバ、コンピュータ、電子装置、端末装置、メール配信サーバ、その他電子装置であることができる。
【実施例】
【００１７】
図１は、本発明の実施例に係るメール処理装置の機能的な構成を示すブロック図である。メール処理装置１は、学習システム２、評価システム３を含み、学習システム２は、テキスト入力部４、データ変換部５、学習部６を含み、評価システム３は、テキスト入力部８、データ変換部９、評価部１０を含む。学習システム２は、スパムメールや正常メール等のテキストデータが収集され、かつ記憶されたデータベース１１からテキストデータを取得し、学習モデル７を構築する。評価システム３は、評価対象のメール１２を、学習モデル７に基づいて評価をし、スパムメール１３または正常メール１４に判別する。なお、スパムメールとは、無差別に送信された迷惑メール等のメールであり、正常メールとは、知り合い同士で行うメールのやり取りやビジネスで使用するメールなど、社会一般的に通常やり取りされるメールを指す。また、学習システム２と評価システム３とは、物理的に離間するコンピュータ、サーバまたはホストでそれぞれ実施されてもよいし、同一のコンピュータ、サーバ、またはホストで実施されてもよい。【００１８】
また、メール処理装置１は、例えば、１つまたは複数のコンピュータ装置、あるいは１つまたは複数のサーバから構成されてもよく、メール処理装置１に含まれる各機能は、それぞれ個別のコンピュータ装置またはサーバから構成されてもよく、その場合、コンピュータ装置とサーバとの間は、ネットワークにより接続されてもよい。例えば、メール１２を入力する評価システム３は、メールサーバ内に配置され、学習システム２は、ネットワークを介して評価システムに接続され、学習モデル１３による学習結果を提供することができる。【００１９】
学習システム２は、データベース１１からサンプルとなるテキストデータを取得し、一定の規則に従ってデータ変換を行い、学習モデルを構築する。データベース１１には、ハニーポットの技術を用いて取得されたスパムメールや、正常なメール、その他、学習システム２に学習させたいテキストデータが記憶されている。テキスト入力部４は、データベース１１からテキストデータを取得し、データ変換部５は、テキスト入力部４で取得したテキストデータを変換する。【００２０】
図２は、本発明の実施例に係るデータ変換部５のテキストデータの変換を説明する図である。ここでは、メールヘッダーの例として、９行×６２列からなるサイズのテキストデータをデータ変換する例を示している。データ変換部５は、概念的に、テキストデータを予め決められた文字種の次元で分類する。１つの例では、文字種は、アルファベットａ〜ｚまでの２６種、０〜９までの１０種、複数の記号３３種の合計６９の文字種に規定される。データ変換部５は、各次元の文字が存在する行・列の位置をデータ「１」とし、存在しない行・列の位置をデータ「０」に変換する。例えば、図の例では、１行×３列目には、「Received」の「ｃ」が存在するため、「ｃ」の次元の１行×３列目に「１」がセットされる。１行×４列目には、「ｅ」が存在するため、「ｅ」の次元の１行×４列目には、「１」がセットされる。【００２１】
このようにして、データ変換部５は、テキストデータを文字種の次元毎に、それぞれ対応する行列の位置にデータ「１」を作成する。１つのテキストデータが、ｍ行×ｎ列のサイズを有し、そこに含まれる文字種がＩであるならば、データ変換部５は、図３に示すように、ｍ行×ｎ列、奥行きがＩの３次元データフォーマットに、テキストデータを変換することになる。なお、文字種の決め方は任意であり、例えば、漢字、ひらがな、片仮名、ロシア語、フランス語などを含めることも可能である。さらに文字種は、大文字と小文字の区別が成されても良い。【００２２】
さらに、データ変換部５は、文字種の次元Ｉを圧縮するようにしても良い。例えば、上述の記号３３種を１種の同じ記号として扱っても良いし、あるいはａ〜ｚまでの２６種をａ〜ｄ、ｅ〜ｈ、ｉ〜ｌ、ｍ〜ｐ、ｑ〜ｔ、ｕ〜ｘ、ｙ〜ｚなどと７種に分離し、次元Ｉを７種に圧縮してもよい。圧縮は、必ずしも連続する文字種を１つのグループにせず、離散した文字種を１つのグループにするようにしてもよいし、複数のグループの各々に含まれる文字種の数は異なるものであってもよい。例えば、使用頻度の少ない文字種を１つのグループにして圧縮したり、予め決められたルールまたは重要度等に応じて文字種Ｉの次元Ｉを圧縮することができる。また、主成分分析、あるいは自己符号化器といった次元圧縮方法により次元Ｉを圧縮してもよい。【００２３】
図４は、本発明の実施例に係るテキスト入力部およびデータ変換部の動作を示すフロー図である。学習システム２は、まず、テキスト入力部４によって変換対象のテキストデータ（複数のテキストデータを有するテキストファイルを含む）を入力する（Ｓ１００）。データ変換部５は、メール処理装置１の記憶領域上に、Ａ[テキストの行数][テキストの列数][文字種数]を展開するための領域を確保する（Ｓ１０２）。ここで、Ａ[テキストの行数][テキストの列数][文字種数]は、「テキストの行数」、「テキストの列数」、「文字種数」の３要素によって特定されるデータＡを示しており、図３に示す３次元データがデータＡとなる。「テキストの行数」、「テキストの列数」は数字で表され、また、「文字種数」は、図５に示すように、各文字種の次元毎に予め割り当てられた数字が用いられる。データＡの記憶領域の確保後、データＡが初期化される（Ｓ１０４）。【００２４】
次に、データ変換部５は、ｍ行×ｎ列のテキストデータを、例えば１文字ずつスキャンするようにデータ変換を行う。本実施例では、ｍ行目（ｍ＝１、２、３・・・、テキストの行数）の文字を列順に取得し、ｎ列（ｎ＝１、２、３・・・、テキストの列数）の文字を全て取得し終えたら次の行に移り、再度、列順に文字を取得するループ処理を行う。【００２５】
データ変換部５は、まず、ｍ行×ｎ列の文字を取得し（Ｓ１０６）、取得した文字をコンピュータが認識できるデータまたはコードに変換する（Ｓ１０８）。次に、図５に示す表に従い、Ｓ１０６で取得した文字種の次元Ｉを取得する（Ｓ１１０）。そして、次元Ｉのｍ行×ｎ列に、フラグ「１」を立てる（Ｓ１１２）。Ｓ１０６からＳ１１２の処理を上記したループ処理により繰り返す。【００２６】
図６は、図４の処理フローの具体例を示す図である。同図では、簡単のために、テキストデータが３行×３列から構成され、文字種は、ａ、ｂ、ｃ、ｄ、ｅの５種とし、このテキストデータがデータ変換部５により変換されるものとする。データ変換部５は、１行目をスキャンし、すなわち、１行目×１列目の「ａ」、１行目×２列目の「ｃ」、１行目×３列目の「ｄ」を変換し、次に２行目をスキャンし、２行目×１列目の「ｄ」、２行目×２列目の「ｅ」、２行目×３列目の「ｅ」を変換し、最後に３行目をスキャンし、３行目×１列目の「ａ」、３行目×２列目の「ｅ」、３行目×３列目の「ｂ」を変換することで、Ｓ１０６からＳ１１２の処理が繰り返され、最終的にデータＡが出力される。【００２７】
学習部６は、データ変換部５によって変換された３次元データを取り込み、学習する。ここで学習とは、従来から用いられているディープラーニング等の機械学習であり、データ変換部５によって変換されたテキストデータを幾つも取得し、その特徴を抽出し、スパムメールと正常メールの分析、分類を行うことができる。図７は、メールヘッダーのテキストデータを変換したときに得られた特徴的なデータ構造の例を示している。変換されたデータを学習させていくと、ランダムなテキストデータの中に特徴的な部分、例えば、同じ文字列が使用されている部分が抽出されていき、特徴的なデータ構造が現れる。学習部６は、スパムメールおよび正常メールを取得していく毎に、この特徴的なデータ構造を学習してく。学習部６が学習した特徴的なデータは、学習モデル７として評価システム３に提供される。【００２８】
評価システム３は、評価対象のメール１２（テキストデータ）を入力し、当該メールを学習システム２と同様のアルゴリズムでデータ変換を行い、学習モデルを用いて、入力されたメールがスパムメールなのか正常メールなのかを評価する。【００２９】
テキスト入力部８は、評価対象のメール１２を入力する。テキスト入力部８が評価対象のメールを入力するタイミングは、特に限定されないが、例えば、評価対象のメールを蓄積しておき、メールが一定数蓄積されたタイミングでテキスト入力部８が実行されるようにしても良いし、蓄積されたメールを日毎、週毎、月毎等のタイミングで入力するようにしても良い。また、メール処理装置１の利用者が外部から指示したタイミングで入力するようにしても良い。データ変換部９は、上記したデータ変換部５と同様のアルゴリズムでテキストデータを変換する。【００３０】
評価部１０は、学習システム２から提供された学習モデルに基づき、データ変換部９によって変換されたテキストデータを評価する。本実施例においては、入力されたメール１２がスパムメールであるか正常メールであるかを評価する。学習モデル７には、学習システム２で学習させたスパムメールの特徴、正常メールとの違い等、スパムメールを判断するための特徴がモデル化されており、評価部１０は、評価対象のメールを学習システム２と同様のアルゴリズムで変換されたメール１２の特徴と学習モデル７が提供する特徴とを比較し、両者が一致するかまたは近似するかを評価し、その評価結果に基づき、メール１２をスパムメールか正常メール１４に分類する。【００３１】
上記実施例では、メールヘッダーを例にスパムメールまたは正常メールの評価を行ったが、これは一例であり、メールヘッダー以外のテキストデータを評価対象とするものであってもよい。さらに、本発明は、データヘッダー、通信コマンド、通信パケット、あるいはプログラム自体といった、ランダム性や自由度の高いテキスト解析にも応用可能である。【００３２】
図８は、本発明の他の実施例に係るテキストデータ評価装置の構成を示す図である。このテキストデータ評価装置は、上記したメールの評価のみならず、あらゆるテキストデータまたは文書データを評価する。すなわち、図１に示すメール処理装置１は、スパムメールと正常メールについて学習し、入力されたメールがスパムメールか正常メールかを評価するものであったが、テキストデータ評価装置２０は、同様の手法により、他のテキストデータや文書データの様々な要素および／または観点で評価することができる。例えば、記憶部１１に特定の人物が書いたテキストデータ（作家が書いた本等）を入力し、データ変換部５によるデータ変換を行い、特定の人物が書いたテキストの特徴を学習モデル７として構築する。このような学習を行わせれば、任意の評価テキストを評価システム３に入力すると、学習モデル７との比較により当該任意の評価テキストが特定の人物が書いたテキストか否かを評価することができる。また、学習システム２に様々な人が書いたテキストデータを複数入力しておけば、評価テキスト１２について、誰が書いたテキストかを評価することができ、メールを自動的にグルーピングすることも可能になる。【００３３】
本発明の実施例に係るメール処理装置１は、従来のスパムメール除去方法では扱いづらかったランダム性の高い文字列を扱うことが可能になり、スパムメールの一部が改変されて再送されても適切にスパムメールを除去することが可能になる。また、１つのテキストデータの構造を、図２や図３に示すような構造情報として保持することができる。さらに、本発明の実施例に係るデータ構造は、画像と同様の構造を持つため、画像を扱うディープラーニングと併用でき、従来型の画像処理方法の多くを応用することができる。【００３４】
以上、本発明の好ましい実施の形態について詳述したが、本発明は、特定の実施形態に限定されるものではなく、特許請求の範囲に記載された発明の要旨の範囲において、種々の変形、変更が可能である。
【符号の説明】
【００３５】
１：メール処理装置                        ２：学習システム
３：評価システム                          ４：テキスト入力部
５：データ変換部                          ６：学習部
７：学習モデル                            ８：テキスト入力部
９：データ変換部                        １０：評価部
１１：記憶部                              １２：メール
１３：スパムメール                        １４：正常メール
２０：テキストデータ評価装置
【図１】
0006784975.tif 000002
【図２】
0006784975.tif 000003
【図３】
0006784975.tif 000004
【図４】
0006784975.tif 000005
【図５】
0006784975.tif 000006
【図６】
0006784975.tif 000007
【図７】
0006784975.tif 000008
【図８】
0006784975.tif 000009