(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022019123
(43)【公開日】2022-01-27
(54)【発明の名称】情報処理装置およびその制御方法、情報処理システム、並びにプログラム。
(51)【国際特許分類】
G06F 40/205 20200101AFI20220120BHJP
G06F 40/216 20200101ALI20220120BHJP
G06F 16/33 20190101ALI20220120BHJP
G06F 16/35 20190101ALI20220120BHJP
G06F 40/279 20200101ALI20220120BHJP
【FI】
G06F40/205
G06F40/216
G06F16/33
G06F16/35
G06F40/279
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2020122738
(22)【出願日】2020-07-17
(71)【出願人】
【識別番号】000104652
【氏名又は名称】キヤノン電子株式会社
(72)【発明者】
【氏名】劉 家朋
【テーマコード(参考)】
5B091
5B175
【Fターム(参考)】
5B091CA14
5B175DA01
5B175FA03
5B175HB03
(57)【要約】 (修正有)
【課題】異なる業務に共通のテキストであったとしても、適切に分析を実行する情報処理装置およびその制御方法、情報処理システム及びプログラムを提供する。
【解決手段】テキスト分類装置は、対象文の文脈と、前記対象文と文距離が近い類似文の文脈とを用いて、対象文と類似文の文脈距離を算出する文脈距離算出部と、前記文距離と、文脈距離算出部が算出した文脈距離とを損失関数に加えてテキストを分類するテキスト分類部と、文の分散表現を生成する文の分散表現生成部と、前記文の分散表現と、文の分散表現データベースにある文の分散表現との文距離を算出し、前記文距離が近い類似文を抽出する類似文検索部と、前記文距離が近い類似文の文脈を文脈データベースから抽出する類似文文脈抽出部と、を備える。
【選択図】
図1
【特許請求の範囲】
【請求項1】
対象文の文脈と、前記対象文と文距離が近い類似文の文脈とを用いて、前記対象文と前記類似文の文脈距離を算出する文脈距離算出部
を備えていることを特徴とする情報処理装置。
【請求項2】
さらに、
前記文距離と、前記文脈距離算出部が算出した文脈距離とを損失関数に加えてテキストを分類するテキスト分類部と
を備えることを特徴とする請求項1に記載の情報処理装置。
【請求項3】
さらに、
前記対象文から文の分散表現を生成する文の分散表現生成部と、
前記文の分散表現と、文の分散表現データベースにある文の分散表現との文距離を算出し、前記文距離が近い類似文を抽出する類似文検索部と、
前記文距離が近い類似文の文脈を文脈データベースから抽出する類似文文脈抽出部と
を備えることを特徴とする請求項1または2に記載の情報処理装置。
【請求項4】
類似文検索部は、
【数1】
を用いて、V次元の前記対象文の文の分散表現s
qと、同じくV次元の前記文の分散表現データベースにある文の分散表現s
dとの文距離d
sを算出することを特徴とする請求項1または3に記載の情報処理装置。
【請求項5】
前記文脈距離算出部は、
【数2】
を用いて、V次元の前記対象文の文脈の単語の分散表現w
qcと、同じくV次元の前記類似文の文脈の単語の分散表現w
scとの単語距離d
wを算出し、
【数3】
を用いて、単語数N
qcの対象文の文脈と、単語数N
scの類似文の文脈との文脈距離d
cを算出することを特徴とする請求項1乃至4のいずれか1項に記載の情報処理装置。
【請求項6】
前記文脈距離算出部は、
前記単語距離d
wが最小値になる単語が前記類似文までの単語数の常用対数を単語位置距離d
wjとして算出し、
【数4】
を用いて、文脈距離d
cを算出することを特徴とする請求項5に記載の情報処理装置。
【請求項7】
前記文脈距離算出部は、
前記単語距離d
wが最小値になる単語が前記類似文までの単語数を前記類似文の文脈の総単語数で割った値を単語位置距離d
wjとして算出し、
【数4】
を用いて、前記文脈距離d
cを算出することを特徴とする請求項5に記載の情報処理装置。
【請求項8】
対象文の文脈と、前記対象文と文距離が近い類似文の文脈とを用いて、前記対象文と前記類似文の文脈距離を算出する文脈距離算出工程
を備えていることを特徴とする情報処理方法。
【請求項9】
請求項1から請求項7の何れか1項に記載された情報処理装置と、
ネットワークを介して前記情報処理装置に前記対象文の文脈を送信する入力装置と
を有することを特徴とする情報処理システム。
【請求項10】
コンピュータを、請求項1乃至7の何れか1項に記載の情報処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置およびその制御方法、情報処理システム、並びにプログラムに関する。
【背景技術】
【0002】
働き方改革の一環として、多くの企業が労働生産性向上に取り組んでいる。分析されていないものは改善できないので、業務を正しく分析することが生産性向上の鍵となる。その中、コンピュータを使用する業務を分析するため、コンピュータ操作ログを記録する方法がある。
【0003】
コンピュータ操作ログは、各業務を遂行するためコンピュータを用いて行った操作の記録であり、ファイル編集、ファイル閲覧、ウェブサイト閲覧等の際に表示されたウインドウタイトルのログ等の例が挙げられる。極めて単純な作業の場合は、コンピュータ操作ログが業務と一対一の対応関係となる可能性がある。しかし多くの場合、1つの業務を行うため、複数のコンピュータ操作が必要であって、コンピュータ操作ログが業務と多対一の対応関係となる。
【0004】
複数のコンピュータ操作ログを1つの業務として纏めるため、コンピュータ操作ログを自然言語の文として、業務をカテゴリとして分類することができる。その場合、テキスト分類装置を用いて、複数のコンピュータ操作ログを1つの業務に分類することが可能となる。
【0005】
そのような方法の一例はいわゆる「bag‐of‐words」(BoW)法である。 BoW法は、自然言語処理(NLP)において広く用いられてきた方法であり、文書に現われる単語の非順序のコレクションを用いて類似度を算出しテキスト分類を行う。しかし、コンピュータ操作ログまたはマイクロブログのような比較的短いテキスト(短文)の場合は、複数のテキストに共通する単語が少ないので、BoW法で正しく分類することが困難となる。
【0006】
非特許文献1に開示されている単語の分散表現を生成する技術を適用すれば、単語の意味をよく反映するようになるので、共通単語が少ない問題をある程度解決できる。また、非特許文献1の技術を単語から文まで拡張し、文の分散表現を生成する非特許文献2または非特許文献3に開示されている技術を適用すれば、文の意味を反映した分類が可能となる。
【先行技術文献】
【特許文献】
【0007】
【非特許文献1】Mikolov Tomas, Sutskever Ilya., Chen Kai., Corrado Greg. and Dean Jeffrey. Distributed representations of words and phrases and their compositionality. In Advances in neural information processing systems. 2013. p.3111-3119
【非特許文献2】Quoc Le and Tomas Mikolov. Distributed representations of sentences and documents. In ICML. 2014. volume 32. p.1188-1196.
【非特許文献3】Ryan Kiros, Yukun Zhu, Ruslan R Salakhutdinov, Richard Zemel, Raquel Urtasun, Antonio Torralba, and Sanja Fidler. Skip-thought vectors. In Advances in Neural Information Processing Systems 28. 2015. p.3294-3302.
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかしながら、非特許文献2または非特許文献3に開示されたテキスト分類技術では、コンピュータ操作ログを処理対象とした場合に、異なる業務のコンピュータ操作ログに共通したログ、例えば共通のファイルの閲覧、または、共通のウェブサイトの閲覧等が記録された場合、正しく分類されないことがあり、この点が問題となっている。
【0009】
以下に、具体例を挙げて、上記問題について説明する。例えば、次のような業務(業務例1と業務例2)を行ったものとする。
[業務例1]
タピオカ市場調査
[業務例2]
自動車市場調査
【0010】
上記の業務例1に関してのコンピュータ操作ログとして、以下に示すように、テキスト例1、テキスト例2とテキスト例3があったものとする。
テキスト例1:「世界のタピオカドリンク市場2019」
テキスト例2:「世界のマクロ経済分析」
テキスト例3:「タピオカドリンクの規模および生産能力」
【0011】
上記の業務例2に関してのコンピュータ操作ログとして、以下に示すように、テキスト例4、テキスト例5、テキスト例6とテキスト例7があったものとする。
テキスト例4:「2019 自動運転市場の将来展望」
テキスト例5:「自動運転関連のベンチャー企業動向」
テキスト例6:「世界のマクロ経済分析」
テキスト例7:「自動運転関連の法律整備」
【0012】
別の日時に行った未分類の業務に関してのコンピュータ操作ログとして、以下に示すように、テキスト例8とテキスト例9があったものとする。
テキスト例8:「世界のマクロ経済分析」
テキスト例9:「世界のタピオカドリンク市場2019」
【0013】
業務例1と業務例2のコンピュータ操作ログの全ての情報を知っている人間であれば、分類対象となるテキスト例8とその周囲にあるテキスト例9とから、テキスト例8が業務例1に関してのコンピュータ操作ログであると判断することができる。
【0014】
非特許文献2または非特許文献3に開示されたテキスト分類技術では、分類の対象となる対象文の周囲の単語または文を予測することで学習された文の分散表現の高次元空間上の距離で文の類似度を表現できる。
【0015】
しかしながら、業務例1と業務例2に関してのコンピュータ操作ログの知識に基づいて学習されたテキスト例2とテキスト例6の共通の文の分散表現は、周囲の単語または周囲の文が矛盾するので、テキスト例1とテキスト例3のグループにも、テキスト例4、テキスト例5とテキスト例6のグループにも、明確に分類できるほど十分に近づくことはない。従って、非特許文献2または非特許文献3に開示されたテキスト分類技術では、テキスト例8を業務例1に分類することは困難となる。
【0016】
以上のように、異なる業務のコンピュータ操作ログに共通したログ、例えば共通のファイルの閲覧、または、共通のウェブサイトの閲覧等が記録された場合、文の分散表現の学習のノイズとなりやすい。従って、上述したように、非特許文献2または非特許文献3に開示されたテキスト分類技術では、異なる業務に共通のコンピュータ操作ログを対象とした場合に、適切に分類を行うことは困難である。
【0017】
本発明の目的は、上記問題を解消し、異なる業務に共通のテキスト(例えば、コンピュータ操作ログ)であったとしても、適切に分析し得る、情報処理装置およびその制御方法、情報処理システム、並びにプログラムを提供することにある。
【課題を解決するための手段】
【0018】
上記課題を解決するために本発明は以下の構成を有する。すなわち、情報処理装置であって、
対象文の文脈と、前記対象文と文距離が近い類似文の文脈とを用いて、前記対象文と前記類似文の文脈距離を算出する文脈距離算出部
を備える。
【発明の効果】
【0019】
以上のように、本発明によれば、異なる業務に共通のテキストであったとしても、適切に分析することができる。
【図面の簡単な説明】
【0020】
【
図1】本発明の実施の形態におけるテキスト分類装置の構成を示すブロック図である。
【
図2】本発明の実施の形態において対象文の一例を示す図である。
【
図3】本発明の実施の形態において類似文の一例を示す図である。
【
図4】本発明の実施の形態において対象文の文脈の一例を示す図である。
【
図5】本発明の実施の形態において類似文の文脈の一例を示す図である。
【
図6】本発明の実施の形態におけるテキスト分類装置の動作を示すフロー図である。
【
図7】本発明の実施の形態におけるテキスト分類装置のハードウェア構成の一例を示すブロック図である。
【発明を実施するための形態】
【0021】
以下、本発明の実施の形態における、情報処理装置およびその制御方法、情報処理システム、並びにプログラムについて、
図1~
図7を参照しながら説明する。なお、以下では、情報処理装置をテキスト分類装置として説明するが、これに限定されず例えば、PC(Personal Computer)、スマートフォン、タブレット端末などでもよい。
【0022】
[装置構成]
最初に、
図1を用いて、本実施の形態におけるテキスト分類装置100の構成について説明する。
図1は、本発明の実施の形態におけるテキスト分類装置の構成を示すブロック図である。以下では文脈を、検索対象の文(以下、対象文という)以外の周囲の文として説明するが、文脈は、同じ業務を継続的に行った際に取得したコンピュータ操作ログの全てとしてもよいし、類似文の前後N行の文または前後N個の単語としてもよいし、コンピュータ操作ログのメタデータとして時間を取得した場合における任意の時間間隔の範囲を含むものでもよい。
【0023】
図1に示すテキスト分類装置100は、テキストを対象として分類を行なう装置である。
図1に示すように、テキスト分類装置100は、主に、類似文検索部20と、類似文文脈抽出部40と、文脈距離算出部60とを備えている。
【0024】
類似文検索部20が、文の分散表現生成部10で生成された対象文の文の分散表現と、文の分散表現データベース30に保存された文の分散表現との文距離に基づき、文の分散表現データベース30から、対象文との文距離が近い類似文をN個抽出する。
【0025】
類似文文脈抽出部40は、類似文検索部20による類似文検索の結果に基づいて、類似文の文脈を文脈データベース50から抽出する。
【0026】
文脈距離算出部60は、入力装置80から受け取った(送信された)対象文の文脈と類似文文脈抽出部40が抽出した類似文文脈との文脈距離を算出し、テキスト分類部70に入力する。
【0027】
このように、本実施の形態におけるテキスト分類装置100では、対象文との文距離が近い類似文を特定し、さらに対象文と類似文の文脈距離を算出し、文距離と文脈距離の両方を鑑み対象文の分類を実行する。このため、本実施の形態におけるテキスト分類装置100によれば、分類対象となるテキストが異なる業務で出現したとしても、業務の分類は適切に実行することができる。
【0028】
ここで、
図1に加えて、
図2~4を用いて、本実施の形態におけるテキスト分類装置100の構成を更に具体的に説明する。
図1に示すように、テキスト分類装置100は、類似文検索部20、類似文文脈抽出部40および文脈距離算出部60に加えて、文の分散表現生成部10と、文の分散表現データベース30と、文脈データベース50と、テキスト分類部70とを備えている。
【0029】
文の分散表現生成部10は、対象文の文の分散表現を生成する。文の分散表現生成部10は、テキスト分類処理の対象となる対象文を、入力装置80から受け付け、対象文から文の分散表現を生成し、生成した対象文の文の分散表現を類似文検索部20に入力する。入力装置80の具体例としては、キーボード等の入力機器、ネットワークを介して接続されたコンピュータ、テキスト集合が記録されている記録媒体の読取装置等が挙げられる。入力装置80は、テキストを入力可能な装置であれば良い。なお、
図1においては、情報処理システムとして、入力装置80がコンピュータである場合が例示されている。
【0030】
図2は、本実施の形態においてテキスト分類処理の対象となるコンピュータ操作ログの一例を示す図である。また、
図2には、文の分散表現生成部10が入力を受け付けた対象文(テキストID100)に加え、対象文の文の分散表現と、対象文の文脈(テキストID101)も示されている。文の分散表現は、公知の自然言語処理技術、例えば非特許文献2または非特許文献3のような技術を用いて生成される高次元の実数ベクトルである。
【0031】
具体的には、
図2の例に示された各テキストは、ユーザがコンピュータを使用する未分類の業務を行った際に取得されたコンピュータ操作ログである。更に、
図2の例では、表形式によって、コンピュータ操作ログを構成するテキストが示されており、行毎に、未分類の業務に必要なコンピュータ操作のログを構成する各テキストが示されている。
【0032】
また、
図2において、1列目の「テキストID」は、各テキストを区別するための便宜上のIDである。例えば、文の分散表現生成部10が、管理のために、各テキストにテキストIDを付与することができる。
【0033】
2列目の「テキスト」は、各テキストの内容を示している。3列目の「文の分散表現」は、実数ベクトルの一例である。なお、対象文の文脈のテキストの文の分散表現は生成する必要がないので、<なし>と設定される。
【0034】
類似文検索部20が、文の分散表現生成部10で生成された対象文の文の分散表現と文の分散表現データベース30に保存された文の分散表現の文距離を算出し、文の分散表現データベース30から、対象文との文距離が近い類似文をN個抽出する。
【0035】
図3は、本実施の形態において文の分散表現データベース30に保存されたラベル付きコンピュータ操作ログの一例を示す図である。また、
図3には、コンピュータ操作ログのテキスト(テキストID1~7)に加え、各テキストの文の分散表現とラベルも示されている。
【0036】
具体的には、
図3の例に示された各テキストは、ユーザがコンピュータを使用する既知の業務を行った際に取得されたコンピュータ操作ログである。更に、
図3の例では、表形式によって、コンピュータ操作ログを構成するテキストが示されており、行毎に、各業務を遂行するためコンピュータを用いて行った操作のログ、例えばファイル編集、ファイル閲覧、ウェブサイト閲覧等の際に表示されたウインドウタイトル等のログが示されている。
【0037】
また、
図3において、1列目の「ラベル」は、各テキストに対して該当業務を示すラベルである。2列目の「テキストID」、3列目の「テキスト」、4列目の「文の分散表現」は、
図2と同じである。
【0038】
類似文検索部20の処理は、以下の通りであり、
図2と
図3の例を用いて説明する。まず、テキストID100の文の分散表現と、テキストID1~7の文の分散表現との文距離を、
【数1】
を用いて、V次元の前記対象文の文の分散表現s
qと、同じくV次元の前記文の分散表現データベースにある文の分散表現s
dとの文距離d
sを算出する。具体的に下記のように、ベクトルの要素ごとの差を算出し、差の2乗の和の平方根を文距離として出力する。
テキストID100とテキストID1の文距離=sqrt((0.123-0.542)^2 + (0.421-0.829)^2 + (0.877-0.311)^2 + … + (0.672-0.102)^2)=0.975
テキストID100とテキストID2の文距離=sqrt((0.123-0.123)^2 + (0.421-0.421)^2 + (0.877-0.877)^2 + … + (0.672-0.672)^2)=0
…
テキストID100とテキストID6の文距離=sqrt((0.123-0.123)^2 + (0.421-0.421)^2 + (0.877-0.877)^2 + … + (0.672-0.672)^2)=0
テキストID100とテキストID7の文距離=sqrt((0.123-0.831)^2 + (0.421-0.827)^2 + (0.877-0.877)^2 + … + (0.672-0.239)^2)=1.456
【0039】
次に、類似文検索部20はテキストID100との文距離が近い類似文をN個抽出する。具体的に下記のように、Nが2である場合、文距離が0になるテキストID2とテキストID6を類似文として、文の分散表現データベース30から抽出する。Nは10または100のような値でも良い。
【0040】
類似文文脈抽出部40は、類似文検索部20から出力された類似文のIDを文脈データベース50から抽出する。
図5は、本実施の形態において文脈データベース50に保存された文脈の一例を示す図である。また、
図5には文脈(単語ID1~9および単語ID101~112)に加え、各単語の分散表現とテキストIDも示されている。単語の分散表現は、公知の自然言語処理技術、例えば非特許文献1のような技術を用いて生成される高次元の実数ベクトルである。
【0041】
文脈の単語は、コンピュータ操作ログの各文の周囲の文に対して、公知の自然言語処理技術を用いて、形態素解析処理を行って抽出されたものである。文脈の範囲は、同じ業務を継続的に行った際に取得したコンピュータ操作ログの全てを範囲として定義することができるし、類似文の前後N行の文または前後N個の単語を範囲として定義することもできる。または、コンピュータ操作ログのメタデータとして時間等を取得した場合、時間間隔等で範囲を定義しても良い。
【0042】
具体的に、
図5の例の場合、類似文テキストID2の文脈は、テキストID2の周囲の文であるテキストID1とテキストID3に対して、形態素解析処理を行って抽出された単語ID1~9である。類似文テキストID6の文脈は、テキストID6の周囲の文であるテキストID4、テキストID5とテキストID7に対して、形態素解析処理を行って抽出された単語ID101~112である。類似文文脈抽出部40は、類似文検索部20からもらった類似文のテキストID(キストID2とテキストID6)を用いて、文脈データベース50から、単語ID1~9と単語ID101~112の単語の分散表現を取得し、文脈距離算出部60に入力する。
【0043】
文脈距離算出部60は、入力装置80から受け取った対象文の文脈と、類似文文脈抽出部40で抽出された類似文の文脈との文脈距離を算出する。
【0044】
具体的には、
図4の例に示された各テキストは、入力装置80から受け取ったコンピュータ操作ログから、対象文(テキストID100)の周囲にある文(テキストID101)に対して、形態素解析処理を行って抽出された単語(単語ID1001~1007)である。
【0045】
文脈距離算出部60は、対象文の文脈(単語ID1001~1007)と、類似文テキストID2の文脈(単語ID1~9)および類似文テキストID6の文脈(単語ID101~112)との文脈距離を、
【数3】
を用いて、単語数N
qcの対象文の文脈と、単語数N
scの類似文の文脈との文脈距離d
cを算出する。
【0046】
または、単語距離d
wが最小値になる単語が類似文までの単語数の常用対数を単語位置距離d
wjとして算出し、
【数4】
を用いて、文脈距離d
cを算出する。
【0047】
まず、文脈距離算出部60は、単語ID1001と、単語ID1~9との単語距離を、
【数2】
を用いて、V次元の対象文の文脈の単語の分散表現w
qcと、同じくV次元の類似文の文脈の単語の分散表現w
scとの単語距離d
wを算出する。
【0048】
具体的に下記のように、ベクトルの要素ごとの差を算出し、差の2乗の和の平方根を単語距離として出力する。
単語ID1001と単語ID1の単語距離=sqrt((0.235-0.235)^2 + (0.165-0.165)^2 + (0.832-0.832)^2 + … + (0.735-0.735)^2)=0
単語ID1001と単語ID2の単語距離=sqrt((0.235-0.756)^2 + (0.165-0.328)^2 + (0.832-0.362)^2 + … + (0.735-0.872)^2)=1.563
…
単語ID1001と単語ID9の単語距離=sqrt((0.235-0.575)^2 + (0.165-0.232)^2 + (0.832-0.936)^2 + … + (0.735-0.087)^2)=1.037
【0049】
次に、文脈距離算出部60は、単語ID1001と、単語ID1~9との単語距離の最小値を求めて、それを用いて単語ID1001と類似文テキストID2の文脈距離を算出する。具体的に上述した、
【数3】
を用いて算出する場合、単語距離の最小値が単語ID1との単語距離(0)になるので、単語ID1001と類似文テキストID2の文脈距離が0となる。
【0050】
または、
【数4】
を用いて算出する場合、単語距離の最小値に、単語位置距離を加算する。単語位置距離は、単語距離が最小値になる単語から類似文までの単語数の常用対数として算出できる。
【0051】
具体的に、単語ID1「世界」は、単語距離が最小値になる単語であり、これはテキストID1において出現する単語である。
図3で示したように、類似文テキストID1における「世界」と類似文テキストID2の間には、「タピオカ」と「ドリンク」と「市場」と「2019」の4つの単語が存在するので、類似文までの単語数が4となる。つまり、単語ID1の単語位置距離は、4の常用対数を算出し、0.602となる。最後に、単語ID1001と類似文テキストID2の文脈距離は、単語距離の最小値(0)と単語位置距離(0.602)とを合計し、0.602となる。なお、単語位置距離は常用対数に限らず、1を超えない変数を乗算してもよい。
【0052】
さらに、単語位置距離は、単語距離が最小値になる単語から類似文までの単語数を類似文の文脈の総単語数で割った値として算出することもできる。具体的には、
図3で示したように、単語ID1「世界」から類似文テキストID2までの単語数は4である。また、
図5を参照すれば、類似文テキストID2の文脈の総単語数は9であることが分かる。つまり、単語ID1の単語位置距離は、類似文までの単語数(4)を類似文文脈の総単語数(9)で割って、0.444となる。最後に、単語ID1001と類似文テキストID2の文脈距離は、単語距離の最小値(0)と単語位置距離(0.444)とを合計し、0.444となる。
【0053】
また、文脈距離算出部60は、前記方法を繰り返すことによって単語ID1002~1007と類似文テキストID2の文脈距離を算出する。最後に単語ID1001~1007と類似文テキストID2のそれぞれの文脈距離を合計し、対象文テキストID100と類似文テキストID2の文脈距離を算出する。
【0054】
以上の方法によって、対象文テキストID100と類似文テキストID2との文脈距離の算出を終了し、他に類似文が存在すれば、同じ方法で文脈距離の算出を行う。本実施形態の場合、類似文テキストID6が存在するので、文脈距離算出部60は、前記方法を繰り返すことにより、対象文テキストID100と類似文テキストID6の文脈距離を算出し、前記類似文テキストID2との文脈距離と合わせて、テキスト分類部70に出力する。すなわち、異なる業務に共通のテキストであったとしても、適切に分析することができる。
【0055】
テキスト分類部70は、類似文検索部20から入力された文距離と、文脈距離算出部60から入力された文脈距離とを損失関数に加えることによって、K近傍法、サポートベクターマシン、ニューラルネットワーク、または他の公知の方法によって、対象文と距離が近い類似文に設定された業務ラベルに、対象文を分類する。
【0056】
[装置動作]
次に、本発明の実施の形態におけるテキスト分類装置100の動作について、
図6を用いて説明する。
図6は、本発明の実施の形態におけるテキスト分類装置の動作を示すフロー図である。以下の説明においては、適宜
図1~
図5を参酌する。また、本実施の形態では、テキスト分類装置100を動作させることによって、テキスト分類方法が実施される。よって、本実施の形態におけるテキスト分類方法の説明は、以下のテキスト分類装置100の動作説明に代える。
【0057】
図6に示すように、まず、文の分散表現生成部10が、入力装置80から受け取った対象文から文の分散表現を生成する(ステップS601)。また、ステップS601において、文の分散表現生成部10は、生成した対象文の文の分散表現を類似文検索部20に入力する。
【0058】
次に、類似文検索部20が、ステップS601で生成された対象文の文の分散表現と文の分散表現データベース30に保存された文の分散表現の文距離に基づき、文の分散表現データベース30から、対象文との文距離が近い類似文をN個抽出する(ステップS602)。
【0059】
次に、類似文文脈抽出部40が、類似文の文脈を文脈データベース50から抽出する(ステップS603)。具体的には、ステップS603では、文脈データベース50からステップS602で抽出されたN個の類似文を検索し、ヒットした類似文の文脈を抽出し、文脈距離算出部60に入力する。
【0060】
次に、文脈距離算出部60が、入力装置80から受け取った対象文の文脈とステップS603で抽出された類似文の文脈との文脈距離を算出する(ステップS604)。また、ステップS604において、文脈距離算出部60は、算出した文脈距離をテキスト分類部70に入力する。
【0061】
最後に、テキスト分類部70が、ステップS602で算出された文距離と、ステップS604で算出された文脈距離とを損失関数に加えることによって、K近傍法、サポートベクターマシン、ニューラルネットワーク等周知の方法で、対象文を、対象文と距離が近い類似文に設定された業務ラベルに分類する(ステップS605)。ステップS605の実行により、テキスト分類装置100における処理は終了する。
【0062】
以上のように、本実施の形態におけるテキスト分類装置100は、対象文との文距離が近い類似文を特定し、さらに対象文と類似文の文脈距離を算出し、文距離と文脈距離の両方を鑑み分類を実行する。このため、本実施の形態におけるテキスト分類装置100によれば、分類対象となるテキストが異なる業務で出現したとしても、業務の分類を適切に実行される。
【0063】
本実施の形態におけるプログラムは、コンピュータに、
図6に示すステップS601~S605を実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することによって、本実施の形態におけるテキスト分類装置100とテキスト分類方法とを実現することができる。この場合、コンピュータのCPU(Central Processing Unit)は、文の分散表現生成部10、類似文検索部20、類似文文脈抽出部40、文脈距離算出部60、およびテキスト分類部70として機能し、処理を行なう。
【0064】
また、本実施の形態では、文の分散表現データベース30、文脈データベース50は、コンピュータに備えられたハードディスク等の記憶装置に、これらを構成するデータファイルを格納することによって、実現できる。また、文の分散表現データベース30、文脈データベース50は1つのデータベースでもよい。
【0065】
ここで、実施の形態におけるプログラムを実行することによって、テキスト分類装置100を実現するコンピュータ110について
図7を用いて説明する。
図7は、本発明の実施の形態におけるテキスト分類装置のハードウェア構成の一例を示すブロック図である。
【0066】
図7に示すように、コンピュータ110は、CPU211と、各種のROMやRAMからなるメモリ212と、ハードディスクなどの記憶装置213と、入力装置214と、表示装置215と、通信I/F217とを備える。これらの各部は、バス218で接続される。
【0067】
CPU211は、記憶装置213に格納された、本実施の形態におけるプログラム(コード)をメモリ212に展開し、これらを所定順序で実行することにより、各種の演算を実施する。また、本実施の形態におけるプログラムは、コンピュータ読み取り可能な光ディスクなどの記録媒体に格納された状態で提供される。なお、本実施の形態におけるプログラムは、通信インターフェイス217を介して接続されたインターネット上で流通するものであっても良い。
【0068】
以上のように、本発明によれば、分類対象となるテキストが異なる業務で出現したとしても、業務の分類を適切に実行することができる。よって、本発明は、コンピュータ操作ログを業務毎に分類し、コンピュータを使用する業務を分析する目的に有用である。
【符号の説明】
【0069】
10 文の分散表現生成部
20 類似文検索部
30 文の分散表現データベース
40 類似文文脈抽出部
50 文脈データベース
60 文脈距離算出部
70 テキスト分類部
100 テキスト分類装置