(57)【要約】【課題】学習モデルの作成において、学習用文章データ中に頻出する表現の過学習を防止することを課題とする。【解決手段】文章データから所定の表現を抽出するためのモデルを作成するための情報処理装置５０に、学習用文章データを単語に分割し、単語毎に特徴データを設定する特徴生成部２２と、単語毎にラベルを付すラベル付与部２３と、学習用文章データ又は特徴データに含まれる、文字素性について所定の属性を有する表現をランダムに生成された文字列に置換する置換部２４と、置換済みデータ及びラベル付与済み特徴データを学習データとして、所定の表現を抽出するためのモデルを作成する学習部２５と、を備えた。【選択図】図２
2020106880.tif 000002
【特許請求の範囲】
【請求項１】
文章データから所定の表現を抽出するためのモデルを作成するための情報処理装置であって、
学習用文章データを単語に分割し、単語毎に、文字素性を含む複数の素性についての特徴データを設定する特徴生成手段と、
前記特徴データにおいて、単語毎にラベルを付すラベル付与手段と、
前記学習用文章データ又は前記特徴データに含まれる、文字素性について所定の属性を有する１又は複数の表現を、表現毎に、ランダムに生成された文字列に置換することで、置換済データを生成する置換手段と、
前記置換済みデータ及び前記ラベル付与済みの前記特徴データを学習データとして、新たに入力された抽出用文章データから文字素性について所定の属性を有する表現を抽出するためのモデルを作成する学習手段と、
を備える情報処理装置。
【請求項２】
前記置換手段は、前記表現をランダムに生成された文字列に置換する際に、文字素性以外の素性については該表現と一致する文字列を生成し、置換する、
請求項１に記載の情報処理装置。
【請求項３】
前記特徴生成手段は、文字素性、文字種素性及び品詞素性を更に含む複数の素性についての特徴データを設定する、
請求項１又は２に記載の情報処理装置。
【請求項４】
前記置換手段は、表現をランダムに生成された文字列に置換する際に、品詞素性及び文字種素性については対象表現と一致する文字列を生成し、置換する、
請求項３に記載の情報処理装置。
【請求項５】
前記置換手段は、１の前記学習用文章データ又は前記特徴データについて、ランダムに生成された第一の文字列で前記表現を置換した第一の置換済データと、ランダムに生成された第二の文字列で前記表現を置換した第二の置換済データと、を生成し、
前記学習手段は、前記第一の置換済みデータ及び前記第二の置換済データを用いて前記モデルを作成する、
請求項１から４の何れか一項に記載の情報処理装置。
【請求項６】
前記所定の属性を有する表現は、新語が発生し易いカテゴリの名詞である、
請求項１から５の何れか一項に記載の情報処理装置。
【請求項７】
前記所定の属性を有する表現は、マルウェア名称である、
請求項６に記載の情報処理装置。
【請求項８】
インターネットからセキュリティ関連記事を含むページを収集し、該ページからテキストを抽出して前記学習用文章データ又は前記抽出用文章データを取得する文章データ取得手段を更に備える、
請求項７に記載の情報処理装置。
【請求項９】
前記学習手段によって作成されたモデルを用いて、前記抽出用文章データから前記所定の属性を有する表現を抽出する抽出手段を更に備える、
請求項１から８の何れか一項に記載の情報処理装置。
【請求項１０】
前記所定の属性を有さない表現を記録する記録手段と、
前記抽出手段によって抽出された表現から、前記記録手段によって記録されている、前記所定の属性を有さない表現を除外するフィルタリング手段と、を更に備える、
請求項９に記載の情報処理装置。
【請求項１１】
文章データから所定の表現を抽出するためのモデルを作成するためのコンピューターが、
学習用文章データを単語に分割し、単語毎に、文字素性を含む複数の素性についての特徴データを設定する特徴生成ステップと、
前記特徴データにおいて、単語毎にラベルを付すラベル付与ステップと、
前記学習用文章データ又は前記特徴データに含まれる、文字素性について所定の属性を有する１又は複数の表現を、表現毎に、ランダムに生成された文字列に置換することで、置換済データを生成する置換ステップと、
前記置換済みデータ及び前記ラベル付与済みの前記特徴データを学習データとして、新たに入力された抽出用文章データから文字素性について所定の属性を有する表現を抽出するためのモデルを作成する学習ステップと、
を実行する、モデル作成方法。
【請求項１２】
文章データから所定の表現を抽出するためのモデルを作成するためのコンピューターを、
学習用文章データを単語に分割し、単語毎に、文字素性を含む複数の素性についての特徴データを設定する特徴生成手段と、
前記特徴データにおいて、単語毎にラベルを付すラベル付与手段と、
前記学習用文章データ又は前記特徴データに含まれる、文字素性について所定の属性を有する１又は複数の表現を、表現毎に、ランダムに生成された文字列に置換することで、置換済データを生成する置換手段と、
前記置換済みデータ及び前記ラベル付与済みの前記特徴データを学習データとして、新たに入力された抽出用文章データから文字素性について所定の属性を有する表現を抽出するためのモデルを作成する学習手段と、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、機械学習のための学習データの作成方法に関する。
【背景技術】
【０００２】
従来、高精度で自動的に単語に対する意味タグ付けを行なうためのモデルを構築することを目的として、各単語に意味タグと文法タグとが付された学習用コーパス中の単語に関するコンテキスト系の特徴関数及び依存性特徴関数を抽出するプロセスと、オントロジーからオントロジー特徴関数を抽出するプロセスと、これら特徴関数の各々に関し、学習用コーパス中の各単語に対し算出される特徴関数の値の統計に基づき特徴関数の相互情報量を算出し、情報量の大きな特徴関数を選択する特徴選択プロセスと、選択された特徴関数に関して学習用コーパス中の各単語に対し得られた特徴関数の値の統計に基づき、入力文中の各単語に対し得られる特徴関数の値に基づき、当該単語に対して各意味タグが付与される尤度を与える統計的モデルを算出するプロセスと、を含むモデル構築装置が提案されている（特許文献１を参照）。
【０００３】
また、意味分類付与の精度を向上させることを目的として、特徴重みテーブルが、あらかじめテキストの特徴と意味分類との間の関連性を示す特徴重みとして、語句の後続機能表現と該後続機能表現の係る語句との意味分類の異同を特徴とする重みを保持し、スコア算出部が、入力部で受け付けたテキスト中の注目単語の特徴をキーとして前記テーブルを探索し、該単語に付与する意味分類タグ候補とスコアを算出し、意味分類付与手段が、意味分類タグ候補の系列のうちスコア総和が最大となる系列を選択し、入力テキスト中の各単語に該意味分類タグを付与した意味分類付与結果を出力することが提案されている（特許文献２を参照）。
【０００４】
また、辞書に含まれるが曖昧な単語と辞書に含まれない単語に関する抽出精度を向上させることを目的として、教師データ作成装置に、人手によって作成された辞書データを記憶する記憶部と、タグが付されていない学習対象テキストを入力する入力装置と、辞書データに含まれる単語の意味分類を示す単語意味情報に基づいてタグが付されていない学習対象テキストからタグ付きテキストを作成する処理部とを備えることが提案されている（特許文献３を参照）。
【０００５】
更に、生物医学および臨床領域における名前付き実体認識タスクのための双方向ロング短期記憶ネットワークを用いた統一されたフレームワークが提案されている（非特許文献１を参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００８−０２１１３９号公報
【特許文献２】特開２０１１−１２９００６号公報
【特許文献３】国際公開２０１５／１７７８６１号
【非特許文献】
【０００７】
【非特許文献１】Ｓｕｎｉｌ  Ｋｕｍａｒ  Ｓａｈｕ，  Ａｓｈｉｓｈ  Ａｎａｎｄ、「Ｕｎｉｆｉｅｄ  Ｎｅｕｒａｌ  Ａｒｃｈｉｔｅｃｔｕｒｅ  ｆｏｒ  Ｄｒｕｇ，  Ｄｉｓｅａｓｅ  ａｎｄ  Ｃｌｉｎｉｃａｌ  Ｅｎｔｉｔｙ  Ｒｅｃｏｇｎｉｔｉｏｎ」、https://arxiv.org/pdf/1708.03447.pdf
【発明の概要】
【発明が解決しようとする課題】
【０００８】
従来、抽出用文章データから文字素性について所定の属性を有する表現を抽出する際には、系列（単語列）の各要素（各単語）に適切なラベルを付与する問題である系列ラベリング問題が解かれることが一般的である。そして、そのための抽出用のモデルは、学習用文章データを用いて作成される。
【０００９】
ここで、固有表現抽出を行う際の一般的な素性（特徴量）として、文字素性、文字種素性、品詞素性が用いられるが、学習用文章データ中に、抽出するカテゴリに属する頻出単語があった場合、文字素性の特徴が強く影響して当該頻出単語そのものを過学習してしまうことによって、学習用文章データに含まれない未知語の抽出漏れが起こりやすい抽出用モデルが作成されてしまう。
【００１０】
本開示は、上記した問題に鑑み、学習モデルの作成において、学習用文章データ中に頻出する表現の過学習を防止することを課題とする。
【課題を解決するための手段】
【００１１】
本開示の一例は、文章データから所定の表現を抽出するためのモデルを作成するための情報処理装置であって、学習用文章データを単語に分割し、単語毎に、文字素性を含む複数の素性についての特徴データを設定する特徴生成手段と、前記特徴データにおいて、単語毎にラベルを付すラベル付与手段と、前記学習用文章データ又は前記特徴データに含まれる、文字素性について所定の属性を有する１又は複数の表現を、表現毎に、ランダムに生成された文字列に置換することで、置換済データを生成する置換手段と、前記置換済みデータ及び前記ラベル付与済みの前記特徴データを学習データとして、新たに入力された抽出用文章データから文字素性について所定の属性を有する表現を抽出するためのモデルを作成する学習手段と、を備える情報処理装置である。
【００１２】
本開示は、情報処理装置、システム、コンピューターによって実行される方法またはコンピューターに実行させるプログラムとして把握することが可能である。また、本開示は、そのようなプログラムをコンピューターその他の装置、機械等が読み取り可能な記録媒体に記録したものとしても把握できる。ここで、コンピューター等が読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的または化学的作用によって蓄積し、コンピューター等から読み取ることができる記録媒体をいう。
【発明の効果】
【００１３】
本開示によれば、学習モデルの作成において、学習用文章データ中に頻出する表現の過学習を防止することが可能となる。
【図面の簡単な説明】
【００１４】
【図１】実施形態に係るシステムのハードウェア構成を示す概略図である。
【図２】実施形態に係る情報処理装置の機能構成の概略を示す図である。
【図３】実施形態に係る情報処理装置によって実行される処理の全体像を示す図である。
【図４】実施形態に係る学習データ作成処理の流れの概要を示すフローチャートである。
【図５】実施形態に係るデータ準備処理の流れの概要を示すフローチャートである。
【図６】実施形態に係る特徴生成処理の流れの概要を示すフローチャートである。
【図７】実施形態において用いられる特徴データの概要を示す図である。
【図８】実施形態において用いられる、置換後の特徴データの概要を示す図である。
【図９】実施形態に係る抽出処理の流れの概要を示すフローチャートである。
【図１０】バリエーションに係る情報処理装置の機能構成の概略を示す図である。
【発明を実施するための形態】
【００１５】
以下、本開示に係る情報処理装置、モデル作成方法及びプログラムの実施の形態を、図面に基づいて説明する。但し、以下に説明する実施の形態は、実施形態を例示するものであって、本開示に係る情報処理装置、モデル作成方法及びプログラムを以下に説明する具体的構成に限定するものではない。実施にあたっては、実施の態様に応じた具体的構成が適宜採用され、また、種々の改良や変形が行われてよい。
【００１６】
本実施形態では、本開示に係る情報処理装置、モデル作成方法及びプログラムを、情報処理セキュリティに関する情報を様々な情報源（自然言語）から収集し、収集された情報からマルウェア名称を抽出するためのシステムにおいて実施した場合の実施の形態について説明する。なお、本開示に係る情報処理装置、モデル作成方法及びプログラムは、文章データから所定の属性を有する表現を抽出するための技術について広く用いることが可能であり、本開示の適用対象は、実施形態において示した例に限定されない。例えば、本開示に係る技術は、文章中から、新語が発生し易いカテゴリの名詞を抽出するためのモデルの作成の際に有用である。
【００１７】
＜システムの構成＞
図１は、本実施形態に係るシステム１のハードウェア構成を示す概略図である。本実施形態に係るシステム１は、インターネット上のサーバー（図示は省略する）と通信可能に接続された情報処理装置５０を備える。
【００１８】
情報処理装置５０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１２、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１３、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  ａｎｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）やＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）等の記憶装置１４、ＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）１５等の通信ユニット、等を備えるコンピューターである。但し、情報処理装置５０の具体的なハードウェア構成に関しては、実施の態様に応じて適宜省略や置換、追加が可能である。また、情報処理装置５０は、単一の筐体からなる装置に限定されない。情報処理装置５０は、所謂クラウドや分散コンピューティングの技術等を用いた、複数の装置によって実現されてよい。
【００１９】
図２は、本実施形態に係る情報処理装置５０の機能構成の概略を示す図である。情報処理装置５０は、記憶装置１４に記録されているプログラムが、ＲＡＭ１３に読み出され、ＣＰＵ１１によって実行されて、情報処理装置５０に備えられた各ハードウェアが制御されることで、文章データ取得部２１、特徴生成部２２、ラベル付与部２３、置換部２４、学習部２５及び抽出部２６を備える情報処理装置として機能する。なお、本実施形態及び後述する他の実施形態では、情報処理装置５０の備える各機能は、汎用プロセッサであるＣＰＵ１１によって実行されるが、これらの機能の一部または全部は、１または複数の専用プロセッサによって実行されてもよい。
【００２０】
文章データ取得部２１は、インターネットからセキュリティ関連記事を含むページを収集し、当該ページからテキストを抽出して学習用文章データ又は抽出用文章データを取得する。
【００２１】
特徴生成部２２は、学習用文章データを単語に分割し、単語毎に、文字素性を含む複数の素性（本実施形態では、文字素性、文字種素性及び品詞素性）についての特徴データを設定する。
【００２２】
ラベル付与部２３は、特徴データにおいて、単語毎にラベル（本実施形態では、ＩＯＢ２（Ｉｎｓｉｄｅ，ｏｕｔｓｉｄｅ，ｂｅｇｉｎｎｉｎｇ  ２）方式のラベル）を付す。
【００２３】
置換部２４は、学習用文章データ又は特徴データに含まれる、文字素性について所定の属性を有する１又は複数の表現を、表現毎に、ランダムに生成された文字列に置換することで、置換済データを生成する。なお、置換部２４は、表現をランダムに生成された文字列に置換する際に、文字素性以外の素性（本実施形態では、品詞素性及び文字種素性）については当該表現と一致する文字列を生成し、置換する。
【００２４】
学習部２５は、置換済みデータ及びラベル付与済みの特徴データを学習データとして、抽出用文章データから文字素性について所定の属性を有する表現（マルウェア名称等の、新語が発生し易いカテゴリの名詞）を抽出するためのモデルを作成する。
【００２５】
抽出部２６は、学習部２５によって作成されたモデルを用いて、新たに入力された抽出用文章データから文字素性について所定の属性を有する表現を抽出する。
【００２６】
＜処理の流れ＞
次に、本実施形態に係る情報処理装置１によって実行される処理の流れを説明する。なお、以下に説明する処理の具体的な内容および処理順序は、本開示を実施するための一例である。具体的な処理内容および処理順序は、本開示の実施の形態に応じて適宜選択されてよい。
【００２７】
図３は、本実施形態に係る情報処理装置によって実行される処理の全体像を示す図である。情報処理装置５０は、学習用のセキュリティ関連記事を外部から取得して学習データを作成し、当該学習データを用いた学習によって抽出モデルを作成する。そして、情報処理装置５０は、作成された抽出モデルを用いて、外部から取得された抽出用のセキュリティ関連記事からマルウェア名称を抽出する。以下、フローチャートを用いて、各処理の詳細を説明する。
【００２８】
図４は、本実施形態に係る学習データ作成処理の流れの概要を示すフローチャートである。本フローチャートに示された処理は、マルウェア名称抽出用のモデルを作成するための学習データを作成したい任意のタイミングで実行される。
【００２９】
ステップＳ１０１では、データ準備処理が実行される。データ準備処理の詳細については、図５を参照して説明する。
【００３０】
図５は、本実施形態に係るデータ準備処理の流れの概要を示すフローチャートである。本フローチャートに示された処理は、学習データ作成処理のステップＳ１０１及び後述する抽出処理のステップＳ４０１に示されたデータ準備処理の詳細を示すものであり、学習データ作成処理のステップＳ１０１又は抽出処理のステップＳ４０１においてデータ準備処理が呼び出されたことを契機として実行される。
【００３１】
ステップＳ２０１及びステップＳ２０２では、セキュリティ関連記事が収集され、テキストが抽出される。文章データ取得部２１は、インターネットからセキュリティ関連記事を含むＨＴＭＬページを収集し（ステップＳ２０１）、当該ＨＴＭＬページからテキスト（ここでは、タグやスクリプト等を除いた、自然言語による文章部分のこと）を抽出する（ステップＳ２０２）。その後、処理はステップＳ２０３へ進む。
【００３２】
ステップＳ２０３では、データが文単位に分割される。文章データ取得部２１は、ステップＳ２０２で抽出されたテキストを、所定の文章分割ルールに従って文単位に分割することで、文章データ（学習用文章データ又は抽出用文章データ）を取得する。文章への分割ルールは、テキストの言語によって様々であるため、対象言語に応じて適切な分割ルールが採用されることが好ましい。例えば、当該言語において用いられる句点やピリオド、改行等を基準に分割する方法が採用可能であるが、ここで採用可能な分割ルールは限定されない。その後、本フローチャートに示された処理は終了する。
【００３３】
説明を図４の学習データ作成処理に戻す。ステップＳ１０１のデータ準備処理が完了すると、処理はステップＳ１０２へ進む。
【００３４】
ステップＳ１０２では、学習用文章データからマルウェア名称が抽出され、マルウェア名称辞書が作成される。ここで、学習用文章データからマルウェア名称を抽出する処理は、解析プログラムを用いた解析によって行われてもよいし、当該文章を読んだ人間によって行われてもよい。学習用文章データから抽出されたマルウェア名称は、マルウェア名称辞書に登録される。なお、マルウェア名称辞書には、このステップで作成されたものの他、既存の辞書データを用いることも可能である。既存の辞書データのみを用いる場合には、当該ステップは省略されてもよい。その後、処理はステップＳ１０３へ進む。
【００３５】
ステップＳ１０３では、特徴生成処理が実行される。特徴生成処理の詳細については、図６を参照して説明する。
【００３６】
図６は、本実施形態に係る特徴生成処理の流れの概要を示すフローチャートである。本フローチャートに示された処理は、学習データ作成処理のステップＳ１０３及び後述する抽出処理のステップＳ４０２に示された特徴生成処理の詳細を示すものであり、学習データ作成処理のステップＳ１０３又は抽出処理のステップＳ４０２において特徴生成処理が呼び出されたことを契機として実行される。
【００３７】
ステップＳ３０１では、文章データが単語毎に分割される。特徴生成部２２は、文章データ（学習用文章データ又は抽出用文章データ）を、所定の単語分割ルールに従って単語に分割する。単語への分割ルールは、文章の言語によって様々であるため、対象言語に応じて適切な分割ルールが採用されることが好ましい。例えば、スペース文字を基準に分割する方法や、文字種を基準に分割する方法、辞書に従って単語を特定し分割する方法、等が採用可能であるが、ここで採用可能な分割ルールは限定されない。その後、処理はステップＳ３０２へ進む。
【００３８】
ステップＳ３０２及びステップＳ３０３では、品詞タグ及び文字種タグが付与される。特徴生成部２２は、ステップＳ３０１で得られた単語毎に、文字素性を含む複数の素性（本実施形態では、文字素性、文字種素性及び品詞素性）についての特徴データを設定する。
【００３９】
図７は、本実施形態において用いられる特徴データの概要を示す図である。特徴データは、文章中の対象単語毎に作成される。図７に示された特徴データは、対象単語の４つ前から４つ後までの９単語の文字（ｗｏｒｄ）素性、品詞（ｐｏｓ）素性、及び文字種（ｓｈａｐｅ）素性を素性として用いる学習データを表している。
【００４０】
特徴データ中の文字素性の列には、文章中の単語がそのまま示されている。ここに示された例では、文章データのうち、対象単語「WannaCry」を中心とした９単語「the global spread of WannaCry confirmed on or after」が抜き出され、単語毎に学習データに格納されている。そして、各単語には、−４から＋４までの、対象単語からの相対位置（距離）を示す符号が付されている（図中の最左列を参照）。より具体的には、対象単語は「０」によって示され、対象単語よりも後にある単語は、対象単語からの距離（単語数）によって示され、対象単語よりも前にある単語は、マイナス符号を付けて対象単語からの距離（単語数）によって示される。
【００４１】
品詞素性は、単語の品詞を示す素性である。特徴生成部２２は、単語と当該単語の品詞の組み合わせとが蓄積された辞書の検索や、文法解析プログラムを用いた解析等によって、各単語の品詞を推定し、各単語に品詞を示す情報を付している。図７に示された例では、ＤＴが限定詞を、ＪＪが形容詞を、ＮＮが単数形名詞を、ＩＮが前置詞又は従属接続詞を、ＮＮＰが単数形固有名詞を、ＶＢＤが過去形動詞を、ＣＣが等位接続詞を示している。本実施形態では、Ｓｔａｎｆｏｒｄ  ＣｏｒｅＮＬＰの英語用品詞タグ付けモデルを用いてタグ付けをしているが、タグ付けに使用される規格は、本開示における例示に限定されない。
【００４２】
文字種素性は、単語の形状についての素性であり、大文字Ｘ及び小文字ｘを用いて単語の形状を表している。なお、本実施形態では、対象の単語が５文字以上である場合、最初と最後の２文字についての形状を保持し、それらの間にある文字の形状は１つにまとめて形状を表すこととしている。特徴生成部２２は、単語と当該単語の文字種素性の組み合わせとが蓄積された辞書の検索等によって、各単語の文字種素性を特定し、各単語に文字種を示す情報を付している。本実施形態では、文字種情報をＳｔａｎｆｏｒｄ  ＣｏｒｅＮＬＰのライブラリを用いてタグ付けしているが、タグ付けに使用されるアルゴリズムは、本開示における例示に限定されない。
【００４３】
特徴データは、文章データ中の各単語について生成される。ステップＳ３０２及びステップＳ３０３における特徴データの生成が完了すると、本フローチャートに示された処理は終了する。
【００４４】
説明を図４の学習データ作成処理に戻す。ステップＳ１０３の特徴生成処理が完了すると、処理はステップＳ１０４へ進む。
【００４５】
ステップＳ１０４では、辞書に基づく文字列マッチングにより、正解ラベルが付与される。ラベル付与部２３は、特徴データにおいて、単語毎にラベル（タグ）を付す。より具体的には、ラベル付与部２３は、ステップＳ３０１で学習用文章データから抽出された各単語と、ステップＳ１０２で作成されたマルウェア名称辞書に登録されているマルウェア名称とを文字列マッチングすることによって、学習用文章データに含まれるマルウェア名称の単語を特定し、特徴データにおいて、マルウェア名称であると特定された単語に、正解ラベルを付す。本実施形態では、ＩＯＢ２方式に従ってラベルを付し、正解ラベルとして「Ｂ−ＮＡＭＥ」を用いる例を示しているが（図７を参照）、ラベルにはその他の方式が採用されてもよい。また、本実施形態では、学習用文章データからマルウェア名称の単語を特定するための辞書として、ステップＳ１０２において準備されたマルウェア名称辞書が用いられているが、既存の辞書データがマルウェア名称辞書として用いられてもよい。その後、処理はステップＳ１０５へ進む。
【００４６】
ステップＳ１０５では、マルウェア名称がランダムな文字列に置換される。置換部２４は、学習用文章データ及び特徴データに含まれる、ステップＳ１０４で正解ラベルが付与された表現（本実施形態では、単語）を、表現毎に、ランダムに生成された文字列に置換することで、置換済データを生成する。即ち、置換の対象となる学習用文章データ又は特徴データに同じマルウェア名称が複数回登場している場合、置換部２４は、複数回登場したマルウェア名称の夫々を、互いに異なるランダムな文字列に置換する。具体的には、複数回「WannaCry」が登場した場合、置換部２４は、１つ目の「WannaCry」は「GpostVrt」に、２つ目の「WannaCry」は「VrettWpo」に、という具合に、夫々異なる文字列に置換する。このため、例えば、「The WannaCry ransomware attack was a May 2017 worldwide cyberattack by the WannaCry ransomware cryptoworm,…」という学習用文章データがあった場合、この文章は、置換によって「The GpostVrt ransomware attack was a May 2017 worldwide cyberattack by the VrettWpo ransomware cryptoworm,…」という文章となる。
【００４７】
また、置換部２４は、文字素性以外の素性（本実施形態では、品詞素性及び文字種素性）については当該表現と一致する文字列を生成し、置換する。具体的には、本実施形態では、対象の表現がマルウェア名称（固有名詞）であるため、置換部２４は、ランダムな文字列を生成する際に、固有名詞としての文字列を生成する。ここでは、生成されるランダムな文字列が、他の品詞に係る単語や、他の普通名詞等と重複しないように確認されてもよい。また、文字種素性についても、置換部２４は、置換対象の文字列の文字種素性と、置換後の文字列の文字種素性とが異ならないような文字列をランダムに生成し、置換する。具体的には、対象表現が「WannaCry」である場合、文字種素性は「XxXxxx」であるため、同じ文字種素性となるように、置換部２４は、「GpostVrt」や「VrettWpo」のような文字列を生成する。
【００４８】
図８は、本実施形態において用いられる、置換後の特徴データの概要を示す図である。図８に示された置換後の特徴データを参照すると、図７に示された置換前の特徴データと比較して、正解ラベルが付された単語である「WannaCry」が、ランダムな文字列「NvxobOgr」に置換されていることが分かる。また、当該単語が、文字素性について置換されているが、品詞素性（単数形固有名詞）、及び文字種素性（「XxXxxx」）については置換前と同一であることが分かる。
【００４９】
全てのマルウェア名称について置換が完了すると、本フローチャートに示された処理は終了する。
【００５０】
上記説明した処理によって学習用文章データが作成されると、学習部２５は、置換済み且つラベル付与済みの特徴データ（図８を参照）を学習データとして、文章データからマルウェア名称を抽出するためのモデルを作成する。具体的なモデルの作成方法については、系列ラベリングにおいて用いられるＣＲＦ（Ｃｏｎｄｉｔｉｏｎａｌ  Ｒａｎｄｏｍ  Ｆｉｅｌｄｓ）等のためのモデルの作成手法を用いてよいため、詳細な説明については省略する。
【００５１】
ＣＲＦを用いた学習モデルの作成では、素性ベクトルの各要素に対する重みλを最適化することで抽出精度を向上させていく。このため、従来の学習方法では、同じマルウェア名称が頻出すると、当該マルウェア名称の文字素性を過学習（既知のマルウェア名称の文字素性の重みλが過大となる）してしまい、従来の学習方法で作成されたモデルでは、新たなマルウェア名称について抽出漏れが起こるおそれがあった。これに対して、本実施形態において作成されるモデルは、マルウェア名称がランダムな文字列に置換された学習データを用いて作成されたモデルであるため、既知のマルウェア名称の文字素性を過学習する（既知のマルウェア名称の文字素性の重みλが過大となる）ことなく、既知のマルウェア名称の他、辞書にない新たなマルウェア名称についても、抽出漏れを防ぐことが可能なモデルとなる。
【００５２】
図９は、本実施形態に係る抽出処理の流れの概要を示すフローチャートである。本フローチャートに示された処理は、インターネットからマルウェア名称を取得したい任意のタイミングで実行される。
【００５３】
ステップＳ４０１及びステップＳ４０２では、データ準備処理及び特徴生成処理が実行される。データ準備処理の詳細については、図５を参照して説明した通りであり、特徴生成処理の詳細については、図６を参照して説明した通りであるため、説明を省略する。その後、処理はステップＳ４０３へ進む。
【００５４】
ステップＳ４０３では、マルウェア名称が抽出される。抽出部２６は、学習部２５によって作成されたモデルを用いて、ステップＳ４０１で新たに得られた抽出用文章データから、既知のマルウェア名称の他、辞書にない新たなマルウェア名称を抽出する。モデルを用いた表現抽出の具体的な方法については、系列ラベリングにおいて用いられるＣＲＦ等のためのモデルを用いた抽出手法を用いてよいため、説明を省略する。その後、本フローチャートに示された処理は終了する。
【００５５】
＜第一のバリエーション＞
本開示に係る技術によれば、学習に用いられる学習用文章データ及び特徴データの数を増やし、学習効果を更に向上させることができる。即ち、本実施形態では、学習に用いられるデータは、正解ラベルが付された単語がランダムな文字列に置換されたデータであるため、同じ置換前データについて、異なる文字列へ置換した複数の置換後データを用意することができる。具体的には、ステップＳ１０５において、置換部２４は、ある学習用文章データ及び特徴データについて、文字列の置換の際に、異なるランダム文字列への置換を行なった複数のデータを作成する。
【００５６】
このため、当該バリエーションでは、置換部２４は、１の学習用文章データ又は特徴データについて、ランダムに生成された第一の文字列で表現を置換した第一の置換済データと、ランダムに生成された第二の文字列で表現を置換した第二の置換済データと、を生成する。そして、学習部２５は、第一の置換済みデータ及び第二の置換済データを用いて、抽出用のモデルを作成する。
【００５７】
例えば、上述の「the global spread of WannaCry confirmed on or after」を含む学習用文章データ及び特徴データを置換する際に、「WannaCry」を「NvxobOgr」に置換することで「the global spread of NvxobOgr confirmed on or after」とした第一の置換後データと、「WannaCry」を「TrssePnh」に置換することで「the global spread of TrssePnh confirmed on or after」とした第二の置換後データと、という風に、１つの学習用文章データ及び特徴データに基づいて複数の異なる学習用文章データ及び特徴データを用意し、学習に用いさせることが出来る。
【００５８】
＜第二のバリエーション＞
なお、本開示に係る情報処理装置によれば、上述の通り、新たなマルウェア名称について抽出漏れを防ぐ効果が得られるが、一方で、マルウェア名称ではない単語が誤抽出される可能性は残る。このため、本実施形態のバリエーションとして、マルウェア名称ではない単語を辞書登録し、フィルタリングすることが追加で実行されてもよい。
【００５９】
図１０は、本バリエーションに係る情報処理装置５０ｂの機能構成の概略を示す図である。当該バリエーションにおいて、情報処理装置５０ｂは、所定の属性を有さない表現（本実施形態では、マルウェア名称ではない単語）を記録する記録部２７と、抽出部２６によって抽出された表現から、記録部２７によって記録されている、所定の属性を有さない表現（本実施形態では、マルウェア名称ではない単語）を除外するフィルタリング部２８と、を更に備える。
【００６０】
＜効果＞
本実施形態に開示されたシステムを用いることによって、ユーザーは、インターネットに存在する大量のセキュリティ関連記事から所定のマルウェアに関する記事を特定する際に、新たなマルウェアに関する記事の抽出漏れを低減させることができる。これは、本開示に係る技術によって、学習モデルの作成において、学習用文章データ中に頻出する表現の過学習を防止することが可能となるためである。本開示の技術は、上記に説明した実施形態に限定されず、文章中から、新語が発生し易いカテゴリの名詞を抽出するためのモデルを作成する際に用いることが出来る。
【符号の説明】
【００６１】
１  システム
５０  情報処理装置
【図１】
2020106880.tif 000003
【図２】
2020106880.tif 000004
【図３】
2020106880.tif 000005
【図４】
2020106880.tif 000006
【図５】
2020106880.tif 000007
【図６】
2020106880.tif 000008
【図７】
2020106880.tif 000009
【図８】
2020106880.tif 000010
【図９】
2020106880.tif 000011
【図１０】
2020106880.tif 000012