情報処理装置、複合語抽出方法、及び複合語抽出プログラム
【課題】大規模データから出現頻度の高い複合語を抽出できる情報処理装置、複合語抽出方法、及び複合語抽出プログラムを提供する。
【解決手段】情報処理装置100は、大規模データから複合語を抽出する装置であって、大規模データに対して形態素解析を行い、解析結果として得た形態素及び/又は形態素の集合である形態素列の出現頻度値を算出し、算出した出現頻度値に基づき、複合語の候補となる文字群を抽出する候補抽出手段14と、抽出された文字群を所定の記憶領域に保持する文字群保持手段42と、文字群保持手段42に保持された文字群から、有効な複合語を判定するための条件を満たす文字群を、出現頻度の高い文字群として抽出する複合語抽出手段21と、を有することを特徴とする。
【解決手段】情報処理装置100は、大規模データから複合語を抽出する装置であって、大規模データに対して形態素解析を行い、解析結果として得た形態素及び/又は形態素の集合である形態素列の出現頻度値を算出し、算出した出現頻度値に基づき、複合語の候補となる文字群を抽出する候補抽出手段14と、抽出された文字群を所定の記憶領域に保持する文字群保持手段42と、文字群保持手段42に保持された文字群から、有効な複合語を判定するための条件を満たす文字群を、出現頻度の高い文字群として抽出する複合語抽出手段21と、を有することを特徴とする。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、自然文から複合語を抽出する技術に関するものである。
【背景技術】
【0002】
従来では、形態素解析により、自然文から複合語を抽出する技術が知られている。例えば、特許文献1には、サンプル文字列から形態素を抽出し、抽出した形態素を組み合わせた形態素列に対して、所定の判定条件を適用し、複合語の判定を行う技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2010−9355号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来の方法では、大規模データに対する複合語抽出処理が効率的に行われていない。
【0005】
従来の複合語抽出方法では、形態素解析結果である全ての形態素列に対して、複合語の判定条件を適用し、複合語を抽出するため、複合語抽出処理が煩雑となる。そのため、形態素解析の対象が大規模データの場合には、複合語抽出装置100に多大な処理負荷がかかってしまう。
【0006】
このようことから、複合語抽出処理では、大規模データであっても出現頻度の高い複合語を効率よく抽出できることが望まれる。
【0007】
本発明は上記従来技術の問題点を鑑み提案されたものであり、大規模データであっても出現頻度の高い複合語を効率よく抽出できる情報処理装置、複合語抽出方法、及び複合語抽出プログラムを提供することにある。
【課題を解決するための手段】
【0008】
上記目的を達成するため、本発明に係る情報処理装置は、大規模データから複合語を抽出する情報処理装置であって、大規模データに対して形態素解析を行い、解析結果として得た形態素及び/又は形態素の集合である形態素列の出現頻度値を算出し、算出した出現頻度値に基づき、複合語の候補となる文字群を抽出する候補抽出手段と、抽出された文字群を所定の記憶領域に保持する文字群保持手段と、前記文字群保持手段に保持された文字群から、有効な複合語を判定するための条件を満たす文字群を、出現頻度の高い文字群として抽出する複合語抽出手段と、を有することを特徴とする。
【0009】
このような構成によって、本発明に係る情報処理装置は、大規模データに対して形態素解析を行い、解析結果として得た形態素/形態素列(文字群)の出現頻度を計算し、計算値に基づき、複合語の候補を抽出する。情報処理装置は、複合語候補として抽出した文字群から、有効な複合語を判定するための条件を満たす文字群を抽出する。すなわち、情報処理装置は、出現頻度が所定値以上の文字群であれば、複合語候補とみなし、複合語候補とみなした文字群に対して、有効な複合語を判定する。
【0010】
これによって、本発明に係る情報処理装置では、複合語候補抽出処理において、形態素解析結果として得た文字群から、該文字群の出現頻度に基づき複合語候補を絞り込むことで、複合語抽出処理の対象データが少なくなり、処理負荷が軽減される。その結果、本発明に係る情報処理装置では、大規模データであっても出現頻度の高い複合語が効率的に抽出される。
【0011】
上記目的を達成するため、本発明に係る複合語抽出方法は、複合語の候補となる文字群を所定の記憶領域に保持する文字群保持手段を有し、大規模データから複合語を抽出する情報処理装置における複合語抽出方法であって、大規模データに対して形態素解析を行い、解析結果として得た形態素及び/又は形態素の集合である形態素列の出現頻度値を算出し、算出した出現頻度値に基づき、複合語の候補となる文字群を抽出する候補抽出手順と、前記候補抽出手順により抽出され前記文字群保持手段に保持された文字群から、有効な複合語を判定するための条件を満たす文字群を、出現頻度の高い文字群として抽出する複合語抽出手順と、を有することを特徴とする。
【0012】
このような手順によって、本発明に係る複合語抽出方法は、大規模データに対して形態素解析を行い、解析結果として得た形態素/形態素列(文字群)の出現頻度を計算し、計算値に基づき、複合語の候補を抽出し、複合語候補として抽出した文字群から、有効な複合語を判定するための条件を満たす文字群を抽出するという動作を実現する。
【0013】
これによって、本発明に係る複合語抽出方法では、大規模データであっても出現頻度の高い複合語が効率的に抽出可能な環境を提供できる。
【発明の効果】
【0014】
本発明によれば、大規模データの形態素解析結果として得た文字群から、該文字群の出現頻度を基に複合語候補を絞り込み、絞り込まれた複合語候補から、所定の判定条件を基に有効な複合語を抽出することで、大規模データであっても出現頻度の高い複合語が効率的に抽出される情報処理装置、複合語抽出方法、及び複合語抽出プログラムを提供することができる。
【図面の簡単な説明】
【0015】
【図1】本発明の第1の実施形態に係る複合語抽出システムの構成例を示す図である。
【図2】本発明の第1の実施形態に係る複合語抽出装置のハードウェア構成例を示す図である。
【図3】本発明の第1の実施形態に係る複合語抽出機能の構成例を示す図である。
【図4】本発明の第1の実施形態に係る自然文の形態素解析例を示す図である。
【図5】本発明の第1の実施形態に係るN−gramモデルDBのデータ例を示す図である。
【図6】本発明の第1の実施形態に係る複合語候補DBのデータ例を示す図である。
【図7】本発明の第1の実施形態に係る判定条件DBのデータ例を示す図である。
【図8】本発明の第1の実施形態に係る判定条件適用時の複合語抽出データ例を示す図である。
【図9】本発明の第1の実施形態に係る出現頻度再計算時の複合語抽出データ例を示す図である。
【図10】本発明の第1の実施形態に係る複合語候補抽出の処理手順例を示すフローチャートである。
【図11】本発明の第1の実施形態に係る複合語抽出の処理手順例を示すフローチャートである。
【図12】本発明の変形例に係る複合語抽出システムの構成例を示す図である。
【図13】本発明の変形例に係る複合語抽出機能の構成例を示す図である。
【発明を実施するための形態】
【0016】
以下、本発明の好適な実施の形態(以下「実施形態」という)について、図面を用いて詳細に説明する。
【0017】
[第1の実施形態]
<システム構成>
図1は、本実施形態に係る複合語抽出システム1の構成例を示す図である。
【0018】
図1には、ブログテキストDB(Data Base)91及びWebページDB92と、複合語抽出装置100とが、データ伝送路N(例えば「WAN:Wide Area Network」や「LAN:Local Area Network」などのネットワーク)で接続されるシステム構成例が示されている。
【0019】
ブログテキストDB91やWebページDB92は、ブログテキストやWebページを所定の記憶領域に保持し、これらをDBにより管理する機器である。つまり、ブログテキストDB91やWebページDB92は、通信手段を備えたデータ管理装置900である。
【0020】
複合語抽出装置100は、複合語抽出機能を有する機器であり、通信手段を備えた情報処理装置である。
【0021】
本実施形態に係る複合語抽出システム1では、複合語抽出装置100が、データ管理装置900からブログテキストやWebページのデータを取得し、取得データに対して形態素解析による複合語候補抽出処理を実行し、抽出された複合語候補に対して所定の判定条件に基づく複合語抽出処理を実行することで、有効な複合語が抽出される。
【0022】
以上のように、本実施形態に係る複合語抽出システム1は、上記システム構成により、複合語抽出サービスを提供することができる。
【0023】
なお、データ管理装置900は、ブログテキストDB91やWebページDB92に限らない。形態素解析対象データを保持する機器であればよい。
【0024】
<ハードウェア構成>
図2は、本実施形態に係る複合語抽出装置100のハードウェア構成例を示す図である。
【0025】
図2に示すように、複合語抽出装置100は、入力装置101、表示装置102、ドライブ装置103、RAM(Random Access Memory)104、ROM(Read Only Memory)105、CPU(Central Processing Unit)106、インタフェース装置107、及びHDD(Hard Disk Drive)108などを備え、それぞれがバスBで相互に接続されている。
【0026】
入力装置101は、キーボードやマウスなどを含み、複合語抽出装置100に各操作信号を入力するのに用いられる。表示装置102は、ディスプレイなどを含み、複合語抽出装置100による処理結果を表示する。
【0027】
インタフェース装置107は、複合語抽出装置100をデータ伝送路Nに接続するインタフェースである。これにより、複合語抽出装置100は、データ管理装置900と通信を行うことができる。
【0028】
HDD108は、プログラムやデータを格納している不揮発性の記憶装置である。格納されるプログラムやデータには、装置全体を制御する情報処理システム(例えば「Windows(商標又は登録商標)」や「UNIX(商標又は登録商標)」などの基本ソフトウェアであるOS(Operating System))、及びシステム上において各種機能(複合語抽出機能)を提供するアプリケーションなどがある。また、HDD108は、格納しているプログラムやデータを、所定のファイルシステム及び/又はDBにより管理している。
【0029】
ドライブ装置103は、着脱可能な記録媒体103aとのインタフェースである。これにより、複合語抽出装置100は、記録媒体103aの読み取り及び/又は書き込みを行うことができる。記録媒体103aには、例えば、フロッピー(商標又は登録商標)ディスク、CD(Compact Disk)、及びDVD(Digital Versatile Disk)、ならびに、SDメモリカード(SD Memory card)やUSBメモリ(Universal Serial Bus memory)などがある。
【0030】
ROM105は、電源を切っても内部データを保持することができる不揮発性の半導体メモリ(記憶装置)である。ROM105には、複合語抽出装置100の起動時に実行されるBIOS(Basic Input/Output System)、情報処理システム設定、及びネットワーク設定などのプログラムやデータが格納されている。RAM104は、プログラムやデータを一時保持する揮発性の半導体メモリ(記憶装置)である。CPU106は、上記記憶装置(「HDD」、「ROM」、又は「記録媒体」など)から、プログラムやデータをRAM(メモリ)上に読み出し、処理を実行することで、装置全体の制御や搭載機能を実現する演算装置である。
【0031】
以上のように、本実施形態に係る複合語抽出装置100は、上記ハードウェア構成により、複合語抽出に係る情報処理サービスを提供することができる。
【0032】
<複合語抽出機能>
本実施形態に係る複合語抽出機能について説明する。
【0033】
本実施形態に係る複合語抽出装置100は、形態素解析から複合語候補を抽出するまでの複合語候補抽出処理と、複合語候補から有効な複合語を判定し抽出するまでの複合語抽出処理とを、分離して実行可能としている。このような環境下で、複合語抽出装置100は、複合語候補抽出処理において、形態素解析結果として得た形態素/形態素列(文字群)の出現頻度を計算し、計算値に基づき、解析結果の文字群から複合語候補を絞り込んで抽出する。このとき、複合語抽出装置100は、出現頻度が所定値以上の文字群を複合語候補とみなす。また、複合語抽出装置100は、複合語抽出処理において、複合語候補として抽出した文字群から、有効な複合語を判定するための条件を満たす文字群を抽出する。このとき、複合語抽出装置100は、有効な複合語として抽出した文字群の出現頻度を再計算し、再計算値に基づき、出現頻度の高い文字群を抽出する。本実施形態に係る複合語抽出装置100は、このような複合語抽出機能を有している。
【0034】
従来の複合語抽出方法では、全ての形態素解析結果に対して、複合語の判定条件を適用し、形態素解析から複合語判定までを一連の処理として実行しているため、大規模データに対する複合語抽出処理を実行する場合、複合語抽出装置100に多大な処理負荷がかかり、効率的ではなかった。
【0035】
そこで、本実施形態に係る複合語抽出装置100では、形態素解析結果に対する複合語候補抽出処理と、複合語候補に対する複合語抽出処理とを分離して実行可能とし、複合語候補抽出処理において、形態素解析結果として得た文字群から、該文字群の出現頻度に基づき複合語候補を絞り込み、絞り込まれた複合語候補から、所定の判定条件を基に有効な複合語を抽出する仕組みとした。
【0036】
これによって、本実施形態に係る複合語抽出装置100では、複合語候補抽出処理と複合語抽出処理とが分散処理でき、複合語抽出処理の対象データが少なくなり、処理負荷が軽減される。その結果、本発明に係る情報処理装置では、大規模データであっても出現頻度の高い複合語が効率的に抽出される。
【0037】
以下に、本実施形態に係る複合語抽出機能の構成とその動作について説明する。
【0038】
図3は、本実施形態に係る複合語抽出機能の構成例を示す図である。
【0039】
図3に示すように、本実施形態に係る複合語抽出機能は、データ取得部11、形態素解析部12、頻度計算部13、候補抽出部14、複合語抽出部21、及び出力部31などを有している。データ取得部11、形態素解析部12、頻度計算部13、及び候補抽出部14は、複合語候補抽出処理を行う機能部群であり、複合語抽出部21は、複合語抽出処理を行う機能部である。つまり、本実施形態に係る複合語抽出機能は、複合語候補抽出処理を行う機能部と複合語抽出処理を行う機能部とが分離可能(別のソフトウェアにより実現可能)な構成となっている。なお、出力部31は、複合語抽出部21による抽出データを出力する機能部である。
【0040】
《複合語候補の抽出》
データ取得部11は、データ管理装置900から形態素解析対象データを取得する機能部である。データ取得部11は、例えば、所定のスケジュール(取得間隔)に従って、ブログテキストDB91やWebページDB92から、ブログテキストやWebページに含まれる自然文の文字列データ(形態素解析対象データ)を取得する。なお、データ取得方法は、上記プル型に限らない。例えば、データ管理装置900から送信されたデータを取得するプッシュ型でもよい。
【0041】
形態素解析部12は、取得データに対して形態素解析を行う機能部である。形態素(morpheme)とは、自然文の要素のうち、意味をもつ最小単位であり、形態素解析(morphological analysis)とは、自然言語処理技術の1つで、自然文を意味のある単語に区切り、辞書などを利用して品詞や内容を判別することである。形態素解析部12は、このような自然言語処理を、データ取得部11による取得データ(ブログテキストやWebページなどに含まれる文字列データ)に対して実行し、所定の文字群(及び/又は文字)を解析結果として取得する。よって、解析結果として得られる文字群は、形態素/形態素列である。なお、形態素/形態素列は、N−gramデータといわれ、所定の文字列から切り出した一定個数の形態素の集合である。N−gramの「N」値は、上記個数を意味する。よって、形態素は、N=1のN−gramデータであり、形態素列は、N≧2のN−gramデータである。
【0042】
ここで、同機能部12が行う形態素解析の具体的な動作について説明する。
【0043】
図4は、本実施形態に係る自然文の形態素解析例を示す図である。
【0044】
図4には、取得データに含まれた自然文の文字列が"機動戦士ロボ"であった場合の形態素解析例が示されている。
【0045】
形態素解析部12は、形態素解析により"機動戦士ロボ"から3つの形態素"機動","戦士","ロボ"を取得し、さらに、これらの形態素の集合である形態素列を取得する。具体的には、形態素"機動","戦士","ロボ"が、1−gramデータとして取得される。また、2つの形態素の集合である形態素列"機動戦士","戦士ロボ"が、2−gramデータとして取得される。また、3つの形態素の集合である形態素列"機動戦士ロボ"が、3−gramデータとして取得される。なお、以降では、N−gramデータを、N−gramの文字群という。
【0046】
図3の説明に戻る。頻度計算部13は、解析結果の形態素/形態素列の出現頻度を計算する機能部である。計算する出現頻度には、例えば、形態素/形態素列の出現回数の累積値(単位:[回数])や、解析結果である全ての形態素/形態素列の中の各形態素/形態素列の割合値(単位:[%])などである。なお、出現頻度を表す値(以下「出現頻度値」という)として各形態素/形態素列の割合値を用いると、全ての解析結果が得られなければ計算できない値であることから、形態素解析対象データが大規模データの場合、出現頻度値が得られるまで処理時間がかかってしまう。よって、本実施形態では、処理時間を考慮し、形態素解析と同期してリアルタイムに値が得られる出現回数の累積値を出現頻度値とする。
【0047】
このようにして得られた形態素解析結果(形態素/形態素列の文字群)及び出現頻度計算結果(出現頻度値)は、N−gramモデルDB41に記録され保持される。なお、N−gramモデルDB41は、例えば、複合語抽出装置100が備える記憶装置(HDD)の所定の記憶領域にあたり、保持データをDBにより管理する。
【0048】
ここで、N−gramモデルDB41が保持するデータ例を説明する。
【0049】
図5は、本実施形態に係るN−gramモデルDB41のデータ例を示す図である。
【0050】
図5に示すように、N−gramモデルDB41の登録データ41Dは、文字群、N−gram分類、及び出現頻度などの情報項目を有し、各情報項目が形態素解析結果ごとに対応づけて保持されている。
【0051】
[文字群]項目は、形態素解析結果の文字群が記録される項目であり、項目値は、例えば、形態素/形態素列の文字群などである。[N−gram分類]項目は、N−gramの分類が記録される項目であり、項目値は、例えば、形態素/形態素列に対応するN−gramのN値などである。[出現頻度]項目は、形態素解析時の出現頻度が記録される項目であり、項目値は、例えば、形態素/形態素列に対応する出現回数の累積値などである。
【0052】
図3の説明に戻る。上記形態素解析部12及び上記出現頻度計算部13の処理は、大規模データを対象としている。そこで、本実施形態では、これらの処理を、例えば、Hadoopにより分散処理する。Hadoopは、ASF(Apache Software Foundation)が開発・公開しているソフトウェア基盤(オープンソースのプラットフォーム)であり、数千ノード及びペタバイト級の大規模データを効率的に分散処理・管理することができる。本実施形態では、このような技術を用いて、上記形態素解析部12及び上記出現頻度計算部13の分散処理を実現する。
【0053】
候補抽出部14は、形態素解析結果の文字群の中から複合語候補を抽出する機能部である。候補抽出部14は、出現頻度値に基づき、複合語候補を抽出する。具体的には、N−gramモデルDB41にアクセスし、参照した登録データ41Dの[出現頻度]項目値に基づき、出現頻度値が所定値以上の[文字群]項目値を複合語候補として抽出する。なお、複合語候補の抽出基準となる所定値は、閾値として予め設定しておく。
【0054】
このようにして得られた複合語候補抽出結果(一定以上の出現頻度を有する形態素/形態素列の文字群)は、複合語候補DB42に記録され保持される。なお、複合語候補DB42は、N−gramモデルDB41と同じく、複合語抽出装置100が備える記憶装置の所定の記憶領域にあたり、保持データをDBにより管理する。
【0055】
ここで、複合語候補DB42が保持するデータ例を説明する。
【0056】
図6は、本実施形態に係る複合語候補DB42のデータ例を示す図である。
【0057】
図6に示すように、複合語候補DB42の登録データ42Dは、複合語候補、N−gram分類、及び出現頻度などの情報項目を有し、各情報項目が複合語抽出結果ごとに対応づけて保持されている。
【0058】
[複合語候補]項目は、複合語候補抽出結果の文字群が記録される項目であり、項目値は、例えば、一定以上の出現頻度を有する形態素/形態素列の文字群などである。つまり、[複合語候補]項目の項目値には、形態素解析結果の文字群の中から、出現頻度に基づき絞り込まれた文字群が記録される。なお、[N−gram分類]項目及び[出現頻度]項目は、N−gramモデルDB41が有する項目と同じであることから、その説明を省略する。
【0059】
このように、本実施形態では、複合語候補抽出処理において、形態素解析により得られた形態素/形態素列から、出現頻度に基づき複合語候補が絞り込まれる。その結果、後続の複合語抽出処理の対象データを少なくできる。
【0060】
《複合語の抽出》
複合語抽出部21は、複合語候補抽出結果の文字群の中から複合語を抽出する機能部である。複合語抽出部21は、複合語候補抽出結果の文字群の中から複合語を抽出する。複合語抽出部21は、有効/無効な複合語を判定する判定条件に基づき、複合語を抽出する。具体的には、複合語候補DB42にアクセスし、参照した登録データ42Dの[複合語候補]項目値が条件を満たす文字群か否かを判定し、判定結果に基づき、[複合語候補]項目値を複合語として抽出する。なお、複合語の抽出基準となる判定条件は、判定種別ごとの情報として予め定義しておく。
【0061】
判定条件は、判定条件DB51に定義され保持される。なお、判定条件DB51は、他のDB41,42と同じく、複合語抽出装置100が備える記憶装置の所定の記憶領域にあたり、保持データをDBにより管理する。
【0062】
ここで、判定条件DB51が保持するデータ例を説明する。
【0063】
図7は、本実施形態に係る判定条件DB51のデータ例を示す図である。
【0064】
図7に示すように、判定条件DB51の登録データ51Dは、ID、判定種別、適用条件、及び判定条件などの情報項目を有し、各情報項目が判定条件ごとに対応づけて保持されている。なお、図7には、情報項目として、条件による判定結果を説明する[意味]項目を有するデータ例が示されているが、この項目は、本実施形態を説明する上で便宜上付加した情報項目である。よって、有効複合語の判定処理では用いないデータである。
【0065】
[ID]項目は、判定条件の識別子(以下「識別情報」という)が定義された項目であり、項目値は、例えば、判定条件ごとに採番された管理番号(ID値)などである。[判定種別]項目は、判定条件の種別(以下「種別情報」という)が定義された項目であり、項目値は、例えば、有効/無効な複合語を判定する判定条件の識別子(OK/NG)などである。[適用条件]項目は、判定条件を適用する複合語候補の文字群の条件(以下「適用条件情報」という)が定義された項目であり、項目値は、例えば、複合語候補の文字群におけるN−gramのN値又はN値の範囲などである。[判定条件]項目は、形態素解析対象の自然文の言語文法(及び/又は文節)に基づく判定条件(以下「判定条件情報」という)が定義された項目であり、項目値は、例えば、文字パターンを表す正規表現(regular expression)の定義情報などである。正規表現とは、文字列の集合を1つの文字列で表現する方法(文字列のパターンを表現する表記法)の1つである。
【0066】
図7には、有効な複合語を判定する3つの判定条件と無効な複合語を判定する9つの判定条件とが定義された登録データ51Dが示されている。形態素解析対象の自然文が日本語の場合、定義されている判定条件には、日本語文法(表記、品詞、活用などの文法上の特性)に基づき、次のような条件が挙げられる。
【0067】
例えば、有効な複合語を判定する判定条件には、適用条件「2−gram以上」が対応づけられた正規表現「^(自立語)+(付属語)+$」が定義されている。有効複合語の判定処理において、この判定条件を用いた場合には、自立語と付属語とで構成される2−gram以上の複合語候補の文字群が有効な複合語と判定され抽出される。
【0068】
また、無効な複合語を判定する判定条件には、適用条件「2−gram以上」が対応づけられた正規表現「"[ぁ−ん−ヴ]$"」が定義されている。無効複合語の判定処理において、この判定条件を用いた場合には、ひらがな1文字の形態素で終わる2−gram以上の複合語候補の文字群が無効な複合語と判定される。
【0069】
このように、複合語候補の文字群に対して判定条件を適用し、有効/無効な複合語を判定する機能部が、複合語抽出部21が有する条件適用部211にあたる。
【0070】
図3の説明に戻る。複合語抽出部21は、次のように複合語を抽出する。
【0071】
条件適用部211は、有効な複合語を判定する判定条件に基づき、複合語候補抽出結果の文字群が有効な複合語か否かを判定する。具体的には、判定条件DB51にアクセスし、参照した登録データ51Dの[判定種別]項目値に対応づけられた[判定条件]項目値に基づき、有効な複合語を判定する際に用いる判定条件を特定する。次に、複合語候補DB42にアクセスし、参照した登録データ42Dの[複合語候補]項目値が、特定したいずれかの判定条件を満たす文字群か否かを判定する。その結果、判定条件を満たす文字群を、有効な複合語とする。
【0072】
また、条件適用部211は、無効な複合語を判定する判定条件に基づき、有効な複合語として判定された文字群が無効な複合語か否かを判定する。つまり、条件適用部211は、判定条件を段階的に適用し、複合語候補の文字群から有効な複合語を最終判定する。具体的には、判定条件DB51にアクセスし、参照した登録データ51Dの[判定種別]項目値に対応づけられた[判定条件]項目値に基づき、無効な複合語を判定する際に用いる判定条件を特定する。次に、複合語候補DB42にアクセスし、有効な複合語として判定された[複合語候補]項目値が、特定したいずれかの判定条件を満たす文字群か否かを判定する。その結果、判定条件を満たす文字群を、無効な複合語とする。
【0073】
つまり、条件適用部211では、複合語候補の文字群の中で、有効な複合語を判定するいずれかの判定条件を満たし、かつ、無効な複合語を判定する全ての判定条件を満たさない文字群を、最終的に有効な複合語として判定する。一方、複合語候補の文字群の中で、有効な複合語を判定するいずれかの判定条件を満たさない文字群、又は、無効な複合語を判定するいずれかの判定条件を満たす文字群は、最終的に無効な複合語として判定される。
【0074】
複合語抽出部21は、上記条件適用部211の判定結果に基づき、複合語候補抽出結果の文字群の中から複合語を抽出する。具体的には、複合語候補DB42にアクセスし、最終的に有効な複合語として判定された複合語候補の登録データ42Dのみを、複合語候補DB42から抽出し、複合語抽出データを生成する。
【0075】
ここで、同機能部21が行うデータ操作の具体的な動作について説明する。
【0076】
図8は、本実施形態に係る判定条件適用時の複合語抽出データ例を示す図である。
【0077】
(A)には、複合語候補DB42における判定条件適用前の登録データ42Dの例が示されており、(B)には、判定条件適用時の複合語抽出データ43Dの例が示されている。
【0078】
例えば、(A)に示す[複合語候補]項目値の文字群"ロボは"は、自立語"ロボ"と付属語"は"とで構成される2−gramの文字群であることから、判定条件DB51に定義される管理番号ID0001の有効判定条件(正規表現「^(自立語)+(付属語)+$」)を満たし、有効な複合語と判定される。しかし、文字群"ロボは"は、ひらがな1文字の形態素"は"で終わる2−gramの文字群でもあることから、管理番号ID0012の無効判定条件(正規表現「"[ぁ−ん−ヴ]$"」)を満たし、無効な複合語とも判定される。よって、複合語抽出部21は、文字群"ロボは"の登録データ42Dを、複合語候補DB42から抽出しない。
【0079】
また、(A)に示す[複合語候補]項目値の文字群"っぽい機動"は、自立語"っぽい","機動"のみで構成される2−gramの文字群であることから、判定条件DB51に定義される管理番号ID0002の有効判定条件(正規表現「^(自立語){1,3}+$」)を満たし、有効な複合語と判定される。しかし、文字群"っぽい機動"は、接尾辞"っぽい"で始まる2−gramの文字群でもあることから、管理番号ID0004の無効判定条件(正規表現「^接尾辞」)を満たし、無効な複合語とも判定される。よって、複合語抽出部21は、文字群"っぽい機動"の登録データ42Dを、複合語候補DB42から抽出しない。
【0080】
また、(A)に示す[複合語候補]項目値の文字群"強いこの"は、自立語"強い","この"のみで構成される2−gramの文字群であることから、判定条件DB51に定義される管理番号ID0002の有効判定条件を満たし、有効な複合語と判定される。しかし、文字群"強いこの"は、連体詞"この"で終わる2−gramの文字群でもあることから、管理番号ID0007の無効判定条件(正規表現「(副詞|連体詞)$」)を満たし、無効な複合語とも判定される。よって、複合語抽出部21は、文字群"強いこの"の登録データ42Dを、複合語候補DB42から抽出しない。
【0081】
このように、複合語抽出部21による上記データ操作で、複合語候補DB42の登録データ42Dからは、(B)に示す複合語抽出データ43Dが生成される。なお、複合語抽出データ43Dは、例えば、複合語抽出装置100が備える記憶装置の所定の記憶領域に保持される。
【0082】
図3の説明に戻る。複合語抽出部21は、上記判定処理により有効な複合語とする文字群を抽出すると、抽出した文字群の出現頻度値を再計算する。
【0083】
このように、有効な複合語として抽出した文字群に対して出現頻度値を再計算する機能部が、複合語抽出部21が有する頻度再計算部212にあたる。
【0084】
複合語抽出部21は、次のように出現頻度値を再計算する。
【0085】
頻度再計算部212は、文字群におけるN−gramのN値に基づき、有効な複合語として抽出した文字群の出現頻度値を再計算する。具体的には、記憶領域にアクセスし、参照した複合語抽出データ43Dの[複合語候補]項目値及び[N−gram分類]項目値に基づき、N−gramの文字群に含まれる(N−1)−gramの文字群を特定する。次に、特定した(N−1)−gramの文字群に対応する[出現頻度]項目値から、N−gramの文字群に対応する[出現頻度]項目値を減算する。その結果、減算値を、(N−1)−gramの文字群に対応する新たな出現頻度値とする。なお、N値は2以上である。よって、N−gramの文字群は形態素列であり、(N−1)−gramの文字群は形態素又は形態素列である。
【0086】
この処理は、次のような理由から行われる。
【0087】
複合語抽出部21により抽出された複合語(有効な複合語として判定された文字群)は、例えば、検索キーワード入力における予測変換候補サービスとして活用される。この場合、予測変換候補サービスでは、抽出された複合語が出現頻度の高い順に提示される。また、予測変換候補サービスでは、検索ユーザが入力すると予測される文字(以下「入力候補文字」という)を多く含む複合語が提示する複合語として望ましい。
【0088】
一方、抽出された複合語の出現頻度値は、文字群におけるN−gramのN値が小さい方が、出現頻度値が大きくなる傾向がある。なぜなら、N−gramのN値が小さいということは、文字群に含まれる形態素が少ないことを意味し、少ない形態素の集合であれば、形態素解析対象データにおいて出現回数が多くなるからである。
【0089】
そのため、出現頻度値を再計算しなければ、予測変換候補サービスにおいて、入力候補文字を多く含む複合語が提示されないことが考えられる。このように、検索ユーザに対して、有用な予測変換候補が提示されるように、抽出された複合語の出現頻度値を再計算する必要がある。
【0090】
そこで、頻度再計算部212では、上記減算処理により、有効な複合語として抽出した文字群に対応する出現頻度値を再計算し、入力候補文字を多く含む文字群の出現頻度値が、他の文字群の出現頻度値より、相対的に大きくなるようにする。
【0091】
複合語抽出部21は、上記頻度再計算部212の計算結果に基づき、有効な複合語として抽出された複合語抽出データ43Dを降順に並び換える。具体的には、記憶領域にアクセスし、参照した複合語抽出データ43Dの[出現頻度]項目値を、再計算した出現頻度値により更新し、更新した出現頻度値に基づき、複合語抽出データ43Dを、出現頻度値の大きい順に並び換える。
【0092】
ここで、同機能部21が行うデータ操作の具体的な動作について説明する。
【0093】
図9は、本実施形態に係る出現頻度再計算時の複合語抽出データ例を示す図である。
【0094】
(A)には、出現頻度再計算前の複合語抽出データ43Dの例が示されており、(B)には、出現頻度再計算時の複合語抽出データ43Dの例が示されている。
【0095】
例えば、(A)に示す[複合語候補]項目値の文字群"機動戦士"は、2−gramの文字群(形態素列)であり、1−gramの文字群"機動","戦士"(形態素)を含む。よって、文字群"機動","戦士"に対応する出現頻度値が再計算される。文字群"機動"に対応する出現頻度値は、該文字群に対応する[出現頻度]項目値から、文字群"機動戦士"に対応する出現頻度値を減算した値(126[回]=15673―15547)に更新される。また、文字群"戦士"に対応する出現頻度値は、該文字群に対応する[出現頻度]項目値から、文字群"機動戦士"に対応する出現頻度値を減算した値(179[回]=15731―15547)に更新される。その結果、文字群"機動戦士"に対応する出現頻度値が、該文字群に含まれる文字群"機動","戦士"に対応する出現頻度値により相対的に大きくなる。
【0096】
また、(A)に示す[複合語候補]項目値の文字群"機動戦士ロボ"は、3−gramの文字群(形態素列)であり、2−gramの文字群"機動戦士","戦士ロボ"(形態素列)を含む。よって、文字群"機動戦士","戦士ロボ"に対応する出現頻度値が再計算される。文字群"機動戦士"に対応する出現頻度値は、該文字群に対応する[出現頻度]項目値から、文字群"機動戦士ロボ"に対応する出現頻度値を減算した値(306[回]=15547―15241)に更新される。また、文字群"戦士ロボ"に対応する出現頻度値は、該文字群に対応する[出現頻度]項目値から、文字群"機動戦士ロボ"に対応する出現頻度値を減算した値(311[回]=15552―15241)に更新される。その結果、文字群"機動戦士ロボ"に対応する出現頻度値が、該文字群に含まれる文字群"機動戦士","戦士ロボ"に対応する出現頻度値により相対的に大きくなる。
【0097】
このように、複合語抽出部21による上記データ操作で、複合語抽出データ43Dは、(B)に示すように、出現頻度の大きい順に並び換えられる。複合語抽出部21は、並び換え後、複合語抽出データ43Dのうち、出現頻度の高いデータ(高頻度な文字群のデータ)のみを抽出する。なお、このとき、複合語抽出部21では、更新した出現頻度値が所定値以下である複合語抽出データ43Dを削除してもよい。
【0098】
図3の説明に戻る。出力部31は、複合語抽出データ43Dを出力する機能部である。図3には、複合語抽出データ43Dの活用先として、辞書DB93が示されている。辞書DB93には、複合語抽出データ43Dが、検索ユーザの入力候補文字のデータとして登録され、上述した予測変換候補サービスで利用されるデータ管理装置900の1つである。
【0099】
以上のように、本実施形態に係る複合語抽出機能は、複合語候補抽出処理と複合語抽出処理とが実行され、上記各機能部が連携動作することにより実現される。なお、本実施形態では、複合語候補抽出処理を行う機能部と複合語抽出処理を行う機能部とを、異なるソフトウェアで実現可能な構成としたことにより、複合語候補抽出処理と複合語抽出処理とを分離して実行できる。
【0100】
本実施形態に係る複合語候補抽出処理及び複合語抽出処理は、複合語抽出装置100に搭載(インストール)されるプログラム(複合語候補抽出処理を実行するソフトウェアと複合語抽出処理を実行するソフトウェアと)が、演算装置(CPU)により、記憶装置からメモリ(RAM)上に読み出され実行される。
【0101】
以下に、本実施形態に係る複合語候補抽出処理及び複合語抽出処理の詳細について、処理手順を示すフローチャートを用いて説明する。
【0102】
《複合語候補の抽出処理》
図10は、本実施形態に係る複合語候補抽出の処理手順例を示すフローチャートである。
【0103】
図10に示すように、複合語抽出装置100は、データ取得部11により、形態素解析対象データを取得する(ステップS101)。データ取得部11は、例えば、ブログテキストDB91やWebページDB92から、ブログテキストやWebページに含まれる自然文の文字列データを、形態素解析対象データとして取得する。
【0104】
次に、複合語抽出装置100は、形態素解析部12により、形態素解析対象データに対して形態素解析を行う(ステップS102)。その結果、形態素解析部12は、N−gramモデルDB41にアクセスし、解析結果として得た形態素/形態素列の文字群を、登録データ41Dとして記録する。
【0105】
次に、複合語抽出装置100は、頻度計算部13により、解析結果として得た文字群の出現頻度値を計算する(ステップS103)。このとき、頻度計算部13は、形態素解析対象データにおける文字群の出現回数の累積値をカウントし、出現頻度値とする。その結果、頻度計算部13は、N−gramモデルDB41にアクセスし、計算した出現頻度値を、登録データ41Dとして記録する。
【0106】
次に、複合語抽出装置100は、候補抽出部14により、次のような複合語候補抽出処理を実行する。
【0107】
候補抽出部14は、解析結果として得た文字群の出現頻度値が所定値以上か否かを判定する(ステップS104)。このとき、候補抽出部14は、N−gramモデルDB41にアクセスし、文字群ごとの登録データ41Dを参照し、該当出現頻度値が予め設定しておいた閾値以上か否かを判定する。
【0108】
候補抽出部14は、解析結果として得た文字群の出現頻度値が閾値以上と判定した場合(ステップS104:YES)、該当文字群を複合語候補として抽出する(ステップS105)。その結果、候補抽出部14は、複合語候補DB42にアクセスし、複合語候補として判定された文字群の登録データ41Dを、登録データ42Dとして記録する。
【0109】
一方、候補抽出部14は、解析結果として得た文字群の出現頻度値が閾値未満と判定した場合(ステップS104:NO)、該当文字群を複合語候補として抽出しない。
【0110】
次に、候補抽出部14は、解析結果として得た文字群全て(文字群の登録データ全て)に対してステップS104の判定処理を実行したか否かを判定する(ステップS106)。
【0111】
候補抽出部14は、解析結果として得た文字群全てに対して上記判定処理を実行したと判定した場合(ステップS106:YES)、複合語候補抽出処理を終了する。
【0112】
一方、候補抽出部14は、解析結果として得た文字群全てに対して上記判定処理を実行していないと判定した場合(ステップS106:NO)、ステップS104に移行し、未処理の文字群に対して判定処理を実行し、判定結果に基づく複合語候補抽出処理を実行する。
【0113】
《複合語の抽出処理》
図11は、本実施形態に係る複合語抽出の処理手順例を示すフローチャートである。
【0114】
図11に示すように、複合語抽出装置100は、複合語抽出部21により、次のような複合語抽出処理を実行する。
【0115】
条件適用部211は、予め設定しておいた有効/無効な複合語を判定する判定条件を特定する(ステップS201)。このとき、条件適用部211は、判定条件DB51にアクセスし、判定条件ごとの登録データ51Dを参照し、種別情報に基づき、有効/無効な複合語を判定する際に用いる判定条件情報を特定する。
【0116】
次に、条件適用部211は、特定した判定条件を複合語候補の文字群に適用する(ステップS202)。このとき、条件適用部211は、複合語候補DB42にアクセスし、文字群ごとの登録データ42Dを参照し、複合語候補の文字群が、特定したいずれかの判定条件を満たす文字群か否かを判定する。
【0117】
条件適用部211は、まず、複合語候補の文字群が、有効な複合語を判定する判定条件を満たしているか否かを判定する(ステップS203)。
【0118】
条件適用部211は、複合語候補の文字群が、有効な複合語を判定する判定条件を満たしていると判定した場合(ステップS204:YES)、同文字群が、無効な複合語を判定する判定条件を満たしているか否かを判定する(ステップS205)。
【0119】
複合語抽出部21は、条件適用部211により、同文字群が、無効な複合語を判定する判定条件を満たしていないと判定された場合(ステップS204:NO)、該当文字群を有効な複合語として抽出する(ステップS205)。このとき、複合語抽出部21は、有効な複合語として抽出した文字群の登録データ42Dから複合語抽出データ43Dを生成し、当該装置の記憶領域に保持する。
【0120】
一方、複合語抽出部21は、条件適用部211により、複合語候補の文字群が、有効な複合語を判定する判定条件を満たしていないと判定された場合(ステップS204:NO)、又は、無効な複合語を判定する判定条件を満たしていると判定された場合(ステップS205:YES)、該当文字群を有効な複合語として抽出しない。
【0121】
次に、複合語抽出部21は、複合語候補の文字群全て(文字群の登録データ全て)に対してステップS202〜S204の条件適用処理を実行したか否かを判定する(ステップS206)。
【0122】
複合語抽出部21は、複合語候補の文字群全てに対して条件適用処理を実行していないと判定した場合(ステップS206:NO)、ステップS202に移行し、条件適用部211により、未処理の文字群に対して条件適用処理を実行し、判定結果に基づく有効複合語抽出処理を実行する。
【0123】
一方、複合語抽出部21は、複合語候補の文字群全てに対して条件適用処理を実行したと判定した場合(ステップS206:YES)、頻度再計算部212により、有効な複合語と抽出した文字群の出現頻度値を再計算する(ステップS207)。このとき、頻度再計算部212は、文字群におけるN−gramのN値に基づき、出現頻度値を再計算する。具体的には、記憶領域にアクセスし、複合語抽出データ43Dを参照し、有効な複合語として抽出したN−gramの文字群に含まれる(N−1)−gramの文字群を特定する。次に、特定した(N−1)−gramの文字群の出現頻度値から、N−gramの文字群の出現頻度を減算する。その結果、減算値が、(N−1)−gramの文字群に対応する出現頻度値となるように、複合語抽出データ43Dの該当項目値を更新する。
【0124】
複合語抽出部21は、有効な複合語として抽出した文字群に対してステップS207の再計算処理を実行したか否かを判定する(ステップS208)。
【0125】
複合語抽出部21は、有効な複合語として抽出した文字群に対して再計算処理を実行していないと判定した場合(ステップS208:NO)、ステップS207に移行し、頻度再計算部212により、未処理の文字群に対して再計算処理を実行する。
【0126】
一方、複合語抽出部21は、有効な複合語として抽出した文字群に対して再計算処理を実行したと判定した場合(ステップS208:YES)、再計算した出現頻度値に基づき、有効な複合語として抽出された文字群を、出現頻度値の大きい順に並び換える(ステップS209)。
【0127】
複合語抽出部21は、並び換え後、高頻度な文字群を抽出する(ステップS210)。その結果、複合語抽出データ43Dのうち、出現頻度の高いデータのみが抽出される。出力部31では、このようにして抽出されたデータが出力される。
【0128】
<まとめ>
以上のように、本実施形態に係る複合語抽出装置100によれば、形態素解析から複合語候補を抽出するまでの複合語候補抽出処理と、複合語候補から有効な複合語を判定し抽出するまでの複合語抽出処理とを、分離して実行可能とした。
【0129】
このような環境下で、複合語抽出装置100は、複合語候補抽出処理を次のように行う。複合号抽出装置100は、形態素解析部12により、大規模データに対して形態素解析を行い、頻度計算部13により、形態素解析結果として得た形態素/形態素列(文字群)の出現頻度を計算し、候補抽出部14により、出現頻度の計算値に基づき、解析結果の文字群から複合語候補を絞り込んで抽出する。このとき、候補抽出部14は、出現頻度が所定値以上の文字群を複合語候補とみなす。
【0130】
また、複合語抽出装置100は、複合語抽出処理を次のように行う。複合語抽出装置100は、複合語抽出部21の条件適用部211により、複合語候補として抽出した文字群に対して、有効な複合語を判定するための条件を適用し、条件を満たす文字群を抽出する。このとき、複合語抽出部21は、頻度再計算部212により、有効な複合語として抽出した文字群の出現頻度を再計算し、再計算値に基づき、出現頻度の高い文字群を抽出する。
【0131】
これによって、本実施形態に係る複合語抽出装置100では、大規模データであっても出現頻度の高い複合語を効率よく抽出できる。
【0132】
なぜなら、本実施形態に係る複合語抽出装置100では、複合語候補抽出処理において、形態素解析結果として得た文字群から、該文字群の出現頻度に基づき複合語候補を絞り込むことで、複合語抽出処理の対象データが少なくなり、処理負荷が軽減される。
【0133】
また、本実施形態に係る複合語抽出装置100では、複合語候補抽出処理と複合語抽出処理とを分散処理することで、複合語の判定条件が変更された場合であっても、その都度、大規模データに対して一連の処理を実行するのではなく、絞り込まれた複合語候補に対して複合語抽出処理を実行するのみでよく、処理負荷が軽減される。
【0134】
ここまで、上記実施形態の説明を行ってきたが、上記実施形態に係る「複合語抽出機能」は、図を用いて説明を行った各処理手順を、動作環境(プラットフォーム)にあったプログラミング言語でコード化したプログラムが、複合語抽出装置100が備える演算装置により実行されることで実現される。
【0135】
上記プログラムは、コンピュータが読み取り可能な記録媒体103aに格納することができる。これにより、例えば、上記プログラムは、ドライブ装置103を介して、複合語抽出装置100にインストールすることができる。また、複合語抽出装置100は、インタフェース装置107を備えていることから、電気通信回線を用いて上記プログラムをダウンロードし、インストールすることもできる。
【0136】
<変形例>
上記実施形態では、複合語抽出装置100で、複合語候補抽出処理と複合語抽出処理とが実行されるシステムの例を示したが、この限りでない。例えば、図12に示すようなシステムであてもよい。
【0137】
図12は、本変形例に係る複合語抽出システム1の構成例を示す図である。
【0138】
図12には、ブログテキストDB91、WebページDB92、及び複合語抽出装置100に加えて、複合語候補抽出装置200が、データ伝送路Nで接続されるシステム構成例が示されている。
【0139】
複合語候補抽出装置200は、複合語候補抽出処理を実行する機器であり、通信手段を備えた情報処理装置である。
【0140】
本変形例に係る複合語抽出システム1では、複合語候補抽出装置200が、データ管理装置900からブログテキストやWebページのデータ(形態素解析対象データ)を取得し、取得データに対して形態素解析による複合語候補抽出処理を実行する。また、複合語抽出装置100が、複合語候補抽出装置200にアクセスし、抽出された複合語候補に対して複合語抽出処理を実行する。これにより、本変形例に係る複合語抽出システム1では、有効な複合語が抽出される。
【0141】
また、本変形例に係る複合語抽出システム1では、複合語抽出機能が、図13に示すような構成となる。
【0142】
図13は、本変形例に係る複合語抽出機能の構成例を示す図である。
【0143】
図13に示すように、本変形例に係る複合語機能では、複合語候補抽出装置200が、データ取得部11、形態素解析部12、頻度計算部13、及び候補抽出部14を有し、複合語抽出装置100が、複合語抽出部21及び出力部31を有する。また、複合語候補抽出装置200が、N−gramモデルDB41及び複合語候補DB42を有し、複合語抽出装置100が、判定条件DB51を有する。
【0144】
本変形例では、上記機能構成により、複合語候補抽出装置200が有する機能部と複合語抽出装置100が有する機能部とを連携動作させることで、複合語抽出機能を実現できる。
【0145】
最後に、上記実施形態に挙げた形状や構成に、その他の要素との組み合わせなど、ここで示した要件に、本発明が限定されるものではない。これらの点に関しては、本発明の主旨をそこなわない範囲で変更することが可能であり、その応用形態に応じて適切に定めることができる。
【符号の説明】
【0146】
1 複合語抽出システム
11 データ取得部
12 形態素解析部
13 頻度計算部
14 候補抽出部
21 複合語抽出部
211 条件適用部
212 頻度再計算部
31 出力部
41 N−gramモデルDB(D:登録データ)
42 複合語候補DB(D:登録データ)
43D 複合語抽出データ
51 判定条件DB(D:登録データ)
91 ブログテキストDB
92 WebページDB
93 辞書DB
100 複合語抽出装置(情報処理装置)
101 入力装置
102 表示装置
103 ドライブ装置(a:記録媒体)
104 RAM(揮発性の半導体メモリ)
105 ROM(不揮発性の半導体メモリ)
106 CPU(演算装置)
107 インタフェース装置(NIC:Network I/F Card)
108 HDD(不揮発性の記憶装置)
200 複合語候補抽出装置
900 データ管理装置
B バス
N データ伝送路(ネットワーク)
【技術分野】
【0001】
本発明は、自然文から複合語を抽出する技術に関するものである。
【背景技術】
【0002】
従来では、形態素解析により、自然文から複合語を抽出する技術が知られている。例えば、特許文献1には、サンプル文字列から形態素を抽出し、抽出した形態素を組み合わせた形態素列に対して、所定の判定条件を適用し、複合語の判定を行う技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2010−9355号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来の方法では、大規模データに対する複合語抽出処理が効率的に行われていない。
【0005】
従来の複合語抽出方法では、形態素解析結果である全ての形態素列に対して、複合語の判定条件を適用し、複合語を抽出するため、複合語抽出処理が煩雑となる。そのため、形態素解析の対象が大規模データの場合には、複合語抽出装置100に多大な処理負荷がかかってしまう。
【0006】
このようことから、複合語抽出処理では、大規模データであっても出現頻度の高い複合語を効率よく抽出できることが望まれる。
【0007】
本発明は上記従来技術の問題点を鑑み提案されたものであり、大規模データであっても出現頻度の高い複合語を効率よく抽出できる情報処理装置、複合語抽出方法、及び複合語抽出プログラムを提供することにある。
【課題を解決するための手段】
【0008】
上記目的を達成するため、本発明に係る情報処理装置は、大規模データから複合語を抽出する情報処理装置であって、大規模データに対して形態素解析を行い、解析結果として得た形態素及び/又は形態素の集合である形態素列の出現頻度値を算出し、算出した出現頻度値に基づき、複合語の候補となる文字群を抽出する候補抽出手段と、抽出された文字群を所定の記憶領域に保持する文字群保持手段と、前記文字群保持手段に保持された文字群から、有効な複合語を判定するための条件を満たす文字群を、出現頻度の高い文字群として抽出する複合語抽出手段と、を有することを特徴とする。
【0009】
このような構成によって、本発明に係る情報処理装置は、大規模データに対して形態素解析を行い、解析結果として得た形態素/形態素列(文字群)の出現頻度を計算し、計算値に基づき、複合語の候補を抽出する。情報処理装置は、複合語候補として抽出した文字群から、有効な複合語を判定するための条件を満たす文字群を抽出する。すなわち、情報処理装置は、出現頻度が所定値以上の文字群であれば、複合語候補とみなし、複合語候補とみなした文字群に対して、有効な複合語を判定する。
【0010】
これによって、本発明に係る情報処理装置では、複合語候補抽出処理において、形態素解析結果として得た文字群から、該文字群の出現頻度に基づき複合語候補を絞り込むことで、複合語抽出処理の対象データが少なくなり、処理負荷が軽減される。その結果、本発明に係る情報処理装置では、大規模データであっても出現頻度の高い複合語が効率的に抽出される。
【0011】
上記目的を達成するため、本発明に係る複合語抽出方法は、複合語の候補となる文字群を所定の記憶領域に保持する文字群保持手段を有し、大規模データから複合語を抽出する情報処理装置における複合語抽出方法であって、大規模データに対して形態素解析を行い、解析結果として得た形態素及び/又は形態素の集合である形態素列の出現頻度値を算出し、算出した出現頻度値に基づき、複合語の候補となる文字群を抽出する候補抽出手順と、前記候補抽出手順により抽出され前記文字群保持手段に保持された文字群から、有効な複合語を判定するための条件を満たす文字群を、出現頻度の高い文字群として抽出する複合語抽出手順と、を有することを特徴とする。
【0012】
このような手順によって、本発明に係る複合語抽出方法は、大規模データに対して形態素解析を行い、解析結果として得た形態素/形態素列(文字群)の出現頻度を計算し、計算値に基づき、複合語の候補を抽出し、複合語候補として抽出した文字群から、有効な複合語を判定するための条件を満たす文字群を抽出するという動作を実現する。
【0013】
これによって、本発明に係る複合語抽出方法では、大規模データであっても出現頻度の高い複合語が効率的に抽出可能な環境を提供できる。
【発明の効果】
【0014】
本発明によれば、大規模データの形態素解析結果として得た文字群から、該文字群の出現頻度を基に複合語候補を絞り込み、絞り込まれた複合語候補から、所定の判定条件を基に有効な複合語を抽出することで、大規模データであっても出現頻度の高い複合語が効率的に抽出される情報処理装置、複合語抽出方法、及び複合語抽出プログラムを提供することができる。
【図面の簡単な説明】
【0015】
【図1】本発明の第1の実施形態に係る複合語抽出システムの構成例を示す図である。
【図2】本発明の第1の実施形態に係る複合語抽出装置のハードウェア構成例を示す図である。
【図3】本発明の第1の実施形態に係る複合語抽出機能の構成例を示す図である。
【図4】本発明の第1の実施形態に係る自然文の形態素解析例を示す図である。
【図5】本発明の第1の実施形態に係るN−gramモデルDBのデータ例を示す図である。
【図6】本発明の第1の実施形態に係る複合語候補DBのデータ例を示す図である。
【図7】本発明の第1の実施形態に係る判定条件DBのデータ例を示す図である。
【図8】本発明の第1の実施形態に係る判定条件適用時の複合語抽出データ例を示す図である。
【図9】本発明の第1の実施形態に係る出現頻度再計算時の複合語抽出データ例を示す図である。
【図10】本発明の第1の実施形態に係る複合語候補抽出の処理手順例を示すフローチャートである。
【図11】本発明の第1の実施形態に係る複合語抽出の処理手順例を示すフローチャートである。
【図12】本発明の変形例に係る複合語抽出システムの構成例を示す図である。
【図13】本発明の変形例に係る複合語抽出機能の構成例を示す図である。
【発明を実施するための形態】
【0016】
以下、本発明の好適な実施の形態(以下「実施形態」という)について、図面を用いて詳細に説明する。
【0017】
[第1の実施形態]
<システム構成>
図1は、本実施形態に係る複合語抽出システム1の構成例を示す図である。
【0018】
図1には、ブログテキストDB(Data Base)91及びWebページDB92と、複合語抽出装置100とが、データ伝送路N(例えば「WAN:Wide Area Network」や「LAN:Local Area Network」などのネットワーク)で接続されるシステム構成例が示されている。
【0019】
ブログテキストDB91やWebページDB92は、ブログテキストやWebページを所定の記憶領域に保持し、これらをDBにより管理する機器である。つまり、ブログテキストDB91やWebページDB92は、通信手段を備えたデータ管理装置900である。
【0020】
複合語抽出装置100は、複合語抽出機能を有する機器であり、通信手段を備えた情報処理装置である。
【0021】
本実施形態に係る複合語抽出システム1では、複合語抽出装置100が、データ管理装置900からブログテキストやWebページのデータを取得し、取得データに対して形態素解析による複合語候補抽出処理を実行し、抽出された複合語候補に対して所定の判定条件に基づく複合語抽出処理を実行することで、有効な複合語が抽出される。
【0022】
以上のように、本実施形態に係る複合語抽出システム1は、上記システム構成により、複合語抽出サービスを提供することができる。
【0023】
なお、データ管理装置900は、ブログテキストDB91やWebページDB92に限らない。形態素解析対象データを保持する機器であればよい。
【0024】
<ハードウェア構成>
図2は、本実施形態に係る複合語抽出装置100のハードウェア構成例を示す図である。
【0025】
図2に示すように、複合語抽出装置100は、入力装置101、表示装置102、ドライブ装置103、RAM(Random Access Memory)104、ROM(Read Only Memory)105、CPU(Central Processing Unit)106、インタフェース装置107、及びHDD(Hard Disk Drive)108などを備え、それぞれがバスBで相互に接続されている。
【0026】
入力装置101は、キーボードやマウスなどを含み、複合語抽出装置100に各操作信号を入力するのに用いられる。表示装置102は、ディスプレイなどを含み、複合語抽出装置100による処理結果を表示する。
【0027】
インタフェース装置107は、複合語抽出装置100をデータ伝送路Nに接続するインタフェースである。これにより、複合語抽出装置100は、データ管理装置900と通信を行うことができる。
【0028】
HDD108は、プログラムやデータを格納している不揮発性の記憶装置である。格納されるプログラムやデータには、装置全体を制御する情報処理システム(例えば「Windows(商標又は登録商標)」や「UNIX(商標又は登録商標)」などの基本ソフトウェアであるOS(Operating System))、及びシステム上において各種機能(複合語抽出機能)を提供するアプリケーションなどがある。また、HDD108は、格納しているプログラムやデータを、所定のファイルシステム及び/又はDBにより管理している。
【0029】
ドライブ装置103は、着脱可能な記録媒体103aとのインタフェースである。これにより、複合語抽出装置100は、記録媒体103aの読み取り及び/又は書き込みを行うことができる。記録媒体103aには、例えば、フロッピー(商標又は登録商標)ディスク、CD(Compact Disk)、及びDVD(Digital Versatile Disk)、ならびに、SDメモリカード(SD Memory card)やUSBメモリ(Universal Serial Bus memory)などがある。
【0030】
ROM105は、電源を切っても内部データを保持することができる不揮発性の半導体メモリ(記憶装置)である。ROM105には、複合語抽出装置100の起動時に実行されるBIOS(Basic Input/Output System)、情報処理システム設定、及びネットワーク設定などのプログラムやデータが格納されている。RAM104は、プログラムやデータを一時保持する揮発性の半導体メモリ(記憶装置)である。CPU106は、上記記憶装置(「HDD」、「ROM」、又は「記録媒体」など)から、プログラムやデータをRAM(メモリ)上に読み出し、処理を実行することで、装置全体の制御や搭載機能を実現する演算装置である。
【0031】
以上のように、本実施形態に係る複合語抽出装置100は、上記ハードウェア構成により、複合語抽出に係る情報処理サービスを提供することができる。
【0032】
<複合語抽出機能>
本実施形態に係る複合語抽出機能について説明する。
【0033】
本実施形態に係る複合語抽出装置100は、形態素解析から複合語候補を抽出するまでの複合語候補抽出処理と、複合語候補から有効な複合語を判定し抽出するまでの複合語抽出処理とを、分離して実行可能としている。このような環境下で、複合語抽出装置100は、複合語候補抽出処理において、形態素解析結果として得た形態素/形態素列(文字群)の出現頻度を計算し、計算値に基づき、解析結果の文字群から複合語候補を絞り込んで抽出する。このとき、複合語抽出装置100は、出現頻度が所定値以上の文字群を複合語候補とみなす。また、複合語抽出装置100は、複合語抽出処理において、複合語候補として抽出した文字群から、有効な複合語を判定するための条件を満たす文字群を抽出する。このとき、複合語抽出装置100は、有効な複合語として抽出した文字群の出現頻度を再計算し、再計算値に基づき、出現頻度の高い文字群を抽出する。本実施形態に係る複合語抽出装置100は、このような複合語抽出機能を有している。
【0034】
従来の複合語抽出方法では、全ての形態素解析結果に対して、複合語の判定条件を適用し、形態素解析から複合語判定までを一連の処理として実行しているため、大規模データに対する複合語抽出処理を実行する場合、複合語抽出装置100に多大な処理負荷がかかり、効率的ではなかった。
【0035】
そこで、本実施形態に係る複合語抽出装置100では、形態素解析結果に対する複合語候補抽出処理と、複合語候補に対する複合語抽出処理とを分離して実行可能とし、複合語候補抽出処理において、形態素解析結果として得た文字群から、該文字群の出現頻度に基づき複合語候補を絞り込み、絞り込まれた複合語候補から、所定の判定条件を基に有効な複合語を抽出する仕組みとした。
【0036】
これによって、本実施形態に係る複合語抽出装置100では、複合語候補抽出処理と複合語抽出処理とが分散処理でき、複合語抽出処理の対象データが少なくなり、処理負荷が軽減される。その結果、本発明に係る情報処理装置では、大規模データであっても出現頻度の高い複合語が効率的に抽出される。
【0037】
以下に、本実施形態に係る複合語抽出機能の構成とその動作について説明する。
【0038】
図3は、本実施形態に係る複合語抽出機能の構成例を示す図である。
【0039】
図3に示すように、本実施形態に係る複合語抽出機能は、データ取得部11、形態素解析部12、頻度計算部13、候補抽出部14、複合語抽出部21、及び出力部31などを有している。データ取得部11、形態素解析部12、頻度計算部13、及び候補抽出部14は、複合語候補抽出処理を行う機能部群であり、複合語抽出部21は、複合語抽出処理を行う機能部である。つまり、本実施形態に係る複合語抽出機能は、複合語候補抽出処理を行う機能部と複合語抽出処理を行う機能部とが分離可能(別のソフトウェアにより実現可能)な構成となっている。なお、出力部31は、複合語抽出部21による抽出データを出力する機能部である。
【0040】
《複合語候補の抽出》
データ取得部11は、データ管理装置900から形態素解析対象データを取得する機能部である。データ取得部11は、例えば、所定のスケジュール(取得間隔)に従って、ブログテキストDB91やWebページDB92から、ブログテキストやWebページに含まれる自然文の文字列データ(形態素解析対象データ)を取得する。なお、データ取得方法は、上記プル型に限らない。例えば、データ管理装置900から送信されたデータを取得するプッシュ型でもよい。
【0041】
形態素解析部12は、取得データに対して形態素解析を行う機能部である。形態素(morpheme)とは、自然文の要素のうち、意味をもつ最小単位であり、形態素解析(morphological analysis)とは、自然言語処理技術の1つで、自然文を意味のある単語に区切り、辞書などを利用して品詞や内容を判別することである。形態素解析部12は、このような自然言語処理を、データ取得部11による取得データ(ブログテキストやWebページなどに含まれる文字列データ)に対して実行し、所定の文字群(及び/又は文字)を解析結果として取得する。よって、解析結果として得られる文字群は、形態素/形態素列である。なお、形態素/形態素列は、N−gramデータといわれ、所定の文字列から切り出した一定個数の形態素の集合である。N−gramの「N」値は、上記個数を意味する。よって、形態素は、N=1のN−gramデータであり、形態素列は、N≧2のN−gramデータである。
【0042】
ここで、同機能部12が行う形態素解析の具体的な動作について説明する。
【0043】
図4は、本実施形態に係る自然文の形態素解析例を示す図である。
【0044】
図4には、取得データに含まれた自然文の文字列が"機動戦士ロボ"であった場合の形態素解析例が示されている。
【0045】
形態素解析部12は、形態素解析により"機動戦士ロボ"から3つの形態素"機動","戦士","ロボ"を取得し、さらに、これらの形態素の集合である形態素列を取得する。具体的には、形態素"機動","戦士","ロボ"が、1−gramデータとして取得される。また、2つの形態素の集合である形態素列"機動戦士","戦士ロボ"が、2−gramデータとして取得される。また、3つの形態素の集合である形態素列"機動戦士ロボ"が、3−gramデータとして取得される。なお、以降では、N−gramデータを、N−gramの文字群という。
【0046】
図3の説明に戻る。頻度計算部13は、解析結果の形態素/形態素列の出現頻度を計算する機能部である。計算する出現頻度には、例えば、形態素/形態素列の出現回数の累積値(単位:[回数])や、解析結果である全ての形態素/形態素列の中の各形態素/形態素列の割合値(単位:[%])などである。なお、出現頻度を表す値(以下「出現頻度値」という)として各形態素/形態素列の割合値を用いると、全ての解析結果が得られなければ計算できない値であることから、形態素解析対象データが大規模データの場合、出現頻度値が得られるまで処理時間がかかってしまう。よって、本実施形態では、処理時間を考慮し、形態素解析と同期してリアルタイムに値が得られる出現回数の累積値を出現頻度値とする。
【0047】
このようにして得られた形態素解析結果(形態素/形態素列の文字群)及び出現頻度計算結果(出現頻度値)は、N−gramモデルDB41に記録され保持される。なお、N−gramモデルDB41は、例えば、複合語抽出装置100が備える記憶装置(HDD)の所定の記憶領域にあたり、保持データをDBにより管理する。
【0048】
ここで、N−gramモデルDB41が保持するデータ例を説明する。
【0049】
図5は、本実施形態に係るN−gramモデルDB41のデータ例を示す図である。
【0050】
図5に示すように、N−gramモデルDB41の登録データ41Dは、文字群、N−gram分類、及び出現頻度などの情報項目を有し、各情報項目が形態素解析結果ごとに対応づけて保持されている。
【0051】
[文字群]項目は、形態素解析結果の文字群が記録される項目であり、項目値は、例えば、形態素/形態素列の文字群などである。[N−gram分類]項目は、N−gramの分類が記録される項目であり、項目値は、例えば、形態素/形態素列に対応するN−gramのN値などである。[出現頻度]項目は、形態素解析時の出現頻度が記録される項目であり、項目値は、例えば、形態素/形態素列に対応する出現回数の累積値などである。
【0052】
図3の説明に戻る。上記形態素解析部12及び上記出現頻度計算部13の処理は、大規模データを対象としている。そこで、本実施形態では、これらの処理を、例えば、Hadoopにより分散処理する。Hadoopは、ASF(Apache Software Foundation)が開発・公開しているソフトウェア基盤(オープンソースのプラットフォーム)であり、数千ノード及びペタバイト級の大規模データを効率的に分散処理・管理することができる。本実施形態では、このような技術を用いて、上記形態素解析部12及び上記出現頻度計算部13の分散処理を実現する。
【0053】
候補抽出部14は、形態素解析結果の文字群の中から複合語候補を抽出する機能部である。候補抽出部14は、出現頻度値に基づき、複合語候補を抽出する。具体的には、N−gramモデルDB41にアクセスし、参照した登録データ41Dの[出現頻度]項目値に基づき、出現頻度値が所定値以上の[文字群]項目値を複合語候補として抽出する。なお、複合語候補の抽出基準となる所定値は、閾値として予め設定しておく。
【0054】
このようにして得られた複合語候補抽出結果(一定以上の出現頻度を有する形態素/形態素列の文字群)は、複合語候補DB42に記録され保持される。なお、複合語候補DB42は、N−gramモデルDB41と同じく、複合語抽出装置100が備える記憶装置の所定の記憶領域にあたり、保持データをDBにより管理する。
【0055】
ここで、複合語候補DB42が保持するデータ例を説明する。
【0056】
図6は、本実施形態に係る複合語候補DB42のデータ例を示す図である。
【0057】
図6に示すように、複合語候補DB42の登録データ42Dは、複合語候補、N−gram分類、及び出現頻度などの情報項目を有し、各情報項目が複合語抽出結果ごとに対応づけて保持されている。
【0058】
[複合語候補]項目は、複合語候補抽出結果の文字群が記録される項目であり、項目値は、例えば、一定以上の出現頻度を有する形態素/形態素列の文字群などである。つまり、[複合語候補]項目の項目値には、形態素解析結果の文字群の中から、出現頻度に基づき絞り込まれた文字群が記録される。なお、[N−gram分類]項目及び[出現頻度]項目は、N−gramモデルDB41が有する項目と同じであることから、その説明を省略する。
【0059】
このように、本実施形態では、複合語候補抽出処理において、形態素解析により得られた形態素/形態素列から、出現頻度に基づき複合語候補が絞り込まれる。その結果、後続の複合語抽出処理の対象データを少なくできる。
【0060】
《複合語の抽出》
複合語抽出部21は、複合語候補抽出結果の文字群の中から複合語を抽出する機能部である。複合語抽出部21は、複合語候補抽出結果の文字群の中から複合語を抽出する。複合語抽出部21は、有効/無効な複合語を判定する判定条件に基づき、複合語を抽出する。具体的には、複合語候補DB42にアクセスし、参照した登録データ42Dの[複合語候補]項目値が条件を満たす文字群か否かを判定し、判定結果に基づき、[複合語候補]項目値を複合語として抽出する。なお、複合語の抽出基準となる判定条件は、判定種別ごとの情報として予め定義しておく。
【0061】
判定条件は、判定条件DB51に定義され保持される。なお、判定条件DB51は、他のDB41,42と同じく、複合語抽出装置100が備える記憶装置の所定の記憶領域にあたり、保持データをDBにより管理する。
【0062】
ここで、判定条件DB51が保持するデータ例を説明する。
【0063】
図7は、本実施形態に係る判定条件DB51のデータ例を示す図である。
【0064】
図7に示すように、判定条件DB51の登録データ51Dは、ID、判定種別、適用条件、及び判定条件などの情報項目を有し、各情報項目が判定条件ごとに対応づけて保持されている。なお、図7には、情報項目として、条件による判定結果を説明する[意味]項目を有するデータ例が示されているが、この項目は、本実施形態を説明する上で便宜上付加した情報項目である。よって、有効複合語の判定処理では用いないデータである。
【0065】
[ID]項目は、判定条件の識別子(以下「識別情報」という)が定義された項目であり、項目値は、例えば、判定条件ごとに採番された管理番号(ID値)などである。[判定種別]項目は、判定条件の種別(以下「種別情報」という)が定義された項目であり、項目値は、例えば、有効/無効な複合語を判定する判定条件の識別子(OK/NG)などである。[適用条件]項目は、判定条件を適用する複合語候補の文字群の条件(以下「適用条件情報」という)が定義された項目であり、項目値は、例えば、複合語候補の文字群におけるN−gramのN値又はN値の範囲などである。[判定条件]項目は、形態素解析対象の自然文の言語文法(及び/又は文節)に基づく判定条件(以下「判定条件情報」という)が定義された項目であり、項目値は、例えば、文字パターンを表す正規表現(regular expression)の定義情報などである。正規表現とは、文字列の集合を1つの文字列で表現する方法(文字列のパターンを表現する表記法)の1つである。
【0066】
図7には、有効な複合語を判定する3つの判定条件と無効な複合語を判定する9つの判定条件とが定義された登録データ51Dが示されている。形態素解析対象の自然文が日本語の場合、定義されている判定条件には、日本語文法(表記、品詞、活用などの文法上の特性)に基づき、次のような条件が挙げられる。
【0067】
例えば、有効な複合語を判定する判定条件には、適用条件「2−gram以上」が対応づけられた正規表現「^(自立語)+(付属語)+$」が定義されている。有効複合語の判定処理において、この判定条件を用いた場合には、自立語と付属語とで構成される2−gram以上の複合語候補の文字群が有効な複合語と判定され抽出される。
【0068】
また、無効な複合語を判定する判定条件には、適用条件「2−gram以上」が対応づけられた正規表現「"[ぁ−ん−ヴ]$"」が定義されている。無効複合語の判定処理において、この判定条件を用いた場合には、ひらがな1文字の形態素で終わる2−gram以上の複合語候補の文字群が無効な複合語と判定される。
【0069】
このように、複合語候補の文字群に対して判定条件を適用し、有効/無効な複合語を判定する機能部が、複合語抽出部21が有する条件適用部211にあたる。
【0070】
図3の説明に戻る。複合語抽出部21は、次のように複合語を抽出する。
【0071】
条件適用部211は、有効な複合語を判定する判定条件に基づき、複合語候補抽出結果の文字群が有効な複合語か否かを判定する。具体的には、判定条件DB51にアクセスし、参照した登録データ51Dの[判定種別]項目値に対応づけられた[判定条件]項目値に基づき、有効な複合語を判定する際に用いる判定条件を特定する。次に、複合語候補DB42にアクセスし、参照した登録データ42Dの[複合語候補]項目値が、特定したいずれかの判定条件を満たす文字群か否かを判定する。その結果、判定条件を満たす文字群を、有効な複合語とする。
【0072】
また、条件適用部211は、無効な複合語を判定する判定条件に基づき、有効な複合語として判定された文字群が無効な複合語か否かを判定する。つまり、条件適用部211は、判定条件を段階的に適用し、複合語候補の文字群から有効な複合語を最終判定する。具体的には、判定条件DB51にアクセスし、参照した登録データ51Dの[判定種別]項目値に対応づけられた[判定条件]項目値に基づき、無効な複合語を判定する際に用いる判定条件を特定する。次に、複合語候補DB42にアクセスし、有効な複合語として判定された[複合語候補]項目値が、特定したいずれかの判定条件を満たす文字群か否かを判定する。その結果、判定条件を満たす文字群を、無効な複合語とする。
【0073】
つまり、条件適用部211では、複合語候補の文字群の中で、有効な複合語を判定するいずれかの判定条件を満たし、かつ、無効な複合語を判定する全ての判定条件を満たさない文字群を、最終的に有効な複合語として判定する。一方、複合語候補の文字群の中で、有効な複合語を判定するいずれかの判定条件を満たさない文字群、又は、無効な複合語を判定するいずれかの判定条件を満たす文字群は、最終的に無効な複合語として判定される。
【0074】
複合語抽出部21は、上記条件適用部211の判定結果に基づき、複合語候補抽出結果の文字群の中から複合語を抽出する。具体的には、複合語候補DB42にアクセスし、最終的に有効な複合語として判定された複合語候補の登録データ42Dのみを、複合語候補DB42から抽出し、複合語抽出データを生成する。
【0075】
ここで、同機能部21が行うデータ操作の具体的な動作について説明する。
【0076】
図8は、本実施形態に係る判定条件適用時の複合語抽出データ例を示す図である。
【0077】
(A)には、複合語候補DB42における判定条件適用前の登録データ42Dの例が示されており、(B)には、判定条件適用時の複合語抽出データ43Dの例が示されている。
【0078】
例えば、(A)に示す[複合語候補]項目値の文字群"ロボは"は、自立語"ロボ"と付属語"は"とで構成される2−gramの文字群であることから、判定条件DB51に定義される管理番号ID0001の有効判定条件(正規表現「^(自立語)+(付属語)+$」)を満たし、有効な複合語と判定される。しかし、文字群"ロボは"は、ひらがな1文字の形態素"は"で終わる2−gramの文字群でもあることから、管理番号ID0012の無効判定条件(正規表現「"[ぁ−ん−ヴ]$"」)を満たし、無効な複合語とも判定される。よって、複合語抽出部21は、文字群"ロボは"の登録データ42Dを、複合語候補DB42から抽出しない。
【0079】
また、(A)に示す[複合語候補]項目値の文字群"っぽい機動"は、自立語"っぽい","機動"のみで構成される2−gramの文字群であることから、判定条件DB51に定義される管理番号ID0002の有効判定条件(正規表現「^(自立語){1,3}+$」)を満たし、有効な複合語と判定される。しかし、文字群"っぽい機動"は、接尾辞"っぽい"で始まる2−gramの文字群でもあることから、管理番号ID0004の無効判定条件(正規表現「^接尾辞」)を満たし、無効な複合語とも判定される。よって、複合語抽出部21は、文字群"っぽい機動"の登録データ42Dを、複合語候補DB42から抽出しない。
【0080】
また、(A)に示す[複合語候補]項目値の文字群"強いこの"は、自立語"強い","この"のみで構成される2−gramの文字群であることから、判定条件DB51に定義される管理番号ID0002の有効判定条件を満たし、有効な複合語と判定される。しかし、文字群"強いこの"は、連体詞"この"で終わる2−gramの文字群でもあることから、管理番号ID0007の無効判定条件(正規表現「(副詞|連体詞)$」)を満たし、無効な複合語とも判定される。よって、複合語抽出部21は、文字群"強いこの"の登録データ42Dを、複合語候補DB42から抽出しない。
【0081】
このように、複合語抽出部21による上記データ操作で、複合語候補DB42の登録データ42Dからは、(B)に示す複合語抽出データ43Dが生成される。なお、複合語抽出データ43Dは、例えば、複合語抽出装置100が備える記憶装置の所定の記憶領域に保持される。
【0082】
図3の説明に戻る。複合語抽出部21は、上記判定処理により有効な複合語とする文字群を抽出すると、抽出した文字群の出現頻度値を再計算する。
【0083】
このように、有効な複合語として抽出した文字群に対して出現頻度値を再計算する機能部が、複合語抽出部21が有する頻度再計算部212にあたる。
【0084】
複合語抽出部21は、次のように出現頻度値を再計算する。
【0085】
頻度再計算部212は、文字群におけるN−gramのN値に基づき、有効な複合語として抽出した文字群の出現頻度値を再計算する。具体的には、記憶領域にアクセスし、参照した複合語抽出データ43Dの[複合語候補]項目値及び[N−gram分類]項目値に基づき、N−gramの文字群に含まれる(N−1)−gramの文字群を特定する。次に、特定した(N−1)−gramの文字群に対応する[出現頻度]項目値から、N−gramの文字群に対応する[出現頻度]項目値を減算する。その結果、減算値を、(N−1)−gramの文字群に対応する新たな出現頻度値とする。なお、N値は2以上である。よって、N−gramの文字群は形態素列であり、(N−1)−gramの文字群は形態素又は形態素列である。
【0086】
この処理は、次のような理由から行われる。
【0087】
複合語抽出部21により抽出された複合語(有効な複合語として判定された文字群)は、例えば、検索キーワード入力における予測変換候補サービスとして活用される。この場合、予測変換候補サービスでは、抽出された複合語が出現頻度の高い順に提示される。また、予測変換候補サービスでは、検索ユーザが入力すると予測される文字(以下「入力候補文字」という)を多く含む複合語が提示する複合語として望ましい。
【0088】
一方、抽出された複合語の出現頻度値は、文字群におけるN−gramのN値が小さい方が、出現頻度値が大きくなる傾向がある。なぜなら、N−gramのN値が小さいということは、文字群に含まれる形態素が少ないことを意味し、少ない形態素の集合であれば、形態素解析対象データにおいて出現回数が多くなるからである。
【0089】
そのため、出現頻度値を再計算しなければ、予測変換候補サービスにおいて、入力候補文字を多く含む複合語が提示されないことが考えられる。このように、検索ユーザに対して、有用な予測変換候補が提示されるように、抽出された複合語の出現頻度値を再計算する必要がある。
【0090】
そこで、頻度再計算部212では、上記減算処理により、有効な複合語として抽出した文字群に対応する出現頻度値を再計算し、入力候補文字を多く含む文字群の出現頻度値が、他の文字群の出現頻度値より、相対的に大きくなるようにする。
【0091】
複合語抽出部21は、上記頻度再計算部212の計算結果に基づき、有効な複合語として抽出された複合語抽出データ43Dを降順に並び換える。具体的には、記憶領域にアクセスし、参照した複合語抽出データ43Dの[出現頻度]項目値を、再計算した出現頻度値により更新し、更新した出現頻度値に基づき、複合語抽出データ43Dを、出現頻度値の大きい順に並び換える。
【0092】
ここで、同機能部21が行うデータ操作の具体的な動作について説明する。
【0093】
図9は、本実施形態に係る出現頻度再計算時の複合語抽出データ例を示す図である。
【0094】
(A)には、出現頻度再計算前の複合語抽出データ43Dの例が示されており、(B)には、出現頻度再計算時の複合語抽出データ43Dの例が示されている。
【0095】
例えば、(A)に示す[複合語候補]項目値の文字群"機動戦士"は、2−gramの文字群(形態素列)であり、1−gramの文字群"機動","戦士"(形態素)を含む。よって、文字群"機動","戦士"に対応する出現頻度値が再計算される。文字群"機動"に対応する出現頻度値は、該文字群に対応する[出現頻度]項目値から、文字群"機動戦士"に対応する出現頻度値を減算した値(126[回]=15673―15547)に更新される。また、文字群"戦士"に対応する出現頻度値は、該文字群に対応する[出現頻度]項目値から、文字群"機動戦士"に対応する出現頻度値を減算した値(179[回]=15731―15547)に更新される。その結果、文字群"機動戦士"に対応する出現頻度値が、該文字群に含まれる文字群"機動","戦士"に対応する出現頻度値により相対的に大きくなる。
【0096】
また、(A)に示す[複合語候補]項目値の文字群"機動戦士ロボ"は、3−gramの文字群(形態素列)であり、2−gramの文字群"機動戦士","戦士ロボ"(形態素列)を含む。よって、文字群"機動戦士","戦士ロボ"に対応する出現頻度値が再計算される。文字群"機動戦士"に対応する出現頻度値は、該文字群に対応する[出現頻度]項目値から、文字群"機動戦士ロボ"に対応する出現頻度値を減算した値(306[回]=15547―15241)に更新される。また、文字群"戦士ロボ"に対応する出現頻度値は、該文字群に対応する[出現頻度]項目値から、文字群"機動戦士ロボ"に対応する出現頻度値を減算した値(311[回]=15552―15241)に更新される。その結果、文字群"機動戦士ロボ"に対応する出現頻度値が、該文字群に含まれる文字群"機動戦士","戦士ロボ"に対応する出現頻度値により相対的に大きくなる。
【0097】
このように、複合語抽出部21による上記データ操作で、複合語抽出データ43Dは、(B)に示すように、出現頻度の大きい順に並び換えられる。複合語抽出部21は、並び換え後、複合語抽出データ43Dのうち、出現頻度の高いデータ(高頻度な文字群のデータ)のみを抽出する。なお、このとき、複合語抽出部21では、更新した出現頻度値が所定値以下である複合語抽出データ43Dを削除してもよい。
【0098】
図3の説明に戻る。出力部31は、複合語抽出データ43Dを出力する機能部である。図3には、複合語抽出データ43Dの活用先として、辞書DB93が示されている。辞書DB93には、複合語抽出データ43Dが、検索ユーザの入力候補文字のデータとして登録され、上述した予測変換候補サービスで利用されるデータ管理装置900の1つである。
【0099】
以上のように、本実施形態に係る複合語抽出機能は、複合語候補抽出処理と複合語抽出処理とが実行され、上記各機能部が連携動作することにより実現される。なお、本実施形態では、複合語候補抽出処理を行う機能部と複合語抽出処理を行う機能部とを、異なるソフトウェアで実現可能な構成としたことにより、複合語候補抽出処理と複合語抽出処理とを分離して実行できる。
【0100】
本実施形態に係る複合語候補抽出処理及び複合語抽出処理は、複合語抽出装置100に搭載(インストール)されるプログラム(複合語候補抽出処理を実行するソフトウェアと複合語抽出処理を実行するソフトウェアと)が、演算装置(CPU)により、記憶装置からメモリ(RAM)上に読み出され実行される。
【0101】
以下に、本実施形態に係る複合語候補抽出処理及び複合語抽出処理の詳細について、処理手順を示すフローチャートを用いて説明する。
【0102】
《複合語候補の抽出処理》
図10は、本実施形態に係る複合語候補抽出の処理手順例を示すフローチャートである。
【0103】
図10に示すように、複合語抽出装置100は、データ取得部11により、形態素解析対象データを取得する(ステップS101)。データ取得部11は、例えば、ブログテキストDB91やWebページDB92から、ブログテキストやWebページに含まれる自然文の文字列データを、形態素解析対象データとして取得する。
【0104】
次に、複合語抽出装置100は、形態素解析部12により、形態素解析対象データに対して形態素解析を行う(ステップS102)。その結果、形態素解析部12は、N−gramモデルDB41にアクセスし、解析結果として得た形態素/形態素列の文字群を、登録データ41Dとして記録する。
【0105】
次に、複合語抽出装置100は、頻度計算部13により、解析結果として得た文字群の出現頻度値を計算する(ステップS103)。このとき、頻度計算部13は、形態素解析対象データにおける文字群の出現回数の累積値をカウントし、出現頻度値とする。その結果、頻度計算部13は、N−gramモデルDB41にアクセスし、計算した出現頻度値を、登録データ41Dとして記録する。
【0106】
次に、複合語抽出装置100は、候補抽出部14により、次のような複合語候補抽出処理を実行する。
【0107】
候補抽出部14は、解析結果として得た文字群の出現頻度値が所定値以上か否かを判定する(ステップS104)。このとき、候補抽出部14は、N−gramモデルDB41にアクセスし、文字群ごとの登録データ41Dを参照し、該当出現頻度値が予め設定しておいた閾値以上か否かを判定する。
【0108】
候補抽出部14は、解析結果として得た文字群の出現頻度値が閾値以上と判定した場合(ステップS104:YES)、該当文字群を複合語候補として抽出する(ステップS105)。その結果、候補抽出部14は、複合語候補DB42にアクセスし、複合語候補として判定された文字群の登録データ41Dを、登録データ42Dとして記録する。
【0109】
一方、候補抽出部14は、解析結果として得た文字群の出現頻度値が閾値未満と判定した場合(ステップS104:NO)、該当文字群を複合語候補として抽出しない。
【0110】
次に、候補抽出部14は、解析結果として得た文字群全て(文字群の登録データ全て)に対してステップS104の判定処理を実行したか否かを判定する(ステップS106)。
【0111】
候補抽出部14は、解析結果として得た文字群全てに対して上記判定処理を実行したと判定した場合(ステップS106:YES)、複合語候補抽出処理を終了する。
【0112】
一方、候補抽出部14は、解析結果として得た文字群全てに対して上記判定処理を実行していないと判定した場合(ステップS106:NO)、ステップS104に移行し、未処理の文字群に対して判定処理を実行し、判定結果に基づく複合語候補抽出処理を実行する。
【0113】
《複合語の抽出処理》
図11は、本実施形態に係る複合語抽出の処理手順例を示すフローチャートである。
【0114】
図11に示すように、複合語抽出装置100は、複合語抽出部21により、次のような複合語抽出処理を実行する。
【0115】
条件適用部211は、予め設定しておいた有効/無効な複合語を判定する判定条件を特定する(ステップS201)。このとき、条件適用部211は、判定条件DB51にアクセスし、判定条件ごとの登録データ51Dを参照し、種別情報に基づき、有効/無効な複合語を判定する際に用いる判定条件情報を特定する。
【0116】
次に、条件適用部211は、特定した判定条件を複合語候補の文字群に適用する(ステップS202)。このとき、条件適用部211は、複合語候補DB42にアクセスし、文字群ごとの登録データ42Dを参照し、複合語候補の文字群が、特定したいずれかの判定条件を満たす文字群か否かを判定する。
【0117】
条件適用部211は、まず、複合語候補の文字群が、有効な複合語を判定する判定条件を満たしているか否かを判定する(ステップS203)。
【0118】
条件適用部211は、複合語候補の文字群が、有効な複合語を判定する判定条件を満たしていると判定した場合(ステップS204:YES)、同文字群が、無効な複合語を判定する判定条件を満たしているか否かを判定する(ステップS205)。
【0119】
複合語抽出部21は、条件適用部211により、同文字群が、無効な複合語を判定する判定条件を満たしていないと判定された場合(ステップS204:NO)、該当文字群を有効な複合語として抽出する(ステップS205)。このとき、複合語抽出部21は、有効な複合語として抽出した文字群の登録データ42Dから複合語抽出データ43Dを生成し、当該装置の記憶領域に保持する。
【0120】
一方、複合語抽出部21は、条件適用部211により、複合語候補の文字群が、有効な複合語を判定する判定条件を満たしていないと判定された場合(ステップS204:NO)、又は、無効な複合語を判定する判定条件を満たしていると判定された場合(ステップS205:YES)、該当文字群を有効な複合語として抽出しない。
【0121】
次に、複合語抽出部21は、複合語候補の文字群全て(文字群の登録データ全て)に対してステップS202〜S204の条件適用処理を実行したか否かを判定する(ステップS206)。
【0122】
複合語抽出部21は、複合語候補の文字群全てに対して条件適用処理を実行していないと判定した場合(ステップS206:NO)、ステップS202に移行し、条件適用部211により、未処理の文字群に対して条件適用処理を実行し、判定結果に基づく有効複合語抽出処理を実行する。
【0123】
一方、複合語抽出部21は、複合語候補の文字群全てに対して条件適用処理を実行したと判定した場合(ステップS206:YES)、頻度再計算部212により、有効な複合語と抽出した文字群の出現頻度値を再計算する(ステップS207)。このとき、頻度再計算部212は、文字群におけるN−gramのN値に基づき、出現頻度値を再計算する。具体的には、記憶領域にアクセスし、複合語抽出データ43Dを参照し、有効な複合語として抽出したN−gramの文字群に含まれる(N−1)−gramの文字群を特定する。次に、特定した(N−1)−gramの文字群の出現頻度値から、N−gramの文字群の出現頻度を減算する。その結果、減算値が、(N−1)−gramの文字群に対応する出現頻度値となるように、複合語抽出データ43Dの該当項目値を更新する。
【0124】
複合語抽出部21は、有効な複合語として抽出した文字群に対してステップS207の再計算処理を実行したか否かを判定する(ステップS208)。
【0125】
複合語抽出部21は、有効な複合語として抽出した文字群に対して再計算処理を実行していないと判定した場合(ステップS208:NO)、ステップS207に移行し、頻度再計算部212により、未処理の文字群に対して再計算処理を実行する。
【0126】
一方、複合語抽出部21は、有効な複合語として抽出した文字群に対して再計算処理を実行したと判定した場合(ステップS208:YES)、再計算した出現頻度値に基づき、有効な複合語として抽出された文字群を、出現頻度値の大きい順に並び換える(ステップS209)。
【0127】
複合語抽出部21は、並び換え後、高頻度な文字群を抽出する(ステップS210)。その結果、複合語抽出データ43Dのうち、出現頻度の高いデータのみが抽出される。出力部31では、このようにして抽出されたデータが出力される。
【0128】
<まとめ>
以上のように、本実施形態に係る複合語抽出装置100によれば、形態素解析から複合語候補を抽出するまでの複合語候補抽出処理と、複合語候補から有効な複合語を判定し抽出するまでの複合語抽出処理とを、分離して実行可能とした。
【0129】
このような環境下で、複合語抽出装置100は、複合語候補抽出処理を次のように行う。複合号抽出装置100は、形態素解析部12により、大規模データに対して形態素解析を行い、頻度計算部13により、形態素解析結果として得た形態素/形態素列(文字群)の出現頻度を計算し、候補抽出部14により、出現頻度の計算値に基づき、解析結果の文字群から複合語候補を絞り込んで抽出する。このとき、候補抽出部14は、出現頻度が所定値以上の文字群を複合語候補とみなす。
【0130】
また、複合語抽出装置100は、複合語抽出処理を次のように行う。複合語抽出装置100は、複合語抽出部21の条件適用部211により、複合語候補として抽出した文字群に対して、有効な複合語を判定するための条件を適用し、条件を満たす文字群を抽出する。このとき、複合語抽出部21は、頻度再計算部212により、有効な複合語として抽出した文字群の出現頻度を再計算し、再計算値に基づき、出現頻度の高い文字群を抽出する。
【0131】
これによって、本実施形態に係る複合語抽出装置100では、大規模データであっても出現頻度の高い複合語を効率よく抽出できる。
【0132】
なぜなら、本実施形態に係る複合語抽出装置100では、複合語候補抽出処理において、形態素解析結果として得た文字群から、該文字群の出現頻度に基づき複合語候補を絞り込むことで、複合語抽出処理の対象データが少なくなり、処理負荷が軽減される。
【0133】
また、本実施形態に係る複合語抽出装置100では、複合語候補抽出処理と複合語抽出処理とを分散処理することで、複合語の判定条件が変更された場合であっても、その都度、大規模データに対して一連の処理を実行するのではなく、絞り込まれた複合語候補に対して複合語抽出処理を実行するのみでよく、処理負荷が軽減される。
【0134】
ここまで、上記実施形態の説明を行ってきたが、上記実施形態に係る「複合語抽出機能」は、図を用いて説明を行った各処理手順を、動作環境(プラットフォーム)にあったプログラミング言語でコード化したプログラムが、複合語抽出装置100が備える演算装置により実行されることで実現される。
【0135】
上記プログラムは、コンピュータが読み取り可能な記録媒体103aに格納することができる。これにより、例えば、上記プログラムは、ドライブ装置103を介して、複合語抽出装置100にインストールすることができる。また、複合語抽出装置100は、インタフェース装置107を備えていることから、電気通信回線を用いて上記プログラムをダウンロードし、インストールすることもできる。
【0136】
<変形例>
上記実施形態では、複合語抽出装置100で、複合語候補抽出処理と複合語抽出処理とが実行されるシステムの例を示したが、この限りでない。例えば、図12に示すようなシステムであてもよい。
【0137】
図12は、本変形例に係る複合語抽出システム1の構成例を示す図である。
【0138】
図12には、ブログテキストDB91、WebページDB92、及び複合語抽出装置100に加えて、複合語候補抽出装置200が、データ伝送路Nで接続されるシステム構成例が示されている。
【0139】
複合語候補抽出装置200は、複合語候補抽出処理を実行する機器であり、通信手段を備えた情報処理装置である。
【0140】
本変形例に係る複合語抽出システム1では、複合語候補抽出装置200が、データ管理装置900からブログテキストやWebページのデータ(形態素解析対象データ)を取得し、取得データに対して形態素解析による複合語候補抽出処理を実行する。また、複合語抽出装置100が、複合語候補抽出装置200にアクセスし、抽出された複合語候補に対して複合語抽出処理を実行する。これにより、本変形例に係る複合語抽出システム1では、有効な複合語が抽出される。
【0141】
また、本変形例に係る複合語抽出システム1では、複合語抽出機能が、図13に示すような構成となる。
【0142】
図13は、本変形例に係る複合語抽出機能の構成例を示す図である。
【0143】
図13に示すように、本変形例に係る複合語機能では、複合語候補抽出装置200が、データ取得部11、形態素解析部12、頻度計算部13、及び候補抽出部14を有し、複合語抽出装置100が、複合語抽出部21及び出力部31を有する。また、複合語候補抽出装置200が、N−gramモデルDB41及び複合語候補DB42を有し、複合語抽出装置100が、判定条件DB51を有する。
【0144】
本変形例では、上記機能構成により、複合語候補抽出装置200が有する機能部と複合語抽出装置100が有する機能部とを連携動作させることで、複合語抽出機能を実現できる。
【0145】
最後に、上記実施形態に挙げた形状や構成に、その他の要素との組み合わせなど、ここで示した要件に、本発明が限定されるものではない。これらの点に関しては、本発明の主旨をそこなわない範囲で変更することが可能であり、その応用形態に応じて適切に定めることができる。
【符号の説明】
【0146】
1 複合語抽出システム
11 データ取得部
12 形態素解析部
13 頻度計算部
14 候補抽出部
21 複合語抽出部
211 条件適用部
212 頻度再計算部
31 出力部
41 N−gramモデルDB(D:登録データ)
42 複合語候補DB(D:登録データ)
43D 複合語抽出データ
51 判定条件DB(D:登録データ)
91 ブログテキストDB
92 WebページDB
93 辞書DB
100 複合語抽出装置(情報処理装置)
101 入力装置
102 表示装置
103 ドライブ装置(a:記録媒体)
104 RAM(揮発性の半導体メモリ)
105 ROM(不揮発性の半導体メモリ)
106 CPU(演算装置)
107 インタフェース装置(NIC:Network I/F Card)
108 HDD(不揮発性の記憶装置)
200 複合語候補抽出装置
900 データ管理装置
B バス
N データ伝送路(ネットワーク)
【特許請求の範囲】
【請求項1】
大規模データから複合語を抽出する情報処理装置であって、
大規模データに対して形態素解析を行い、解析結果として得た形態素及び/又は形態素の集合である形態素列の出現頻度値を算出し、算出した出現頻度値に基づき、複合語の候補となる文字群を抽出する候補抽出手段と、
抽出された文字群を所定の記憶領域に保持する文字群保持手段と、
前記文字群保持手段に保持された文字群から、有効な複合語を判定するための条件を満たす文字群を、出現頻度の高い文字群として抽出する複合語抽出手段と、を有することを特徴とする情報処理装置。
【請求項2】
前記候補抽出手段は、
算出した出現頻度値が所定の閾値以上の前記形態素及び/又は前記形態素列を、複合語の候補となる文字群として抽出することを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記複合語抽出手段は、
有効な複合語として抽出した第1文字群と第2文字群とにおいて、前記第1文字群に含まれる前記第2文字群の出現頻度値から該第1文字群の出現頻度値を減算した値を第2文字群の出現頻度値とし、減算により更新された出現頻度値に基づき、出現頻度の高い文字群を抽出することを特徴とする請求項1又は2に記載の情報処理装置。
【請求項4】
前記複合語抽出手段は、
2個の形態素の集合である形態素列と該形態素列に含まれる形態素とにおいて、形態素列に含まれる形態素の出現頻度値から該形態素列の出現頻度値を減算し、減算値を形態素の出現頻度値とし、
N個以上の形態素の集合である第1形態素列と該第1形態素列に含まれるN−1個の形態素の集合である第2形態素列とにおいて、第1形態素列に含まれる第2形態素列の出現頻度値から該第1形態素列の出現頻度値を減算し、減算値を第2形態素列の出現頻度値とすることを特徴とする請求項3に記載の情報処理装置。
【請求項5】
有効/無効な複合語を判定するための条件が定義された判定条件情報を所定の記憶領域に保持する判定条件保持手段を有し、
前記複合語抽出手段は、
前記文字群保持手段に保持された文字群が、前記判定条件保持手段に保持された判定条件情報に定義された条件を満たしているか否かを判定し、判定結果に基づき、該文字群を有効な複合語として抽出することを特徴とする請求項1ないし4のいずれか一項に記載の情報処理装置。
【請求項6】
前記複合語抽出手段は、
有効な複合語を判定するための条件を満たし、かつ、無効な複合語を判定するための条件を満たしていない文字群を有効な複合語として抽出することを特徴とする請求項5に記載の情報処理装置。
【請求項7】
前記候補抽出手段と前記複合語抽出手段とは、
異なるソフトウェアの実行により実現されることを特徴とする請求項1ないし6のいずれか一項に記載の情報処理装置。
【請求項8】
前記候補抽出手段は、
Hadoopにより実現されることを特徴とする請求項7に記載の情報処理装置。
【請求項9】
複合語の候補となる文字群を所定の記憶領域に保持する文字群保持手段を有し、大規模データから複合語を抽出する情報処理装置における複合語抽出方法であって、
大規模データに対して形態素解析を行い、解析結果として得た形態素及び/又は形態素の集合である形態素列の出現頻度値を算出し、算出した出現頻度値に基づき、複合語の候補となる文字群を抽出する候補抽出手順と、
前記候補抽出手順により抽出され前記文字群保持手段に保持された文字群から、有効な複合語を判定するための条件を満たす文字群を、出現頻度の高い文字群として抽出する複合語抽出手順と、を有することを特徴とする複合語抽出方法。
【請求項10】
複合語の候補となる文字群を所定の記憶領域に保持する文字群保持手段を有し、大規模データから複合語を抽出する情報処理装置における複合語抽出プログラムであって、
コンピュータを、
大規模データに対して形態素解析を行い、解析結果として得た形態素及び/又は形態素の集合である形態素列の出現頻度値を算出し、算出した出現頻度値に基づき、複合語の候補となる文字群を抽出する候補抽出手段と、
前記候補抽出手段により抽出され前記文字群保持手段に保持された文字群から、有効な複合語を判定するための条件を満たす文字群を、出現頻度の高い文字群として抽出する複合語抽出手段として機能させる複合語抽出プログラム。
【請求項1】
大規模データから複合語を抽出する情報処理装置であって、
大規模データに対して形態素解析を行い、解析結果として得た形態素及び/又は形態素の集合である形態素列の出現頻度値を算出し、算出した出現頻度値に基づき、複合語の候補となる文字群を抽出する候補抽出手段と、
抽出された文字群を所定の記憶領域に保持する文字群保持手段と、
前記文字群保持手段に保持された文字群から、有効な複合語を判定するための条件を満たす文字群を、出現頻度の高い文字群として抽出する複合語抽出手段と、を有することを特徴とする情報処理装置。
【請求項2】
前記候補抽出手段は、
算出した出現頻度値が所定の閾値以上の前記形態素及び/又は前記形態素列を、複合語の候補となる文字群として抽出することを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記複合語抽出手段は、
有効な複合語として抽出した第1文字群と第2文字群とにおいて、前記第1文字群に含まれる前記第2文字群の出現頻度値から該第1文字群の出現頻度値を減算した値を第2文字群の出現頻度値とし、減算により更新された出現頻度値に基づき、出現頻度の高い文字群を抽出することを特徴とする請求項1又は2に記載の情報処理装置。
【請求項4】
前記複合語抽出手段は、
2個の形態素の集合である形態素列と該形態素列に含まれる形態素とにおいて、形態素列に含まれる形態素の出現頻度値から該形態素列の出現頻度値を減算し、減算値を形態素の出現頻度値とし、
N個以上の形態素の集合である第1形態素列と該第1形態素列に含まれるN−1個の形態素の集合である第2形態素列とにおいて、第1形態素列に含まれる第2形態素列の出現頻度値から該第1形態素列の出現頻度値を減算し、減算値を第2形態素列の出現頻度値とすることを特徴とする請求項3に記載の情報処理装置。
【請求項5】
有効/無効な複合語を判定するための条件が定義された判定条件情報を所定の記憶領域に保持する判定条件保持手段を有し、
前記複合語抽出手段は、
前記文字群保持手段に保持された文字群が、前記判定条件保持手段に保持された判定条件情報に定義された条件を満たしているか否かを判定し、判定結果に基づき、該文字群を有効な複合語として抽出することを特徴とする請求項1ないし4のいずれか一項に記載の情報処理装置。
【請求項6】
前記複合語抽出手段は、
有効な複合語を判定するための条件を満たし、かつ、無効な複合語を判定するための条件を満たしていない文字群を有効な複合語として抽出することを特徴とする請求項5に記載の情報処理装置。
【請求項7】
前記候補抽出手段と前記複合語抽出手段とは、
異なるソフトウェアの実行により実現されることを特徴とする請求項1ないし6のいずれか一項に記載の情報処理装置。
【請求項8】
前記候補抽出手段は、
Hadoopにより実現されることを特徴とする請求項7に記載の情報処理装置。
【請求項9】
複合語の候補となる文字群を所定の記憶領域に保持する文字群保持手段を有し、大規模データから複合語を抽出する情報処理装置における複合語抽出方法であって、
大規模データに対して形態素解析を行い、解析結果として得た形態素及び/又は形態素の集合である形態素列の出現頻度値を算出し、算出した出現頻度値に基づき、複合語の候補となる文字群を抽出する候補抽出手順と、
前記候補抽出手順により抽出され前記文字群保持手段に保持された文字群から、有効な複合語を判定するための条件を満たす文字群を、出現頻度の高い文字群として抽出する複合語抽出手順と、を有することを特徴とする複合語抽出方法。
【請求項10】
複合語の候補となる文字群を所定の記憶領域に保持する文字群保持手段を有し、大規模データから複合語を抽出する情報処理装置における複合語抽出プログラムであって、
コンピュータを、
大規模データに対して形態素解析を行い、解析結果として得た形態素及び/又は形態素の集合である形態素列の出現頻度値を算出し、算出した出現頻度値に基づき、複合語の候補となる文字群を抽出する候補抽出手段と、
前記候補抽出手段により抽出され前記文字群保持手段に保持された文字群から、有効な複合語を判定するための条件を満たす文字群を、出現頻度の高い文字群として抽出する複合語抽出手段として機能させる複合語抽出プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2012−141783(P2012−141783A)
【公開日】平成24年7月26日(2012.7.26)
【国際特許分類】
【出願番号】特願2010−294005(P2010−294005)
【出願日】平成22年12月28日(2010.12.28)
【出願人】(500257300)ヤフー株式会社 (1,128)
【Fターム(参考)】
【公開日】平成24年7月26日(2012.7.26)
【国際特許分類】
【出願日】平成22年12月28日(2010.12.28)
【出願人】(500257300)ヤフー株式会社 (1,128)
【Fターム(参考)】
[ Back to top ]