(57)【要約】【課題】本発明の実施形態が解決する課題は、複数の形態素単位で同義語変換を行なう自然言語処理装置を提供することである。【解決手段】  実施形態の自然言語処理装置は、同義語と同義語変換対象語とが対応付けられた同義語辞書を記憶する記憶部と、文書データを形態素解析する形態素解析部と、形態素解析の結果と同義語辞書とを用いて、形態素解析の結果に含まれる形態素のうち、連続する複数の形態素が同義語変換対象語と一致するかを判定し、一致すると判定した同義語変換対象語を対応する同義語に変換する同義語変換部と、を備える。【選択図】  図１
2013114633.tif 000002
【特許請求の範囲】
【請求項１】
同義語と同義語変換対象語とが対応付けられた同義語辞書を記憶する記憶部と、
文書データを形態素解析する形態素解析部と、
前記形態素解析の結果と前記同義語辞書とを用いて、前記形態素解析の結果に含まれる形態素のうち、連続する複数の形態素が前記同義語変換対象語と一致するかを判定し、一致すると判定した前記同義語変換対象語を対応する前記同義語に変換する同義語変換部と、
を備える自然言語処理装置。
【請求項２】
付属語の形態素を含む複数の形態素を同義語変換対象語と判定する付属語判定部を備える第１の請求項に記載の自然言語処理装置。
【請求項３】
前記同義語辞書は例外条件を記憶し、
前記同義語変換対象語の接辞が例外条件と一致するか否かを判定する例外判定部を備える請求項１に記載の自然言語処理装置。
【請求項４】
同義語と同義語変換対象語とが対応付けられた同義語辞書を記憶する記憶部と、文書データを形態素解析する形態素解析部と、前記形態素解析の結果と前記同義語辞書とを用いて、前記形態素解析の結果に含まれる形態素のうち、連続する複数の形態素が前記同義語変換対象語と一致するかを判定し、一致すると判定した前記同義語変換対象語を対応する前記同義語に変換する同義語変換部と、を備える自然言語処理装置が行う自然言語処理方法であって、
文書データを形態素解析するステップと、
前記形態素解析の結果と前記同義語辞書とを用いて、前記形態素解析の結果に含まれる形態素のうち、連続する複数の形態素が前記同義語変換対象語と一致するかを判定するステップと、
一致すると判定された前記同義語変換対象語を対応する前記同義語に変換するステップと、
を備える自然言語処理方法。
【請求項５】
同義語と同義語変換対象語とが対応付けられた同義語辞書を記憶する記憶部と、文書データを形態素解析する形態素解析部と、前記形態素解析の結果と前記同義語辞書とを用いて、前記形態素解析の結果に含まれる形態素のうち、連続する複数の形態素が前記同義語変換対象語と一致するかを判定し、一致すると判定した前記同義語変換対象語を対応する前記同義語に変換する同義語変換部とを備える自然言語処理装置のコンピュータによって実行される自然言語処理プログラムであって、
前記コンピュータに、
前記文書データを形態素解析する機能と、
前記形態素解析の結果と前記同義語辞書とを用いて、前記形態素解析の結果に含まれる形態素のうち、連続する複数の形態素が前記同義語変換対象語と一致するかを判定し、一致すると判定した前記同義語変換対象語を対応する前記同義語に変換する機能と、
を実行させる自然言語処理プログラム。 
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、自然言語処理装置、自然言語処理方法及び自然言語処理プログラムに関する
【背景技術】
【０００２】
変換対象の語句と、当該変換対象の同義語とが対応付けられて登録されている同義語辞書を用いて、文の同義語を変換する技術がある。
【０００３】
例えば、文を形態素解析で区切った文字列のうち、同義語辞書に登録されている変換対象と一致する文字列を同義語で変換する。このときの変換対象は１単語や１形態素単位で同義語辞書に登録されている。このとき、同義語辞書で定義されている変換対象が、同義語変換対象の文において、複数の形態素である場合は同義語変換が行なわれない。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−７７４９１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明の実施形態が解決する課題は、複数の形態素単位で同義語変換を行なう自然言語処理装置を提供することである。
【課題を解決するための手段】
【０００６】
実施形態の自然言語処理装置は、同義語と同義語変換対象語とが対応付けられた同義語辞書を記憶する記憶部と、文書データを形態素解析する形態素解析部と、形態素解析の結果と同義語辞書とを用いて、形態素解析の結果に含まれる形態素のうち、連続する複数の形態素が同義語変換対象語と一致するかを判定し、一致すると判定した同義語変換対象語を対応する同義語に変換する同義語変換部と、を備える。
【図面の簡単な説明】
【０００７】
【図１】第１の実施形態に係る自然言語処理装置のハードウェア構成の一例を示すブロック図。
【図２】第１の実施形態に係る自然言語処理装置の機能構成の一例を示すブロック図。
【図３】第１の実施形態に係る自然言語処理装置の形態素解析の処理結果の一例を示す図。
【図４】第１の実施形態に係る自然言語処理装置の同義語辞書記憶部に格納されている同義語辞書の一例を示す図。
【図５】第１の実施形態に係る自然言語処理装置の動作の一例を示すフローチャート。
【図６】第１の実施形態に係る自然言語処理装置の入力部によって入力された文書群の一例。
【図７】第１の実施形態に係る自然言語処理装置の同義語変換処理の一例を示すフローチャート。
【図８】第１の実施形態に係る自然言語処理装置の複合語変換処理の一例を示すフローチャート。
【図９】第１の実施形態に係る自然言語処理装置の同義語変換対象判定処理の一例を示すフローチャート。
【図１０】第１の実施形態に係る自然言語処理装置の単語変換処理の一例を示すフローチャート。
【図１１】第２の実施形態に係る自然言語処理装置の機能構成の一例を示すブロック図。
【図１２】第２の実施形態に係る自然言語処理装置の付属語辞書記憶部に格納されている付属語辞書の一例を示す図。
【図１３】第２の実施形態に係る自然言語処理装置の複合語変換処理の一例を示すフローチャート。
【図１４】第２の実施形態に係る自然言語処理装置の付属語判定処理の一例を示すフローチャート。
【図１５】第２の実施形態に係る自然言語処理装置の同義語変換対象判定処理の一例を示すフローチャート。
【発明を実施するための形態】
【０００８】
以下、図面を参照して、本発明の自然言語処理装置の各実施形態について説明する。
【０００９】
（第１の実施形態）
図１乃至図１０を参照して、本発明の第１の実施形態について説明する。
【００１０】
図１は、本実施形態に係る自然言語処理装置３０のハードウェア構成を示すブロック図である。図１に示すように、自然言語処理装置３０は、コンピュータ１０と、外部記憶装置２０とを備える。
【００１１】
外部記憶装置２０は、例えばハードディスクドライブ（ＨＤＤ：Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）である。外部記憶装置２０はプログラム２１を格納しており、コンピュータ１０がプログラム２１を実行する。
【００１２】
図２は、図１に示す自然言語処理装置３０の機能構成を示すブロック図である。
【００１３】
図２に示すように、本実施形態の自然言語処理装置３０は、入力部３１、形態素解析部３２、同義語変換部３３、文字列生成部３４、出力部３５及び同義語辞書記憶部３８を備える。本実施形態の同義語装置３０は、文書中の各文に含まれる語を、同義語辞書を用いて、該当する同義語に変換する機能を有する。
【００１４】
本実施形態において、これらの各部３１〜３５の機能は、図１に示すコンピュータ１０が外部記憶装置２０に格納されているプログラム２１を実行することにより実現される。このプログラム２１は、コンピュータが読み取り可能な記憶媒体に予め格納して頒布可能である。また、このプログラム２１が、例えばネットワークを介して外部装置からコンピュータ１０にダウンロードされても構わない。
【００１５】
入力部３１は、ユーザの操作に応じて、当該ユーザによって指定された文書を入力する。このとき、入力部は複数の文書（以下、文書群という）を入力してもよい。
【００１６】
入力部３１によって入力される文書は、自立語と付属語を含む文によって構成される。  なお、入力部３１によって入力される文書には当該文書を識別するための文書ＩＤが付与されている。
【００１７】
形態素解析部３２は、入力部３１によって入力された文書に形態素解析処理を行い、当該文書中に含まれる各文を形態素毎に分割する。形態素とは、意味を担う最小の言語要素のことである。
【００１８】
また、形態素解析部３２は、分割した形態素の組を生成する。形態素の組は、例えば自立語と付属語からなる。
【００１９】
図３を参照して、形態素解析部３２による形態素解析処理結果の一例を示す。ここでは、入力部３１によって入力される文書中に、例文１「私は職場で社内インターネットを用いる」と例文２「花子は会社で人気がある」が含まれる場合の一例について説明する。
【００２０】
図３に示すように、例文１の形態素解析処理結果は、「私（名詞）」「は（助詞）」「職場（名詞）」「で（助詞）」「社内（名詞）」「インターネット（名詞）」「を（助詞）」「用いて（動詞）」「いる（接尾辞）」となる。
【００２１】
例文２の形態素解析処理結果は、「花子（名詞）」「は（助詞）」「会社（名詞）」「で（助詞）」「人気（名詞）」「が（助詞）」「ある（名詞）」となる。
【００２２】
同義語変換部３３は、形態素解析部３２によって生成された各形態素を、後述する同義語辞書記憶部３８に記憶されている同義語辞書に基づいて変換する同義語変換処理を行う。本実施形態では、複数の形態素を結合した組を複合語といい、１つの形態素を単語という。
【００２３】
同義語変換部３３は、複合語変換部３６と、単語変換部３７とを備える。複合語変換部３６は、同義語変換処理対象の文に含まれる複合語を同義語辞書に基づいて変換する。単語変換部３７は、同義語変換処理対象の文に含まれる単語を同義語辞書に基づいて変換する。
【００２４】
同義語辞書記憶部３８は、例えば外部記憶装置２０に格納される。同義語辞書記憶部３８には、同義語と変換対象語とが対応して格納されている。ここで、図４に同義語辞書の一例である同義語辞書テーブル３８０を示す。
【００２５】
図４に示したように、本実施形態の同義語辞書記憶部３８には、同義語辞書テーブル３８０が格納されている。同義語辞書テーブル３８０は、同義語３８１と変換対象語３８２の項目が対応付けられて１行に格納されている。同義語３８１は同義語変換処理後の語である。
【００２６】
本実施形態の同義語辞書テーブル３８０は、１行目に変換対象語３８２「職場」に対応して同義語３８１「オフィス」が格納されている。同様に、同義語辞書テーブル３８０の２行目は、変換対象語３８２「会社」に対して同義語３８１「オフィス」が、３行目は変換対象語３８２「社内インターネット」に対して、同義語３８１「イントラネット」がそれぞれ対応して格納されている。
【００２７】
なお、同義語辞書テーブル３８０はＭ行であるとする。すなわち、本実施形態では同義語辞書テーブル３８０に格納されている同義語３８１と変換対象語３８２のペアはＭ個である。
【００２８】
文字列生成部３４は、同義語変換部３３における変換処理結果を用いて、文字列を生成する文字列生成処理を行う。
【００２９】
出力部３５は、文字列生成部３４で生成された文字列を出力する。
【００３０】
図５を参照して、本実施形態に係る自然言語処理装置３０の動作の一例について説明する。図５は、本実施形態に係る自然言語処理装置３０の動作の一例を示すフローチャートである。なお、本実施形態におけるフローチャートでは日本工業規格（ＪＩＳ）で決められた図形を用いている。
【００３１】
入力部３１は、ユーザの操作に応じて、当該ユーザによって指定された文書群を入力する（ステップＳ１）。本実施形態では、社員の会社生活に関するアンケートの文書群が入力部３１によって入力されたものとする。
【００３２】
図６に入力された文書群４０の一例を示す。なお、本実施形態の入力部３１は、平文の形式で文書群を入力する。
【００３３】
図６に示すように、入力部３１によって入力された文書群４０に含まれる各文書データ４２は、各文書データを識別するための文書ＩＤ４１が付与されている。
【００３４】
具体的には、文書群４０は、文書ＩＤ「１」が付与された文書データ「私は職場で社内インターネットを用いている。無線ＬＡＮで用いている。」と、文書ＩＤ「２」が付与された文書データ「私は社内の食堂でうどんを食べた。」と、文書ＩＤ「３」が付与された文書データ「家でインターネットを始めた。」と、文書ＩＤ「４」が付与された文書データ「佐藤さんはイントラネットを開始した。」と、文書ＩＤ「５」が付与された文書データ「花子は会社で人気がある。」とが含まれている。
【００３５】
以下、文書群４０に含まれる文書のうち、文書ＩＤ「１」の「私は職場で社内インターネットを用いている。無線ＬＡＮで用いている。」における処理について具体的に説明する。なお、「私は職場で社内インターネットを用いている。」を第１の文とし、「無線ＬＡＮで用いている。」を第２の文とする。他の文書データについては同様であるため、詳しい説明を省略する。
【００３６】
図５の説明に戻る。形態素解析部３２は、入力された文書群４０に含まれる各文書データ４２を構成する各文、すなわち、文書群４０に含まれる各文書データ４２中の全ての文に形態素解析処理を行う（ステップＳ２）。
【００３７】
文書ＩＤ「１」における第１の文の形態素解析処理結果は、「私（名詞）」「は（助詞）」「職場（名詞）」「で（助詞）」「社内（名詞）」「インターネット（名詞）」「を（助詞）」「用いて（動詞）」「いる（接尾辞）」である。第２の文の形態素解析処理結果は、「無線（名詞）」「ＬＡＮ（名詞）」「で（助詞）」「用いて（動詞）」「いる（接尾辞）」である。
【００３８】
同義語変換部３３は、同義語辞書記憶部３８に格納された同義語辞書テーブル３８０を用いて、形態素解析部３２によって生成された形態素を同義語に変換する同義語変換処理を行う（ステップＳ３）。
【００３９】
ここで、図７〜図１０を参照して、ステップＳ３における同義語変換処理について具体的に説明する。図７は、本実施形態の同義語変換処理の一例を示すフローチャートである。
【００４０】
まず、同義語変換部３３は、文書データ４２に含まれる文ごとに、形態素解析部３２によって生成された形態素の組と、同義語辞書記憶部３８内の同義語辞書を受信する（ステップＳ３０）。
【００４１】
具体的には、同義語変換部３３は、  文書ＩＤ「１」における第１の文の形態素の組「私（名詞）」「は（助詞）」「職場（名詞）」「で（助詞）」「社内（名詞）」「インターネット（名詞）」「を（助詞）」「用いて（動詞）」「いる（接尾辞）」と、第２の文の形態素の組「無線（名詞）」「ＬＡＮ（名詞）」「で（助詞）」「用いて（動詞）」「いる（接尾辞）」、及び同義語辞書テーブル３８０を受信する。
【００４２】
なお、形態素解析結果の形態素の組を形態素結果リストＬと定義し、このリストＬの要素数をＮとする。形態素結果リストＬは同義語変換部３３によって文書データ４２に含まれる文ごとに作成される。
【００４３】
また、形態素結果リストＬの変数をｉとする。すなわち、形態素結果リストＬに含まれるｉ番目の形態素をＬ［ｉ］と記載する。
【００４４】
具体的には、第１の文において、Ｌ［０］＝私、Ｌ［１］＝は、Ｌ［２］＝職場、Ｌ［３］＝で、Ｌ［４］＝社内、Ｌ［５］＝インターネット、Ｌ［６］＝を、Ｌ［７］＝用いて、Ｌ［８］＝いる、となる。また、第１の文においてＮ＝９である。
【００４５】
第２の文においては、Ｌ［０］＝無線、Ｌ［１］＝ＬＡＮ、Ｌ［２］＝で、Ｌ［３］＝用いて、Ｌ［４］＝いる、となる。また、第２の文においてＮ＝５である。
【００４６】
同義語変換部３３は、同義語変換処理後の語を格納する配列を初期化する（ステップＳ３１）。同義語変換処理後の語を格納する配列を「ｎｅｗｌｉｓｔ」とする。また、配列ｎｅｗｌｉｓｔには、複合語変換処理フラグ（ｆｌａｇ１）が含まれているとする。このｎｅｗｌｉｓｔも形態素結果リストＬと同様に文ごとに作成されるとする。
【００４７】
同義語変換部３３は、変数ｉを初期化する（ステップＳ３２）。すなわち、変数ｉに０を代入する。
【００４８】
続いて、ステップＳ３３に進む。すなわち、同義語変換部３３は変数ｉが（Ｎ−１）以下であるかどうか判定する（ステップＳ３３）。ステップＳ３３において変数ｉが（Ｎ−１）以下である場合、同義語変換部３３は、ステップＳ３３〜ステップＳ４０までの処理をループする。
【００４９】
すなわち、ｉ≦Ｎ−１である場合、同義語変換部３３はｓｗ１＝Ｌ［ｉ］とする（ステップＳ３４）。なお、ｓｗ１はｎｅｗｌｉｓｔの要素の候補である。
【００５０】
ここで、第１の文においてｉ＝４である場合のステップＳ３４からの処理について具体的に説明する。ステップＳ３４において、ｓｗ１＝Ｌ［４］＝社内である。
【００５１】
また、同義語変換部３３は、複合語変換処理フラグの初期値を「ｆａｌｓｅ」とする（ステップＳ３５）。すなわち、同義語変換部３３は、ｆｌａｇ１＝ｆａｌｓｅとする。
【００５２】
続いて、同義語変換部３３の複合語変換部３６が複合語変換処理を行う（ステップＳ３６）。
【００５３】
ここで、図８を参照して本実施形態の複合語変換処理について説明する。なお、同義語辞書テーブル３８０の変換対象語３８２が格納されているリストをＰとする。また、ここでは、ｊ、ｋという変数を用いて複合語変換処理について説明する。ｊ、ｋは整数であり、０≦ｊ≦Ｍ、０≦ｋ≦Ｎ＋１である。
【００５４】
まず、複合語変換部３６はｊを初期化する（ステップＳ５０）。すなわち、ｊに０を代入する。
【００５５】
続いて、複合語変換部３６はｊがＭ−１以下であるかどうかの判定を行う（ステップＳ５１）。
【００５６】
ステップＳ５１においてｊがＭ−１以下である場合、複合語変換部３６はステップＳ５１〜ステップＳ５８の処理をループする。
【００５７】
すなわち、複合語変換部３６はｓｗ１がＰ［ｊ］と前方一致するかどうかを判定する（ステップＳ５２）。なお、前方一致とは文字列ｇｄがＰ［ｊ］の先頭の文字から所定の文字までと一致することを意味する。
【００５８】
この場合、Ｐ［ｊ］は、Ｐ［０］＝職場、Ｐ［１］＝会社、Ｐ［２］＝社内インターネット、である。
【００５９】
ｓｗ１が、Ｐ［ｊ］と前方一致しない場合（ステップＳ５２がＮｏ）、複合語変換部３６はｊに１を追加する（ステップＳ６０）。その後、複合語変換部３６は、ステップＳ５１の判定に戻る（ステップＳ６１）。  
ステップＳ５１においてｊがＭ−１より大きい場合、すなわち、同義語辞書テーブル３８０に格納されたすべての変換対象語３８２に対してｓｗ１が前方一致しているか否かを判定し終えた場合、複合語変換部３６は、ステップＳ６１以降の処理へ進む。すなわち、複合語変換部３６は複合語変換処理を終了する。
【００６０】
なお、例えばｓｗ１＝Ｌ［２］＝職場の場合は、Ｐ［ｊ］と前方一致しないため複合語変換部３６は複合語変換処理を終了し、図７のステップＳ３７へ進む。
【００６１】
ｓｗ１が、Ｐ［ｊ］と前方一致する場合（ステップＳ５２がＹｅｓ）、複合語変換部３６はｋ＝ｉ＋１とする（ステップＳ５３）。続いて、複合語変換部３６は文字列ｇｄ＝ｓｗ１＋Ｌ［ｋ］とする（ステップＳ５４）。
【００６２】
すなわち、複合語変換部３６はステップＳ５３とステップＳ５４の処理によって、ｓｗ１の形態素とｓｗ１の次に出現する形態素とを結合し、文字列ｇｄを生成する。
【００６３】
ｉ＝４の場合、ｓｗ１＝Ｌ［４］＝社内であり、ステップＳ５２においてＰ［２］と前方一致するため、ステップＳ５３に進む。複合語変換部３６はステップＳ５３とＳ５４の処理で、第１の文の中でｓｗ１＝社内の次に出現する形態素である「インターネット」（Ｌ＝Ｋ［４＋１］）をｓｗ１に結合し、文字列ｇｄ＝「社内インターネット」が生成する。
【００６４】
ここで、複合語変換部３６は、ステップＳ５４で生成された文字列ｇｄに対して同義語変換対象判定処理を行う（ステップＳ５５）。  
ここで、図９を参照して同義語変換対象判定処理について説明する。図９は複合語変換部３６による同義語変換対象判定処理の一例を示すフローチャートである。
【００６５】
まず、複合語変換部３６は、文字列ｇｄがＰ［ｊ］と前方一致し、かつ完全一致はしないか否かを判定する（ステップＳ５５０）。なお、完全一致とは、文字列ｇｄがＰ［ｊ］の最初から最後まででのすべての文字と一致することを意味する。
【００６６】
文字列ｇｄがＰ［ｊ］と前方一致し、かつ完全一致はしない場合（ステップＳ５５０がＹｅｓ）、複合語変換部３６はｋにｋ＋１を代入し（ステップＳ５５１）、文字列ｇｄにｇｄ＋Ｌ［ｋ］を代入する（ステップＳ５５２）。その後、複合語変換部３６はステップＳ５５０に戻り、処理を繰り返す。
【００６７】
文字列ｇｄがＰ［ｊ］と前方一致しない、もしくは前方一致かつ完全一致する場合（ステップＳ５５１がＮｏ）、複合語変換部３６は同義語変換対象判定処理を終了する。
【００６８】
ここで、ｇｄ＝「社内インターネット」は、変換対象リストＰ［ｊ］のうちＰ［２］＝社内「インターネット」と完全一致するため、ステップＳ５５０においてＮｏと判定される。  
したがって、複合語変換部３６はそのまま何も処理せずに同義語変換対象判定処理を終了する。
【００６９】
図８のステップＳ５６の説明に戻る。複合語変換部３６はステップＳ５５で生成した文字列ｇｄが、Ｐ［ｊ］と完全一致するか否かを判定する（ステップＳ５６）。
【００７０】
文字列ｇｂがＰ［ｊ］と完全一致する場合（ステップＳ５６がＹｅｓ）、複合語変換部３６は、Ｐ［ｊ］に対応する同義語３８１をｎｅｗｌｉｓｔの末尾に追加する（ステップＳ５７）。
【００７１】
その後、複合語変換部３６は、複合語変換処理フラグを複合語変換が行われたことを示す「ｔｒｕｅ」に変換する（ステップＳ５８）。複合語変換部３６は、形態素結果リストＬの変数ｉにｋを代入し（ステップＳ５９）、複合語変換処理を終了する。
【００７２】
ｇｄ＝「社内インターネット」は、変換対象リストＰ［ｊ］のうちＰ［２］＝社内「インターネット」と完全一致するため、ステップＳ５６の判定はＹｅｓとなる。したがって、ステップＳ５７においてＰ［２］に対応する同義語＝「イントラネット」が、ｎｅｗｌｉｓｔの末尾の要素に「イントラネット」が追加される。すなわち、Ｐ［２］に対応する同義語＝「イントラネット」がｇｄ＝「社内インターネット」同期変換後の語となる。
【００７３】
文字列ｇｂがＰ［ｊ］と完全一致しない場合（ステップＳ５６がＮｏ）、複合語変換部３６は、ｊにｊ＋１を代入する（ステップＳ６０）。その後、複合語変換部３６は、ステップＳ５１の判定に戻る（ステップＳ６１）。
【００７４】
ステップＳ５１において、ｊが同義語辞書記憶部３８に格納された同義語辞書の行数Ｍより大きい場合、複合語変換部３６はステップＳ６１に進み複合語変換処理を終了する。
【００７５】
図７の説明に戻る。ステップＳ３６の複合語変換処理が終了すると、複合語変換部３３は複合語変換処理フラグがｔｒｕｅか否かを確認する（ステップＳ３７）。
【００７６】
複合語変換処理フラグがｔｒｕｅである場合（ステップＳ３７がＹｅｓ）、同義語変換部３３はｉ＝ｉ＋１とする（ステップＳ３９）。その後、同義語変換部３３はステップＳ３３の判定に戻る（ステップＳ４０）。
【００７７】
複合語変換処理フラグがｆａｌｓｅである場合（ステップＳ３７がＮｏ）、同義語変換部３３はｎｅｗｌｉｓｔｉの末尾にｓｗ１を追加し（ステップＳ３８）、ｉをｉ＋１とし（ステップＳ３９）、ステップＳ３３の判定に戻る（ステップＳ４０）。
【００７８】
ｓｗ１＝Ｌ［４］である場合、複合語変換処理フラグはｔｒｕｅであるため、ステップＳ３７では、Ｙｅｓと判定される。したがって、ｉをｉ＋１とし（ステップＳ３９）、ステップＳ３３の判定に戻り（ステップＳ４０）、他のｉについても同様な処理を行う。
【００７９】
ステップＳ３３の判定においてｉがＮ−１より大きい場合、同義語変換部３３はステップＳ３３〜ステップＳ４０のループを終了し、ステップＳ４１に進む。すなわち、同義語変換部３３の単語変換部３７は単語変換処理を行う（ステップＳ４１）。単語変換処理が終了すると、本実施形態の同義語変換処理は終了する。
【００８０】
ステップＳ４０の処理の終了後には、ｎｅｗｌｉｓｔ＝「私、は、職場、で、イントラネット、  を、用いて、いる」が生成されている。
【００８１】
なお、ここでは、変換対象が２形態素の場合の処理を一例として説明したが、本実施形態の同義語変換処理によると、３以上の形態素の場合でも同様に同義語に変換できる。例えば、ステップＳ２の形態素解析の結果、「社」「内」「インターネット」と解析された場合でも、社内インターネットはイントラネットに変換できる。なお、この場合ステップＳ５５０の判定において、Ｙｅｓと判定される。
【００８２】
次に、ｎｅｗｌｉｓｔ＝「私、は、職場、で、イントラネット、  を、用いて、いる」を用いた場合の、ステップＳ４１における単語変換処理について図１０を参照して説明する。なお、ここではｘという変数を用いて説明する。
【００８３】
まず、単語変換部３７が単語変換処理後の語が格納されるリストであるｎｅｗｌｉｓｔ２を作成する（ステップＳ７０）。なお、配列ｎｅｗｌｉｓｔには、単語変換処理フラグ（ｆｌａｇ２）が含まれているとする。
【００８４】
また、単語変換部３７はｘを初期化する（ステップＳ７１）。すなわち、単語変換部３７はｘに０を代入する。
【００８５】
ｘが（ｎｅｗｌｉｓｔの配列数−１）以下である場合（ステップＳ７２）、単語変換部３７はステップＳ７２からステップＳ８５までの処理のループを行う。
【００８６】
具体的には単語変換部３７は、単語変換処理フラグの初期値をｆａｌｓｅにする（ステップＳ７３）。すなわち、単語変換部３７は、ｆｌａｇ２＝ｆａｌｓｅとする。
【００８７】
また、単語変換部３７は、ｓｗ２＝ｎｅｗｌｉｓｔ［ｘ］とする（ステップＳ７４）。なお、ｓｗ２はｎｅｗｌｉｓｔ２の要素の候補である。例えばｘ＝２の場合、ｓｗ２＝ｎｅｗｌｉｓｔ［２］、すなわちｓｗ２＝職場となる。また、単語変換部３７はｊを初期化する（ステップＳ７５）。  
続いて、単語変換部３７はステップＳ７６の判定を行う。ｊが（Ｍ−１）以下である場合、単語変換部３７はステップＳ７７の処理に進む。
【００８８】
すなわち、ｊが（Ｍ−１）以下である場合、単語変換部３７は、ｓｗ２がＰ［ｊ］と完全一致するか否かを判定する（ステップＳ７７）。ｓｗ２がＰ［ｊ］と完全一致する場合（ステップＳ７７がＹｅｓ）、単語変換部３７は、ｎｅｗｌｉｓｔ２の末尾にＰ［ｊ］に対応する同義語を追加する（ステップＳ８０）。その後、単語変換部３７は単語変換処理フラグをｔｒｕｅに変更し（ステップＳ８１）、ステップＳ８２へ進む。
【００８９】
ｓｗ２がＰ［ｊ］と完全一致しない場合（ステップＳ７７がＮｏ）、単語変換部３７は、ｊに１を追加する（ステップＳ７８）。ここで、単語変換部３７はステップＳ７６に戻る（ステップＳ７９）。
【００９０】
ｓｗ２＝ｎｅｗｌｉｓｔ［２］＝職場は、Ｐ［０］と完全一致するので、単語変換部３７はｎｅｗｌｉｓｔ２の最後の配列にＰ［０］に対応する同義語＝「オフィス」が追加される（ステップＳ８０）。なお、ｘ＝０とｘ＝１の場合におけるＳ７２〜Ｓ８５のループ処理により、ｎｅｗｌｉｓｔ２＝「私、は」となっている。したがって、ｓｗ２＝ｎｅｗｌｉｓｔ［２］＝職場の場合、ｎｅｗｌｉｓｔ２＝「私、は、  オフィス」となる。
【００９１】
また、単語変換部３７はステップＳ７６においてｊが（Ｍ−１）よりも大きい場合、ステップＳ８２へ進む。
【００９２】
単語変換部３７は、単語変換処理フラグがｔｒｕｅであるか否かを判定する（ステップＳ８２）。単語変換処理フラグがｆａｌｓｅである場合（ステップＳ８２がＮｏ）、単語変換部３７はｎｅｗｌｉｓｔ２の末尾にｓｗ２を追加する（ステップＳ８３）。その後、単語変換部３７はｘに１を追加する（ステップＳ８４）。
【００９３】
また、単語変換処理フラグがｔｒｕｅである場合（ステップＳ８２がＹｅｓ）、単語変換部３７はｘにｘ＋１を代入する（ステップＳ８４）。その後、単語変換部３７は、ステップＳ７２の判定に戻る（ステップＳ８５）。
【００９４】
ステップＳ７２において、ｘが（ｎｅｗｌｉｓｔの配列数−１）より大きい場合は、単語変換部３７は処理を終了する。すなわち、図５のステップＳ３における同義語変換処理が終了する。このとき、ｎｅｗｌｉｓｔ２＝「私、は、オフィス、で、イントラネット、  を、用いて、いる」となっている。
【００９５】
図５のステップＳ４に戻る。ステップＳ４では、文字列生成部３４がＳ３で作成されたｎｅｗｌｉｓｔ２の要素を、格納順に結合する（ステップＳ４）。ここでは、ステップＳ８５までの処理で得られたｎｅｗｌｉｓｔ２私、は、オフィス、で、イントラネット、  を、用いて、いる」を結合し、「私はオフィスでイントラネットを用いている。」という文字列が生成される。
【００９６】
そして、出力部３５が、文字列生成部３４によって生成された文字列を出力する（ステップＳ５）。これにより、本実施形態の自然言語処理装置３０の処理が終了する。
【００９７】
上述したように、第１の実施形態の自然言語処理装置３０によると、複数の形態素単位で同義語変換を行なうことが可能となる。すなわち、同義語変換の精度を向上することが可能となる。なお、本実施形態の自然言語処理装置３０においては、形態素解析の方法は限定されない。例えば日本語文法の形態素であっても、学校文法の形態素であっても本実施形態の自然言語処理装置３０は処理を行うことが可能である。
【００９８】
（第２の実施形態）
以下、図１１乃至図１５を参照し、本発明の第２の実施形態について説明する。なお、第１の実施形態と同一の構成には同一の符号を付与し、説明は省略する。
【００９９】
図１１は、本実施形態の自然言語処理装置５０の機能構成を示すブロック図である。図１１に示すように、自然言語処理装置５０の機能構成は、自然言語処理装置３０の機能構成に付属語判定部３９と、付属語辞書記憶部４０とが含まれる。
【０１００】
付属語判定部３９は、付属語辞書記憶部４０に記憶された付属語辞書を用いて、対象の語が付属語かどうかを判定する付属語判定処理を行う。付属語は、単独で文節を構成できない語であり、具体的には助詞と助動詞である。付属語辞書は例えばＨ個の要素からなるリストＳ［ｒ］（０≦ｒ≦Ｈ−１）で表現される。
【０１０１】
図１２に付属語辞書の一例である付属語辞書リスト４０１を示す。図１２に示すように、付属語辞書リスト４０１は、Ｓ［０］＝での、Ｓ［１］＝の、・・・、である。
【０１０２】
付属語判定処理は、同義語変換処理の中で行われる。図１３に、本実施形態における同義語変換処理の一例を示す。なお、ステップＳ５０〜ステップＳ６１は、第１の実施形態における同義語変換処理と同一であるため説明は省略する。すなわち、ここではステップＳ６２とステップＳ６３について説明する。
【０１０３】
なお、本実施形態では「私は社内でのインターネットを用いる。」という文が入力された場合について具体的に説明する。形態素リストＬ［ｉ］は、Ｌ［０］＝私、Ｌ［１］＝は、Ｌ［２］＝社内、Ｌ［３］＝で、Ｌ［４］＝の、Ｌ［５］＝インターネット、Ｌ［６］＝を、Ｌ［７］＝用いる、である。
【０１０４】
ここではｉ＝２の場合の処理について具体的に説明し、他の処理については同様であるため省略する。
【０１０５】
図１３に示すように、本実施形態ではステップＳ５３においてｋ＝ｉ＋１とした後、付属語判定部３９は付属語判定処理を行う（ステップＳ６２）。
【０１０６】
図１３のステップＳ６２の処理を、図１４を用いて説明する。まず、付属語判定部３９はｙｂにＬ［ｋ］を代入する（ステップＳ１００）。すなわち、ｙｂ＝Ｌ［３］＝「で」である。
【０１０７】
ここで、付属語判定部３９はｒを初期化する（ステップＳ１０１）。ｒの初期化とはｒに０を代入することである。続いて付属語判定部３９はステップＳ１０２の判定を行う。
【０１０８】
ステップＳ１０２においてｒ≦（Ｈ−１）であれば、付属語判定部３９はステップＳ１０２〜ステップＳ１０７の処理をループする。
【０１０９】
すなわち、ｒ≦（Ｈ−１）であれば付属語判定部３９はｙｂがＳ［ｒ］と前方一致か否かを判定する（ステップＳ１０３）。ｙｂがＳ［ｒ］と前方一致である場合（ステップＳ１０３がＹｅｓ）、付属語判定部３９はｋに１を追加する（ステップＳ１０４）。そして、付属語判定部３９は、ｙｂ＝ｙｂ＋Ｌ［ｋ］とする（ステップＳ１０５）。続いて付属語判定部３９はｒに１を追加し、（ステップＳ１０６）ステップＳ１０７に進む。ステップＳ１０７に処理が進むと、付属語判定部３９はステップＳ１０２に戻り、処理を繰り返す。
【０１１０】
ｙｂがＳ［ｒ］と前方一致でない場合（ステップＳ１０３がＮｏ）、付属語判定部３９はｙｂがＳ［ｒ］と完全一致するか否かを判定する（ステップＳ１０８）。ｙｂがＳ［ｒ］と完全一致する場合（ステップＳ１０８がＹｅｓ）、付属語判定部３９はｋに１を追加し（ステップＳ１０９）、付属語判定処理を終了する。
【０１１１】
ｙｂがＳ［ｒ］と完全一致しない場合（ステップＳ１０８がＮｏ）、付属語判定部３９はｒに１を追加する（ステップＳ１０６）。その後、
ステップＳ１０２においてｒ＞（Ｈ−１）であれば、付属語判定部３９はステップＳ１０７以降の処理に進む。すなわち、付属語判定処理を終了する。これにより、図１２のステップＳ６２についての説明が終了する。
【０１１２】
続いて、図１３のステップＳ６３における同義語変換対象判定処理について図１５を参照して説明する。
【０１１３】
図１５に示すように、本実施形態の同義語変換対象判定処理は第１の実施形態における同義語変換対象判定処理のステップＳ５５１とステップＳ５５２の間に、ステップＳ５５３の付属語判定処理を追加したものである。ステップＳ５５３における付属語判定処理は図１２のステップＳ６２における付属語判定処理と同一であるため、説明は省略する。
【０１１４】
例えば、ステップＳ１０３において、ｙｂ＝Ｌ［３］＝「で」はＳ［０］＝「での」と前方一致するため、付属語判定部３９はｙｂ＝Ｌ［３］＋Ｌ［３＋１］＝「で」＋「の」とし、ステップＳ１０３の判定に戻る。この場合、ｙｂはＳ［０］と完全一致するため、付属語判定部３９はステップＳ１０９に進み、ｋにｋ＋１を代入する。すなわち、ｋ＝５とする。その後、付属語判定部３９は付属語判定処理を終了する。なお、このときステップＳ５４において作成される文字列ｇｄは、Ｌ［２］＋Ｌ［５］＝「社内インターネット」となる。
【０１１５】
引き続き、第１の実施形態と同じ処理が行われ、図５のステップＳ５において「私はイントラネットを用いる」が生成される。
【０１１６】
上述のように、第２の実施形態によると、変換対象の中に助詞がある場合、すなわち社内でのインターネットと社内インターネット、のように助詞が含まれていても互いに意味が同じ場合、同義語変換を実現することができる。
【０１１７】
以上、本発明のいくつかの実施形態を説明したが、これら実施形態は例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。  
例えば、同義語変換部３３は、同義語辞書テーブル３８０に適用例外条件という項目を追加、入力された文に含まれる形態素が変換対象語３８２と一致した場合であっても適用例条件に格納された条件を満たす場合は同義語変換対象からはずす処理を行う例外判定部を備えても良い。
【０１１８】
適用例外３８３には例えば接辞が格納される。接辞とは、単語の前後などにくっついて単語の意味を変化させたり補ったりするものであり、例えば接頭語、接尾語、接周語などがある。また、日本語には無いが、単語を２つに分割し中に割り込む接中語もある。適用例外に接頭語が格納されている場合、例外判定部は対応する変換対象語の一つ前の形態素を確認し、この形態素が適用例外と一致する場合は同義語変換処理を行わない。これにより、不適切な同義語変換を防止することができる。
【０１１９】
また、本実施形態では図５のステップＳ３における同義語変換処理の後、文字列を生成し、出力する処理を行っているが、文書クラスタリングを行なっても良い。本実施形態による同義語変換処理を行ってから文書クラスタリングを行なうことにより、同義語を考慮した適切な分類を実現することができる。
【符号の説明】
【０１２０】
１０…コンピュータ、２０…外部記憶装置、２１…プログラム、３０…同義語変換装置、３１…入力部、３２…形態素解析部、３３…同義語変換部、３４…文字列生成部、３５…出力部、３６…複合語変換部、３７…単語変換部、３８…同義語辞書記憶部
【図１】
2013114633.tif 000003
【図２】
2013114633.tif 000004
【図３】
2013114633.tif 000005
【図４】
2013114633.tif 000006
【図５】
2013114633.tif 000007
【図６】
2013114633.tif 000008
【図７】
2013114633.tif 000009
【図８】
2013114633.tif 000010
【図９】
2013114633.tif 000011
【図１０】
2013114633.tif 000012
【図１１】
2013114633.tif 000013
【図１２】
2013114633.tif 000014
【図１３】
2013114633.tif 000015
【図１４】
2013114633.tif 000016
【図１５】
2013114633.tif 000017