説明

統計データに基づくユーザクエリ校正システムおよび方法

【課題】クエリ全体を単位として、または単語を単位としてユーザクエリが誤字・脱字クエリであるか否かを判断することによって、誤字・脱字クエリを判断する正確度を向上するユーザクエリ校正システムおよび方法を提供する。
【解決手段】統計データに基づくユーザクエリ校正システムおよび方法が開示される。ユーザクエリ校正システムは、入力されたユーザクエリが誤字・脱字クエリであるか否かを判断する誤字・脱字クエリ判断部と、ユーザクエリのクエリ全体を単位として前記誤字・脱字クエリとして判断されたユーザクエリを校正する全体クエリ単位校正部と、ユーザクエリを構成する単語単位で前記誤字・脱字クエリとして判断されたユーザクエリを校正する単語単位校正部とを含んでもよい。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は統計データに基づくユーザクエリ校正システムおよび方法に関し、より詳しくは、誤字・脱字クエリとして判断されるユーザクエリに対し、クエリ全体を単位として、または単語を単位として校正するシステムおよび方法に関する。
【背景技術】
【0002】
ユーザは、所望する情報を得るために検索を行う場合を考える。この場合、ユーザは検索ページのクエリ入力ウィンドウにクエリ(単語、キーワードや問い合わせ式)を入力することによって検索を行うことができる。このとき、ユーザは、ハングル−英語の変換キーや日本語−英語の変換キーを適切に切り替えることができず、誤ったクエリを入力する場合がある。また、キーボードに存在する他のキーを誤って押すか、あるいは重複して押すなどして、意図しないクエリが入力されるときがある。
【0003】
このようにユーザにとって意図されない誤字・脱字クエリの入力に対してして検索を行なうと、本来意図した検索結果と全く関係のない検索結果が導き出されることになり、検索の品質が悪化する虞がある。
【0004】
したがって、ユーザが無意識的に誤字・脱字クエリを入力することがあることに対応するためには、誤字・脱字クエリが入力されたときに、リアルタイムに誤字・脱字クエリをユーザが本来意図する正字クエリに変更する方法が必要である。
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかし、ユーザが本来に入力しようとした正字クエリを検索エンジンなどのシステムが把握することには難しい問題があり、かえってシステムが提案した正字クエリが意図しない結果をもたらす虞がある。
【0006】
したがって、ユーザが誤字・脱字クエリを入力してしまった場合、ユーザの意図を反映して正確度の高い正字クエリを提供する方法が要求される。
【課題を解決するための手段】
【0007】
本発明は、クエリ全体を単位として(全体クエリ単位に)、または、単語を単位として(単語単位に)、ユーザクエリが誤字・脱字クエリであるか否かを判断することによって、誤字・脱字クエリを判断する正確度を向上させるユーザクエリ校正システムおよび方法を提供する。
【0008】
本発明は、クエリ全体を単位として、または、単語を単位として誤字・脱字として判断されたユーザクエリを校正することによって、誤字・脱字クエリをより正確に校正することのできるユーザクエリ校正システムおよび方法を提供する。
【0009】
本発明は、クエリ全体を単位として誤字・脱字クエリを校正する場合、ユーザクエリがクエリ全体を単位として校正された校正クエリよりも確率が高い場合、クエリ校正を行わないことによって、ユーザの意図を充実に反映させたユーザクエリ校正システムおよび方法を提供する。
【0010】
本発明は、単語を単位として誤字・脱字クエリを校正する場合、それぞれの単語に対する候補単語を生成し、候補単語を組み合わせて発生する候補クエリの中から最も確率の高い候補クエリに校正することによって、誤字・脱字クエリを校正するにあたって正確度を向上させるユーザクエリ校正システムおよび方法を提供する。
【0011】
本発明の一実施形態に係るユーザクエリ校正システムは、入力されたユーザクエリが誤字・脱字クエリであるか否かを判断する誤字・脱字クエリ判断部と、前記ユーザクエリについてクエリ全体を単位として前記誤字・脱字クエリとして判断されたユーザクエリを校正する全体クエリ単位校正部と、前記ユーザクエリを構成する単語単位で前記誤字・脱字クエリとして判断されたユーザクエリを校正する単語単位校正部と、を含んでもよい。
【0012】
本発明の一側面による誤字・脱字クエリ判断部は、前記ユーザクエリに対してクエリ全体を単位として誤字・脱字クエリであるか否かを判断する第1判断部と、前記ユーザクエリに対して単語を単位として誤字・脱字クエリであるか否かを判断する第2判断部と、を含んでもよい。
【0013】
本発明の一側面による全体クエリ単位校正部は、前記ユーザクエリが誤字・脱字−正字クエリの対により構成される辞書データの誤字・脱字クエリに登録されているか否かを判断する登録判断部と、前記誤字・脱字クエリに登録された場合、前記誤字・脱字−正字クエリの対により構成される辞書データに基づく正字クエリと前記ユーザクエリそれぞれに対して確率を算出する確率算出部と、を含んでもよい。
【0014】
本発明の一側面による単語単位校正部は、前記ユーザクエリを1つ以上の単語に分離する単語分離部と、前記分離した単語別に校正候補単語を生成する候補単語生成部と、前記生成された校正候補単語に基づいて前記ユーザクエリに対する校正クエリを決定する校正クエリ決定部と、を含んでもよい。
【0015】
本発明の一側面によるユーザクエリ校正方法は、入力されたユーザクエリが誤字・脱字クエリであるか否かを判断するステップと、前記ユーザクエリについて、クエリ全体を単位として前記誤字・脱字クエリとして判断されたユーザクエリを校正するステップと、前記ユーザクエリを構成する単語単位で前記誤字・脱字クエリとして判断されたユーザクエリを校正するステップと、を含んでもよい。
【発明の効果】
【0016】
本発明の一実施形態によれば、クエリ全体を単位として、または、単語を単位としてユーザクエリが誤字・脱字クエリであるか否かを判断することによって、誤字・脱字クエリの判断についての正確度を向上させるユーザクエリ校正システムおよび方法が提供される。
【0017】
本発明の一実施形態によれば、クエリ全体を単位として、または、単語を単位として誤字・脱字として判断されたユーザクエリを校正することによって、誤字・脱字クエリをより正確に校正することのできるユーザクエリ校正システムおよび方法が提供される。
【0018】
本発明の一実施形態によれば、クエリ全体を単位として誤字・脱字クエリを校正する場合、ユーザクエリがクエリ全体を単位として校正された校正クエリよりも確率の高い場合にクエリ校正を行わないことによって、ユーザの意図を忠実に反映したユーザクエリ校正システムおよび方法が提供される。
【0019】
本発明の一実施形態によれば、単語を単位として誤字・脱字クエリを校正する場合、各単語に対する候補単語を生成し、候補単語を組み合わせて発生する候補クエリのうち、最も確率の高い候補クエリに校正することによって、誤字・脱字クエリを校正することにおいて正確度を向上させるユーザクエリ校正システムおよび方法が提供される。
【図面の簡単な説明】
【0020】
【図1】本発明の一実施形態に係るユーザクエリ校正システムの動作を説明するための図である。
【図2】本発明の一実施形態に係るユーザクエリ校正システムの全体的な構成を示すブロックダイアグラムである。
【図3】本発明の一実施形態に係る誤字・脱字クエリ判断部の動作を説明するためのフローチャートである。
【図4】本発明の一実施形態に係る全体クエリ単位校正部の動作を説明するためのフローチャートである。
【図5】本発明の一実施形態に係る単語単位校正部において全体動作を説明するためのフローチャートである。
【図6】本発明の一実施形態に係る単語別の校正候補を生成する過程を示すフローチャートである。
【図7】本発明の一実施形態に係るユーザクエリから単語単位の校正によって校正クエリを生成する一例を示す図である。
【図8】本発明の一実施形態に係るユーザクエリ校正方法を示すフローチャートである。
【発明を実施するための形態】
【0021】
以下、添付された図面に記載された内容を参照して本発明に係る実施形態を詳細に説明する。ただし、本発明が実施形態によって制限されたり限定されたりすることはない。各図面に提示された同一の参照符号は同一の部材を示す。
【0022】
図1は、本発明の一実施形態に係るユーザクエリ校正システムの動作を説明するための図である。
【0023】
図1に示すように、ユーザは検索のためのユーザクエリを入力することができる。このとき、ユーザクエリは、1つまたは2つ以上の単語で構成されていてもよい。入力されたユーザクエリはユーザクエリ校正システム100に送信されてもよい。そして、ユーザクエリ校正システム100は、入力されたユーザクエリが誤字・脱字クエリであるか否かを判断してもよい。
【0024】
もし、ユーザクエリが誤字・脱字クエリであると判断された場合、ユーザクエリ校正システム100は、誤字・脱字クエリを校正した校正クエリを提供してもよい。一例として、ユーザクエリ校正システム100は、クエリ全体を単位として誤字・脱字クエリを校正してもよい。また、クエリ全体を単位として校正が失敗すれば、ユーザクエリ校正システム100は単語単位に応じて誤字・脱字クエリを校正してもよい。
【0025】
このとき、ユーザクエリ校正システム100が、誤字・脱字クエリを校正した校正クエリを生成するとしても、ユーザにとっては、校正クエリよりも、最初に入力したユーザクエリが好ましい場合がある。この場合には、ユーザクエリ校正システム100は、校正クエリでない、そのままのユーザクエリを結果として導き出してもよい。
【0026】
図2は、本発明の一実施形態に係るユーザクエリ校正システムの全体的な構成を示すブロックダイアグラムである。
【0027】
図2に示すように、ユーザクエリ校正システム100は、誤字・脱字クエリ判断部201、全体クエリ単位校正部202、および単語単位校正部203を含んでもよい。
【0028】
本明細書において用いられる用語を定義すれば次のとおりである。
【0029】
ユーザクエリはユーザが入力したクエリを意味する。例えば、ユーザクエリは、ユーザが検索するとき、あるいは、文書の作成のときなどに入力される単語または単語の集合で構成されてもよい。
【0030】
誤字・脱字クエリは、ユーザが入力したユーザクエリのうち、日英キー(日本語−英語の変換キー)などの変換キーが誤って押下された場合や押下されなかった場合、または他のキーの押下が誤ったなどの理由により発生するクエリを意味する。誤字・脱字クエリが発生する理由は他にも様々に存在し得る。
【0031】
誤字・脱字−正字クエリが対で構成される辞書データは、誤字・脱字クエリそれぞれに対応する正字クエリを含むデータを意味してもよい。誤字・脱字クエリは空白を含んでもよく、正字クエリも空白を含んでもよい。誤字・脱字−正字クエリの対により構成される辞書データの一例は次のとおりである。
【0032】
【表1】



