説明

ローマ字変換を用いる日本語自動推薦システムおよび方法

【課題】ローマ字変換を用いる日本語自動推薦システムおよび方法が開示される。
【解決手段】本発明の日本語自動推薦システムは、日本語のひらがな形態またはカタカナ形態で表現される単語の発音をローマ字に変換するローマ字変換部、および前記変換されたローマ字に基づいて前記単語に対する類似語を検索する類似語検索部を含む。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、入力された日本語に対する類似語を推薦するシステムおよび方法に関し、より詳しくは、入力された日本語の発音をローマ字に変換して類似語を推薦するシステムおよび方法に関する。
【背景技術】
【0002】
ユーザは、所望する情報を得るために検索エンジンの検索ウィンドウに単語を入力して検索を行う。このとき、ユーザが単語を誤って入力して誤字が発生する場合、誤字によって検索される文書(検索結果)の品質が落ちたり、検索される文書の数がほとんどないという問題が発生していた。かかる問題を解決するために従来の検索エンジンでは、このような単語を誤字として判断し、ユーザが実際に入力しようとした誤字に対応する単語(検索語)を推薦する機能を備えている。
【0003】
一方、ユーザが単語を入力して検索を行ったとしても、ユーザの所望する検索結果を得るための最適な単語をユーザが入力しているケースは、少数に過ぎない。このため、検索エンジンが、ユーザが入力したその単語に対する検索結果を提供したとしても、ユーザはその検索結果に対して不満を持つことになる。そこで、このような問題を解決するために従来の検索エンジンは、ユーザが入力した単語に対する関連語または類似語を提供することによって検索の正確度の向上を図っている。
【0004】
しかしながら、上述した各状況は、特に日本語を用いて検索する場合に以下のような問題があった。すなわち、ユーザが入力した検索語としての日本語を誤字と判断して正しい単語を提示したり、あるいはユーザが入力した日本語に対する類似語を提供する場合、従来はその正確度を保証することができなかった。何よりも、日本語は、漢字、ひらがな、及びカタカナの形態で表現され、また、1つの単語がこれら3つの形態を含んでいるため、ユーザが入力した単語に対して適切な単語を推薦することが難しいという問題があった。したがって、漢字、ひらがな、及びカタカナの各形態の日本語が入力されても適切な単語を推薦する方法が切に求められる。
【発明の概要】
【発明が解決しようとする課題】
【0005】
本発明は、入力された日本語単語の発音をローマ字に変換し、変換されたローマ字に基づいて単語に対する類似語を検索することによって、日本語に対する類似語検索の正確度を向上させるシステムおよび方法を提供することを目的とする。
【0006】
また、本発明の他の目的は、入力された日本語単語が誤字であるかを判別し、誤字である場合に類似語を検索して正解単語を提供することによって、ユーザが検索語(質疑語)を誤って入力しても適切な正解単語を推薦して検索の正確度を向上させるシステムおよび方法を提供することにある。
【0007】
また、本発明の他の目的は、入力された日本語単語が漢字である場合、機械学習によって生成した学習データを介してトークンに分割し、分割されたトークンに対してひらがなに変換することで、迅速で正確な漢字−ひらがな変換を行うことができるシステムおよび方法を提供することにある。
【0008】
また、本発明の他の目的は、ユーザが入力した日本語単語の形態と異なる形態の類似語を検索して推薦することによって、ユーザがより正確な検索を行うことができるようにしたシステムおよび方法を提供することにある。
【課題を解決するための手段】
【0009】
本発明の一実施形態に係る日本語自動推薦システムは、日本語のひらがな形態またはカタカナ形態で表現される単語の発音をローマ字に変換するローマ字変換部と、前記変換されたローマ字に基づいて前記単語に対する類似語を検索する類似語検索部と、を含むことを特徴とする。
【0010】
また、本発明の一実施形態に係る日本語自動推薦システムは、前記検索された類似語を前記ひらがな、カタカナ、または漢字のうちのいずれか1つの日本語形態に変換して推薦する類似語推薦部をさらに含むことができる。
【0011】
本発明の一実施形態に係る日本語自動推薦システムは、入力された単語を分析して前記単語が誤字であるか否かを判断する誤字判断部をさらに含むことができる。
【0012】
本発明の一実施形態に係る日本語自動推薦システムは、入力された単語が誤字である場合、類似度点数または単語の入力頻度による編集距離に基づいて、前記検索された類似語のうちの前記単語に対する正解単語を選択する正解単語選択部をさらに含むことができる。
【0013】
本発明の一実施形態に係る日本語自動推薦システムは、入力された単語が漢字である場合、トークン分割学習データを用いて前記単語をトークン別に分割し、漢字−ひらがな変換学習データを用いて前記分割されたトークンに対応するひらがなに変換する漢字−ひらがな変換部をさらに含むことができる。
【0014】
本発明の一実施形態に係る日本語自動推薦方法は、日本語のひらがな形態またはカタカナ形態で表現される単語の発音をローマ字に変換するステップと、前記変換されたローマ字に基づいて前記単語に対する類似語を検索するステップと、を含むことができる。
【発明の効果】
【0015】
本発明の一実施形態によれば、入力された日本語単語の発音をローマ字に変換し、変換されたローマ字に基づいて単語に対する類似語を検索することによって、日本語に対する類似語検索の正確度を向上させることができる。
【0016】
本発明の一実施形態によれば、入力された日本語単語が誤字であるかを判別し、誤字である場合、類似語を検索して正解単語を提供することによって、ユーザが検索質疑を誤って入力しても適切な正解単語を推薦して検索の正確度を向上させることができる。
【0017】
本発明の一実施形態によれば、入力された日本語単語が漢字である場合、機械学習を介して生成した学習データによってトークンに分割し、分割されたトークンに対してひらがなに変換することによって迅速で正確な漢字−ひらがな変換を行うことができる。
【0018】
本発明の一実施形態によれば、ユーザが入力した日本語単語の形態と異なる形態の類似語を検索して推薦することによって、ユーザにさらに正確な検索を行うことができるようにすることができる。
【図面の簡単な説明】
【0019】
【図1】本発明の一実施形態に係る日本語自動推薦システムの全体構成を示すブロックダイアグラムである。
【図2】本発明の一実施形態によって入力された単語に対してローマ字変換を介して日本語を自動的に推薦する過程を示す図である。
【図3】本発明の一実施形態によって漢字からひらがなに変換する過程を示す図である。
【図4】本発明の一実施形態によってローマ字に変換する一例を示す図である。
【図5】本発明の一実施形態に係る日本語自動推薦方法の全体の過程を示すフローチャートである。
【発明を実施するための形態】
【0020】
以下、添付された図面に記載の内容を参照して本発明に係る実施形態を詳細に説明する。ただし、本発明が以下に説明する実施形態によって制限又は限定されることはない。また、各図面に提示された同じ参照符号は同じ部材を示す。
【0021】
図1は、本発明の一実施形態に係る日本語自動推薦システムの全体構成を示すブロックダイアグラムである。
【0022】
本実施形態の日本語自動推薦システム100は、コンピュータにより構成され、コンピュータが備える制御部(CPU)が、所定のプログラムを読み込むことにより後述する各部101〜106が実現される。また、本実施形態の日本語自動推薦システム100の1つの態様としては、検索サービスを提供するウェブサーバ又は検索語(質疑語)を用いた検索処理を遂行する検索サーバ(検索エンジン)の一部に組み込まれたり、ウェブサーバ又は検索サーバに対して別構成で接続されるコンピュータ装置として構成される。
【0023】
この場合、本実施形態の日本語自動推薦システム100は、ユーザ端末から所定の検索窓に入力された日本語単語の検索語(質疑語)に対し、後述する1つ又は複数の類似語を自動的に抽出し、抽出された類似語(検索語が誤字であると判断された場合に、類似語の中から抽出された正解語を含む)は、検索語に対する検索結果ページに露出される。日本語自動推薦システム100は、検索サーバが行う検索語に対する所定の検索結果の生成処理とは個別に、検索窓に入力された日本語単語を用いた類似語の抽出処理を遂行することができ、ウェブサーバや検索サーバの一部として組み込まれる場合は、ウェブサーバ又は検索サーバが、検索窓に対する検索語の入力をトリガーに、入力された日本語単語の検索語(質疑語)に対し、1つ又は複数の類似語を自動的に抽出し、抽出された類似語を含む検索結果ページを生成して検索要請をしたユーザのユーザ端末に伝送する。また、ウェブサーバ又は検索サーバに対して別構成で接続される場合は、ウェブサーバ又は検索サーバから検索窓に入力された検索語をネットワークを通じて受信し、受信した日本語単語の検索語(質疑語)に対して1つ又は複数の類似語を自動的に抽出し、抽出した類似語をウェブサーバ又は検索サーバに伝送する。
【0024】
図1に示すように、本実施形態の日本語自動推薦システム100は、誤字判断部101、漢字−ひらがな変換部102、ローマ字変換部103、類似語検索部104、類似語推薦部105、および正解単語選択部106を含んで構成される。
【0025】
日本語検索において、ユーザは所望する情報検索のために日本語を入力するが、このとき、ユーザは漢字、ひらがな、またはカタカナの各形態の日本語の単語A107を入力することができる。日本語自動推薦システム100は、ユーザが入力した各形態の単語107の発音をローマ字に変換することによって、より正確な日本語単語B108を推薦する。
【0026】
本発明の一実施形態として、誤字判断部101により所定の画面からユーザにより入力された日本語単語が誤字であるか否かを判断し、ユーザが誤字を入力した場合には、日本語自動推薦システム100は、漢字−ひらがな変換部102、ローマ字変換部103、類似語検索部104、及び類似語推薦部105により類似語を抽出し、正解単語選択部106が誤字に対する正しい単語(正解単語)を当該誤字に対して抽出された複数の類似語の中から選択して提供する。また、本発明の他の一実施形態として、誤字判断部101によって入力された日本語単語が誤字でないと判断された場合、または、誤字判断部101の判断処理とは無関係に、ユーザが誤字でない正確な単語を入力した場合、日本語自動推薦システム100は、漢字−ひらがな変換部102、ローマ字変換部103、類似語検索部104、及び類似語推薦部105を介して類似語を提供することができる。以下の説明では、ユーザが誤字を入力する場合を中心に説明する。
【0027】
誤字判断部101は、ユーザ端末を通じてユーザから入力された単語107を分析して単語107が誤字であるか否かを判断する。この場合、ローマ字変換部103は、ユーザが入力した単語107が誤字であると判断された場合、単語107をローマ字に変換する。
【0028】
一例として、誤字判断部101は、ユーザが入力した単語107が予め設定した誤字データに含まれるか否かに基づいて単語107が誤字であるか否かを判断することができる。具体的に、誤字判断部101は、予め登載された単語や検索エンジンで構築されたコンテンツDB目録、手動レビュー等によって決められ、所定の記憶領域に記憶される誤字データを用いて、ユーザが入力した単語107が誤字データに含まれる場合に誤字として判断する。
【0029】
また、他の一例として、誤字判断部101は、ユーザが入力した単語107の入力頻度または文書出現の頻度が、予め設定された基準頻度よりも低いか否かに基づいて単語107が誤字であるか否かを判断するようにしてもよい。
【0030】
このとき、単語107の入力頻度は、ユーザが入力した単語107の入力回数を意味する。すなわち、誤字判断部101は、入力頻度の低い単語107を誤字として判断することができる。また、文書出現の頻度は、入力された単語107を用いて文書を検索した際に、検索結果として抽出される文書の個数(回数)、言い換えれば、文書内に単語107を含む文書数を意味する。誤字判断部101は、単語107を文書内に含む文書数が所定の基準数よりも少ない場合に、文書出現の頻度が低い単語であると判断し、当該単語107を誤字として判断する。なお、この場合、日本語自動推薦システム100は、ユーザの単語入力に対して入力された単語別に入力回数を集計する機能やユーザが入力した単語を文書内に含む文書数を取得する機能を備えることができ、単語別の入力回数、文書数及びこれらの各々に対して予め設定される基準頻度(基準入力回数、基準文書数)等の情報を所定の記憶領域に記憶する。
【0031】
また、誤字判断部101は、単語107に対して文書出現の頻度が質疑頻度(単語107による質疑が入力された回数、例えば、単語107の入力頻度)よりも低い場合、該当の単語107を誤字として判断することもできる。また、誤字判断部101は、文書出現の頻度が低いながら連続した単語107(文書出現の頻度が低い、単語と単語が繋がっている連続した単語107)を誤字として判断するように構成してもよい。
【0032】
また、他の一例として、誤字判断部101は、ユーザが入力した単語107が形態素に分離されるか否かに基づいて単語107が誤字であるか否かを判断することができる。このとき、誤字判断部101は、入力された単語が形態素分析器や品詞タッガー(part of speech tagger)によって各形態素に分離される場合、該当単語107が誤字でないと判断することができる。言い換えれば、単語が誤字である場合、形態素(例えば、それ以上分解したら言語意味をなさなくなるまで分割して抽出された意味を持つ言語の最小の単位)に分離することができないため、誤字判断部101は、単語が形態素に分離される場合、ユーザが入力した単語107を正字(誤字でない単語)として判断することができる。
【0033】
漢字−ひらがな変換部102は、入力された単語107が漢字である場合、トークン分割学習データを用いて単語をトークン別に分割する。また、漢字−ひらがな変換部102は、漢字−ひらがな変換学習データを用いて分割されたトークンに対応する単語又は文字をひらがなに変換する。なお、日本語は、同じ漢字であっても使い方によって読み方が異なるため、漢字に対応する正確なひらがなに変換することが重要であるが、漢字−ひらがな変換部102の詳細な処理については、図3を参照して具体的に後述する。
【0034】
ローマ字変換部103は、日本語のひらがな形態またはカタカナ形態に表現された単語107を、その発音に基づいてローマ字(romaji)に変換する。、単語107が漢字である場合には、漢字−ひらがな変換部102によって単語107がひらがなに変換された後、ひらがなに変換された単語107を各ひらがな文字の発音に対応するローマ字に基づいて、ローマ字変換部103がローマ字に変換する。例えば、入力された単語が漢字の「映画」である場合、漢字−ひらがな変換部102によって「えいが」に変換され、ローマ字変換部103は、ひらがなに変換された単語の発音に基づいてローマ字(eiga)に変換する。ローマ字変換部103がローマ字に変換する例について図4を参照して具体的に後述する。
【0035】
類似語検索部104は、ローマ字変換部103によって変換されたローマ字に基づいて単語107に対する類似語を所定の類似語群から検索(抽出)する。一例として、類似語検索部104は、ローマ字に変換された単語の類似度(類似度点数)に基づいて当該単語に対する類似語を抽出することができる。ひらがな/カタカナまたは漢字の文字形態で、入力された単語と類似語として抽出される単語との間の類似度を測定することは編集距離の解像度が極めて低く、かつ正確度が落ちるため、本発明によれば、双方の単語を発音に基づいてローマ字に変換して類似度を測定する。例えば、「オリゴン」と「オリコン」を直接に比較することよりも、これをローマ字に変換し、「origon」と「orikon」とを比較することによって、より正確に類似度を比較することができる。
【0036】
このとき、類似度点数は、単語の長さに応じた入力頻度、単語が長音、中点、促音または濁音を含むか否かによる編集距離、または単語の原型状態の比較程度のうちの少なくとも1つに基づいて決定(算出)される。一例として、単語が漢字である場合、類似語検索部104は、漢字がローマ字に変換された形態の比較結果(ローマ字に変換された後の単語間の類似度)、漢字がひらがなに変換された形態の比較結果(ひらがなに変換された後の単語間の類似度)、および漢字の形態の比較結果(漢字形態での単語間の類似度)に基づいて、類似度点数を決めることができる。類似語検索については図2を参照して具体的に後述する。
【0037】
類似語推薦部105は、検索された類似語をひらがな、カタカナ、または漢字のうちのいずれか1つの日本語形態の単語108に変換して推薦する。ユーザは推薦される単語108を入力して検索を行うことができる。この場合、類似語推薦部105は、所定のページや画面等に抽出された入力された単語107に対する類似語である単語108を露出させる処理を遂行する。また、検索サーバの検索結果が露出される検索結果ページに類似語である単語108を露出させたり、検索結果ページを生成するウェブサーバや検索サーバに、単語108を送信する。
【0038】
なお、一例として、類似語推薦部105は、検索された類似語をユーザが入力した単語107の日本語形態と異なる形態の単語108に変換して推薦するようにしてもよい。例えば、ユーザがひらがな形態の単語107を入力した場合、類似語推薦部105は、入力された単語107に対する類似語を漢字形態の単語108に変換してユーザに推薦するようにしてもよい。
【0039】
正解単語選択部106は、ユーザから入力された単語107が誤字である場合、類似度点数または単語の入力頻度に基づく編集距離に基づいて、検索された類似語のうちの単語107に対する正解単語108を選択する。すなわち、誤字である入力された単語107に対して複数の類似語が検索される場合、正解単語選択部106は、類似度点数が最も高い又は所定の基準値よりも高い類似語、または当該単語の入力頻度が所定の基準値よりも高い類似語を正解単語108として選択して提供することができる。なお、編集距離は、単語間の類似度を判断するための直接的な根拠(基準)であり、編集距離が低ければ類似度が高くなる。すなわち、単語の入力頻度に基づく編集距離とは、例えば、入力頻度の高ければ高いほど単語の編集距離が低く付与されることを意味し、入力頻度に応じた編集距離、言い換えれば、単語の入力頻度に基づいて類似語を正解単語として選択することができる。
【0040】
図2は、本発明の一実施形態に係る入力される単語に対してローマ字変換によって日本語を自動的に推薦する過程を示す図である。
【0041】
ユーザ端末を介してユーザから日本語からなる単語が入力されると、誤字判断部101は、入力された単語が誤字であるかを判断する。上述したように、誤字判断部101は、単語が予め設定された誤字データに含まれるか否か、単語の入力頻度または文書出現の頻度が予め設定された基準頻度よりも低いか否か、または単語が形態素に分離されるか否かに基づいて、単語が誤字であるか否かを判断する。
【0042】
ユーザから入力された単語が誤字であると判断された場合、正解単語選択部106は、入力された単語に対して検索された類似語の中から所定の基準を満たす類似語を正解単語として選択して提供する。なお、入力された単語が誤字でないと判断された場合、すなわち、正字であると判断された場合には、正解単語選択部106は、動作しない。
【0043】
図2に示すように、入力された日本語単語は、ひらがな形態、カタカナ形態、または漢字形態のうちのいずれか1つであり、入力された単語がひらがな形態またはカタカナ形態である場合、ローマ字変換部103は、日本語のひらがな形態またはカタカナ形態に表現された単語の発音に基づいてローマ字(romaji)に変換する。
【0044】
一方、入力された単語が漢字形態である場合、漢字を直接ローマ字に変換することが難しいため、漢字−ひらがな変換部102によってひらがな形態に正規化する過程を経てることができる。具体的に、漢字−ひらがな変換部102は、トークン分割学習データを用いて漢字をトークン別に分割し、漢字−ひらがな変換学習データを用いて分割されたトークンに対応する単語又は文字をひらがなに変換することができる。そして、ローマ字変換部103は、漢字−ひらがな変換部102によって変換されたひらがなをその発音に対応するローマ字に変換する。
【0045】
類似語検索部104は、変換されたローマ字に基づいて単語に対する類似語を所定の類似語群から検索する。具体的に、類似語検索部104は、ローマ字に変換された単語の類似度点数に基づいて単語に対する類似語を検索する。
【0046】
一例として、類似度点数は、単語の長さに応じた入力頻度、単語が長音、中点、促音、または濁音が含まれるか否かに基づく編集距離、または単語の原型状態の比較程度のうちの少なくとも1つに基づいて決定される。
【0047】
単語の長さ、information−information [編集距離、類似度]
長音:ハロワーク(誤字)、ハロ-ワ-ク(誤字)、ハローワーク(正解)
中点:ピートローズ(誤字)、ピート・ローズ(正解)
半濁音:オリゴン(誤字)、オリコン(正解)
促音:ビクカメラ(誤字)ビックカメラ(正解)
原型:花よりだんごファイナル(誤字)花より男子ファイナル(正解)
【0048】
単語の長さが短いほど単語の入力頻度(入力回数)が増加するため、類似度検索部104は、単語の長さが短いほど類似度点数を増加させることができる(高い類似度点数を付与することができる)。言い換えれば、単語の長さに応じた入力頻度に基づく類似度点数とは、単語の長さとその単語の入力頻度との関係に基づいて、単語の長さが短いほど入力頻度が増加することに起因する単語の長さに応じて付与される類似度点である。
【0049】
日本語の長音(ー)は、他の文字に比べて容易に挿入され、または削除されるため、類似語検索部104は、単語に長音が含まれる場合、編集距離を小さく加重して類似度点数を増加させることができる。具体的には、単語に長音が含まれる場合、長音分編集距離が大きくなるが、長音は、他の文字に比べて容易に挿入され、または削除されるため、長音を含む編集距離に対して小さい加重値(例えば、0以上1未満の数字)を適用(乗算)し、長音を含む単語の編集距離を小さく調整し、類似度点数を増加させることができる。また、同様に、日本語の中点(・)は他の文字に比べて容易に挿入され、または削除されるため、類似語検索部104は、単語に中点が含まれる場合、編集距離を小さく加重して類似度点数を増加させてもよい。さらには、日本語の促音(っ)は、容易に省略されたり、類似発音として誤って用いられる場合が多いため、類似語検索部104は、入力された単語に促音が含まれる場合に編集距離を小さく加重して類似度点数を増加させることもできる。
【0050】
また、ローマ字に変換された形態だけでなく、類似語検索部104は、単語の原型状態の比較結果を類似度点数に反映することができる。原型状態を比較することによって、ローマ字に正規化した状態で類似語を検索する結果のエラーを補完することができる。例えば、入力された単語が「うとん」である場合、類似語検索部104は「うろん」よりも原型状態が類似する「うどん」の類似度点数を高く付与することによって、ローマ字変換によって類似度を判断するときのエラーを補完することができる。
【0051】
また、一例として、単語が漢字である場合、類似語検索部104は、ローマ字に変換された形態の比較結果、ひらがなに変換された形態の比較結果、および漢字本来の形態の比較結果に基づいて類似度点数を決定することもできる。具体的に、単語が漢字である場合、類似語検索部104は、下記の数式1によって類似度点数を決定することができる。
【0052】
【数1】

