JP2007316916A - 形態素解析装置、形態素解析方法及び形態素解析プログラム - Google Patents
形態素解析装置、形態素解析方法及び形態素解析プログラム Download PDFInfo
- Publication number
- JP2007316916A JP2007316916A JP2006145395A JP2006145395A JP2007316916A JP 2007316916 A JP2007316916 A JP 2007316916A JP 2006145395 A JP2006145395 A JP 2006145395A JP 2006145395 A JP2006145395 A JP 2006145395A JP 2007316916 A JP2007316916 A JP 2007316916A
- Authority
- JP
- Japan
- Prior art keywords
- word
- string
- long sound
- hiragana
- long
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Machine Translation (AREA)
- Document Processing Apparatus (AREA)
Abstract
【課題】長音による変形表現が含まれた入力テキストに対し、高い精度で形態解析を行う。
【解決手段】入力テキストを解析して単語連鎖候補列を生成し、その少なくとも一部である文頭から文末までの選択単語連鎖列から、長音による変形表現と推定される平仮名・長音単語列を抽出する。次に、平仮名・長音単語列の信頼度を評価し、信頼度が低いと評価された平仮名・長音単語列を、長音を有しない無長音単語列に変換する。そして、無長音単語列を解析して無長音単語連鎖候補列を生成する。次に、無長音単語連鎖候補列の少なくとも一部の単語を、長音を含む単語に置換し、各単語の表記を接続した文字列が平仮名・長音単語列のものと同じとなる長音単語連鎖候補列を生成し、長音単語連鎖候補列を単語連鎖候補列にマージし、単語連鎖候補列を更新する。
【選択図】図3
【解決手段】入力テキストを解析して単語連鎖候補列を生成し、その少なくとも一部である文頭から文末までの選択単語連鎖列から、長音による変形表現と推定される平仮名・長音単語列を抽出する。次に、平仮名・長音単語列の信頼度を評価し、信頼度が低いと評価された平仮名・長音単語列を、長音を有しない無長音単語列に変換する。そして、無長音単語列を解析して無長音単語連鎖候補列を生成する。次に、無長音単語連鎖候補列の少なくとも一部の単語を、長音を含む単語に置換し、各単語の表記を接続した文字列が平仮名・長音単語列のものと同じとなる長音単語連鎖候補列を生成し、長音単語連鎖候補列を単語連鎖候補列にマージし、単語連鎖候補列を更新する。
【選択図】図3
Description
本発明は、自然言語処理技術に関し、特に、日本語テキストを単語分割し、品詞などの情報を付与する日本語形態素解析技術に関する。
従来の日本語形態素解析における単語認定では、通常、単語辞書と文法規則とを用い、解析対象の入力テキストから、入力テキストを構成し得る単語の列であって各単語の品詞が前後の単語の品詞と接続可能なものの候補を複数抽出する。そして、これらの各候補について、品詞連鎖及び単語に対する何らかのコスト計算を行い、最終的に1ベスト解又はnベスト解となる候補を、単語情報列として抽出する(例えば、非特許文献1,2参照)。なお、「1ベスト解」とは、コスト計算により最も高い評価結果が得られた候補を意味し、「nベスト解」とは、評価結果が上位n(n>1)番目までの候補を意味する。
吉村賢治他著、「文節数最小法を用いたべた書き日本語文の形態素解析」、情報処理学会論文誌、情報処理学会、1983年1月、Vol.24 No.1、p.40−46 久光徹他著、「接続コスト最小法による形態素解析の提案と計算量の評価について」、信学技報、電子情報通信学会、1990年、NLC90‐8、p.17−24
吉村賢治他著、「文節数最小法を用いたべた書き日本語文の形態素解析」、情報処理学会論文誌、情報処理学会、1983年1月、Vol.24 No.1、p.40−46 久光徹他著、「接続コスト最小法による形態素解析の提案と計算量の評価について」、信学技報、電子情報通信学会、1990年、NLC90‐8、p.17−24
しかしながら、従来の手法では、単語辞書に登録されていない単語は認定できない。そのため、長音による変形表現は、未知語(単語辞書に載っていない語)として認定されるか、単語辞書に登録されている語や未知語の組み合わせとして誤った認定がなされてしまう。例えば、「ゆっくりだよ」を変形した表現である「ゆっくーりだよ」や、「とてもきれい」を変形した表現である「とてもきれーい」や、「おかあさん」を変形した表現である「おかーさん」などは、以下に示すように正しく認定されない。
(1)単語が未知語であると認定される例:ゆっくーりだよ
ゆっくーり:未知語
だ:判定詞
よ:終助詞
(2)単語辞書の登録語の組み合わせとして誤認定される例:とてもきれーい
とても:副詞
きれ:名詞
ー:名詞接尾辞
い:動詞語幹
(3)単語辞書登録語と未知語の組み合わせとして誤認定される例:おかーさん
お:未知語
か:格助詞
ー:未知語
さん:名詞接尾辞
本発明は、上記の点に鑑みなされたものであり、長音による変形表現が含まれた入力テキストに対しても、高い精度で形態解析を行うことが可能な技術を提供することを目的とする。
(1)単語が未知語であると認定される例:ゆっくーりだよ
ゆっくーり:未知語
だ:判定詞
よ:終助詞
(2)単語辞書の登録語の組み合わせとして誤認定される例:とてもきれーい
とても:副詞
きれ:名詞
ー:名詞接尾辞
い:動詞語幹
(3)単語辞書登録語と未知語の組み合わせとして誤認定される例:おかーさん
お:未知語
か:格助詞
ー:未知語
さん:名詞接尾辞
本発明は、上記の点に鑑みなされたものであり、長音による変形表現が含まれた入力テキストに対しても、高い精度で形態解析を行うことが可能な技術を提供することを目的とする。
本発明では上記課題を解決するために、単語連鎖候補列生成部が、入力テキストを構成し得る接続可能な単語の列と、各単語の接続関係と、品詞と、コストとを関連つけた情報である単語連鎖候補列を生成し、平仮名・長音単語列抽出部が、単語連鎖候補列の少なくとも一部である文頭から文末までの選択単語連鎖列から、長音による変形表現と推定される平仮名・長音単語列を抽出する。次に、信頼度評価部が、平仮名・長音単語列の信頼度を評価し、無長音単語列変換部が、信頼度が低いと評価された平仮名・長音単語列を、長音を有しない無長音単語列に変換する。そして、無長音単語連鎖候補列生成部が、無長音単語列を構成し得る接続可能な単語の列と、各単語の接続関係と、品詞と、コストとを関連つけた情報である無長音単語連鎖候補列を生成する。さらに、長音単語連鎖候補列生成部が、無長音単語連鎖候補列の少なくとも一部の単語を、長音を含む単語に置換し、各単語の表記を接続した文字列が平仮名・長音単語列のものと同じとなる長音単語連鎖候補列を生成し、マージ部が、長音単語連鎖候補列を単語連鎖候補列にマージし、単語連鎖候補列を更新する。
ここで、本発明では、長音による変形表現と推定される平仮名・長音単語列の信頼度が低いと評価された場合に、その平仮名・長音単語列を、長音を有しない無長音単語列に変換してから解析を行い、その結果により得られた長音単語連鎖候補列を単語連鎖候補列にマージして単語連鎖候補列を更新する。長音を有しない無長音単語列は、単語辞書に存在する単語によって構成される可能性が高い。よって、無長音単語列の解析結果を用いて更新された単語連鎖候補列は、長音による変形表現に対する、より精度が高い解析情報を含む可能性が高い。そのため、このように更新された単語連鎖候補列から選択した1ベスト解やnベスト解は、長音による変形表現を高い精度で解析したものとなっている可能性が高い。
また、本発明において好ましくは、平仮名・長音単語列は、平仮名と長音のみからなる単語列(先頭の単語が平仮名)、及び、末尾文字が平仮名である単語が平仮名と長音のみからなる単語列(先頭の単語が長音)の直前に付加された単語列である。なお、「単語列」は、複数の単語から構成されるもののみを意味するのではなく、1個の単語から構成されるものをも含む。このような平仮名・長音単語列は、長音による変形表現である可能性が高い。
ここで好ましくは、平仮名・長音単語列抽出部は、単語列抽出部において、選択単語連鎖列から、平仮名のみからなる単語、長音のみからなる単語、及び、平仮名と長音のみからなる単語、のみから構成される単語列であって、その単語列の直前・直後がこれらの単語以外であるものを平仮名・長音単語列候補として抽出する。そして、第1除外判定部において、平仮名・長音単語列候補の先頭単語が長音から始まり、当該先頭単語の直前に単語が存在しない場合、及び、当該先頭単語の直前単語の末尾文字が平仮名以外である場合にのみ、平仮名・長音単語列候補の先頭単語を削除することにより平仮名・長音単語列候補を更新する。さらに、範囲補正部において、平仮名・長音単語列候補の先頭単語が長音から始まり、当該先頭単語の直前に末尾文字が平仮名の単語が存在する場合にのみ、当該末尾文字が平仮名の単語を、当該先頭単語の直前に追加することにより当該平仮名・長音単語列候補を更新する。その後、第2除外判定部において、第1除外判定部と範囲補正部との処理対象となった平仮名・長音単語列候補が長音を含む場合にのみ、当該平仮名・長音単語列候補を平仮名・長音単語列とする。このような方法により、比較的精度の高い平仮名・長音単語列を容易に生成できる。
また、本発明において好ましくは、信頼度評価部は、平仮名・長音単語列に未知語が含まれるか、長音のみからなる単語が存在する場合に、当該平仮名・長音単語列の信頼度が低いと判断する。ここで、未知語は単語辞書に存在しない単語である。また、長音のみからなる単語が平仮名・長音単語列に含まれるということは、本来その長音と連結して構成される単語が解析結果として得られていないということである。そのため、このような平仮名・長音単語列は信頼度が低いと推定できる。
また、本発明において好ましくは、単語連鎖候補列を用い、平仮名・長音単語列の先頭文字の直前の単語の品詞である前方接続可能品詞を抽出し、平仮名・長音単語列に関連付けてメモリに格納する。また、単語連鎖候補列を用い、平仮名・長音単語列の末尾文字の直後の単語の品詞である後方接続可能品詞を抽出し、平仮名・長音単語列に関連付けてメモリに格納する。そして、無長音単語連鎖候補列生成部は、無長音単語列に対応する平仮名・長音単語列に関連付けたれた前方接続可能品詞及び後方接続可能品詞をメモリから読み出し、少なくとも、無長音単語列の先頭単語に接続可能な単語の品詞は前方接続可能品詞のみであり、無長音単語列の末尾文字に接続可能な単語の品詞は後方接続可能品詞のみであるという条件のもと、無長音単語列を解析し、無長音単語連鎖候補列を生成する。
これにより、平仮名・長音単語列から変換された無長音単語列の解析を、平仮名・長音単語列における前後の品詞連接を保ちつつ行うことになる。本発明は、平仮名・長音単語列を一旦無長音単語列に変形してから解析を行うが、本来解析すべき対象は平仮名・長音単語列である。このように平仮名・長音単語列における前後の品詞連接を保ちつつ無長音単語列の解析を行うことにより、本来解析すべき平仮名・長音単語列にとってふさわしい解析結果を得ることができる。
また、本発明においてより好ましくは、無長音単語連鎖候補列生成部は、少なくとも、生成する無長音単語連鎖候補列は品詞が未知である単語を含まないという条件のもと、無長音単語列を解析し、無長音単語連鎖候補列を生成する。これにより、再び信頼度が低い解析結果が算出されてしまうことを防止できる。
また、本発明においてより好ましくは、無長音単語列は、平仮名・長音単語列の文字列から長音を削除した長音削除平仮名列、及び、平仮名・長音単語列の文字列の長音を平仮名に置換した長音置換平仮名列の少なくとも一方である。ここで、長音による変形表現の本来の表現(単語辞書に存在する表現)は、長音削除平仮名列又は長音置換平仮名列である可能性が高い。よって、このような無長音単語列を解析することにより、長音による変形表現に対応した解析結果を精度良く得られる可能性が高い。
また、本発明においてより好ましくは、長音単語連鎖候補列を単語連鎖候補列にマージする前に、長音単語連鎖候補列の長音を有する単語に関連するコストを、低い評価を示す値に調整するコスト調整部を有する。ここで、長音単語連鎖候補列は、平仮名・長音単語列を一旦無長音単語列に変換し、その無長音単語列を解析して得られた解析結果を用いて生成される。このように長音単語連鎖候補列は、平仮名・長音単語列そのものの解析結果ではなく、無長音単語列の解析結果に長音の付加や置換をして生成されたものである。よって、無長音単語列の解析結果から得られるコストをそのまま長音単語連鎖候補列のコストとすることは妥当でなく、長音を有する単語に関連するコストを低い評価のものに調整することが好ましい。
本発明では、長音による変形表現が含まれた入力テキストに対しても、高い精度で形態解析を行うことができる。
以下、本発明を実施するための最良の形態を図面を参照して説明する。
<ハードウェア構成>
図1は、本形態における形態素解析装置10のハードウェア構成を例示したブロック図である。
図1に例示するように、この例の形態素解析装置10は、CPU(Central Processing Unit)11、入力部12、出力部13、補助記憶装置14、ROM(Read Only Memory)15、RAM(Random Access Memory)16及びバス17を有している。
<ハードウェア構成>
図1は、本形態における形態素解析装置10のハードウェア構成を例示したブロック図である。
図1に例示するように、この例の形態素解析装置10は、CPU(Central Processing Unit)11、入力部12、出力部13、補助記憶装置14、ROM(Read Only Memory)15、RAM(Random Access Memory)16及びバス17を有している。
この例のCPU11は、制御部11a、演算部11b及びレジスタ11cを有し、レジスタ11cに読み込まれた各種プログラムに従って様々な演算処理を実行する。また、この例の入力部12は、データが入力される入力ポート、キーボード、マウス等であり、出力部13は、データを出力する出力ポート、ディスプレイ等である。補助記憶装置14は、例えば、ハードディスク、MO(Magneto-Optical disc)、半導体メモリ等であり、本形態のプライバシ保護検査処理を実行するためのプログラムを格納したプログラム領域14a及びタグ出力情報等の各種データが格納されるデータ領域14bを有している。また、RAM16は、例えば、SRAM (Static Random Access Memory)、DRAM (Dynamic Random Access Memory)等であり、のプログラムが書き込まれるプログラム領域16a及び各種データが書き込まれるデータ領域16bを有している。また、この例のバス17は、CPU11、入力部12、出力部13、補助記憶装置14、ROM15及びRAM16を、データのやり取りが可能なように接続する。
<ハードウェアとソフトウェアとの協働>
この例のCPU11は、読み込まれたOS(Operating System)プログラムに従い、補助記憶装置14のプログラム領域14aに格納されているプログラムを、RAM16のプログラム領域16aに書き込む。同様にCPU11は、補助記憶装置14のデータ領域14bに格納されている各種データをRAM16のデータ領域16bに書き込む。さらに、CPU11は、当該プログラムや各種データが書き込まれたRAM16上のアドレスをレジスタ11cに格納する。そして、CPU11の制御部11aは、レジスタ11cに格納されたこれらのアドレスを順次読み出し、読み出したアドレスが示すRAM16上の領域からプログラムやデータを読み出し、そのプログラムが示す演算を演算部11bに順次実行させ、その演算結果をレジスタ11cに格納していく。
この例のCPU11は、読み込まれたOS(Operating System)プログラムに従い、補助記憶装置14のプログラム領域14aに格納されているプログラムを、RAM16のプログラム領域16aに書き込む。同様にCPU11は、補助記憶装置14のデータ領域14bに格納されている各種データをRAM16のデータ領域16bに書き込む。さらに、CPU11は、当該プログラムや各種データが書き込まれたRAM16上のアドレスをレジスタ11cに格納する。そして、CPU11の制御部11aは、レジスタ11cに格納されたこれらのアドレスを順次読み出し、読み出したアドレスが示すRAM16上の領域からプログラムやデータを読み出し、そのプログラムが示す演算を演算部11bに順次実行させ、その演算結果をレジスタ11cに格納していく。
図2は、このようにCPU11にプログラムが読み込まれることにより構成される形態素解析装置10のブロック図の例示である。なお、図2における矢印はデータの流れを示すが、制御部10n及び一時メモリ10pに入出力されるデータの流れは記載していない。
図2に示すように、本形態の形態素解析装置10は、メモリ10aと、単語連鎖候補列生成部10bと、単語情報列選択部10cと、平仮名・長音単語列抽出部10dと、信頼度評価部10eと、前方接続可能品詞抽出部10fと、後方接続可能品詞抽出部10gと、無長音単語列変換部10hと、無長音単語連鎖候補列生成部10iと、長音単語連鎖候補列生成部10jと、コスト調整部10kと、マージ部10mと、制御部10nと、一時メモリ10pとを有している。ここで、平仮名・長音単語列抽出部10dは、単語列抽出部10daと、第1除外判定部10dbと、範囲補正部10dcと、第2除外判定部10ddとを有している。また、無長音単語列変換部10hは、長音削除平仮名列生成部10haと、長音置換平仮名列生成部10hbとを有している。また、メモリ10aや一時メモリ10pには各種のデータが格納されるが、これらのデータについては後述する。
なお、メモリ10a及び一時メモリ10pは、例えば、図1に記載したレジスタ11c、補助記憶装置14、RAM16、或いはこれらを結合した記憶領域に相当する。また、単語連鎖候補列生成部10bと、単語情報列選択部10cと、平仮名・長音単語列抽出部10dと、信頼度評価部10eと、前方接続可能品詞抽出部10fと、後方接続可能品詞抽出部10gと、無長音単語列変換部10hと、無長音単語連鎖候補列生成部10iと、長音単語連鎖候補列生成部10jと、コスト調整部10kと、マージ部10mと、制御部10nとは、それぞれ、各処置を行うためのプログラムがCPU11に読み込まれることにより構成されるものである。また、形態素解析装置10は、制御部10nの制御のもと各処理を実行する。
<処理>
次に、本形態の形態素解析装置10の処理を説明する。
図3は、本形態における形態素解析装置10の処理の全体を説明するためのフローチャートである。また、図4は、図3のステップS4の処理を説明するためのフローチャートであり、図5は、図3のステップS9の処理を説明するためのフローチャートであり、図6は、図3のステップS10の処理を説明するためのフローチャートである。以下、図2とこれらのフローチャートとを用い、形態素解析装置10の処理を説明していく。
次に、本形態の形態素解析装置10の処理を説明する。
図3は、本形態における形態素解析装置10の処理の全体を説明するためのフローチャートである。また、図4は、図3のステップS4の処理を説明するためのフローチャートであり、図5は、図3のステップS9の処理を説明するためのフローチャートであり、図6は、図3のステップS10の処理を説明するためのフローチャートである。以下、図2とこれらのフローチャートとを用い、形態素解析装置10の処理を説明していく。
[前処理]
まず、前処理において、単語辞書10aaと文法規則10abと長音文字置換表10ajとがメモリ10a格納される。ここで、単語辞書10aaと文法規則10abは、α-Tagger(登録商標)や、Rosette形態素解析システムや、ConceptBase(登録商標)Search等の公知の形態素解析エンジンに用いられるものを利用すればよい。
まず、前処理において、単語辞書10aaと文法規則10abと長音文字置換表10ajとがメモリ10a格納される。ここで、単語辞書10aaと文法規則10abは、α-Tagger(登録商標)や、Rosette形態素解析システムや、ConceptBase(登録商標)Search等の公知の形態素解析エンジンに用いられるものを利用すればよい。
一方、長音文字置換表10ajは、本形態独自のものであり、長音による変形表現の長音部分を平仮名に置き換え、長音による変形表現を単語辞書に登録された表現に変換するための対応テーブルである。図7は、この長音文字置換表10ajの一例を説明するための概念図である。図7に例示する長音文字置換表10ajは、単語が有する「長音直前文字の段(母音)」を示すカラムと、当該長音を置換する平仮名である「長音置換文字」を示すカラムとを関連付けたデーブルである。図7の例では、「長音直前文字の段」として、「あ段」「い段」「う段」「え段」「お段」が設定され、それぞれに対応する「長音置換文字」として「あ」「い」「う」「い」「う」が対応付けられている。そして、図7の例の長音文字置換表10ajを用いた長音の置換により、「長音による変形表現」から「単語辞書に登録された表現」への変更が可能となる。例えば、「おかーさん」を「おかあさん」に、「いーよ」を「いいよ」に、「すーじ」を「すうじ」に、「てーど」を「ていど」に、「そーかな」を「そうかな」に変更できる。
[形態解析処理]
まず、解析対象である入力テキスト10acがメモリ10aに格納される。この入力テキスト10acは、リアルタイムで入力部12から入力されるものであってもよいし、ハードディスク等の他の記憶装置に格納されたものであってもよい。
まず、解析対象である入力テキスト10acがメモリ10aに格納される。この入力テキスト10acは、リアルタイムで入力部12から入力されるものであってもよいし、ハードディスク等の他の記憶装置に格納されたものであってもよい。
次に、単語連鎖候補列生成部10bが、メモリ10aの単語辞書10aa及び文法規則10abを用い、公知の形態素解析アルゴリズム(上述のα-Tagger(登録商標)等のアルゴリズム)に従い、メモリ10aから読み出した入力テキスト10acの形態素解析を文単位で行う。すなわち、単語連鎖候補列生成部10bは、入力テキスト10acから切り出した単語の品詞を、単語辞書10aaを用いて抽出し、文法的に接続可能な品詞を、文法規則10abを用いて抽出し、入力テキスト10acの形態素解析結果である単語連鎖候補列10adを生成する。なお、単語連鎖候補列10adは、1つの文に対し、複数パターン生成され得る。また、本形態の単語連鎖候補列10adは、入力テキスト10acを構成し得る接続可能な単語の列と、各単語の接続(連鎖)関係と、品詞と、コストとを関連つけた情報である。生成された単語連鎖候補列10adは、メモリ10aに格納される(ステップS1)。
次に、単語情報列選択部10cが、メモリ10aから単語連鎖候補列10adを読み込み、それらの少なくとも一部である文頭から文末までの選択単語連鎖列10afを選択する。具体的には、単語情報列選択部10cは、例えば、単語連鎖候補列10adを入力とし、予め規定されたコスト計算(例えば既存の文節数最小法やコスト最小法等、どのようなものを用いてもよい)に基づき、当該単語連鎖候補列10adから選択単語連鎖列10afを選択する。より具体的には、単語情報列選択部10cは、例えば、優先順位の最も高い、単語連鎖候補列10adに属する文頭から文末までの単語連鎖(1ベスト解)を、選択単語連鎖列10afとして選択してもよいし、指定された数(n個)だけ、優先順位順に選択された、複数の文頭から文末までの単語連鎖(nベスト解)を選択単語連鎖列10afとしてもよい。以上のように選択された選択単語連鎖列10afは、メモリ10aに格納される(ステップS2)。なお、単語連鎖候補列10adから、優先順位が高いものを選択単語連鎖列10afとして選択することにより、以降の処理を効率的に実行できるが、単語連鎖候補列10adをそのまま選択単語連鎖列10afとすることも可能である。この場合、ステップS2の処理は行っても行わなくてもよい。
これ以降、選択単語連鎖列10afの探索処理を通じ、選択単語連鎖列10afが更新される(ステップS4からS12)。そのために、まず、制御部10nが、選択単語連鎖列10afの探索開始位置を設定し、その情報を一時メモリ10pに格納する(ステップS3)。この探索処理は、選択単語連鎖列10afの文頭から文末に向かって行われてもよいし、逆に、文末から文頭に向かって行われてもよい。そして、探索処理が文頭から文末に向かって行われる場合には、選択単語連鎖列10afの文頭が探索開始位置として選択され、探索処理が文末から文頭に向かって行われる場合には、選択単語連鎖列10afの文末が探索開始位置として選択される。以下では、探索処理を文頭から文末に向かって行い、選択単語連鎖列10afの文頭を探索開始位置とする場合を例にとって説明する。
まず、平仮名・長音単語列抽出部10dが、メモリ10aから読み込んだ選択単語連鎖列10afを文頭から文末に向かって探索し、「長音による変形表現」と推定される平仮名・長音単語列10agを抽出する(ステップS4)。
[ステップS4の詳細]
ここで、図4に従い、本形態のステップS4の詳細を説明する。
まず、平仮名・長音単語列抽出部10dの単語列抽出部10daが、一時メモリ10pから探索開始位置の情報を読み込み、メモリ10aから選択単語連鎖列10afを読み込む。そして、単語列抽出部10daは、選択単語連鎖列10afの探索開始位置の単語が、平仮名のみからなる単語(例:きれ)、長音のみからなる単語(例:ー)、又は、平仮名と長音のみからなる単語(例:ゆっくーり)であるか否かを判定する(ステップS40)。ここで、選択単語連鎖列10afの探索開始位置の単語が、これらの何れの単語でもなかった場合には、ステップS47に進む。一方、探索開始位置の単語が、これらの何れかの単語であった場合には、ステップS41に進む。
ここで、図4に従い、本形態のステップS4の詳細を説明する。
まず、平仮名・長音単語列抽出部10dの単語列抽出部10daが、一時メモリ10pから探索開始位置の情報を読み込み、メモリ10aから選択単語連鎖列10afを読み込む。そして、単語列抽出部10daは、選択単語連鎖列10afの探索開始位置の単語が、平仮名のみからなる単語(例:きれ)、長音のみからなる単語(例:ー)、又は、平仮名と長音のみからなる単語(例:ゆっくーり)であるか否かを判定する(ステップS40)。ここで、選択単語連鎖列10afの探索開始位置の単語が、これらの何れの単語でもなかった場合には、ステップS47に進む。一方、探索開始位置の単語が、これらの何れかの単語であった場合には、ステップS41に進む。
ステップS41では、単語列抽出部10daが、選択単語連鎖列10afを探索し、探索開始位置から始まる、平仮名のみからなる単語、長音のみからなる単語、及び、平仮名と長音のみからなる単語、のみから構成される単語列であって、その単語列の直後がこれらの単語以外であるものを平仮名・長音単語列候補として抽出し、一時メモリ10pに格納する(ステップS41)。
次に、第1除外判定部10dbが、一時メモリ10pから平仮名・長音単語列候を読み込み、当該平仮名・長音単語列候補の先頭単語が長音から始まるか否かを判定する(ステップS42)。ここで、平仮名・長音単語列候補の先頭単語が長音から始まる場合には、ステップS43に進み、そうでない場合には、ステップS46に移る。
ステップS43では、第1除外判定部10dbが、さらにメモリ10aから選択単語連鎖列10afを読み込み、これを参照して、平仮名・長音単語列候補の先頭単語の直前に単語が存在しない、又は、当該先頭単語の直前単語の末尾文字が平仮名以外であるか否かを判定する(ステップS43)。ここで、当該先頭単語の直前に単語が存在しない、又は、当該先頭単語の直前単語の末尾文字が平仮名以外である場合、ステップS44に移る。一方、当該先頭単語の直前に単語が存在し、かつ、当該先頭単語の直前単語の末尾文字が平仮名である場合、ステップS45に移る。
ステップS44では、第1除外判定部10dbが、平仮名・長音単語列候補の先頭単語を削除することにより平仮名・長音単語列候補を更新し、更新した平仮名・長音単語列候補を一時メモリ10pに格納する(ステップS44)。そして、ステップS46に移る。なお、更新前の平仮名・長音単語列候補が先頭単語の1単語のみからなるものであった場合、第1除外判定部10dbは、平仮名・長音単語列候補の文字列がnullである旨の情報を一時メモリ10pに格納する。
ステップS45では、まず、範囲補正部10dcが、メモリ10aから選択単語連鎖列10afを、一時メモリ10pから平仮名・長音単語列候補を、それぞれ読み込む。そして、範囲補正部10dcは、平仮名・長音単語列候補の先頭単語の直前単語を、選択単語連鎖列10afから抽出し、これを平仮名・長音単語列候補の先頭単語の直前に追加することにより当該平仮名・長音単語列候補を更新し、一時メモリ10pに格納する(ステップS45)。そして、ステップS46に移る。
ステップS46では、第2除外判定部10ddが、一時メモリ10pから平仮名・長音単語列候補を読み込み、当該平仮名・長音単語列候補が長音を含むか否かを判定する(ステップS46)。
ここで、平仮名・長音単語列候補が長音を含まない場合、制御部10nは、選択単語連鎖系列10afの全文字が、平仮名・長音単語列抽出部10dにおいて探索されたか否かを判定する(ステップS47)。ここで、選択単語連鎖系列10afの全文字が探索されていないと判定された場合、制御部10nは、探索開始位置を更新(この例では、探索済みの単語の直後単語を探索開始位置とする)し、更新後の探索開始位置を示す情報を一時メモリ10pに格納し、処理をステップS40に戻す(ステップS48)。一方、ステップS47において、選択単語連鎖系列10afの全文字が探索されたと判定された場合には、制御部10nは、ステップS4の処理を終了させる。
一方、ステップS46において、平仮名・長音単語列候補が長音を含むと判定された場合、第2除外判定部10ddは、当該平仮名・長音単語列候補を平仮名・長音単語列10agとしてメモリ10aに格納し、制御部10nは、ステップS4の処理を終了させる(ステップS49)。
以上の処理により、平仮名と長音のみからなる単語列(先頭の単語が平仮名)、及び、末尾文字が平仮名である単語が平仮名と長音のみからなる単語列(先頭の単語が長音)の直前に付加された単語列が平仮名・長音単語列10agとして抽出される。
例えば、「ディスプレイ/ー/きれ/ー」(「/」は単語の境界を表す)の場合、「ディスプレイ」は字種の条件を満たさないので平仮名・長音単語列候補として抽出されない(ステップS41)。次の単語列「ー/きれ/ー」は、平仮名・長音単語列候補として抽出されるが、その先頭単語は長音から始まり(ステップS42)、当該先頭単語の直前単語「ディスプレイ」の末尾文字が平仮名以外であるため(ステップS43)、平仮名・長音単語列候補「ー/きれ/ー」の先頭単語が削除され、平仮名・長音単語列候補は「きれ/ー」と更新される(ステップS44)。そして、更新された平仮名・長音単語列候補は「きれ/ー」は、長音を含むので(ステップS46)、平仮名・長音単語列は「きれ/ー」となる(ステップS49)。
また、「きれい/な/湖」は、「きれい」と「な」の2語が字種の条件を満たすため「きれい/な」が平仮名・長音単語列候補として抽出されるが(ステップS41)、長音を全く含まないので平仮名・長音単語列とはならない(ステップS42,S46)。
「頑張れ/ー」は、字種の条件により、まず「ー」が平仮名・長音単語列候補として抽出される(ステップS41)。次に、この平仮名・長音単語列候補「ー」の先頭単語は長音であり(ステップS42)、その直前単語「頑張れ」の末尾文字「れ」が平仮名であるため(ステップS44)、「頑張れ」がこの平仮名・長音単語列候補「ー」の直前に追加され平仮名・長音単語列候補が「頑張れ/ー」と更新される(ステップS45)。そして、平仮名・長音単語列候補「頑張れ/ー」は、長音を含むため(ステップS46)、この平仮名・長音単語列候補「頑張れ/ー」は平仮名・長音単語列「頑張れ/ー」となる(ステップS49/[ステップS4の詳細]の説明終わり)。
次に、制御部10nは、メモリ10aを参照し、上述のステップS4で平仮名・長音単語列が作成されたか否かを判定する(ステップS5)。ステップS4で平仮名・長音単語列が作成されていた場合には、ステップS6に移る。一方、ステップS4で平仮名・長音単語列が作成されていなかった場合には、選択単語連鎖列10afの文末まで探索が終了しているので、ステップS13に移る。
ステップS6では、信頼度評価部10eが、メモリ10aから平仮名・長音単語列10agを読み込み、その信頼度判定を行う(ステップS6)。信頼度評価部10eは、平仮名・長音単語列10agが、以下のいずれかの条件を満たす場合には、その信頼度が低く(信頼度=低)、それ以外の場合には信頼度が高い(信頼度=高)と判定する。
・平仮名・長音単語列10agが未知語を含む。
・長音1文字からなる単語が平仮名・長音単語列10ag中に存在する。
例えば、上述した平仮名・長音単語列「頑張れ/ー」や「きれ/ー」は、「信頼度=低」と判定される。
このステップS6の信頼度判定において、「信頼度=低」と判定された場合には、ステップS8に移り、「信頼度=高」と判定された場合には、ステップS11に移る(ステップS7)。
・平仮名・長音単語列10agが未知語を含む。
・長音1文字からなる単語が平仮名・長音単語列10ag中に存在する。
例えば、上述した平仮名・長音単語列「頑張れ/ー」や「きれ/ー」は、「信頼度=低」と判定される。
このステップS6の信頼度判定において、「信頼度=低」と判定された場合には、ステップS8に移り、「信頼度=高」と判定された場合には、ステップS11に移る(ステップS7)。
ステップS8では、平仮名・長音単語列10agへの接続可能品詞の抽出を行う。すなわち、前方接続可能品詞抽出部10fが、メモリ10aから単語連鎖候補列10adと平仮名・長音単語列10agとを読み込み、単語連鎖候補列10adを用い、平仮名・長音単語列10agの先頭文字の直前の単語の品詞である前方接続可能品詞10ahを抽出し、平仮名・長音単語列10agに関連付けてメモリ10aに格納する。また、後方接続可能品詞抽出部10gが、メモリ10aから単語連鎖候補列10adと平仮名・長音単語列10agとを読み込み、単語連鎖候補列10adを用い、平仮名・長音単語列10agの末尾文字の直後の単語の品詞である後方接続可能品詞10aiを抽出し、平仮名・長音単語列10agに関連付けてメモリ10aに格納する(ステップS8)。その後、ステップS9に移る。
ステップS9では、平仮名・長音単語列10agの文字列から長音を削除した長音削除平仮名列10akに対する単語連鎖生成処理を行う。
ステップS9では、平仮名・長音単語列10agの文字列から長音を削除した長音削除平仮名列10akに対する単語連鎖生成処理を行う。
[ステップS9の処理]
ステップS9の処理の詳細を、図5を用いて詳細に説明する。
まず、無長音単語列変換部10hの長音削除平仮名列生成部10haが、長音削除平仮名列10akの作成と長音位置の保存とを行う。すなわち、長音削除平仮名列生成部10haが、メモリ10aから平仮名・長音単語列10agを読み込み、その表記をつなげた文字列を作成し、その文字列の中の長音をすべて削除した長音削除平仮名列10akを作成し、これをメモリ10aに格納する。また、長音削除平仮名列生成部10haは、長音削除平仮名列10akの作成時に、平仮名・長音単語列10agから削除された長音の文字位置の情報を、一時メモリ10pに格納する(ステップS91)。なお、長音削除平仮名列10akは、「長音を有しない無長音単語列」に相当する。その後、ステップS92に移る。
ステップS9の処理の詳細を、図5を用いて詳細に説明する。
まず、無長音単語列変換部10hの長音削除平仮名列生成部10haが、長音削除平仮名列10akの作成と長音位置の保存とを行う。すなわち、長音削除平仮名列生成部10haが、メモリ10aから平仮名・長音単語列10agを読み込み、その表記をつなげた文字列を作成し、その文字列の中の長音をすべて削除した長音削除平仮名列10akを作成し、これをメモリ10aに格納する。また、長音削除平仮名列生成部10haは、長音削除平仮名列10akの作成時に、平仮名・長音単語列10agから削除された長音の文字位置の情報を、一時メモリ10pに格納する(ステップS91)。なお、長音削除平仮名列10akは、「長音を有しない無長音単語列」に相当する。その後、ステップS92に移る。
ステップS92では、無長音単語連鎖候補列生成部10iが、メモリ10aから長音削除平仮名列10akと、当該長音削除平仮名列10akに対応する平仮名・長音単語列10agに関連付けたれた前方接続可能品詞10ah及び後方接続可能品詞10aiと、単語辞書10aaと、文法規則10abとを読み込む。そして、無長音単語連鎖候補列生成部10iは、この 長音削除平仮名列10akを対象に、前方接続可能品詞10ahと
後方接続可能品詞10aiと単語辞書10aaと文法規則10abとを用い、前後品詞制約つき・未知語なし単語連鎖生成処理を行い、長音削除平仮名列10akを構成し得る接続可能な単語の列と、各単語の接続関係と、品詞と、コストとを関連つけた情報である無長音単語連鎖候補列10anを生成する(ステップS92)。この前後品詞制約つき・未知語なし単語連鎖生成処理は、公知の形態素解析アルゴリズム(上述のα-Tagger(登録商標)等のアルゴリズム)の処理に、前方接続可能品詞10ahと後方接続可能品詞10aiとによる、以下のような制約を加えたものである。
・長音削除平仮名列10akの先頭単語に接続可能な品詞は、前方接続可能品詞10ahのみとする(制約1−1)。
・長音削除平仮名列10akの末尾単語と接続可能な品詞は、後方接続可能品詞10aiのみとする(制約1−2)。
・無長音単語連鎖候補列10anの中に、未知語を生成することは認めない(制約1−3)。
後方接続可能品詞10aiと単語辞書10aaと文法規則10abとを用い、前後品詞制約つき・未知語なし単語連鎖生成処理を行い、長音削除平仮名列10akを構成し得る接続可能な単語の列と、各単語の接続関係と、品詞と、コストとを関連つけた情報である無長音単語連鎖候補列10anを生成する(ステップS92)。この前後品詞制約つき・未知語なし単語連鎖生成処理は、公知の形態素解析アルゴリズム(上述のα-Tagger(登録商標)等のアルゴリズム)の処理に、前方接続可能品詞10ahと後方接続可能品詞10aiとによる、以下のような制約を加えたものである。
・長音削除平仮名列10akの先頭単語に接続可能な品詞は、前方接続可能品詞10ahのみとする(制約1−1)。
・長音削除平仮名列10akの末尾単語と接続可能な品詞は、後方接続可能品詞10aiのみとする(制約1−2)。
・無長音単語連鎖候補列10anの中に、未知語を生成することは認めない(制約1−3)。
なお、これらの制約により、長音削除平仮名列10akに対する無長音単語連鎖候補列10anが生成できない場合もあり得る。ステップS92で無長音単語連鎖候補列10anが生成されなかった場合には、制御部10nは、ステップS9の処理を終了させる。一方、ステップS92で無長音単語連鎖候補列10anが生成された場合には、それをメモリ10aに格納し、次のステップS94に移る(ステップS93)。
ステップS94では、長音単語連鎖候補列生成部10jが、メモリ10aから、ステップS92で生成された無長音単語連鎖候補列10anを読み込み、一時メモリ10pから、ステップS91で格納された長音の文字位置の情報を読み込む。そして、長音単語連鎖候補列生成部10jは、無長音単語連鎖候補列10anの少なくとも一部の単語を、長音を含む単語に置換することによって長音を追加し(例えば、「頑張れ」を「頑張れー」と置換することによって長音を追加し)、各単語の表記を接続した文字列が平仮名・長音単語列10agのものと同じとなる長音単語連鎖候補列10aqを生成する(その他、単語情報として、表記長など、表記・読みに関する情報をもっている場合にはあわせて更新してもよい)。また、この際、コスト調整部10kが、長音単語連鎖候補列10aqの長音を有する単語に関連するコスト(コスト計算で利用されるコスト値)を、低い評価を示す値に調整する。具体的には、例えば、また、長音を追加した単語に対し、単語コストと品詞接続コストとを予め決められた値だけ増やす。その後、長音単語連鎖候補列10aqをメモリ10aに格納し、ステップS95に移る。
ステップS95では、マージ部10mが、メモリ10aから長音単語連鎖候補列10aqと単語連鎖候補列10adとを読み込み、長音単語連鎖候補列10aqを単語連鎖候補列10adにマージし、単語連鎖候補列10adを更新する(ステップS95)。その後、更新された単語連鎖候補列10adは、メモリ10aに格納され、ステップS91の処理が終了する([ステップS9の処理]の詳細の説明終わり)。
その後、図3に示すステップS10に移る。
ステップS10では、平仮名・長音単語列10agの文字列の長音を平仮名に置換した長音置換平仮名列10amに対する単語連鎖生成処理を行う。
その後、図3に示すステップS10に移る。
ステップS10では、平仮名・長音単語列10agの文字列の長音を平仮名に置換した長音置換平仮名列10amに対する単語連鎖生成処理を行う。
[ステップS10の処理]
ステップS10の処理の詳細を、図6を用いて詳細に説明する。
まず、無長音単語列変換部10hの長音置換平仮名列生成部10hbが、長音置換平仮名列10amの作成と長音位置の保存とを行う。すなわち、長音置換平仮名列生成部10hbが、メモリ10aから平仮名・長音単語列10agを読み込み、その表記をつなげた文字列を作成し、メモリ10aの長音文字置換表10aj(例えば図7)を参照し、その文字列の中の長音を平仮名に置換した長音置換平仮名列10amを作成し、これをメモリ10aに格納する。また、長音置換平仮名列生成部10hbは、長音置換平仮名列10amの作成時に、平仮名・長音単語列10agから置換された長音の文字位置の情報を、一時メモリ10pに格納する(ステップS101)。なお、長音置換平仮名列10amは、「長音を有しない無長音単語列」に相当する。その後、ステップS102に移る。
ステップS10の処理の詳細を、図6を用いて詳細に説明する。
まず、無長音単語列変換部10hの長音置換平仮名列生成部10hbが、長音置換平仮名列10amの作成と長音位置の保存とを行う。すなわち、長音置換平仮名列生成部10hbが、メモリ10aから平仮名・長音単語列10agを読み込み、その表記をつなげた文字列を作成し、メモリ10aの長音文字置換表10aj(例えば図7)を参照し、その文字列の中の長音を平仮名に置換した長音置換平仮名列10amを作成し、これをメモリ10aに格納する。また、長音置換平仮名列生成部10hbは、長音置換平仮名列10amの作成時に、平仮名・長音単語列10agから置換された長音の文字位置の情報を、一時メモリ10pに格納する(ステップS101)。なお、長音置換平仮名列10amは、「長音を有しない無長音単語列」に相当する。その後、ステップS102に移る。
ステップS102では、無長音単語連鎖候補列生成部10iが、メモリ10aから長音置換平仮名列10amと、当該長音置換平仮名列10amに対応する平仮名・長音単語列10agに関連付けたれた前方接続可能品詞10ah及び後方接続可能品詞10aiと、単語辞書10aaと、文法規則10abとを読み込む。そして、無長音単語連鎖候補列生成部10iは、この 長音置換平仮名列10amを対象に、前方接続可能品詞10ahと
後方接続可能品詞10aiと単語辞書10aaと文法規則10abとを用い、前後品詞制約つき・未知語なし単語連鎖生成処理を行い、長音置換平仮名列10amを構成し得る接続可能な単語の列と、各単語の接続関係と、品詞と、コストとを関連つけた情報である無長音単語連鎖候補列10apを生成する(ステップS102)。この前後品詞制約つき・未知語なし単語連鎖生成処理は、ステップS92と同様、公知の形態素解析アルゴリズム(上述のα-Tagger(登録商標)等のアルゴリズム)の処理に、前方接続可能品詞10ahと後方接続可能品詞10aiとによる、以下のような制約を加えたものである。
後方接続可能品詞10aiと単語辞書10aaと文法規則10abとを用い、前後品詞制約つき・未知語なし単語連鎖生成処理を行い、長音置換平仮名列10amを構成し得る接続可能な単語の列と、各単語の接続関係と、品詞と、コストとを関連つけた情報である無長音単語連鎖候補列10apを生成する(ステップS102)。この前後品詞制約つき・未知語なし単語連鎖生成処理は、ステップS92と同様、公知の形態素解析アルゴリズム(上述のα-Tagger(登録商標)等のアルゴリズム)の処理に、前方接続可能品詞10ahと後方接続可能品詞10aiとによる、以下のような制約を加えたものである。
・長音置換平仮名列10amの先頭単語に接続可能な品詞は、前方接続可能品詞10ahのみとする(制約2−1)。
・長音置換平仮名列10amの末尾単語と接続可能な品詞は、後方接続可能品詞10aiのみとする(制約2−2)。
・無長音単語連鎖候補列10apの中に、未知語を生成することは認めない(制約2−3)。
なお、これらの制約により、長音置換平仮名列10amに対する無長音単語連鎖候補列10apが生成できない場合もあり得る。
・長音置換平仮名列10amの末尾単語と接続可能な品詞は、後方接続可能品詞10aiのみとする(制約2−2)。
・無長音単語連鎖候補列10apの中に、未知語を生成することは認めない(制約2−3)。
なお、これらの制約により、長音置換平仮名列10amに対する無長音単語連鎖候補列10apが生成できない場合もあり得る。
ステップS102で無長音単語連鎖候補列10anが生成されなかった場合には、制御部10nは、ステップS10の処理を終了させる。一方、ステップS102で無長音単語連鎖候補列10apが生成された場合には、それをメモリ10aに格納し、次のステップS104に移る(ステップS103)。
ステップS104では、長音単語連鎖候補列生成部10jが、メモリ10aから、ステップS102で生成された無長音単語連鎖候補列10apを読み込み、一時メモリ10pから、ステップS101で格納された長音の文字位置の情報を読み込む。そして、長音単語連鎖候補列生成部10jは、無長音単語連鎖候補列10apの少なくとも一部の単語を、長音を含む単語に置換し(例えば、「いいよ」を「いーよ」と置換し)、各単語の表記を接続した文字列が平仮名・長音単語列10agのものと同じとなる長音単語連鎖候補列10arを生成する(その他、単語情報として、表記長など、表記・読みに関する情報をもっている場合にはあわせて更新してもよい)。また、この際、コスト調整部10kが、長音単語連鎖候補列10arの長音を有する単語に関連するコストを、低い評価を示す値に調整する。具体的には、例えば、また、長音を置換した単語に対し、単語コストと品詞接続コストとを予め決められた値だけ増やす。その後、長音単語連鎖候補列10arをメモリ10aに格納し、ステップS105に移る。
ステップS105では、マージ部10mが、メモリ10aから長音単語連鎖候補列10arと単語連鎖候補列10adとを読み込み、長音単語連鎖候補列10arを単語連鎖候補列10adにマージし、単語連鎖候補列10adを更新する(ステップS105)。その後、更新された単語連鎖候補列10adは、メモリ10aに格納され、ステップS101の処理が終了する([ステップS10の処理]の詳細の説明終わり)。
次に、ステップS11に移る(図2)。ステップS11では、制御部10nが、平仮名・長音単語列10agの直後単語を探索開始位置に設定し、この探索開始位置の除法を一時メモリ10pに格納し、メモリ10aから、平仮名・長音単語列10ag、前方接続可能品詞10ah、後方接続可能品詞10ai、長音削除平仮名列10ak、長音置換平仮名列10am、無長音単語連鎖候補列10an,10ap、及び長音単語連鎖候補列10aq,10arをクリアして、ステップS12に移る。
ステップS12では、制御部10nが、一時メモリ10pを参照し、探索開始位置が文末であるかを判定する(ステップS12)。ここで、探索開始位置が文末でなければステップS4に移る。一方、探索開始位置が文末であればステップS13に移る。
ステップS13では、単語情報列選択部10cが、メモリ10aの単語連鎖候補列10adから単語情報列10aeを選択する。より具体的には、単語情報列選択部10cは、例えば、優先順位の最も高い、単語連鎖候補列10adに属する文頭から文末までの単語連鎖(1ベスト解)を、単語情報列10aeとして選択してもよいし、指定された数(n個)だけ、優先順位順に選択された、複数の文頭から文末までの単語連鎖(nベスト解)を単語情報列10aeとしてもよい。以上のように選択された単語情報列10aeは、メモリ10aに格納される(ステップS13)。
なお、上述の処理によって単語連鎖候補列10adが更新されなかった場合には、単語連鎖候補列10adをそのまま単語情報列10aeとしてもよい。ただし、単語連鎖候補列10adが1ベスト解である場合にnベスト解の単語情報列10aeが必要な場合には、ステップS2と同様な処理により、nベスト解である単語情報列10aeを求めてもよい。
以上のようにメモリ10aに格納された単語情報列10aeは、必要に応じて出力され、それ以降の処理に利用される。
以上のようにメモリ10aに格納された単語情報列10aeは、必要に応じて出力され、それ以降の処理に利用される。
図8から図10は、本形態の実施例を説明するための概念図である。以下、これらの図を用い、本形態の実施例を説明する。
この実施例では、単語情報列選択部10cのコスト計算に、単語コスト及び品詞連接コストによるコスト最小法を用いるものとする。また、ステップS94におけるコスト調整は、長音を追加した単語に対し、単語コストを単語辞書値+20とし、その前後の品詞連接コストをそれぞれ文法規則値+30とするものであるとする。また、ステップS104におけるコスト調整は、長音を置換した単語に対し、単語コストを単語辞書値+10とし、その前後の品詞連接コストをそれぞれ文法規則値+5とするものであるとする。また、最終的にステップS13で求める単語情報列10aeは、1ベスト解とする。
この実施例では、単語情報列選択部10cのコスト計算に、単語コスト及び品詞連接コストによるコスト最小法を用いるものとする。また、ステップS94におけるコスト調整は、長音を追加した単語に対し、単語コストを単語辞書値+20とし、その前後の品詞連接コストをそれぞれ文法規則値+30とするものであるとする。また、ステップS104におけるコスト調整は、長音を置換した単語に対し、単語コストを単語辞書値+10とし、その前後の品詞連接コストをそれぞれ文法規則値+5とするものであるとする。また、最終的にステップS13で求める単語情報列10aeは、1ベスト解とする。
まず、図8(a)に示すように、入力テキスト10acを、「おかーさんとお出かけ」とする。次に、単語連鎖候補列生成部10bにおいて、単語辞書10aa及び文法規則10abを用い、入力テキスト10acから、図8(b)に示す単語連鎖候補列10adを生成する(ステップS1)。なお、単語連鎖候補列10adのデータ構成は、例えば、以下のようになる。この例の単語連鎖候補列10adは、「インデックス」と「単語」と「品詞」と「単語コスト」と「後方接続」と「品詞接続コスト」とが関連付けられたテーブルである。なお、「インデックス」のカラムは、各単語を特定するために付される値(インデックス)を示す。また、「後方接続」は、その単語の直後に接続される単語のインデックスを示す。また「null」はデータが存在しないことを意味する。
次に、単語情報列選択部10cが、コスト最小法に基づくコスト計算により、単語連鎖候補列10adから、図8(c)に示す選択単語連鎖列(1ベスト解)10afを生成する(ステップS2)。なお、この選択単語連鎖列10afのデータ構成は、例えば、以下のようになる。
次に、ステップS3において、未知語「お」を探索開始位置に設定する。そして、ステップS4では、字種の条件を満たす未知語「お」から格助詞「と」まで(「おかーさんと」)を、平仮名・長音単語列候補として抽出し(S41)、その先頭単語の表記は「お」≠長音であり(ステップS42)、また、当該平仮名・長音単語列候補「おかーさんと」は長音を含むため(ステップS46)、この「おかーさんと」は平仮名・長音単語列10agとなる(ステップS49)。
次に、ステップS6からからステップS7に進み、当該平仮名・長音単語列10agは、「お」及び「ー」という未知語を含むので、信頼度=低と判定され、ステップS8に移る。ステップS8では、平仮名・長音単語列10ag(「おかーさんと」)の先頭は文頭であるため、前方接続可能品詞10ahは文頭のみとされる。また、単語連鎖候補列10adにおいて、平仮名・長音単語列10ag(「おかーさんと」)の末尾「と」に後続している単語は、サ変名詞「お出かけ」と冠動詞「お」であるため、後方接続可能品詞10aiは、サ変名詞と冠動詞の2つとなる(ステップS8)。これを図示したものが、図8(d)である。また、前方接続可能品詞10ahと後方接続可能品詞10aiとは、対応する平仮名・長音単語列10agに関連付けられてメモリ10aに格納されるが、このデータ構成を例示すると以下のようになる。
次に、ステップS9のステップS91において、平仮名・長音単語列10ag(「おかーさんと」)から長音削除平仮名列10ak(「おかさんと」)を作成し、第2文字「か」の次の長音が削除されたことを保存する(図8(e))。
次に、ステップS92では、先頭が文頭、末尾がサ変名詞か冠動詞と接続し、未知語を有しない無長音単語連鎖候補列10anを生成する。通常の単語連鎖生成においては、図9(f)下部に点線で示したように、未知語「ん」と接続する単語連鎖も生成される。しかし、ステップS92の単語連鎖生成においては、未知語の存在を認めないため、未知語「ん」が存在しないと成り立たない点線の単語連鎖は生成されない。なお、このように生成された無長音単語連鎖候補列10anのデータ構成を例示すると以下のようになる。
次に、ステップS93からステップS94に移り、無長音単語連鎖候補列10anの第2文字目を含む動詞活用語尾「か」を、表記および読みに長音を追加した「かー」に置換した長音単語連鎖候補列10aqを生成する。また、単語「かー」の単語コストを単語辞書値+20、その前後の品詞連接コストをそれぞれ文法規則値+30と設定する(図9(f)/ステップS94)。なお、このように生成された長音単語連鎖候補列10aqのデータ構成を例示すると以下のようになる。
次に、ステップS95において、図9(g)に示すように、長音単語連鎖候補列10aqを単語連鎖候補列10adにマージし、単語連鎖候補列10adを更新する。なお、更新された単語連鎖候補列10adのデータ構成を例示すると以下のようになる。
次に、ステップS10のステップS101では、図7の長音文字置換表10ajに基づき、平仮名・長音単語列10ag(「おかーさんと」)の長音を「あ」に置換して、長音置換平仮名列10am(「おかあさんと」)を作成し(図9(h))、第3文字「あ」が長音から置換されたことを保存する。
次に、ステップS102では、先頭が文頭、末尾がサ変名詞か冠動詞と接続し、未知語を含まない無長音単語連鎖候補列10apを生成する。その結果が、図10(i)となる。なお、この無長音単語連鎖候補列10apのデータ構成を例示すると以下のようになる。
次に、ステップS103からステップS104に移り、無長音単語連鎖候補列10apの第3文字を含む単語名詞「おかあさん」の第3文字目の表記「あ」を長音に置換した長音単語連鎖候補10arを生成する。読みも第3文字目を長音に置換する。また、単語「おかーさん」の単語コストを単語辞書値+10とし、その前後の品詞連接コストをそれぞれ文法規則値+5と設定する(図10(i))。この長音単語連鎖候補10arのデータ構成を例示すると以下のようになる。
次に、ステップS105で、図10(j)に示すように、長音単語連鎖候補10arに単語連鎖候補列10adをマージし、単語連鎖候補列10adを更新する(図10(j))。この更新された単語連鎖候補列10adのデータ構成を例示すると以下のようになる。
次に、ステップS11で、探索開始位置を、単語「お出かけ」に設定する。
ステップS12からステップS4に移り、「お出かけ」は、漢字を含む(ステップS40)ことから平仮名・長音単語列候補が作成されないままステップS47に進み、「お出かけ」が末尾単語であることから(ステップS47)、ステップS4の処理が終了する。そして、ステップS5に移った後、ステップS13に進む。
ステップS12からステップS4に移り、「お出かけ」は、漢字を含む(ステップS40)ことから平仮名・長音単語列候補が作成されないままステップS47に進み、「お出かけ」が末尾単語であることから(ステップS47)、ステップS4の処理が終了する。そして、ステップS5に移った後、ステップS13に進む。
ステップS13では、単語情報列選択部10cが、コスト最小法により、単語連鎖候補列10adから単語情報列10ae(1ベスト解)を作成する。これにより、図10(k)に示す単語情報列10aeが生成され、処理が終了する。
以上のように、本形態では、長音挿入や長音置換などによる変形表現を標準的な表現に変換してから解析を行うこととしたため、このような変形表現が含まれた入力テキストの解析を精度よく行うことができる。
以上のように、本形態では、長音挿入や長音置換などによる変形表現を標準的な表現に変換してから解析を行うこととしたため、このような変形表現が含まれた入力テキストの解析を精度よく行うことができる。
〔変形例等〕
なお、本発明は上述の実施の形態に限定されるものではない。例えば、本形態の無長音単語連鎖候補列生成部10iは、(制約1−1〜3)及び(制約2−1〜3)の制約のもと、無長音単語連鎖候補列10an,10apを生成することとした(ステップS9,S10)。これにより、信頼度が高い無長音単語連鎖候補列10an,10apのみが生成され、処理が効率化する。しかし、これらの制約がない状態で無長音単語連鎖候補列10an,10apを生成してもよいし、(制約1−1〜3)及び(制約2−1〜3)の一部の制約のもと、無長音単語連鎖候補列10an,10apを生成してもよい。
なお、本発明は上述の実施の形態に限定されるものではない。例えば、本形態の無長音単語連鎖候補列生成部10iは、(制約1−1〜3)及び(制約2−1〜3)の制約のもと、無長音単語連鎖候補列10an,10apを生成することとした(ステップS9,S10)。これにより、信頼度が高い無長音単語連鎖候補列10an,10apのみが生成され、処理が効率化する。しかし、これらの制約がない状態で無長音単語連鎖候補列10an,10apを生成してもよいし、(制約1−1〜3)及び(制約2−1〜3)の一部の制約のもと、無長音単語連鎖候補列10an,10apを生成してもよい。
また、本形態では、ステップS94やS104でコスト調整を行うこととした。これにより、コストが妥当なものとなり、精度のよい単語情報列を算出することが可能となる。しかし、このようなコスト調整を行わない構成でもよい。
また、形態では、長音削除平仮名列に対する単語連鎖生成処理(ステップS9)と、長音置換平仮名列に対する単語連鎖生成処理(ステップS10)とを行うこととした。しかし、これらの一方のみを行う構成であってもよい。
また、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
また、上述の各処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよいが、具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、DVD(Digital Versatile Disc)、DVD−RAM(Random Access Memory)、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)等を、光磁気記録媒体として、MO(Magneto-Optical disc)等を、半導体メモリとしてEEP−ROM(Electronically Erasable and Programmable-Read Only Memory)等を用いることができる。
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
本発明の産業上の利用分野としては、例えば、文字入力されたテキストの漢字変換ソフトウェアや、文字入力されたテキストから合成音声を生成して出力するためのソフトウェアの分野等を例示できる。
10 形態素解析装置
Claims (10)
- 入力テキストの単語情報列を生成する形態素解析装置において、
上記入力テキストを構成し得る接続可能な単語の列と、各単語の接続関係と、品詞と、コストとを関連つけた情報である単語連鎖候補列を生成する単語連鎖候補列生成部と、
上記単語連鎖候補列の少なくとも一部である文頭から文末までの選択単語連鎖列から、長音による変形表現と推定される平仮名・長音単語列を抽出する平仮名・長音単語列抽出部と、
上記平仮名・長音単語列の信頼度を評価する信頼度評価部と、
上記信頼度が低いと評価された上記平仮名・長音単語列を、長音を有しない無長音単語列に変換する無長音単語列変換部と、
上記無長音単語列を構成し得る接続可能な単語の列と、各単語の接続関係と、品詞と、コストとを関連つけた情報である無長音単語連鎖候補列を生成する無長音単語連鎖候補列生成部と、
上記無長音単語連鎖候補列の少なくとも一部の単語を、長音を含む単語に置換し、各単語の表記を接続した文字列が上記平仮名・長音単語列のものと同じとなる長音単語連鎖候補列を生成する長音単語連鎖候補列生成部と、
上記長音単語連鎖候補列を上記単語連鎖候補列にマージし、上記単語連鎖候補列を更新するマージ部と、
を有することを特徴とする形態素解析装置。 - 請求項1に記載の形態素解析装置であって、
上記平仮名・長音単語列は、
平仮名と長音のみからなる単語列(先頭の単語が平仮名)、及び、末尾文字が平仮名である単語が平仮名と長音のみからなる単語列(先頭の単語が長音)の直前に付加された単語列である、
ことを特徴とする形態素解析装置。 - 請求項2に記載の形態素解析装置であって、
上記平仮名・長音単語列抽出部は、
上記選択単語連鎖列から、平仮名のみからなる単語、長音のみからなる単語、及び、平仮名と長音のみからなる単語、のみから構成される単語列であって、その単語列の直前・直後がこれらの単語以外であるものを平仮名・長音単語列候補として抽出する単語列抽出部と、
上記平仮名・長音単語列候補の先頭単語が長音から始まり、当該先頭単語の直前に単語が存在しない場合、及び、当該先頭単語の直前単語の末尾文字が平仮名以外である場合にのみ、上記平仮名・長音単語列候補の先頭単語を削除することにより平仮名・長音単語列候補を更新する第1除外判定部と、
上記平仮名・長音単語列候補の先頭単語が長音から始まり、当該先頭単語の直前に末尾文字が平仮名の単語が存在する場合にのみ、当該末尾文字が平仮名の単語を、当該先頭単語の直前に追加することにより当該平仮名・長音単語列候補を更新する範囲補正部と、
上記平仮名・長音単語列候補が長音を含む場合にのみ、当該平仮名・長音単語列候補を上記平仮名・長音単語列とする第2除外判定部と、
を有することを特徴とする形態素解析装置。 - 請求項1に記載の形態素解析装置であって、
上記信頼度評価部は、
上記平仮名・長音単語列に未知語が含まれるか、長音のみからなる単語が存在する場合に、当該平仮名・長音単語列の信頼度が低いと判断する、
ことを特徴とする形態素解析装置。 - 請求項1に記載の形態素解析装置であって、
上記単語連鎖候補列を用い、上記平仮名・長音単語列の先頭文字の直前の単語の品詞である前方接続可能品詞を抽出し、上記平仮名・長音単語列に関連付けてメモリに格納する前方接続可能品詞抽出部と、
上記単語連鎖候補列を用い、上記平仮名・長音単語列の末尾文字の直後の単語の品詞である後方接続可能品詞を抽出し、上記平仮名・長音単語列に関連付けてメモリに格納する後方接続可能品詞抽出部と、を有し、
上記無長音単語連鎖候補列生成部は、
上記無長音単語列に対応する上記平仮名・長音単語列に関連付けたれた上記前方接続可能品詞及び上記後方接続可能品詞をメモリから読み出し、
少なくとも、上記無長音単語列の先頭単語に接続可能な単語の品詞は上記前方接続可能品詞のみであり、上記無長音単語列の末尾文字に接続可能な単語の品詞は上記後方接続可能品詞のみであるという条件のもと、上記無長音単語列を解析し、上記無長音単語連鎖候補列を生成する、
ことを特徴とする形態素解析装置。 - 請求項1又は5に記載の形態素解析装置であって、
上記無長音単語連鎖候補列生成部は、
少なくとも、生成する上記無長音単語連鎖候補列は品詞が未知である単語を含まないという条件のもと、上記無長音単語列を解析し、上記無長音単語連鎖候補列を生成する、
ことを特徴とする形態素解析装置。 - 請求項1に記載の形態素解析装置であって、
上記無長音単語列は、
上記平仮名・長音単語列の文字列から長音を削除した長音削除平仮名列、及び、上記平仮名・長音単語列の文字列の長音を平仮名に置換した長音置換平仮名列の少なくとも一方である、
ことを特徴とする形態素解析装置。 - 請求項1に記載の形態素解析装置であって、
上記長音単語連鎖候補列を上記単語連鎖候補列にマージする前に、上記長音単語連鎖候補列の長音を有する単語に関連するコストを、低い評価を示す値に調整するコスト調整部を有する、
ことを特徴とする形態素解析装置。 - 入力テキストの単語情報列を生成する形態素解析方法において、
単語連鎖候補列生成部が、上記入力テキストを構成し得る接続可能な単語の列と、各単語の接続関係と、品詞と、コストとを関連つけた情報である単語連鎖候補列を生成する過程と、
平仮名・長音単語列抽出部が、上記単語連鎖候補列の少なくとも一部である文頭から文末までの選択単語連鎖列から、長音による変形表現と推定される平仮名・長音単語列を抽出する過程と、
信頼度評価部が、上記平仮名・長音単語列の信頼度を評価する過程と、
無長音単語列変換部が、上記信頼度が低いと評価された上記平仮名・長音単語列を、長音を有しない無長音単語列に変換する過程と、
無長音単語連鎖候補列生成部が、上記無長音単語列を構成し得る接続可能な単語の列と、各単語の接続関係と、品詞と、コストとを関連つけた情報である無長音単語連鎖候補列を生成する過程と、
長音単語連鎖候補列生成部が、上記無長音単語連鎖候補列の少なくとも一部の単語を、長音を含む単語に置換し、各単語の表記を接続した文字列が上記平仮名・長音単語列のものと同じとなる長音単語連鎖候補列を生成する過程と、
マージ部が、上記長音単語連鎖候補列を上記単語連鎖候補列にマージし、上記単語連鎖候補列を更新する過程と、
を有することを特徴とする形態素解析方法。 - 請求項1から8の何れかに記載の形態素解析装置としてコンピュータを機能させるための形態素解析プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006145395A JP2007316916A (ja) | 2006-05-25 | 2006-05-25 | 形態素解析装置、形態素解析方法及び形態素解析プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006145395A JP2007316916A (ja) | 2006-05-25 | 2006-05-25 | 形態素解析装置、形態素解析方法及び形態素解析プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007316916A true JP2007316916A (ja) | 2007-12-06 |
Family
ID=38850726
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006145395A Pending JP2007316916A (ja) | 2006-05-25 | 2006-05-25 | 形態素解析装置、形態素解析方法及び形態素解析プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007316916A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012118723A (ja) * | 2010-11-30 | 2012-06-21 | Fujitsu Ltd | 形態素解析装置、音声合成装置、形態素解析方法、形態素解析プログラム及び対応辞書の作成方法 |
JP2015179198A (ja) * | 2014-03-19 | 2015-10-08 | 株式会社東芝 | 読み上げ装置、読み上げ方法及びプログラム |
-
2006
- 2006-05-25 JP JP2006145395A patent/JP2007316916A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012118723A (ja) * | 2010-11-30 | 2012-06-21 | Fujitsu Ltd | 形態素解析装置、音声合成装置、形態素解析方法、形態素解析プログラム及び対応辞書の作成方法 |
JP2015179198A (ja) * | 2014-03-19 | 2015-10-08 | 株式会社東芝 | 読み上げ装置、読み上げ方法及びプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7979268B2 (en) | String matching method and system and computer-readable recording medium storing the string matching method | |
JP2004038976A (ja) | 用例ベースの機械翻訳システム | |
JP2004199427A (ja) | 対訳依存構造対応付け装置、方法及びプログラム、並びに、対訳依存構造対応付けプログラムを記録した記録媒体 | |
Kumar et al. | Design and development of a stemmer for Punjabi | |
JP2008191833A (ja) | 論理構造認識処理プログラム、論理構造認識処理方法および論理構造認識処理装置 | |
JP2008083952A (ja) | 辞書作成支援システム、方法及びプログラム | |
JP3372532B2 (ja) | 感情情報抽出方法および感情情報抽出プログラムの計算機読み取り可能な記録媒体 | |
JP5107556B2 (ja) | 改善された中国語−英語翻訳ツール | |
JP4001283B2 (ja) | 形態素解析装置および自然言語処理装置 | |
JP4856573B2 (ja) | 要約文生成装置及び要約文生成プログラム | |
KR20120045906A (ko) | 코퍼스 오류 교정 장치 및 그 방법 | |
JP2007316916A (ja) | 形態素解析装置、形態素解析方法及び形態素解析プログラム | |
JP5025603B2 (ja) | 機械翻訳装置、機械翻訳プログラム及び機械翻訳方法 | |
US20220004708A1 (en) | Methods and apparatus to improve disambiguation and interpretation in automated text analysis using structured language space and transducers applied on automatons | |
JP4004376B2 (ja) | 音声合成装置、音声合成プログラム | |
JP3953772B2 (ja) | 読みがな付与装置およびプログラム | |
JP4341077B2 (ja) | 文書処理装置、文書処理方法、および、文書処理プログラム | |
JP2007004446A (ja) | 機械翻訳装置、その方法およびプログラム | |
JP4304146B2 (ja) | 辞書登録装置、辞書登録方法および辞書登録プログラム | |
JP3873305B2 (ja) | 仮名漢字変換装置および仮名漢字変換方法 | |
JP5262190B2 (ja) | 入力補完装置、及び入力補完プログラム | |
JP4210273B2 (ja) | 形態素解析装置及びその方法並びに形態素解析プログラム | |
JP7200474B2 (ja) | 変換補助装置、変換補助システム、変換補助方法及びコンピュータプログラム | |
JP2006126886A (ja) | 文短縮用知識の学習装置、文短縮装置、機械翻訳装置および文短縮のためのコンピュータプログラム | |
JP2005173391A (ja) | 情報処理装置及びその制御方法、プログラム |