【0033】
正字単語で構成される辞書データは、正字単語が含まれるデータを意味する。一例として、正字単語は、国語辞書、百科辞書などの正確度が極めて高いデータから抽出してもよい。誤字・脱字−正字クエリが対で構成される辞書データは、誤字・脱字クエリ全てに対する正字クエリを提供するものである。一方、正字単語で構成される辞書データは、誤字・脱字クエリを構成する各単語に対応する正字単語を提供してもよい。
【0034】
誤字・脱字クエリ判断部201は、入力されたユーザクエリが誤字・脱字クエリであるか否かを判断してもよい。一例として、誤字・脱字クエリ判断部201は、第1判断部および第2判断部を含んでもよい。
【0035】
本発明の一実施形態によれば、第1判断部はユーザクエリについてクエリ全体を単位として誤字・脱字クエリであるか否かを判断してもよい。このとき、第1判断部は、ユーザクエリを誤字・脱字−正字クエリが対で構成される辞書データから探索し、ユーザクエリに対してクエリ全体を単位として誤字・脱字クエリであるか否かを判断してもよい。
【0036】
すなわち、第1判断部は、誤字・脱字−正字クエリが対で構成される辞書データにユーザクエリの全体が存在するか否かを探索し、ユーザクエリが誤字・脱字クエリであるか否かを判断してもよい。もし、ユーザクエリが2つ以上の単語で構成された場合、第1判断部は単語の間の区切り(例えば、空白やその他の区切り文字)を維持して辞書データを検索してもよい。言い換えると、ユーザクエリを、単語の間の区切りで区切って1つ以上の単語を切り出し、切り出された単語のそれぞれについて、誤字・脱字の単語であるかを判断してもよい。もし、誤字・脱字の単語であると判断されれば、正字の単語に校正して、ユーザクエリを再構成してもよい。ユーザクエリを再構成するには、切り出され、必要であれば正字の単語に校正した後、単語の区切りを維持して単語を連接する。
【0037】
本発明の一実施形態によれば、第2判断部は、ユーザクエリに対して単語単位で誤字・脱字クエリであるか否かを判断してもよい。このとき、第2判断部は、ユーザクエリを構成する単語について、正字単語により構成される辞書データを探索し、ユーザクエリに対して単語単位で誤字・脱字クエリであるか否かを判断してもよい。すなわち、第2判断部は、ユーザクエリを構成する各構成要素を正字単語と比べ、ユーザクエリが誤字・脱字クエリであるか否かを判断してもよい。
【0038】
誤字・脱字クエリ判断部201に対しては図3において更に具体的に説明する。
【0039】
全体クエリ単位校正部202は、ユーザクエリのクエリ全体を単位として、誤字・脱字クエリとして判断されたユーザクエリを校正してもよい。すなわち、全体クエリ単位校正部202は、入力されたユーザクエリの全体に対応して校正クエリを生成してもよい。一例として、全体クエリ単位校正部202は、登録判断部および確率算出部を含んでもよい。
【0040】
本発明の一実施形態によれば、登録判断部は、ユーザクエリが誤字・脱字−正字クエリの対により構成される辞書データの誤字・脱字クエリに登録されているか否かを判断してもよい。このとき、ユーザクエリが辞書データに誤字・脱字クエリとして登録されていない場合、クエリ全体を単位とする校正は失敗した(あるいは、クエリ全体は構成する必要がなかった)ものと処理される。
【0041】
一方、ユーザクエリが辞書データに誤字・脱字クエリとして登録されている場合、確率算出部は、誤字・脱字−正字クエリの対により構成される辞書データに基づく正字クエリとユーザクエリそれぞれに対して確率を算出してもよい。このとき、算出される確率は、辞書データに基づく正字クエリが検索に更に適切であるか、またはユーザが最初に入力したユーザクエリが検索において更に適切であるか否かを表してもよい。このとき、確率算出部は、ユーザクエリと正字クエリとの間の異なる音節に基づいて音節変換の確率を算出してもよい。
【0042】
ユーザクエリの確率が正字クエリの確率よりも大きい場合、クエリ全体を単位とするクエリ校正を終了してもよい(校正を行なわない、あるいはユーザクエリを校正クエリとする)。反対に、正字クエリの確率がユーザクエリの確率よりも大きい場合、正字クエリを校正クエリとして決定してもよい。全体クエリ単位校正部202については、図4を参照して具体的に説明する。
【0043】
単語単位校正部203は、ユーザクエリを構成する単語単位で誤字・脱字クエリとして判断されたユーザクエリを校正してもよい。本発明の一実施形態によれば、単語単位校正部203は、単語分離部、候補単語生成部、および校正クエリ決定部を含んでもよい。
【0044】
単語分離部は、ユーザクエリを、1つ以上の単語に分離してもよい。このとき、単語分離部は、ユーザクエリに含まれた空白などの単語区切りを単位として分離を行ない、1つ以上の単語にユーザクエリを分離してもよい。例えば、ユーザクエリが「A B C」として構成されている場合、単語分離部は、空白を単位として、ユーザクエリを「A」、「B」、「C」に分離してもよい。また、ユーザクエリを1つ以上の単語に分離する場合には、空白を単位とする以外に、句読点などの区切り文字を単位として分離してもよいし、形態素解析などの手法を用いて個々の単語に分離(切り出)してもよい。
【0045】
候補単位生成部は、分離した単語ごとに校正候補単語を生成してもよい。本発明の一実施形態によれば、候補単語生成部は、第1探索部、第2探索部、および候補単語抽出部を含んでもよい。
【0046】
第1探索部は、正字単語で構成された辞書データを、分離された個々の単語について探索をしてもよい。すなわち、分離された個々の単語についてその単語が辞書データに含まれているかどうかを検出するために辞書データを検索してもよい。また、第1探索部において単語の探索が失敗すれば、第2探索部は、誤字・脱字−正字クエリの対により構成される辞書データを、分離された個々の単語について探索をしてもよい。第2探索部において単語の探索が失敗すれば、候補単語抽出部は、日英変換による候補単語または音節変換の規則による校正候補単語を抽出してもよい。第1探索部および第2探索部において単語の探索が成功すれば、探索された単語を校正候補単語としてもよい。
【0047】
校正クエリ決定部は、候補単語生成部によって生成された校正候補単語に基づいてユーザクエリに対する校正クエリを決定してもよい。一例として、校正クエリ決定部は、ユーザクエリを構成する単語が含まれた校正候補単語を組み合わせて最適な校正クエリを決定してもよい。このとき、校正クエリ決定部は、ユーザクエリを構成する単語と校正候補単語とを組み合わせて生成される候補クエリの中から最も確率の高い候補クエリを校正クエリとして決定してもよい。
【0048】
単語単位校正部203については、図5〜図7を参照して具体的に説明する。
【0049】
図3は、本発明の一実施形態に係る誤字・脱字クエリ判断部の動作を説明するためのフローチャートである。
【0050】
誤字・脱字クエリ判断部201は、入力されたユーザクエリが誤字・脱字クエリであるか否かを判断してもよい。具体的に、誤字・脱字クエリ判断部201は、クエリ全体を単位として誤字・脱字−正字クエリの対により構成される辞書データを検索してもよい(S301)。例えば、ユーザクエリが「スマップ 政界に一つだけの花」と入力され、誤字・脱字−正字クエリが対で構成される辞書データに「スマップ 政界に一つだけの花−スマップ 世界に一つだけの花」が含まれている場合、誤字・脱字クエリ判断部201は、ユーザクエリを誤字・脱字クエリとして判断してもよい。
【0051】
このとき、ユーザクエリが2つ以上の単語で構成される場合、誤字・脱字クエリ判断部201は、単語の区切りや単語の間の空白、句読点などの区切り文字を維持しながら誤字・脱字−正字クエリが対で構成される辞書データからユーザクエリを検索してもよい。
【0052】
また、ステップS301において探索が失敗した場合、誤字・脱字クエリ判断部201は、単語単位に正字単語で構成された辞書データを検索してもよい(S302)。このとき、誤字・脱字クエリ判断部201は、ユーザクエリを構成する単語すべてについて辞書データを探索してもよい。
【0053】
もし、ユーザクエリを構成する単語すべてが辞書データから探索されれば、誤字・脱字クエリ判断部201はユーザクエリを正字クエリとして判断してもよい。反対に、ユーザクエリを構成する単語のうち、辞書データの探索が失敗した単語が存在する場合、誤字・脱字クエリ判断部201はユーザクエリを誤字・脱字クエリとして判断してもよい。
【0054】
例えば、ユーザクエリが「A+B」であり、ユーザクエリを構成する単語AとBが正字辞書に存在すれば、誤字・脱字クエリ判断部201はユーザクエリを正字クエリとして判断してもよい。また、ユーザクエリが「C+D」であり、「C」が辞書データに登録されているが、単語「D」が辞書データに登録されていない場合、誤字・脱字クエリ判断部201は「C+D」を誤字・脱字クエリとして判断してもよい。
【0055】
図4は、本発明の一実施形態に係る全体クエリ単位校正部の動作を説明するためのフローチャートである。
【0056】
全体クエリ単位校正部202は、ユーザクエリのクエリ全体を単位として誤字・脱字クエリとして判断されたユーザクエリを校正してもよい。
【0057】
全体クエリ単位校正部202は、誤字・脱字−正字クエリの対により構成される辞書データをユーザクエリについて検索して、ユーザクエリが誤字・脱字クエリとして登録されているか否かを判断してもよい(S401)。
【0058】
もし、ユーザクエリが誤字・脱字クエリに登録されていない場合、全体クエリ単位校正部202はクエリ全体を単位とする校正に失敗した(あるいは校正する必要がない)として処理する。また、ユーザクエリが誤字・脱字クエリに登録されている場合、全体クエリ単位校正部202は、誤字・脱字−正字クエリの対により構成される辞書データに基づく正字クエリとユーザクエリそれぞれに対して確率を算出してもよい(S402)。すなわち、全体クエリ単位校正部202は、ユーザクエリの全体が辞書データに登録されている場合、クエリ全体を単位として校正を行ってもよい。
【0059】
このとき、正字クエリの確率が大きい場合、全体クエリ単位校正部202は、正字クエリを、ユーザクエリに対するクエリ全体を単位とする校正クエリとして、決定してもよい。また、ユーザクエリの確率が大きい場合、全体クエリ単位校正部202はクエリ校正を終了してもよい。このとき、確率はユーザクエリと正字クエリのうち、いずれのものが最も適するかを表示してもよい。
【0060】
例えば、ユーザが「P+Q」をユーザクエリとして入力した場合、誤字・脱字−正字クエリの対により構成される辞書データに「P+Q−P’+Q」が含まれている(登録されている)と仮定する。このとき、実際に「P+Q」が単語や句として実際に使用されている場合、むしろ「P+Q」が「P’+Q」よりもさらに適したクエリと言える。この場合、正字クエリである「P’+Q」が「P+Q」よりも低い確率を示す場合がある。
【0061】
本発明の一実施形態によれば、全体クエリ単位校正部202は、ユーザクエリと正字クエリとの間の異なる音節に基づいて音節変換の確率を算出してもよい。一例として、正字クエリとユーザクエリの確率は下記の数式1によって決定してもよい。
【0062】
−正字クエリの確率:
【数1】


