(57)【特許請求の範囲】
【請求項１】
複合語の区切り位置を推定する複合語区切り推定装置であって、
予め、複数の語について、前記語が複数の形態素で構成される複合語であるか否かの情報、および前記複合語である場合には前記複合語を構成する複数の形態素間の区切り位置を記憶する学習データ記憶部と、
前記語が含む文字それぞれの特徴量を用いて、前記語をベクトル化するベクトル処理部と、
前記ベクトル処理部にてベクトル化した、前記学習データ記憶部に記憶されていない未知語のベクトルと前記学習データ記憶部に記憶されている複数の既知語のベクトルとを用いて、前記未知語と前記既知語それぞれとの類似度を計算する類似度計算部と、
前記類似度を、前記複合語である前記既知語との類似度および前記複合語でない前記既知語との類似度に分類し、それぞれを比較することにより、前記未知語が複合語であるか否かの推定を行う推定部と、
を備え、
前記推定部は、前記未知語のベクトルと前記複合語である既知語のベクトルそれぞれとの前記類似度を、前記複合語である既知語の形態素間の区切り位置を条件として分類し、それぞれの類似度を比較することにより、前記未知語の形態素間の区切り位置を推定する複合語区切り推定装置。
【請求項２】
学習データ記憶部は、接辞であることを表す重み付け値を、前記接辞に対して記憶し、
前記ベクトル処理部は、前記語をベクトル化する際に前記重み付け値を用いる請求項１に記載の複合語区切り推定装置。
【請求項３】
文書から前記未知語を切り出す形態素解析部を備えた請求項１または２のいずれかに記載の複合語区切り推定装置。
【請求項４】
前記類似度に、コサイン類似度を用いる請求項１から３のいずれかに記載の複合語区切り推定装置。
【請求項５】
前記特徴量は、前記語が含む文字それぞれの出現頻度である請求項１から４のいずれかに記載の複合語区切り推定装置。
【請求項６】
前記学習データ記憶部に記憶されている情報は、ｋ最近傍法により生成される請求項１から５のいずれかに記載の複合語区切り推定装置。
【請求項７】
複合語の区切り位置を推定する複合語区切り推定方法であって、
コンピュータが、
予め、複数の語について、前記語が複数の形態素で構成される複合語であるか否かの情報、および前記複合語である場合には前記複合語を構成する形態素間の区切り位置を記憶する学習データに記憶されていない未知語および前記学習データに記憶されている複数の既知語について、前記語が含む文字それぞれの特徴量を用いて、前記語をベクトル化するステップと、
前記未知語のベクトルと前記既知語のベクトルそれぞれとの類似度を計算するステップと、
前記類似度を、前記複合語である前記既知語との類似度および前記複合語でない前記既知語との類似度に分類し、それぞれを比較することにより、前記未知語が前記複合語であるか否かの推定を行うステップと、
前記未知語のベクトルと前記複合語である既知語のベクトルそれぞれとの前記類似度を、前記複合語である既知語の形態素間の区切り位置を条件として分類し、それぞれを比較することにより、前記未知語の形態素間の区切り位置を推定するステップと、
を実行する複合語区切り推定方法。
【請求項８】
複合語の区切り位置を推定する複合語区切り推定プログラムであって、
コンピュータに、
予め、複数の語について、前記語が複数の形態素で構成される複合語であるか否かの情報、および前記複合語である場合には前記複合語を構成する形態素間の区切り位置を記憶する学習データに記憶されていない未知語および前記学習データに記憶されている複数の既知語について、前記語が含む文字それぞれの特徴量を用いて、前記語をベクトル化するステップと、
前記未知語のベクトルと前記既知語のベクトルそれぞれとの類似度を計算するステップと、
前記類似度を、前記複合語である前記既知語との類似度および前記複合語でない前記既知語との類似度に分類し、それぞれを比較することにより、前記未知語が前記複合語であるか否かの推定を行うステップと、
前記未知語のベクトルと前記複合語である既知語のベクトルそれぞれとの前記類似度を、前記複合語である既知語の形態素間の区切り位置を条件として分類し、それぞれを比較することにより、前記未知語の形態素間の区切り位置を推定するステップと、
を実行させる複合語区切り推定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複合語の区切り位置を推定する技術に関する。
【背景技術】
【０００２】
さまざまなシステムにおいて、人間が日常使用している日本語等の自然言語を解析する自然言語情報処理が用いられている。自然言語情報処理の基礎技術の１つとして、形態素解析がある。形態素解析とは、文章を文法的に意味ある最小単位である形態素に区切り、辞書を利用して形態素の品詞や内容を判別する処理のことである。日本語の様にスペース等で区切りのない言語の場合、形態素解析では、辞書にある名詞を形態素として区切ったり、前後の品詞を見て文法的におかしい区切り方は省く等の処理を行う。
【０００３】
形態素解析において、複合語を辞書に収録された基本語（形態素）の組み合わせに適切に区切ることは重要である。ここで、複合語とは、複数の形態素で構成されている語のことであり、例えば、「本部長」や「株式会社」である。複合語を適切に区切ることが重要であるのは、複合語の区切り方によって、形態素解析後の処理に影響を与えるからである。例えば、「本部長」を検索する場合に、「本」「部長」と区切ったり、「本部」「長」と区切ったりできる複合語では、後者において「部長」のキーワードで検索してもヒットせず、検索漏れが生じてしまうという問題が起きる。
【０００４】
そこで、このような問題を解決するため、複合語を辞書に収録された基本語の組み合わせに適切に区切るためのさまざまな方法が提案されている（例えば、特許文献１、２）。
【０００５】
特許文献１には、複合語を２文字の漢字語基と１文字の接辞とに分割する方法が開示されている。特許文献１に記載の方法によれば、漢字２文字組に対して単語頭頻度と単語末頻度を関連付けた辞書を設け、形態素解析時に文字境界に頻度情報と基本単語分割指数を設定し、最適な単語分割処理を行う。
【０００６】
特許文献２には、複合語を効率的に分割する形態素解析装置が開示されている。特許文献２に記載の形態素解析装置は、マスター辞書に見出し語とそれに対応する分割可能フラグを設け、トークンリスト（自然言語文の構成要素リスト）作成時に「複合語に分割する」の条件が与えられた場合に、分割可能な見出し語を除いて、トークンリストに登録し、また、トークンリストを用いて入力された自然言語文を構成する最適なトークン列を出力する。
【０００７】
【特許文献１】特開２００２−２５９３７０号公報
【特許文献２】特開２００４−２４６４４０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、特許文献１に記載の方法および特許文献２に記載の装置では、予め辞書に登録されている語しか分割することができない。また、特許文献１に記載の方法では、単語頭頻度と単語末頻度を関連付けた辞書を用いて、複合語の分割を行う旨記載されているが、分割処理は頻度に関する統計結果に依存するため、分割位置の変更が困難であるという問題点もある。更に、特許文献２に記載の装置では、マスター辞書に見出し語とそれに対応する分割フラグを設け、分割可能な語とそうでない語との識別を行っているが、複合語の分割フラグを予め作成しなければならず手間もかかる。
【０００９】
本発明は、上記課題に鑑み、予め辞書に登録されている語のみならず、登録されていない語についても複合語であるか否かの推定を行い、また、複合語である場合には適切な区切り位置を推定する複合語区切り推定装置、方法、およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
（１）  複合語の区切り位置を推定する複合語区切り推定装置であって、
予め、複数の語について、前記語が複数の形態素で構成される複合語であるか否かの情報、および前記複合語である場合には前記複合語を構成する複数の形態素間の区切り位置を記憶する学習データ記憶部と、
前記語が含む文字それぞれの特徴量を用いて、前記語をベクトル化するベクトル処理部と、
前記ベクトル処理部にてベクトル化した、前記学習データ記憶部に記憶されていない未知語のベクトルと前記学習データ記憶部に記憶されている複数の既知語のベクトルとを用いて、前記未知語と前記既知語それぞれとの類似度を計算する類似度計算部と、
前記類似度を、前記複合語である前記既知語との類似度および前記複合語でない前記既知語との類似度に分類し、それぞれを比較することにより、前記未知語が複合語であるか否かの推定を行う推定部と、
を備え、
前記推定部は、前記未知語のベクトルと前記複合語である既知語のベクトルそれぞれとの前記類似度を、前記複合語である既知語の形態素間の区切り位置を条件として分類し、それぞれの類似度を比較することにより、前記未知語の形態素間の区切り位置を推定する複合語区切り推定装置。
【００１１】
（１）の発明によれば、未知語のベクトルと１以上の複合語である既知語のベクトルとの類似度、および未知語のベクトルと１以上の複合語でない既知語のベクトルとの類似度を計算し、それらを比較することにより未知語が複合語であるか否かを推定することができる。従来、辞書等を用いなければ複合語であるか否かを判断することができなかったが、（１）の発明によれば、辞書等を用いずに未知語が複合語であるか否かを推定することができる。また、辞書等を用いないため、辞書等に登録されていない形態素を含む未知語についても複合語であるか否かの判断を行うことができる。なお、語のベクトルを用いることにより、語間の類似性を定量的に評価することができる。
【００１２】
また、複合語である未知語のベクトルと複合語である既知語のベクトルとの類似度を計算し、類似度を複合語である既知語の区切り位置にて分類し、それらを比較することにより、未知語の区切り位置を推定することができる。従来、辞書等を用い、かつ辞書等に登録されている形態素でなければ、複合語の区切り位置を判断することができなかったが、（１）の発明によれば、辞書等を用いずに未知語の区切り位置を推定することができる。
【００１３】
ここで、「語」とは、形態素解析により分割される対象であり、形態素、単語、および複合語等を含む。また、未知語と既知語のいずれも含み、漢字のみから構成される語に限らず、仮名等を含む語も含む。また、「特徴量」とは、語や文字の特徴を数値化したものである。なお、既に述べたように、「形態素」とは、意味あるいは文法機能を持つ最小の単位である。
【００１４】
（２）  学習データ記憶部は、接辞であることを表す重み付け値を、前記接辞に対して記憶し、
前記ベクトル処理部は、前記語をベクトル化する際に前記重み付け値を用いる（１）に記載の複合語区切り推定装置。
【００１５】
（２）の発明によれば、語のベクトル化に接辞であることを表す重み付け値を用いることにより、語が接辞を含むという特徴をベクトルに反映することができる。それにより、語が接辞を有するという特徴を加味した類似度を求めることができる。なお、「接辞」とは、それ自体は独立した単語にはなれないが、他の単語に付いてその単語の意味を広げたり、文中での役割を示したりするものであり、接頭語および接尾語である。
【００１６】
（３）  文書から前記未知語を切り出す形態素解析部を備えた（１）または（２）のいずれかに記載の複合語区切り推定装置。
【００１７】
（３）の発明によれば、文書から形態素を切り出す形態素解析部を分離して備えることにより、形態素解析部を世の中に普及しているものの中からより適切なものを選択することができるので、文書の種類、分野等に応じて、文書をより適切に形態素に分割することができ、また、文書から未知語をより適切に切り出すことができる。
【００１８】
（４）  前記類似度に、コサイン類似度を用いる（１）から（３）のいずれかに記載の複合語区切り推定装置。
【００１９】
（４）の発明によれば、類似度にコサイン類似度を用いることにより、ベクトル空間に基づいた語間の類似性を計算することができる。それにより、語間の類似度を求めることができる。
【００２０】
（５）  前記特徴量は、前記語が含む文字それぞれの出現頻度である（１）から（４）のいずれかに記載の複合語区切り推定装置。
【００２１】
（５）の発明によれば、語が含む文字それぞれの容易に取得できる出現頻度を特徴量をすることができる。それにより、特徴量を容易に抽出することができる。
【００２２】
（６）  前記学習データ記憶部に記憶されている情報は、ｋ最近傍法により生成される（１）から（５）のいずれかに記載の複合語区切り推定装置。
【００２３】
（６）の発明によれば、学習データ記憶部に記憶されている情報は、ｋ最近傍法（ｋ−Ｎｅａｒｅｓｔ  Ｎｅｉｇｈｂｏｒ，ｋ−ＮＮ）により生成されることにより、語が複合語であるか否かおよび複合語の区切り位置を統計的に、精度よく得ることができる。それにより、学習データ記憶部に記憶されている語が複合語であるか否か、およびその区切り位置を的確に求めることができる。
【００２４】
（７）  複合語の区切り位置を推定する複合語区切り推定方法であって、
コンピュータが、
予め、複数の語について、前記語が複数の形態素で構成される複合語であるか否かの情報、および前記複合語である場合には前記複合語を構成する形態素間の区切り位置を記憶する学習データに記憶されていない未知語および前記学習データに記憶されている複数の既知語について、前記語が含む文字それぞれの特徴量を用いて、前記語をベクトル化するステップと、
前記未知語のベクトルと前記既知語のベクトルそれぞれとの類似度を計算するステップと、
前記類似度を、前記複合語である前記既知語との類似度および前記複合語でない前記既知語との類似度に分類し、それぞれを比較することにより、前記未知語が前記複合語であるか否かの推定を行うステップと、
前記未知語のベクトルと前記複合語である既知語のベクトルそれぞれとの前記類似度を、前記複合語である既知語の形態素間の区切り位置を条件として分類し、それぞれを比較することにより、前記未知語の形態素間の区切り位置を推定するステップと、
を実行する複合語区切り推定方法。
【００２５】
（８）  更に、前記語をベクトル化する際に、接辞であることを表す重み付け値を用いる（７）に記載の複合語区切り推定方法。
【００２６】
（９）  更に、文書から前記未知語を切り出すステップを含む（７）または（８）のいずれかに記載の複合語区切り推定方法。
【００２７】
（１０）  前記類似度に、コサイン類似度を用いる（７）から（９）のいずれかに記載の複合語区切り推定方法。
【００２８】
（１１）  前記特徴量は、前記語が含む文字それぞれの出現頻度である（７）から（１０）のいずれかに記載の複合語区切り推定方法。
【００２９】
（１２）  複合語の区切り位置を推定する複合語区切り推定プログラムであって、
コンピュータに、
予め、複数の語について、前記語が複数の形態素で構成される複合語であるか否かの情報、および前記複合語である場合には前記複合語を構成する形態素間の区切り位置を記憶する学習データに記憶されていない未知語および前記学習データに記憶されている複数の既知語について、前記語が含む文字それぞれの特徴量を用いて、前記語をベクトル化するステップと、
前記未知語のベクトルと前記既知語のベクトルそれぞれとの類似度を計算するステップと、
前記類似度を、前記複合語である前記既知語との類似度および前記複合語でない前記既知語との類似度に分類し、それぞれを比較することにより、前記未知語が前記複合語であるか否かの推定を行うステップと、
前記未知語のベクトルと前記複合語である既知語のベクトルそれぞれとの前記類似度を、前記複合語である既知語の形態素間の区切り位置を条件として分類し、それぞれを比較することにより、前記未知語の形態素間の区切り位置を推定するステップと、
を実行させる複合語区切り推定プログラム。
【発明の効果】
【００３０】
本発明によれば、予め辞書に登録されている語のみならず、登録されていない語についても複合語であるか否かの推定を行い、また、複合語である場合には適切な区切り位置を推定する複合語区切り推定装置、方法、およびプログラムを提供することができる。
【発明を実施するための最良の形態】
【００３１】
以下、本発明を実施するための最良の形態について図を参照しながら説明する。なお、これはあくまでも一例であって、本発明の技術的範囲はこれに限られるものではない。
【００３２】
［第１実施形態］
（システムの概要）
図１は、本発明の第１実施形態の複合語区切り推定装置１００（以下、「装置１００」という）を示す概略図である。図１に示すように、装置１００は、形態素解析部１１０、複合語区切り推定部２１０、辞書ＤＢ１２０、および学習データ記憶部として学習データＤＢ２２０を備える。装置１００は、外部のパーソナルコンピュータ（ＰＣ）からインターネットやイントラネットに代表されるネットワーク等の通信回線を介して、文字列を示すデータを受信し、翻訳等の処理を行い、処理後のデータをそのＰＣ等へ返送するようになっている。
【００３３】
形態素解析部１１０は、通信部（図示せず）にて受け付けた文字列を形態素解析し、解析結果を生成する。なお、形態素解析部１１０は、一般に普及されている既存の技術を用いて形態素解析を行う。複合語区切り推定部２１０は、形態素解析部１１０にて行われた形態素解析の解析結果に含まれる未知語が複合語であるか否かの推定、および複合語である未知語の区切り位置の推定を行う。なお、既に述べたように、未知語とは、学習データＤＢ２２０に記憶されていない語をいう。それに対し、学習データＤＢ２２０に記憶されている語は既知語という。
【００３４】
辞書ＤＢ１２０は、日本語の複数の形態素それぞれを品詞と対応付けて記憶しており、形態素解析部１１０が文字列を形態素解析する際に用いられる。なお、辞書ＤＢ１２０は、形態素解析に用いられる既存の辞書である。学習データＤＢ２２０は、日本語の複数の語それぞれについて、複合語であるか否かの情報、および複合語の区切り位置を対応付けて記憶している。また、接辞である形態素について、重み付け値を記憶している。
【００３５】
なお、本実施形態においては、形態素解析部１１０、複合語区切り推定部２１０、辞書ＤＢ１２０、および学習データＤＢ２２０は装置１００内部に備えられているが、それぞれを外部の装置としてもよい。
【００３６】
（装置１００の主な機能構成）
図２は、本発明の第１実施形態の形態素解析部１１０の機能構成を示す図である。形態素解析部１１０は、文字列受信部１１１、単語分割部１１２、および解析結果生成部１１３を有する。文字列受信部１１１は、通信部を介して外部から受信した文字列を受け付ける。単語分割部１１２は、文字列受信部１１１によって受け付けた文字列を形態素解析する。解析結果生成部１１３は、単語分割部１１２にて形態素解析された結果に基づいて、文字列の解析結果を生成する。
【００３７】
図３は、本発明の第１実施形態の複合語区切り推定部２１０の機能構成を示す図である。複合語区切り推定部２１０は、対象語受信部２１１、ベクトル処理部２１２、類似度計算部２１３、推定部としてクラス推定部２１４、および推定結果生成部２１５を有する。対象語受信部２１１は、形態素解析部１１０から受信した複合語区切り推定部２１０の処理対象である未知語を受け付ける。ベクトル処理部２１２は、未知語および既知語をベクトル化する。類似度計算部２１３は、ベクトル処理部２１２にて求められた未知語および既知語のベクトルを用いて、未知語と複数の既知語それぞれとの類似度を計算する。クラス推定部２１４は、類似度計算部２１３にて計算された類似度に基づいて、分類したいクラス毎の類似度を計算し、未知語のクラスを推定する。推定結果生成部２１５は、クラス推定部２１４にて求められたクラスに基づいて、未知語を分割した結果を生成する。
【００３８】
（学習データＤＢ２２０の構成）
図４は、学習データＤＢ２２０の学習データテーブルの一例を示す図である。学習データテーブルは、学習データである語の複合語情報を格納している。学習データは、語、語形成クラス、および区切りクラス等が関連付けられて構成されている。なお、ここに示した項目は例示であり、その他の項目を有してもよい。学習データテーブルに記録されている語は、既に述べたように既知語であるが、別の言い方をすると、既知語は語形成クラス、および語が複合語である場合には、区切りクラスも判明している語である。
【００３９】
語形成クラスには、語が複数の形態素で構成される複合語であるか否かの情報、ここでは、複合語クラス、または単語クラスのいずれかが記憶される。ここで、複合語クラスを「ｍａ−ｐ」、単語クラスを「ｍａ−ｓ」とする。例えば、「差別化」は「差別」と「化」の２つの形態素から構成される複合語であるので、図示するように「ｍａ−ｐ」に属する。一方「海岸線」は、１つの形態素から構成される単語であるため、図示するように「ｍａ−ｓ」に属する。なお、既知語の語形成クラス、および区切りクラスの決定は、ｋ最近傍法等の分類器を用いて行ってもよいし、既知語それぞれの語構成要素間の関係に基づいて行ってもよい。なお、。ｋ最近傍法とは１個の最も類似した用例を用いるかわりに、類似度の上位から順に取り出したｋ個の用例の多数決によりクラス求める方法であり、パターン認識の手法の１つである。
【００４０】
区切りクラスには、既知語が複合語である場合に、複合語の区切りクラスが定義される。区切りクラスとは、複合語の区切り位置によって分類されるクラスである。３文字の複合語の場合に、区切りクラスは１文字目と２文字目の間で区切られる「１−２３」と、２文字目と３文字目の間で区切られる「１２−３」の２つのクラスである。例えば、「差別化」は、「差別」と「化」とに分かれるので、図示するように「１２−３」のクラスに属する。一方、「仮処分」は、「仮」と「処分」とに分かれるので、図示するように「１−２３」のクラスに属する。なお、本実施形態において既知語は３文字であるが、４文字以上であってもよい。但し、語形成クラスおよび区切りクラスの推定には、未知語と同じ文字数の既知語を少なくとも記憶している学習データテーブルが必要である。
【００４１】
（複合語区切り推定処理）
図５は、複合語区切り推定処理のフローチャートである。対象語受信部２１１が、未知語を受信すると処理が開始する。
Ｓ１：複合語区切り推定部２１０は、未知語と複数の既知語それぞれとの類似度を計算し、その結果を既知語の語形成クラスに基づいて分類し、クラス毎に類似度を集計することで、未知語と「ｍａ−ｐ」および未知語と「ｍａ−ｓ」の類似度を算出する。
Ｓ２：複合語区切り推定部２１０は、未知語が「ｍａ−ｐ」または「ｍａ−ｓ」のいずれのクラスに属するか判断を行う。
Ｓ３：複合語区切り推定部２１０は、ステップＳ１にて未知語が複合語であると判断されると、未知語の区切りクラスを推定し、未知語の分割を行う。
ステップＳ２にて、複合語区切り推定部２１０が、未知語が単語であると判断する、または、複合語である未知語を分割すると処理は終了する。以下に、ステップＳ１およびＳ３の処理について詳細に説明する。
【００４２】
図６は、語形成クラス推定処理のフローチャートである。まず、ステップＳ１およびステップＳ２で行われる、未知語が「ｍａ−ｐ」または「ｍａ−ｓ」のいずれに属するか判断する処理について、図６を用いて説明する。
Ｓ１１：対象語受信部２１１は、形態素解析部１１０から未知語を取得する。
Ｓ１２：ベクトル処理部２１２は、未知語が含む文字それぞれの特徴量を用いて、未知語をベクトル化する。それにより、語の特徴を特徴量で数値化することができ、語間の類似度を定量的に求めることができる。
【００４３】
語が含む文字それぞれの特徴量として文字の出現頻度を用いて、語をベクトル化する方法を一例として説明する。例えば、「差別化」の場合には、「差」、「別」、「化」がそれぞれ１回ずつ出現するので、「差別化」のベクトルは、「差別化」＝（１，１，１）と表される。また、「地対地」の場合には、「地」が２回、「対」が１回出現するので、「地対」＝（２，１）と表される。なお、語をベクトル化する方法として、文字の出現・非出現を１，０にて表す方法や、ＴＦ−ＩＤＦ（Ｔｅｒｍ  Ｆｒｅｑｕｅｎｃｙ−Ｉｎｖｅｒｓｅ  Ｄｏｃｕｍｅｎｔ  Ｆｒｅｑｕｅｎｃｙ）等を用いてもよい。また、語が含む文字それぞれの特徴量として文字の出現頻度を用いる方法の他に、語が含む文字の確率値を用いる方法もある。
【００４４】
Ｓ１３：ベクトル処理部２１２は、既知語をベクトル化する。ベクトル化する方法は、ステップＳ１２にて説明した方法を用いる。なお、予め、既知語のベクトルを求め、学習データテーブルに記憶させておいてもよい。
Ｓ１４：類似度計算部２１３は、未知語と複数の既知語それぞれとの類似度をステップＳ１２およびＳ１３にて求めたそれぞれのベクトルを用いて計算する。本実施形態において、類似度には、語が含む文字それぞれの特徴量として文字の出現頻度を用いてベクトル化した、未知語のベクトルと既知語のベクトルとのコサイン（余弦）をとって類似度とするコサイン類似度を用いる。
【００４５】
図７は、コサイン類似度の概念図を示す図である。ベクトルｘ１とベクトルｘ２のコサイン類似度の求め方について、図７を用いて説明する。コサイン類似度は、２つのベクトルのコサインをとって類似度とする方法であり、コサインの値が大きいほど類似度は高く、２つのベクトルはより類似していることを意味する。ベクトルｘ１とベクトルｘ２のコサイン類似度は以下に示すの式（１）により求められる。
【００４６】
【数１】
0004979637.tif 000002
【００４７】
例えば、「小天地」と「小作地」のコサイン類似度を求める場合について説明する。まず、「小天地」および「小作地」をベクトル化する。上述したように、語に含まれる文字の出現頻度を用いてベクトル化をすると、「小天地」のベクトルは（１，１，１）、「小作地」のベクトルは（１，１，１）となる。式（１）に「小天地」および「小作地」のベクトル値を代入した式（２）にて、「小天地」と「小作地」のコサイン類似度が、０．６７であることを求めることができる。コサイン類似度を用いることで、簡単な計算により２つの語間の類似度を求めることができる。
【００４８】
【数２】
0004979637.tif 000003
【００４９】
Ｓ１５：類似度計算部２１３は、未知語と複数の既知語それぞれとの類似度を計算し終わったか判断する。
Ｓ１６：ステップＳ１５において、未知語と複数の既知語それぞれとの類似度を計算し終わったと判断されると、類似度に基づいて未知語が「ｍａ−ｐ」または「ｍａ−ｓ」のいずれの語形成クラスに属するかクラス推定を行う。
【００５０】
例えば、ステップＳ１４にて求めた類似度の上位５つを、「ｍａ−ｐ」の既知語と「ｍａ−ｓ」の既知語との２つに分類し、それぞれの類似度の集計値が高いクラスに未知語は属するとする方法がある。また、別の方法としては、もっとも類似度の高い既知語の語形成クラスを未知語の語形成クラスとする方法もある。なお、統計的に類似度を処理し、未知語の語形成クラスを決定するのが望ましい。精度の高い推定結果が得られるためである。
【００５１】
このように、既知語との類似度に基づいて、未知語が複合語であるか否かの判断を行うことにより、未知語が学習データテーブルに登録されているか否かにかかわらず、未知語を複合語であるか否かの判断することができる。
【００５２】
具体例として、未知語「小天地」の語形成クラス推定処理について説明する。学習データテーブルに、「ｍａ−ｐ」の既知語「小作地」、「安息地」、「ｍａ−ｓ」の既知語「新天地」、「地対地」、「天地人」の５つが登録されているとする。まず、ステップＳ１２およびＳ１３において、未知語および既知語それぞれをベクトル化する。次に、ステップＳ１４において、式（１）に未知語および既知語それぞれのベクトル代入して求められた類似度を求める。それぞれの類似度は以下に示す式（３）のようになる。なお、「小作地」については式（２）にて求めた値を用いる。
【００５３】
【数３】
0004979637.tif 000004
【００５４】
ステップＳ１６において、「ｍａ−ｐ」の既知語と「ｍａ−ｓ」の既知語との２つに分け、それぞれのクラスと未知語「小天地」との類似度を集計すると、「ｍａ−ｐ」は０．６７＋０．３３＝１．００、「ｍａ−ｓ」は０．６７＋０．５７＋０．６７＝１．９１となる。よって、未知語「小天地」は類似度の大きい「ｍａ−ｓ」に属すると判断され、複合語でないと推定される。このようにして、未知語が、属する語形成クラスが推定され、複合語であるか否かが推定される。
【００５５】
図８は、区切りクラス推定処理のフローチャートである。ステップＳ３の複合語である未知語が属する区切りクラスを判断する処理について、図８を用いて説明する。本実施形態において、未知語は３文字であるので、区切りクラスは、「１２−３」および「１−２３」の２つのクラスである。
【００５６】
Ｓ２１：クラス推定部２１４は、図６のステップＳ１６において、複合語であると推定された未知語の区切りクラスを推定する。なお、未知語および既知語のベクトルは、図６のステップＳ１２およびＳ１３にて求めた値を、類似度は、図６のステップＳ１４にて求めた値を用いる。クラス推定部２１４は、類似度に基づいて未知語が「１２−３」または「１−２３」のいずれの区切りクラスに属するかクラス推定を行う。クラスの推定は、語形成クラスの推定方法と同様に、「１２−３」の既知語との類似度と「１−２３」の既知語との類似度に分類、集計し、類似度が高いクラスを未知語が属するクラスと推定する等の方法により行う。
【００５７】
Ｓ２２：推定結果生成部２１５は、ステップＳ２１にて決定された区切りクラスに基づいて、未知語を分割し、出力部（図示せず）を介して結果を出力する。
【００５８】
このように、予め区切りクラスが決定している既知語との類似度に基づいて、未知語の区切りクラスを推定し、未知語の分割を行うことにより、学習データテーブルに未知語を構成する形態素が登録されているか否かにかかわらず、未知語の分割の判断を行うことができる。また、学習データテーブルに記憶されている複数の語との類似度に基づいて、クラスを推定することにより、より適切なクラスを推定することができる。
【００５９】
（変形例）
以上のように未知語と既知語の類似度はコサイン類似度を用いて求めることができるが、編集距離ベースにて類似度を求めることもできる。以下に、編集距離（レーベンシュタイン距離）ベースを用いた場合の類似度の求め方について説明する。
【００６０】
編集距離とは、情報理論において、２つの文字列がどの程度異なっているかを示す数値であり、文字の挿入、削除、置換によって、１つの文字列を別の文字列に変形するのに必要な最小回数である。例えば、ｋｉｔｔｅｎをｓｉｔｔｉｎｇに変形する場合、以下のように変形の最小回数は３回であるので、２語間の編集距離は３となる。
（１） 
ｋｉｔｔｅｎのｋをｓに置換し、ｓｉｔｔｅｎに変形する。
（２） 
ｓｉｔｔｅｎのｅをｉに置換し、ｓｉｔｔｉｎに変形する。
（３） 
ｓｉｔｔｉｎにｇを挿入して、ｓｉｔｔｉｎｇを取得する。
【００６１】
上述した編集距離ベースを用いた類似度は以下の式（４）にて求めることができる。
【数４】
0004979637.tif 000005
【００６２】
例えば、「小天地」と「小作地」の編集距離ベースを用いた類似度は、以下のように求められる。なお、「小天地」の天を作に変換すると「小作地」が取得できるので、２つ文字列間の編集距離は１である。
【数５】
0004979637.tif 000006
【００６３】
このようにして求めた類似度を用いて、語形成クラスおよび区切りクラスを推定することができる。また、上述した、コサイン類似度や編集距離ベースにて類似度を求める方法の他に、ＫＬ（Ｋｕｌｌｂａｃｋ−Ｌｅｉｂｌｅｒ）情報量を用いる方法もある。ＫＬ情報量を用いる場合には、語が含む文字それぞれの確率値を用いてベクトル化した、語のベクトルを用いる。なお、ＫＬ情報量の場合には、値が小さいほど２つの語は類似していることを意味する。
【００６４】
上記実施形態では、日本語の複合語についての複合語推定および複合語区切りの推定を行っているが、日本語と同じように分かち書きされない言語、例えば、中国語等に適用することもできる。
【００６５】
［第２実施形態］
次に、第１実施形態との相違を中心に、第２実施形態を説明する。第１の実施形態と異なる点は、語をベクトル化する際に、接辞ルールを適用する点である。以下に、接辞ルールを適用した場合の語のベクトル化について説明する。接辞ルールは、学習データＤＢ２２０に接辞ルールテーブルとして格納される。
【００６６】
図９は、第２実施形態における接辞ルールテーブルの一例である。接辞ルールデータは接辞、区分、および重み付け値等が関連付けられて構成されている。なお、ここに示した項目は例示であり、その他の項目を有してもよい。接辞には、接頭語および接尾語が記録される。区分には、接辞が接頭語であるか接尾語であるかの区分が記憶され、ここでは、接頭語を「ｐｒｅ」、接尾語を「ｓｕｆ」で表す。重み付け値には、語をベクトル化する際に、接辞である形態素を特徴化するための数値が記憶され、ベクトルの構成要素として用いられる。この重み付け値は、ｋ最近傍法等の分類器を用いて算出してもよいし、装置１００の管理者等が任意に決定してもよい。
【００６７】
接辞ルールを用いた場合の語のベクトル化、および類似度の計算について具体例を用いて説明する。なお、類似度にはコサイン類似度を用い、接辞の重み付け値には図９に示す接辞ルールテーブルの値を用いる。具体例には、「同意見」および「両意見」を用いる。「同意見」は、接頭語を１つ含み、かつ「同」、「意」、「見」がそれぞれ１回ずつ出現するので、「同意見」のベクトルは、「同意見」＝（１０，１，１，１）と表される。同様に、「両意見」は「両意見」＝（１０，１，１，１）と表される。類似度は、以下の式（５）にて求められる。
【００６８】
【数６】
0004979637.tif 000007
このように、接辞ルールを用いることにより、語が接辞を含むという特徴を加味した類似度を求めることができる。なお、他に語構成の特徴を現す要素をベクトルに反映させてもよい。
【００６９】
［複合語区切り推定装置１００のハードウェア構成］
図１０は、本発明の各実施形態に係る複合語区切り推定装置１００のハードウェア構成を示す図である。以下は、コンピュータを典型とする情報処理装置として全般的な構成を説明するが、専用機や組み込み型装置の場合、その環境に応じて必要最小限な構成を選択できることはいうまでもない。
【００７０】
複合語区切り推定装置１００は、制御部３００を構成するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３１０（マルチプロセッサ構成ではＣＰＵ３２０等複数のＣＰＵが追加されてもよい）、バスライン２００、通信Ｉ／Ｆ（Ｉ／Ｆ：インターフェイス）３３０、メインメモリ３４０、ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）３５０、表示装置３６０、Ｉ／Ｏコントローラ３７０、キーボードおよびマウス等の入力装置３８０、ハードディスク３９０、光ディスクドライブ４００、並びに半導体メモリ４２０を備える。なお、ハードディスク３９０、光ディスクドライブ４００、並びに半導体メモリ４２０はまとめて記憶装置４３０と呼ぶ。
【００７１】
制御部３００は、複合語区切り推定装置１００を統括的に制御する部分であり、ハードディスク３９０（後述）に記憶された各種プログラムを適宜読み出して実行することにより、上述したハードウェアと協働し、本発明に係る各種機能を実現している。
【００７２】
通信Ｉ／Ｆ３３０は、複合語区切り推定装置１００が、通信ネットワークを介して他の情報処理装置と情報を送受信する場合のネットワーク・アダプタである。通信Ｉ／Ｆ３３０は、モデム、ケーブル・モデムおよびイーサネット（登録商標）・アダプタを含んでよい。
【００７３】
ＢＩＯＳ３５０は、複合語区切り推定装置１００の起動時にＣＰＵ３１０が実行するブートプログラムや、複合語区切り推定装置１００のハードウェアに依存するプログラム等を記録する。
【００７４】
表示装置３６０は、ブラウン管表示装置（ＣＲＴ）、液晶表示装置（ＬＣＤ）等のディスプレイ装置を含む。
【００７５】
Ｉ／Ｏコントローラ３７０には、ハードディスク３９０、光ディスクドライブ４００、および半導体メモリ４２０等の記憶装置４３０を接続することができる。
【００７６】
入力装置３８０は、複合語区切り推定装置１００のユーザによる入力の受け付けを行うものである。
【００７７】
ハードディスク３９０は、各種プログラムや各種データを記憶する。なお、複合語区切り推定装置１００は、外部に別途設けたハードディスク（図示せず）を外部記憶装置として利用することもできる。
【００７８】
光ディスクドライブ４００としては、例えば、ＤＶＤ−ＲＯＭドライブ、ＣＤ−ＲＯＭドライブ、ＤＶＤ−ＲＡＭドライブ、ＣＤ−ＲＡＭドライブを使用することができる。この場合は各ドライブに対応した光ディスク４１０を使用する。光ディスク４１０から光ディスクドライブ４００によりプログラムまたはデータを読み取り、Ｉ／Ｏコントローラ３７０を介してメインメモリ３４０またはハードディスク３９０に提供することもできる。
【００７９】
なお、本発明でいうコンピュータとは、記憶装置、制御部等を備えた情報処理装置をいい、複合語区切り推定装置１００は、記憶装置４３０、制御部３００等を備えた情報処理装置により構成され、この情報処理装置は、本発明のコンピュータの概念に含まれる。
【００８０】
形態素解析部１１０、および複合語区切り推定部２１０は、制御部３００によってプログラムが実行されることで実現される。また、辞書ＤＢ１２０および学習データＤＢ２２０は、主としてハードディスク３９０に実装される。
【図面の簡単な説明】
【００８１】
【図１】本発明の第１実施形態の複合語区切り推定装置を示す概略図である。
【図２】本発明の第１実施形態の形態素解析部の機能構成を示す図である。
【図３】本発明の第１実施形態の複合語区切り推定部の機能構成を示す図である。
【図４】学習データテーブルの一例を示す図である。
【図５】複合語区切り推定処理のフローチャートである。
【図６】語形成クラス推定処理のフローチャートである。
【図７】コサイン類似度の概念図を示す図である。
【図８】区切りクラス推定処理のフローチャートである。
【図９】本発明の第２実施形態における接辞ルールテーブルの一例である。
【図１０】本発明の各実施形態に係る複合語区切り推定装置のハードウェア構成を示す図である。
【符号の説明】
【００８２】
１００  複合語区切り推定装置
１１０  形態素解析部
１１１  文字列受信部
１１２  単語分割部
１１３  解析結果生成部
１２０  辞書ＤＢ
２１０  複合語区切り推定部
２１１  対象語受信部
２１２  ベクトル処理部
２１３  類似度計算部
２１４  クラス推定部
２１５  推定結果生成部
２２０  学習データＤＢ
【図１】
0004979637.tif 000008
【図２】
0004979637.tif 000009
【図３】
0004979637.tif 000010
【図４】
0004979637.tif 000011
【図５】
0004979637.tif 000012
【図６】
0004979637.tif 000013
【図７】
0004979637.tif 000014
【図８】
0004979637.tif 000015
【図９】
0004979637.tif 000016
【図１０】
0004979637.tif 000017