以下、本開示の実施の形態について、図面を参照しながら詳細に説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰り返さない。
[実施の形態]
図1は、本実施の形態に係る文書分類装置100の一例の概略図である。文書分類装置100は、未分類の文書から特定の数値データに関する項目を含む文書を分類する。文書分類装置100では、ユーザが検索式を入力すると、当該検索式に関連する内容が含まれる文書を、未分類文書(例えば、特許文献データベースから収集した特定分野の文書)の中から分類して、その分類した文書の情報をユーザに出力する。
具体的に、MLCC(Multilayer Ceramic Chip Capacitor)やLTCC(Low Temperature Co-fired Ceramics)などの開発において、粒径が80nm未満の微粒である材料の開発を行う場合に、文書分類装置100に検索式として「粒径が1.2nm~79nm」と入力し、未分類文書の中から「粒径が1.2nm~79nm」に関連する内容の文書を「微粒である文書」と分類して、その分類した文書の情報をユーザに出力する。
文書分類装置100では、AI(人工知能:Artificial Intelligence)を利用して、未分類文書の中から検索式に関連する内容が含まれる文書を自動的に分類して、検索式に関連する文書を特定する処理を実行するように構成されている。具体的に、ユーザが文書分類装置100に検索式を入力すると、文書分類装置100は、ニューラルネットワークを含む学習モデルに基づき文書から検索式に関連する特徴語を抽出して、検索式に関連する文書か否かを特定する分類処理を実行する。
ここで、「学習モデル」は、ニューラルネットワークと当該ニューラルネットワークによって用いられるパラメータとを含み、検索式に関連する特徴語を含む文書と、その文書が検索式に関連する文書であるとラベルされた情報とに基づき学習されることで最適化(調整)される。具体的に、学習モデルは、文書が入力されると、ニューラルネットワークによって当該文書から検索式に関連する特徴語を抽出し、抽出した特徴語に基づき検索式に関連する文書か否かを分類する。
そして、学習モデルは、自身が分類した文書と、入力された文書にラベルされた情報(検索式に関連する文書か否かの情報)とに基づき、両者が一致すればパラメータを更新しない一方で、両者が一致しなければ両者が一致するようにパラメータを更新することで、パラメータを最適化している。このように、学習モデルは、入力される文書と、正解データである当該文書にラベルされた情報とを含む教師データを利用して、パラメータが最適化されることで学習される。
なお、このような学習モデルを学習する処理を「学習フェーズ」とも称する。また、学習フェーズによって最適化された学習モデルを、特に「学習済モデル」とも称する。つまり、本実施の形態においては、学習前の学習モデルおよび学習済みの学習モデルをまとめて「学習モデル」と総称する場合がある一方で、学習済みの学習モデルを学習前の学習モデルと区別するために「学習済モデル」とも称する場合がある。
一般的に、教師データを利用して学習モデルを学習させる場合、ユーザがあらかじめ検索式に関連する文書と検索式に関連しない文書を分類して文書にラベルを付す作業が必要となる。教師データとなる文書の数が多ければ多いほど、学習済モデルによる未分類文書の分類精度が高くなるので、多くの文書にラベルを付す必要がある。
しかし、教師データが数十件の文書であれば、ユーザが文書にラベルを付す作業は可能であるが、教師データが数百件、数千件の文書であれば、ユーザが文書にラベルを付す作業は困難である。
そこで、教師データを生成する作業において、検索式で検索した文書に対して自動的にラベルを付すことでユーザの作業を軽減することが考えられる。しかし、文書データベース(例えば、特許文献データベース)で収集した文書に対して「粒径が1.2nm~79nm」という単純な検索式で検索するだけでは、「微粒」の教師データを生成することできない。
つまり、検索式として「粒径が1.2nm~79nm」を入力し、粒径が1.2nm~79nmとなる材料を使用した文書を検索する場合、単に文書データベースで収集した文書から「粒径」と「1.2nm」と「79nm」とを含む文書を検索するだけでは、粒径が50nmの材料使用した文書などが検索結果から漏れてしまう。そのため、文書データベースで収集した文書から特徴である「粒径」と数値である「1.2nm」と「79nm」とを関連付けて抽出し、データベース化した上で検索を行う必要がある。
本実施の形態に係る文書分類装置100では、図1に示すように学習フェーズとして、文書データベースから対象特許の文書の収集した教師文書(教師データ)に対して、検索式(特定の数値データ)を含む文書にラベルを自動的に付与して、学習モデルを学習する。また、文書分類装置100では、図1に示すように学習後として、学習フェーズで学習した学習モデル(学習済モデル)を用いて、未分類文書を「微粒である文書」と「微粒でない文書」とに分類する。
文書分類装置100は、学習フェーズにおいて、検索式(特定の数値データ)を含む文書を教師文書から数値検索処理で特定してラベルを付与する(自動ラベル)ために、当該文書から化学式、材料、特性などの特徴部分と、数値または数値範囲などの数値部分とを関連付けて数値データとして抽出し、データベースに格納して検索に利用する。以下、文書から特徴部分と数値部分とを関連付けて数値データとして抽出する技術を含む数値検索処理について説明する。
まず、文書分類装置100のハードウェア構成について詳しく説明する。図2は、本実施の形態に係る文書分類装置100の構成を説明するためのブロック図である。文書分類装置100は、オペレーティングシステム(OS:Operating System)を含む各種プログラムを実行するCPU101と、CPU101でのプログラムの実行に必要なデータを一時的に記憶するメモリ部112と、CPU101で実行されるプログラムを不揮発的に記憶するハードディスク部(HDD:Hard Disk Drive)110とを含む。
また、ハードディスク部110には、教師データによる学習モデルの学習処理、学習済モデルによる未分類文書の分類処理、自動ラベルのための数値検索処理などの処理を実現するためのプログラムが予め記憶されており、このようなプログラムは、光学ドライブ114などによって、それぞれCD-ROM(Compact Disk-Read Only Memory)などの記憶媒体114aから読み取られる。
CPU101は、キーボードやマウスなどからなる入力部108を介してユーザなどからの検索式を受取るとともに、プログラムの実行によって分類された文書などを、ディスプレイ部104へ出力する。各部は、バス102を介して互いに接続される。また、インターフェイス部106は、図示していない文書データベースなどに接続されている。なお、文書分類装置100と文書データベースとの接続は、有線で接続されても無線で接続されてもよい。
次に、文書分類装置100で実行される数値検索処理について具体的に説明する。図3は、本実施の形態に係る文書分類装置100での数値検索処理を説明するための機能ブロック図である。文書分類装置100は、数値検索処理を実行するために収集部300、データ抽出部400、データベース部500、およびラベル付与部600の機能を備えている。収集部300は、文書データベースから対象文書(教師データとなる文書)を収集する。データ抽出部400は、収集した対象文書から、特徴部分と数値部分とを関連付けた数値データを抽出する。データベース部500は、データ抽出部400で抽出した数値データを、抽出した文書の文書データと関連付けて格納する。ラベル付与部600は、入力された検索式に基づく検索した文書に対して自動的にラベルを付す。
さらに、収集部300について詳しく説明する。図4は、本実施の形態に係る文書分類装置100での収集部300の処理を説明するための機能ブロック図である。収集部300では、ユーザが対象とする文書(例えば、BaCO3を主成分とするMLCCの特許文献)を文書データベースから全文をダウンロード301する。例えば、ユーザが、文書データベースで「BaCO3」を含むMLCCの文書を検索し、検索結果の文書を収集部300が全文ダウンロードする。ダウンロードした文書には、「.xml」、「.htm」、「.csv」などの形式のデータが含まれている。データ抽出部400では、テキストデータを処理するため、収集部300は、文書データベースからダウンロードした文書のデータをテキストデータに変換している。
具体的に、収集部300は、「.xml」形式のデータをテキストデータに変換する処理を「.xmlの変換」302で行う。また、収集部300は、「.htm」形式のデータをテキストデータに変換する処理を「.htmの変換」303で行う。さらに、収集部300は、「.csv」形式のデータをテキストデータに変換する処理を「.csvの変換」304で行う。
収集部300は、「.xmlの変換」302、「.htmの変換」303および「.csvの変換」304で変換した文書のテキストデータを比較して、重複している文書のデータを削除する(重複データの削除305)。収集部300は、重複データの削除305を行った文書のテキストデータを中間ファイル320として出力する。
一方、文書データベースから文書のデータをダウンロードするのではなく、予め複数の文書のデータを含むファイルを用意しておき、収集部300は、当該ファイルを読み込み310、文書のデータを収集することもできる。ファイルから読み込んだ文書のデータには、「.docx」、「テキスト」などの形式のデータが含まれている。収集部300は、「.docx」形式のデータをテキストデータに変換する処理を「.docxの変換」311で行う。ファイルに含まれる文書のデータには、重複した文書のデータが含まれていないので、収集部300は、「.docxの変換」311で変換した文書のテキストデータと、ファイルに含まれている文書のテキストデータとを中間ファイル320として出力する。
次に、収集部300で収集した文書のテキストデータから、特徴部分と数値部分とを関連付けた数値データを抽出するデータ抽出部400について説明する。図5は、本実施の形態に係る文書分類装置100のデータ抽出部400での処理を説明するための機能ブロック図である。データ抽出部400は、文書のテキストデータから特徴部分および数値部分を解析する形態素・字句解析部410と、特徴部分と数値部分とを関連付ける関連解析部430とを備えている。さらに、データ抽出部400は、関連解析部430での処理において関連付けを除外する条件を予め設定しておく除外設定部450と、関連解析部430で関連付けた数値データを抽出する抽出部470とを備えている。
形態素・字句解析部410での処理についてさらに詳しく説明する。図6は、本実施の形態に係る文書分類装置100の形態素・字句解析部410での処理を説明するための機能ブロック図である。形態素・字句解析部410は、収集部300から出力された中間ファイル320を読み込み411、当該中間ファイル320から文書のテキストデータを取り込み、形態素解析部412で取り込んだ文書のテキストデータを処理する。
形態素解析部412では、予め定められた言語の文法、辞書の情報(例えば、単語の品詞などの情報)にもとづき、取り込んだ文書のテキストデータを形態素の列に分割し、それぞれの形態素に対して品詞などの解析を行う。
形態素解析部412で形態素の列に分割した文書のテキストデータから、プッシュダウンオートマトン(PDA:Push down Automaton)により特徴部分および数値部分を特定する字句解析を行う。なお、字句解析として、プッシュダウンオートマトンに限らず、有限オートマトンや、さらに複雑なオートマトンであってもよい。
具体的に、特性名帰属PDA413では、予め定められた特性名(例えば、分散剤、厚み、抵抗値、粒径など)に対応する字句を形態素の列からプッシュダウンオートマトンで特定して、「feature」とラベリングして1つの字句として扱う。材料名帰属PDA414では、予め定められた材料名(例えば、ネオジム、酸化チタン、炭酸バリウムなど)に対応する字句を形態素の列からプッシュダウンオートマトンで特定して、「material」とラベリングして1つの字句として扱う。
また、単位帰属PDA415では、予め定められた単位(例えば、g、mol、nmなど)に対応する字句を形態素の列からプッシュダウンオートマトンで特定して、「unit」とラベリングして1つの字句として扱う。数値帰属PDA416では、予め定められた数値(例えば、アラビア数字、漢数字、ローマ数字など)に対応する字句を形態素の列からプッシュダウンオートマトンで特定して、「amount」とラベリングして1つの字句として扱う。なお、単位帰属PDA415で特定した「unit」の字句と、数値帰属PDA416で特定した「amount」の字句とが近傍(例えば、予め定められた形態素の数の範囲内)に存在している場合、数値帰属PDA416は、「unit」の字句と「amount」の字句とを1つの「amount」の字句として扱う。
また、数値帰属PDA416では、複数の形態素のうちに1つの数値が含まれている場合、当該数値に予め定められた数値範囲(例えば、当該数値の±1%の範囲)を付与して1つの「amount」の字句として扱ってもよい。これにより、数値同士を比較する際に、数値に幅を持った数値範囲同士の比較となり、比較が容易となる。さらに、数値帰属PDA416では、複数の形態素のうちに複数の数値と、範囲を示す予め定められた形態素(例えば、「~」)とが含まれている場合、当該複数の数値に基づく数値範囲を1つの「range」の字句として扱ってもよい。もちろん、数値であっても数値範囲であっても、区別せずに1つの「amount」の字句として扱ってもよい。
数式帰属PDA417では、予め定められた数式(例えば、x、1-x、0<x≦1など)に対応する字句を形態素の列からプッシュダウンオートマトンで特定して、「formula」とラベリングして1つの字句として扱う。化学式帰属・組成復元PDA418では、予め定められた化学式や組成(例えば、Ca、TiO2、BaCO3など)に対応する字句を形態素の列からプッシュダウンオートマトンで特定して、「material」とラベリングして1つの字句として扱う。
数値帰属PDA416で特定した「amount」の字句と、数式帰属PDA417で特定した「formula」の字句と、化学式帰属・組成復元PDA418で特定した「material」とが近傍に存在している場合、化学式帰属・組成復元PDA418は、「amount」の字句と「formula」の字句と「material」の字句とを1つの「material」の字句として扱う。具体的に、「Ba1-xCaxTiO3(0<x≦1)」なる字句を解析する場合、「amount」の字句として「3」、「formula」の字句として「x」、「1-x」、「0<x≦1」、「material」の字句として「Ba」、「Ca」、「TiO」とそれぞれ解析する。それらの字句が近傍に存在しているので、化学式帰属・組成復元PDA418は、最終的に「Ba1-xCaxTiO3(0<x≦1)」なる字句を、1つの「material」の字句として扱う。
形態素・字句解析部410では、「material」または「feature」とラベリングされた字句を特徴部分に分類し、「amount」または「range」とラベリングされた字句を数値部分に分類している。
次に、具体例を示して形態素・字句解析部410での処理について説明する。図7は、本実施の形態に係る文書分類装置100の形態素・字句解析部410での処理の一例を説明するための概念図である。取り込んだ文書のテキストデータに「TiO2を主成分として1.20g使用した。」との文章420が含まれている場合、まず形態素解析部412で当該文章420を形態素の列に分割する。
形態素解析部412は、文章420を形態素の列に分割して、複数の形態素を含む列データ421を出力する。列データ421には、「TiO」、「2」、「を」、「主成分」、「と」、「し」、「て」、「1」、「.」、「20」、「g」、「使用」、「し」、「た」、「。」の形態素を含んでいる。
字句解析では、列データ421に含まれる形態素のうち、「TiO」の形態素421aを「material」の字句として特定し、「2」の形態素421bを「amount」の字句として特定する。さらに、字句解析では、「TiO」の形態素421aと「2」の形態素421bとが近傍に存在しているので、「TiO2」を1つの「material」の字句422として扱う。
また、字句解析では、列データ421に含まれる形態素のうち、「1」の形態素421c、「.」の形態素421d、「20」の形態素421eを「amount」の字句として特定し、「g」の形態素421fを「unit」の字句として特定する。さらに、字句解析では、「1」の形態素421c、「.」の形態素421d、「20」の形態素421eと、「g」の形態素421fとが近傍に存在しているので、「1.20g」を1つの「amount」の字句423として扱う。
図8は、本実施の形態に係る文書分類装置100の形態素・字句解析部410での処理の別の一例を説明するための概念図である。取り込んだ文書のテキストデータに「TiO2を主成分として1.20g~1.50g使用した。」との文章420aが含まれている場合、まず形態素解析部412で当該文章420aを形態素の列に分割する。
形態素解析部412は、文章420aを形態素の列に分割して、複数の形態素を含む列データ421Aを出力する。列データ421Aには、「TiO」、「2」、「を」、「主成分」、「と」、「し」、「て」、「1」、「.」、「20」、「g」、「~」、「1」、「.」、「50」、「g」、「使用」、「し」、「た」、「。」の形態素を含んでいる。
字句解析では、列データ421Aに含まれる形態素のうち、「TiO」の形態素421aを「material」の字句として特定し、「2」の形態素421bを「amount」の字句として特定する。さらに、字句解析では、「TiO」の形態素421aと「2」の形態素421bとが近傍に存在しているので、「TiO2」を1つの「material」の字句422として扱う。
また、字句解析では、列データ421Aに含まれる形態素のうち、「1」の形態素421c、「.」の形態素421d、「20」の形態素421eを「amount」の字句として特定し、「g」の形態素421fを「unit」の字句として特定する。同様に、字句解析では、列データ421Aに含まれる形態素のうち、「1」の形態素421h、「.」の形態素421i、「50」の形態素421jを「amount」の字句として特定し、「g」の形態素421kを「unit」の字句として特定する。さらに、字句解析では、「g」の形態素421fと「1」の形態素421hとの間に、「~」のような範囲を示す予め定められた形態素421gが含まれているので、「1」の形態素421c~「g」の形態素421kを「1.20g~1.50g」とする1つの「range」の字句424として扱う。もちろん、字句解析では、「amount」と「range」とを区別せず、「range」の字句424を「amount」の字句として扱ってもよい。なお、範囲を示す予め定められた形態素としては、「~」以外に「から」、「まで」など形態素を設定することが可能である。
次に、関連解析部430は、形態素・字句解析部410において選択された特徴部分と数値部分とを関連付ける。図9は、本実施の形態に係る文書分類装置100の関連解析部430での処理を説明するための機能ブロック図である。
図9に示す関連解析部430では、形態素の列からプッシュダウンオートマトンで「material」とラベリングされた材料の字句と「amount」とラベリングされた数値の字句とを特定して、関連付ける(材料+数値)抽出PDA431を有している。また、関連解析部430では、形態素の列からプッシュダウンオートマトンで「material」とラベリングされた材料の字句と「formula」とラベリングされた数式の字句とを特定して、関連付ける(材料+数式)抽出・組成復元PDA432を有している。さらに、関連解析部430では、形態素の列からプッシュダウンオートマトンで「feature」とラベリングされた材料の字句と「amount」とラベリングされた数値の字句とを特定して、関連付ける(特性+数値)抽出PDA433を有している。
具体例を示して関連解析部430での処理について説明する。図10は、本実施の形態に係る文書分類装置100の関連解析部430での処理の一例を説明するための概念図である。関連解析部430は、形態素・字句解析部410で処理したデータに「TiO2」を1つとする「material」の字句422と、「1.20g」を1つとする「amount」の字句423とを含んでいる場合、字句422と字句423との間に「を」のような関連を示す予め定められた形態素425が含まれているか否かを判定する。なお、関連を示す予め定められた形態素425の一例として「を」を示したが、「材料Xが1.0g」の「が」、「1.0gの材料X」の「の」など、他に「として」、「:」などが関連を示す予め定められた形態素と考えられる。また、関連を示す予め定められた形態素425は、「を」などの単独の形態素だけに限られず、複数の形態素を組み合わせたものを含めてもよい。一例として「換算」と「で」の2つの形態素を組み合わせた「換算で」を含めてもよい。
関連解析部430は、字句422と字句423との間に形態素425が含まれている場合、字句422と字句423との間に含まれる形態素の数を求める。図10の例では、字句422と字句423との間に含まれる形態素の数は5個である。
関連解析部430は、字句422と字句423との間に含まれる形態素の数が予め定められた数(例えば、10個)以下であれば、求めた字句422と字句423との距離が近いとして、関連がある字句同士であると判定する。図10の例では、形態素の数が5個と予め定められた数以下のため、字句422と字句423とが関連があると判定している。なお、図10の例では、「material」の字句422と「amount」の字句423との関連を抽出するため、(材料+数値)抽出PDA431で処理される。
図9に戻って、抽出部470は、関連解析部430で関連がある判定された字句を関連付けた数値データとして抽出して、データベース部500に出力する。データベース部500では、抽出部470で抽出した数値データと、当該数値データを抽出した文書の文書データ(例えば、文書の書誌情報など)とを関連付けて格納する。図10の例では、抽出部470が、関連がある字句と判定した「TiO2を主成分として1.20g」を一つの関連する数値データ431として抽出する。数値データ431には、material=TiO2、amount=1.20gの情報が含まれることになる。
前述のように、関連解析部430は、字句と字句との間に含まれる形態素の数が予め定められた数以下か否かのみで、関連がある字句か否かを判定している。しかし、関連解析部430は、字句と字句との間に含まれる形態素の数のみで関連がある字句か否かを判定した場合、取り込んだ文書によっては全く関連のない字句を誤って関連があると判定する虞がある。
図11は、誤って関連がある字句と判定する一例を説明するための概念図である。取り込んだ文書のテキストデータに含まれる「TiO2を主成分100gに対して1.20g使用。」の文章420bに対して、形態素・字句解析部410での処理を行う。形態素・字句解析部410での処理の結果、文章420bには、「TiO2」を1つとする「material」の字句422と、「100g」を1つとする「amount」の字句426と、「1.20g」を1つとする「amount」の字句423とを含んでいると解析される。
関連解析部430は、字句422と字句426との間に「を」のような関連を示す予め定められた形態素425が含まれ、字句422と字句426との間に含まれる形態素の数が2個と予め定められた数以下であるので、関連がある字句と判定する。
抽出部470は、関連解析部430で関連がある字句と判定した「TiO2を主成分100g」を一つの関連する数値データ432として抽出する。数値データ432には、material=TiO2、amount=100gの情報が含まれることになる。
しかし、「TiO2を主成分100gに対して1.20g使用。」の文章420bでは、本来の意味から「TiO2」が「1.20g」使用することを関連させる必要がある。そのため、数値データ432のようにmaterial=TiO2とamount=100gとを関連付けた情報は誤った情報(NG)である。
そこで、本実施の形態に係る文書分類装置100では、図9に示すように関連解析部430で字句の関連を判定する際に、関連付けを除外する条件を予め設定しておく除外設定部450を備えている。つまり、関連解析部430では、字句と字句との間に含まれる形態素の数のみで関連がある字句か否かを判定するのではなく、除外設定部450に予め設定してある条件に当てはまる形態素を無視して字句の関連を判定する。
図12は、本実施の形態に係る文書分類装置100の関連解析部430で除外設定部450の条件を考慮した処理の一例を説明するための概念図である。取り込んだ文書のテキストデータに含まれる「TiO2を主成分100gに対して1.20g使用。」の文章420b(図11参照)に対して、形態素・字句解析部410での処理を行う。形態素・字句解析部410での処理の結果、文章420bには、「TiO2」を1つとする「material」の字句422と、「100g」を1つとする「amount」の字句426と、「1.20g」を1つとする「amount」の字句423とを含んでいると解析される。
関連解析部430は、除外設定部450に予め設定してある条件に当てはまる形態素の有無を判定する。予め設定してある条件として、図12では「に対して」との形態素の列が文章420bに含まれているか否かを判定している。「に対して」の形態素の列が文章420bに含まれている場合、当該形態素の列の前にある「100g」の字句426を含めて除外対象451とする。つまり、関連解析部430は、除外設定部450に予め設定してある条件を考慮して、「100gに対して」の形態素の列を「ignore」とラベリングして1つの除外対象451として扱う。
関連解析部430は、「100g」の字句426を除外対象451に含めることで、字句422と字句423との間に「を」のような関連を示す予め定められた形態素425が含まれると判定される。そのため、関連解析部430は、字句422と字句423との間に含まれる形態素の数を求めることになる。ここで、「100gに対して」の形態素の列を1つの除外対象451として扱うことで、関連解析部430は、字句422と字句423との間に含まれる形態素の数を3個と予め定められた数以下であると判定することができ、字句422と字句423とが関連があると判定する。
その結果、抽出部470は、関連がある字句と判定した「TiO2を主成分100gに対して1.20g」を一つの関連する数値データ433として抽出する。数値データ433には、material=TiO2、amount=1.20gの情報が含まれることになる。そのため、抽出部470は、数値データ432のようにmaterial=TiO2とamount=100gとを関連付けた誤った情報を抽出してしまうことを回避することができる。
除外設定部450に予め設定してある関連付けを除外する条件について、さらに詳しく説明する。図13は、除外設定部450に予め設定してある関連付けを除外する条件の一例を説明するための概念図である。図13(a)では、前述したように「amount」の字句の後ろに「に対して」の形態素の列が続く場合、「100gに対して」の形態素の列を1つの除外対象451として扱うことが条件として示されている。
図13(b)では、「分散剤204の添加量は0.3g」の文書に対して形態素・字句解析部410での処理を行う一例が示されている。形態素・字句解析部410での処理の結果、当該文章には、「分散剤」を1つとする「feature」の字句と、「204」を1つとする「amount」の字句と、「0.3g」を1つとする「amount」の字句とを含んでいると解析される。そのため、関連解析部430は、除外設定部450に何も条件が設定されていなければ、「分散剤」の字句に近い「204」の字句を「分散剤」の字句を関連付けることになる。
しかし、「204」の字句は、「分散剤」の字句の符号に過ぎない。そのため、除外設定部450には、「feature」の字句の直後の「amount」の字句を「amount」の字句として特定せずに除外し、「feature」の字句と直後の「amount」の字句とを1つの「feature」の字句として扱うことが条件として設定される。
そこで、関連解析部430は、除外設定部450の当該条件を考慮して「分散剤204」を1つとする「feature」の字句452として扱った上で、「0.3g」の字句と関連付ける。
図13(c)では、「Nd添加量mが0.05を超える場合好ましくない」の文書に対して形態素・字句解析部410での処理を行う一例が示されている。形態素・字句解析部410での処理の結果、当該文章には、「Nd」を1つとする「material」の字句と、「0.05」を1つとする「amount」の字句とを含んでいると解析される。そのため、関連解析部430は、除外設定部450に何も条件が設定されていなければ、「Nd」の字句と「0.05」の字句とを関連付けることになる。
しかし、除外設定部450には、「ない」などの否定を表す字句(「NOT」とラベリングされる字句)が文書に含まれている場合には、「NOT」の字句の近傍に存在する「amount」の字句を「NOT」の字句とともに除外する条件が設定される。そのため、関連解析部430は、除外設定部450の当該条件を考慮して、図13(c)に示すように「0.05を超える場合好ましくない」との形態素の列を1つの除外対象453として扱う。
図13に示した条件は、除外設定部450に設定される関連付けを除外する条件の一例であって、他の条件を除外設定部450に設定してもよい。また、除外設定部450は、ユーザが設定する条件を適宜更新することができる。
図3に戻って、データベース部500は、収集部300で収集した文書よりデータ抽出部400で抽出した数値データを格納している。そして、ラベル付与部600は、ユーザが入力した検索式に基づいて、データベース部500に格納された数値データを検索し、収集部300で収集した文書(教師データとなる文書)のうち検索式(特定の数値データ)を含む文書にラベルを付す。ユーザが入力する検索式には、単純に「粒径が1.2nm~79nm」が記載されている文書を検索して、当該検索式を含む文書に「微粒」とラベルすることが考えられる。この場合、ラベル付与部600は、データベース部500からfeature=粒径、range=1.2nm~79nmの情報が含む文書を検索し、その検索した文書に「微粒」とラベルして出力する。
文書分類装置100では、ラベル付与部600で生成したラベル付きの教師データに基づいて学習モデルを学習することで、未分類文書を「微粒である文書」と「微粒でない文書」とに分類することができる。「微粒」とラベルされた教師データで学習した学習モデルは、「微粒」とラベルされた文書の中から特徴語を抽出することで、未分類文書に当該特徴語が含まれるか否かで「微粒である文書」か「微粒でない文書」かに分類することができる。そのため、未分類文書の中には、「粒径が1.2nm~79nm」という語は含まないが、当該範囲に関連する表現(例えば、「粒子径が小さい」、「粒径が細かい」などの表現)を含む文書も存在しても、文書分類装置100では、当該文書を「微粒である文書」であると分類することができる。
以下、本実施の形態に係る文書分類装置100を用いて、未分類文書を分類した具体例を説明する。図14は、収集した文書に含まれる粒径の値を示すヒストグラムである。文書分類装置100は、MLCC関連の特許文献を約1700件、文書データベース200から収集し、数値検索処理を用いて化学式、材料、特性などの特徴部分と、数値または数値範囲などの数値部分とを関連付けて数値データとして抽出し、データベースに格納してある。図14では、当該データベースを用いて粒径の最小値、最大値を検索した結果を、横軸に粒径、縦軸に文書数をとりヒストグラムで可視化している。
ヒストグラムにおけるA領域は、粒径が1.2nm~79nmの数値が記載された文書を示し、その文書数は59件である。ヒストグラムにおけるB領域は、粒径が200nm~270μmの数値が記載された文書を示し、その文書数は368件である。教師データは、A領域に含まれる文書に「微粒である」とのラベルを付し、B領域に含まれる文書に「微粒でない」とのラベルを付す。
図14に示すヒストグラムを用いることで、「微粒である」とのラベルを付したA領域に対して、「微粒でない」とのラベルを付すB領域を目視で十分に離れていることを確認して決定することができる。
文書分類装置100は、上記で決定した教師データを用いて学習モデルを機械学習させる。機械学習には、例えば、一般的なテキスト分類方法であるMultinomial Naive Bayes法を用いる。もちろん、機械学習には、Multinomial Naive Bayes法以外の他の方法を用いてもよい。また、学習モデルを学習させる過程において、教師データを学習用とテスト用とを7対3の割合で分割する。教師データを学習用とテスト用とに分割する場合、「微粒である」とのラベルを付した文書と「微粒でない」とのラベルを付した文書との割合が分割する前と同じになるようにランダムに文書を選んで分割している。
学習モデルは、学習用の教師データで学習した後、残りのテスト用の教師データを用いて正確度(正解率)を確認する。MLCC関連の特許文献から生成した教師データで学習した学習モデルでは、学習用の教師データを正しく「微粒である文書」または「微粒でない文書」と判断できた正確度が0.938であった。これに対し、テスト用の教師データをこの学習モデルで「微粒である文書」か「微粒でない文書」かを分類した場合、正確度は0.912となり、学習用の教師データによる学習が正常に機能していることが確認できた。
また、学習した学習モデルに含まれる単語のうち重要な単語について検証を行った。図15は、文書中に含まれる単語の重要度を説明するグラフである。図15では、横軸に文書数、縦軸にtfidf値をとり、学習モデルに含まれる「BRT」、「界面」、「Ca」の3つの単語について重要度を示している。ここで、tfidf値は、文書に含まれる単語の重要度を評価する手法の1つで、多くの文書に出現する単語は重要度が低く、特定の文書にしか出現しない単語は重要度が高い。また、「Ca」は、カルシウムを示し、「BRT」は、チタン酸バリウムに希土類元素が固溶した粉末、例えばBaO-TiO2-ReO3/2系セラミックを示す。
図15に示す結果から、学習モデルに含まれる単語には、「界面」など微粒化の目的、利点と思われる単語、「Ca」などの添加物を示す単語、「BRT」など材料を示す単語などが重要度の高い単語であることが分かる。そのため、学習した学習モデルが、「微粒である文書」か「微粒でない文書」かを分類するモデルとして妥当であることが分かる。
次に、MLCCやLTCCなどに関連する特許文献(総数約6000件、教師データとした特許文献は含まない未分類文書。)の中から文書をランダムに20件選び、学習済モデルの文書分類装置100で、「微粒である文書」か「微粒でない文書」かを分類する。なお、この20件の文書には、あらかじめ人が「微粒である」か「微粒でない」かの正解ラベルを付しているので、学習済モデルの文書分類装置100が正しく分類することができたのか否かを比較することができる。
図16は、20件の文書の比較結果を示す一覧表である。図16に示す比較結果では、検索式の「粒径が1.2nm~79nm」では検索しきれない文書を「微粒である文書」として分類することができた。具体的に、番号「CCCCC02」の文書では、文書中に「30-50nmのサイズ」の記載があるものの、「粒径」の記載がないため検索式の「粒径が1.2nm~79nm」では検索しきれていない文書である。人であれば、ニッケルのサイズが30-50nmであるとの記載から、「粒径が1.2nm~79nm」の範囲に入るとして「微粒である」と分類することができる。一方、学習済モデルの文書分類装置100は、人が「微粒である」と分類した番号「CCCCC02」の文書に対しても正しく「微粒である」と分類することができた。
また、番号「PPPPP01」の文書では、文書中に「10~100nmBaTiO3」の記載があるものの、「79nm」より大きい範囲を含む記載があるため検索式の「粒径が1.2nm~79nm」では検索しきれていない文書である。人であれば、BaTiO3のサイズが10~100nmであるとの記載から、「粒径が1.2nm~79nm」の範囲にほぼ含まれるとして「微粒である」と分類することができる。一方、学習済モデルの文書分類装置100は、人が「微粒である」と分類した番号「PPPPP01」の文書に対しても正しく「微粒である」と分類することができた。逆に、学習済モデルの文書分類装置100は、分野や粒径が一致しない文書を誤って分類することはなかった。
以上のように、本実施の形態に係る文書分類装置100は、特定の数値データに関する項目を含む文書の分類を行う文書分類装置である。文書分類装置100は、複数の文書が入力される入力部と、入力部で入力された複数の文書を、ニューラルネットワークを含む学習モデルによって特定の数値データに関する項目を含む文書と含まない文書とに分類する分類部と、分類部で分類した文書の情報を出力する出力部と、を備える。文書分類装置100は、学習モデルの学習を行うために、複数の文書から数値データを抽出するデータ抽出部400と、データ抽出部400で抽出した数値データのうち特定の数値データを含む文書にラベルを付与するラベル付与部600と、を備え、複数の文書およびラベル付与部で付与されたラベルを用いて、学習モデルの学習を行う。データ抽出部400は、形態素・字句解析部410、関連解析部430、除外設定部450、抽出部470を含んでいる。形態素・字句解析部410は、収集した文書のテキストデータを複数の形態素に分割し、分割した複数の形態素から予め定められた特徴部分と数値部分とを特定する。関連解析部430は、特定した特徴部分と数値部分との間に、関連を示す予め定められた形態素を含み、特徴部分と数値部分との間に含まれる形態素の数が予め定められた数以下の場合に、特徴部分と数値部分とが関連すると判定する。除外設定部450は、関連解析部430において、特徴部分と数値部分との関連の判定から除外する条件を予め設定する。抽出部470は、関連解析部430で関連すると判定された特徴部分と数値部分とを数値データとして抽出する。
これにより、本実施の形態に係る文書分類装置100では、特徴部分と数値部分との関連の判定から除外する条件を予め設定してあるので、数値部分と特徴部分とを正しく関連付けて抽出することができ、特定の数値データを含む文書にラベルを付すことができる。また、本実施の形態に係る文書分類装置100では、特定の数値データを含む文書にラベルを付し、そのラベルが付された文書で学習モデルを学習させることで、未分類文書から特定の数値データに関連する文書を分類することができる。
また、関連解析部430は、除外設定部450で予め設定された条件を1つの形態素として圧縮して、特徴部分と数値部分との間に含まれる形態素の数をカウントしてもよい。これにより、文書分類装置100は、特徴部分と数値部分との間に含まれる形態素の数が予め定められた数以下と判断され、特徴部分と数値部分とを関連付け易くなる。
さらに、形態素・字句解析部410は、分割した複数の形態素のうちに1つの数値が含まれている場合、当該数値に予め定められた数値範囲を付与して数値部分と特定してもよい。これにより、文書分類装置100は、数値同士を比較する際に、数値に幅を持った数値範囲同士の比較となり、比較が容易となる。
また、形態素・字句解析部410は、分割した複数の形態素のうちに複数の数値と、範囲を示す予め定められた形態素とが含まれている場合、当該複数の数値に基づく数値範囲を数値部分と特定してもよい。これにより、文書分類装置100は、数値範囲を1つの数値部分として特定することができる。
さらに、形態素・字句解析部410は、分割した複数の形態素のうちに単位が含まれている場合、当該単位と数値とを1つの数値部分と特定してもよい。これにより、文書分類装置100は、単位を含めた数値部分を特定することができ、単位を考慮して数値部分を比較しやすくなる。
また、形態素・字句解析部410は、分割した複数の形態素から、予め定められた特性名、材料名、化学式および組成のいずれかを特徴部分と特定してもよい。形態素・字句解析部410は、化学式および組成のいずれかに数値範囲または数式を含めて特徴部分と特定してもよい。これにより、文書分類装置100は、様々な種類の特徴部分と数値部分との関連付けが可能となる。
コンピュータが、複数の文書を、ニューラルネットワークを含む学習モデルによって特定の数値データに関する項目を含む文書と含まない文書とに分類する場合に、学習モデルの学習をする学習方法である。学習方法は、複数の文書から数値データを抽出するステップと、抽出した数値データのうち特定の数値データを含む文書にラベルを付与するステップと、を含む。複数の文書および付与されたラベルを用いて、学習モデルの学習を行う処理をコンピュータに実行させ、数値データを抽出するステップは、収集した文書のテキストデータを複数の形態素に分割するステップと、分割した複数の形態素から予め定められた特徴部分と数値部分とを特定するステップとを含む。数値データを抽出するステップは、特定した特徴部分と数値部分との間に、関連を示す予め定められた形態素を含み、特徴部分と数値部分との間に含まれる形態素の数が予め定められた数以下の場合に、特徴部分と数値部分とが関連すると判定するステップを含む。数値データを抽出するステップは、特徴部分と数値部分との関連の判定から除外する条件を予め設定するステップと、関連すると判定された特徴部分と数値部分とを数値データとして抽出するステップとを含む。
コンピュータが、複数の文書を、ニューラルネットワークを含む学習モデルによって特定の数値データに関する項目を含む文書と含まない文書とに分類する場合に、学習モデルの学習をさせる学習プログラムである。学習プログラムは、複数の文書から数値データを抽出するデータ抽出処理と、抽出した数値データのうち特定の数値データを含む文書にラベルを付与するラベル付与処理と、を含む。複数の文書および付与されたラベルを用いて、学習モデルの学習を行う処理をコンピュータに実行させ、データ抽出処理は、特定した特徴部分と数値部分との間に、関連を示す予め定められた形態素を含み、特徴部分と数値部分との間に含まれる形態素の数が予め定められた数以下の場合に、特徴部分と数値部分とが関連すると判定する関連解析処理を含む。データ抽出処理は、特徴部分と数値部分との関連の判定から除外する条件を予め設定する除外設定処理と、関連すると判定された特徴部分と数値部分とを数値データとして抽出する抽出処理とを含む。
[変形例]
(1) 前述の実施の形態では、特許文献データベースから文書を収集して、収集した文書から特徴部分と数値部分を関連付けた数値データを抽出する例について説明した。しかし、これに限定されず、特許文献データベース以外の文書データベース(例えば、学術論文データベース)から文書を収集して、当該文書から特徴部分と数値部分を関連付けた数値データを抽出する構成であってもよい。また、複数種類のデータベース(例えば、特許文献データベースおよび学術論文データベース)から文書を収集して、当該文書から特徴部分と数値部分を関連付けた数値データを抽出する構成であってもよい。
(2) 前述で説明した各種処理は、1つのCPUによって実現されるものとしてあるが、これに限られない。これらの各種処理は、複数のCPUによって分散して実現されてもよい。これらCPUで実行されるプログラムは、有形の読取可能な少なくとも1つの媒体から、1以上の命令を読み出すことにより前述の各種処理を実行しうる。
このような媒体は、磁気媒体(たとえば、ハードディスク)、光学媒体(例えば、コンパクトディスク(CD,DVD)、揮発性メモリ、不揮発性メモリの任意のタイプのメモリなどの形態をとるが、これらの形態に限定されるものではない。
揮発性メモリはDRAM(Dynamic Random Access Memory)およびSRAM(Static Random Access Memory)を含み得る。不揮発性メモリは、ROM、NVRAMを含み得る。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。