−ユーザクエリの確率:
【数2】


このとき、
【数3】


【数4】

【0063】
Qはユーザクエリを意味し、Q’は誤字・脱字−正字クエリの対により構成される辞書データの探索によって校正された正字クエリを意味する。このとき、

に対して音節単位の音節変換の確率を用いてもよい。ここで、

は、ユーザが誤字・脱字を正字として間違っていることを知っており、ユーザが入力を誤っていることを認知し、正字に校正する確率を意味する。または

は、ユーザが誤字・脱字クエリを入力した後、クエリが間違って入力されたことを認知し、正字クエリを入力する確率と解釈してもよい。
【0064】


は、

に置き換えてもよい。このとき、

は、ユーザがユーザクエリを正字クエリであると思っていたが、タイピングの過程において誤字・脱字を生成する確率と解釈してもよい。
【0065】
ユーザクエリを構成する単語全てに対して変換確率を求める場合、辞書に登録されているデータ(資料)が不足していることによる問題が生じ得る。また、単語の数が増加すると計算量が急激に増加する場合もある。したがって、本発明の一実施形態によれば、全体クエリ単位校正部202は、ユーザクエリと正字クエリのうち、異なる音節列の部分に対して音節単位での音節変換に関する確率を算出してもよい。
【0066】
一例として、数式4において

