JP4778466B2 - データ管理装置及びデータ管理方法並びにプログラム - Google Patents

データ管理装置及びデータ管理方法並びにプログラム Download PDF

Info

Publication number
JP4778466B2
JP4778466B2 JP2007086900A JP2007086900A JP4778466B2 JP 4778466 B2 JP4778466 B2 JP 4778466B2 JP 2007086900 A JP2007086900 A JP 2007086900A JP 2007086900 A JP2007086900 A JP 2007086900A JP 4778466 B2 JP4778466 B2 JP 4778466B2
Authority
JP
Japan
Prior art keywords
data
key
option
normalization
input
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
Application number
JP2007086900A
Other languages
English (en)
Other versions
JP2008243151A (ja
Inventor
振一郎 津波古
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2007086900A priority Critical patent/JP4778466B2/ja
Priority to US12/055,580 priority patent/US7984077B2/en
Publication of JP2008243151A publication Critical patent/JP2008243151A/ja
Application granted granted Critical
Publication of JP4778466B2 publication Critical patent/JP4778466B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/3332Query translation
    • G06F16/3338Query expansion

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、1つの文字に対する表現方法が複数存在するUNICODE等のコード体系で表されたデータを管理するデータ管理技術に関し、特に、融通性に富んだデータ検索を行うことができるデータ管理技術に関する。
従来からJISコード、EUCコード、UNICODEなど様々な文字コードが利用されている。JISコード、EUCコードは、1つの文字に対して1つの文字コードが割り当てられているため、データベース等に登録されているデータの集合から特定のデータを検索する場合には、検索キーと同じ文字コードを有するデータを検索すれば良い。
しかし、UNICODEでは、合成文字、置換文字といった概念が導入されているため、単に文字コードの比較を行うだけでは、希望するデータを検索できない場合がある。UNICODEでは、仮名の濁音・半濁音を表すのに、合成済み文字(precomposed character)でも、結合文字列(combining character sequence)でも良いことになっている(合成文字)。また、UNICODEでは、「A」(全角文字)と「A」(半角文字)、「℃」と「°+C」など、異なる文字を同一の文字とみなす場合がある(互換文字)。このため、UNICODEによって表されたデータを検索する場合には、単に、文字コードの比較を行うだけでは、目的とするデータを検索できない場合がある。例えば、データとして文字列「か+か+゛+み」が登録されている場合、検索キーとして「か+が+み」を入力したのでは、上記文字列を検索することはできない。また、半角の文字列「NIHON」が登録されているときに、全角の検索キー「NIHON」を入力したのでは、上記文字列を検索することはできない。なお、結合文字列とは、基底文字(base character)の後ろに1以上の結合文字を続けた列のことである。
一方、データの登録時および検索時に、登録データおよび検索キーの正規化を行うデータ管理装置が従来から提案されてる(例えば、特許文献1参照)。特許文献1に記載されている従来の技術では、データ登録時、登録データを予め定められた正規化ルール(全角英大文字は半角英小文字に変換、半角平仮名は全角平仮名に変換など)に従って正規化し、正規化後の正規化登録データと元の登録データ(原登録データ)とを対応付けてデータ記憶部に格納するようにしている。また、データ検索時には、検索キーを上記正規化ルールに従って正規化し、正規化後の正規化検索キーを使用して、該当する原登録データを検索するようにしている。
特開2001−125915号公報
特許文献1に記載されている従来の技術を利用して、UNICODEで表されているデータを管理するようにすれば、登録データと検索キーとが異なる表現形式であっても、実質的に同一なデータは検索することができる。例えば、登録データ「か+か+゛+み」を検索キー「か+が+み」によっても検索することできる。しかし、特許文献1では、常に検索キーを正規化するようにしているので、ユーザが検索したいデータ以外のデータも検索されてしまう場合があるという問題があった。例えば、ユーザが半角文字列「NIHON」だけを検索したいのに、全角文字列「NIHON」も検索されてしまうという問題がある。
〔発明の目的〕
そこで、本発明の目的は、1つの文字に対する表現方法が複数存在するUNICODE等のコード体系で表されたデータを検索する場合、ユーザの希望にあった検索結果を得られるようにすることにある。
本発明にかかるデータ管理装置は、
UNICODEで表された登録データを入力する登録データ入力部と、
UNICODEで表された検索キーを入力する検索キー入力部と、
登録データの登録時には登録データごとに、かつ、検索キーによる検索時には検索キーごとに、正規化処理を行わないことを指定する第1オプションと、結合文字列を合成済み文字に変換する第1の正規化処理を行うことを指定する第2オプションと、半角文字を全角文字に変換する第2の正規化処理を行うことを指定する第3オプションと、前記第2の正規化処理を行った後に前記第1の正規化処理を行うことを指定する第4オプションとの内の、ユーザによって選択されたオプションを入力する指定手段と、
前記登録データ入力部から登録データが入力された場合は、前記指定手段によって第1オプションが入力されていれば前記登録データと前記登録データ中のキー項目とをそのまま出力し、第2オプションが入力されていれば前記登録データをそのまま出力すると共に前記登録データ中のキー項目に対して前記第1の正規化処理を行い正規化処理後のキー項目を出力し、第3オプションが入力されていれば前記登録データをそのまま出力すると共に前記登録データ中のキー項目に対して前記第2の正規化処理を行い正規化処理後のキー項目を出力し、第4オプションが入力されていれば前記登録データをそのまま出力すると共に前記登録データ中のキー項目に対して前記第2の正規化処理を行い更に前記第2の正規化処理結果に対して前記第1の正規化処理を行い前記第1の正規化処理後のキー項目を出力し、前記検索キー入力部から検索キーが入力された場合は、前記指定手段によって第1オプションが入力されていれば前記検索キーをそのまま出力し、第2オプションが入力されていれば前記検索キーに対して前記第1の正規化処理を行い正規化処理後の検索キーを出力し、第3オプションが入力されていれば前記検索キーに対して前記第2の正規化処理を行い正規化処理後の検索キーを出力し、第4オプションが入力されていれば前記検索キーに対して前記第2の正規化処理を行い更に前記第2の正規化処理結果に対して前記第1の正規化処理を行い前記第1の正規化処理後の検索キーを出力するデータ処理部と、
該データ処理部から出力された登録データをデータ記憶部に登録すると共に、前記データ処理部から出力されたキー項目を前記登録データの索引キーとして前記データ記憶部の索引部に登録する登録手段と、
前記データ処理部から出力された検索キーで前記索引部を検索して前記データ記憶部から該当するデータを取得する検索手段とを備えたことを特徴とする。
本発明にかかるデータ管理方法は、
UNICODEで表された登録データを入力する登録データ入力部と、UNICODEで表された検索キーを入力する検索キー入力部と、登録データの登録時には登録データごとに、かつ、検索キーによる検索時には検索キーごとに、正規化処理を行わないことを指定する第1オプションと、結合文字列を合成済み文字に変換する第1の正規化処理を行うことを指定する第2オプションと、半角文字を全角文字に変換する第2の正規化処理を行うことを指定する第3オプションと、前記第2の正規化処理を行った後に前記第1の正規化処理を行うことを指定する第4オプションとの内の、ユーザによって選択されたオプションを入力する指定手段とを備えたコンピュータによってデータ管理を行うデータ管理方法であって、
前記コンピュータが、前記登録データ入力部から登録データが入力された場合は、前記指定手段によって第1オプションが入力されていれば前記登録データと前記登録データ中のキー項目とをそのまま出力し、第2オプションが入力されていれば前記登録データをそのまま出力すると共に前記登録データ中のキー項目に対して前記第1の正規化処理を行い正規化処理後のキー項目を出力し、第3オプションが入力されていれば前記登録データをそのまま出力すると共に前記登録データ中のキー項目に対して前記第2の正規化処理を行い正規化処理後のキー項目を出力し、第4オプションが入力されていれば前記登録データをそのまま出力すると共に前記登録データ中のキー項目に対して前記第2の正規化処理を行い更に前記第2の正規化処理結果に対して前記第1の正規化処理を行い前記第1の正規化処理後のキー項目を出力し、前記検索キー入力部から検索キーが入力された場合は、前記指定手段によって第1オプションが入力されていれば前記検索キーをそのまま出力し、第2オプションが入力されていれば前記検索キーに対して前記第1の正規化処理を行い正規化処理後の検索キーを出力し、第3オプションが入力されていれば前記検索キーに対して前記第2の正規化処理を行い正規化処理後の検索キーを出力し、第4オプションが入力されていれば前記検索キーに対して前記第2の正規化処理を行い更に前記第2の正規化処理結果に対して前記第1の正規化処理を行い前記第1の正規化処理後の検索キーを出力するデータ処理ステップと、
前記コンピュータが、前記データ処理ステップにおいて出力された登録データをデータ記憶部に登録すると共に、前記データ処理ステップにおいて出力されたキー項目を前記登録データの索引キーとして前記データ記憶部の索引部に登録する登録ステップと、
前記コンピュータが、前記データ処理ステップにおいて出力された検索キーで前記索引部を検索して前記データ記憶部から該当するデータを取得する検索ステップとを含むことを特徴とする。
本発明にかかるプログラムは、
UNICODEで表された登録データを入力する登録データ入力部と、UNICODEで表された検索キーを入力する検索キー入力部と、登録データの登録時には登録データごとに、かつ、検索キーによる検索時には検索キーごとに、正規化処理を行わないことを指定する第1オプションと、結合文字列を合成済み文字に変換する第1の正規化処理を行うことを指定する第2オプションと、半角文字を全角文字に変換する第2の正規化処理を行うことを指定する第3オプションと、前記第2の正規化処理を行った後に前記第1の正規化処理を行うことを指定する第4オプションとの内の、ユーザによって選択されたオプションを入力する指定手段とを備えたコンピュータをデータ管理装置として機能させるためのプログラムであって、
前記コンピュータを、
前記登録データ入力部から登録データが入力された場合は、前記指定手段によって第1オプションが入力されていれば前記登録データと前記登録データ中のキー項目とをそのまま出力し、第2オプションが入力されていれば前記登録データをそのまま出力すると共に前記登録データ中のキー項目に対して前記第1の正規化処理を行い正規化処理後のキー項目を出力し、第3オプションが入力されていれば前記登録データをそのまま出力すると共に前記登録データ中のキー項目に対して前記第2の正規化処理を行い正規化処理後のキー項目を出力し、第4オプションが入力されていれば前記登録データをそのまま出力すると共に前記登録データ中のキー項目に対して前記第2の正規化処理を行い更に前記第2の正規化処理結果に対して前記第1の正規化処理を行い前記第1の正規化処理後のキー項目を出力し、前記検索キー入力部から検索キーが入力された場合は、前記指定手段によって第1オプションが入力されていれば前記検索キーをそのまま出力し、第2オプションが入力されていれば前記検索キーに対して前記第1の正規化処理を行い正規化処理後の検索キーを出力し、第3オプションが入力されていれば前記検索キーに対して前記第2の正規化処理を行い正規化処理後の検索キーを出力し、第4オプションが入力されていれば前記検索キーに対して前記第2の正規化処理を行い更に前記第2の正規化処理結果に対して前記第1の正規化処理を行い前記第1の正規化処理後の検索キーを出力するデータ処理部、
該データ処理部から出力された登録データをデータ記憶部に登録すると共に、前記データ処理部から出力されたキー項目を前記登録データの索引キーとして前記データ記憶部の索引部に登録する登録手段、
前記データ処理部から出力された検索キーで前記索引部を検索して前記データ記憶部から該当するデータを取得する検索手段として機能させる。
〔作用〕
ユーザは、合成文字や互換文字を含む登録データを登録する際、正規化された検索キーによっても上記登録データを検索可能にしたい場合には、指定手段を用いて正規化処理を行うことを指定しておく。これに対して、正規化された検索キーでは検索不可能にしたい場合には、指定手段を用いて正規化処理を行わないことを指定しておく。
その後、ユーザは、登録データを登録データ入力部から入力する。データ処理部は、入力された登録データと、登録データ中のキー項目とを登録手段に入力する。その際、指定手段によって正規化処理を行うことが指定されていれば、キー項目を正規化してから登録手段に入力する。
ユーザは、合成文字や置換文字を含む検索キーを用いてデータ検索を行う際、上記検索キーと一致するものだけを検索したい場合には、指定手段を用いて正規化処理を行わないことを指定しておく。これに対して、検索キーと実質的に一致するものも検索したい場合は、指定手段を用いて正規化処理を行うことを指定しておく。
その後、ユーザは、検索キー入力部から検索キーを入力する。データ処理部は、入力された検索キーを検索手段に入力する。その際、指定手段によって正規化することが指定されていれば、検索キーを正規化してから検索手段に渡し、正規化することが指定されていない場合は、検索キーをそのまま検索手段に渡す。検索手段は、入力された検索キーで索引部を検索してデータ記憶部から該当するデータを取得する。
本発明によれば、1つの文字に対する表現方法が複数存在するUNICODE等のコード体系で表されたデータを検索する場合、ユーザの希望にあった検索結果を得ることが可能になる。その理由は、索引部に登録するキー項目(索引キー)や検索キーを正規化するか否かを指定する指定手段を備えているからである。即ち、合成文字や互換文字をどう扱うか(一致と判定するか、あるいは不一致と判定するか)をユーザが自由に設定することができるので、ユーザの希望にあった検索結果を得ることが可能になる。
次に、本発明を実施するための最良の形態について図面を参照して詳細に説明する。
図1を参照すると、本発明にかかるデータ管理装置の実施の形態は、UNICODEデータ処理部1と、登録データ入力部2と、オプション指定部3と、検索キー入力部4と、登録手段5と、索引部6と、データ記憶部7と、検索手段8とから構成されている。
登録データ入力部2は、キーボードやデータ読み取り装置などによって実現されるものであり、データ記憶部7に格納する登録データを入力する。この登録データには、キー項目(索引キー)が含まれる。
検索キー入力部4は、検索キーを入力するものであり、キーボード等によって実現される。
オプション指定部3は、UNICODEデータ処理部1を第1〜第4オプションの内の何れのオプションで動作させるのかを指定するものであり、例えば、第1〜第4オプションに対応した4つの状態をとることができるスイッチ等によって実現される。
ユーザは、UNICODEデータ処理部1に正規化処理を行わせたくない場合には、第1オプションを指定する。また、合成文字を同一文字とみなすための正規化処理(NFC正規化処理)を行わせたい場合は第2オプションを、互換文字を同一文字とみなすための正規化処理(NFKC正規化処理)を行わせたい場合は第3オプションを、NFC正規化処理およびNFKC正規化処理の両方を行わせたい場合は第4オプションを指定する。
UNICODEデータ処理部1は、入力処理切り換え手段11と、キー項目正規化手段12と、正規化処理表13と、検索処理切り換え手段14と、検索キー正規化手段15とを含んでいる。
正規化処理表13には、UNICODEによって表されたデータを正規化するためのルールが登録されている。このルールは、「合成処理、互換処理を繰り返して最終的に得られる一意の文字に変換する」といったポリシーに従っている。
図2は、正規化処理表13の内容例を示す図である。文字コード201には、各文字のコードが設定される。文字名202には、それぞれの文字に対して割り当てられた一意の名前が参考情報として設定される。合成・互換203には、その文字とそれに続く文字を用いてある合成文字を構成することができれば「合成」、その文字に対する互換文字が割り当てられていれば「互換」が設定される。合成1(204)、合成2(205)、合成3(206)には、合成文字を構成する場合にその文字に続く文字が設定される。変換後の文字コード207には、合成あるいは互換後の文字コードが設定される。
入力処理切り換え手段11は、登録データ入力部2から入力された登録データを登録手段5及びキー項目正規化手段12に渡し、オプション指定部3により指定されているオプション種別をキー項目正規化手段12に渡す。
キー項目正規化手段12は、入力処理切り換え手段11から渡されたオプション種別が第2〜第4オプションである場合は、登録データ中のキー項目を、正規化処理表13に従って正規化し、正規化結果を登録手段5に渡す。その際、オプション種別「第2オプション」が指定されている場合には、NFC正規化処理を行い、オプション種別「第3オプション」が指定されている場合にはNFKC正規化処理を行い、第4オプションが指定されている場合には、NFC正規化処理とNFKC正規化処理の両方を行う。また、入力処理切り換え手段11から渡されたオプション種別が第1オプションである場合は、登録データ中のキー項目を登録手段5に渡す。
検索処理切り換え手段14は、オプション指定部3によって第1オプションが指定されている場合には、検索キー入力部4から入力された検索キーを検索手段8に渡す。また、オプション指定部3によって第2〜第4オプションが指定されている場合には、検索キー入力部4から入力された検索キーおよびオプション指定部3によって指定されているオプション種別を検索キー正規化手段15に渡す。
検索キー正規化手段15は、検索キー入力部4から入力された検索キーを、正規化処理表13に従って正規化し、正規化結果を検索手段8に渡す。その際、検索キーと共にオプション種別「第2オプション」が渡されている場合には、NFC正規化処理を行い、オプション種別「第3オプション」が渡されている場合にはNFKC正規化処理を行い、第4オプションが渡されている場合には、NFC正規化処理とNFKC正規化処理の両方を行う。
登録手段5は、入力処理切り換え手段11から渡された登録データをデータ記憶部7に登録し、キー項目正規化手段12から渡されたキー項目を索引部6に登録し、キー項目から登録データへのポインタを設定する。
検索手段8は、検索処理切り換え手段14から検索キーが入力された場合には、索引部6に上記検索キーに対応して設定されているポインタに従ってデータ記憶部7から該当するデータを検索し、検索結果を要求元に返却する。また、検索キー正規化手段15から正規化された検索キー(正規化検索キー)が入力された場合には、索引部6に上記正規化検索キーに対応して設定されているポインタに従ってデータ記憶部7から該当するデータを検索し、検索結果を要求元に返却する。
なお、本実施の形態のデータ管理装置は、コンピュータによって実現可能であり、コンピュータによって実現する場合は、例えば、次のようにする。コンピュータをデータ管理装置として機能させるためのプログラムを記録したディスク、半導体メモリ、その他の記録媒体を用意し、コンピュータに上記プログラムを読み取らせる。コンピュータは、読み取ったプログラムに従って自身の動作を制御することにより、自コンピュータ上に、UNICODEデータ処理部1、登録手段5、検索手段8を実現する。
〔実施の形態の動作の説明〕
次に、本実施の形態の動作について詳細に説明する。
〔データ登録時の動作〕
先ず、データ登録時の動作について説明する。
ユーザは、登録データの登録時、先ず、オプション指定部3を用いてオプション種別を指定する。即ち、ユーザは、合成文字や互換文字を含む登録データの登録時、NFC正規化された検索キーによっても登録データを検索可能にする場合には、オプション指定部3を用いて第2オプションを指定し、NFKC正規化された検索キーによっても登録データを検索可能にする場合には、第3オプションを指定し、NFC正規化およびNFKC正規化の両方の処理方法で正規化を行った検索キーによっても登録データを検索可能にする場合には、第4オプションを指定する。また、正規化された検索キーでは、検索不可能にする場合は、第1オプションを指定する。その後、ユーザは、登録データ入力部2を用いて登録データを入力する。
入力処理切り換え手段11は、登録データ入力部2から登録データが入力されると、図3のフローチャートに示すように、登録データを登録手段5及びキー項目正規化手段12に渡すと共に、オプション指定部3によって指定されているオプション種別をキー項目正規化手段12に渡す(ステップS31)。
キー項目正規化手段12は、入力処理切り換え手段11から渡されたオプション種別に応じて、次のような処理を行う。
入力処理切り換え手段11から渡されたオプション種別が第1オプションであった場合は、入力処理切り換え手段11から渡された登録データ中のキー項目をそのまま出力する。
また、入力処理切り換え手段11から渡されたオプション種別が第2オプション(NFC正規化)であった場合は、図4のフローチャートに示す処理を行う。今、例えば、正規化処理表13の内容が図2に示すものであり、入力処理切り換え手段11から渡された登録データ中のキー項目が、図5(A)に示すように「か+か+゛+み」501であったとすると、次のような処理が行われる。
キー項目正規化手段12は、先ず、キー項目の何文字目を注目文字にするのかを示す変数iの値を1にし(ステップS41)、キー項目の第1番目の文字「か」に注目する(ステップS42)。その後、注目文字から何文字目であるかを示す変数jの値を1にし(ステップS44)、第1番目の文字「か」と第2番目の文字「か」とが合成可能であるか否かを、正規化処理表13に参照して判定する(ステップS45)。この場合、第1文字目「か」の文字コード「304B」に対応する合成・互換203は合成可能であることを示しているが、合成1〜3(204〜206)には第2番目の文字「か」の文字コードが設定されていないため、合成不可能と判定する(ステップS45がNO)。
第1番目の文字と第2番目の文字が合成できないと判定すると(ステップS45がNO)、キー項目正規化手段12は、第1番目の文字「か」の文字コード「304B」を内部に保持し(ステップS48)、第2番目の文字「か」に注目する(ステップS49、S42)。
その後、キー項目正規化手段12は、第2番目の文字「か」と第3番目の文字「゛」が合成可能であるか否かを、正規化処理表13を参照して判定する(ステップS45)。この場合、第2番目の文字「か」に対応する合成・互換203は合成可能であることを示しており、且つ合成1(204)に第3文字目の文字コード「3099」が設定されているので、合成可能と判定する。
合成可能と判定すると(ステップS45がYES)、第2番目の文字「か」と第3番目の文字「゛」とを合成した文字「が」の文字コード「304C」を求め、それを注目中文字コードとする(ステップS46)。その後、変数jをインクリメントし(ステップS47)、注目中文字コード「304C」によって表される文字「が」と、第4番目の文字「み」が合成可能であるか否かを判定する(ステップS45)。この場合、文字「が」(文字コード;304C)に対応する合成・互換203は、合成不可能であることを示しているので、合成不可能と判定する(ステップS45がNO)。
そして、合成不可能と判定すると、キー項目正規化手段12は、注目中文字コードを内部に保持し(ステップS48)、第4番目の文字に注目する(ステップS49、S42)。以下、キー項目正規化手段12は、未注目の文字がなくなるまで、前述した処理と同様の処理を繰り返し行う。そして、未注目の文字がなくなると(ステップS43がYES)、内部に保持していた文字コード(正規化結果)を登録手段5に渡す(ステップS50)。図5(B)に、この例の場合の正規化結果502を示す。
また、入力処理切り換え手段11から渡されたオプション種別の値が第3オプション(NFKC正規化)であった場合には、図6のフローチャートに示す処理が行われる。今、例えば、正規化処理表13の内容が図2に示すものであり、入力処理切り換え手段11から渡された登録データ中のキー項目が図7に示す「ハ(半角)+°(半角)+ン(半角)」701であったとすると、次のような処理が行われる。
キー項目正規化手段12は、先ず、キー項目の何文字目を注目文字にするのかを示す変数iの値を1にし(ステップS61)、キー項目の第1番目の文字「ハ」(半角)に注目する(ステップS62)。その後、文字「ハ」(半角)に対応する互換文字があるか否かを、正規化処理表13を参照して調べ(ステップS64)、互換文字がなければ注目文字の文字コードを保持し(ステップS65)、互換文字があれば互換文字の文字コードを保持する(ステップS66)。この例の場合、文字「ハ」(半角)に対応する合成・互換203は、互換可能であることを示し、且つ、変換後の文字コード307に「30CF」が設定されているので、正規化処理表13は、互換文字の文字コード「30CF」を保持する。
その後、キー項目正規化手段12は、変数iをインクリメントし(ステップS67)、第2番目の文字「°」(半角)に注目する(ステップS62)。以下、キー項目正規化手段12は、未注目の文字がなくなるまで、前述した処理を繰り返し行う。そして、未注目の文字がなくなると、キー項目正規化手段12は内部に保持していた文字コード(正規化結果)を登録手段5に渡す(ステップS68)。この例における正規化結果は、図7の702に示すように「ハ」(全角)+「°」(全角)+「ン」(全角)となる。
また、入力処理切り換え手段11から渡されたオプション種別の値が第4オプション(NFC正規化とNFKC正規化の両方)であった場合には、図8のフローチャートに示す処理が行われる。今、例えば、正規化処理表13の内容が図2に示すものであり、入力処理切り換え手段11から渡された登録データ中のキー項目が図7に示す「ハ(半角)+°(半角)+ン(半角)」701であったとすると、次のような処理が行われる。
キー項目正規化手段12は、先ず、キー項目「ハ(半角)+°(半角)+ン(半角)」701に対して、図6のフローチャートに示した正規化処理(NFKC正規化処理)を行う(ステップS81)。この結果、図7に示す正規化結果「ハ(全角)+°(全角)+ン(全角)」702が得られる。
その後、キー項目正規化手段12は、正規化結果「ハ(全角)+°(全角)+ン(全角)」702に対して、図4のフローチャートに示した正規化処理(NFC正規化処理)を行う(ステップS82)。この結果、図7に示す正規化結果「パ(全角)+ン(全角)」703が得られる。
そして、最後に、キー項目正規化手段12は、登録手段5に正規化結果を渡す(ステップS83)。
次に、登録手段5の動作を説明する。図9のフローチャートに示すように、登録手段5は、入力処理切り換え手段11から登録データが渡され、キー項目正規化手段12からキー項目が渡されると、登録データをデータ記憶部7に登録し、キー項目を索引部6に登録し、キー項目から登録データへのポインタを設定する(ステップS31)。
〔検索時の動作〕
次に、検索時の動作について説明する。
ユーザは、検索時、先ず、検索の目的に応じたオプション種別をオプション指定部3を用いて指定する。即ち、検索キーをそのまま用いて検索を行いたい場合(検索キーと一致するものだけを検索したい場合)は、第1オプションを指定し、検索キーに対してNFC正規化を行った正規化検索キーを用いて検索を行いたい場合(NFC正規化処理を行った検索キーと一致するものを検索したい場合)は、第2オプションを指定し、検索キーに対してNFKC正規化を行った正規化検索キーを用いて検索を行いたい場合は、第3オプションを指定し、検索キーに対してNFKC正規化処理およびNFC正規化処理を行った正規化検索キーを用いて検索を行いたい場合は第4オプションを指定する。その後、ユーザは、検索キー入力部4から検索キーを入力する。
UNICODEデータ処理部1内の検索処理切り換え手段14は、検索キーが入力されると、図10のフローチャートに示すように、オプション指定部3によって指定されているオプション種別が第1オプションであるか否かを判定する(ステップS101)。そして、第1オプションが指定されていると判定した場合(ステップS101がYES)は、検索キーを検索手段8に渡す(ステップS102)。これに対して、第2〜第4オプションの内の何れかが指定されていると判定した場合(ステップS101がNO)は、検索キーとオプション種別とを検索キー正規化手段15に渡す(ステップS103)。
検索キー正規化手段15は、検索処理切り換え手段14から検索キーとオプション種別が渡されると、図11のフローチャートに示すように、検索キーをオプション種別に応じて正規化する(ステップS111)。即ち、オプション種別の値が第2オプションであった場合には、図4のフローチャートに示す正規化処理と同様の処理を行い、第3オプションであった場合には、図6のフローチャートに示す正規化処理と同様の処理を行い、第4オプションであった場合には、図8のフローチャートに示す正規化処理と同様の処理を行う。その後、検索キー正規化手段15は正規化した検索キーを検索手段8に渡す(ステップS112)。
検索手段8は、検索処理切り換え手段14あるいは検索キー正規化手段15から検索キーが渡されると、図12のフローチャートに示すように、上記検索キーに対応付けて索引部6に設定されているポインタに従ってデータ記憶部7から該当するデータを検索し、検索結果を要求元に返却する(ステップS121、S122)。
なお、本実施の形態は、DBMS(データベース管理システム)に適用可能である。本実施の形態をDBMSに適用した場合には、登録データ入力部2からの登録データに入力は、SQL文におけるINSERT文、UPDATE文によって実行されるデータ操作に対応し、検索キー入力部4からの検索キーの入力は、SQL文におけるSELECT文、UPDATE文、DELETE文に対する検索条件の指定に対応する。
〔実施の形態の効果〕
本実施の形態によれば、1つの文字に対する表現方法が複数存在するUNICODE等のコード体系で表されたデータを検索する場合、ユーザの希望にあった検索結果を得ることが可能になる。その理由は、索引部6に登録するキー項目や、検索キーを正規化するか否かを指定するオプション指定部3を備えているからである。即ち、合成文字や互換文字をどう扱うか(一致と判定するか、あるいは不一致と判定するか)をユーザが自由に設定することができるので、ユーザに希望にあった検索結果を得ることが可能になる。
また、本実施の形態では、合成済み文字を基底文字とした正規化処理を行うようにしているので(合成ができなくなるまで、正規化処理を行うようにしているので)、索引部6に格納されるデータ量を少なくすることができる。
本発明は、1つの文字に対する表現方法が複数存在するUNICODE等のコード体系で表されたデータを管理するDBMS等に適用すると好適である。
本発明にかかるデータ管理装置の実施の形態の構成例を示すブロック図である。 正規化処理表13の内容例を示す図である。 入力処理切り換え手段11の処理例を示すフローチャートである。 オプション種別として第2オプションが指定されたときの、キー項目正規化手段12の処理例を示すフローチャートである。 キー項目正規化手段12の処理を説明するための図である。 オプション種別として第3オプションが指定されたときの、キー項目正規化手段12の処理例を示すフローチャートである。 キー項目正規化手段12の処理を説明するための図である。 オプション種別として第4オプションが指定されたときの、キー項目正規化手段12の処理例を示すフローチャートである。 登録手段5の処理例を示すフローチャートである。 検索処理切り換え手段14の処理例を示すフローチャートである。 検索キー正規化手段15の処理例を示すフローチャートである。 検索手段8の処理例を示すフローチャートである。
符号の説明
1…UNICODEデータ処理部
11…入力処理切り換え手段
12…キー項目正規化手段
13…正規化処理表
14…検索処理切り換え手段
15…検索キー正規化手段
2…登録データ入力部
3…オプション指定部
4…検索キー入力部
5…登録手段
6…索引部
7…データ記憶部
8…検索手段

Claims (3)

  1. UNICODEで表された登録データを入力する登録データ入力部と、
    UNICODEで表された検索キーを入力する検索キー入力部と、
    登録データの登録時には登録データごとに、かつ、検索キーによる検索時には検索キーごとに、正規化処理を行わないことを指定する第1オプションと、結合文字列を合成済み文字に変換する第1の正規化処理を行うことを指定する第2オプションと、半角文字を全角文字に変換する第2の正規化処理を行うことを指定する第3オプションと、前記第2の正規化処理を行った後に前記第1の正規化処理を行うことを指定する第4オプションとの内の、ユーザによって選択されたオプションを入力する指定手段と、
    前記登録データ入力部から登録データが入力された場合は、前記指定手段によって第1オプションが入力されていれば前記登録データと前記登録データ中のキー項目とをそのまま出力し、第2オプションが入力されていれば前記登録データをそのまま出力すると共に前記登録データ中のキー項目に対して前記第1の正規化処理を行い正規化処理後のキー項目を出力し、第3オプションが入力されていれば前記登録データをそのまま出力すると共に前記登録データ中のキー項目に対して前記第2の正規化処理を行い正規化処理後のキー項目を出力し、第4オプションが入力されていれば前記登録データをそのまま出力すると共に前記登録データ中のキー項目に対して前記第2の正規化処理を行い更に前記第2の正規化処理結果に対して前記第1の正規化処理を行い前記第1の正規化処理後のキー項目を出力し、前記検索キー入力部から検索キーが入力された場合は、前記指定手段によって第1オプションが入力されていれば前記検索キーをそのまま出力し、第2オプションが入力されていれば前記検索キーに対して前記第1の正規化処理を行い正規化処理後の検索キーを出力し、第3オプションが入力されていれば前記検索キーに対して前記第2の正規化処理を行い正規化処理後の検索キーを出力し、第4オプションが入力されていれば前記検索キーに対して前記第2の正規化処理を行い更に前記第2の正規化処理結果に対して前記第1の正規化処理を行い前記第1の正規化処理後の検索キーを出力するデータ処理部と、
    該データ処理部から出力された登録データをデータ記憶部に登録すると共に、前記データ処理部から出力されたキー項目を前記登録データの索引キーとして前記データ記憶部の索引部に登録する登録手段と、
    前記データ処理部から出力された検索キーで前記索引部を検索して前記データ記憶部から該当するデータを取得する検索手段とを備えたことを特徴とするデータ管理装置。
  2. UNICODEで表された登録データを入力する登録データ入力部と、UNICODEで表された検索キーを入力する検索キー入力部と、登録データの登録時には登録データごとに、かつ、検索キーによる検索時には検索キーごとに、正規化処理を行わないことを指定する第1オプションと、結合文字列を合成済み文字に変換する第1の正規化処理を行うことを指定する第2オプションと、半角文字を全角文字に変換する第2の正規化処理を行うことを指定する第3オプションと、前記第2の正規化処理を行った後に前記第1の正規化処理を行うことを指定する第4オプションとの内の、ユーザによって選択されたオプションを入力する指定手段とを備えたコンピュータによってデータ管理を行うデータ管理方法であって、
    前記コンピュータが、前記登録データ入力部から登録データが入力された場合は、前記指定手段によって第1オプションが入力されていれば前記登録データと前記登録データ中のキー項目とをそのまま出力し、第2オプションが入力されていれば前記登録データをそのまま出力すると共に前記登録データ中のキー項目に対して前記第1の正規化処理を行い正規化処理後のキー項目を出力し、第3オプションが入力されていれば前記登録データをそのまま出力すると共に前記登録データ中のキー項目に対して前記第2の正規化処理を行い正規化処理後のキー項目を出力し、第4オプションが入力されていれば前記登録データをそのまま出力すると共に前記登録データ中のキー項目に対して前記第2の正規化処理を行い更に前記第2の正規化処理結果に対して前記第1の正規化処理を行い前記第1の正規化処理後のキー項目を出力し、前記検索キー入力部から検索キーが入力された場合は、前記指定手段によって第1オプションが入力されていれば前記検索キーをそのまま出力し、第2オプションが入力されていれば前記検索キーに対して前記第1の正規化処理を行い正規化処理後の検索キーを出力し、第3オプションが入力されていれば前記検索キーに対して前記第2の正規化処理を行い正規化処理後の検索キーを出力し、第4オプションが入力されていれば前記検索キーに対して前記第2の正規化処理を行い更に前記第2の正規化処理結果に対して前記第1の正規化処理を行い前記第1の正規化処理後の検索キーを出力するデータ処理ステップと、
    前記コンピュータが、前記データ処理ステップにおいて出力された登録データをデータ記憶部に登録すると共に、前記データ処理ステップにおいて出力されたキー項目を前記登録データの索引キーとして前記データ記憶部の索引部に登録する登録ステップと、
    前記コンピュータが、前記データ処理ステップにおいて出力された検索キーで前記索引部を検索して前記データ記憶部から該当するデータを取得する検索ステップとを含むことを特徴とするデータ管理方法。
  3. UNICODEで表された登録データを入力する登録データ入力部と、UNICODEで表された検索キーを入力する検索キー入力部と、登録データの登録時には登録データごとに、かつ、検索キーによる検索時には検索キーごとに、正規化処理を行わないことを指定する第1オプションと、結合文字列を合成済み文字に変換する第1の正規化処理を行うことを指定する第2オプションと、半角文字を全角文字に変換する第2の正規化処理を行うことを指定する第3オプションと、前記第2の正規化処理を行った後に前記第1の正規化処理を行うことを指定する第4オプションとの内のユーザによって選択されたオプションを入力する指定手段とを備えたコンピュータをデータ管理装置として機能させるためのプログラムであって、
    前記コンピュータを、
    前記登録データ入力部から登録データが入力された場合は、前記指定手段によって第1オプションが入力されていれば前記登録データと前記登録データ中のキー項目とをそのまま出力し、第2オプションが入力されていれば前記登録データをそのまま出力すると共に前記登録データ中のキー項目に対して前記第1の正規化処理を行い正規化処理後のキー項目を出力し、第3オプションが入力されていれば前記登録データをそのまま出力すると共に前記登録データ中のキー項目に対して前記第2の正規化処理を行い正規化処理後のキー項目を出力し、第4オプションが入力されていれば前記登録データをそのまま出力すると共に前記登録データ中のキー項目に対して前記第2の正規化処理を行い更に前記第2の正規化処理結果に対して前記第1の正規化処理を行い前記第1の正規化処理後のキー項目を出力し、前記検索キー入力部から検索キーが入力された場合は、前記指定手段によって第1オプションが入力されていれば前記検索キーをそのまま出力し、第2オプションが入力されていれば前記検索キーに対して前記第1の正規化処理を行い正規化処理後の検索キーを出力し、第3オプションが入力されていれば前記検索キーに対して前記第2の正規化処理を行い正規化処理後の検索キーを出力し、第4オプションが入力されていれば前記検索キーに対して前記第2の正規化処理を行い更に前記第2の正規化処理結果に対して前記第1の正規化処理を行い前記第1の正規化処理後の検索キーを出力するデータ処理部、
    該データ処理部から出力された登録データをデータ記憶部に登録すると共に、前記データ処理部から出力されたキー項目を前記登録データの索引キーとして前記データ記憶部の索引部に登録する登録手段、
    前記データ処理部から出力された検索キーで前記索引部を検索して前記データ記憶部から該当するデータを取得する検索手段として機能させるためのプログラム。
JP2007086900A 2007-03-29 2007-03-29 データ管理装置及びデータ管理方法並びにプログラム Expired - Fee Related JP4778466B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007086900A JP4778466B2 (ja) 2007-03-29 2007-03-29 データ管理装置及びデータ管理方法並びにプログラム
US12/055,580 US7984077B2 (en) 2007-03-29 2008-03-26 Data management system, data registration device, data retrieval device, data management method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007086900A JP4778466B2 (ja) 2007-03-29 2007-03-29 データ管理装置及びデータ管理方法並びにプログラム

Publications (2)

Publication Number Publication Date
JP2008243151A JP2008243151A (ja) 2008-10-09
JP4778466B2 true JP4778466B2 (ja) 2011-09-21

Family

ID=39873286

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007086900A Expired - Fee Related JP4778466B2 (ja) 2007-03-29 2007-03-29 データ管理装置及びデータ管理方法並びにプログラム

Country Status (2)

Country Link
US (1) US7984077B2 (ja)
JP (1) JP4778466B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10956419B2 (en) * 2019-04-03 2021-03-23 Salesforce.Com, Inc. Enhanced search functions against custom indexes

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5793381A (en) * 1995-09-13 1998-08-11 Apple Computer, Inc. Unicode converter
US6204782B1 (en) * 1998-09-25 2001-03-20 Apple Computer, Inc. Unicode conversion into multiple encodings
US6438516B1 (en) * 1998-12-07 2002-08-20 International Business Machines Corporation Method and apparatus for optimizing unicode composition and decomposition
JP3794882B2 (ja) 1999-10-28 2006-07-12 富士通株式会社 情報処理装置
JP2001125915A (ja) 1999-10-28 2001-05-11 Fujitsu Ltd 情報検索装置
JP2001236358A (ja) 2000-02-23 2001-08-31 Ricoh Co Ltd 文書検索方法および装置
US7086004B2 (en) * 2001-04-19 2006-08-01 International Business Machines Corporation Generalized mechanism for unicode metadata
US6643653B1 (en) * 2001-06-01 2003-11-04 Oracle International Corporation Method and apparatus for identifying a data sequence related to a given data sequence
US7236980B2 (en) * 2003-02-28 2007-06-26 Microsoft Corporation Unicode normalization
US20060101015A1 (en) * 2004-11-05 2006-05-11 Microsoft Corporation Automated collation creation

Also Published As

Publication number Publication date
US20080263066A1 (en) 2008-10-23
JP2008243151A (ja) 2008-10-09
US7984077B2 (en) 2011-07-19

Similar Documents

Publication Publication Date Title
Zhou et al. Pattern based sequence classification
JP5376163B2 (ja) 文書管理・検索システムおよび文書の管理・検索方法
JP4848317B2 (ja) データベースのインデックス作成システム、方法及びプログラム
JP5187308B2 (ja) 変換プログラム探索システムおよび変換プログラム探索方法
JP2006099428A (ja) 文書要約作成システム、方法、及びプログラム
WO2008062822A1 (fr) Dispositif d'exploration de texte, procédé d'exploration de texte et programme d'exploration de texte
Isele et al. Active learning of expressive linkage rules for the web of data
JP4287464B2 (ja) システム基盤構成策定支援システム及び支援方法
JP4778466B2 (ja) データ管理装置及びデータ管理方法並びにプログラム
JP3565239B2 (ja) 情報検索装置
US20100010973A1 (en) Vector Space Lightweight Directory Access Protocol Data Search
US7280997B2 (en) Numerical information retrieving device for transforming the form in which numerical information is presented
JP5127553B2 (ja) 情報処理装置、情報処理方法、プログラム及び記録媒体
JP4426893B2 (ja) 文書検索方法、文書検索プログラムおよびこれを実行する文書検索装置
JP5998835B2 (ja) 情報処理装置及びプログラム
JPH0236019B2 (ja)
JP2019125025A (ja) システム、文書データの管理方法、及びプログラム
Mustafa Text mining authorship detection methods development
JP2007272699A (ja) 文書インデキシング装置、文書検索装置、文書分類装置、並びにその方法及びプログラム
JP2009093405A (ja) データ検索のためのシステム、方法及びコンピュータプログラム
WO2021111769A1 (ja) 検索装置
JP2002063202A (ja) 情報検索システムおよび方法
JP2009003731A (ja) 特許検索システム
JP2005085109A (ja) 情報検索装置及びプログラム
JP2009169710A (ja) データ処理装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081209

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090209

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090310

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090422

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20090514

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20090514

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20090522

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20090612

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110701

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: 20140708

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees