(57)【要約】【課題】サイトのＵＲＬから有害なサイトか否かを精度良く判定できる判定装置及び判定方法を提供すること。【解決手段】判定装置１００は、ＵＲＬに含まれる文字列を１つの文章とみなしてベクトル化するためのＵＲＬベクトル化モデルＶＭを用いて任意のＵＲＬの文字列をベクトル化するベクトル化部４０と、ベクトル化部４０により予め有害か否かが判定された複数のＵＲＬの文字列がそれぞれベクトル化されたベクトルと、ベクトル化部４０により判定対象のＵＲＬの文字列がベクトル化されたベクトルと、を用いて、判定対象のＵＲＬが示すサイトが有害か否かを判定する判定部６０と、を有する。【選択図】図１
2020052766.tif 000002
【特許請求の範囲】
【請求項１】
ＵＲＬに含まれる文字列を１つの文章とみなしてベクトル化するためのＵＲＬベクトル化モデルを用いて任意のＵＲＬの文字列をベクトル化するベクトル化部と、
前記ベクトル化部により予め有害か否かが判定された複数のＵＲＬの文字列がそれぞれベクトル化されたベクトルと、前記ベクトル化部により判定対象のＵＲＬの文字列がベクトル化されたベクトルと、を用いて、前記判定対象のＵＲＬが示すサイトが有害か否かを判定する判定部と、
を備える判定装置。
【請求項２】
前記複数のＵＲＬのそれぞれが有害か否かの判定結果を示すラベルと、前記複数のＵＲＬの文字列が前記ベクトル化部によりそれぞれベクトル化されたベクトルと、を教師データとして、機械学習することで、任意のＵＲＬが示すサイトが有害か否かを判定する判定モデルを生成する学習部をさらに備え、
前記判定部は、前記学習部により生成された前記判定モデルを用いて、前記判定対象のＵＲＬが示すサイトが有害か否かを判定する請求項１に記載の判定装置。
【請求項３】
前記複数のＵＲＬのそれぞれが有害か否かの判定結果を示すラベルと、前記複数のＵＲＬの文字列がそれぞれベクトル化されたベクトルと、を対応付けして対応付けデータを生成する対応付け部をさらに備え、
前記判定部は、生成された前記対応付けデータを用いて、前記判定対象のＵＲＬが示すサイトが有害か否かを判定する請求項１に記載の判定装置。
【請求項４】
前記ＵＲＬベクトル化モデルは、ＵＲＬの文字列を少なくともクエリ部、パス部及びホスト名の構造別に分割して生成される短い文字列を１つの文章として文章ベクトル化するための、前記ＵＲＬの文字列から前記構造別の短い文字列のベクトルを生成するベクトル化モデルであって、
前記ベクトル化部は、前記ＵＲＬベクトル化モデルを用いて任意のＵＲＬの文字列を前記構造別にベクトル化し、
前記判定部は、
前記ベクトル化部により予め有害か否かが判定された複数のＵＲＬの文字列から前記構造別に生成されたベクトルと、前記ベクトル化部により前記判定対象のＵＲＬの文字列から前記構造別に生成されたベクトルと、を用いて、前記判定対象のＵＲＬが示すサイトが有害か否かを判定する請求項１に記載の判定装置。
【請求項５】
前記判定部は、有害なサイトの種類に応じて前記ＵＲＬの構造を選択する請求項４に記載の判定装置。
【請求項６】
前記ＵＲＬベクトル化モデルは、さらに、
ＵＲＬの文字列から前記構造別に生成されたベクトルを連結して連結ベクトルを生成するベクトル化モデルであって、
前記ベクトル化部は、さらに、
前記ＵＲＬベクトル化モデルを用いて任意のＵＲＬの文字列から前記構造別に生成されたベクトルを連結した連結ベクトルを生成し、
前記判定部は、さらに、
前記ベクトル化部により予め有害か否かが判定された複数のＵＲＬの文字列から生成された前記連結ベクトルと、前記ベクトル化部により前記判定対象のＵＲＬの文字列から生成された連結ベクトルと、を用いて、前記判定対象のＵＲＬが示すサイトが有害か否かを判定する請求項４に記載の判定装置。
【請求項７】
コンピュータにより実現される判定方法であって、
ＵＲＬに含まれる文字列を１つの文章とみなしてベクトル化するためのＵＲＬベクトル化モデルを用いて任意の文字列をベクトル化するベクトル化ステップと、
前記ベクトル化ステップにおいて、予め有害か否かが判定された複数のＵＲＬの文字列がベクトル化されたベクトルと、判定対象のＵＲＬの文字列がベクトル化されたベクトルと、を用いて、前記判定対象のＵＲＬが示すサイトが有害か否かを判定する判定ステップと、
を備える判定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＵＲＬの文字列を用いてＵＲＬのサイトが有害か否かを判定する判定装置及び判定方法に関する。
【背景技術】
【０００２】
従来、ネットワークを介して提供されるサービスの種類の増加に伴い、各種サービスを提供するサイトの数も増加している。これにより、例えば、正規のサービスを提供するサイトになりすまし、クレジットカードの番号等のユーザ情報を不正に取得するフィッシングサイト等の有害なサイトの数も増大している。しかしながら、ユーザが、サイトのＵＲＬ（Uniform Resource Locator）を見て、正規のサービスを提供するサイトか否かを判断することは難しい。
【０００３】
例えば、Ｇｏｏｇｌｅ（登録商標）社は、日々の調査に基づいて安全でないサイトのデータベースを構築し、ウェブブラウザ等のアプリケーションが当該データベースを利用できるＡＰＩ（Application Programming Interface）を提供している（非特許文献１参照）。これにより、ユーザは、ウェブブラウザ等のアプリケーションを用いて、正規のサイトか否かを判断できる。
【０００４】
また、悪性ＵＲＬ群における木構造の共通部分と各ＵＲＬの状態に基づき、フィルタリングに利用する部分ＵＲＬの粒度を決定することにより、悪性ＵＲＬに対応可能なフィルタリング手法が提案されている（非特許文献２参照）。また、類似するＵＲＬ構造をルール化し類似度を算出することにより、フィッシングの攻撃を検知する手法も提案されている（非特許文献３参照）。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】Ｇｏｏｇｌｅ  Ｓａｆｅ  Ｂｒｏｗｓｉｎｇ（ｈｔｔｐｓ：／／ｄｅｖｅｌｏｐｅｒｓ．ｇｏｏｇｌｅ．ｃｏｍ／ｓａｆｅ−ｂｒｏｗｓｉｎｇ／ｖ４／）
【非特許文献２】秋山  満昭、八木  毅、伊藤  光恭、“悪性ＵＲＬ群の木構造に着目したＵＲＬフィルタリングの粒度決定”、電子情報通信学会技術研究報告、１１０号、２６６、ｐｐ．５３−５８、２０１０
【非特許文献３】Ｐ．Ｐｒａｋａｓｈ  ｅｔ  ａｌ、“ＰｈｉｓｈＮｅｔ：Ｐｒｅｄｉｃｔｉｖｅ  Ｂｌａｃｋｌｉｓｔｉｎｇ  ｔｏ  Ｄｅｔｅｃｔ  Ｐｈｉｓｈｉｎｇ  Ａｔｔａｃｋｓ”、ＩＥＥＥ ＩＮＦＯＣＯＭ、ｐｐ．３４６−３５０、２０１０
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、有害なサイトは日々増加しているとともに、ＵＲＬの文字列も変化している。このため、フィルタリングにおけるＵＲＬの文字列のルールを一意に決定することが困難である。また、データベースにおいて有害なサイト全てを網羅することが難しい。
【０００７】
本発明は、サイトのＵＲＬから有害なサイトか否かを精度良く判定できる判定装置及び判定方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
（１）本発明に係る判定装置は、ＵＲＬに含まれる文字列を１つの文章とみなしてベクトル化するためのＵＲＬベクトル化モデルを用いて任意のＵＲＬの文字列をベクトル化するベクトル化部と、前記ベクトル化部により予め有害か否かが判定された複数のＵＲＬの文字列がそれぞれベクトル化されたベクトルと、前記ベクトル化部により判定対象のＵＲＬの文字列がベクトル化されたベクトルと、を用いて、前記判定対象のＵＲＬが示すサイトが有害か否かを判定する判定部と、を備える。
【０００９】
（２）  （１）に記載の判定装置において、前記複数のＵＲＬのそれぞれが有害か否かの判定結果を示すラベルと、前記複数のＵＲＬの文字列が前記ベクトル化部によりそれぞれベクトル化されたベクトルと、を教師データとして、機械学習することで、任意のＵＲＬが示すサイトが有害か否かを判定する判定モデルを生成する学習部をさらに備え、前記判定部は、前記学習部により生成された前記判定モデルを用いて、前記判定対象のＵＲＬが示すサイトが有害か否かを判定しても良い。
【００１０】
（３）  （１）に記載の判定装置において、前記複数のＵＲＬのそれぞれが有害か否かの判定結果を示すラベルと、前記複数のＵＲＬの文字列がそれぞれベクトル化されたベクトルと、を対応付けして対応付けデータを生成する対応付け部をさらに備え、前記判定部は、生成された前記対応付けデータを用いて、前記判定対象のＵＲＬが示すサイトが有害か否かを判定しても良い。
【００１１】
（４）  （１）に記載の判定装置において、前記ＵＲＬベクトル化モデルは、ＵＲＬの文字列を少なくともクエリ部、パス部及びホスト名の構造別に分割して生成される短い文字列を１つの文章として文章ベクトル化するための、前記ＵＲＬの文字列から前記構造別の短い文字列のベクトルを生成するベクトル化モデルであって、前記ベクトル化部は、前記ＵＲＬベクトル化モデルを用いて任意のＵＲＬの文字列を前記構造別にベクトル化し、前記判定部は、前記ベクトル化部により予め有害か否かが判定された複数のＵＲＬの文字列から前記構造別に生成されたベクトルと、前記ベクトル化部により前記判定対象のＵＲＬの文字列から前記構造別に生成されたベクトルと、を用いて、前記判定対象のＵＲＬが示すサイトが有害か否かを判定しても良い。
【００１２】
（５）  （４）に記載の判定装置において、前記判定部は、有害なサイトの種類に応じて前記ＵＲＬの構造を選択しても良い。
【００１３】
（６）  （４）に記載の判定装置において、前記ＵＲＬベクトル化モデルは、さらに、
ＵＲＬの文字列から前記構造別に生成されたベクトルを連結して連結ベクトルを生成するベクトル化モデルであって、前記ベクトル化部は、さらに、前記ＵＲＬベクトル化モデルを用いて任意のＵＲＬの文字列から前記構造別に生成されたベクトルを連結した連結ベクトルを生成し、前記判定部は、さらに、前記ベクトル化部により予め有害か否かが判定された複数のＵＲＬの文字列から生成された前記連結ベクトルと、前記ベクトル化部により前記判定対象のＵＲＬの文字列から生成された連結ベクトルと、を用いて、前記判定対象のＵＲＬが示すサイトが有害か否かを判定しても良い。
【００１４】
（７）本発明に係る判定方法は、コンピュータにより実現される判定方法であって、ＵＲＬに含まれる文字列を１つの文章とみなしてベクトル化するためのＵＲＬベクトル化モデルを用いて任意の文字列をベクトル化するベクトル化ステップと、前記ベクトル化ステップにおいて、予め有害か否かが判定された複数のＵＲＬの文字列がベクトル化されたベクトルと、判定対象のＵＲＬの文字列がベクトル化されたベクトルと、を用いて、前記判定対象のＵＲＬが示すサイトが有害か否かを判定する判定ステップと、を備える。
【発明の効果】
【００１５】
本発明によれば、サイトのＵＲＬから有害なサイトか否かを精度良く判定できる。
【図面の簡単な説明】
【００１６】
【図１】第１の実施形態に係る判定装置の一例を示す図である。
【図２Ａ】第１の実施形態に係る判定装置における生成処理を例示する図である。
【図２Ｂ】第１の実施形態に係る判定装置における判定処理を例示する図である。
【図３】第２の実施形態に係る判定装置の一例を示す図である。
【図４Ａ】第２の実施形態に係る判定装置における生成処理を例示する図である。
【図４Ｂ】第２の実施形態に係る判定装置における判定処理を例示する図である。
【図５】第３の実施形態に係る判定装置の一例を示す図である。
【図６Ａ】第３の実施形態に係る判定装置における生成処理を例示する図である。
【図６Ｂ】第３の実施形態に係る判定装置における判定処理を例示する図である。
【発明を実施するための形態】
【００１７】
以下、本発明の実施形態について説明する。
【００１８】
［第１の実施形態］
図１は、第１の実施形態に係る判定装置の一例を示す図である。
【００１９】
第１の実施形態に係る判定装置１００は、例えば、プロセッサ等の制御部１０と、ハードディスク装置やメモリ等の記憶部２０とを有するパーソナルコンピュータ又はサーバ等の情報処理装置（コンピュータ）である。また、判定装置１００は、入出力デバイス及び通信インタフェース等の外部装置とのインタフェース機能を有する。これにより、判定装置１００は、有線又は無線を介して、外部の記憶装置２００、記憶装置３００及び記憶装置４００に接続される。なお、判定装置１００は、ネットワークを介して、記憶装置２００、記憶装置３００及び記憶装置４００に接続されても良い。
【００２０】
記憶装置２００は、ハードディスク装置等を含むデータサーバ等であり、ＵＲＬデータ２１０を記憶する。ＵＲＬデータ２１０は、複数のサイトのＵＲＬの文字列を含むが、アクセスログ、既知の有害サイトのリストや正規のサイトのリスト等を含んでも良い。
【００２１】
記憶装置３００は、ハードディスク装置等を含むデータサーバ等であり、例えば、悪性度が付与された有害ＵＲＬデータ３１０を記憶する。記憶装置３００は、例えばＧｏｏｇｌｅ  Ｓａｆｅ  Ｂｒｏｗｓｉｎｇ（登録商標）のＵＲＬデータを含んでもよい。なお、Ｇｏｏｇｌｅ  Ｓａｆｅ  ＢｒｏｗｓｉｎｇのＵＲＬデータに限定されず、任意のサイトが提供する悪性度が付与されたＵＲＬデータでも良い。
記憶装置４００は、ハードディスク装置等を含むデータサーバ等であり、例えば、任意のサイトが提供する正規なＵＲＬを示す正規ＵＲＬデータ４１０を記憶する。
【００２２】
判定装置１００は、制御部１０が記憶部２０に記憶された判定処理のプログラムを実行することにより、モデル生成部３０と、ベクトル化部４０と、学習部５０と、判定部６０との機能を有する。
【００２３】
モデル生成部３０は、例えば、記憶装置２００に記憶されるＵＲＬデータ２１０のセットから必要な情報を抽出し、各ＵＲＬを短い文字列に分割する。ここでは、必要な情報とは、ＵＲＬの文字列である。なお、ＵＲＬの文字列を短い文字列に分割する手法としてＮｇｒａｍ（Ｎ≧２）を適用してもよいが、これに限られない。任意の分割する手法を適用してもよい。
モデル生成部３０は、このように分割された文字列となったＵＲＬを１つの文章とみなしてベクトル化するための、ＵＲＬベクトル化モデルＶＭ（以下、「ベクトル化モデルＶＭ」ともいう）を生成する。ここでは、例えば、当業者にとって公知のＤｏｃ２ｖｅｃ（登録商標）（Q．Le  and  T．Mikolov、“Distributed Representations of sentences and documents”、Proceedings of the 31st International Conference on International Conference on Machine Learning、pp．II-1188−II-1196、2014）を用いて、ＵＲＬベクトル化モデルＶＭを生成してもよい。こうすることで、任意のＵＲＬの文字列を１つの文章とみなしてベクトル化するためのＵＲＬベクトル化モデルが生成される。
【００２４】
なお、Ｄｏｃ２ｖｅｃは、ディープラーニング等の機械学習に基づいてＵＲＬベクトル化モデルＶＭを生成する。Ｄｏｃ２ｖｅｃにより生成されるＵＲＬベクトル化モデルＶＭは、ＵＲＬを文章としてベクトル化することにより他のＵＲＬとの類似の度合いを計算でき、類似するＵＲＬの探索やグループ化ができる。以上のように、モデル生成部３０は、例えばＤｏｃ２ｖｅｃにおける機械学習に基づいて、任意のＵＲＬの文字列を１つの文章とみなしてベクトル化するためのＵＲＬベクトル化モデルＶＭを生成する。モデル生成部３０は、生成したＵＲＬベクトル化モデルＶＭを記憶部２０に記憶する。なお、モデル生成部３０は、ＵＲＬベクトル化モデルＶＭを生成するに際してＤｏｃ２ｖｅｃを用いたが、これに限られない。文章をベクトル化するための文章ベクトル化モデルを生成することができる他のソフトウェアを用いても良い。
【００２５】
また、モデル生成部３０は、１つの記憶装置２００からＵＲＬデータ２１０を取得したが、複数の記憶装置２００から様々なＵＲＬデータ２１０を取得するとともに、悪性度が付与された有害ＵＲＬデータ３１０、及び正規なＵＲＬの正規ＵＲＬデータ４１０を取得しても良い。あるいは、モデル生成部３０は、記憶装置２００からＵＲＬデータ２１０を取得するだけでなく、自ら様々なサイトを検索しＵＲＬのデータを取得しても良い。
以下、簡単のため、特に断らない限り、ＵＲＬベクトル化モデルＶＭを「ベクトル化モデルＶＭ」ともいう。
【００２６】
ベクトル化部４０は、記憶部２０からベクトル化モデルＶＭを読み込み、ベクトル化モデルＶＭを用いて、例えば、予め有害か否かが判定されているＵＲＬデータや、判定対象のＵＲＬ等の任意のＵＲＬの文字列をベクトル化する。
より具体的には、ベクトル化部４０は、例えば、記憶装置３００から、悪性度が付与された有害ＵＲＬデータ３１０を入力し、当該ＵＲＬの文字列データをベクトル化したＵＲＬベクトルと、当該ＵＲＬの悪性度を示すラベルと、からなる教師データを生成して、生成された教師データを記憶部２０に記憶する。
また、ベクトル化部４０は、例えば、記憶装置４００から、正規ＵＲＬデータ４１０を入力し、当該ＵＲＬの文字列データをベクトル化したＵＲＬベクトルと、当該ＵＲＬが正規なＵＲＬであることを示すラベルと、からなる教師データを生成して、生成された教師データを記憶部２０に記憶する。なお、ベクトル化部４０は、記憶装置２００から取得したＵＲＬデータ２１０の複数のＵＲＬのうち、有害ＵＲＬデータ３１０に含まれないＵＲＬの各々を、正規のＵＲＬとしてベクトル化したＵＲＬベクトルと、当該ＵＲＬが正規なＵＲＬであることを示すラベルと、からなる教師データを生成して、生成された教師データを記憶部２０に記憶しても良い。
また、ベクトル化部４０は、判定対象のＵＲＬの文字列をベクトル化する。
【００２７】
学習部５０は、記憶部２０に記憶された教師データを入力することで、例えば、教師あり機械学習を実行する。そうすることで、学習部５０は、判定対象のＵＲＬのサイトが有害か否かを判定するための判定モデルＭＬを生成する。学習部５０は、生成した判定モデルＭＬを記憶部２０に記憶する。ここで、判定モデルとしては、当該ＵＲＬの悪性度を示すラベルの内容に応じて、判定対象のＵＲＬのサイトが有害か否かを判定する２値モデルとしてもよい。また、判定対象のＵＲＬのサイトが、マルウェア配布サイト、アダルトサイト、フィッシングサイト、詐欺サイト等の悪性の種類を判定する多値モデルとしてもよい。
【００２８】
判定部６０は、ベクトル化部４０によりベクトル化された判定対象のＵＲＬのベクトルを判定モデルＭＬに入力し、判定対象のＵＲＬが示すサイトが有害か否かを判定する。判定部６０は、例えば、判定装置１００に含まれるＬＣＤ（Liquid Crystal Display）等のディスプレイに判定結果を表示する。また、学習部５０は、判定対象のＵＲＬのベクトル及び判定結果を追加して機械学習を実行し、判定モデルＭＬを更新しても良い。これにより、判定装置１００は、有害なＵＲＬの判定精度を向上させることができる。
【００２９】
図２Ａは、第１の実施形態に係る判定装置１００における生成処理を例示する図である。図２Ａに示した処理は、例えば、判定装置１００の管理者等が判定装置１００に含まれるキーボードやマウス等の入力装置を操作することにより実行される。
【００３０】
ステップＳ１において、モデル生成部３０は、記憶装置２００に記憶されるＵＲＬデータ２１０のセットから必要な情報を抽出し、各ＵＲＬを短い文字列に分割し、このように分割された文字列となったＵＲＬを１つの文章とみなして、ＵＲＬベクトル化モデルＶＭ（ベクトル化モデルＶＭ）を生成する。モデル生成部３０は、生成したＵＲＬベクトル化モデルＶＭを記憶部２０に記憶する。
【００３１】
ステップＳ２において、ベクトル化部４０は、例えば、記憶装置３００から、悪性度が付与された有害ＵＲＬデータ３１０を入力し、当該ＵＲＬの文字列データをベクトル化したＵＲＬベクトルと、当該ＵＲＬの悪性度を示すラベルと、からなる教師データを生成して、生成された教師データを記憶部２０に記憶する。また、ベクトル化部４０は、記憶装置４００から、正規ＵＲＬデータ４１０を入力し、当該ＵＲＬの文字列データをベクトル化したＵＲＬベクトルと、当該ＵＲＬが正規なＵＲＬであることを示すラベルと、からなる教師データを生成して、生成された教師データを記憶部２０に記憶する。
【００３２】
ステップＳ３において、学習部５０は、記憶部２０に記憶した教師データを入力し、教師あり機械学習を実行する。そうすることで、学習部５０は、判定対象のＵＲＬのサイトが有害か否かを判定するための判定モデルＭＬを生成する。学習部５０は、生成した判定モデルＭＬを記憶部２０に記憶する。
なお、ステップＳ１のＵＲＬベクトル化モデルＶＭの生成処理と、ステップＳ２の教師データ及びステップＳ３の判定モデルＭＬの生成処理とは、別々に実行されても良い。
【００３３】
図２Ｂは、第１の実施形態に係る判定装置１００における判定処理を例示する図である。図２Ｂに示した処理は、例えば、判定装置１００の管理者等が判定装置１００の入力装置を操作することにより実行される。
ステップＳ４において、判定部６０は、記憶装置２００のＵＲＬデータ２１０等から、判定対象のＵＲＬを取得する。
ステップＳ５において、ベクトル化部４０は、記憶部２０からＵＲＬベクトル化モデルＶＭを読み込み、ＵＲＬベクトル化モデルＶＭを用いて、ステップＳ４で取得した判定対象のＵＲＬの文字列をベクトル化する。
【００３４】
ステップＳ６において、判定部６０は、ベクトル化部４０によりベクトル化された判定対象のＵＲＬのベクトルを、判定モデルＭＬに入力し、判定対象のＵＲＬのサイトが有害か否かを判定する。判定部６０は、判定装置１００のディスプレイに判定結果を表示する。
【００３５】
以上説明したように、第１の実施形態では、判定装置１００は、有害ＵＲＬデータ３１０及び正規ＵＲＬデータ４１０のＵＲＬの文字列データを１つの文章とみなしてベクトル化したＵＲＬベクトルと、各ＵＲＬベクトルに付与されたラベルとを用いて機械学習を実行し、判定モデルＭＬを生成する。そして、判定装置１００は、ベクトル化モデルＶＭを用いて判定対象のＵＲＬの文字列データを１つの文章とみなしてベクトル化し、ベクトル化した判定対象のＵＲＬベクトルを判定モデルＭＬに入力することにより、判定対象のＵＲＬのサイトが有害か否かを判定する。
【００３６】
すなわち、判定装置１００は、ＵＲＬデータ２１０、有害ＵＲＬデータ３１０及び正規ＵＲＬデータ４１０のＵＲＬベクトルと、各ＵＲＬベクトルに付与されたラベルとを教師データとして機械学習を実行することにより、有害性が高いＵＲＬの構造を自動学習する。これにより、判定装置１００は、任意のフィルタリングルール（シグネチャ等）を利用しなくても、判定対象のＵＲＬのサイトが有害か否かの判定の精度良く判定できる。また、判定装置１００は、常に学習と検証を繰り返すことにより、日々変化する攻撃者のＵＲＬの自動的な追従が可能となり、即応性の向上を図ることができる。
【００３７】
また、判定装置１００は、記憶装置２００のＵＲＬデータ２１０、記憶装置３００の有害ＵＲＬデータ３１０及び記憶装置４００の正規ＵＲＬデータ４１０を取得した後、判定装置１００内で判定処理を実行するため、外部に問い合わせる際のアクセスデータの漏えいを回避できる。また、判定装置１００は、判定装置１００内で判定処理を実行するため、外部との通信コスト（時間的、金銭的）も低減することができる。
【００３８】
［第２の実施形態］
次に第２の実施形態について説明する。第２の実施形態は、ＵＲＬの文字列をＵＲＬの文脈的特徴（例えばクエリ構造、パス構造、ホスト名の構造等）に基づいて抽出される文字列を１つの文章とみなしてベクトル化する。すなわち、ＵＲＬの文脈的特徴別に抽出される文字列別にベクトル化する。この文脈的特徴別に生成されるベクトルを、第１の実施形態におけるＵＲＬベクトルと区別するために、構造別ＵＲＬベクトルという。
このように、第２の実施形態は、構造別ＵＲＬベクトルに基づいて、（構造別に）ベクトル化生成モデルを作成し、（構造別に）機械学習を行い、（構造別に）判定モデルを生成する点に特長がある。
例えば、マルウェア配布サイト等の有害サイトのＵＲＬには、ＵＲＬのクエリ構造に特徴があり、アダルトサイト等の有害サイトのＵＲＬには、パス構造に特徴があると考えられることから、構造別ＵＲＬベクトルに基づいて構造別判定モデルを作成することで、例えば、判定対象のＵＲＬのクエリ構造に係る文字列をベクトル化した構造別ＵＲＬベクトルを、構造別判定モデルに基づいて、当該ＵＲＬがマルウェア配布サイトか否かを判定することができる。
図３は、第２の実施形態に係る判定装置の一例を示す図である。なお、図３では、第１の実施形態に係る判定装置１００の要素と同様の機能を有する要素については、同じ符号を付し、詳細な説明は省略する。
【００３９】
第２の実施形態に係る判定装置１００Ａは、制御部１０が記憶部２０に記憶された判定処理のプログラムを実行することにより、モデル生成部３０ａと、ベクトル化部４０ａと、学習部５０ａと、判定部６０ａとの機能を有する。
【００４０】
モデル生成部３０ａは、ＵＲＬの文脈的特徴（例えばクエリ構造、パス構造、ホスト名の構造等）別に、ＵＲＬベクトル化モデル（「構造別ＵＲＬベクトル化モデル」ともいう）を生成する。
より具体的には、モデル生成部３０ａは、例えば、記憶装置２００に記憶されるＵＲＬデータ２１０のセットからＵＲＬの文脈的特徴（例えばクエリ構造、パス構造、ホスト名の構造等）に基づいて抽出されるＵＲＬの文字列（「ＵＲＬの構造別文字列」という）を、第１の実施形態と同様に例えばＮｇｒａｍ（Ｎ≧２）を適用して短い文字列に分割する。
モデル生成部３０ａは、このように分割された文字列となったＵＲＬの構造別文字列を１つの文章とみなしてベクトル化するための、構造別ＵＲＬベクトル化モデルＶＭを生成する。ここでは、第１の実施形態と同様に例えば、当業者にとって公知のＤｏｃ２ｖｅｃを用いて、構造別ベクトル化モデルを生成してもよい。こうすることで、任意のＵＲＬの構造別文字列を１つの文章とみなしてベクトル化するための、構造別ＵＲＬベクトル化モデルが生成される。ここで、ＫをＵＲＬの文脈的特徴を示す構造の種類の数とした場合、構造別ＵＲＬベクトル化モデルＶＭ（１）−ＶＭ（Ｋ）が生成される。そして、モデル生成部３０ａは、生成した構造別ＵＲＬベクトル化モデルＶＭ（１）−ＶＭ（Ｋ）を記憶部２０に記憶する。
【００４１】
ベクトル化部４０ａは、構造別ＵＲＬベクトル化モデルＶＭ（ｉ）（１≦ｉ≦Ｋ）に基づいて、例えば、予めマルウェア配布サイト、アダルトサイト等が判定されているＵＲＬデータや、判定対象のＵＲＬ等の任意のＵＲＬの文字列からＵＲＬの文脈的特徴（例えばクエリ構造、パス構造、ホスト名の構造等）に基づいて抽出されるＵＲＬの構造別文字列を１つの文章とみなしてベクトル化する。
クエリ構造に係る場合を例として説明する。
ベクトル化部４０ａは、指定された構造に基づいて、構造別ＵＲＬベクトル化モデルＶＭ（ｉ）を選択し、当該構造別ＵＲＬベクトル化モデルＶＭ（ｉ）を利用して、記憶装置３００から、例えばマルウェア配布サイトと判定された有害ＵＲＬデータ３１０を入力し、当該ＵＲＬの文字列データから抽出されるクエリ構造に含まれる文字列をベクトル化した構造別ＵＲＬベクトルと、当該ＵＲＬがマルウェア配布サイトであることを示すラベルと、からなる教師データを生成して、生成された教師データを記憶部２０に記憶する。
同様に、ベクトル化部４０ａは、構造別ＵＲＬベクトル化モデルＶＭ（ｉ）を利用して、記憶装置４００から、正規ＵＲＬデータ４１０を入力し、当該ＵＲＬの文字列データから抽出されるクエリ構造に含まれる文字列をベクトル化した構造別ＵＲＬベクトルと、当該ＵＲＬが正規なＵＲＬであることを示すラベルと、からなる教師データを生成して、生成された教師データを記憶部２０に記憶する。
また、ベクトル化部４０ａは、構造別ＵＲＬベクトル化モデルＶＭ（ｉ）を利用して、判定対象のＵＲＬから抽出されるクエリ構造に含まれる文字列をベクトル化する。
このように、ベクトル化部４０ａは、指定された構造に基づいて、構造別ＵＲＬベクトル化モデルＶＭ（ｉ）を選択し、当該構造別ＵＲＬベクトル化モデルＶＭ（ｉ）を利用して、ＵＲＬの構造別文字列を１つの文章とみなしてベクトル化する。
【００４２】
学習部５０ａは、記憶部２０に記憶されたＵＲＬの構造別（構造（ｉ）：１≦ｉ≦Ｋ）に生成された教師データを入力することで、例えば、教師あり機械学習を実行する。そうすることで、学習部５０ａは、判定対象のＵＲＬのサイトが有害か否かを構造（ｉ）に係るＵＲＬの構造別文字列から判定するための構造別判定モデルＭＬ（ｉ）を生成する。学習部５０は、生成した構造別判定モデルＭＬ（ｉ）を記憶部２０に記憶する。ここで、判定モデルとしては、判定対象のＵＲＬのサイトが、マルウェア配布サイト、アダルトサイト、フィッシングサイト、詐欺サイト等の悪性の種類を判定する構造別の判定モデルＭＬ（ｉ）としてもよい。
【００４３】
判定部６０ａは、例えば、判定装置１００Ａの入力装置を介して入力された管理者等の指示に基づいて、有害なサイトとして判定するマルウェア配布サイトやアダルトサイト等の種類を決定する。判定部６０ａは、決定したサイトの種類に応じた構造（ｉ）の構造別ベクトル化モデルＶＭ（ｉ）及び構造別判定モデルＭＬ（ｉ）を選択する（１≦ｉ≦Ｋ）。判定部６０ａは、選択した構造（ｉ）の構造別ベクトル化モデルＶＭ（ｉ）及び構造別判定モデルＭＬ（ｉ）を記憶部２０から読み込む。ベクトル化部４０ａは、構造別ベクトル化モデルＶＭ（ｉ）を用いて判定対象のＵＲＬの構造（ｉ）の文字列をベクトル化する。判定部６０ａは、判定対象のＵＲＬの構造（ｉ）のベクトルを構造別判定モデルＭＬ（ｉ）に入力し、判定対象のＵＲＬのサイトが有害か否かを判定する。すなわち、判定部６０ａは、有害なサイトの種類に応じて、判定対象のＵＲＬのサイトが有害か否かを判定できる。そして、判定部６０ａは、例えば、判定装置１００Ａのディスプレイに判定結果を表示する。
【００４４】
なお、学習部５０ａは、判定対象のＵＲＬの構造（ｉ）のベクトル及び判定結果を追加して機械学習を実行し、構造別判定モデルＭＬ（ｉ）を更新しても良い。これにより、判定装置１００Ａは、有害なＵＲＬの判定精度を向上させることができる。
【００４５】
図４Ａは、第２の実施形態に係る判定装置１００Ａにおける生成処理を例示する図である。図４Ａに示した処理は、例えば、判定装置１００Ａの管理者等が判定装置１００Ａの入力装置を操作することにより実行される。
【００４６】
ステップＳ１１において、モデル生成部３０ａは、記憶装置２００に記憶されるＵＲＬデータ２１０のセットから必要な情報（ＵＲＬの構造別文字列）を抽出し、ＵＲＬの構造別文字列を短い文字列に分割し、このように分割された文字列となったＵＲＬの構造別文字列を１つの文章とみなして、構造別ＵＲＬベクトル化モデルＶＭ（ｉ）を生成する。モデル生成部３０は、生成した構造別ＵＲＬベクトル化モデルＶＭ（ｉ）を記憶部２０に記憶する。
【００４７】
ステップＳ１２において、ベクトル化部４０ａは、ＵＲＬの構造別に教師データを生成する。例えば、記憶装置３００から、悪性度が付与された有害ＵＲＬデータ３１０を入力し、当該ＵＲＬの構造別文字列をベクトル化したＵＲＬベクトルと、当該ＵＲＬの悪性度を示すラベルと、からなる教師データを生成して、生成された教師データを記憶部２０に記憶する。また、ベクトル化部４０ａは、記憶装置４００から、正規ＵＲＬデータ４１０を入力し、当該ＵＲＬの構造別文字列をベクトル化したＵＲＬベクトルと、当該ＵＲＬが正規なＵＲＬであることを示すラベルと、からなる教師データを生成して、生成された教師データを記憶部２０に記憶する。
【００４８】
ステップＳ１３において、学習部５０ａは、記憶部２０に記憶したＵＲＬの構造別に生成された教師データを入力し、教師あり機械学習を実行する。そうすることで、学習部５０ａは、判定対象のＵＲＬのサイトが有害か否かを判定するための構造別判定モデルＭＬ（ｉ）を生成する。学習部５０は、ＵＲＬの構造別に生成した構造別判定モデルＭＬ（ｉ）を記憶部２０に記憶する。
なお、ステップＳ１１の構造別ＵＲＬベクトル化モデルＶＭの生成処理と、ステップＳ１２の教師データ及びステップＳ１３の構造別判定モデルＭＬの生成処理とは、別々に実行されても良い。
【００４９】
図４Ｂは、第２の実施形態に係る判定装置１００Ａにおける判定処理を例示する図である。図４Ｂに示した処理は、例えば、判定装置１００Ａの管理者等が判定装置１００Ａの入力装置を操作することにより実行される。
ステップＳ１４において、判定部６０ａは、記憶装置２００のＵＲＬデータ２１０等から、判定対象のＵＲＬを取得する。
ステップＳ１５において、判定部６０ａは、判定装置１００Ａの入力装置を介して入力された管理者等の指示に基づいて、有害なサイトとして判定するマルウェア配布サイトやアダルトサイト等の種類を決定する。判定部６０ａは、決定したサイトの種類に応じた構造（ｉ）の構造別ベクトル化モデルＶＭ（ｉ）及び構造別判定モデルＭＬ（ｉ）を選択する。
【００５０】
ステップＳ１６において、ベクトル化部４０ａは、ステップＳ１５で選択された構造別ＵＲＬベクトル化モデルＶＭ（ｉ）を記憶部２０から読み込み、構造別ＵＲＬベクトル化モデルＶＭ（ｉ）を用いて、判定対象のＵＲＬの構造（ｉ）に係る文字列をベクトル化する。
ステップＳ１７において、判定部６０ａは、判定対象のＵＲＬの構造（ｉ）のベクトルを構造別判定モデルＭＬ（ｉ）に入力し、判定対象のＵＲＬのサイトが有害か否かを判定する。判定部６０ａは、判定装置１００Ａのディスプレイに判定結果を表示する。
【００５１】
以上説明したように、第２の実施形態では、判定装置１００Ａは、ＵＲＬの文字列をＵＲＬの文脈的特徴（例えばクエリ構造、パス構造、ホスト名の構造等）に基づいて抽出されるＵＲＬの構造別文字列をベクトル化した構造別ＵＲＬベクトルと、各構造別ＵＲＬベクトルに付与されたラベルとを用いて機械学習を実行し、構造別判定モデルＭＬ（ｉ）を生成する。そして、判定装置１００Ａは、構造別ベクトル化モデルＶＭ（ｉ）を用いて判定対象のＵＲＬの構造別文字列を１つの文章とみなしてベクトル化し、判定対象の構造別ＵＲＬベクトルを構造別判定モデルＭＬ（ｉ）に入力することにより、例えば、判定対象のＵＲＬのサイトがマルウェア配布サイトか否かを判定することができる。
【００５２】
第２の実施形態では、判定装置１００Ａは、ＵＲＬの文脈的特徴を示す構造毎に、ＵＲＬデータ２１０、有害ＵＲＬデータ３１０及び正規ＵＲＬデータ４１０のＵＲＬのベクトルと、各ベクトルに付与されたラベルとを学習データとして機械学習を実行することにより、有害性が高いＵＲＬの構造を自動学習する。これにより、判定装置１００Ａは、任意のフィルタリングルール（シグネチャ等）を利用しなくても、判定対象のＵＲＬのサイトが有害か否かの判定の精度良く判定できる。また、判定装置１００Ａは、常に学習と検証を繰り返すことにより、日々変化する攻撃者のＵＲＬの自動的な追従が可能となり、即応性の向上を図れる。
【００５３】
また、判定装置１００Ａは、記憶装置２００のＵＲＬデータ２１０、記憶装置３００の有害ＵＲＬデータ３１０及び記憶装置４００の正規ＵＲＬデータ４１０を取得した後、判定装置１００Ａ内で判定処理を実行するため、外部に問い合わせる際のアクセスデータの漏えいを回避できる。また、判定装置１００Ａは、判定装置１００Ａ内で判定処理を実行するため、外部との通信コスト（時間的、金銭的）も低減できる。
【００５４】
［第２の実施形態の変形例］
第２の実施形態に係る判定装置１００Ａは、判定装置１００Ａの入力装置を介して入力された管理者等の指示に基づいて、１つの構造（ｉ）の構造別ベクトル化モデルＶＭ（ｉ）及び構造別判定モデルＭＬ（ｉ）を選択したが、これに限られない。例えば、第２の実施形態の変形例として、判定装置１００Ａは、判定装置１００Ａの入力装置を介して入力された管理者等の指示に基づいて、２つ以上の構造（ｉ）の構造別ベクトル化モデルＶＭ（ｉ）及び構造別判定モデルＭＬ（ｉ）を選択しても良い。
【００５５】
この場合、制御部１０は、例えば、有害ＵＲＬ、正規のＵＲＬ及び判定対象のＵＲＬの各々において、選択した２以上の構造それぞれのベクトルを結合するベクトル結合部（図示せず）としての機能を有することが好ましい。
【００５６】
学習部５０ａは、有害ＵＲＬの各々のラベル及び結合されたベクトルと、正規のＵＲＬの各々のラベル及び結合されたベクトルとを用いて、教師あり機械学習を実行し、２以上の構造が結合した判定モデルを生成する。そして、判定部６０ａは、判定対象のＵＲＬの結合されたベクトルを２以上の構造が結合した判定モデルに入力し、判定対象のＵＲＬのサイトが有害か否かを判定する。これにより、判定装置１００Ａは、複数の種類の有害なサイトを判断できる。
【００５７】
［第３の実施形態］
次に第３の実施形態について説明する。第３の実施形態は、機械学習を実行する学習部が省略され、有害ＵＲＬ又は正規のＵＲＬのベクトルと、判定対象のＵＲＬのベクトルとの類似の度合いに基づいて、判定対象のＵＲＬのサイトが有害か否かを判定する。
なお、以下の第３の実施形態の説明においては、ＵＲＬを１つの文章としてベクトル化するＵＲＬベクトル化モデルＶＭを利用するケースを例示するが、これに限られない。ＵＲＬの文脈的特徴に基づいた構造毎にＵＲＬをベクトル化する複数の構造別ベクトル化モデル（ｉ）を利用しても良い。
【００５８】
図５は、第３の実施形態に係る判定装置の一例を示す図である。なお、図５では、第１の実施形態に係る判定装置１００の要素と同様の機能を有する要素については、同じ符号を付し、詳細な説明は省略する。
【００５９】
第３の実施形態に係る判定装置１００Ｂは、制御部１０が記憶部２０に記憶された判定処理のプログラムを実行することにより、モデル生成部３０と、ベクトル化部４０と、判定部６０ｂと、対応付け部７０との機能を有する。
【００６０】
対応付け部７０は、例えば、記憶装置３００から有害ＵＲＬデータ３１０を取得する。ベクトル化部４０は、取得した有害ＵＲＬデータ３１０の有害ＵＲＬの各々を、ＵＲＬベクトル化モデルＶＭを用いてベクトル化する。そして、対応付け部７０は、有害ＵＲＬのベクトルの各々に、有害を示すラベルを付与する。
また、対応付け部７０は、記憶装置４００から正規ＵＲＬデータ４１０を取得する。ベクトル化部４０は、取得した正規ＵＲＬデータ４１０の正規ＵＲＬの各々を、ＵＲＬベクトル化モデルＶＭを用いてベクトル化する。そして、対応付け部７０は、正規ＵＲＬのベクトルの各々に、正規を示すラベルを付与する。なお、対応付け部７０は、記憶装置２００から取得したＵＲＬデータ２１０の複数のＵＲＬのうち、有害ＵＲＬデータ３１０に含まれないＵＲＬの各々を、正規のＵＲＬとしても良い。
対応付け部７０は、複数の有害ＵＲＬにおいて対応付けしたベクトル及びラベルと、複数の正規のＵＲＬにおいて対応付けしたベクトル及びラベルとを、対応付けデータＴＤとして記憶部２０に記憶する。
【００６１】
判定部６０ｂは、対応付けデータＴＤを記憶部２０より読み込み、複数の有害ＵＲＬのベクトル及びラベルと、複数の正規のＵＲＬのベクトル及びラベルとを取得する。そして、判定部６０ｂは、ベクトル化部４０によりベクトル化された判定対象のＵＲＬのベクトルと、有害ＵＲＬ及び正規のＵＲＬそれぞれのベクトルとのコサイン類似度やユークリッド距離等を算出する。判定部６０ｂは、算出したコサイン類似度やユークリッド距離等と所定の閾値とを比較し、判定対象のＵＲＬのサイトが有害か否かを判定する。判定部６０ｂは、判定装置１００Ｂのディスプレイに判定結果を表示する。
【００６２】
なお、判定部６０ｂは、コサイン類似度やユークリッド距離等を算出するにあたり、ラベルが最も高い有害性を示す有害ＵＲＬのベクトルから順に、判定対象のＵＲＬのベクトルとのコサイン類似度やユークリッド距離等を算出しても良い。
【００６３】
また、判定部６０ｂは、判定対象のＵＲＬのベクトルに判定結果に対応したラベルを付与し、対応付けデータＴＤを更新しても良い。これにより、判定装置１００Ｂは、有害なＵＲＬの判定精度を向上させることができる。
【００６４】
図６Ａは、第３の実施形態に係る判定装置１００Ｂにおける生成処理を例示する図である。図６Ａに示した処理は、例えば、判定装置１００Ｂの管理者等が判定装置１００Ｂの入力装置を操作することにより実行される。
【００６５】
ステップＳ２１において、モデル生成部３０は、記憶装置２００に記憶されるＵＲＬデータ２１０のセットから必要な情報を抽出し、各ＵＲＬを短い文字列に分割し、このように分割された文字列となったＵＲＬを１つの文章とみなして、ＵＲＬベクトル化モデルＶＭ（ベクトル化モデルＶＭ）を生成する。モデル生成部３０は、生成したＵＲＬベクトル化モデルＶＭを記憶部２０に記憶する。
【００６６】
ステップＳ２２において、ベクトル化部４０は、記憶装置３００から有害ＵＲＬデータ３１０を取得する。ベクトル化部４０は、取得した有害ＵＲＬデータ３１０の有害ＵＲＬの各々を、ステップＳ２１で生成されたＵＲＬベクトル化モデルＶＭを用いてベクトル化する。また、ベクトル化部４０は、記憶装置４００から正規ＵＲＬデータ４１０を取得する。ベクトル化部４０は、取得した正規ＵＲＬデータ４１０の正規ＵＲＬの各々を、ＵＲＬベクトル化モデルＶＭを用いてベクトル化する。
【００６７】
ステップＳ２３において、対応付け部７０は、有害ＵＲＬのベクトルの各々に有害を示すラベルを付与する。また、対応付け部７０は、正規ＵＲＬのベクトルの各々に正規を示すラベルを付与する。そして、対応付け部７０は、複数の有害ＵＲＬのベクトル及びラベルと、複数の正規のＵＲＬのベクトル及びラベルとを、対応付けデータＴＤとして記憶部２０に記憶する。
なお、ステップＳ２１のＵＲＬベクトル化モデルＶＭの生成処理と、ステップＳ２２及びステップＳ２３の対応付けデータＴＤの生成処理とは、別々に実行されても良い。
【００６８】
図６Ｂは、第３の実施形態に係る判定装置１００Ｂにおける判定処理を例示する図である。図６Ｂに示した処理は、例えば、判定装置１００Ｂの管理者等が判定装置１００Ｂの入力装置を操作することにより実行される。
ステップＳ２４において、判定部６０ｂは、記憶装置２００のＵＲＬデータ２１０等から、判定対象のＵＲＬを取得する。
ステップＳ２５において、ベクトル化部４０は、記憶部２０からＵＲＬベクトル化モデルＶＭを読み込み、ＵＲＬベクトル化モデルＶＭを用いて、ステップＳ２４で取得した判定対象のＵＲＬの文字列をベクトル化する。
ステップＳ２６において、判定部６０ｂは、対応付けデータＴＤを記憶部２０より読み込み、複数の有害ＵＲＬのベクトル及びラベルと、複数の正規ＵＲＬのベクトル及びラベルとを取得する。そして、判定部６０ｂは、ステップＳ２５でベクトル化された判定対象のＵＲＬのベクトルと、有害ＵＲＬ及び正規のＵＲＬそれぞれのベクトルとのコサイン類似度やユークリッド距離等を算出する。
【００６９】
例えば、判定部６０ｂは、コサイン類似度が閾値以上で類似する有害ＵＲＬのベクトルがある場合、判定対象のＵＲＬのサイトを有害と判定する。一方、判定部６０ｂは、コサイン類似度が閾値以上で類似する有害ＵＲＬのベクトルがない場合、判定対象のＵＲＬのサイトを正規と判定する。あるいは、判定部６０ｂは、ユークリッド距離が閾値以下で類似する有害ＵＲＬのベクトルがある場合、判定対象のＵＲＬのサイトを有害と判定する。一方、判定部６０ｂは、ユークリッド距離が閾値以下で類似する有害ＵＲＬのベクトルがない場合、判定対象のＵＲＬのサイトを正規と判定する。そして、判定部６０ｂは、判定結果を判定装置１００Ｂのディスプレイに表示する。
【００７０】
また、判定部６０ｂは、判定対象のＵＲＬのベクトルに判定結果に対応したラベルを付与し、対応付けデータＴＤを更新しても良い。これにより、判定装置１００Ｂは、有害なＵＲＬの判定精度を向上させることができる。
【００７１】
以上説明したように、第３の実施形態では、判定装置１００Ｂは、有害ＵＲＬ及び正規のＵＲＬそれぞれのベクトルと、判定対象のＵＲＬのベクトルとの類似の度合いを算出し、判定対象のＵＲＬのサイトが有害か否かを判定する。これにより、判定装置１００Ｂは、任意のフィルタリングルール（シグネチャ等）を利用しなくても、判定対象のＵＲＬのサイトが有害か否かの判定の精度良く判定できる。また、判定装置１００Ｂは、判定結果に基づいてＵＲＬベクトル化モデルＶＭ及び対応付けデータＴＤを常に更新することにより、日々変化する攻撃者のＵＲＬの自動的な追従が可能となり、即応性の向上を図れる。
【００７２】
また、判定装置１００Ｂは、記憶装置２００のＵＲＬデータ２１０、記憶装置３００の有害ＵＲＬデータ３１０及び記憶装置４００の正規ＵＲＬデータ４１０を取得した後、判定装置１００Ｂ内で判定処理を実行するため、外部に問い合わせる際のアクセスデータの漏えいを回避できる。また、判定装置１００Ｂは、判定装置１００Ｂ内で判定処理を実行するため、外部との通信コスト（時間的、金銭的）も低減できる。
【００７３】
以上、本発明の実施形態について説明したが、本発明は前述した実施形態に限るものではない。また、前述した実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、実施形態に記載されたものに限定されるものではない。
【００７４】
［実施形態の変形例１］
第１の実施形態に係る判定装置１００は、ベクトル化部４０、学習部５０及び判定部６０を、判定装置１００内に配置したが、例えばクラウドを含む外部装置に分散して配置されても良い。また、第２の実施形態に係る判定装置１００Ａは、ベクトル化部４０ａ、学習部５０ａ及び判定部６０ａを、クラウドを含む外部装置に分散して配置されても良い。また、第３の実施形態に係る判定装置１００Ｂは、ベクトル化部４０、判定部６０ｂ及び対応付け部７０を、クラウドを含む外部装置に分散して配置されても良い。
例えば、クラウド等の別のモデル生成装置に対して、判定装置１００は、モデル生成装置にアクセスすることで、ＵＲＬベクトル化モデルＶＭを生成するようにしてもよい。
【００７５】
［実施形態の変形例２］
第１の実施形態に係る判定装置１００及び第３の実施形態に係る判定装置１００Ｂは、記憶装置２００のＵＲＬデータ２１０を用いてＵＲＬベクトル化モデルＶＭを生成したが、例えば、ＵＲＬベクトル化モデルＶＭは、予め外部のコンピュータにより生成され、記憶装置２００等に記憶されても良い。この場合、判定装置１００及び判定装置１００Ｂは、記憶装置２００からＵＲＬベクトル化モデルＶＭを取得し、記憶部２０に記憶する。
同様に、第２の実施形態において、構造別ＵＲＬベクトル化モデルＶＭ（１）−ＶＭ（Ｋ）は、予め外部のコンピュータにより生成され、記憶装置２００等に記憶されても良い。そうすることで、判定装置１００Ａは、記憶装置２００から構造別ＵＲＬベクトル化モデルＶＭ（１）−ＶＭ（Ｋ）を取得しても良い。
【符号の説明】
【００７６】
１０  制御部
２０  記憶部
３０  モデル生成部
４０  ベクトル化部
５０  学習部
６０  判定部
１００  判定装置
【図１】
2020052766.tif 000003
【図２Ａ】
2020052766.tif 000004
【図２Ｂ】
2020052766.tif 000005
【図３】
2020052766.tif 000006
【図４Ａ】
2020052766.tif 000007
【図４Ｂ】
2020052766.tif 000008
【図５】
2020052766.tif 000009
【図６Ａ】
2020052766.tif 000010
【図６Ｂ】
2020052766.tif 000011