を、次の数式5によって定義してもよい。
【0067】
【数5】

【0068】
このとき、数式5において、

は音節間での変換確率を表す。全体クエリ単位校正部202は、単語を、qijとq’ijに対応するように異なる音節列を基準として分割を行う。数式5においては、k個の分割が行われると仮定する。すると、全体クエリ単位校正部202は、分割された結果のうち、互いに異なる音節列に対して確率を算出してもよい。例えば、ユーザクエリがabcdであり、正字クエリがabedである場合、音節間の変換確率

は、

となる。
【0069】
一例として、音節間の変換確率は、誤字・脱字−正字クエリの対により構成される辞書データと、QC(ユーザクエリに対する入力頻度)と、QQ(ユーザクエリが対で入力される頻度)とを用いて次の過程によって算出してもよい。
【0070】
(1)辞書データに含まれた誤字・脱字−正字クエリの対それぞれにQC、QQを付与する。例えば、abcd(qc:10)−abed(qc:100)、qq:5
【0071】
(2)誤字・脱字−正字クエリの対において、互いに異なる部分文字列(c−e)を決定する。
【0072】
(3)部分文字列の頻度を算出する。具体的に、辞書データからc−eの対を含む全ての誤字・脱字−正字クエリの対(誤字・脱字−正字クエリの対のうち、誤字・脱字にcを含み、正字の対応する音節位置にeを含むもの)についてのqc、qqの和を算出する。例えば、c(qc:50)−e(qc:1000)、qq:20
【0073】
(4)算出された頻度を用いて音節変換の確率を算出する。
【数6】

