(57)【要約】【課題】未知語を単語として登録する際に、単語でない文字列を効率よく削減できること。【解決手段】未知語抽出方法は、文章を形態素解析して未知語を含む未知語候補の文字列群を抽出する処理をコンピュータが実行する。未知語抽出方法は、抽出した文字列群のそれぞれの文字列に類似する文字列の数を算出する処理をコンピュータが実行する。未知語抽出方法は、文字列群の中から文字列をユーザに提示して、単語であるか否かの判定を受け付ける処理をコンピュータが実行する。未知語抽出方法は、受け付けた判定の結果が単語でない場合に、提示した文字列および該文字列に類似する文字列を文字列群から削除する処理をコンピュータが実行する。未知語抽出方法は、受け付けた判定の結果が単語である場合に、提示した文字列を文字列群から削除するとともに、該文字列を単語として出力する処理をコンピュータが実行する。【選択図】図１１
2020087212.tif 000002
【特許請求の範囲】
【請求項１】
文章を形態素解析して未知語を含む未知語候補の文字列群を抽出し、
抽出した前記文字列群のそれぞれの文字列に類似する文字列の数を算出し、
前記文字列群の中から文字列をユーザに提示して、単語であるか否かの判定を受け付け、
受け付けた前記判定の結果が単語でない場合に、提示した前記文字列および該文字列に類似する文字列を前記文字列群から削除し、受け付けた前記判定の結果が単語である場合に、提示した前記文字列を前記文字列群から削除するとともに、該文字列を単語として出力する、
処理をコンピュータが実行することを特徴とする未知語抽出方法。
【請求項２】
前記出力する処理は、受け付けた前記判定の結果が単語である場合に、提示した前記文字列を形態素解析に用いる形態素辞書に登録し、該形態素辞書を用いて前記文字列群を形態素解析して更新する、
ことを特徴とする請求項１に記載の未知語抽出方法。
【請求項３】
前記抽出する処理は、前記文章からパターンマッチングにより第１文字列群を抽出し、抽出した前記第１文字列群を、それぞれ形態素解析して未知語を含む第２文字列群を抽出し、抽出した第２文字列群を前記未知語候補の文字列群とする、
ことを特徴とする請求項１または２に記載の未知語抽出方法。
【請求項４】
前記受け付ける処理は、算出した前記文字列の数が最も多く、かつ、文字列長が最も短い文字列を前記ユーザに提示する、
ことを特徴とする請求項１〜３のいずれか１つに記載の未知語抽出方法。
【請求項５】
前記受け付ける処理は、算出した前記文字列の数が多い順に、複数の文字列を前記ユーザに提示する、
ことを特徴とする請求項１〜３のいずれか１つに記載の未知語抽出方法。
【請求項６】
文章を形態素解析して未知語を含む未知語候補の文字列群を抽出し、
抽出した前記文字列群のそれぞれの文字列に類似する文字列の数を算出し、
前記文字列群の中から文字列をユーザに提示して、単語であるか否かの判定を受け付け、
受け付けた前記判定の結果が単語でない場合に、提示した前記文字列および該文字列に類似する文字列を前記文字列群から削除し、受け付けた前記判定の結果が単語である場合に、提示した前記文字列を前記文字列群から削除するとともに、該文字列を単語として出力する、
処理をコンピュータに実行させることを特徴とする未知語抽出プログラム。
【請求項７】
文章を形態素解析して未知語を含む未知語候補の文字列群を抽出する抽出部と、
抽出した前記文字列群のそれぞれの文字列に類似する文字列の数を算出する算出部と、
前記文字列群の中から文字列をユーザに提示して、単語であるか否かの判定を受け付ける受付部と、
受け付けた前記判定の結果が単語でない場合に、提示した前記文字列および該文字列に類似する文字列を前記文字列群から削除し、受け付けた前記判定の結果が単語である場合に、提示した前記文字列を前記文字列群から削除するとともに、該文字列を単語として出力する出力制御部と、
を有することを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、未知語抽出方法、未知語抽出プログラムおよび情報処理装置に関する。
【背景技術】
【０００２】
文章に対する処理を行う場合、例えば日本語のように文中の語が分かち書きされていない言語では、文章を単語に分割する形態素解析が行われる。形態素解析には、形態素辞書が必要となるが、ドメインに特有の単語は形態素辞書に登録されていない未知語である場合が多い。未知語が含まれる文章では、形態素解析の精度が落ちるので、その後の処理に影響を及ぼすことがある。このため、未知語を獲得するために、大規模なテキストコーパスを用いて、出現頻度、前後に出現する単語、文字列のばらつきの程度から単語として妥当かどうかを判定することが知られている。また、未知語の前後の文脈の情報を利用した未知語獲得手法が知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１６−１３９１６４号公報
【特許文献２】特開２０１０−１５７１７８号公報
【非特許文献】
【０００４】
【非特許文献１】村脇有吾、黒橋禎夫、「形態論的制約を用いたオンライン未知語獲得」、自然言語処理、一般社団法人言語処理学会、2010年1月、Vol.17、No.1、p.55-75
【発明の概要】
【発明が解決しようとする課題】
【０００５】
これらの手法では、文章中のある文字列が未知語であるか否かを判定するために文脈の情報を用いている。このため、十分な量の文章がない場合、対象の文字列の出現頻度が低く、適切に判定することが難しい。従って、低頻度で出現する未知語を人手で抽出することが考えられる。しかしながら、十分な量の文章がない場合であっても、未知語の候補となる文字列は大量に存在するため、低頻度で出現する未知語を抽出する際に、人手による判定では、未知語の候補から単語でない文字列を効率よく削減することは困難である。
【０００６】
一つの側面では、未知語を単語として登録する際に、単語でない文字列を効率よく削減できる未知語抽出方法、未知語抽出プログラムおよび情報処理装置を提供することにある。
【課題を解決するための手段】
【０００７】
一つの態様では、未知語抽出方法は、文章を形態素解析して未知語を含む未知語候補の文字列群を抽出する処理をコンピュータが実行する。未知語抽出方法は、抽出した前記文字列群のそれぞれの文字列に類似する文字列の数を算出する処理をコンピュータが実行する。未知語抽出方法は、前記文字列群の中から文字列をユーザに提示して、単語であるか否かの判定を受け付ける処理をコンピュータが実行する。未知語抽出方法は、受け付けた前記判定の結果が単語でない場合に、提示した前記文字列および該文字列に類似する文字列を前記文字列群から削除する処理をコンピュータが実行する。未知語抽出方法は、受け付けた前記判定の結果が単語である場合に、提示した前記文字列を前記文字列群から削除するとともに、該文字列を単語として出力する処理をコンピュータが実行する。
【発明の効果】
【０００８】
未知語を単語として登録する際に、単語でない文字列を効率よく削減できる。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施例の情報処理装置の構成の一例を示すブロック図である。
【図２】図２は、未知語候補の文字列群の抽出の一例を示す図である。
【図３】図３は、ユーザに提示する文字列の選択の一例を示す図である。
【図４】図４は、ユーザに提示する文字列の選択の他の一例を示す図である。
【図５】図５は、文字列の提示および単語であるか否かの判定の受け付けの一例を示す図である。
【図６】図６は、文字列の提示および単語であるか否かの判定の受け付けの他の一例を示す図である。
【図７】図７は、提示画面の一例を示す図である。
【図８】図８は、提示画面の他の一例を示す図である。
【図９】図９は、未知語候補の文字列群の更新の一例を示す図である。
【図１０】図１０は、未知語候補の文字列群の更新の他の一例を示す図である。
【図１１】図１１は、未知語候補の文字列群の遷移の一例を示す図である。
【図１２】図１２は、実施例の候補抽出処理の一例を示すフローチャートである。
【図１３】図１３は、実施例の未知語抽出処理の一例を示すフローチャートである。
【図１４】図１４は、未知語抽出プログラムを実行するコンピュータの一例を示す図である。
【図１５】図１５は、比較例における未知語候補の文字列群の抽出の一例を示す図である。
【発明を実施するための形態】
【００１０】
以下、図面に基づいて、本願の開示する未知語抽出方法、未知語抽出プログラムおよび情報処理装置の実施例を詳細に説明する。なお、本実施例により、開示技術が限定されるものではない。また、以下の実施例は、矛盾しない範囲で適宜組みあわせてもよい。
【実施例】
【００１１】
図１は、実施例の情報処理装置の構成の一例を示すブロック図である。図１に示す情報処理装置１００は、文章から形態素辞書に登録されていない未知語を抽出して獲得する情報処理装置の一例である。情報処理装置１００は、文章を形態素解析して未知語を含む未知語候補の文字列群を抽出する。情報処理装置１００は、抽出した文字列群のそれぞれの文字列に類似する文字列の数を算出する。情報処理装置１００は、文字列群の中から文字列をユーザに提示して、単語であるか否かの判定を受け付ける。情報処理装置１００は、受け付けた判定の結果が単語でない場合に、提示した文字列および該文字列に類似する文字列を文字列群から削除する。情報処理装置１００は、受け付けた判定の結果が単語である場合に、提示した文字列を文字列群から削除するとともに、該文字列を単語として出力する。これにより、情報処理装置１００は、未知語を単語として登録する際に、単語でない文字列を効率よく削減できる。
【００１２】
次に、情報処理装置１００の構成について説明する。図１に示すように、情報処理装置１００は、通信部１１０と、表示部１１１と、操作部１１２と、記憶部１２０と、制御部１３０とを有する。なお、情報処理装置１００は、図１に示す機能部以外にも既知のコンピュータが有する各種の機能部、例えば各種の入力デバイスや音声出力デバイス等の機能部を有することとしてもかまわない。
【００１３】
通信部１１０は、例えば、ＮＩＣ（Network  Interface  Card）等によって実現される。通信部１１０は、図示しないネットワークを介して他の情報処理装置と有線または無線で接続され、他の情報処理装置との間で情報の通信を司る通信インタフェースである。通信部１１０は、例えば、他の情報処理装置から抽出対象の文章やコーパス等を受信する。また、通信部１１０は、例えば、他の情報処理装置に、抽出した未知語や形態素辞書を送信する。
【００１４】
表示部１１１は、各種情報を表示するための表示デバイスである。表示部１１１は、例えば、表示デバイスとして液晶ディスプレイ等によって実現される。表示部１１１は、制御部１３０から入力された表示画面等の各種画面を表示する。
【００１５】
操作部１１２は、情報処理装置１００のユーザから各種操作を受け付ける入力デバイスである。操作部１１２は、例えば、入力デバイスとして、キーボードやマウス等によって実現される。操作部１１２は、ユーザによって入力された操作を操作情報として制御部１３０に出力する。なお、操作部１１２は、入力デバイスとして、タッチパネル等によって実現されるようにしてもよく、表示部１１１の表示デバイスと、操作部１１２の入力デバイスとは、一体化されるようにしてもよい。
【００１６】
記憶部１２０は、例えば、ＲＡＭ（Random  Access  Memory）、フラッシュメモリ等の半導体メモリ素子、ハードディスクや光ディスク等の記憶装置によって実現される。記憶部１２０は、形態素辞書１２１を有する。また、記憶部１２０は、制御部１３０での処理に用いる情報を記憶する。
【００１７】
形態素辞書１２１は、文章から抽出した未知語候補の文字列群に対して形態素解析を行う場合に用いる形態素辞書である。形態素辞書１２１には、予め一般的な語句が格納されている。一般的な語句としては、例えば、「高級」や「がんもどき」といった単語が挙げられる。形態素辞書１２１は、例えば、単語等の形態素と品詞とを対応付けて記憶する。また、形態素辞書１２１は、ユーザによって単語であると判定された未知語、および、高頻度で出現する文字列の前後の情報に基づいて抽出された未知語を記憶する。なお、未知語の記憶において品詞の指定がない場合には、例えば名詞として登録することができる。
【００１８】
制御部１３０は、例えば、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）等によって、内部の記憶装置に記憶されているプログラムがＲＡＭを作業領域として実行されることにより実現される。また、制御部１３０は、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）等の集積回路により実現されるようにしてもよい。
【００１９】
制御部１３０は、抽出部１３１と、算出部１３２と、受付部１３３と、出力制御部１３４とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部１３０の内部構成は、図１に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。
【００２０】
抽出部１３１は、例えば、ユーザによる操作部１１２を用いた入力操作に基づいて、未知語抽出の対象となる文章の入力を受け付ける。なお、抽出部１３１は、通信部１１０を介して、他の情報処理装置から文章データを取得して文章の入力を受け付けるようにしてもよい。抽出部１３１は、受け付けた文章からパターンマッチングにより第１文字列群を抽出する。抽出部１３１は、単語境界になりやすい語、例えば格助詞を基準に単語らしい文字列を抽出して第１文字列群とする。例えば、抽出部１３１は、文頭、句点および読点のいずれかと、“が”、“を”、“に”、“で”、“は”のいずれかとの間に出現する各文字列を抽出して第１文字列群とする。
【００２１】
ここで、抽出部１３１が文章を直接形態素解析するのではなく、パターンマッチングにより第１文字列群を抽出する理由を述べる。形態素解析では、辞書が用いられるため、辞書に含まれていない語が文章中に存在する場合、尤もらしい単語分割になるように解析され、残りの部分がひとまとまりの仮の単語として分割される。そのため、本来は１単語であるはずの文字列が、辞書に登録されていないために過剰に分割されることがある。このため、過剰分割された本来は１単語である文字列が、未知語候補から除外されることがあるので、未知語の周辺の文字列も合わせて提示する必要がある。つまり、抽出部１３１は、パターンマッチングを用いることで、文字ベースで単語境界を判定し、単語候補として多くの可能性を列挙することができる。
【００２２】
抽出部１３１は、形態素辞書１２１を参照し、抽出した第１文字列群の各文字列を形態素解析する。抽出部１３１は、形態素解析において、文字列が複数の単語で構成されている場合、つまり未知語を含まない単語で構成されている場合、当該文字列を削除する。すなわち、抽出部１３１は、形態素解析を用いて、第１文字列群から未知語を含む各文字列を第２文字列群として抽出する。抽出部１３１は、抽出した第２文字列群のうち、高頻度で出現する文字列を第３文字列群に分割する。ここで、高頻度とは、例えば、１つの文章内で５つ以上出現する等のように、従来の未知語抽出方法が適用可能な頻度である。抽出部１３１は、分割後の第２文字列群を算出部１３２に出力する。
【００２３】
言い換えると、抽出部１３１は、文章を形態素解析して未知語を含む未知語候補の文字列群を抽出する。また、抽出部１３１は、文章からパターンマッチングにより第１文字列群を抽出する。また、抽出部１３１は、抽出した第１文字列群を、それぞれ形態素解析して未知語を含む第２文字列群を抽出し、抽出した第２文字列群を未知語候補の文字列群とする。
【００２４】
抽出部１３１は、分割した第３文字列群について、文字列の前後の情報に基づいて未知語を抽出する。つまり、抽出部１３１は、高頻度で出現する文字列について、出現頻度、前後に出現する単語、文字列のばらつきの程度から単語として妥当かどうかを判定して未知語を抽出する。抽出部１３１は、抽出した未知語を形態素辞書１２１に登録するとともに、出力制御部１３４に出力する。
【００２５】
ここで、図２を用いて未知語候補の文字列群の抽出について説明する。図２は、未知語候補の文字列群の抽出の一例を示す図である。なお、以下の説明では、文字列について形態素境界を“｜”で表し、未知語と判定されたものを“［］”で囲むことで表す。図２に示すように、抽出部１３１は、文章１０の入力を受け付ける。文章１０は、「高級がんもどきをサボンで買う」であるとする。抽出部１３１は、文章１０からパターンマッチングを用いて、つまり文字列パターンにより未知語候補の第１文字列群１１を抽出する。第１文字列群１１には、文字列として「高級｜」、「高級｜がんもどき｜」、「高級｜がんもどき｜を｜［サボン］｜」、「［んもどき］｜」、「［んもどき］｜を｜［サボン］｜」、「［サボン］｜」が含まれる。
【００２６】
抽出部１３１は、形態素辞書１２１を参照し、第１文字列群１１から形態素解析で未知語を含む第２文字列群１２を抽出する。なお、未知語は、［んもどき］、［サボン］であるとする。つまり、抽出部１３１は、第１文字列群１１から文字列「高級｜」、「高級｜がんもどき｜」を削除する。すなわち、抽出部１３１は、第２文字列群１２として文字列「高級｜がんもどき｜を｜［サボン］｜」、「［んもどき］｜」、「［んもどき］｜を｜［サボン］｜」、「［サボン］｜」を抽出する。
【００２７】
図１の説明に戻って、算出部１３２は、抽出部１３１から第２文字列群が入力されると、入力された第２文字列群の各文字列に対して、それぞれ類似する文字列を判定する。本実施例では、単語でないものを含んでいる文字列は単語でないと仮説を置き、文字列の包含関係で類似性を定義している。また、類似性の判定では、構成している文字の並びが似ている文字列も類似していると見なすことができるが、本実施例では、文字列の包含関係を用いるものとする。
【００２８】
算出部１３２は、判定の結果に基づいて、第２文字列群の各文字列に対して類似する文字列の数を算出する。算出部１３２は、各文字列について算出した類似する文字列の数に基づいて、ユーザに提示する文字列を選択する。算出部１３２は、例えば、類似する文字列の数が最も多く、かつ、文字列長が最も短い文字列を選択する。つまり、算出部１３２は、類似する文字列が多い文字列から選択することで、選択した文字列がユーザに単語でないと判定された場合に、同時に第２文字列群から削除できる文字列を多くすることができる。すなわち、当該判定によって、単語でないと判定された文字列を含む文字列も単語でないと推定することになる。算出部１３２は、選択した文字列を受付部１３３に出力する。
【００２９】
ここで、図３および図４を用いてユーザに提示する文字列の選択について説明する。図３は、ユーザに提示する文字列の選択の一例を示す図である。図３に示すように、算出部１３２は、第２文字列群１２の各文字列に対して、それぞれ類似する文字列を判定する。判定例１３に示すように、算出部１３２は、文字列「高級｜がんもどき｜を｜［サボン］｜」に類似する文字列はなしと判定する。算出部１３２は、文字列「［んもどき］｜」に類似する文字列は、「高級がんもどきをサボン」と「んもどきをサボン」であると判定する。算出部１３２は、文字列「［んもどき］｜を｜［サボン］｜」に類似する文字列は、「高級がんもどきをサボン」であると判定する。算出部１３２は、文字列「［サボン］｜」に類似する文字列は、「高級がんもどきをサボン」と「んもどきをサボン」であると判定する。
【００３０】
算出部１３２は、各文字列について類似する文字列の数を算出すると、文字列「高級｜がんもどき｜を｜［サボン］｜」は「０」、文字列「［んもどき］｜」は「２」、文字列「［んもどき］｜を｜［サボン］｜」は「１」、文字列「［サボン］｜」は「２」となる。算出部１３２は、類似する文字列の数が最も多い「２」である文字列「［んもどき］｜」と「［サボン］｜」とのうち、文字列長が最も短い文字列「［サボン］」を、ユーザに提示する文字列１４として選択する。なお、文字列１４では、形態素境界は省略している。
【００３１】
図４は、ユーザに提示する文字列の選択の他の一例を示す図である。図４に示す第２文字列群１５は、文字列「サボン」が単語であると判定され、第２文字列群１２が更新された第２文字列群である。算出部１３２は、第２文字列群１５の各文字列に対して、それぞれ類似する文字列を判定する。判定例１６に示すように、算出部１３２は、文字列「［んもどき］｜」に類似する文字列は、「んもどきをサボン」であると判定する。算出部１３２は、文字列「［んもどき］｜を｜サボン｜」に類似する文字列はなしと判定する。
【００３２】
算出部１３２は、各文字列について類似する文字列の数を算出すると、文字列「［んもどき］｜」は「１」、文字列「［んもどき］｜を｜サボン｜」は「０」となる。算出部１３２は、類似する文字列の数が最も多い「１」である文字列「［んもどき］」を、ユーザに提示する文字列１７として選択する。なお、文字列１７では、形態素境界は省略している。
【００３３】
図１の説明に戻って、受付部１３３は、算出部１３２から選択した文字列が入力されると、選択した文字列をユーザに提示する提示画面を表示部１１１に表示する。受付部１３３は、提示画面において、ユーザから選択した文字列が単語であるか否かの判定を受け付ける。つまり、受付部１３３は、ユーザであれば、文字列が出現している文脈が多くなくても単語であるか否かを判定できるので、その判定結果を受け付ける。受付部１３３は、受け付けた判定結果を出力制御部１３４に出力する。
【００３４】
言い換えると、受付部１３３は、文字列群の中から文字列をユーザに提示して、単語であるか否かの判定を受け付ける。また、受付部１３３は、算出部１３２が算出した文字列の数が最も多く、かつ、文字列長が最も短い文字列をユーザに提示する。また、受付部１３３は、算出部１３２が算出した文字列の数が多い順に、複数の文字列をユーザに提示する。
【００３５】
ここで、図５から図８を用いて文字列の提示について説明する。図５は、文字列の提示および単語であるか否かの判定の受け付けの一例を示す図である。図５に示すように、受付部１３３は、選択した文字列１４である「［サボン］」をユーザに提示する提示画面１８を表示部１１１に表示する。受付部１３３は、提示画面１８において「Ｙｅｓ」が選択されると、文字列「サボン」は単語である旨の判定結果１９を受け付ける。受付部１３３は、提示画面１８において「Ｎｏ」が選択されると、文字列「サボン」は単語でない旨の判定結果２０を受け付ける。図５の例では、判定結果１９を受け付けたものとする。
【００３６】
図６は、文字列の提示および単語であるか否かの判定の受け付けの他の一例を示す図である。図６に示すように、受付部１３３は、選択した文字列１７である「［んもどき］」をユーザに提示する提示画面２１を表示部１１１に表示する。受付部１３３は、提示画面２１において「Ｙｅｓ」が選択されると、文字列「んもどき」は単語である旨の判定結果２２を受け付ける。受付部１３３は、提示画面２１において「Ｎｏ」が選択されると、文字列「んもどき」は単語でない旨の判定結果２３を受け付ける。図６の例では、判定結果２３を受け付けたものとする。
【００３７】
図７は、提示画面の一例を示す図である。図７に示す提示画面２４は、選択した文字列を１つ表示し、表示した文字列が単語であるか否かを受け付ける提示画面の一例である。
【００３８】
図８は、提示画面の他の一例を示す図である。図８に示す提示画面２５は、第２文字列群の複数の文字列を表示し、ユーザに単語であると判定された、いずれかの文字列の選択を受け付ける提示画面の一例である。提示画面２５では、例えば、文字列「サボン」がユーザにより選択されると、文字列「サボン」が単語であるとの判定を受け付ける。この場合、文字列「サボン」と類似する文字列である「高級がんもどきをサボン」は、後述する出力制御部１３４による形態素解析の結果、第２文字列群から削除され、次回の提示画面では表示されないこととなる。なお、文字列「んもどきをサボン」は、未知語「んもどき」を含むため、次回の提示画面でも表示される。
【００３９】
図１の説明に戻って、出力制御部１３４は、受付部１３３から判定結果が入力されると、判定の結果が単語であるか否かを判定する。出力制御部１３４は、判定の結果が単語でないと判定した場合には、第２文字列群から提示した文字列および類似する文字列を削除して更新する。その後、出力制御部１３４は、第２文字列群が空であるか否かへの判定に進む。
【００４０】
出力制御部１３４は、判定の結果が単語であると判定した場合には、第２文字列群から提示した文字列を削除するとともに、提示した文字列を形態素辞書１２１に登録する。出力制御部１３４は、第２文字列群を形態素解析し、未知語を含まない文字列を第２文字列群から削除して第２文字列群を更新する。なお、第２文字列群の更新では、複数の文字列が削除される場合がある。その後、出力制御部１３４は、第２文字列群が空であるか否かへの判定に進む。
【００４１】
出力制御部１３４は、第２文字列群を更新すると、第２文字列群が空であるか否かを判定する。出力制御部１３４は、第２文字列群が空でないと判定した場合には、算出部１３２に対して、更新後の第２文字列群の各文字列に対して類似する文字列を判定するように指示する。出力制御部１３４は、第２文字列群が空であると判定した場合には、抽出部１３１から入力される未知語を含む、形態素辞書１２１に登録した未知語の一覧画面を生成する。出力制御部１３４は、生成した一覧画面を表示部１１１に出力して表示させる。
【００４２】
言い換えると、出力制御部１３４は、受け付けた判定の結果が単語でない場合に、提示した文字列および該文字列に類似する文字列を文字列群から削除する。また、出力制御部１３４は、受け付けた判定の結果が単語である場合に、提示した文字列を文字列群から削除するとともに、該文字列を単語として出力する。また、出力制御部１３４は、受け付けた判定の結果が単語である場合に、提示した文字列を形態素解析に用いる形態素辞書１２１に登録し、該形態素辞書１２１を用いて文字列群を形態素解析して更新する。
【００４３】
ここで、図９および図１０を用いて未知語候補の文字列群である第２文字列群の更新について説明する。図９は、未知語候補の文字列群の更新の一例を示す図である。図９に示すように、受付部１３３は、第２文字列群１２について、ユーザに文字列「サボン」を提示した結果、「サボン」は単語である旨の判定結果１９ａを受け付けて当該判定結果１９ａを出力制御部１３４に出力する。出力制御部１３４は、判定結果１９ａが単語であると判定し、第２文字列群１２から提示した文字列「［サボン］｜」を削除して第２文字列群２６とする。また、出力制御部１３４は、提示した文字列「［サボン］｜」を形態素辞書１２１に登録する。出力制御部１３４は、第２文字列群２６を形態素解析し、未知語を含まない文字列を第２文字列群２６から削除して更新し、第２文字列群１５とする。つまり、第２文字列群２６の文字列「高級｜がんもどき｜を｜［サボン］｜」は、「サボン」が形態素辞書１２１に含まれることになるので、文字列「高級｜がんもどき｜を｜サボン｜」となり、未知語を含まなくなるので削除対象となる。
【００４４】
図１０は、未知語候補の文字列群の更新の他の一例を示す図である。図１０に示すように、受付部１３３は、第２文字列群１５について、ユーザに文字列「んもどき」を提示した結果、「んもどき」は単語でない旨の判定結果２３ａを受け付けて当該判定結果２３ａを出力制御部１３４に出力する。出力制御部１３４は、判定結果２３ａが単語でないと判定し、提示した文字列「［んもどき］｜」および類似する文字列「［んもどき］｜を｜サボン｜」を第２文字列群１５から削除して更新し、第２文字列群２７とする。出力制御部１３４は、第２文字列群２７が空であるので、未知語の一覧を出力して処理を終了する。
【００４５】
続いて、図１１を用いて、未知語候補の文字列群である第２文字列群の遷移に着目して処理の流れを説明する。図１１は、未知語候補の文字列群の遷移の一例を示す図である。なお、図１１では、形態素境界を表す“｜”および未知語を表す“「」”は省略している。図１１に示すように、抽出部１３１は、文章１０である「高級がんもどきをサボンで買う」からパターンマッチングにより、第１文字列群１１を抽出する。第１文字列群１１には、文字列として「高級」、「高級がんもどき」、「高級がんもどきをサボン」、「んもどき」、「んもどきをサボン」、「サボン」が含まれる。抽出部１３１は、第１文字列群１１から形態素解析で第２文字列群１２を抽出する。ここで、文字列「高級」、「高級がんもどき」は削除される。
【００４６】
算出部１３２は、判定例１３に示すように、第２文字列群１２の各文字列に対して、それぞれ類似する文字列を判定する。１回目の提示処理２８において、受付部１３３は、類似する文字列の数が最も多く、かつ、文字列長が最も短い「サボン」をユーザに提示する。受付部１３３は、提示画面において、「サボン」は単語である旨の判定結果１９ａを受け付けて当該判定結果１９ａを出力制御部１３４に出力する。
【００４７】
出力制御部１３４は、判定結果１９ａに基づいて第２文字列群１２を更新した第２文字列群１５について、各文字列に対して類似する文字列を判定するように、算出部１３２に対して指示する。算出部１３２は、判定例１６に示すように、第２文字列群１５の各文字列に対して、それぞれ類似する文字列を判定する。２回目の提示処理２９において、受付部１３３は、類似する文字列の数が最も多い「んもどき」をユーザに提示する。受付部１３３は、提示画面において、「んもどき」は単語でない旨の判定結果２３ａを受け付けて当該判定結果２３ａを出力制御部１３４に出力する。出力制御部１３４は、判定結果２３ａに基づいて第２文字列群１５を更新した第２文字列群２７が空であるので、未知語の一覧を出力して処理を終了する。つまり、出力制御部１３４は、獲得できた未知語が「サボン」であることを出力する。
【００４８】
ここで、図１５を用いて比較例と比較する。図１５は、比較例における未知語候補の文字列群の抽出の一例を示す図である。図１５に示すように、比較例では文章１０から文字列パターンによる未知語候補の抽出によって文字列群１１ａを抽出し、形態素解析で未知語を含まないものを削除して文字列群１２ａを得る。従って、比較例では、文字列群１２ａの４つの文字列を全て人手でチェックしようとすると、４回の判定が必要となる。一方、情報処理装置１００では、第２文字列群１２に含まれる文字列は４つであるが、ユーザに対して２回の提示で第２文字列群に含まれる全ての文字列について、単語であるか否かの判定をすることができる。つまり、情報処理装置１００では、未知語を抽出する際に、単語でない文字列を効率よく削減できるので、人手によるチェック回数を低減することができる。
【００４９】
次に、実施例の情報処理装置１００の動作について説明する。まず、図１２を用いて未知語候補の文字列群を抽出する候補抽出処理について説明する。図１２は、実施例の候補抽出処理の一例を示すフローチャートである。
【００５０】
抽出部１３１は、未知語抽出の対象となる文章の入力を受け付ける（ステップＳ１）。抽出部１３１は、受け付けた文章からパターンマッチングにより第１文字列群を抽出する（ステップＳ２）。抽出部１３１は、形態素辞書１２１を参照し、抽出した第１文字列群の各文字列を形態素解析する（ステップＳ３）。抽出部１３１は、形態素解析の結果に基づいて、第１文字列群から未知語を含む第２文字列群を抽出する（ステップＳ４）。これにより、情報処理装置１００は、未知語候補の文字列群を抽出することができる。
【００５１】
続いて、図１３を用いて未知語抽出処理について説明する。図１３は、実施例の未知語抽出処理の一例を示すフローチャートである。
【００５２】
抽出部１３１は、抽出した第２文字列群のうち、高頻度で出現する文字列を第３文字列群に分割する（ステップＳ１１）。抽出部１３１は、処理対象が分割後の第２文字列群であるか否かを判定する（ステップＳ１２）。抽出部１３１は、処理対象が分割後の第２文字列群であると判定した場合には（ステップＳ１２：肯定）、分割後の第２文字列群を算出部１３２に出力する。算出部１３２は、抽出部１３１から第２文字列群が入力されると、入力された第２文字列群の各文字列に対して、それぞれ類似する文字列を判定する。算出部１３２は、判定の結果に基づいて、第２文字列群の各文字列に対して類似する文字列の数を算出する（ステップＳ１３）。
【００５３】
算出部１３２は、各文字列について算出した類似する文字列の数に基づいて、ユーザに提示する文字列を選択する（ステップＳ１４）。算出部１３２は、選択した文字列を受付部１３３に出力する。
【００５４】
受付部１３３は、算出部１３２から選択した文字列が入力されると、選択した文字列をユーザに提示する提示画面を表示部１１１に表示する（ステップＳ１５）。受付部１３３は、提示画面において、ユーザから選択した文字列が単語であるか否かの判定を受け付ける（ステップＳ１６）。受付部１３３は、受け付けた判定結果を出力制御部１３４に出力する。
【００５５】
出力制御部１３４は、受付部１３３から判定結果が入力されると、判定の結果が単語であるか否かを判定する（ステップＳ１７）。出力制御部１３４は、判定の結果が単語でないと判定した場合には（ステップＳ１７：否定）、第２文字列群から提示した文字列および類似する文字列を削除して更新し（ステップＳ１８）、ステップＳ２１に進む。
【００５６】
出力制御部１３４は、判定の結果が単語であると判定した場合には（ステップＳ１７：肯定）、第２文字列群から提示した文字列を削除するとともに、提示した文字列を形態素辞書１２１に登録する（ステップＳ１９）。出力制御部１３４は、第２文字列群を形態素解析し、未知語を含まない文字列を第２文字列群から削除して第２文字列群を更新し（ステップＳ２０）、ステップＳ２１に進む。
【００５７】
出力制御部１３４は、第２文字列群を更新すると、第２文字列群が空であるか否かを判定する（ステップＳ２１）。出力制御部１３４は、第２文字列群が空でないと判定した場合には（ステップＳ２１：否定）、算出部１３２に対して、更新後の第２文字列群の処理を行うように指示してステップＳ１３に戻る。出力制御部１３４は、第２文字列群が空であると判定した場合には（ステップＳ２１：肯定）、ステップＳ２４に進む。
【００５８】
一方、抽出部１３１は、ステップＳ１２において、処理対象が分割後の第２文字列群でないと判定した場合には（ステップＳ１２：否定）、ステップＳ１１において分割した第３文字列群について、文字列の前後の情報に基づいて未知語を抽出する（ステップＳ２２）。抽出部１３１は、抽出した未知語を形態素辞書１２１に登録するとともに（ステップＳ２３）、出力制御部１３４に出力し、ステップＳ２４に進む。
【００５９】
出力制御部１３４は、抽出部１３１から入力される未知語を含む、形態素辞書１２１に登録した未知語の一覧画面を生成する。出力制御部１３４は、生成した一覧画面を表示部１１１に出力して表示させる（ステップＳ２４）。これにより、情報処理装置１００は、未知語を抽出する際に、単語でない文字列を効率よく削減できる。つまり、情報処理装置１００は、低頻度で出現する未知語を抽出する際に、単語でない文字列を効率よく削減できる。従って、情報処理装置１００は、人手によるチェック回数を低減することができる。
【００６０】
また、一般的に高頻度で出現する文字列の種類は少なく、低頻度で出現する文字列の種類は多いことが知られている。つまり、従来の手法が適用できない文字列の異なり数は大きく、人手で全てチェックすることは困難であった。これに対し、本実施例の情報処理装置１００は、単語でないと判定された文字列を類似文字列とともに未知語候補から削除するので、単語でない文字列を効率よく削減でき、これまでは自動獲得の対象とされなかった低頻度で出現する未知語を抽出して獲得できる。
【００６１】
このように、情報処理装置１００は、文章を形態素解析して未知語を含む未知語候補の文字列群を抽出する。また、情報処理装置１００は、抽出した文字列群のそれぞれの文字列に類似する文字列の数を算出する。また、情報処理装置１００は、文字列群の中から文字列をユーザに提示して、単語であるか否かの判定を受け付ける。また、情報処理装置１００は、受け付けた判定の結果が単語でない場合に、提示した文字列および該文字列に類似する文字列を文字列群から削除する。また、情報処理装置１００は、受け付けた判定の結果が単語である場合に、提示した文字列を文字列群から削除するとともに、該文字列を単語として出力する。その結果、情報処理装置１００は、未知語を単語として登録する際に、単語でない文字列を効率よく削減できる。
【００６２】
また、情報処理装置１００は、受け付けた判定の結果が単語である場合に、提示した文字列を形態素解析に用いる形態素辞書１２１に登録し、該形態素辞書１２１を用いて文字列群を形態素解析して更新する。その結果、情報処理装置１００は、未知語を単語として形態素辞書１２１に登録できるとともに、登録した単語を含む文字列を文字列群から削除することができる。
【００６３】
また、情報処理装置１００は、文章からパターンマッチングにより第１文字列群を抽出する。また、情報処理装置１００は、抽出した第１文字列群を、それぞれ形態素解析して未知語を含む第２文字列群を抽出し、抽出した第２文字列群を未知語候補の文字列群とする。その結果、情報処理装置１００は、文字ベースで単語境界を判定するので、多くの単語候補を列挙することができる。つまり、情報処理装置１００は、文章を直接形態素解析した場合における未知語周辺での形態素解析の失敗に起因する、過剰分割された本来は１単語である未知語が除外されることを抑止できる。
【００６４】
また、情報処理装置１００は、算出した文字列の数が最も多く、かつ、文字列長が最も短い文字列をユーザに提示する。その結果、情報処理装置１００は、未知語候補から単語でない文字列を効率よく削減できる。
【００６５】
また、情報処理装置１００は、算出した文字列の数が多い順に、複数の文字列をユーザに提示する。その結果、情報処理装置１００は、ユーザに対して、複数の未知語候補を同時に提示することができる。
【００６６】
なお、上記実施例では、文字列の類似性の判定において、文字列の包含関係を用いたが、これに限定されない。例えば、文字列の包含関係に加えて、文字列間の文字ｎ−ｇｒａｍによるコサイン類似度を用いてもよい。例えば、ｎ＝２である文字ｂｉ−ｇｒａｍを用いて、閾値＝０．６といった値を用いることができる。
【００６７】
また、図示した各部の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各部の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、算出部１３２と受付部１３３とを統合してもよい。また、図示した各処理は、上記の順番に限定されるものでなく、処理内容を矛盾させない範囲において、同時に実施してもよく、順序を入れ替えて実施してもよい。
【００６８】
（適用例）
さて、これまで本発明の実施例について説明したが、本発明の実施例を情報処理装置１００に適用したときの具体的な適用例について説明する。
【００６９】
情報処理装置１００は、日本語または英語の一方から他方向に翻訳するときの辞書の作成に適用することもできる。具体的には、情報処理装置１００は、ある項目について記述された多言語の文章がそれぞれあるときに、その文章から対応する単語を辞書に登録することができる。
【００７０】
操作部１１２は、ある項目について日本語で記述された文章を取得する。同様に、操作部１１２は、ある項目について英語で記述された文章を取得する。このとき、制御部１３０は、日本語と英語との文章が、同じ項目について記述された文章であるか否かを判定してもよい。具体的には、制御部１３０は、ＵＲＬの一致割合やタイトルから判定する。例えば、「レストランに関する記事」を用いて説明する。日本語の当該記事に含まれる「サボン」という文字列と英語の記事に含まれる「sabon」という文字列とが、対応する固有名詞として特定できる。なお、本記事では、がんもどきを提供するお店が紹介されている。そして、当該文章の中では、「サボン」および「sabon」はお勧めのお店の名称としてそれぞれ紹介されている。なお、多言語の文章は、ウェブコンテンツに限らず、特許に関する文章等であってもよい。
【００７１】
制御部１３０は、同じ項目について記述された文章の中からユーザにより対応する単語として特定されたときは、英語の単語と、日本語の単語とを対応づけて辞書に登録する。そして、制御部１３０は、新たな文章が入力されたときは、辞書に登録された情報に基づいて、新たな文章を翻訳する。具体的には、制御部１３０は、「サボン」を含む文章を入力されたときに、「sabon」と翻訳することができる。
【００７２】
これにより、固有名詞等についても容易に記憶部に登録することができ、翻訳の精度が向上する。また、日本語と英語で称呼が異なっていても、対応する単語として特定できる。
【００７３】
さらに、各装置で行われる各種処理機能は、ＣＰＵ（またはＭＰＵ、ＭＣＵ（Micro  Controller  Unit）等のマイクロ・コンピュータ）上で、その全部または任意の一部を実行するようにしてもよい。また、各種処理機能は、ＣＰＵ（またはＭＰＵ、ＭＣＵ等のマイクロ・コンピュータ）で解析実行されるプログラム上、またはワイヤードロジックによるハードウェア上で、その全部または任意の一部を実行するようにしてもよいことは言うまでもない。
【００７４】
ところで、上記の各実施例で説明した各種の処理は、予め用意されたプログラムをコンピュータで実行することで実現できる。そこで、以下では、上記の各実施例と同様の機能を有するプログラムを実行するコンピュータの一例を説明する。図１４は、未知語抽出プログラムを実行するコンピュータの一例を示す図である。
【００７５】
図１４に示すように、コンピュータ２００は、各種演算処理を実行するＣＰＵ２０１と、データ入力を受け付ける入力装置２０２と、モニタ２０３とを有する。また、コンピュータ２００は、記憶媒体からプログラム等を読み取る媒体読取装置２０４と、各種装置と接続するためのインタフェース装置２０５と、他の情報処理装置等と有線または無線により接続するための通信装置２０６とを有する。また、コンピュータ２００は、各種情報を一時記憶するＲＡＭ２０７と、ハードディスク装置２０８とを有する。また、各装置２０１〜２０８は、バス２０９に接続される。
【００７６】
ハードディスク装置２０８には、図１に示した抽出部１３１、算出部１３２、受付部１３３および出力制御部１３４の各処理部と同様の機能を有する未知語抽出プログラムが記憶される。また、ハードディスク装置２０８には、形態素辞書１２１、および、未知語抽出プログラムを実現するための各種データが記憶される。入力装置２０２は、例えば、コンピュータ２００のユーザから操作情報等の各種情報の入力を受け付ける。モニタ２０３は、例えば、コンピュータ２００のユーザに対して表示画面等の各種画面を表示する。インタフェース装置２０５は、例えば印刷装置等が接続される。通信装置２０６は、例えば、図１に示した通信部１１０と同様の機能を有し図示しないネットワークと接続され、他の情報処理装置と各種情報をやりとりする。
【００７７】
ＣＰＵ２０１は、ハードディスク装置２０８に記憶された各プログラムを読み出して、ＲＡＭ２０７に展開して実行することで、各種の処理を行う。また、これらのプログラムは、コンピュータ２００を図１に示した抽出部１３１、算出部１３２、受付部１３３および出力制御部１３４として機能させることができる。
【００７８】
なお、上記の未知語抽出プログラムは、必ずしもハードディスク装置２０８に記憶されている必要はない。例えば、コンピュータ２００が読み取り可能な記憶媒体に記憶されたプログラムを、コンピュータ２００が読み出して実行するようにしてもよい。コンピュータ２００が読み取り可能な記憶媒体は、例えば、ＣＤ−ＲＯＭやＤＶＤ（Digital  Versatile  Disc）、ＵＳＢ（Universal  Serial  Bus）メモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリ、ハードディスクドライブ等が対応する。また、公衆回線、インターネット、ＬＡＮ等に接続された装置にこの未知語抽出プログラムを記憶させておき、コンピュータ２００がこれらから未知語抽出プログラムを読み出して実行するようにしてもよい。
【符号の説明】
【００７９】
１００  情報処理装置
１１０  通信部
１１１  表示部
１１２  操作部
１２０  記憶部
１２１  形態素辞書
１３０  制御部
１３１  抽出部
１３２  算出部
１３３  受付部
１３４  出力制御部
【図１】
2020087212.tif 000003
【図２】
2020087212.tif 000004
【図３】
2020087212.tif 000005
【図４】
2020087212.tif 000006
【図５】
2020087212.tif 000007
【図６】
2020087212.tif 000008
【図７】
2020087212.tif 000009
【図８】
2020087212.tif 000010
【図９】
2020087212.tif 000011
【図１０】
2020087212.tif 000012
【図１１】
2020087212.tif 000013
【図１２】
2020087212.tif 000014
【図１３】
2020087212.tif 000015
【図１４】
2020087212.tif 000016
【図１５】
2020087212.tif 000017