【0053】
ここで、qはユーザが入力した日本語(質疑語)、tは類似語を意味する。また、a、b、cは定数を意味する。このとき、a、b、cは、機械学習機能等によって導き出すことができる。
【0054】
このような過程を通じて類似語が検索(抽出)されると、図2に示すように、類似語推薦部105は、検索された類似語をひらがな、カタカナ、または漢字のうちのいずれか1つの日本語形態に変換して推薦する。例えば、入力された単語がひらがな形態である場合、類似語推薦部105は、検索された類似語をひらがな形態、カタカナ形態、または漢字状態のうちのいずれか1つの日本語形態に変換して推薦することができる。すなわち、類似語推薦部105は、検索された類似語を入力された単語の日本語形態と異なる形態に変換して推薦することができる。
【0055】
また、一例として、類似語推薦部105は、ローマ字に変換された状態の類似度とローマ字に変換されない状態の類似度との差が、予め設定した基準を超える場合、ローマ字に変換された状態の類似度が高い場合であっても該当の類似語を推薦しないようにすることができる。さらに他の一例としては、類似語推薦部105は、入力された単語が推薦される類似語よりもさらに多く用いられる場合に類似語を推薦しなくてもよい(ユーザに推薦される類似語の質疑頻度と、ユーザによって入力された単語107による質疑頻度(入力頻度)とを比較し、ユーザに推薦される類似語の質疑頻度がユーザによって入力された単語107による質疑頻度よりも低い場合、言い換えれば、ユーザが入力した単語107が推薦される類似語よりもその頻度が高い場合、あえて使用頻度の低い類似語を推薦しない)。
【0056】
また、入力された単語が誤字である場合、正解単語選択部106は、類似度点数または単語の入力頻度による編集距離に基づいて、検索された類似語のうちの単語に対する正解単語を選択してもよい。具体的に、正解単語選択部106は、類似度点数が最も高いか、または単語の入力頻度が高くて編集距離が低い類似語を単語に対する正解単語を選択することができる。
【0057】
図3は、本発明の一実施形態に係る漢字からひらがなに変換する過程を示す図である。
【0058】
本発明の一実施形態に係る漢字−ひらがな変換部102は、入力された漢字をひらがなに変換する。ローマ字変換部103は、漢字−ひらがな変換部102によって変換されたひらがな及び入力されたひらがな及びカタカナをローマ字に変換してもよい。
【0059】
一例として、漢字−ひらがな変換部102は、トークン分割学習データ302を用いてトークン分割処理305を遂行し、入力された漢字304をトークン別に分割する。そして、漢字−ひらがな変換学習データ303を用いて漢字−ひらがな変換処理306を遂行し、トークン分割処理によって分割されたトークン305を対応するひらがな307に変換する。
【0060】
例えば、入力された単語が「僕と彼女の生きる道」である場合、トークン分割学習データ302を用いて、「僕、と、彼女、の、生き、る、道」のようにトークン分割処理を行い、各トークンバイグラムから最大の確率値を有するひらがな状態列を選択する。具体的には、「僕−ぼく と 彼女−かのじょ の 生きる−いきる 道−みち」と変換し、最終的に「ぼくとかのじょのいきるみち」のひらがな形態に変換する。
【0061】
このとき、学習データは、日本語ニュースまたは日本語ブログに掲示された文書のような日本語文書301において漢字304に対応するひらがな学習文書を作り、学習文書に基づいて、所定の機械学習アルゴリズムによって入力形態に従うひらがなを選択して組み合わせることで決定することができる。
【0062】
一例として、トークン分割学習データ302は、漢字の形態素トークン別に分離するコーパス(corpus)を用いて、隠れマルコフモデル(Hidden Markov Model:HMM)基盤の分かち書き学習アルゴリズムに基づいて決定することができる。このとき、音節トライグラム(trigam)HMM基盤の分かち書き学習アルゴリズムに基づいてトークン分割学習データ302が決定することもできる。
【0063】
また、一例として、漢字−ひらがな変換学習データ303は、漢字304の形態素トークン別に分離するコーパスに基づく学習アルゴリズムに基づいて決定されたユニグラム(unigram)辞書303−1およびバイグラム(bigram)辞書303−2を含むことができる。この場合、ユニグラム辞書303−1は、トークンとひらがなとの間の頻度数(トークン−ひらがな)で構築することができる。バイグラム辞書303−2は、トークン間の頻度数(トークン1−トークン2)で構築することができる。すなわち、漢字−ひらがな変換部102は、日本語文書301から所定の学習処理に基づいて決定されたトークン分割学習データ302および漢字−ひらがな変換学習データ303を用いて漢字304をひらがな307に変換することができる。
【0064】
また、他の一例としては、漢字−ひらがな変換部102は、トークン分割学習データ301に基づいて漢字304から分割されたトークンに対し、2つのトークン毎にバイグラム辞書303−2を検索して、最大の確率を有するトークンを選択することができる。また、漢字−ひらがな変換部102は、最終的に選択されたトークンに対してユニグラム辞書303−1に対応するひらがな307に変換する。なお、バイグラム辞書303−2の情報量が足りない場合、漢字−ひらがな変換部102は、ユニグラム辞書303−1を用いて最大の確率を有するトークンを選択することができる。
【0065】
図4は、本発明の一実施形態におけるひらがな又はカタカナをローマ字に変換する一例を示す図である。
【0066】
同図に示すように、「あ」行と「か」行に対してローマ字に変換する一例を示している。ローマ字変換部103は、日本語のひらがな形態またはカタカナ形態で表現される単語の発音をローマ字(romaji)に変換する。このとき、入力された単語が漢字である場合、漢字−ひらがな変換部102によって漢字をひらがなに変換する。
【0067】
同図に示すように、「あ」行に対してローマ字変換部103は、ひらがな「あ」をローマ字「a」に変換する。また、ローマ字変換部103は、ひらがな「い」をローマ字「i」に変換する。同様に、ローマ字変換部103は各ひらがな「う」を「u」に、「え」を「e」に、「お」を「o」に変換する。このような変換過程を通じて日本語自動推薦システム100は、ひらがなまたはカタカナをローマ字に変換し変換されたローマ字を用いることでより精密に入力された単語の類似語を検索することができる。
【0068】
また、上述したように、ひらがなとカタカナをそのまま用いて類似語を検索する場合は、編集距離の解像度が低いため、人間ではないサーバのような機械の場合、「オリゴン」と「オリコン」を区別することが難しい。この場合、「オリゴン」と「オリコン」をローマ字の「origon」と「orikon」で比較することによって、より精密な類似度点数を算定して類似語推薦の正確度を向上させることができる。
【0069】
図5は、本発明の一実施形態に係る日本語自動推薦方法の全体の処理遷移を示すフローチャートである。
【0070】
同図を参照すると、日本語自動推薦システム100は、ユーザ端末に表示された所定のページ又は画面を介してユーザから入力された単語が誤字であるかを判断する(S501)。このとき、入力された単語が誤字である場合、日本語自動推薦システム100は、単語に対する類似語の中から正解単語を選択して提供する(S507)。
【0071】
日本語自動推薦システム100は、入力された単語が誤字でなく正字である場合であっても、入力された単語に対する類似語を自動的に推薦することができる。日本語自動推薦システム100は、入力された単語が漢字であるかを判断する(S502)。なお単語が漢字であると判断された場合、日本語自動推薦システム100は、漢字をひらがなに変換し(S503)、その後、ステップS504を遂行する。入力された単語が漢字でない場合は、ステップS504における変換過程を経ない。
【0072】
具体的に、日本語自動推薦システム100は、単語が漢字であると判断された場合又は入力された単語に漢字が含まれると判別された場合、トークン分割学習データを用いて単語をトークン別に分割し、さらに漢字−ひらがな変換学習データを用いて分割されたトークンに対応するひらがなに変換する。
【0073】
このとき、トークン分割学習データは、漢字の形態素トークン別に分離するコーパスを用いて隠れマルコフモデル基盤の分かち書き学習アルゴリズムに基づいて決定することができる。また、漢字−ひらがな変換学習データは、漢字の形態素トークン別に分離されるコーパスに基づく学習アルゴリズムによって決定されたバイグラム辞書およびユニグラム辞書を含むことができる。ここで、バイグラム辞書は、トークンとの間の頻度数で構築され、ユニグラム辞書は、トークンとひらがなとの間の頻度数で構築される。
【0074】
この場合、日本語自動推薦システム100は、分割されたトークンに対してバイグラム辞書を検索して最大の確率を示すトークンを選択し、選択されたトークンに対してユニグラム辞書に対応するひらがなに変換する。
【0075】
日本語自動推薦システム100は、日本語のひらがな形態またはカタカナ形態で表現される単語の発音をローマ字に変換する(S504)。日本語自動推薦システム100は、変換されたローマ字に基づいて入力された単語に対する類似語を検索する(S505)。
【0076】
なお、一例として、日本語自動推薦システム100は、ローマ字に変換された単語の類似度点数に基づいて入力された単語に対する類似語を検索することができる。このとき、類似度点数は、単語の長さに応じた入力頻度、単語が長音、中点、促音、または濁音が含まれるか否かによる編集距離または単語の原型状態の比較程度のうちの少なくとも1つに基づいて、またはこれらを組み合わせて決定することができる。
【0077】
また、日本語自動推薦システム100は、検索された類似語をひらがな、カタカナ、または漢字のうちのいずれか1つの日本語形態に変換してユーザに推薦することもできる(S506)。このとき、類似語推薦部105は、検索された類似語を入力された単語の日本語形態と異なる形態に変換して推薦することができる。
【0078】
また他の一例として、ローマ字に変換された状態の類似度とローマ字に変換されない状態の類似度との差が予め設定した基準を超える場合、日本語自動推薦システム100は、類似語を推薦しないように構成することもできる。また、他の一例としては、入力された単語が推薦される類似語よりもさらに多く用いられる場合、日本語自動推薦システムは類似語を推薦しなくてもよい。
【0079】
日本語自動推薦システム100は、ステップS501において、入力された単語が誤字であると判断される場合、類似度点数または単語出現頻度(例えば、単語の入力頻度)による編集距離に基づいて、検索された類似語の中から単語に対する正解単語を選択して提供する(S507)。
【0080】
図5において具体的に説明していない部分は、図1〜図4の説明を参考することができる。
【0081】
また、本発明の一実施形態に係る日本語自動推薦方法は、コンピュータにより実現される多様な動作を実行するためのプログラム命令を含むコンピュータ読取可能な記録媒体を含む。当該記録媒体は、プログラム命令、データファイル、データ構造などを単独または組み合わせて含むこともでき、記録媒体およびプログラム命令は、本発明の目的のために特別に設計されて構成されたものでもよく、コンピュータソフトウェア分野の技術を有する当業者にとって公知であり使用可能なものであってもよい。コンピュータ読取可能な記録媒体の例としては、ハードディスク、フロッピー(登録商標)ディスク及び磁気テープのような磁気媒体、CD−ROM、DVDのような光記録媒体、フロプティカルディスクのような磁気−光媒体、およびROM、RAM、フラッシュメモリなどのようなプログラム命令を保存して実行するように特別に構成されたハードウェア装置が含まれる。また、記録媒体は、プログラム命令、データ構造などを保存する信号を送信する搬送波を含む光または金属線、導波管などの送信媒体でもある。プログラム命令の例としては、コンパイラによって生成されるような機械語コードだけでなく、インタプリタなどを用いてコンピュータによって実行され得る高級言語コードを含む。上述したハードウェア装置は、本発明の動作を行うため1つ以上のソフトウェアモジュールとして作動するよう構成され、その逆も同様である。
【0082】
上述したように、本発明の好ましい実施形態を参照して説明したが、該当の技術分野において熟練した当業者にとっては、特許請求の範囲に記載された本発明の技術的思想および領域から逸脱しない範囲内で、本発明を多様に修正および変更させることができることを理解することができるであろう。すなわち、本発明の技術的範囲は、特許請求の範囲に基づいて定められ、発明を実施するための最良の形態により制限されるものではない。
【符号の説明】
【0083】
100:日本語自動推薦システム
101:誤字判断部
102:漢字−ひらがな変換部
103:ローマ字変換部
104:類似語検索部
105:類似語推薦部
106:正解単語選択部