=20/50
【0074】
図5は、本発明の一実施形態に係る単語単位校正部で全体動作を説明するためのフローチャートである。
【0075】
単語単位校正部203は、ユーザクエリを1つ以上の単語に分離(tokenizer)してもよい(S501)。このとき、単語単位校正部203は、ユーザクエリに含まれた空白単位に少なくとも1つの単語を分離してもよい。例えば、ユーザクエリが「ABC」として構成されている場合、単語単位校正部203はユーザクエリを「A」、「B」、「C」にそれぞれ分離してもよい。
【0076】
単語単位校正部203は、分離した単語別に校正候補単語を生成してもよい(S502)。一例として、単語単位校正部203は、正字単語により構成された辞書データを、分離した単語について探索してもよい。また、探索に失敗した場合、単語単位校正部203は、誤字・脱字−クエリの対により構成される辞書データを、分離した単語について探索してもよい。この場合にも探索に失敗した場合、単語単位校正部203は、日英転換による候補単語または音節変換の規則による校正候補単語を抽出してもよい。ステップS502に対しては図6および図7を用いてより具体的に説明する。
【0077】
単語単位校正部203は、生成された校正候補単語に基づいてユーザクエリに対する校正クエリを決定してもよい(S503)。すなわち、単語単位校正部203は、ユーザクエリに対して単語単位の最適な校正クエリを生成してもよい。
【0078】
図6は、本発明の一実施形態に係る単語別の校正候補を生成する過程を示すフローチャートである。
【0079】
単語単位校正部203は、分離した単語について、正字単語で構成された辞書データを探索してもよい(S601)。もし、探索が成功すれば、単語単位校正部203は、別に校正候補単語を生成せず、探索された正字単語を校正候補単語に決定してもよい。
【0080】
また、探索が失敗すれば、単語単位校正部203は、誤字・脱字−正字クエリの対により構成される辞書データを、分離した単語について、探索してもよい(S602)。このとき、探索が成功すれば、単語単位校正部203は、探索された正字クエリを校正候補単語に決定してもよい。
【0081】
反対に、探索が失敗すれば、単語単位校正部203は、日英変換による校正候補単語または音節変換の規則による校正候補単語を抽出してもよい(S603)。
【0082】
一例として、日英変換による校正候補単語は、ユーザが日英変換キーの誤った押下などによって誤った単語を入力したとき(本来は、かな入力となるべきなのに、英字入力となってしまった場合)、これを校正するための候補単語を意味する。例えば、ユーザが「kljg」を入力した場合、単語単位校正部203は、校正候補単語として「のりまき」を抽出してもよい。また、ユーザが「fgmk」を入力した場合、単語単位校正部203は、校正候補単語として「はきもの」を抽出してもよい。
【0083】
反対に、ユーザが「まなみい」を入力した場合、単語単位校正部203は「june」を校正候補単語として抽出してもよい。また、ユーザが「せちすにと」を入力する場合、単語単位校正部203は「paris」を校正候補単語として抽出してもよい。
【0084】
一例として、音節変換の規則による校正候補単語は、ユーザがユーザクエリを入力するとき音節変換時に重複して入力するか、あるいは誤ったキーを入力する場合、これを校正するための候補単語を意味する。音節変換の規則は、ユーザのエラーパターンを分析し、ユーザがよく間違う音節を変換して候補単語を生成することを意味する。このとき、単語単位校正部203は、周辺音節を考慮して候補単語を生成してもよい。
【0085】
図7は、本発明の一実施形態に係るユーザクエリから単語単位の校正によって校正クエリを生成する一例を示す図である。
【0086】
単語単位校正部203は、ユーザクエリを構成する単語が含まれた校正候補単語を組み合わせて最適な校正クエリを決定してもよい。このとき、単語単位校正部203は、ユーザクエリを構成する単語と校正候補単語とを組み合わせて生成される候補クエリのうち、最も確率の高い候補クエリを校正クエリとして決定してもよい。一例として、候補クエリ確率は、ビタビ(viterbi)関数によってさらに速かに算出することができる。
【0087】
図7に示すように、ユーザクエリ701として「X+Y+Z」が入力されたと仮定する。すると、単語単位校正部203は、ユーザクエリ701を分離した(単語を切り出した)後、分離した単語に対して校正候補単語702を抽出してもよい。図7に示すように「X」に対する校正候補単語702を「X1、X2」と決定してもよい。また、「Z」に対する校正候補単語702を「Z1」と決定してもよい。
【0088】
すると、単語単位校正部203は、ユーザクエリを構成する単語と校正候補単語702とを組み合わせて候補クエリ703を生成してもよい。図7に示すように、ユーザクエリ701に対する候補クエリ703は、計6種が生成されてもよい。単語単位校正部203は、6種の候補クエリ703のうち、確率が最も高い「X1+Y+Z1」を校正クエリとして決定してもよい。
【0089】
一例として、各候補クエリ703に対する確率は、数式1および数式5によって決定してもよい。図7の例を数式1および数式2に適用すれば次のとおりである。
【数7】


