IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ エスツーダブリュー インコーポレイテッドの特許一覧

特許7372707暗号通貨取引を分析するためのデータ取得方法及び装置
<>
  • 特許-暗号通貨取引を分析するためのデータ取得方法及び装置 図1
  • 特許-暗号通貨取引を分析するためのデータ取得方法及び装置 図2
  • 特許-暗号通貨取引を分析するためのデータ取得方法及び装置 図3
  • 特許-暗号通貨取引を分析するためのデータ取得方法及び装置 図4
  • 特許-暗号通貨取引を分析するためのデータ取得方法及び装置 図5
  • 特許-暗号通貨取引を分析するためのデータ取得方法及び装置 図6
  • 特許-暗号通貨取引を分析するためのデータ取得方法及び装置 図7
  • 特許-暗号通貨取引を分析するためのデータ取得方法及び装置 図8
  • 特許-暗号通貨取引を分析するためのデータ取得方法及び装置 図9
  • 特許-暗号通貨取引を分析するためのデータ取得方法及び装置 図10
  • 特許-暗号通貨取引を分析するためのデータ取得方法及び装置 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-10-24
(45)【発行日】2023-11-01
(54)【発明の名称】暗号通貨取引を分析するためのデータ取得方法及び装置
(51)【国際特許分類】
   G06F 21/44 20130101AFI20231025BHJP
   G06F 40/279 20200101ALI20231025BHJP
   G06Q 20/38 20120101ALI20231025BHJP
【FI】
G06F21/44
G06F40/279
G06Q20/38 310
【請求項の数】 10
(21)【出願番号】P 2022512809
(86)(22)【出願日】2020-01-30
(65)【公表番号】
(43)【公表日】2022-11-21
(86)【国際出願番号】 KR2020001400
(87)【国際公開番号】W WO2021045332
(87)【国際公開日】2021-03-11
【審査請求日】2022-04-21
(31)【優先権主張番号】10-2019-0110111
(32)【優先日】2019-09-05
(33)【優先権主張国・地域又は機関】KR
(73)【特許権者】
【識別番号】521458188
【氏名又は名称】エスツーダブリュー インコーポレイテッド
(74)【代理人】
【識別番号】100149870
【弁理士】
【氏名又は名称】芦北 智晴
(74)【代理人】
【識別番号】100207022
【弁理士】
【氏名又は名称】小島 弘之
(72)【発明者】
【氏名】ソ サンドク
(72)【発明者】
【氏名】ユン チャンフン
(72)【発明者】
【氏名】リ スンヒョン
【審査官】小林 秀和
(56)【参考文献】
【文献】米国特許第09515984(US,B1)
【文献】特開2007-219880(JP,A)
【文献】米国特許出願公開第2018/0124110(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/44
G06F 40/279
G06Q 20/38
(57)【特許請求の範囲】
【請求項1】
プロセッサ及びメモリを含む学習データ取得装置、不正な暗号通貨口座を検出するための機械学習モデルを生成するために、学習データを取得する方法において、
前記プロセッサが、前記メモリに記憶された命令語に従って、
報告された不正なアドレスに関する情報が格納されている第1のデータベースから不正なアドレスに関連するレポートを受信するステップと、
前記レポートから、第1の不正なアドレス及び前記第1の不正なアドレスに関連する第1のディスクリプション(description)を取得するステップと、
自然言語処理(Natural Language Processing)を用いて、前記第1のディスクリプションから第1の不正なアドレスに関連する複数の第1のキーワードを抽出するステップと、
前記第1の不正なアドレスを第2のデータベースに格納するステップと、
公開的にアクセス可能なウェブサイトからテキスト情報を受信するステップと、
前記テキスト情報から暗号通貨アドレスが含まれたメインテキスト情報を抽出するステップと、
自然言語処理を用いて、前記メインテキスト情報から複数の第2のキーワードを抽出するステップと、
不正情報検出モデルを取得するステップと、
前記複数の第2のキーワードを前記不正情報検出モデルに適用し、前記メインテキスト情報に含まれている暗号通貨アドレスが不正なアドレスであるか否かを判定するステップと、
前記暗号通貨アドレスが不正なアドレスである場合、前記暗号通貨アドレスを第2の不正なアドレスとして取得するステップと、
前記第2の不正なアドレスを前記第2のデータベースに格納するステップとを行うことを特徴とする、学習データ取得方法。
【請求項2】
前記不正情報検出モデルを取得するステップが、
前記プロセッサが、前記メモリに記憶された命令語に従って、
良好な暗号通貨アドレスが含まれていると判定されたウェブサイトから取得した良好な暗号通貨アドレスに関連する単語を取得するステップと、
前記良好な暗号通貨アドレスに関連するそれぞれの単語がウェブサイトに出現する第1の頻度数を取得するステップと、
前記第1のキーワードのそれぞれが前記第1のディスクリプションに出現する第2の頻度数を取得するステップと、
良好であるとラベル付けされた前記良好な暗号通貨アドレスに関連する単語、第1の頻度数、第2の頻度数、及び不正であるとラベル付けされた前記複数の第1のキーワードを機械学習して、前記不正情報検出モデルを取得するステップとを行うことを特徴とする、請求項1に記載の学習データ取得方法。
【請求項3】
前記プロセッサが、前記メモリに記憶された命令語に従って、
暗号通貨アドレスに対応するタグ(tag)を提供するサービスから第2のディスクリプションを取得するステップと、
前記複数の第1のキーワードに基づいて不正なキーワードセットを取得するステップと、
前記不正なキーワードセットに含まれた単語が前記第2のディスクリプションに出現する場合、前記第2のディスクリプションに対応する暗号通貨アドレスを第3の不正なアドレスとして判定するステップと、
前記第3の不正なアドレスを前記第2のデータベースに格納するステップとを行うことを特徴とする、請求項1に記載の学習データ取得方法。
【請求項4】
前記不正なキーワードセットを取得するステップが、
前記プロセッサが、前記メモリに記憶された命令語に従って、
前記複数の第1のキーワードのそれぞれに対して前記第1のディスクリプションに出現する頻度数を取得するステップと、
前記複数の第1のキーワードのうち、頻度数の高い所定数の単語を前記不正なキーワードセットとして判定するステップとを行うことを特徴とする、請求項3に記載の学習データ取得方法。
【請求項5】
前記プロセッサが、前記メモリに記憶された命令語に従って、
前記暗号通貨アドレスに対応するタグ(tag)を提供するサービスからアドレスの信頼度を示すスコア情報を取得するステップと、
前記スコア情報が良好(benign)を示しており、前記第2のディスクリプションに前記不正なキーワードセットに含まれた単語が出現しない場合、前記暗号通貨アドレスを良好なアドレスとして判定するステップと、
前記スコア情報が不正(scam)を示しており、前記第2のディスクリプションに前記不正なキーワードセットに含まれた単語が出現する場合、前記暗号通貨アドレスを前記第3の不正なアドレスとして判定するステップと、
前記良好なアドレス及び前記第3の不正なアドレスを前記第2のデータベースに格納するステップとをさらに行うことを特徴とする、請求項3に記載の学習データ取得方法。
【請求項6】
不正な暗号通貨口座を検出するための機械学習モデルを生成するために、学習データを取得する装置が、
プロセッサ及びメモリを含み、
前記プロセッサが、前記メモリに記憶された命令語に従って、
報告された不正なアドレスに関する情報が格納されている第1のデータベースから不正なアドレスに関連するレポートを受信するステップと、
前記レポートから、第1の不正なアドレス及び前記第1の不正なアドレスに関連する第1のディスクリプション(description)を取得するステップと、
自然言語処理(Natural Language Processing)を用いて、前記第1のディスクリプションから第1の不正なアドレスに関連する複数の第1のキーワードを抽出するステップと、
前記第1の不正なアドレスを第2のデータベースに格納するステップと、
公開的にアクセス可能なウェブサイトからテキスト情報を受信するステップと、
前記テキスト情報から暗号通貨アドレスが含まれたメインテキスト情報を抽出するステップと、
自然言語処理を用いて、前記メインテキスト情報から複数の第2のキーワードを抽出するステップと、
不正情報検出モデルを取得するステップと、
前記複数の第2のキーワードを前記不正情報検出モデルに適用し、前記メインテキスト情報に含まれている暗号通貨アドレスが不正なアドレスであるか否かを判定するステップと、
前記暗号通貨アドレスが不正なアドレスである場合、前記暗号通貨アドレスを第2の不正なアドレスとして取得するステップと、
前記第2の不正なアドレスを前記第2のデータベースに格納するステップとを行うことを特徴とする、学習データ取得装置。
【請求項7】
前記プロセッサが、前記メモリに記憶された命令語に従って、
良好な暗号通貨アドレスが含まれていると判定されたウェブサイトから取得した良好な暗号通貨アドレスに関連する単語を取得するステップと、
前記良好な暗号通貨アドレスに関連するそれぞれの単語がウェブサイトに出現する第1の頻度数を取得するステップと、
前記第1のキーワードのそれぞれが第1のディスクリプションに出現する第2の頻度数を取得するステップと、
良好であるとラベル付けされた前記良好な暗号通貨アドレスに関連する単語、第1の頻度数、第2の頻度数、及び不正であるとラベル付けされた前記複数の第1のキーワードを機械学習して、前記不正情報検出モデルを取得するステップとを行うことを特徴とする、請求項6に記載の学習データ取得装置。
【請求項8】
前記プロセッサが、前記メモリに記憶された命令語に従って、
暗号通貨アドレスに対応するタグ(tag)を提供するサービスから第2のディスクリプションを取得するステップと、
前記複数の第1のキーワードに基づいて不正なキーワードセットを取得するステップと、
前記不正なキーワードセットに含まれた単語が前記第2のディスクリプションに出現する場合、前記第2のディスクリプションに対応する暗号通貨アドレスを第3の不正なアドレスとして判定するステップと、
前記第3の不正なアドレスを前記第2のデータベースに格納するステップとを行うことを特徴とする、請求項6に記載の学習データ取得装置。
【請求項9】
前記プロセッサが、前記メモリに記憶された命令語に従って、
前記複数の第1のキーワードのそれぞれに対して前記第1のディスクリプションに出現する頻度数を取得するステップと、
前記複数の第1のキーワードのうち、頻度数の高い所定数の単語を前記不正なキーワードセットとして判定するステップとを行うことを特徴とする、請求項8に記載の学習データ取得装置。
【請求項10】
前記プロセッサが、前記メモリに記憶された命令語に従って、
前記暗号通貨アドレスに対応するタグ(tag)を提供するサービスからアドレスの信頼度を示すスコア情報を取得するステップと、
前記スコア情報が良好(benign)を示しており、前記第2のディスクリプションに前記不正なキーワードセットに含まれた単語が出現しない場合、前記暗号通貨アドレスを良好なアドレスとして判定するステップと、
前記スコア情報が不正(scam)を示しており、前記第2のディスクリプションに前記不正なキーワードセットに含まれた単語が出現する場合、前記暗号通貨アドレスを前記第3の不正なアドレスとして判定するステップと、
前記良好なアドレス及び前記第3の不正なアドレスを前記第2のデータベースに格納するステップとをさらに行うことを特徴とする、請求項8に記載の学習データ取得装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、不正な暗号通貨口座を検出するための機械学習モデルを生成するために、学習データを取得する方法及び装置に関する。
【背景技術】
【0002】
暗号通貨(cryptocurrency)は、交換手段として機能するように設計されたデジタル資産であり、ブロックチェーン(blockchain)技術で暗号化され、分散発行され、一定のネットワーク上で通貨として使用できる電子情報である。暗号通貨は、中央銀行が発行するものではなく、ブロックチェーン技術に基づいて、金銭的価値がデジタル方式で表示された電子情報であって、インターネット上のP2P方式で分散保存されて運用・管理される。暗号通貨を発行して管理する重要な手法は、ブロックチェーン(blockchain)技術である。ブロックチェーンは、継続して増え続ける記録(ブロック)の一覧表であり、ブロックは、暗号化方法を用いて連結されるので、セキュリティが確保される。各ブロックは、典型的には、前のブロックの暗号ハッシュ、タイムスタンプと取引データを含んでいる。ブロックチェーンは、最初からデータの修正に対する抵抗力を有しており、両当事者間の取引を有効且つ永久的に証明できる公開された分散帳簿である。従って、暗号通貨は、不正操作防止を基に透明な運用が可能である。
【0003】
そのほか、暗号通貨は、従来の通貨とは異なり、匿名性を有しているので、送金した人と送金された人以外の第三者は、取引履歴を一切知ることができないという特徴がある。口座の匿名性のために取引の流れを追跡することが困難であり(Non-trackable)、送金記録、集金記録などの一切の記録はすべて公開されているものの、取引主体を知ることはできない。
【0004】
暗号通貨は、前述したような自由性及び透明性のために、従来の基軸通貨を代替することのできる代案であると言われており、従来の通貨に比較して安価な手数料と簡単な送金手続きのために国際間取引などに効果的に用いられることができると考えられる。但し、その匿名性のために、暗号通貨は、不正な取引に用いられるなど、犯罪の手段として悪用されることもある。
【0005】
また、暗号通貨取引のデータは膨大であるので、不正な取引の特徴を手動で判別し、詐欺主体を特定することが困難であるといった課題があった。これに関して、機械学習を用いると、膨大なデータの関係を自動的に学習することができる。
【0006】
よって、機械学習を用いて暗号通貨を犯罪手段として用いる取引主体を特定する方法が求められている。
【発明の概要】
【課題を解決するための手段】
【0007】
本開示に係る不正な暗号通貨口座を検出するための機械学習モデルを生成するために、学習データを取得する方法は、報告された不正なアドレスに関する情報が格納されている第1のデータベースから不正なアドレスに関連するレポートを受信するステップと、レポートから、第1の不正なアドレス及び第1の不正なアドレスに関連する第1のディスクリプション(description)を取得するステップと、自然言語処理(Natural Language Processing)を用いて、第1のディスクリプションから第1の不正なアドレスに関連する複数の第1のキーワードを抽出するステップと、第1の不正なアドレスを第2のデータベースに格納するステップとを含むことを特徴とする。
【0008】
本開示に係る学習データを取得する方法は、公開的にアクセス可能なウェブサイトからテキスト情報を受信するステップと、テキスト情報から暗号通貨アドレスが含まれたメインテキスト情報を抽出するステップと、自然言語処理を用いて、メインテキスト情報から複数の第2のキーワードを抽出するステップと、不正情報検出モデルを取得するステップと、複数の第2のキーワードを不正情報検出モデルに適用し、メインテキストに含まれている暗号通貨アドレスが不正なアドレスであるか否かを判定するステップと、暗号通貨アドレスが不正なアドレスである場合、暗号通貨アドレスを第2の不正なアドレスとして取得するステップと、第2の不正なアドレスを第2のデータベースに格納するステップとを含むことを特徴とする。
【0009】
本開示に係る学習データを取得する方法において、不正情報検出モデルを取得するステップは、良好な暗号通貨アドレスが含まれていると判定されたウェブサイトから取得した良好な暗号通貨アドレスに関連する単語を取得するステップと、良好な暗号通貨アドレスに関連するそれぞれの単語がウェブサイトに出現する第1の頻度数を取得するステップと、第1のキーワードのそれぞれが第1のディスクリプションに出現する第2の頻度数を取得するステップと、良好であるとラベル付けされた良好な暗号通貨アドレスに関連する単語、第1の頻度数、第2の頻度数、及び不正であるとラベル付けされた複数の第1のキーワードを機械学習して、不正情報検出モデルを取得するステップとを含むことを特徴とする。
【0010】
本開示に係る学習データを取得する方法は、暗号通貨アドレスに対応するタグ(tag)を提供するサービスから第2のディスクリプションを取得するステップと、複数の第1のキーワードに基づいて不正なキーワードセットを取得するステップと、不正なキーワードセットに含まれた単語が第2のディスクリプションに出現する場合、第2のディスクリプションに対応する暗号通貨アドレスを第3の不正なアドレスとして判定するステップと、第3の不正なアドレスを第2のデータベースに格納するステップとを含むことを特徴とする。
【0011】
本開示に係る学習データを取得する方法において、不正なキーワードセットを取得するステップは、複数の第1のキーワードのそれぞれに対して第1のディスクリプションに出現する頻度数を取得するステップと、複数の第1のキーワードのうち、頻度数の高い所定数の単語を不正なキーワードセットとして判定するステップとを含むことを特徴とする。
【0012】
本開示に係る学習データを取得する方法は、暗号通貨アドレスに対応するタグ(tag)を提供するサービスからアドレスの信頼度を示すスコア情報を取得するステップと、スコア情報が良好(benign)を示しており、第2のディスクリプションに不正なキーワードセットに含まれた単語が出現しない場合、暗号通貨アドレスを良好なアドレスとして判定するステップと、スコア情報が不正(scam)を示しており、第2のディスクリプションに不正なキーワードセットに含まれた単語が出現する場合、暗号通貨アドレスを第3の不正なアドレスとして判定するステップと、良好なアドレス及び第3の不正なアドレスを第2のデータベースに格納するステップとをさらに含むことを特徴とする。
【0013】
本開示に係る不正な暗号通貨口座を検出するための機械学習モデルを生成するために、学習データを取得する装置は、プロセッサ及びメモリを含み、プロセッサは、メモリに記憶された命令語に従って、報告された不正なアドレスに関する情報が格納されている第1のデータベースから不正なアドレスに関連するレポートを受信するステップと、レポートから、第1の不正なアドレス及び第1の不正なアドレスに関連する第1のディスクリプション(description)を取得するステップと、自然言語処理(Natural Language Processing)を用いて、第1のディスクリプションから第1の不正なアドレスに関連する複数の第1のキーワードを抽出するステップと、第1の不正なアドレスを第2のデータベースに格納するステップとを行うことを特徴とする。
【0014】
本開示に係る学習データを取得する装置のプロセッサは、メモリに記憶された命令語に従って、公開的にアクセス可能なウェブサイトからテキスト情報を受信するステップと、テキスト情報から暗号通貨アドレスが含まれたメインテキスト情報を抽出するステップと、自然言語処理を用いて、メインテキスト情報から複数の第2のキーワードを抽出するステップと、不正情報検出モデルを取得するステップと、複数の第2のキーワードを不正情報検出モデルに適用し、メインテキストに含まれている暗号通貨アドレスが不正なアドレスであるか否かを判定するステップと、暗号通貨アドレスが不正なアドレスである場合、暗号通貨アドレスを第2の不正なアドレスとして取得するステップと、第2の不正なアドレスを第2のデータベースに格納するステップとを行うことを特徴とする。
【0015】
本開示に係る学習データを取得する装置のプロセッサは、メモリに記憶された命令語に従って、良好な暗号通貨アドレスが含まれていると判定されたウェブサイトから取得した良好な暗号通貨アドレスに関連する単語を取得するステップと、良好な暗号通貨アドレスに関連するそれぞれの単語がウェブサイトに出現する第1の頻度数を取得するステップと、第1のキーワードのそれぞれが第1のディスクリプションに出現する第2の頻度数を取得するステップと、良好であるとラベル付けされた良好な暗号通貨アドレスに関連する単語、第1の頻度数、第2の頻度数、及び不正であるとラベル付けされた複数の第1のキーワードを機械学習して、不正情報検出モデルを取得するステップとを行うことを特徴とする。
【0016】
本開示に係る学習データを取得する装置のプロセッサは、メモリに記憶された命令語に従って、暗号通貨アドレスに対応するタグ(tag)を提供するサービスから第2のディスクリプションを取得するステップと、複数の第1のキーワードに基づいて不正なキーワードセットを取得するステップと、不正なキーワードセットに含まれた単語が第2のディスクリプションに出現する場合、第2のディスクリプションに対応する暗号通貨アドレスを第3の不正なアドレスとして判定するステップと、第3の不正なアドレスを第2のデータベースに格納するステップとを行うことを特徴とする。
【0017】
本開示に係る学習データを取得する装置のプロセッサは、メモリに記憶された命令語に従って、複数の第1のキーワードのそれぞれに対して第1のディスクリプションに出現する頻度数を取得するステップと、複数の第1のキーワードのうち、頻度数の高い所定数の単語を不正なキーワードセットとして判定するステップとを行うことを特徴とする。
【0018】
本開示に係る学習データを取得する装置のプロセッサは、メモリに記憶された命令語に従って、暗号通貨アドレスに対応するタグ(tag)を提供するサービスからアドレスの信頼度を示すスコア情報を取得するステップと、スコア情報が良好(benign)を示しており、第2のディスクリプションに不正なキーワードセットに含まれた単語が出現しない場合、暗号通貨アドレスを良好なアドレスとして判定するステップと、スコア情報が不正(scam)を示しており、第2のディスクリプションに不正なキーワードセットに含まれた単語が出現する場合、暗号通貨アドレスを第3の不正なアドレスとして判定するステップと、良好なアドレス及び第3の不正なアドレスを第2のデータベースに格納するステップとをさらに行うことを特徴とする。
【0019】
さらに、前述のような学習データを取得する方法を実現するためのプログラムは、コンピュータ可読記録媒体に記録されてもよい。
【図面の簡単な説明】
【0020】
図1】本開示の一実施形態に係る学習データ取得装置のブロック図である。
図2】本開示の一実施形態に係る学習データ取得装置を示す図である。
図3】本開示の一実施形態に係る学習データ取得装置の動作を説明するためのフローチャートである。
図4】本開示の一実施形態に係る学習データ取得装置の動作を示す説明図である。
図5】本開示の一実施形態に係る学習データ取得装置の動作を説明するためのフローチャートである。
図6】本開示の一実施形態に係る学習データ取得装置の動作を示す説明図である。
図7】本開示の一実施形態に従って不正情報検出モデルを取得する方法を示すフローチャートである。
図8】本開示の一実施形態に係る学習データ取得装置の動作を説明するためのフローチャートである。
図9】本開示の一実施形態に係る学習データ取得装置の動作を説明するためのフローチャートである。
図10】本開示の一実施形態に係る学習データ取得装置の動作を示す説明図である。
図11】本開示の一実施形態に従って機械学習モデルを導出する構成を示す図である。
【発明を実施するための形態】
【0021】
開示された実施形態の利点、特徴及びそれらを達成する方法は、添付図面と共に後述する実施形態を参照することにより明確になるであろう。しかしながら、本開示は、以下に開示する実施形態に限定されるものではなく、様々な形態で実現することができ、これらの実施形態は、単に本開示が完全なものとなるように、本開示の属する技術分野における通常の知識を有する者に発明の範囲を完全に理解させるために提供するものに過ぎない。
【0022】
本明細書で用いられる用語について簡単に説明し、開示された実施形態について詳しく説明する。
【0023】
本明細書で用いられる用語は、本開示における機能を考慮しつつ、可能な限り現在広く用いられている一般的な用語を選択しているが、これは関連分野に属する技術者の意図または判例、新しい技術の出現などによって変わり得る。また、特定の場合は、出願人が任意に選定した用語もあり、その場合、該当する発明の詳細な説明部分においてその意味を詳しく記載する。よって、本開示で用いられる用語は、単なる用語の名称ではなく、その用語が有する意味と本開示の全体に亘った内容に基づいて定義されるべきである。
【0024】
本明細書における単数の表現は、文脈からみて明らかに単数であると特定しない限り、複数の表現を含む。また、複数の表現は、文脈からみて明らかに複数であると特定しない限り、単数の表現を含む。
【0025】
明細書全体において、ある部分がある構成要素を「含む」という場合、これは特に断らない限り、他の構成要素を除外するのではなく、他の構成要素をさらに含んでもよいことを意味する。
【0026】
さらに、本明細書で用いられる「部」なる用語は、ソフトウェアまたはハードウェアコンポーネントを意味し、「部」は、所定の役割を果たす。但し、「部」は、ソフトウェアまたはハードウェアに限定される意味ではない。「部」は、アドレス指定可能な記憶媒体に含まれるように構成されてもよく、1つまたはそれ以上のプロセッサを再生するように構成されてもよい。よって、一例として、「部」は、ソフトウェアコンポーネント、オブジェクト指向ソフトウェアコンポーネント、クラスコンポーネント、及びタスクコンポーネントなどのコンポーネントと、プロセス、関数、属性、プロシージャ、サブルーチン、プログラムコードのセグメント、ドライバ、ファームウェア、マイクロコード、回路、データ、データベース、データ構造、テーブル、アレイ、及び変数とを含む。コンポーネント及び「部」の中で提供される機能は、より少ない数のコンポーネント及び「部」で組み合わせられるか、あるいは更なるコンポーネントと「部」に再度分離されてもよい。
【0027】
本開示の一実施形態によれば、「部」は、プロセッサ及びメモリで実現されてもよい。「プロセッサ」なる用語は、汎用プロセッサ、中央処理装置(CPU)、マイクロプロセッサ、デジタル信号プロセッサ(DSP)、コントローラ、マイクロコントローラ、状態マシンなどを含むように広く解釈されるべきである。ある環境では、「プロセッサ」は、特定用途向け集積回路(ASIC)、プログラマブルロジックデバイス(PLD)、フィールドプログラマブルゲートアレイ(FPGA)などを指してもよい。「プロセッサ」なる用語は、例えば、DSPとマイクロプロセッサの組み合わせ、複数のマイクロプロセッサの組み合わせ、DSPコアと結合した1つ以上のマイクロプロセッサの組み合わせ、または他の任意のそのような構成の組み合わせなどの処理装置の組み合わせを指してもよい。
【0028】
「メモリ」なる用語は、電子情報を記憶可能な任意の電子コンポーネントを含むように広く解釈されるべきである。用語メモリは、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、不揮発性ランダムアクセスメモリ(NVRAM)、プログラマブル読み出し専用メモリ(PROM)、消去可能プログラマブル読み出し専用メモリ(EPROM)、電気的消去可能PROM(EEPROM)、フラッシュメモリ、磁気または光学データ記憶装置、レジスタなどのようなプロセッサ可読媒体の様々な種類を指してもよい。プロセッサがメモリから情報を読み取り、及び/またはメモリに情報を書き込むことができる場合、メモリは、プロセッサと電子通信状態にあると称される。プロセッサに集積されたメモリは、プロセッサと電子通信状態にある。
【0029】
以下では、添付図面を参照して、本開示の属する技術分野における通常の知識を有する者が容易に実施できるように、実施例について詳しく説明する。なお、図面において、本開示を明確に説明するために、説明に関係ない部分は省略する。
【0030】
図1は、本開示の一実施形態に係る学習データ取得装置100のブロック図である。
【0031】
図1を参照すると、一実施形態に係る学習データ取得装置100は、データ学習部110またはデータ認識部120のうち少なくとも1つを含む。前述したような学習データ取得装置100は、プロセッサ及びメモリを含む。
【0032】
データ学習部110は、データセットを用いてターゲットタスク(target task)を実行するための機械学習モデルを学習する。データ学習部110は、データセット及びターゲットタスクに関するラベル情報を受信する。データ学習部110は、データセットとラベル情報との関係について機械学習を行うことで機械学習モデルを取得する。データ学習部110が取得した機械学習モデルは、データセットを用いてラベル情報を生成するためのモデルである。
【0033】
データ認識部120は、データ学習部110の機械学習モデルを受信して記憶する。データ認識部120は、入力データに機械学習モデルを適用してラベル情報を出力する。また、データ認識部120は、入力データ、ラベル情報、及び機械学習モデルによって出力された結果を機械学習モデルを更新するために用いる。
【0034】
データ学習部110及びデータ認識部120のうち少なくとも1つは、少なくとも1つのハードウェアチップの形態で作製され、電子装置に搭載される。例えば、データ学習部110及びデータ認識部120のうち少なくとも1つは、人工知能(AI;artificial intelligence)のための専用ハードウェアチップの形態で作られてもよく、あるいは既存の汎用プロセッサ(例えば、CPUまたはapplication processor)またはグラフィック専用プロセッサ(例えば、GPU)の一部として作製され、既に説明した様々な電子装置に搭載されてもよい。
【0035】
また、データ学習部110及びデータ認識部120は、個別の電子装置にそれぞれ搭載される。例えば、データ学習部110及びデータ認識部120のうちの一方は電子装置に含まれ、他方はサーバに含まれてもよい。また、データ学習部110及びデータ認識部120は、有線または無線を介して、データ学習部110が構築した機械学習モデル情報をデータ認識部120に提供してもよく、データ認識部120に入力されたデータを、追加学習データとしてデータ学習部110に提供してもよい。
【0036】
さらに、データ学習部110及びデータ認識部120のうち少なくとも1つは、ソフトウェアモジュールで実現される。データ学習部110及びデータ認識部120のうち少なくとも一方がソフトウェアモジュール(またはインストラクション(instruction)を含むプログラムモジュール)で実現される場合、ソフトウェアモジュールは、メモリまたはコンピュータで読み取り可能な非一時的に読み取り可能な記録媒体(non-transitory computer readable media)に格納されてもよい。また、その場合、少なくとも1つのソフトウェアモジュールは、OS(Operating System)によって提供されてもよく、所定のアプリケーションによって提供されてもよい。あるいは、少なくとも1つのソフトウェアモジュールの一部はOS(Operating System)によって提供され、残りの部分は所定のアプリケーションによって提供されてもよい。
【0037】
本開示の一実施形態に係るデータ学習部110は、データ取得部111、前処理部112、学習データ選択部113、モデル学習部114、及びモデル評価部115を含む。
【0038】
データ取得部111は、機械学習に必要なデータを取得する。学習には多量のデータが必要であるため、データ取得部111は、複数のデータを含むデータセットを受信してもよい。
【0039】
複数のデータのそれぞれにラベル情報が割り当てられる。ラベル情報は、複数のデータのそれぞれを説明する情報であってもよい。ラベル情報は、ターゲットタスク(target task)が導出したい情報であってもよい。ラベル情報は、ユーザ入力によって取得したり、メモリから取得したり、機械学習モデルの結果から取得したりしてもよい。例えば、ターゲットタスクが暗号通貨アドレスの取引履歴から暗号通貨アドレスが詐欺師の所有するアドレスであるか否かを判定するためのものであれば、機械学習に用いられる複数のデータは、暗号通貨アドレスの取引履歴に関連するデータとなり、ラベル情報は、暗号通貨アドレスが詐欺師の所有するアドレスであるか否かになる。
【0040】
前処理部112は、受信したデータを機械学習に利用できるように、取得したデータを前処理する。前処理部112は、後述するモデル学習部114が利用できるように、取得したデータセットを予め設定されたフォーマットに加工する。
【0041】
学習データ選択部113は、前処理済みのデータの中から学習に必要なデータを選択する。選択されたデータはモデル学習部114に提供される。学習データ選択部113は、予め設定された基準に基づいて、前処理済みのデータの中から学習に必要なデータを選択する。また、学習データ選択部113は、後述するモデル学習部114による学習によって予め設定された基準に基づいてデータを選択してもよい。
【0042】
モデル学習部114は、データセットに基づいて所定のラベル情報を出力するかに関する基準を学習する。また、モデル学習部114は、データセット及びデータセットに対するラベル情報を学習データとして用いることで機械学習を行う。さらに、モデル学習部114は、予め取得された機械学習モデルを追加利用して機械学習を行ってもよい。その場合、予め取得された機械学習モデルは予め構築されたモデルである。例えば、機械学習モデルは、基本学習データを入力して事前に構築されたモデルであってもよい。
【0043】
機械学習モデルは、学習モデルの適用分野、学習の目的または装置のコンピュータ性能などを考慮して構築される。機械学習モデルは、例えば、神経回路網(Neural Network)に基づくモデルであってもよい。例えば、Deep Neural Network(DNN)、Recurrent Neural Network(RNN)、Long Short-Term Memory models(LSTM)、BRDNN(Bidirectional Recurrent Deep Neural Network)、Convolutional Neural Networks(CNN)などのモデルが機械学習モデルとして用いられてもよいが、これらに限定されるものではない。
【0044】
様々な実施形態によれば、モデル学習部114は、予め構築された機械学習モデルが複数存在する場合、入力された学習データと基本学習データとの関連性の高い機械学習モデルを学習する機械学習モデルとして決定する。その場合、基本学習データは、データの種類ごとに予め分類されていてもよく、機械学習モデルは、データの種類ごとに予め構築されていてもよい。例えば、基本学習データは、学習データが生成された場所、学習データが生成された時間、学習データのサイズ、学習データの生成者、学習データ中のオブジェクトの種類などのような様々な基準で予め分類されている。
【0045】
また、モデル学習部114は、例えば、誤差逆伝搬法(error back-propagation)または傾斜降下法(gradient descent)を含む学習アルゴリズムなどを用いて機械学習モデルを学習する。
【0046】
さらに、モデル学習部114は、例えば、学習データを入力値とする教師あり学習(supervised learning)によって機械学習モデルを学習する。また、モデル学習部114は、例えば、特に指導を受けることなくターゲットタスク(target task)のために必要なデータの種類を自ら学習することにより、ターゲットタスクのための基準を発見する教師なし学習(unsupervised learning)によって、機械学習モデルを取得する。さらに、モデル学習部114は、例えば、学習に伴うターゲットタスクの結果が正しいかどうかに関するフィードバックを利用する強化学習(reinforcement learning)によって、機械学習モデルを学習する。
【0047】
また、機械学習モデルが学習されると、モデル学習部114は、学習済みの機械学習モデルを記憶する。その場合、モデル学習部114は、学習済みの機械学習モデルをデータ認識部120を含む電子装置のメモリに記憶してもよい。あるいは、モデル学習部114は、学習済みの機械学習モデルを電子装置と有線または無線ネットワークで接続されたサーバのメモリに記憶してもよい。
【0048】
学習済みの機械学習モデルが記憶されるメモリは、例えば、電子装置の少なくとも1つの他の構成要素に関連する命令またはデータを併せて記憶する。さらに、メモリは、ソフトウェア及び/またはプログラムを記憶する。プログラムは、例えば、カーネル、ミドルウェア、アプリケーションプログラミングインターフェース(API)及び/またはアプリケーションプログラム(または「アプリケーション」)などを含んでもよい。
【0049】
モデル評価部115は、機械学習モデルに評価データを入力し、評価データから出力された結果が所定の基準を満たさない場合、モデル学習部114に再学習させる。その場合、評価データは、機械学習モデルを評価するために予め設定されたデータであってもよい。
【0050】
例えば、モデル評価部115は、評価データに対する学習済みの機械学習モデルの結果のうち、認識結果が不正確である評価データの数または割合が予め設定された閾値を超える場合、所定の基準を満たさないと評価する。例えば、所定の基準が比率2%と定義された場合、学習済みの機械学習モデルが合計1000個の評価データのうち20個を超える評価データに対して誤認識結果を出力すると、モデル評価部115は、学習済みの機械学習モデルが適切ではないと評価する。
【0051】
なお、学習済みの機械学習モデルが複数存在する場合、モデル評価部115は、それぞれの学習済みの機械学習モデルに対して所定の基準を満たすか否かを評価し、所定の基準を満たすモデルを最終機械学習モデルとして決定する。その場合、所定基準を満たすモデルが複数ある場合、モデル評価部115は、評価スコアの高い順に予め設定されたいずれか1つまたは所定数のモデルを最終機械学習モデルとして決定する。
【0052】
さらに、データ学習部110中のデータ取得部111、前処理部112、学習データ選択部113、モデル学習部114、及びモデル評価部115のうち少なくとも1つは、少なくとも1つのハードウェアチップの形態で作製され、電子装置に搭載される。例えば、データ取得部111、前処理部112、学習データ選択部113、モデル学習部114、及びモデル評価部115のうち少なくとも1つは、人工知能(AI;artificial intelligence)のための専用のハードウェアチップの形態で作製されてもよく、あるいは既存の汎用プロセッサ(例えば、CPUまたはapplication processor)またはグラフィック専用プロセッサ(例えば、GPU)の一部として作製され、前述の様々な電子装置に搭載されてもよい。
【0053】
また、データ取得部111、前処理部112、学習データ選択部113、モデル学習部114、及びモデル評価部115は、1つの電子装置に搭載されてもよく、あるいは別途の電子装置にそれぞれ搭載されてもよい。例えば、データ取得部111、前処理部112、学習データ選択部113、モデル学習部114、及びモデル評価部115の一部は電子装置に含まれ、残りの一部はサーバに含まれる。
【0054】
また、データ取得部111、前処理部112、学習データ選択部113、モデル学習部114、及びモデル評価部115のうち少なくとも1つは、ソフトウェアモジュールで実現される。データ取得部111、前処理部112、学習データ選択部113、モデル学習部114、及びモデル評価部115のうち少なくとも1つがソフトウェアモジュール(または、インストラクション(instruction)を含むプログラムモジュール)で実現される場合、ソフトウェアモジュールは、コンピュータで読み取り可能な非一時的に読み取り可能な記録媒体(non-transitory computer readable media)に格納されてもよい。また、その場合、少なくとも1つのソフトウェアモジュールは、OS(Operating System)によって提供されてもよく、所定のアプリケーションによって提供されてもよい。あるいは、少なくとも1つのソフトウェアモジュールの一部はOS(Operating System)によって提供され、残りの部分は所定のアプリケーションによって提供されてもよい。
【0055】
本開示の一実施形態に係るデータ認識部120は、データ取得部121、前処理部122、認識データ選択部123、認識結果提供部124、及びモデル更新部125を含む。
【0056】
データ取得部121は、入力データを受信する。前処理部122は、取得した入力データを認識データ選択部123または認識結果提供部124で利用できるように、取得した入力データを前処理する。
【0057】
認識データ選択部123は、前処理済みのデータの中から必要なデータを選択する。選択されたデータは認識結果提供部124に提供される。認識データ選択部123は、予め設定された基準に基づいて、前処理済みのデータの中から一部または全部を選択する。また、認識データ選択部123は、モデル学習部114による学習によって予め設定された基準に基づいてデータを選択してもよい。
【0058】
認識結果提供部124は、選択されたデータを機械学習モデルに適用して結果データを取得する。機械学習モデルは、モデル学習部114によって生成された機械学習モデルであってもよい。認識結果提供部124は、結果データを出力する。
【0059】
モデル更新部125は、認識結果提供部124によって提供される認識結果に対する評価に基づいて、機械学習モデルを更新する。例えば、モデル更新部125は、認識結果提供部124によって提供される認識結果をモデル学習部114に提供することにより、モデル学習部114に機械学習モデルを更新させる。
【0060】
なお、データ認識部120中のデータ取得部121、前処理部122、認識データ選択部123、認識結果提供部124、及びモデル更新部125のうち少なくとも1つは、少なくとも1つのハードウェアチップの形態で作製され、電子装置に搭載される。例えば、データ取得部121、前処理部122、認識データ選択部123、認識結果提供部124、及びモデル更新部125のうち少なくとも1つは、人工知能(AI;artificial intelligence)のための専用のハードウェアチップの形態で作製されてもよく、あるいは既存の汎用プロセッサ(例えば、CPUまたはapplication processor)またはグラフィック専用プロセッサ(例えば、GPU)の一部として作製され、前述の様々な電子装置に搭載されてもよい。
【0061】
また、データ取得部121、前処理部122、認識データ選択部123、認識結果提供部124、及びモデル更新部125は、1つの電子装置に搭載されてもよく、あるいは別途の電子装置にそれぞれ搭載されてもよい。例えば、データ取得部121、前処理部122、認識データ選択部123、認識結果提供部124、及びモデル更新部125の一部は電子装置に含まれ、残りの一部はサーバに含まれる。
【0062】
さらに、データ取得部121、前処理部122、認識データ選択部123、認識結果提供部124、及びモデル更新部125のうち少なくとも1つは、ソフトウェアモジュールで実現される。データ取得部121、前処理部122、認識データ選択部123、認識結果提供部124、及びモデル更新部125のうち少なくとも1つがソフトウェアモジュール(または、インストラクション(instruction)を含むプログラムモジュール)で実現される場合、ソフトウェアモジュールは、コンピュータで読み取り可能な非一時的に読み取り可能な記録媒体(non-transitory computer readable media)に格納されてもよい。また、その場合、少なくとも1つのソフトウェアモジュールは、OS(Operating System)によって提供されてもよく、所定のアプリケーションによって提供されてもよい。あるいは、少なくとも1つのソフトウェアモジュールの一部はOS(Operating System)によって提供され、残りの部分は所定のアプリケーションによって提供されてもよい。
【0063】
以下では、データ学習部110のデータ取得部111、前処理部112、及び学習データ選択部113が学習データを受信して処理する方法及び装置についてより詳しく説明する。
【0064】
図2は、本開示の一実施形態に係る学習データ取得装置を示す図である。
【0065】
学習データ取得装置100は、プロセッサ210及びメモリ220を含む。プロセッサ210は、メモリ220に記憶された命令語を実行する。
【0066】
前述したように、学習データ取得装置100は、データ学習部110を含む。データ学習部110のデータ取得部111、前処理部112、または学習データ選択部113は、プロセッサ210及びメモリ220によって実現される。
【0067】
以下では、図3及び図4を参照して学習データ取得装置を詳しく説明する。
【0068】
図3は、本開示の一実施形態に係る学習データ取得装置の動作を説明するためのフローチャートである。また、図4は、本開示の一実施形態に係る学習データ取得装置の動作を示す説明図である。
【0069】
学習データ取得装置100は、不正な口座を検出するための機械学習モデルを生成するために、学習データを取得する。学習データ取得装置100は、データ取得部111、前処理部112、または学習データ選択部113を含む。
【0070】
学習データ取得装置100は、報告された不正なアドレスに関する情報が格納されている第1のデータベースから不正なアドレスに関連するレポートを受信するステップ310を行う。
【0071】
学習データ取得装置100は、第1のデータベース430からデータを受信するための受信部410をさらに含む。受信部410は、有線または無線でデータを受信してもよい。
【0072】
第1のデータベース430は、暗号通貨の不正なアドレスに関連するレポートを提供するサービスに組み込まれたデータベースであってもよい。また、第1のデータベース430は、暗号通貨詐欺ブラックリストサービス(Bitcoin scam blacklist services)に組み込まれたデータベースであってもよい。例えば、不正なアドレスに関連するレポートを提供するサービスには、BitcoinWhosWhoまたはBitcoinAbuseなどのサービスがある。第1のデータベース430には、暗号通貨アドレスごとにレポートが格納されている。学習データ取得装置100は、レポートを受信する。学習データ取得装置100は、レポートに基づいて暗号通貨アドレスが不正なアドレスであるか否かを判定する。
【0073】
学習データ取得装置100は、レポートから、第1の不正なアドレス及び第1の不正なアドレスに関連する第1のディスクリプション(description)を取得するステップ320を行う。
【0074】
学習データ取得装置100は、第1の不正なアドレス及び第1の不正なアドレスに関連する第1のディスクリプションを取得して処理するために、第1の分析部420をさらに含む。第1の分析部は、第1のデータベースから受信したデータを分析する。第1の分析部420は、ソフトウェアまたはハードウェアで実現される。第1の分析部420は、第2の分析部または第3の分析部と異なるデータを処理するが、同じハードウェアで実現されてもよい。
【0075】
第1の不正なアドレスは、暗号通貨を送付・預入することのできる口座のアドレスである。第1の不正なアドレスは、第1のデータベース430を含むサービスによって既に詐欺に用いられた暗号通貨アドレスであると判定されたアドレスであってもよい。第1のディスクリプションは、第1の不正なアドレスが不正なアドレスとして判定されたことをテキストで説明する。
【0076】
学習データ取得装置100は、特定の言語で記載されている第1のディスクリプションのみを利用する。第1のディスクリプションは自然言語で記載されているので、学習データ取得装置100が正しい言語分析を行えない場合、不正なアドレスの分析精度が低下する虞がある。よって、学習データ取得装置100は、分析可能な言語からなる第1のディスクリプションのみを利用する。しかしながら、これに限定されるものではない。
【0077】
学習データ取得装置100は、自然言語処理(Natural Language Processing)を用いて、第1のディスクリプションから第1の不正なアドレスに関連する複数の第1のキーワードを抽出するステップ330を行う。第1のデータベースを含む暗号通貨詐欺ブラックリストサービスは、不正なアドレスの判別に関して信頼度の高いサービスである。よって、学習データ取得装置100は、第1のディスクリプションのテキストから第1のキーワードを導出して、他のデータベースから取得された暗号通貨アドレスに関する情報を分析する。
【0078】
学習データ取得装置100は、第1のディスクリプションにおいて、特殊文字、URL、及びストップワード(stopword)などの分析に不要な文字を削除する。また、学習データ取得装置100は、第1のディスクリプションから不要な文字を削除してから残りの単語が所定数未満である場合、当該第1のディスクリプションを使用しない。所定数は、例えば15個である。残りの単語が所定数未満である場合、単語の数が少なすぎて不正なアドレスを判別するためのキーワードとして使用するには不適である。学習データ取得装置100は、不要な文字を削除してから、所定数以上の第1のディスクリプションを用いることで、学習データ取得装置100の信頼度を高める。加えて、学習データ取得装置100が取得したデータに基づく機械学習モデルの信頼度も高める。
【0079】
学習データ取得装置100は、第1の不正なアドレスを第2のデータベース440に格納するステップ340を行う。第2のデータベース440は、学習データ取得装置100に含まれる。第2のデータベース440は、機械学習モデルを生成するためのデータを格納する。さらに、第2のデータベース440は、他の不正なアドレスを判別し、不正なアドレスに対するディスクリプションを分析するためのデータを格納する。
【0080】
以下では、暗号通貨詐欺ブラックリストサービス(Bitcoin scam blacklist services)以外の場所で取得されたデータから不正なアドレス及び不正なアドレスに関する情報を取得する方法及び装置について説明する。
【0081】
図5は、本開示の一実施形態に係る学習データ取得装置の動作を説明するためのフローチャートである。また、図6は、本開示の一実施形態に係る学習データ取得装置の動作を示す説明図である。
【0082】
学習データ取得装置100は、公開的にアクセス可能なウェブサイトからテキスト情報を受信するステップ510を行う。学習データ取得装置100は、受信部410を用いてウェブサイトからテキスト情報を受信する。
【0083】
公開的にアクセス可能なウェブサイト610には、個人的にまたは技術的に用いられるブログが含まれる。また、サイバーセキュリティ会社の不正行為分析レポートである。ウェブサイト610には、暗号通貨アドレスに関する様々な情報が記載されている。例えば、ウェブサイト610は、特定の暗号通貨アドレスが詐欺に用いられたという内容、特定の暗号通貨アドレスとの取引に満足したという内容、または特定の暗号通貨アドレスと単に取引したという内容などが記載されている。学習データ取得装置100は、そのうち特定の暗号通貨アドレスが詐欺に用いられたことを抽出するために、以下のようなステップを行う。
【0084】
ウェブサイト610は、第1のデータベース430とは異なり、一定の形式を有していない。さらに、ウェブサイト610には、不正なアドレスに関連する情報以外の様々な情報が含まれている。
【0085】
学習データ取得装置100は、所定のウェブサイト610をクロール(crawling)する。しかしながら、これに限定されるものではなく、学習データ取得装置100は、任意のウェブサイト610をクロールして必要なデータを自動的に抽出してもよい。
【0086】
ウェブサイト610のソースコードは、HTML文書で構成される。HTML文書は、ウェブサイト610に表示されるべき内容のみならず、内容を表示するためのフォーマットに関連するコードを含んでいてもよい。学習データ取得装置100は、ウェブサイト610からHTML bodyをテキスト情報として抽出する。
【0087】
学習データ取得装置100は、テキスト情報から暗号通貨アドレスが含まれたメインテキスト情報を抽出するステップ520を行う。
【0088】
学習データ取得装置100は、第2の分析部620をさらに含む。第2の分析部620は、ウェブサイト610から受信したテキスト情報を分析する。第2の分析部620は、ソフトウェアまたはハードウェアで実現される。学習データ取得装置100は、第2の分析部620を用いてメインテキスト情報を抽出する。
【0089】
学習データ取得装置100は、ウェブサイト610のテキスト情報のうち暗号通貨アドレスが含まれているページのみを利用してもよい。暗号通貨アドレスは特定の形式を有している。よって、学習データ取得装置100は、ウェブサイト610のページの内容に基づいて、ページに暗号通貨アドレスが記載されているか否かを判断する。学習データ取得装置100は、暗号通貨アドレスの含まれたページのテキスト情報から不要な情報を除去してもよい。例えば、学習データ取得装置100は、バナーとHTMLタグを削除する。そのために、学習データ取得装置100は、Boilerpipeを利用してもよい。
【0090】
学習データ取得装置100の第2の分析部620は、自然言語処理を用いて、メインテキスト情報から複数の第2のキーワードを抽出するステップ530を行う。例えば、学習データ取得装置100は、メインテキストから特殊文字、URL、及びストップワード(stopword)などの分析に不要な文字を削除する。
【0091】
学習データ取得装置100の第2の分析部620は、不正情報検出モデルを取得するステップ540を行う。不正情報検出モデルは、Neural network classifierであってもよい。不正情報検出モデルは、機械学習を実行して取得されたモデルである。不正情報検出モデルは、暗号通貨アドレスに関連するキーワードに基づいて、暗号通貨アドレスが詐欺師によって用いられているかどうかを判断するための機械学習モデルである。
【0092】
学習データ取得装置100は、不正情報検出モデルを直接生成してもよい。学習データ取得装置100は、不正情報検出モデルを生成するために、データ学習部110を含む。また、学習データ取得装置100は、他の装置から不正情報検出モデルを受信する。学習データ取得装置100が不正情報検出モデルを生成する過程については、図7を参照して詳しく説明する。
【0093】
学習データ取得装置100の第2の分析部620は、複数の第2のキーワードを不正情報検出モデルに適用し、メインテキストに含まれている暗号通貨アドレスが不正なアドレスであるか否かを判定するステップ550を行う。より具体的には、学習データ取得装置100は、複数の第2のキーワードのそれぞれがメインテキストに出現する頻度数を導出してもよい。学習データ取得装置100は、複数の第2のキーワード及び頻度数を不正情報検出モデルに適用する。学習データ取得装置100は、不正情報検出モデルによって、メインテキストに含まれている暗号通貨アドレスが不正なアドレスであるか否かに関する情報を取得する。
【0094】
学習データ取得装置100の第2の分析部620は、暗号通貨アドレスが不正なアドレスである場合、暗号通貨アドレスを第2の不正なアドレスとして取得するステップ560を行う。より具体的には、メインテキストに含まれている暗号通貨アドレスが不正なアドレスであるか否かに関する情報が不正なアドレスであることを示すと、学習データ取得装置100は、メインテキストに含まれている暗号通貨アドレスを第2の不正なアドレスとして取得する。
【0095】
学習データ取得装置100は、第2の不正なアドレスを第2のデータベース440に格納するステップ570を行う。第2のデータベース440は、第2の不正なアドレスと第1の不正なアドレスが重複している場合、第2の不正なアドレスまたは第1の不正なアドレスのいずれかを無視するか、あるいは第2の不正なアドレスまたは第1の不正なアドレスのいずれかに対する情報を更新する。
【0096】
図7は、本開示の一実施形態に従って不正情報検出モデルを取得する方法を示すフローチャートである。
【0097】
学習データ取得装置100は、良好な暗号通貨アドレスが含まれていると判定されたウェブサイトから取得した良好な暗号通貨アドレスに関連する単語を取得するステップ710を行う。良好な暗号通貨アドレスは、詐欺師の所有する暗号通貨アドレスではないことを示す。
【0098】
良好な暗号通貨アドレスが含まれていると判定されたウェブサイトは、暗号通貨アドレスの信頼度情報を提供するウェブサイトの意味である。暗号通貨ユーザは、暗号通貨取引の後、ウェブサイトに暗号通貨取引に関するレビューを残すことができる。ユーザは、レビューをスコアで表示するか、あるいはテキストで表示する。
【0099】
良好な暗号通貨アドレスを含むウェブサイトをユーザが決定する。あるいは、学習データ取得装置100は、自動的に良好な暗号通貨アドレスを含むウェブサイトを決定する。また、学習データ取得装置100は、良好な暗号通貨アドレスを含むウェブサイトまたはウェブページから良好な暗号通貨アドレスに関連する単語を取得する。例えば、学習データ取得装置100は、ウェブサイトまたはウェブページから不要な文字を除去する。学習データ取得装置100は、ウェブサイトまたはウェブページから不要な文字を削除してから、良好な暗号通貨アドレスに関連する単語を取得する。良好な暗号通貨アドレスに関連する単語は、良好な暗号通貨アドレスを説明するためのキーワードである。
【0100】
学習データ取得装置100は、良好な暗号通貨アドレスに関連する単語のそれぞれがウェブサイト610に出現する第1の頻度数を取得するステップ720を行う。学習データ取得装置100は、良好な暗号通貨アドレスに関連する単語のみならず、第1の頻度数に基づいて不正情報検出モデルの精度を高めることができる。
【0101】
学習データ取得装置100は、第1のキーワードのそれぞれが第1のディスクリプションに出現する第2の頻度数を取得するステップ730を行う。学習データ取得装置100は、第1のキーワードを第1のデータベース430から取得する。第1のキーワードの取得過程については、図3及び図4を参照して説明しているので、重複する説明は省略する。
【0102】
学習データ取得装置100は、良好であるとラベル付けされた良好な暗号通貨アドレスに関連する単語、第1の頻度数、第2の頻度数、及び不正であるとラベル付けされた複数の第1のキーワードを機械学習して、不正情報検出モデルを取得するステップ740を行う。不正情報検出モデルは、第1の頻度数及び良好な暗号通貨アドレスに関連する単語に基づいて良好なアドレスに関する情報を学習し、第2の頻度数及び複数の第1のキーワードに基づいて不正なアドレスに関する情報を学習する。
【0103】
学習データ取得装置100は、不正情報検出モデルを他の学習データ取得装置100に有線または無線で送信してもよい。学習データ取得装置100は、不正情報検出モデルをメモリ220に記憶してもよい。
【0104】
学習データ取得装置100は、新しい暗号通貨アドレス、新しい暗号通貨アドレスに対応する第2のキーワード及び第2のキーワードの頻度数を取得する。学習データ取得装置100は、第2のキーワード及び第2のキーワードの頻度数を不正情報検出モデルに適用し、新しい暗号通貨アドレスが不正であるか良好であるかを判定する。
【0105】
以上では、学習データ取得装置100が不正情報検出モデルを用いてウェブサイトに記載された情報から不正なアドレスを判別する構成について説明したが、これらに限定されるものではない。学習データ取得装置100は、不正情報検出モデルを用いてウェブサイトに記載された情報から良好なアドレスを判別する。
【0106】
なお、学習データ取得装置100が不正情報検出モデルを取得する方法は、前述した方法に限定されるものではない。ユーザは、ウェブサイトを検討してから、不正なアドレスが記載されているウェブページを「不正」とラベル付けして不正なアドレスと共に保存し、良好なアドレスが記載されているウェブページを「良好」とラベル付けして良好なアドレスと共に保存する。学習データ取得装置100は、不正なアドレス、「不正」とラベル付けされたウェブページ、「良好」とラベル付けされたウェブページ、及び良好なアドレスを機械学習して不正情報検出モデルを取得する。学習データ取得装置100は、単にウェブページを不正情報検出モデルに適用するだけで、ウェブページからアドレスまたはアドレスが詐欺師と関係があるか否かを判定することができる。
【0107】
図8は、本開示の一実施形態に係る学習データ取得装置の動作を説明するためのフローチャートである。また、図10は、本開示の一実施形態に係る学習データ取得装置の動作を示す説明図である。
【0108】
学習データ取得装置100は、暗号通貨アドレスに対応するタグ(tag)を提供するサービス1010から第2のディスクリプションを取得するステップ810を行う。学習データ取得装置100は、受信部410を用いて第2のディスクリプションを取得する。
【0109】
タグは、暗号通貨アドレスに付随するメタ情報(meta information)であってもよい。暗号通貨アドレスに対応するタグを提供するサービスには、「blockchain.info」、「BitcoinTalk community」、または「bitcoin-otc.com」などのサイトがある。
【0110】
タグには、Submitted link tag、Signed message tag、Bitcointalk profile tag、またはBitcoin-OTC profile tag(Bitcoin over-the-counter profile tag)が含まれる。Submitted link tagは、タグ付き暗号通貨アドレスについて簡単な説明を提供する。報告した人は、時々不正情報源を示すページリンクと共に不正ディスクリプションを提供する。
【0111】
Signed message tagは、アドレスの所有者を提供する。しかしながら、この識別子は所有者が選択するので、詐欺師が偽の所有権を主張することもある。
【0112】
Bitcointalk profile tagは、暗号通貨コミュニティでユーザ識別子のみを提供する。
【0113】
Bitcoin-OTC profile tagは、Bitcoin-OTCのウェブサイトにおいてユーザ識別子を提供する。Bitcointalkコミュニティとは異なり、このウェブサイトは、各ユーザの別名に対して評判スコアを提供する。このスコアは、当該暗号通貨アドレスで金融取引を行った取引相手が付ける。さらに、相手が何故当該暗号通貨アドレスにそのスコアを付けたのかを簡単に説明する。よって、bitcoin-OTC profile tagを利用して、暗号通貨の不正なアドレスと良好なアドレスに関する情報を両方得ることができる。
【0114】
第2のディスクリプションは、Signed message tagまたはBitcoin-OTC profile tagから取得する。第2のディスクリプションは、暗号通貨アドレスに関連する評判を表すテキスト情報である。
【0115】
学習データ取得装置100は、複数の第1のキーワードに基づいて不正なキーワードセットを取得するステップ820を行う。
【0116】
学習データ取得装置100は、第3の分析部1020をさらに含んでもよい。第3の分析部1020は、タグを提供するサービス1010から受信した第2のディスクリプションを分析する。第3の分析部1020は、ソフトウェアまたはハードウェアで実現される。学習データ取得装置100は、第2の分析部1020を用いて第1のキーワードから不正なキーワードセットを取得する。
【0117】
学習データ取得装置100は、第1のキーワードを第1のデータベース430から取得する。第1のキーワードの取得過程については、図3及び図4を参照して説明しているので、重複する説明は省略する。
【0118】
不正なキーワードセットには名詞のみが含まれる。また、学習データ取得装置100は、第1のキーワードの中から分析に不要な文字を除去する。例えば、学習データ取得装置100は、第1のキーワードのうち、詐欺に関連しないツイッター(登録商標)、タンブラー(登録商標)、及びインスタグラム(登録商標)に関する用語を削除する。
【0119】
学習データ取得装置100は、複数の第1のキーワードのそれぞれに対して第1のディスクリプションに出現する頻度数を取得するステップを行う。学習データ取得装置100は、複数の第1のキーワードのうち、頻度数の高い所定数の単語を不正なキーワードセットとして判定するステップを行う。例えば、学習データ取得装置100は、第1のキーワードのうち、最も頻度数の高い11の単語を選択して、不正なキーワードセットを取得する。
【0120】
学習データ取得装置100は、不正なキーワードセットに含まれた単語が第2のディスクリプションに出現する場合、第2のディスクリプションに対応する暗号通貨アドレスを第3の不正なアドレスとして判定するステップ830を行う。タグに含まれた単語の数は多くないため、学習データ取得装置100は、第1のキーワードから導出された不正なキーワードセットに基づいてタグが不正であるか否かを判定する。
【0121】
学習データ取得装置100は、第1のディスクリプション上において、不正なキーワードセットに含まれた単語の頻度数をさらに利用してもよい。例えば、第2のディスクリプションに不正なキーワードセットの単語が含まれていても、その単語が第2のディスクリプションの中で頻繁に出現する単語でない場合、学習データ取得装置100は、第2のディスクリプションに対応する暗号通貨アドレスを第3の不正なアドレスとして判定しない。また、第2のディスクリプションに不正なキーワードセットの単語が含まれており、その単語が第2のディスクリプションの中で頻繁に出現する単語である場合、学習データ取得装置100は、第2のディスクリプションに対応する暗号通貨アドレスを第3の不正なアドレスとして判定する。
【0122】
学習データ取得装置100は、第3の不正なアドレスを第2のデータベース440に格納するステップ840を行う。第2のデータベース440は、第3の不正なアドレスが第1の不正なアドレスまたは第3の不正なアドレスと重複する場合、第3の不正なアドレス、第1の不正なアドレス、または第2の不正なアドレスのいずれかを無視するか、あるいは第3の不正なアドレス、第1の不正なアドレスまたは第2の不正なアドレスのいずれかに対する情報を更新する。
【0123】
図9は、本開示の一実施形態に係る学習データ取得装置の動作を説明するためのフローチャートである。
【0124】
図8では、学習データ取得装置100がタグを提供するサービス1010から第2のディスクリプションを取得する場合について説明した。図9では、第2のディスクリプションのみならず、暗号通貨アドレスの信頼度スコア情報を取得する場合について説明する。
【0125】
学習データ取得装置100は、暗号通貨アドレスに対応するタグ(tag)を提供するサービスからアドレスの信頼度を示すスコア情報を取得するステップ910を行う。アドレスの信頼度を示すスコア情報は、暗号通貨アドレスと取引した相手が残したスコアであってもよい。また、複数の取引相手がスコアを残した場合、そのスコアの平均がアドレスの信頼度を示すスコア情報であってもよい。
【0126】
学習データ取得装置100は、スコア情報が良好(benign)を示しており、第2のディスクリプションに不正なキーワードセットに含まれた単語が出現しない場合、暗号通貨アドレスを良好なアドレスとして判定するステップ920を行う。学習データ取得装置100は、スコア情報が閾値以上であると、良好であると判定する。しかしながら、これに限定されるものではなく、学習データ取得装置100は、スコア情報が閾値以下であれば、良好であると判定してもよい。
【0127】
学習データ取得装置100は、スコア情報が不正(scam)を示しており、第2のディスクリプションに不正なキーワードセットに含まれた単語が出現する場合、暗号通貨アドレスを第3の不正なアドレスとして判定するステップ930を行う。学習データ取得装置100は、スコア情報が閾値以下であると、不正であると判定する。しかしながら、これに限定されるものではなく、学習データ取得装置100は、スコア情報が閾値以上であれば、不正であると判定してもよい。
【0128】
学習データ取得装置100は、スコア情報が不正を示しているが、第2のディスクリプションに不正なキーワードセットに含まれた単語が含まれていないか、あるいはスコア情報が良好を示すが、第2のディスクリプションに不正なキーワードセットに含まれた単語が含まれている場合は、暗号通貨アドレスに対する判定を保留する。学習データ取得装置100は、確実な場合にのみ暗号通貨アドレスを良好なアドレスとして判定するか、あるいは不正なアドレスとして判定するので、後で確実なデータに基づいて機械学習を行うことができる。
【0129】
学習データ取得装置100は、良好なアドレス及び第3の不正なアドレスを第2のデータベース440に格納するステップ940を行う。第2のデータベース440は、第3の不正なアドレスが第1の不正なアドレスまたは第3の不正なアドレスと重複する場合、第3の不正なアドレス、第1の不正なアドレス、または第2の不正なアドレスのいずれかを無視するか、あるいは第3の不正なアドレス、第1の不正なアドレスまたは第2の不正なアドレスのいずれかに対する情報を更新する。
【0130】
図11は、本開示の一実施形態に従って機械学習モデルを導出する構成を示す図である。
【0131】
以上、学習データ取得装置100が第1の不正なアドレス、第2の不正なアドレス、第3の不正なアドレス、及び良好なアドレスを導出して第2のデータベース440に格納する方法について説明した。データ学習部110は、第2のデータベース440に格納されたデータに基づいて機械学習を行い、機械学習モデル1130を導出する。
【0132】
データ学習部110は、第1の不正なアドレス、第2の不正なアドレス、第3の不正なアドレス及び、良好なアドレスのみならず、第1の不正なアドレス、第2の不正なアドレス、第3の不正なアドレス、及び良好なアドレスに関する情報を利用してもよい。第1の不正なアドレス、第2の不正なアドレス、第3の不正なアドレス、及び良好なアドレスに関する情報は、取引履歴を含む。取引履歴には、取引日時、取引した相手のアドレス、または取引金額の多寡が含まれる。
【0133】
データ学習部110は、第1の不正なアドレス、第2の不正なアドレス、第3の不正なアドレス、及び良好なアドレスに関する情報を分析してアドレスの特徴を取得する。データ学習部110は、アドレスの特徴を利用して機械学習を行い、機械学習モデル1130を生成する。
【0134】
データ学習部110は、生成された機械学習モデル1130をメモリに記憶したり、他の装置に送信したりしてもよい。データ認識部120は、機械学習モデル1130に基づいて、暗号通貨アドレスが不正なアドレスであるか否かを判定する。データ認識部120は、新しい暗号通貨アドレスを受信し、新しい暗号通貨アドレスを機械学習モデル1130に適用して、暗号通貨アドレスが不正なアドレスであるか否かを判定する。
【0135】
これまで様々な実施形態を挙げて説明した。本発明の属する技術分野における通常の知識を有する者であれば、本発明が、本発明の本質的な特性から逸脱しない範囲で変形された形で実装され得ることを理解できるであろう。よって、開示された実施例は、限定的な観点ではなく、説明的な観点で考慮されるべきである。本発明の範囲は、前述した説明ではなく、特許請求の範囲に示されており、それと同等の範囲内にあるすべての相違点は、本発明に含まれるものと解釈されるべきである。
【0136】
なお、前述した本発明の実施形態は、コンピュータで実行可能なプログラムとして作成されてもよく、コンピュータで読み取り可能な記録媒体を用いて前記プログラムを動作させる汎用デジタルコンピュータにて実現されてもよい。前記コンピュータで読み取り可能な記録媒体としては、磁気記憶媒体(例えば、ロム、フロッピーディスク、ハードディスクなど)、光学的読取媒体(例えば、シーディーロム、ディブイディなど)のような記憶媒体が含まれる。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11