【特許請求の範囲】
【請求項1】
日本語のひらがな形態またはカタカナ形態で表現される単語の発音をローマ字に変換するローマ字変換部と、
前記変換されたローマ字に基づいて前記単語に対する類似語を検索する類似語検索部と、
を含むことを特徴とする日本語自動推薦システム。
【請求項2】
前記類似語検索部は、前記ローマ字に変換された単語の類似度点数に基づいて前記単語に対する類似語を検索し、
前記類似度点数は、前記単語の長さに応じる入力頻度、前記単語が長音、中点、促音、または濁音を含むか否かによる編集距離、または前記単語の原型状態の比較程度のうちの少なくとも1つに基づいて決定されることを特徴とする請求項1に記載の日本語自動推薦システム。
【請求項3】
前記類似語検索部は、前記単語が漢字である場合、ローマ字に変換された形態の比較結果、ひらがなに変換された形態の比較結果および漢字本来の形態の比較結果に基づいて類似度点数を決めることを特徴とする請求項2に記載の日本語自動推薦システム。
【請求項4】
前記検索された類似語を前記ひらがな、カタカナ、または漢字のうちのいずれか1つの日本語形態に変換して推薦する類似語推薦部をさらに含むことを特徴とする請求項1に記載の日本語自動推薦システム。
【請求項5】
前記類似語推薦部は、(1)ローマ字に変換された状態の類似度とローマ字に変換されない状態の類似度との差が予め設定した基準を超える場合、または(2)前記単語が前記推薦される類似語よりもさらに多く用いられる場合に、前記類似語を推薦しないことを特徴とする請求項4に記載の日本語自動推薦システム。
【請求項6】
前記類似語推薦部は、前記検索された類似語を前記単語の日本語形態と異なる形態に変換して推薦することを特徴とする請求項4に記載の日本語自動推薦システム。
【請求項7】
入力された単語を分析して前記単語が誤字であるか否かを判断する誤字判断部をさらに含み、
前記ローマ字変換部は、前記入力された単語が誤字である場合、前記単語をローマ字に変換することを特徴とする請求項1に記載の日本語自動推薦システム。
【請求項8】
前記誤字判断部は、前記単語が予め設定された誤字データに含まれるか否か、前記単語の入力頻度または文書出現の頻度が予め設定された基準頻度よりも低いか否か、または前記単語が形態素に分離するか否かに基づいて、前記単語が誤字であるか否かを判断することを特徴とする請求項7に記載の日本語自動推薦システム。
【請求項9】
前記単語が誤字である場合、類似度点数または単語の入力頻度による編集距離に基づいて、前記検索された類似語のうちの前記単語に対する正解単語を選択する正解単語選択部をさらに含むことを特徴とする請求項7に記載の日本語自動推薦システム。
【請求項10】
入力された単語が漢字である場合、トークン分割学習データを用いて前記単語をトークン別に分割し、漢字−ひらがな変換学習データを用いて前記分割されたトークンに対応するひらがなに変換する漢字−ひらがな変換部をさらに含むことを特徴とする請求項1に記載の日本語自動推薦システム。
【請求項11】
前記トークン分割学習データは、前記漢字の形態素トークン別に分離するコーパスを用いて隠れマルコフモデル基盤の分かち書き学習によって決められることを特徴とする請求項10に記載の日本語自動推薦システム。
【請求項12】
前記漢字−ひらがな変換学習データは、漢字の形態素トークン別に分離するコーパスに基づく学習によって決められるバイグラム辞書およびユニグラム辞書を含み、
前記バイグラム辞書は、トークンとの間の頻度数で構築され、
前記ユニグラム辞書は、トークンとひらがなとの間の頻度数で構築されることを特徴とする請求項10に記載の日本語自動推薦システム。
【請求項13】
前記漢字−ひらがな変換部は、前記分割されたトークンに対してバイグラム辞書を検索して最大の確率を示すトークンを選択し、前記選択されたトークンに対してユニグラム辞書に対応するひらがなに変換することを特徴とする請求項12に記載の日本語自動推薦システム。
【請求項14】
コンピュータにより実行されるステップが、
日本語のひらがな形態またはカタカナ形態で表現される単語の発音をローマ字に変換するステップと、
前記変換されたローマ字に基づいて前記単語に対する類似語を検索するステップと、
を含むことを特徴とする日本語自動推薦方法。
【請求項15】
前記単語に対する類似語を検索するステップは、前記ローマ字に変換された単語の類似度点数に基づいて前記単語に対する類似語を検索し、
前記類似度点数は、前記単語の長さに応じる入力頻度、前記単語が長音、促音、または濁音を含むか否かによる編集距離、または前記単語の原型状態の比較程度のうちの少なくとも1つに基づいて決定されることを特徴とする請求項14に記載の日本語自動推薦方法。
【請求項16】
前記単語に対する類似語を検索するステップは、前記単語が漢字である場合、ローマ字に変換された形態の比較結果、ひらがなに変換された形態の比較結果および漢字本来の形態の比較結果に基づいて類似度点数を決めることを特徴とする請求項15に記載の日本語自動推薦方法。
【請求項17】
前記検索された類似語を前記ひらがな、カタカナ、または漢字のうちのいずれか1つの日本語形態に変換して推薦するステップをさらに含むことを特徴とする請求項14に記載の日本語自動推薦方法。
【請求項18】
前記検索された類似語を前記ひらがな、カタカナ、または漢字のうちのいずれか1つの日本語形態に変換して推薦するステップは、(1)ローマ字に変換された状態の類似度とローマ字に変換されない状態の類似度との差が予め設定した基準を超える場合、または(2)前記単語が前記推薦される類似語よりもさらに多く用いられる場合に、前記類似語を推薦しないことを特徴とする請求項17に記載の日本語自動推薦方法。
【請求項19】
前記検索された類似語を前記ひらがな、カタカナ、または漢字のうちのいずれか1つの日本語形態に変換して推薦するステップは、前記検索された類似語を前記単語の日本語形態と異なる形態に変換して推薦することを特徴とする請求項17に記載の日本語自動推薦方法。
【請求項20】
入力された単語を分析して前記単語が誤字であるか否かを判断するステップをさらに含み、
前記単語の発音をローマ字に変換するステップは、前記入力された単語が誤字である場合、前記単語をローマ字に変換することを特徴とする請求項14に記載の日本語自動推薦方法。
【請求項21】
前記単語が誤字であるか否かを判断するステップは、前記単語が予め設定された誤字データに含まれるか否か、前記単語の入力頻度または文書出現の頻度が予め設定された基準頻度よりも低いか否か、または前記単語が形態素に分離するか否かに基づいて、前記単語が誤字であるか否かを判断することを特徴とする請求項20に記載の日本語自動推薦方法。
【請求項22】
前記単語が誤字である場合、類似度点数または単語の入力頻度による編集距離に基づいて、前記検索された類似語のうちの前記単語に対する正解単語を選択するステップをさらに含むことを特徴とする請求項20に記載の日本語自動推薦方法。
【請求項23】
入力された単語が漢字である場合、トークン分割学習データを用いて前記単語をトークン別に分割し、漢字−ひらがな変換学習データを用いて前記分割されたトークンに対応するひらがなに変換するステップをさらに含むことを特徴とする請求項14に記載の日本語自動推薦方法。
【請求項24】
前記トークン分割学習データは、前記漢字の形態素トークン別に分離するコーパスを用いて、隠れマルコフモデル基盤の分かち書き学習によって決められることを特徴とする請求項23に記載の日本語自動推薦方法。
【請求項25】
前記漢字−ひらがな変換学習データは、漢字の形態素トークン別に分離するコーパスに基づく学習によって決定されたバイグラム辞書およびユニグラム辞書を含み、
前記バイグラム辞書は、トークンとの間の頻度数で構築され、
前記ユニグラム辞書は、トークンとひらがなとの間の頻度数で構築されることを特徴とする請求項23に記載の日本語自動推薦方法。
【請求項26】
前記分割されたトークンに対応するひらがなに変換するステップは、
前記分割されたトークンに対し、バイグラム辞書を検索して最大の確率を表すトークンを選択するステップと、
前記選択されたトークンに対し、ユニグラム辞書に対応するひらがなに変換するステップと、
を含むことを特徴とする請求項23に記載の日本語自動推薦方法。
【請求項27】
コンピュータに、請求項14〜26のいずれか一項の方法を実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2011−8784(P2011−8784A)
【公開日】平成23年1月13日(2011.1.13)
【国際特許分類】
【出願番号】特願2010−141508(P2010−141508)
【出願日】平成22年6月22日(2010.6.22)
【出願人】(505205812)エヌエイチエヌ コーポレーション (408)
【Fターム(参考)】