JP4195780B2 - プログラム、データ処理システム及び記憶媒体 - Google Patents
プログラム、データ処理システム及び記憶媒体 Download PDFInfo
- Publication number
- JP4195780B2 JP4195780B2 JP2001117432A JP2001117432A JP4195780B2 JP 4195780 B2 JP4195780 B2 JP 4195780B2 JP 2001117432 A JP2001117432 A JP 2001117432A JP 2001117432 A JP2001117432 A JP 2001117432A JP 4195780 B2 JP4195780 B2 JP 4195780B2
- Authority
- JP
- Japan
- Prior art keywords
- kana
- reading information
- reading
- character string
- data
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Document Processing Apparatus (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
【発明の属する技術分野】
本発明は、処理対象として文字列を入力し、ソート、検索などのデータ処理を行うシステムに関し、特にアプリケーションが要求する処理に対して所定の機能を付加するプログラムインターフェイスに関する。
【0002】
【従来の技術】
コンピュータを用いて文字列のソートや検索を行う場合、何らかの情報をキーとして文字列を認識し、分類することが必要となる。日本語文字列においては、コードポイントを用いたバイナリソートにより文字列を認識することが一般的である。このバイナリソートには、通常、JISコード(シフトJIS、日本語EUCを含む、以下、同じ)が用いられる。
【0003】
また、特殊なデータを扱うデータベースその他のアプリケーション・ソフトウェアにおいては、取り扱うデータの種類などに応じて、書き込み日時、金額や数量などの数字製品コードなどをキー情報としてソートや検索などを行うものもある。
【0004】
アプリケーション・ユーザは、これらの種々の手法を用いて、文字列やデータのソートを行ったり、文字列やデータベースの中から所望の単語や文を検索したりすることができる。
図11は、従来のデータ処理システムを用いたデータのソート結果を例示する図である。
図11を参照すると、「社内ニュース」を蓄積したデータベースの「トップニュース」に分類されるデータが日付順でソートされている。このデータベースでは、さらにニュースの種類(図では「カテゴリ別」と表記)に基づいてデータをソートすることができ、また特に図示しないが、所定の文字または文字列を含むニュースのタイトルを、JISコードを用いて検索することもできる。
【0005】
【発明が解決しようとする課題】
ところで、データの種類によっては、文字列の読みに基づいてソートや検索を行うことが好ましい場合がある。しかし、上述した従来のデータ処理システムでは、通常、文字列の読みに基づくソートや検索を行う機能は用意されていなかった。
【0006】
JISコードは一部が該当文字の代表的な読み(以下、代表読み)に対応しているので、上記のコードポイントを用いたバイナリソートにおいてJISコードを用いたソートを行えば、文字の読みによるソートと同様の処理がある程度は可能となる。
しかし、コードポイントは文字を単位としているため、単語や文といった単位では正確なソートや検索ができない場合が多い。例えば、「安」の代表読みが“アン”であり、「売」の代表読みが“バイ”である場合、「安売り」は“アンバイリ”として扱われてしまう。このような不都合は、ソートや検索の対象が文のように長くなるとさらに顕著になる。
【0007】
さらに、日本語の漢字には、複数の読みを持つものが多数ある。これに対し、代表読みを用いたデータ処理は、処理対象の文字における代表読みのみに基づいてソートや検索を行うこととなる。そのため、高い精度を期待できなかった。
【0008】
また、読みに基づくデータ処理の実現手段として、蓄積されたデータに対して読み(読み仮名)を予め入力しておき、この読み仮名を基準としてソートや検索を行う方法が考えられる。
しかし、予め読み仮名を入力する作業は大きな手間を要し、コストの上昇やデータベース構築の作業時間の増大を招く。
【0009】
そこで、本発明は、アプリケーションが要求するソートや検索といったデータ処理に対して、処理対象である文字列の読みに基づくデータ処理を行う機能を付加することを目的とする。
【0010】
また、本発明は、ソートや検索といったデータ処理の対象である文字列が複数の読みを持ち得る場合に、各読みに基づいてこれらのデータ処理を行うインターフェイスを提供することを他の目的とする。
【0011】
また、本発明は、ソートや検索といったデータ処理の対象である文字列の読みを自動的に取得し、当該読みに基づいてこれらのデータ処理を行うインターフェイスを提供することをさらに他の目的とする。
【0012】
【課題を解決するための手段】
本発明は、上記の目的を達成する手段として、処理対象である漢字仮名混じり文字列の読みを生成する手段を用意し、アプリケーションが要求するデータのソートや検索を行う際に、動的に生成された文字列の読みを用いて処理を行うアプリケーション・プログラミング・インターフェイス(API)を提供する。
【0013】
上記のように、漢字仮名混じり文字列の読みに基づくデータ処理を行うため、本発明は、コンピュータを制御して、入力データに対する処理結果を出力するプログラムであって、処理対象である漢字仮名混じり文字列を要素とするデータ配列の入力または指定を受け付ける処理と、入力または指定されたこのデータ配列の要素である漢字仮名混じり文字列の読み情報を生成する処理と、生成された読み情報に基づいてこの漢字仮名混じり文字列をソートし、ソート結果であるデータ配列を出力する処理とをこのコンピュータに実行させることを特徴とする。
【0014】
また、このプログラムは、処理対象であるデータ配列に対し、要素である漢字仮名混じり文字列をその読み情報に基づいてソートする処理に加え、またはこの処理の替わりに、生成された前記読み情報のカテゴリに基づいて、前記漢字仮名混じり文字列を分類し、分類結果であるデータ配列を出力する処理をこのコンピュータに実行させる構成とすることができる。
【0015】
また、本発明のプログラムは、処理対象である漢字仮名混じり文字列の入力を受け付ける処理と、入力された漢字仮名混じり文字列の読み情報を生成する処理と、複数の漢字仮名混じり文字列におけるこの読み情報を比較し、比較結果を出力する処理とをこのコンピュータに実行させることを特徴とする。
【0016】
さらに、本発明のプログラムは、検索キーである漢字仮名混じり文字列と、検索対象である漢字仮名混じり文字列の入力を受け付ける処理と、入力された漢字仮名混じり文字列の読み情報を生成する処理と、この検索キー及びこの検索対象における読み情報に基づいて、この検索対象からこの検索キーと同一の読みを持つ部分を検索し、検索結果を出力する処理とをこのコンピュータに実行させることを特徴とする。
ここで、この検索処理は、前記検索対象である漢字仮名混じり文字列の形態素ごとに、前記検索キーと読みが同一かどうかを判断する処理を含むことを特徴とする。
【0017】
上述したプログラムにおけるデータ処理、すなわち、ソート、カテゴリ分類、文字列比較及び文字列検索は、データ処理装置(またはデータ処理装置を制御するソフトウェア)に対して個別に提供するだけでなく、複数の処理を利用できるように組み合わせて提供することができる。
また、上記のプログラムにおける漢字仮名混じり文字列の読み情報を生成する処理は、処理対象である漢字仮名混じり文字列に複数の読みがある場合、対応する複数の読み情報を生成することができる。この場合、ソート、カテゴリ分類、文字列比較及び文字列検索の各処理は、生成された複数の読み情報の各々に関して実行する。文字列の比較や検索においては、複数の読み情報のうちの一つでも同一であれば、文字列の一致、検出といった判断をすることができる。
【0018】
また、上述したプログラムは、磁気ディスクその他の記憶媒体に格納して配布したり、プログラム伝送装置からネットワークを介して配信したりすることにより提供することができる。
【0019】
さらにまた、漢字仮名混じり文字列の読みに基づいたデータ処理を行うユーザインターフェイスを実現する本発明は、次のように構成されたことを特徴とするデータ処理システムを提供する。このデータ処理システムは、漢字仮名混じり文字列を要素とするデータ配列を格納した記憶手段と、このデータ配列のソートを指示する命令を受け付ける入力手段と、記憶手段から処理対象であるデータ配列を取得し、このデータ配列の要素である漢字仮名混じり文字列の読み情報を生成する読み情報生成手段と、生成された読み情報に基づいて処理対象である漢字仮名混じり文字列をソートする処理手段と、ソート結果であるデータ配列を出力する出力手段とを備える。
ここで、この読み情報生成手段は、前記入力手段により命令が受け付けられた後に、前記漢字仮名混じり文字列の読み情報を生成する構成とすることができる。すなわち、ソート命令を受け付けてから、処理対象である漢字仮名混じり文字列に対して動的に読み情報を生成し、読みに基づくソートを行う。
【0020】
また、本発明は、次のように構成されたことを特徴とするデータ処理システムを提供する。このデータ処理システムは、漢字仮名混じり文字列を要素とするデータ配列を格納した記憶手段と、このデータ配列に対する要素の分類を指示する命令を受け付ける入力手段と、記憶手段から処理対象であるデータ配列を取得し、このデータ配列の要素である漢字仮名混じり文字列の読み情報を生成する読み情報生成手段と、生成された読み情報のカテゴリに基づいて、処理対象である漢字仮名混じり文字列を分類する処理手段と、この処理手段による分類結果に基づいて、この漢字仮名混じり文字列をこの読み情報のカテゴリごとに分けて出力する出力手段とを備える。
【0021】
さらに、本発明は、次のように構成されたことを特徴とするデータ処理システムを提供する。すなわち、アプリケーション・ソフトウェアに応じたユーザインターフェイスを提供するデータ処理システムにおいて、比較対象として複数の漢字仮名混じり文字列を指定して比較入力する入力手段と、比較対象である漢字仮名混じり文字列の読みに基づいてなされた比較結果を、このアプリケーション・ソフトウェアの用途に応じて加工して出力する出力手段とを備える。
【0022】
さらにまた、本発明は、次のように構成されたことを特徴とするデータ処理システムを提供する。すなわち、アプリケーション・ソフトウェアに応じたユーザインターフェイスを提供するデータ処理システムにおいて、検索キーである漢字仮名混じり文字列と、検索対象である漢字仮名混じり文字列とを入力する入力手段と、この検索キー及びこの検索対象における読み情報に基づいて、この検索対象からこの検索キーと同一の読みを持つ部分を検索した結果を出力する出力手段とを備える。
【0023】
【発明の実施の形態】
以下、添付図面に示す実施の形態に基づいて、この発明を詳細に説明する。
図1は、本実施の形態によるインターフェイスを実現するデータ処理システムの構成例を説明する図である。
本実施の形態のデータ処理システムは、パーソナルコンピュータやワークステーションなどのコンピュータ装置、PDA(Personal Digital Assistant)、その他の電子情報機器にて実現される。
【0024】
図1を参照すると、データ処理システムは、キーボードやマウスなどの入力装置11と、CPU及び主メモリを備えた処理装置12と、ハードディスク装置などの記憶装置13と、ディスプレイ装置やプリンタなどの出力装置14とを備える。
入力装置11は、ユーザにて操作され、データや各種処理の実行命令を入力するために用いられる。
処理装置12は、プログラム制御により、種々のデータ処理を行う。また、後述するように、文字列の読み情報に基づくソートや検索を行うインターフェイスを提供する。
記憶装置13は、処理対象である文字列を含むデータを格納する。したがって、処理装置12は、入力装置11にて入力された文字列、または入力装置11から入力された命令により記憶装置13から読み出した文字列に対して、読み情報に基づくデータ処理を行うこととなる。
出力装置14は、処理装置12による処理結果を出力する。
【0025】
図2は、本実施の形態によるインターフェイス提供部の概略構成を示す図である。
処理装置12上では、ワードプロセッサやデータベースなどのアプリケーション・ソフトウェアが動作しており、図2に示すインターフェイス提供部20は、これらのアプリケーション・ソフトウェアの機能として、文字列の読みを用いたデータ処理を実行する。
【0026】
図2を参照すると、本実施の形態によるインターフェイス提供部20は、読み情報生成部21と、データ処理部22とを備える。
なお、図2に示す読み情報生成部21及びデータ処理部22は、コンピュータプログラムにより制御されたCPUにて実現される仮想的なソフトウェアブロックである。CPUを制御する当該コンピュータプログラムは、CD−ROMやフロッピーディスクなどの記憶媒体に格納して配布したり、ネットワークを介して伝送したりすることにより提供される。また、当該コンピュータプログラムは、本実施の形態により提供されるインターフェイスを使用するアプリケーション・ソフトウェアに組み込むプログラムモジュールなどの形態で提供することができる。
【0027】
読み情報生成部21は、図1に示した入力装置11または記憶装置13から入力した処理対象であるデータ(文字列または文字列を要素とするデータ配列)に対して、必要に応じて読み情報を生成し、付加する。読み情報の生成は、漢字仮名混じり文中の漢字に対して読み仮名(振り仮名)を生成する公知のプログラムを用いて実行することができる。読み情報を生成する手法として、文字列を形態素解析し、形態素ごとに品詞の種類などの情報に基づいて読み情報を生成する手法を用いれば、読み情報の精度を向上させることができる。以下、本実施の形態における処理対象を、漢字仮名混じり文字列またはかかる文字列を要素とするデータ配列として説明する。ただし、漢字のみで構成された文字列や仮名文字のみで構成された文字列も漢字仮名混じり文字列に含まれるものとする。
なお、処理対象である文字列には、予めユーザが入力装置11を用いて適切な読み仮名を入力し、付加情報として付加しておくことができる。この場合、文字列の読み情報としては、ユーザによって付加された読み仮名を用いるのが最も正確であるので、読み情報生成部21による読み情報の生成は行う必要はない。以下の説明では、特に区別する必要がない限り、ユーザによって付加された読み仮名を読み情報として説明する。
【0028】
データ処理部22は、処理対象である文字列に対して、読み情報生成部21により生成された、またはユーザにより入力された読み情報に基づいて、所定のデータ処理を実行する。本実施の形態では、読み情報を用いたデータ処理として、データのソート、データのカテゴリ分類、文字列比較、文字列検索の4種類の処理について説明する。具体的な処理の詳細については後述する。
【0029】
図3は、図2に示したインターフェイス提供部20にて提供されるデータ処理の流れを説明する図である。
図3に示すように、ユーザは、種々のアプリケーション・ソフトウェアの要求に応じて漢字仮名混じり文を入力し、インターフェイス提供部20による処理を経て出力された出力結果を取得する。なお、漢字仮名混じり文の入力は、上述したように、入力装置11から文を直接入力することもできるし、記憶装置13に格納されている文を処理対象として指定することによって間接的に入力することもできる。
インターフェイス提供部20は、まず、入力された漢字仮名混じり文に読み仮名が付されていなければ、読み情報を生成して付加する。図示の例では、「大和事業所、週末電源工事」という漢字仮名混じり文に、“ヤマトジギョウショ、シュウマツデンゲンコウジ”という読み情報が付加されている。そして、インターフェイス提供部20は、この読み情報を用いてデータ処理を行い、処理の結果を出力する。
以上の動作により、本実施の形態によるインターフェイスを用いることで、ユーザは、漢字仮名混じり文に関してその読みを意識することなく入力し、当該漢字仮名混じり文の読みに基づいたデータ処理の結果を得ることが可能となる。
【0030】
また、図3に示したように、本実施の形態のインターフェイス提供部20は、ユーザから処理対象である漢字仮名混じり文の入力があった場合に、読み情報生成部21により、動的に読み情報を生成する。なお、一度生成した読み情報を対応する漢字仮名混じり文に付加情報として付加しておくことにより、次に同じ漢字仮名混じり文を処理する場合に、読み情報生成部21により改めて読み情報を生成しなくても、付加されている読み情報を用いて処理することができる。
【0031】
次に、本実施の形態にて提供されるインターフェイスにおけるデータ処理について詳細に説明する。
1.ソート
ソートは、漢字仮名混じり文字列を要素とするデータ配列を受け取り、当該漢字仮名混じり文字列の読みを基準としてソートし、ソート結果である漢字仮名混じり文字列の配列として返すデータ処理である。漢字仮名混じり文字列に対して読み仮名が既に付加されている場合は、当該読み仮名をソートの基準とすることができる。読み仮名が付加されていない場合は、読み情報生成部21により生成された読み情報をソートの基準とする。
この種のインターフェイスを用いる例としては、住所録、電話帳、名簿などのデータベース・ソフトウェアにおけるソート処理において、データ配列を氏名の読みに基づいてソートする場合、製品一覧を製品名の読みに基づいてソートする場合、データベースに対して条件検索を行った結果をアイウエオ順にソートする場合などが考えられる。
【0032】
本実施の形態によりデータのソートを行う場合、インターフェイス提供部20に入力されるのは、漢字仮名混じりの文字列とその読み情報が対になったデータAを要素としたデータ配列である。ただし、読みは空であっても良い。また、インターフェイス提供部20には、ソートの種類、すなわち、読みの辞書的順序における昇順にソートするか降順にソートするかを指定する命令が入力される。
【0033】
これらの入力があると、インターフェイス提供部20は、入力されたデータAの配列に対して、読み情報のチェックとデータのソートという2段階の処理を行う。
図4は、インターフェイス提供部20による処理の流れを説明するフローチャートである。
図4に示すように、インターフェイス提供部20の読み情報生成部21は、データ配列が入力されると(ステップ401)、まず、データ配列の全ての要素(データA)に対して、読み仮名が付されているかを順次チェックする(ステップ402〜404)。そして、読み仮名が付されていないデータAが存在する場合、読み情報生成部21により当該データAの漢字仮名混じり文字列から読み情報を生成し、付加する(ステップ405)。読み情報が生成できれば、次の要素(データA)に対して同様の処理を行い(ステップ406)、読み情報が生成できなかったならば、エラーコードを出力する(ステップ406、407)。全ての要素(データA)に対してチェックまたは必要な読み情報生成処理を行ったならば、ソート処理へ移行する(ステップ402)。
次に、データ処理部22は、必要に応じて漢字仮名混じり文字列の読み情報が補完されたデータ配列を入力し、その読み情報をキーとして要素(データA)のソートを行い(ステップ408)、ソート結果を出力する(ステップ409)。このとき、ソートを読みの辞書的順序における昇順とするか降順とするかは、入力時におけるユーザによる指定に従う。
【0034】
以上の処理の後、インターフェイス提供部20は、インターフェイス提供部20を使用しているアプリケーション(例えば上述したデータベース・ソフトウェア)へ、ソートにより要素(データA)を並べ替えられたデータ配列及びリターンコードを出力する。リターンコードには、例えば、正しく処理が完了したことを示す「成功」、読み情報生成部21において読み情報の生成に失敗したことを示す「エラー1」、その他のエラーを示す「エラー2」を設定することができる。エラー1の場合、データ配列、リターンコードに加えて、問題の発生した配列要素を特定する情報をさらに出力することができる。
インターフェイス提供部20を使用しているアプリケーションは、受け取ったデータ配列及びリターンコードに基づいて、ソート結果やメッセージを出力装置14に出力する。
【0035】
図5は、本実施の形態によるソート結果の例を示す図である。
図5を参照すると、「社内ニュース」を蓄積したデータベースの「トップニュース」に分類されるデータが、ニュースのタイトルにおける読みの辞書的順序(図では「50音順」と表記)でソートされている。
【0036】
2.カテゴリ分類
カテゴリ分類は、漢字仮名混じり文字列を要素とするデータ配列を受け取り、当該漢字仮名混じり文字列の読み情報を基準として、読みが「ア」で始まる文字列や読みが「タ行」で始まる文字列といったカテゴリに分類し、分類ごとの漢字仮名混じり文字列の配列として返すデータ処理である。
この種のインターフェイスを用いる例としては、上述したソートの場合と同様の例が考えられる。かかるソート処理において、要素の数が膨大であり、読みが特定の文字で始まる文字列といった一部のデータのみを取得したい場合などに利用することができる。
【0037】
本実施の形態によりデータのカテゴリ分類を行う場合、インターフェイス提供部20に入力されるのは、漢字仮名混じりの文字列とその読み情報が対になったデータAを要素とした配列である。ただし、読みは空であっても良い。また、インターフェイス提供部20には、カテゴリ分類のパターンを指定する命令が入力される。ここで、カテゴリ分類のパターンとしては、例えば、読みが、「ア行」で始まる文字列、「カ行」で始まる文字列、といった分類で分けるパターン、読みが、「ア」で始まる文字列、「イ」で始まる文字列、といった分類で分けるパターンなどが考えられる。
【0038】
これらの入力があると、インターフェイス提供部20は、入力されたデータAの配列に対して、読み情報のチェックとデータのカテゴリ分類という2段階の処理を行う。
図6は、インターフェイス提供部20による処理の流れを説明するフローチャートである。
図6において、ステップ601からステップ607までの処理は、図4に示したソート処理のフローチャートにおけるステップ401からステップ407までの処理と同様であるため、説明を省略する。
インターフェイス提供部20のデータ処理部22は、読み情報生成部21により必要に応じて漢字仮名混じり文字列の読み情報が補完されたデータ配列を入力し、その読み情報をキーとして、データ配列の各要素(データA)を入力時にユーザにより指定されたカテゴリごとの配列に振り分け(ステップ608)、分類結果を出力する(ステップ609)。
【0039】
以上の処理の後、インターフェイス提供部20は、インターフェイス提供部20を使用しているアプリケーション(例えば上述したデータベース・ソフトウェア)へ、カテゴリごとに要素(データA)を分類し、並べ替えられたデータ配列及びリターンコードを出力する。リターンコードには、例えば、正しく処理が完了したことを示す「成功」、読み情報生成部21において読み情報の生成に失敗したことを示す「エラー1」、その他のエラーを示す「エラー2」を設定することができる。エラー1の場合、データ配列、リターンコードに加えて、問題の発生した配列要素を特定する情報をさらに出力することができる。
インターフェイス提供部20を使用しているアプリケーションは、受け取ったデータ配列及びリターンコードに基づいて、カテゴリ分類の結果やメッセージを出力装置14に出力する。
【0040】
図7は、本実施の形態によるカテゴリ分類の結果の例を示す図である。
図7を参照すると、「社内ニュース」を蓄積したデータベースの「トップニュース」に分類されるデータが、ニュースのタイトルにおける読み情報に基づいてカテゴリ分類されている(図では「あかさたな」と表記されている)。図7において、タイトルが「ア行」の文字で始まるニュースは、「ア行」の欄に、タイトルが「カ行」の文字で始まるニュースは、「カ行」の欄に、タイトルが「サ行」の文字で始まるニュースは、「サ行」の欄に、それぞれ分類されている。
なお、処理対象であるデータ配列のデータ量が膨大である場合は、本処理のカテゴリ分類を用いて、特定のカテゴリに属するデータのみを出力するように設定することもできる。
【0041】
3.文字列比較
文字列比較は、二つの漢字仮名混じり文字列を受け取り、両者の読み情報を比較するデータ処理である。
この種のインターフェイスを用いる例としては、各種のデータベース・ソフトウェアにおける検索処理において、所定のリストの中から、同じ読みの名前やタイトルを検索したい場合などが考えられる。具体的には、電話帳のようなリストに対して名字での絞込み検索を行い、同じ読みの名字を取得したい場合、例えば「斎藤」と入力して検索し、同じ読みの「斎藤」、「斉藤」、「齋藤」、「齊藤」、「西藤」、「西東」などの検索結果を取得したい場合が考えられる。同様に、楽曲や映画のタイトルのデータベースに対して、同じ読みのタイトルを取得したい場合にも用いることができる。すなわち、ユーザが、つづり字は明確でないが読みは覚えているという場合の検索に用いることができる。
【0042】
本実施の形態により文字列比較を行う場合、インターフェイス提供部20に入力されるのは、漢字仮名混じりの文字列とその読み情報が対になったデータAと、同じく漢字仮名混じりの文字列とその読み情報が対になったデータBである。ただし、読みは空であっても良い。また、比較対照となるデータA、データBは、それぞれデータA、データBを要素とするデータ配列(リスト)から選出された要素であっても良いし、検索キーのように特に入力されたデータであっても良い。
【0043】
これらの入力があると、インターフェイス提供部20は、入力されたデータAの配列に対して、読み情報のチェックと読み情報に基づく文字列比較という2段階の処理を行う。
図8は、インターフェイス提供部20による処理の流れを説明するフローチャートである。
図8に示すように、インターフェイス提供部20の読み情報生成部21は、データAとデータBとが入力されると(ステップ801)、まず、両データA、Bに対して読み仮名が付されているかを順次チェックする(ステップ802〜804)。そして、読み仮名が付されていないデータが存在する場合、読み情報生成部21により当該データの漢字仮名混じり文字列から読み情報を生成し、付加する(ステップ805)。読み情報が生成できなかったならば、エラーコードを出力する(ステップ806、807)。データA、データBの双方をチェックまたは必要な読み情報生成処理を行ったならば、読みに基づく比較処理へ移行する(ステップ802)。
次に、データ処理部22は、データA、データBの読み情報を比較し(ステップ808)、比較結果を出力する(ステップ809)。
【0044】
以上の処理の後、インターフェイス提供部20は、インターフェイス提供部20を使用しているアプリケーションへ、データAとデータBとの比較結果を示す値及びリターンコードを出力する。比較結果としては、データAとデータBの読みが一致しているか、一致していない場合は読みの辞書的順序でどちらが先かといった情報が得られる。したがって、比較結果を示す値は、例えば、データBの読みの辞書的順序を基準(0)とし、データAがデータBよりも辞書的順序で先にあるときは0より小さい値、データAとデータBとが一致しているときは0、データAがデータBよりも辞書的順序で後にあるときは0より大きい値をそれぞれ出力するような設定とすることができる。また、リターンコードには、例えば、正しく処理が完了したことを示す「成功」、読み情報生成部21において読み情報の生成に失敗したことを示す「エラー1」、その他のエラーを示す「エラー2」を設定することができる。
【0045】
インターフェイス提供部20を使用しているアプリケーションは、受け取った比較結果及びリターンコードに基づいて、当該アプリケーションにおける処理の結果を生成し、出力装置14に出力する。
例えば、この文字列比較を上述した電話帳などのデータベースに対する検索システムの機能として利用すれば、検索キーの文字列と同じ読みを持つ要素(データ)をデータベースのリストの中から検出することができる。また、複数のリストを比較し、同じ読みを持つ要素(データ)を選別して取得したり、リストどうしを照合したりするという利用も考えられる。
【0046】
4.文字列の読みのあいまい性を吸収した文字列比較
3の文字列比較と同様に、二つの漢字仮名混じり文字列を受け取り、両者の読み情報を比較するデータ処理である。ただし、日本語の漢字は複数の読みを持つものが一般的であることに対応して、処理対象の漢字仮名混じり文字列における読みとして複数の読み情報を生成し、当該複数の読み情報どうしを比較する。なお、この場合であっても、ユーザにより予め漢字仮名混じり文の読み仮名が付加されている場合は、当該付加されている読み仮名に従う。
【0047】
文字列の読みのあいまい性を許容する文字列比較を行う場合、インターフェイス提供部20に入力されるのは、3の文字列比較の場合と同様のデータA及びデータBと、データA、Bの文字列に対して複数の読み情報が得られる場合に、いくつの読み情報を比較に使うかを指定する命令である。
【0048】
これらの入力があると、インターフェイス提供部20は、入力されたデータAの配列に対して、読み情報のチェックと読みに基づく文字列比較という2段階の処理を行う。
図9は、インターフェイス提供部20による処理の流れを説明するフローチャートである。
図9に示すように、インターフェイス提供部20の読み情報生成部21は、データAとデータBとが入力されると(ステップ901)、まず、両データA、Bに対して読み仮名が付されているかを順次チェックする(ステップ902〜904)。そして、読み仮名が付されていないデータが存在する場合、読み情報生成部21により当該データの漢字仮名混じり文字列から読み情報を生成し、付加する(ステップ905)。このとき、読み情報生成部21は、入力時に指定された数の読み情報を生成する。通常、文字や単語の読みを記憶した辞書データベースは、頻出する読みや代表的な読みから順に並べて記憶しているので、読み情報生成部21は、指定数nにしたがって、n番目までの読みを取得し、読み情報としてデータAまたはデータBに付加する。
また、読み情報生成部21は、読み情報が生成できなかったならば、エラーコードを出力する(ステップ906、907)。データA、データBの双方をチェックまたは必要な読み情報生成処理を行ったならば、読みに基づく比較処理へ移行する(ステップ902)。
【0049】
次に、データ処理部22は、データA、データBの読みを比較し(ステップ908)、比較結果を出力する(ステップ909)。ここで、データA、データBの一方または双方に複数の読み情報が付加されている場合は、当該複数の読み情報の組み合わせを全て調べ、一つでも合致する読み情報があれば、データA、データBの読みが一致すると判断する。
【0050】
以上の処理の後、インターフェイス提供部20は、インターフェイス提供部20を使用しているアプリケーションへ、データAとデータBとの比較結果を示す値及びリターンコードを出力する。比較結果を示す値は、例えば、読みが一致する場合(同じ読み情報が一つ以上ある場合)は0、読みが一致しない場合(全ての読み情報が異なる場合)は0以外の値をそれぞれ出力するような設定とすることができる。また、リターンコードには、例えば、正しく処理が完了したことを示す「成功」、読み情報生成部21において読み情報の生成に失敗したことを示す「エラー1」、その他のエラーを示す「エラー2」を設定することができる。
【0051】
本処理の場合、3による文字列比較と異なり、一つの文字列から複数の読みが得られる場合に、それぞれの読みに基づいて検索結果を取得することができる。すなわち、漢字などのつづり字は明確に覚えているが読みは明確でない場合に、適切な読みを含むデータ処理を実行することができる。例えば、「上村」と入力して検索した場合、“ウエムラ”、“カミムラ”の二つの読みが得られたならば、文字列「うえむら」と一致するという検索結果を得ることができる。
さらに、3の文字列比較において説明したように、本実施の形態は、検索キーの文字列に対して同じ読みを持つ文字列を検索することができるので、「上村」と入力して“ウエムラ”、“カミムラ”の二つの読みが得られた場合、“ウエムラ”に対して「植村」、“カミムラ”に対して「神村」という検索結果を得ることができる。
【0052】
5.文字列検索
文字列検索は、二つの漢字仮名混じり文字列を入力とし、一方の文字列の中から他方の文字列と同じ読みの部分を探し、該当部分の出現箇所を返すデータ処理である。この処理においても、4の文字列比較と同様に、処理対象の漢字仮名混じり文字列における読みとして複数の読み情報を生成し、当該複数の読み情報どうしを比較する。この場合も、ユーザにより予め漢字仮名混じり文の読み仮名が付加されている場合は、当該付加されている読みに従う。
この種のインターフェイスを用いる例としては、ワードプロセッサ・ソフトウェアにおける文字列検索処理において、所定の文書中から所望の文字列(単語など)と同じ読みの文字列を検索する場合などが考えられる。
【0053】
本実施の形態により文字列検索を行う場合、インターフェイス提供部20に入力されるのは、検索対象である漢字仮名混じりの文字列とその読み情報が対になったデータAと、検索キーである漢字仮名混じりの文字列とその読み情報が対になったデータB、そして、検索キーであるデータBの文字列に対して複数の読み情報が得られる場合に、いくつの読み情報を比較に使うかを指定する命令である。
【0054】
これらの入力があると、インターフェイス提供部20は、入力されたデータAの配列に対して、読み情報のチェックと読みに基づく文字列検索という2段階の処理を行う。
図10は、インターフェイス提供部20による処理の流れを説明するフローチャートである。
図10に示すように、インターフェイス提供部20の読み情報生成部21は、データAとデータBとが入力されると(ステップ1001)、まず、両データA、Bに対して読み仮名が付されているかを順次チェックする(ステップ1002〜1004)。そして、読み仮名が付されていないデータが存在する場合、読み情報生成部21により当該データの漢字仮名混じり文字列から読み情報を生成し、付加する(ステップ1005)。このとき、データBに対しては、入力時に指定された数の読み情報を生成する。通常、文字や単語の読みを記憶した辞書データベースは、頻出する読みや代表的な読みから順に並べて記憶しているので、読み情報生成部21は、指定数nにしたがって、n番目までの読みを取得し、読み情報としてデータBに付加する。
また、読み情報生成部21は、読み情報が生成できなかったならば、エラーコードを出力する(ステップ1006、1007)。データA、データBの双方をチェックまたは必要な読み情報生成処理を行ったならば、読みに基づく検索処理へ移行する(ステップ1002)。
【0055】
次に、データ処理部22は、データA、データBの読みを比較し(ステップ1008)、データAの読みの中にデータBの読みと同一の部分があるか調べ、その結果を出力する(ステップ1009)。ここで、データA中にデータBと同じ読みの部分がある場合は、その場所を示す位置情報を出力する。また、データBと同じ読みの部分が複数箇所ある場合は、例えば、最初に読みが一致した部分を示す位置情報を出力することができる。なお、データBに複数の読み情報が付加されている場合は、複数の読み情報の全てについて、データA中に同じ読みの部分があるかどうかを調べ、その結果を出力する。
【0056】
以上の処理の後、インターフェイス提供部20は、インターフェイス提供部20を使用しているアプリケーションへ、検索結果及びリターンコードを出力する。検索結果は、例えば、データA中にデータBと同じ読みの部分がある場合は、その場所を示す位置情報である。具体的には、出力装置14に表示されたデータA中の該当文字列にポインタを表示したり、反転表示したりする。位置情報を表示は、検出した文字列全体に対して行っても良いし、検出した文字列の先頭の文字や最後の文字など特定の部分のみに対して行っても良い。
また、データA中にデータBと同じ読みの部分がない場合は、例えば、該当部分がないことを示すメッセージを出力する。また、リターンコードには、例えば、正しく処理が完了したことを示す「成功」、読み情報生成部21において読み情報の生成に失敗したことを示す「エラー1」、その他のエラーを示す「エラー2」を設定することができる。
インターフェイス提供部20を使用しているアプリケーションは、受け取った比較結果及びリターンコードに基づいて、検索結果やメッセージを出力装置14に出力する。
【0057】
本処理は、ある程度の長さのある文章やデータ列を検索対象とし、所望の文字や単語、文などを検索キーとして検索する場合に利用することができる。そして、それぞれの文字列の読みに基づいて検索を行うため、つづり字は明確でないが読みは覚えているという場合でも、適切な検索結果を含む検索を行うことができる。例えば、検索対象「・・・肴はあぶったいかでいい・・・・」に対し、検索キーとして「魚」「サカナ」「さかな」のどれを入力しても「肴」を検出することができる。
また、検索キーについて複数の読みが得られる場合に、それぞれの読みに基づいて検索を行うことができる。例えば、検索キーとして「上村」を入力し、検索対象中に「・・・うえむらさん・・・・」「・・・かみむら先生・・・・」「・・・植村君・・・・」「・・・神村氏・・・・」などの部分があるならば、いずれも検出することができる。
なお、検索対象の文字列から検索キーの文字列に対応する部分を探す際、検索対象の文字列中を形態素単位で移動しながら検索するようにすれば、単語を途中で分割するような不自然な部分で読みが一致し、誤った検出を行ってしまうことを回避することができる。
【0058】
このように、日本語の文字列を対象としてデータのソート、カテゴリ分類、文字列比較、文字列検索といったデータ処理を行う場合、文字列の読みに基づいて処理することにより、より応用性が高く精度の高いデータ処理を行うことが可能となる。
また、文字列の読みは、読み情報生成部21により自動的に生成されるので、ユーザは文字列の読みを意識せず(読み仮名を入力することなく)、読みに基づくデータ処理の結果を得ることができる。
【0059】
さらに、文字列比較や文字列検索においては、文字列の読みに基づいて処理を行うことにより、検索キーや入力文字列のつづり字が誤っている場合でも、正しい検索結果を得ることができる。また、文字列に複数の読みがある場合に、それぞれの読みについて処理を行うことにより、ユーザが読みを誤って認識していた場合でも、正しい検索結果を得ることができる。
なお、上述した実施の形態では、文字列比較及び文字列検索の場合にのみ、複数の読みに対応する処理を説明したが、データのソート及びカテゴリ分類においても複数の読みに対応した処理を行うことができる。この場合、例えば、複数の読みに基づいて、該当する複数の位置にそれぞれデータを挿入するか、またはいずれかの該当位置にデータを挿入し、他の該当位置に当該データへのポインタを挿入する。このようにすれば、ソート結果または分類結果に対して、ユーザがいずれの読みに基づいてデータを探す場合でも、所望のデータを取得することができる。
また、上述した実施の形態では、仮名漢字混じり文字列の読みとして、読み情報を生成し、文字列に付加した。この読み情報は、統一されていれば、平仮名であっても片仮名であっても良い。また、仮名文字の替わりにローマ字を読み情報として用いても良い。
【0060】
さらにまた、本実施の形態では、データ処理としてデータのソート、データのカテゴリ分類、文字列比較及び文字列検索について説明したが、他のデータ処理として、例えば、漢字仮名混じり文字列における特定の読みを持つ部分を他の文字列に置き換える文字列置換を行うこともできる。
【0061】
【発明の効果】
以上説明したように、本発明によれば、アプリケーションが要求するソートや検索といったデータ処理に対して、処理対象である文字列の読みに基づくデータ処理を行う機能を付加することができる。
【0062】
また、本発明によれば、ソートや検索といったデータ処理の対象である文字列が複数の読みを持ち得る場合に、各読みに基づいてかかるデータ処理を行うインターフェイスを提供することができる。
【0063】
さらに、本発明によれば、ソートや検索といったデータ処理の対象である文字列の読みを自動的に取得し、当該読みに基づいてかかるデータ処理を行うインターフェイスを提供することができる。
【図面の簡単な説明】
【図1】 本実施の形態によるインターフェイスを実現するデータ処理システムの構成例を説明する図である。
【図2】 本実施の形態によるインターフェイス提供部の概略構成を示す図である。
【図3】 本実施の形態によるインターフェイス提供部にて提供されるデータ処理の流れを説明する図である。
【図4】 本実施の形態のインターフェイス提供部による処理の流れを説明するフローチャートであり、データのソートを行う場合の処理を説明する図である。
【図5】 本実施の形態によるソート結果の例を示す図である。
【図6】 本実施の形態のインターフェイス提供部による処理の流れを説明するフローチャートであり、データのカテゴリ分類を行う場合の処理を説明する図である。
【図7】 本実施の形態によるソート結果の他の例を示す図である。
【図8】 本実施の形態のインターフェイス提供部による処理の流れを説明するフローチャートであり、文字列比較を行う場合の処理を説明する図である。
【図9】 本実施の形態のインターフェイス提供部による処理の流れを説明するフローチャートであり、文字列の読みのあいまい性を吸収した文字列比較を行う場合の処理を説明する図である。
【図10】 本実施の形態のインターフェイス提供部による処理の流れを説明するフローチャートであり、文字列検索を行う場合の処理を説明する図である。
【図11】 従来のデータ処理システムを用いたデータのソート結果を例示する図である。
【符号の説明】
11…入力装置、12…処理装置、13…記憶装置、14…出力装置、20…インターフェイス提供部、21…読み情報生成部、22…データ処理部
Claims (3)
- コンピュータを制御して、入力データに対する処理結果を出力するプログラムであって、
文字列比較の対象である漢字仮名混じり文字列の入力を受け付ける処理と、
入力された前記漢字仮名混じり文字列のうち予め読み仮名が付加されていないものについて、その読み情報を生成する処理と、
前記漢字仮名混じり文字列のうち予め読み仮名が付加されているものについて当該読み仮名をその読み情報として採用し、複数の前記漢字仮名混じり文字列の少なくとも2つについて複数の読み情報が生成されている場合に、一の前記漢字仮名混じり文字列について生成された複数の読み情報の各々と他の前記漢字仮名混じり文字列について生成された複数の読み情報の各々とを比較し、一つ以上の読み情報についての比較結果が同一である場合に、比較対象である前記漢字仮名混じり文字列が一致すると判断し、判断結果を出力する処理と
を前記コンピュータに実行させることを特徴とするプログラム。 - アプリケーション・ソフトウェアに応じたユーザインターフェイスを提供するデータ処理システムにおいて、
文字列比較の対象である漢字仮名混じり文字列を入力する入力手段と、
入力された前記漢字仮名混じり文字列のうち予め読み仮名が付加されていないものについて、その読み情報を生成する読み情報生成手段と、
入力された前記漢字仮名混じり文字列のうち予め読み仮名が付加されているものについて当該読み仮名をその読み情報として採用し、複数の前記漢字仮名混じり文字列の少なくとも2つについて複数の読み情報が生成されている場合に、一の前記漢字仮名混じり文字列について生成された複数の読み情報の各々と他の前記漢字仮名混じり文字列について生成された複数の読み情報の各々とを比較し、一つ以上の読み情報についての比較結果が同一である場合に、比較対象である前記漢字仮名混じり文字列が一致すると判断し、判断結果を出力する出力手段と
を備えることを特徴とするデータ処理システム。 - コンピュータを制御して、入力データに対する処理結果を出力するプログラムを格納した記憶媒体であって、
前記プログラムは、
文字列比較の対象である漢字仮名混じり文字列の入力を受け付ける処理と、
入力された前記漢字仮名混じり文字列のうち予め読み仮名が付加されていないものについて、その読み情報を生成する処理と、
前記漢字仮名混じり文字列のうち予め読み仮名が付加されているものについて当該読み仮名をその読み情報として採用し、複数の前記漢字仮名混じり文字列の少なくとも2つについて複数の読み情報が生成されている場合に、一の前記漢字仮名混じり文字列について生成された複数の読み情報の各々と他の前記漢字仮名混じり文字列について生成された複数の読み情報の各々とを比較し、一つ以上の読み情報についての比較結果が同一である場合に、比較対象である前記漢字仮名混じり文字列が一致すると判断し、判断結果を出力する処理とを前記コンピュータに実行させることを特徴とする記憶媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001117432A JP4195780B2 (ja) | 2001-04-16 | 2001-04-16 | プログラム、データ処理システム及び記憶媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001117432A JP4195780B2 (ja) | 2001-04-16 | 2001-04-16 | プログラム、データ処理システム及び記憶媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002328950A JP2002328950A (ja) | 2002-11-15 |
JP4195780B2 true JP4195780B2 (ja) | 2008-12-10 |
Family
ID=18967986
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001117432A Expired - Fee Related JP4195780B2 (ja) | 2001-04-16 | 2001-04-16 | プログラム、データ処理システム及び記憶媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4195780B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007042069A (ja) | 2005-06-30 | 2007-02-15 | Sony Corp | 情報処理装置,情報処理方法および情報処理プログラム |
JP5167202B2 (ja) * | 2009-06-24 | 2013-03-21 | 株式会社日立システムズ | カナ氏名によるデータの名寄せ処理方法および名寄せ処理システム、ならびにそのためのプログラム |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63619A (ja) * | 1986-06-19 | 1988-01-05 | Casio Comput Co Ltd | 漢字デ−タ並び換え装置 |
JPS6450165A (en) * | 1987-08-20 | 1989-02-27 | Fujitsu Ltd | Reading kana dictionary registering system |
JP3260439B2 (ja) * | 1992-09-22 | 2002-02-25 | 株式会社東芝 | ファイル名一覧表示方式 |
JPH07192053A (ja) * | 1993-12-27 | 1995-07-28 | Nippon Telegr & Teleph Corp <Ntt> | 顧客名の読みを決定する方法およびこの方法を実施する顧客名集約方法 |
JPH07200586A (ja) * | 1993-12-28 | 1995-08-04 | Pfu Ltd | 索引作成装置 |
JPH08335214A (ja) * | 1995-06-07 | 1996-12-17 | Toshiba Corp | ソート方法,文書検索方法及び情報処理装置 |
JP3043643B2 (ja) * | 1997-01-21 | 2000-05-22 | 日本電気ソフトウェア株式会社 | ソート処理装置および方法 |
-
2001
- 2001-04-16 JP JP2001117432A patent/JP4195780B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2002328950A (ja) | 2002-11-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7769578B2 (en) | Machine translation system, method and program | |
US8312025B2 (en) | Information processing device, information processing method, and information processing program | |
US8099416B2 (en) | Generalized language independent index storage system and searching method | |
KR20040077918A (ko) | 데이터베이스 검색 방법, 데이터베이스 검색 시스템 및 컴퓨터 프로그램 | |
JPH11110413A (ja) | データベース検索結果を生成するための方法および装置 | |
JP3199093B2 (ja) | 住所情報検索装置 | |
JPH0315980A (ja) | 文字列検索装置 | |
JP4195780B2 (ja) | プログラム、データ処理システム及び記憶媒体 | |
JP3937741B2 (ja) | 文書の標準化 | |
JP3945075B2 (ja) | 辞書機能を備えた電子装置及び情報検索処理プログラムを記憶した記憶媒体 | |
US20020065794A1 (en) | Phonetic method of retrieving and presenting electronic information from large information sources, an apparatus for performing the method, a computer-readable medium, and a computer program element | |
JP3071703B2 (ja) | 表作成装置およびその方法 | |
Miller et al. | Cluster-based find and replace | |
JP2921119B2 (ja) | 数値検索装置および数値検索方法 | |
JPH1185765A (ja) | タグ付文書検索システム | |
JP3508312B2 (ja) | キーワード抽出装置 | |
JPH0785040A (ja) | 表記不統一検出方法およびかな漢字変換方法 | |
JPH1055360A (ja) | 住所録処理装置及び住所録処理方法 | |
JPH08180060A (ja) | 電子辞書表示装置 | |
JP2002197116A (ja) | 検索装置 | |
JPH0991304A (ja) | 情報検索方法、情報検索システム及び情報検索用記憶媒体 | |
JPH0863487A (ja) | 文書検索方法及び文書検索装置 | |
JP2004152323A (ja) | 仮名漢字変換装置及び方法 | |
US20060112077A1 (en) | User interface system and method providing a dynamic selection menu | |
JPH04270450A (ja) | 文書作成装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050125 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050331 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20050607 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050831 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20051004 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20051228 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080626 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
RD14 | Notification of resignation of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7434 Effective date: 20080925 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080929 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111003 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |