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

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

▶ 富士フイルム株式会社の特許一覧

特許7134245データ処理装置、方法、プログラム、及びシステム
<>
  • 特許-データ処理装置、方法、プログラム、及びシステム 図1
  • 特許-データ処理装置、方法、プログラム、及びシステム 図2
  • 特許-データ処理装置、方法、プログラム、及びシステム 図3
  • 特許-データ処理装置、方法、プログラム、及びシステム 図4
  • 特許-データ処理装置、方法、プログラム、及びシステム 図5
  • 特許-データ処理装置、方法、プログラム、及びシステム 図6
  • 特許-データ処理装置、方法、プログラム、及びシステム 図7
  • 特許-データ処理装置、方法、プログラム、及びシステム 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-09-01
(45)【発行日】2022-09-09
(54)【発明の名称】データ処理装置、方法、プログラム、及びシステム
(51)【国際特許分類】
   G06F 16/906 20190101AFI20220902BHJP
【FI】
G06F16/906
【請求項の数】 13
(21)【出願番号】P 2020550309
(86)(22)【出願日】2019-09-24
(86)【国際出願番号】 JP2019037217
(87)【国際公開番号】W WO2020075485
(87)【国際公開日】2020-04-16
【審査請求日】2021-03-22
(31)【優先権主張番号】P 2018192669
(32)【優先日】2018-10-11
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】306037311
【氏名又は名称】富士フイルム株式会社
(74)【代理人】
【識別番号】110001519
【氏名又は名称】特許業務法人太陽国際特許事務所
(72)【発明者】
【氏名】井上 力夫
【審査官】松尾 真人
(56)【参考文献】
【文献】特表2016-508274(JP,A)
【文献】特開2003-157270(JP,A)
【文献】特開2012-222450(JP,A)
【文献】上野 智史,画像特徴を用いたWeb画像のフィルタリングの検討,電子情報通信学会2006年総合大会講演論文集 情報・システム2,社団法人 電子情報通信学会,2006年03月08日,p.165,D-12-33
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
(57)【特許請求の範囲】
【請求項1】
目的のデータであることが既知の複数の既知データと、目的のデータであるか否かが未知の複数の未知データとを含むデータ集合を複数のクラスタにクラスタリングするクラスタリング部と、
前記複数の未知データを、前記既知データを少なくとも1つ含むクラスタに属する前記未知データの少なくとも一部と、前記複数の既知データをいずれも含まないクラスタに属する前記未知データの少なくとも一部とに分別する分別部と、
を含
前記クラスタリング部は、クラスタリングを複数回繰り返し行い、
前記分別部は、前記複数の未知データを、複数回のクラスタリングにおいて、前記既知データを少なくとも1つ含むクラスタに属した回数が所定回数以上である前記未知データの少なくとも一部と、前記既知データを少なくとも1つ含むクラスタに属した回数が前記所定回数未満である前記未知データとに分別する、
データ処理装置。
【請求項2】
前記クラスタリング部は、前記データ集合に含まれる前記既知データがM個の場合、前記データ集合を、M/4より大きいクラスタ数にクラスタリングする、請求項1に記載のデータ処理装置。
【請求項3】
前記クラスタリング部は、前記クラスタ数を、Mより大きい数とする、請求項2に記載のデータ処理装置。
【請求項4】
前記クラスタリング部は、前記クラスタ数を、Mの2倍以上とする、請求項3に記載のデータ処理装置。
【請求項5】
前記分別部は、前記複数の既知データの全体に対する類似度をさらに用いて、前記複数の未知データを分別する、請求項1~請求項4の何れか1項に記載のデータ処理装置。
【請求項6】
前記既知データ及び前記未知データの各々は、自然言語からなるテキストデータである、請求項1~請求項5の何れか1項に記載のデータ処理装置。
【請求項7】
前記テキストデータは、予め定めたフォーマット、又は前記予め定めたフォーマットに類似するフォーマットに従って記述された文書である、請求項に記載のデータ処理装置。
【請求項8】
前記文書は、特許文献又は科学技術論文の少なくとも一部である、請求項に記載のデータ処理装置。
【請求項9】
前記文書は、前記特許文献又は科学技術論文に含まれる、予め定めた項目内の記述、又は前記項目内の記述の少なくとも一部を改変した記述である、請求項に記載のデータ処理装置。
【請求項10】
前記項目は、概要、要旨、課題、効果、若しくは請求項、又は、概要、要旨、課題、効果、若しくは請求項に類似する用語で定義された項目である、請求項に記載のデータ処理装置。
【請求項11】
クラスタリング部が、目的のデータであることが既知の複数の既知データと、目的のデータであるか否かが未知の複数の未知データとを含むデータ集合を複数のクラスタにクラスタリングし、
分別部が、前記複数の未知データを、前記既知データを少なくとも1つ含むクラスタに属する前記未知データの少なくとも一部と、前記複数の既知データをいずれも含まないクラスタに属する前記未知データの少なくとも一部とに分別
前記クラスタリング部は、クラスタリングを複数回繰り返し行い、
前記分別部は、前記複数の未知データを、複数回のクラスタリングにおいて、前記既知データを少なくとも1つ含むクラスタに属した回数が所定回数以上である前記未知データの少なくとも一部と、前記既知データを少なくとも1つ含むクラスタに属した回数が前記所定回数未満である前記未知データとに分別する、
データ処理方法。
【請求項12】
コンピュータを、
目的のデータであることが既知の複数の既知データと、目的のデータであるか否かが未知の複数の未知データとを含むデータ集合を複数のクラスタにクラスタリングするクラスタリング部、及び、
前記複数の未知データを、前記既知データを少なくとも1つ含むクラスタに属する前記未知データの少なくとも一部と、前記複数の既知データをいずれも含まないクラスタに属する前記未知データの少なくとも一部とに分別する分別部、
として機能させ、
前記クラスタリング部は、クラスタリングを複数回繰り返し行い、
前記分別部は、前記複数の未知データを、複数回のクラスタリングにおいて、前記既知データを少なくとも1つ含むクラスタに属した回数が所定回数以上である前記未知データの少なくとも一部と、前記既知データを少なくとも1つ含むクラスタに属した回数が前記所定回数未満である前記未知データとに分別する、
データ処理プログラム。
【請求項13】
目的のデータであることが既知の複数の既知データと、目的のデータであるか否かが未知の複数の未知データとを含むデータ集合を複数のクラスタにクラスタリングするクラスタリング部と、
前記複数の未知データを、前記既知データを少なくとも1つ含むクラスタに属する前記未知データの少なくとも一部と、前記複数の既知データをいずれも含まないクラスタに属する前記未知データの少なくとも一部とに分別する分別部と、
を含
前記クラスタリング部は、クラスタリングを複数回繰り返し行い、
前記分別部は、前記複数の未知データを、複数回のクラスタリングにおいて、前記既知データを少なくとも1つ含むクラスタに属した回数が所定回数以上である前記未知データの少なくとも一部と、前記既知データを少なくとも1つ含むクラスタに属した回数が前記所定回数未満である前記未知データとに分別する、
データ処理システム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、データ処理装置、データ処理方法、データ処理プログラム、及びデータ処理システムに関する。
【背景技術】
【0002】
人の個別的な関心事に合ったデータを得る手法として、キーワードや予め付与された分類を手掛かりに、所望のデータを検索する手法がある。また、データ集合に含まれる各データ間の類似性等に基づいて、データを複数のクラスタにクラスタリングする手法が存在する(例えば、特開2014-120140号公報、特開2005-346223号公報、特開2002-183171号公報、特開2002-269120号公報)。
【発明の概要】
【発明が解決しようとする課題】
【0003】
人の個別的な関心事に合ったデータを検索により得る手法では、関心事が広範な場合や、多岐に亘る具体例が想定される場合などに、検索結果が例えば数千~数万件といった膨大な件数になる場合がある。この場合、検索結果には、関心事との関連度が低い検索ノイズに相当するデータも含まれるが、どのデータが必要で、どのデータがノイズかを分別するためには、検索結果に含まれる各データを、人が目視判断する必要があり、多大な労力を要する。
【0004】
一方、昨今のデータ解析技術の進歩を取り入れた、機械学習済みAI(Artificial Intelligence)システムが社会でも認知され始めている。AIシステムを利用して、所定の条件に対する出力として、人の関心事に合ったデータを得ることが考えられる。しかし、人の関心事は個別的かつ多様であり、また、時節とともに変化するものであるから、全ての関心事に対して最適なデータを出力するAIシステムを準備することは現実的ではない。また、そのようなAIシステムを構築するためには、機械学習すべきデータ数が不十分な関心事が大半である。
【0005】
さらに、データのクラスタリング結果から、所望のデータを特定することも考えられるが、各クラスタに含まれるデータがどのような内容であるかなどは、人が目視判断する必要があり、目的とするデータを効率的に得ることはできない。
【0006】
本開示は、個別的かつ多様な関心事に対して、目的とするデータを効率的に得るためのデータ処理装置、データ処理方法、データ処理プログラム、及びデータ処理システムを提供する。
【課題を解決するための手段】
【0007】
本開示の第1の態様は、データ処理装置であって、目的のデータであることが既知の複数の既知データと、目的のデータであるか否かが未知の複数の未知データとを含むデータ集合を複数のクラスタにクラスタリングするクラスタリング部と、複数の未知データを、既知データを少なくとも1つ含むクラスタに属する未知データの少なくとも一部と、複数の既知データをいずれも含まないクラスタに属する未知データの少なくとも一部とに分別する分別部と、を含む。
【0008】
また、クラスタリング部は、データ集合に含まれる既知データがM個の場合、データ集合を、M/4より大きいクラスタ数にクラスタリングすることができ、また、クラスタリング部は、クラスタ数を、Mより大きい数とすることができ、さらに、クラスタリング部は、クラスタ数を、Mの2倍以上とすることができる。
【0009】
また、クラスタリング部は、クラスタリングを複数回繰り返し行い、分別部は、複数の未知データを、複数回のクラスタリングにおいて、既知データを少なくとも1つ含むクラスタに属した回数が所定回数以上である未知データの少なくとも一部と、既知データを少なくとも1つ含むクラスタに属した回数が所定回数未満である未知データとに分別することができる。
【0010】
また、分別部は、複数の既知データの全体に対する類似度をさらに用いて、複数の未知データを分別することができる。
【0011】
また、既知データ及び未知データの各々は、自然言語からなるテキストデータとすることができ、テキストデータは、予め定めたフォーマット、又は予め定めたフォーマットに類似するフォーマットに従って記述された文書とすることができる。さらに、文書は、特許文献又は科学技術論文の少なくとも一部とすることができ、文書は、特許文献又は科学技術論文に含まれる、予め定めた項目内の記述、又は項目内の記述の少なくとも一部を改変した記述とすることができる。また、項目は、概要、要旨、課題、効果、若しくは請求項、又は、概要、要旨、課題、効果、若しくは請求項に類似する用語で定義された項目とすることができる。
【0012】
また、本開示の第2の態様は、データ処理方法であって、クラスタリング部が、目的のデータであることが既知の複数の既知データと、目的のデータであるか否かが未知の複数の未知データとを含むデータ集合を複数のクラスタにクラスタリングし、分別部が、複数の未知データを、既知データを少なくとも1つ含むクラスタに属する未知データの少なくとも一部と、複数の既知データをいずれも含まないクラスタに属する未知データの少なくとも一部とに分別する。
【0013】
また、本開示の第3の態様は、データ処理プログラムであって、コンピュータを、目的のデータであることが既知の複数の既知データと、目的のデータであるか否かが未知の複数の未知データとを含むデータ集合を複数のクラスタにクラスタリングするクラスタリング部、及び、複数の未知データを、既知データを少なくとも1つ含むクラスタに属する未知データの少なくとも一部と、複数の既知データをいずれも含まないクラスタに属する未知データの少なくとも一部とに分別する分別部として機能させる。
【0014】
また、本開示の第4の態様は、データ処理システムであって、目的のデータであることが既知の複数の既知データと、目的のデータであるか否かが未知の複数の未知データとを含むデータ集合を複数のクラスタにクラスタリングするクラスタリング部と、複数の未知データを、既知データを少なくとも1つ含むクラスタに属する未知データの少なくとも一部と、複数の既知データをいずれも含まないクラスタに属する未知データの少なくとも一部とに分別する分別部と、を含む。
【0015】
また、本開示の第5の態様は、データ処理装置であって、コンピュータに実行させるための命令を記憶するメモリと、記憶された命令を実行するよう構成されたプロセッサと、を備え、プロセッサは、目的のデータであることが既知の複数の既知データと、目的のデータであるか否かが未知の複数の未知データとを含むデータ集合を複数のクラスタにクラスタリングし、複数の未知データを、既知データを少なくとも1つ含むクラスタに属する未知データの少なくとも一部と、複数の既知データをいずれも含まないクラスタに属する未知データの少なくとも一部とに分別する。
【発明の効果】
【0016】
上記態様によれば、本開示のデータ処理装置、データ処理方法、データ処理プログラム、及びデータ処理システムは、個別的かつ多様な関心事に対して、目的とするデータを効率的に得ることができる。
【図面の簡単な説明】
【0017】
図1】例示的実施形態に係るデータ処理装置のハードウェア構成を示すブロック図である。
図2】例示的実施形態に係るデータ処理装置の機能的構成を示すブロック図である。
図3】類似性スコアの算出を説明するための図である。
図4】クラスタリング、及びクラスタリングによる未知データの分別を説明するための図である。
図5】分別結果の一例を示す図である。
図6】分別結果の他の例を示す図である。
図7】分別結果の他の例を示す図である。
図8】データ処理の一例を示すフローチャートである。
【発明を実施するための形態】
【0018】
以下、図面を参照して本開示の技術を実施するための例示的実施形態を詳細に説明する。
【0019】
まず、本例示的実施形態に係るデータ処理装置のハードウェア構成について説明する。図1に示すように、データ処理装置10は、CPU(Central Processing Unit)12、メモリ14、記憶装置16、通信インタフェース(I/F)18、入力装置20、出力装置22、及びR/W(Read/Write)部24を有する。各構成は、バスを介して相互に通信可能に接続されている。
【0020】
記憶装置16には、データ処理プログラムを含む各種プログラムが格納されている。CPU12は、中央演算処理ユニットであり、各種プログラムを実行したり、各構成を制御したりする。すなわち、CPU12は、記憶装置16からプログラムを読み出し、メモリ14を作業領域としてプログラムを実行する。CPU12は、記憶装置16に記憶されているプログラムに従って、上記各構成の制御及び各種の演算処理を行う。
【0021】
メモリ14は、RAM(Random Access Memory)により構成され、作業領域として一時的にプログラム及びデータを記憶する。記憶装置16は、ROM(Read Only Memory)、及びHDD(Hard Disk Drive)又はSSD(Solid State Drive)により構成され、オペレーティングシステムを含む各種プログラム、及び各種データを格納する。
【0022】
通信I/F18は、他の機器と通信するためのインタフェースであり、例えば、イーサネット(登録商標)、FDDI(Fiber-distributed data interface)又はWi-Fi(登録商標)等の規格が用いられる。
【0023】
入力装置20は、例えば、キーボードやマウス等の、各種の入力を行うための装置である。出力装置22は、例えば、ディスプレイやプリンタ等の、各種の情報を出力するための装置である。出力装置22として、タッチパネルディスプレイを採用することにより、入力装置20として機能させてもよい。R/W部24は、CD-ROM(Compact Disk Read Only Memory)、DVD-ROM(Digital Versatile Disk Read Only Memory)、USB(Universal Serial Bus)メモリなどの各種記録媒体に記憶されたデータの読み込みや、記録媒体に対するデータの書き込み等を制御する。
【0024】
次に、データ処理装置10の機能的構成について説明する。図2に示すように、データ処理装置10は、入力部32と、ベクトル化部34と、類似性スコアリング部36と、クラスタリング部38と、分別部40とを含む。
【0025】
入力部32は、複数の既知データを含む既知データ群と、複数の未知データを含む未知データ群とからなるデータ集合の入力を受け付ける。データ集合に含まれる既知データ及び未知データの各々は、互いに対照可能な同一形式のデータであればよく、データの種別に制限はない。例えば、遺伝子の塩基配列情報や、所定の文書を示すテキストデータを、既知データ及び未知データとすることができる。
【0026】
テキストデータの場合、具体的には、自然言語からなる文書を示すテキストデータとすることができ、既知データ群と未知データ群とは同一言語とする。文書は、例えば、特許文献又は科学技術論文等の少なくとも一部のように、予め定めたフォーマット、又は、予め定めたフォーマットに類似するフォーマットに従って記述された文書とすることができる。特許文献又は科学技術論文等の少なくとも一部とは、特許文献又は科学技術論文等に含まれる、予め定めた項目内の記述、又はその項目内の記述の少なくとも一部を改変した記述である。
【0027】
項目の一例としては、「概要」、「要旨」、「課題」、「効果」、「請求項」等や、これらに類似する用語で定義された項目が挙げられる。また、記述の少なくとも一部の改変とは、段落番号や、個々の文書の記述内容に影響を与えない定型的な文言、クラスタリング処理のノイズの原因となりうる文言の削除が挙げられる。その他では、未知データの言語に合うように既知データをその言語に翻訳する場合、一部の既知データの表現、単語をユーザの関心事に応じて変更する場合が挙げられる。
【0028】
既知データとは、以前に、調査や確認などを行って、ユーザが内容を把握済みのデータであって、ユーザの関心事に対応する目的のデータであることが既知のデータである。既知データの各々には、そのデータが既知データであることを示すフラグが付与されている。既知データは、未知データを分別するための参照元のデータとなる。既知データ群に含まれる既知データの数は、例えば、10件~1000件とすることができる。
【0029】
未知データは、ユーザの関心事に対応する目的のデータであるか否かが未知のデータである。例えば、ユーザの関心事に沿って、一般的なデータ検索の手法により検索された検索結果を未知データ群とすることができる。検索結果には、ユーザの関心事との関連が低いデータも含まれる。すなわち、未知データ群には、目的のデータではない、ノイズに相当する未知データも含まれる。
【0030】
未知データは、ユーザの関心事に対応する目的のデータであるか否かが未知であるため、ユーザは、調査や確認などを行って、その内容を把握する必要があるが、例えば、検索結果は、数百件~数十万件に達する場合もあり、未知データの全てについてユーザが調査や確認を行うには、多大な労力を要する。そこで、本例示的実施形態は、未知データ群に含まれる未知データを、ユーザの関心事に対応する目的のデータか、又は、ノイズに相当するデータかに分別するものである。
【0031】
なお、未知データ群に含まれる未知データの数は、例えば、500件~10万件とすることができる。
【0032】
ベクトル化部34は、入力部32で受け付けられたデータ集合に含まれる既知データ及び未知データの各々を形態素に分解して、既知データ及び未知データの各々に含まれる単語をベクトル表現することによりベクトル化する。形態素への分解、及び単語ベクトル化には、公知の手法を用いることができる。
【0033】
例えば、ベクトル化部34は、分解された形態素の中で予め設定された助詞、接続詞、語形変化、記号等の単独では意味をなさない形態素、予めストップワードとして設定した形態素(単語)を除き、データ集合に含まれる全ての既知データ及び未知データにおいて出現する全ての単語を抽出する。なお、既知データ及び未知データの全てのデータに共通する、クラスタリング処理に不要な単語を一般的なストップワードとして定めてもよいし、あるいは、既知データ及び未知データの種別に応じてクラスタリング処理に不要な単語をストップワードとして個別に定めてもよい。例えば、特許文献を対象とする場合、「請求項」などの単語をストップワードに加えることができる。
【0034】
ベクトル化部34は、全形態素からストップワードを除いて抽出した単語の各々を、ベクトルの1番目の要素(単語1)、2番目の要素(単語2)、3番目の要素(単語3)、・・・と割り振る。そして、ベクトル化部34は、既知データ及び未知データの各々における、各要素に対応する単語の出現数を、その要素の値とするベクトルに変換する。例えば、ある既知データ(又は未知データ)に、単語1が1回、単語2が0回、単語3が2回出現する場合、その既知データ(又は未知データ)は、(1,0,2,・・・)というベクトルに変換される。
【0035】
また、ベクトルの要素の値は、既知データ及び未知データの各々における該当の単語の出現数に限定されず、例えば、特に重要な単語である場合には、予め定めた荷重を出現数に乗じてもよい。また、ベクトルの要素の値を、既知データ及び未知データの各々に含まれる全ての単語の数(上述のストップワードを除いたもの)に対する、各単語の出現数、すなわち密度の数値に置き換えてもよい。
【0036】
類似性スコアリング部36は、未知データの各々について、複数の既知データを含む既知データ群全体に対する類似度を示す類似性スコアを算出する。具体的には、類似性スコアリング部36は、ベクトル化部34で得られた、既知データ及び未知データの各々を示すベクトル間の類似度により、類似性スコアを算出する。より具体的には、類似性スコアリング部36は、各未知データについて、その未知データと全ての既知データの各々との間で算出したベクトルのコサイン類似度の合計を、その未知データの類似性スコアとして算出して、複数の既知データの全体に対する類似度とする。
【0037】
例えば、既知データ群に含まれる既知データの数がM個、未知データ群に含まれる未知データの数がN個で、既知データの各々には1~Mの番号が付与され、未知データの各々には1~Nの番号が付与されているとする。以下では、番号mの既知データを「既知データm」、番号nの未知データを「未知データn」と表記する。
【0038】
この場合、図3に示すように、未知データ1の類似性スコアS1は、未知データ1と既知データ1とのコサイン類似度s11、未知データ1と既知データ2とのコサイン類似度s12、・・・、未知データ1と既知データMとのコサイン類似度s1Mについて、s11~s1Mを合計した値である。同様に、未知データ2と、既知データ1、既知データ2、・・・、既知データMの各々とのコサイン類似度s21、s22、・・・、s2Mを合計して、未知データ2の類似性スコアS2が算出される。また、同様に、未知データNと、既知データ1、既知データ2、・・・、既知データMの各々とのコサイン類似度sN1、sN2、・・・、sNMを合計して、未知データNの類似性スコアSNが算出される。
【0039】
なお、図3において、既知データを白丸、未知データを斜線の丸で表し、丸内の数字は、既知データ及び未知データの各々に付与された番号を表している。
【0040】
なお、ベクトル間の類似度は、コサイン類似度の場合に限定されず、ユークリッド距離、マハラノビス距離など、他の指標を用いてもよい。また、未知データと既知データとの個々の類似度を合計する際、各項に荷重をかけて合計してもよい。
【0041】
上記のように類似性スコアを算出することにより、既知データ群に含まれる全ての形態素の中でストップワードを除き、出現頻度が高い形態素を含む未知データの類似性スコアは高くなる。その結果、未知データの類似性スコアは、ユーザの関心事を含むデータである場合に高くなる傾向が強いため、未知データの類似性スコアを指標にして、各未知データを序列化してユーザの関心事に対応する目的のデータを分別することができる。
【0042】
クラスタリング部38は、既知データ群及び未知データ群を含むデータ集合を、複数のクラスタにクラスタリングする。すなわち、図4に示すように、複数の既知データと複数の未知データとをまとめてクラスタリングする。
【0043】
クラスタリング処理には、階層型クラスタリング又は非階層型クラスタリング(分割最適化型クラスタリングともいう)の公知の手法を用いることができる。また、階層型クラスタリングと非階層型クラスタリングを続けて行うこともできる。本例示的実施形態では、階層型クラスタリングに比べて計算量が少なく、クラスタの個数kを任意に選択できる非階層型クラスタリングを用いる場合について説明する。
【0044】
非階層型のクラスタリングについては、既知又は未知の一個体のデータXのクラスタCi(iは1~kのいずれか)への帰属度をUiで表した場合、ΣUi=1となる制約が課せられる。本例示的実施形態で用いられるクラスタリング処理は、Uiの値が0又は1であるクリスプな分割であるクラスタリングと、Uiが0~1の間の実数を取りうるファジーな分割であるクラスタリング(ファジークラスタリングともいう)のいずれであってもよい。ファジーな分割であるクラスタリングの場合は、Uiの値に閾値となる0.5未満の上限値(例えば0.1)を設定し、Uiの値がその上限値未満であれば、データXはクラスタCiに帰属しないという定義をし、Uiの値がその上限値以上であれば、データXはクラスタCiに帰属するという定義をする。
【0045】
本例示的実施形態では、クリスプな分割であるクラスタリングとして、公知のK-平均法(K-means法ともいう)を用いる場合について説明する。K-平均法の計算に用いる距離の定義としては、ユークリッド距離が標準的であるが、ユークリッド距離の他ではマンハッタン距離、チェビシェフ距離、さらにはそれらを一般化したミンコフスキー距離のいずれの定義を採用してもよい。また、データ間に相関性があることを前提とするならばマハラノビス距離であってもよく、数学的に有意な距離の定義を適宜選択することができる。
【0046】
クラスタリング部38は、クラスタリング処理を、ユーザにより設定された処理回数繰り返す。K-平均法であるクラスタリング処理を連続的に複数回行なう場合は、処理回数毎にクラスタ数kの値を変更して行なってもよい。ただし、K-平均法には、重心計算開始時の初期値依存性があるため、一部の未知データの分別結果(詳細は後述)にばらつきが生じることを考慮して、クラスタ数kの値を一定のまま行なってもよい。kは、2回以上の任意の回数、例えば、3回~100回とすることができる。
【0047】
なお、クラスタの個数kは、ユーザにより設定されるが、その適切な値の範囲については後述する。なお、図4では、k=3に設定された例を概略的に示している。
【0048】
分別部40は、類似性スコアリング部36で算出された類似性スコア、及びクラスタリング部38におけるクラスタリング処理の結果に基づいて、未知データ群に含まれる未知データを、目的のデータとノイズデータとに分別する観点で序列化する。
【0049】
具体的には、分別部40は、クラスタリング部38におけるクラスタリング処理の結果に基づいて、既知データを少なくとも1つ含むクラスタに属する未知データの少なくとも一部と、既知データをいずれも含まないクラスタに属する未知データの少なくとも一部とを分別する。図4の例では、クラスタA及びクラスタBには、既知データが含まれているが、クラスタCには既知データが含まれていない。したがって、この場合、分別部40は、クラスタA及びクラスタBに属する未知データと、クラスタCに属する未知データとを分別する。
【0050】
これにより、既知データのいずれかに類似する未知データと、既知データのいずれにも類似しない未知データとを分別することができ、既知データのいずれにも類似しない未知データについては、検索結果に含まれるノイズであると判断することができる。
【0051】
上記のような分別を行うためには、既知データをいずれも含まないクラスタが発生する必要がある。そのためには、上述したクラスタリング部38でのクラスタリング処理の際に設定されるクラスタ数kは、既知データ群に含まれる既知データの数をMとした場合、k>M/4とすることができる。この場合、個々の既知データが多数重複して一部のクラスタに帰属する傾向があるため、既知データを含まないクラスタが発生する可能性が高まる。また、確実に既知データを含まないクラスタを発生させるためには、k>Mとすればよい。さらに、k>2Mとすれば、既知データを含まないクラスタが、既知データを含むクラスタと同等数以上発生するため、未知データの分別精度及び分別の効率性が向上する。
【0052】
クラスタリング数kが小さ過ぎると、既知データとの類似性が高い未知データと、ノイズの未知データとを確定的に分別できない可能性が高まるため、kの値は小さくなり過ぎないように設定する必要がある。M及びNの値、クラスタリングの手法、対象のデータの種別等にもよるが、上記の点を考慮し、kの値の下限は、一例として、15以上、25以上、50以上、100以上とすることができる。
【0053】
また、クラスタ数kの上限は、既知データ群に含まれる既知データの数をM、未知データ群に含まれる未知データの数をNとした場合、M+N未満である。kがM+N以上の場合、全ての未知データが、既知データを含まないクラスタに属することになり、未知データの分別ができないためである。この点を考慮し、kの値の上限は、例えば、M+Nの1/3以下、1/5以下等とすることができ、一例として、M+N未満という制約の中で、10,000以下、1,000以下等を上限とすることができる。
【0054】
また、k個に分割されたクラスタの各々に含まれる既知データ及び未知データの合計数の平均が、3~100個程度になるようにkの値を設定してもよい。
【0055】
分別部40の処理の説明に戻って、例えば、分別部40は、未知データの各々に、既知データを少なくとも1つ含むクラスタに属することを示すラベル、又は、既知データをいずれも含まないクラスタに属することを示すラベルを付与する。本例示的実施形態では、クラスタリング処理が複数回繰り返されることに対応して、既知データを少なくとも1つ含むクラスタに属した回数をラベルとして付与する。
【0056】
より具体的には、分別部40は、クラスタリング処理が行われる毎に、既知データを少なくとも1つ含むクラスタに属する未知データのカウントを1加算し、全処理回数を終了した時点でのカウントの値をラベルとして扱う。例えば、処理回数が3回の場合において、ある未知データが、いずれの処理回のクラスタリングにおいても、既知データを少なくとも1つ含むクラスタに属した場合、カウントの値は3となる。また、ある未知データが、既知データを少なくとも1つ含むクラスタに1回も属さなかった場合、カウントの値は0となる。
【0057】
カウントの値は、いずれかの既知データとの類似性の高さを表す指標となり、カウントの値が大きい(例えば、処理回数全回に相当する値)未知データほど、いずれかの既知データとの類似性が高い未知データであるといえる。一方、カウントの値が小さい(例えば0)未知データほど、ノイズデータである可能性が極めて高いといえる。
【0058】
分別部40は、カウントの値が大きい順に、各未知データを序列化する。また、分別部40は、類似性スコアリング部36により算出された類似性スコアが高い順に、各未知データを序列化する。分別部40は、序列化した結果に基づいて、未知データを分別したリストを、分別結果として作成する。
【0059】
例えば、分別部40は、類似性スコアによる序列の上位から予め定めた割合までの未知データを目的のデータに分別する。さらに、分別部40は、残りの未知データについて、クラスタリングの結果であるカウントの値による序列の上位から予め定めた割合までの未知データを目的のデータに分別し、残りの未知データをノイズデータに分別する。例えば、類似性スコアによる序列の上位10%を目的のデータに分別し、さらにクラスタリングの結果であるカウントの値による序列の上位10%を目的のデータに分別する。これにより、合計20%の未知データを目的のデータとして絞り込むことができ、残りの80%の未知データをノイズデータとして、その内容の調査及び確認を省略するなどの対応をとることができる。図5に、分別結果の一例を示す。
【0060】
なお、上記の例では、序列の上位からの割合で未知データを分別する場合について説明したが、予め定めた閾値で分別してもよい。例えば、分別部40は、カウントの値が閾値TH1以上の未知データを目的のデータ、TH1未満の未知データをノイズデータに分別してもよい。閾値TH1は、処理回数全回に相当する値であってもよいし、処理回数の1/2等に相当する値であってもよい。また、分別部40は、類似性スコアが閾値TH2以上の未知データを目的のデータ、TH2未満の未知データをノイズデータに分別してもよい。
【0061】
また、分別結果の作成例は上記の例に限定されず、例えば、図6に示すように、番号順に並べた未知データに対して、上記のように分別した結果を付与したものであってもよい。また、図5及び図6に示すように、目的データとノイズデータとを明確に分別した分別結果に限定されず、例えば、図7に示すように、各未知データに対して、類似性スコア及びカウントの値を付与した分別結果を作成して出力してもよい。この場合、予め定めた割合や閾値で画一的に分別する場合に比べ、ユーザによる柔軟な判断で分別を行うことができる。さらに、図7の場合、類似性スコア若しくはカウントの値、又は、類似性スコアとカウントの値とを統合したスコアの順に未知データを並び替えた分別結果を作成してもよい。
【0062】
次に、本例示的実施形態のデータ処理装置10の作用を説明する。CPU12が、記憶装置16に記憶されたデータ処理プログラムをメモリ14に展開して実行することによって、図8に示すデータ処理が実行される。図8に示すデータ処理は、例えば、複数の既知データを含む既知データ群と、複数の未知データを含む未知データ群とからなるデータ集合がデータ処理装置10へ入力された場合に開始される。
【0063】
ステップS12で、入力部32が、入力されたデータ集合を受け付ける。ここでは、既知データ群に含まれる既知データを、既知データm(m=1,2,・・・,M、Mは既知データ群に含まれる既知データの数)とする。また、未知データ群に含まれる未知データを、未知データn(n=1,2,・・・,N、Nは未知データ群に含まれる未知データの数)とする。
【0064】
次に、ステップS14で、ベクトル化部34が、入力部32で受け付けられたデータ集合に含まれる既知データm及び未知データnの各々を形態素に分解して、既知データm及び未知データnの各々に含まれる単語をベクトル表現することによりベクトル化する。
【0065】
次に、ステップS16で、類似性スコアリング部36が、上記ステップS14で得られた既知データm及び未知データnの各々を示すベクトルを用いて、未知データnの各々について、類似性スコアSnを算出する。例えば、類似性スコアリング部36は、未知データnと全ての既知データmの各々との間で算出したベクトルのコサイン類似度snmの合計を、未知データnの類似性スコアSn(Sn=sn1+sn2+・・・+snM)として算出する。
【0066】
次に、ステップS18で、クラスタリング部38が、クラスタリング処理におけるクラスタ数k、及び繰り返しの処理回数Iを設定する。k及びIの値は、ユーザから入力された値を設定したり、予め所定の記憶部に記憶されていた値を読み出して設定したりすることができる。
【0067】
次に、ステップS20で、クラスタリング部38が、現在の処理回数を示す変数iに1を設定する。
【0068】
次に、ステップS22で、クラスタリング部38が、ステップS12で受け付けられた既知データm(m=1,2,・・・,M)と未知データn(n=1,2,・・・,N)とをまとめて、例えば、K-平均法によりクラスタリングする。
【0069】
次に、ステップS24で、分別部40が、既知データmを少なくとも1つ含むクラスタに属する未知データnのカウントを1加算する。
【0070】
次に、ステップS26で、クラスタリング部38が、iがIを超えたか否かを判定し、iがI以下の場合には、ステップS28へ移行し、iを1インクリメントして、ステップS22に戻る。一方、iがIを超えた場合には、ステップS30へ移行する。
【0071】
ステップS30では、分別部40が、上記ステップS24で加算されたカウントの値が大きい順に、各未知データnを序列化する。また、分別部40が、上記ステップS16で算出された類似性スコアSnが高い順に、各未知データnを序列化する。そして、分別部40は、序列化した結果に基づいて、未知データnを、目的のデータかノイズデータかに分別した分別結果のリストを作成する。
【0072】
次に、ステップS32で、分別部40が、上記ステップS30で作成した分別結果のリストを出力して、データ処理は終了する。
【0073】
次に、上記例示的実施形態の具体例について説明する。
【0074】
本具体例では、既知データ及び未知データの種別を、日本語の特許公報から抽出した請求項の記述とした。未知データは、ユーザの関心事に基づく検索により得られた約2,000件の特許公報の特許番号、及びその特許公報に含まれる請求項とした。また、既知データは、事前に調査や確認などがなされて、ユーザの関心事に関係する内容を示す記述であった、既知の特許公報に含まれる請求項70件分とした。また、既知データ及び未知データのベクトル化においては、形態素に分解した後に、記号や非特徴語等の所定のストップワードを除外した。さらに、類似性スコアは、上記例示的実施形態と同様に算出し、クラスタリングにはK-平均法を用いて、クラスタ数k=200、繰り返しの処理回数=3回とした。
【0075】
未知データを、目的のデータとノイズデータとに分別する条件は、以下の通りとした。
(1)類似スコアの序列上位10%の未知データを目的のデータとする。
(2)クラスタリング全3回中2回以上、既知データを含むクラスタに属した未知データを目的のデータとする。
(3)上記(1)及び(2)で目的のデータに分別されなかった未知データをノイズデータとする(クラスタリング全3回とも既知データを含むクラスタに属さなかった未知データを含む)。
【0076】
この場合、約400件の未知データが目的のデータに分別され、約1,600件の未知データがノイズデータに分別された。
【0077】
以上説明したように、本例示的実施形態に係るデータ処理装置によれば、目的のデータであることが既知の複数の既知データと、目的のデータであるか否かが未知の複数の未知データとをまとめて複数のクラスタにクラスタリングする。そして、既知データを少なくとも1つ含むクラスタに属する未知データの少なくとも一部と、既知データをいずれも含まないクラスタに属する未知データの少なくとも一部とを分別する。これにより、膨大な未知データの中から、ユーザが内容を確認すべき未知データの件数を絞り込むことができ、個別的かつ多様な関心事に対して、目的とするデータを効率的に得ることができる。
【0078】
また、上記例示的実施形態では、クラスタリングによる未知データの分別と、類似性スコアによる分別とを併用している。類似性スコアによる分別では、既知データ群全体の単語的特徴を反映し易いが、既知データの個々の単語的特徴は反映し難い。一方、クラスタリングによる分別では、既知データ群全体の単語的特徴を反映し難いが、既知データの個々の単語的特徴は反映し易い。このように相補的な効果を有する手法を組み合わせることにより、より精度良く未知データを分別することができる。
【0079】
また、上記例示的実施形態では、クラスタリング処理を連続的に複数回行ない、既知データを含むクラスタに属した回数をカウントし、この回数に基づいて目的データとノイズデータとを分別する。これにより、分別の精度が向上する。
【0080】
なお、上記例示的実施形態では、クラスタリングによる未知データの分別と、類似性スコアによる分別とを併用する場合について説明したが、これに限定されず、クラスタリングのみにより未知データの分別を行ってもよい。
【0081】
また、上記例示的実施形態では、クラスタリングを複数回繰り返す場合について説明したが、これに限定されず、1回のクラスタリング結果に基づいて、未知データの分別を行ってもよい。
【0082】
また、上記例示的実施形態で例示した、既知データ及び未知データの種別、数、クラスタリングの手法、各種数値は一例であり、上記の例に限定されるものではない。
【0083】
また、上記例示的実施形態では、データ処理装置を構成する各機能部を1つのコンピュータで実現する場合について説明したが、各機能部を複数のコンピュータに分散したシステムとして構成してもよい。
【0084】
また、上記例示的実施形態において、例えば、入力部32、ベクトル化部34、類似性スコアリング部36、クラスタリング部38、及び分別部40といった各種の処理を実行する処理部(processing unit)のハードウェア的な構造としては、次に示す各種のプロセッサ(processor)を用いることができる。上記各種のプロセッサには、前述したように、ソフトウェア(プログラム)を実行して各種の処理部として機能する汎用的なプロセッサであるCPUに加えて、FPGA(Field-Programmable Gate Array)等の製造後に回路構成を変更可能なプロセッサであるプログラマブルロジックデバイス(Programmable Logic Device:PLD)、ASIC(Application Specific Integrated Circuit)等の特定の処理を実行させるために専用に設計された回路構成を有するプロセッサである専用電気回路等が含まれる。
【0085】
1つの処理部は、これらの各種のプロセッサのうちの1つで構成されてもよいし、同種又は異種の2つ以上のプロセッサの組み合わせ(例えば、複数のFPGAの組み合わせや、CPUとFPGAとの組み合わせ)で構成されてもよい。また、複数の処理部を1つのプロセッサで構成してもよい。
複数の処理部を1つのプロセッサで構成する例としては、第1に、クライアント及びサーバ等のコンピュータに代表されるように、1つ以上のCPUとソフトウェアの組み合わせで1つのプロセッサを構成し、このプロセッサが複数の処理部として機能する形態がある。第2に、システムオンチップ(System On Chip:SoC)等に代表されるように、複数の処理部を含むシステム全体の機能を1つのIC(Integrated Circuit)チップで実現するプロセッサを使用する形態がある。このように、各種の処理部は、ハードウェア的な構造として、上記各種のプロセッサの1つ以上を用いて構成される。
【0086】
更に、これらの各種のプロセッサのハードウェア的な構造としては、より具体的には、半導体素子などの回路素子を組み合わせた電気回路(circuitry)を用いることができる。
【0087】
また、上記例示的実施形態では、プログラムが記憶部に予め記憶(インストール)されている態様を説明したが、これに限定されない。プログラムは、CD-ROM、DVD-ROM、USBメモリ等の記録媒体に記録された形態で提供されてもよい。また、プログラムは、ネットワークを介して外部装置からダウンロードされる形態としてもよい。
【0088】
本明細書に記載された全ての文献、特許出願及び技術規格は、個々の文献、特許出願及び技術規格が参照により取り込まれることが具体的かつ個々に記された場合と同程度に、本明細書中に参照により取り込まれる。
【0089】
2018年10月11日出願の日本国特許出願2018-192669号の開示は、その全体が参照により本明細書に取り込まれる。
図1
図2
図3
図4
図5
図6
図7
図8