【数8】


【数9】

【0090】
図8は、本発明の一実施形態に係るユーザクエリ校正方法を示すフローチャートである。
【0091】
ユーザクエリ校正システムは、入力されたユーザクエリが誤字・脱字クエリであるか否かを判断してもよい(S801)。
【0092】
一例として、ユーザクエリ校正システムは、ユーザクエリに対してクエリ全体を単位として誤字・脱字クエリであるか否かを判断してもよい。このとき、ユーザクエリ校正システムは、ユーザクエリについて、誤字・脱字−正字クエリの対により構成される辞書データを探索して、ユーザクエリに対してクエリ全体を単位として誤字・脱字クエリであるか否かを判断してもよい。もし、ユーザクエリが2つ以上の単語で構成された場合、ユーザクエリ校正システムは、単語の間の空白などの区切りを維持して辞書データを探索してもよい。
【0093】
もし、探索が失敗した場合、ユーザクエリ校正システムは、ユーザクエリを構成する単語について、正字単語により構成される辞書データを探索し、ユーザクエリに対して単語単位で誤字・脱字クエリであるか否かを判断してもよい。
【0094】
ユーザクエリ校正システムは、ユーザクエリのクエリ全体を単位として誤字・脱字クエリとして判断されたユーザクエリを校正してもよい(S802)。
【0095】
一例として、ユーザクエリ校正システムは、ユーザクエリが誤字・脱字−正字クエリの対により構成される辞書データの誤字・脱字クエリに登録されているか否かを判断してもよい。
【0096】
もし、ユーザクエリが誤字・脱字クエリに登録されている場合、ユーザクエリ校正システムは、誤字・脱字−正字クエリの対により構成される辞書データに基づく正字クエリと、各ユーザクエリに対して確率を算出してもよい。このとき、ユーザクエリ校正システムは、ユーザクエリと正字クエリとの間の異なる音節に基づいて音節変換の確率を算出してもよい。
【0097】
一例として、正字クエリの確率がユーザクエリの確率よりも大きい場合、ユーザクエリ校正システムは、正字クエリを校正クエリとして決定してもよい。また、正字クエリの確率がユーザクエリの確率よりも低い場合、ユーザクエリ校正システムは、クエリ全体を単位とするクエリ校正を終了してもよい。すなわち、ユーザが正字クエリよりもユーザクエリを好むため、クエリ校正を行わない場合もある。
【0098】
クエリ全体を単位とする校正が失敗すれば、ユーザクエリ校正システムは、ユーザクエリを構成する単語単位で誤字・脱字クエリとして判断されたユーザクエリを校正してもよい(S803)。
【0099】
一例として、ユーザクエリ校正システムは、ユーザクエリを少なくとも1つの単語に分離してもよい。このとき、ユーザクエリ校正システムは、ユーザクエリに含まれた空白、区切り文字の単位で1つ以上の単語を分離してもよい。
【0100】
また、ユーザクエリ校正システムは、分離した単語別に校正候補単語を生成してもよい。このとき、ユーザクエリ校正システムは、正字単語で構成された辞書データから分離した単語を探索してもよい。探索が成功すれば、正字単語を校正クエリとしてもよい。
【0101】
探索が失敗すれば、ユーザクエリ校正システムは、誤字・脱字−正字クエリの対により構成される辞書データを、分離した単語について、探索してもよい。探索が成功すれば、正字クエリを校正クエリとしてもよい。
【0102】
探索が失敗すれば、ユーザクエリ校正システムは、日英変換による候補単語または音節変換の規則による校正候補単語を抽出してもよい。その後、ユーザクエリ校正システムは、生成された校正候補単語に基づいてユーザクエリに対する校正クエリを決定してもよい。このとき、ユーザクエリ校正システムは、ユーザクエリを構成する単語が含まれた校正候補単語を組み合わせて最適な校正クエリを決定してもよい。一例として、ユーザクエリ校正システムは、ユーザクエリを構成する単語と校正候補単語とを組み合わせて生成される候補クエリのうち、最も確率の高い候補クエリを校正クエリとして決定してもよい。
【0103】
図8において説明されない部分は図1〜図7の説明を参考してもよい。
【0104】
また本発明の一実施形態に係るユーザクエリ校正方法は、コンピュータにより実現される多様な動作を実行するためのプログラム命令を含むコンピュータ読取可能な記録媒体により実現可能である。当該記録媒体は、プログラム命令、データファイル、データ構造などを単独または組み合わせて含むこともでき、記録媒体およびプログラム命令は、本発明の目的のために特別に設計されて構成されたものでもよく、コンピュータソフトウェア分野の技術を有する当業者にとって公知であり使用可能なものであってもよい。コンピュータ読取可能な記録媒体の例としては、ハードディスク、フロッピー(登録商標)ディスク及び磁気テープのような磁気媒体、CD−ROM、DVDのような光記録媒体、フロプティカルディスクのような磁気−光媒体、およびROM、RAM、フラッシュメモリなどのようなプログラム命令を保存して実行するように特別に構成されたハードウェア装置が含まれる。プログラム命令の例としては、コンパイラによって生成されるような機械語コードだけでなく、インタプリタなどを用いてコンピュータによって実行され得る高級言語コードを含む。
【0105】
上述したように、本発明の好ましい実施形態を参照して説明したが、該当技術分野において熟練した当業者にとっては、特許請求の範囲に記載された本発明の思想および領域から逸脱しない範囲内で、本発明を多様に修正および変更させることができることを理解することができるであろう。すなわち、本発明の技術的範囲は、特許請求の範囲に基づいて定められ、発明を実施するための最良の形態により制限されるものではない。
【符号の説明】
【0106】
100:ユーザクエリ校正システム
201:誤字・脱字クエリ判断部
202:全体クエリ単位校正部
203:単語単位校正部

【特許請求の範囲】
【請求項1】
入力されたユーザクエリが誤字・脱字クエリであるか否かを判断する誤字・脱字クエリ判断部と、
前記ユーザクエリについて、クエリ全体を単位として、前記誤字・脱字クエリとして判断されたユーザクエリを、校正する全体クエリ単位校正部と、
前記ユーザクエリを構成する単語単位で前記誤字・脱字クエリとして判断されたユーザクエリを校正する単語単位校正部と、
を含むことを特徴とするユーザクエリ校正システム。
【請求項2】
前記誤字・脱字クエリ判断部は、
前記ユーザクエリに対してクエリ全体を単位として、誤字・脱字クエリであるか否かを判断する第1判断部と、
前記ユーザクエリに対して単語単位で誤字・脱字クエリであるか否かを判断する第2判断部と、
を含むことを特徴とする請求項1に記載のユーザクエリ校正システム。
【請求項3】
前記第1判断部は、前記ユーザクエリについて、誤字・脱字−正字クエリの対により構成される辞書データに対する探索を行ない、前記ユーザクエリに対してクエリ全体を単位として、誤字・脱字クエリであるか否かを判断することを特徴とする請求項2に記載のユーザクエリ校正システム。
【請求項4】
前記第1判断部は、前記ユーザクエリが2つ以上の単語で構成された場合、前記単語の間の区切りを単位として前記単語ごとに辞書データを探索することを特徴とする請求項3に記載のユーザクエリ校正システム。
【請求項5】
前記第2判断部は、前記ユーザクエリを構成する単語について、正字単語により構成される辞書データを探索し、前記ユーザクエリに対して単語単位で誤字・脱字クエリであるか否かを判断することを特徴とする請求項2に記載のユーザクエリ校正システム。
【請求項6】
前記全体クエリ単位校正部は、
前記ユーザクエリが、誤字・脱字−正字クエリの対により構成される辞書データの誤字・脱字クエリとして、登録されているか否かを判断する登録判断部と、
前記誤字・脱字クエリとして登録されている場合、前記誤字・脱字−正字クエリの対により構成される辞書データに基づいて、正字クエリと前記ユーザクエリそれぞれに対して確率を算出する確率算出部と、
を含むことを特徴とする請求項1に記載のユーザクエリ校正システム。
【請求項7】
前記確率算出部は、前記ユーザクエリと前記正字クエリとの間の異なる音節に基づいて音節変換の確率を算出することを特徴とする請求項6に記載のユーザクエリ校正システム。
【請求項8】
前記全体クエリ単位校正部は、前記正字クエリの確率が前記ユーザクエリの確率よりも大きい場合、前記正字クエリを校正クエリとして決定し、
前記正字クエリの確率が前記ユーザクエリの確率よりも低い場合、全体クエリ単位のクエリ校正を終了することを特徴とする請求項6に記載のユーザクエリ校正システム。
【請求項9】
前記単語単位校正部は、
前記ユーザクエリを1つ以上の単語に分離する単語分離部と、
前記分離した単語別に校正候補単語を生成する候補単語生成部と、
前記生成された校正候補単語に基づいて前記ユーザクエリに対する校正クエリを決定する校正クエリ決定部と、
を含むことを特徴とする請求項1に記載のユーザクエリ校正システム。
【請求項10】
前記単語分離部は、前記ユーザクエリに含まれた単語の区切りにて、前記1つ以上の単語を、分離することを特徴とする請求項9に記載のユーザクエリ校正システム。
【請求項11】
前記候補単語生成部は、
正字単語により構成された辞書データを、前記分離した単語について探索する第1探索部と、
誤字・脱字−正字クエリの対により構成される辞書データを、前記分離した単語について探索する第2探索部と、
日英転換による候補単語または音節変換の規則による校正候補単語を抽出する候補単語抽出部と、
を含むことを特徴とする請求項9に記載のユーザクエリ校正システム。
【請求項12】
前記校正クエリ決定部は、前記ユーザクエリを構成する単語が含まれる前記校正候補単語を組み合わせて校正クエリを決定することを特徴とする請求項9に記載のユーザクエリ校正システム。
【請求項13】
前記校正クエリ決定部は、前記ユーザクエリを構成する単語と前記校正候補単語を組み合わせて生成される候補クエリのうち、最も確率の高い候補クエリを校正クエリとして決定することを特徴とする請求項12に記載のユーザクエリ校正システム。
【請求項14】
入力されたユーザクエリが誤字・脱字クエリであるか否かを判断するステップと、
前記ユーザクエリについて、クエリ全体を単位として、前記誤字・脱字クエリとして判断されたユーザクエリを校正するステップと、
前記ユーザクエリを構成する単語単位で前記誤字・脱字クエリとして判断されたユーザクエリを校正するステップと、
を含むことを特徴とするユーザクエリ校正方法。
【請求項15】
前記ユーザクエリが誤字・脱字クエリであるか否かを判断するステップは、
前記ユーザクエリに対してクエリ全体を単位として誤字・脱字クエリであるか否かを判断するステップと、
前記ユーザクエリに対して単語単位で誤字・脱字クエリであるか否かを判断するステップと、
を含むことを特徴とする請求項14に記載のユーザクエリ校正方法。
【請求項16】
前記ユーザクエリに対してクエリ全体を単位として誤字・脱字クエリであるか否かを判断するステップは、前記ユーザクエリについて、誤字・脱字−正字クエリの対で構成される辞書データを探索し、前記ユーザクエリに対してクエリ全体を単位として誤字・脱字クエリであるか否かを判断することを特徴とする請求項15に記載のユーザクエリ校正方法。
【請求項17】
前記ユーザクエリに対してクエリ全体を単位として誤字・脱字クエリであるか否かを判断するステップは、前記ユーザクエリが2つ以上の単語で構成された場合、前記単語の間の区切りを単位として前記単語ごとに辞書データを探索することを特徴とする請求項16に記載のユーザクエリ校正方法。
【請求項18】
前記ユーザクエリに対して単語単位で誤字・脱字クエリであるか否かを判断するステップは、前記ユーザクエリを構成する単語について正字単語により構成される辞書データを探索し、前記ユーザクエリに対して単語単位で誤字・脱字クエリであるか否かを判断することを特徴とする請求項15に記載のユーザクエリ校正方法。
【請求項19】
前記ユーザクエリの全体クエリ単位で前記誤字・脱字クエリとして判断されたユーザクエリを校正するステップは、
前記ユーザクエリが誤字・脱字−正字クエリの対により構成される辞書データの誤字・脱字クエリに登録されているか否かを判断するステップと、
前記誤字・脱字クエリに登録された場合、前記誤字・脱字−正字クエリの対により構成される辞書データに基づく正字クエリと前記ユーザクエリそれぞれに対して確率を算出するステップと、
を含むことを特徴とする請求項14に記載のユーザクエリ校正方法。
【請求項20】
前記誤字・脱字−正字クエリの対により構成される辞書データに基づく正字クエリと前記ユーザクエリそれぞれに対して確率を算出するステップは、前記ユーザクエリと前記正字クエリとの間の異なる音節に基づいて音節変換の確率を算出することを特徴とする請求項19に記載のユーザクエリ校正方法。
【請求項21】
前記ユーザクエリの全体クエリ単位で前記誤字・脱字クエリとして判断されたユーザクエリを校正するステップは、
前記正字クエリの確率が前記ユーザクエリの確率よりも大きい場合、前記正字クエリを校正クエリとして決定するステップと、
前記正字クエリの確率が前記ユーザクエリの確率よりも低い場合、全体クエリ単位のクエリ校正を終了するステップと、
を含むことを特徴とする請求項19に記載のユーザクエリ校正方法。
【請求項22】
前記ユーザクエリを構成する単語単位で前記誤字・脱字クエリとして判断されたユーザクエリを校正するステップは、
前記ユーザクエリを1つ以上の単語に分離するステップと、
前記分離した単語別に校正候補単語を生成するステップと、
前記生成された校正候補単語に基づいて前記ユーザクエリに対する校正クエリを決定するステップと、
を含むことを特徴とする請求項14に記載のユーザクエリ校正方法。
【請求項23】
前記ユーザクエリを1つ以上の単語に分離するステップは、前記ユーザクエリに含まれる単語の区切りにて、前記1つ以上の単語を、分離することを特徴とする請求項22に記載のユーザクエリ校正方法。
【請求項24】
前記分離した単語別に校正候補単語を生成するステップは、
正字単語により構成された辞書データから前記分離した単語を探索するステップと、
誤字・脱字−正字クエリの対により構成される辞書データを前記分離した単語について探索するステップと、
日英転換による候補単語または音節変換の規則による校正候補単語を抽出するステップと、
を含むことを特徴とする請求項22に記載のユーザクエリ校正方法。
【請求項25】
前記生成された校正候補単語に基づいて前記ユーザクエリに対する校正クエリを決定するステップは、前記ユーザクエリを構成する単語が含まれる前記校正候補単語を組み合わせて校正クエリを決定することを特徴とする請求項22に記載のユーザクエリ校正方法。
【請求項26】
前記生成された校正候補単語に基づいて前記ユーザクエリに対する校正クエリを決定するステップは、前記ユーザクエリを構成する単語と前記校正候補単語を組み合わせて生成される候補クエリのうち、最も確率の高い候補クエリを校正クエリとして決定することを特徴とする請求項25に記載のユーザクエリ校正方法。
【請求項27】
請求項14〜請求項26のいずれか一項の方法を行うためのプログラムが記録されたコンピュータで読み出し可能な記録媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2011−23007(P2011−23007A)
【公開日】平成23年2月3日(2011.2.3)
【国際特許分類】
【出願番号】特願2010−160798(P2010−160798)
【出願日】平成22年7月15日(2010.7.15)
【出願人】(505205812)エヌエイチエヌ コーポレーション (408)
【Fターム(参考)】