JP4584507B2 - 住所認識装置、記録媒体及びプログラム - Google Patents

住所認識装置、記録媒体及びプログラム Download PDF

Info

Publication number
JP4584507B2
JP4584507B2 JP2001260805A JP2001260805A JP4584507B2 JP 4584507 B2 JP4584507 B2 JP 4584507B2 JP 2001260805 A JP2001260805 A JP 2001260805A JP 2001260805 A JP2001260805 A JP 2001260805A JP 4584507 B2 JP4584507 B2 JP 4584507B2
Authority
JP
Japan
Prior art keywords
building
recognition
character string
character
address
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
JP2001260805A
Other languages
English (en)
Other versions
JP2002157553A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2001260805A priority Critical patent/JP4584507B2/ja
Publication of JP2002157553A publication Critical patent/JP2002157553A/ja
Application granted granted Critical
Publication of JP4584507B2 publication Critical patent/JP4584507B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、郵便物、アンケート、書類などの住所欄に記入された住所を読み取る住所認識機能を持つOCR(光学的文字認識装置)等に利用可能な住所認識装置、記録媒体及びプログラムに関する。
【0002】
【従来の技術】
以下、従来例について説明する。
【0003】
(1) :従来例1(特開平9−38585号公報参照)
図12は従来例1の説明図である。従来例1は、宛名認識装置に関するものであり、辞書容量の縮小を図り、認識処理時間を短縮する、というものである。
【0004】
図12に示したように、宛名認識装置は、光電変換部40、宛名領域検出部41、行検出部42を用いて出力される宛名領域の行から、文字検出部43で宛名の各文字を検出して切り出し、文字認識部44で文字辞書45を参照して文字を認識し、宛名認識部46で住所辞書47を参照して町名を認識し、街区文字検出部48と、街区文字認識部49とで、文字辞書50を参照して町名の後ろの丁目、番地を認識し、住所編集部51で住所情報を制御部52へ出力する。
【0005】
この場合、アパート名、或いはマンション名が記載されていれば、宛名認識部46で「アパート」、「マンション」等のキーワードの認識を行い、街区文字検出部48と、街区文字認識部49とで認識されたアパート、マンション等のキーワードの後ろに記載された文字として棟番号、部屋番号を認識して住所編集部51で住所情報を制御部52へ出力する、というものである。
【0006】
(2) :従来例2(特開平5−54198号公報)
図13は従来例2の説明図である。従来例2は、文字認識処理装置に関するものであり、集合住宅を含む住所の文字認識処理において、集合住宅参照単語格納数を少なくして、正確な住所認識を可能にするものである。
【0007】
図13に示したように、文字認識処理装置では、文字認識結果は入力文字コード61として入力される。この入力文字コード61に対して、住所照合部62において、住所部の照合、確認、補正が行われ、住所部が決定される。更に、集合住宅が記載されていると判断される場合は、集合住宅照合部63で集合住宅部の照合、確認、補正が行われ、その結果が照合結果64として出力される。
【0008】
この場合、集合住宅照合部63では、入力文字コードの集合住宅部のうち、先ず地名部の照合が住所部の照合結果を利用して地名照合部71で実施される。次に、未照合の入力集合住宅部の末尾部の照合が末尾照合部72においてなされる。次に、未照合の末尾から連続したアルファベット、数字の文字列検索が数字照合部73において実行され、最後に残された入力文字コード部分と予め格納された集合住宅単語群との照合が集合住宅単語照合部74において実施される、というものである。
【0009】
【発明が解決しようとする課題】
前記従来例においては、次のような課題があった。
【0010】
(1) :従来例1は、住所文字列内のマンション、アパートなどのキーワードを文字列中から最初に探索して、見つかった場合はその単語の後ろを部屋番号部や階数として認識するといった手法である。
【0011】
この従来例1においては、キーワードが建物前接語である場合、その後ろに地名、人名等が記されることが一般的であり、必ずしも建物を表すキーワードの直ぐ後ろに部屋番号部、階数が来るとは限らない。実際に言えるのは、建物部の最後に、部屋番号部や階数等の末尾文字列が出現する、ということだけである。従って、確実な住所の読み取りは困難である。
【0012】
(2) :従来例2は、建物部の文字認識結果から、先ず地名を探索し、その後、末尾文字の「号」、「号室」を探索している。そのため、一文字枠が印刷されている帳票や印字など、一文字領域が特定できる場合は良いが、従来例2の公報の図3に示すように、一文字枠の無い帳票に自由に記入された住所では、切り出しパスが一意に決定できないため、可能な限り切り出しの組み合わせを全て考えなければならず、そのため、探索範囲が大変広くて、或る建物部中に地名を含まない場合でも地名がたまたま誤って探索され、建物部読み取りが失敗してしまう可能性が大きくなる。
【0013】
本発明は、このような従来の課題を解決し、建物部中に最も出現する可能性が大きく、かつ、位置が推定し易い部分から先に読み取ることで、自由に記入された住所中の建物部を精度良く効率的に認識できるようにすると共に、特に、手書き住所における建物部の認識率を向上させることを目的とする。
【0014】
【課題を解決するための手段】
図1は本発明の原理説明図であり、図1中、4は住所認識部、6は住所地名DB、7は建物末尾文字列知識DB、9は文字認識辞書、8は建物名DB、5は建物認識部を示す(DB:データベース)。本発明は前記の目的を達成するため、次のように構成した。
【0015】
(1) :取り扱い対象物(郵便物、アンケート、書類など)の住所欄に記入された住所を読み取る住所認識装置において、住所中の建物部末尾に存在する、部屋番号、階数、などの建物部に固有な建物末尾文字列タイプに関する知識を保持する建物末尾文字列知識保持手段(建物末尾文字列知識DB7)と、入力画像から切り出された文字列画像の文字認識を実行し、該認識結果の候補文字列から、最初に前記建物末尾文字列知識保持手段のデータと照合して建物部に固有な建物末尾文字列の検出を行い、複数の建物末尾文字列候補が検出された場合は順位付けを行い、残りの建物名候補部分の読み取り結果が成功するか否かによって、最終的に建物部の読み取り結果を決定して出力する建物認識手段(建物認識部5)とを備えている。
【0017】
(2) :前記(1) の住所認識装置において、前記建物認識手段は、複数の建物末尾文字列候補が検出された場合、文字認識結果を使って点数を定義し、各建物末尾文字列候補に対して計算された得点や文字数によって順位付けを行う機能と、複数の末尾文字列候補が検出された場合、建物末尾文字列の各得点と、残された建物名の認識が成功するか否かで、最終的な建物部の認識結果が決定される機能とを備えている。
【0018】
(3) :前記(1) の住所認識装置において、前記建物認識手段は、予め、建物部文字列の文字認識を実行しておき、その認識結果から、建物末尾文字列が最も確かに存在する建物部の末尾から前方に向かって、建物末尾文字列を探索する機能を備えている。
【0019】
(4) :コンピュータに、入力画像から切り出された文字列画像の文字認識を実行し、該文字認識結果の候補文字列から、最初に建物末尾文字列知識保持手段のデータと照合して建物部に固有な建物末尾文字列の検出を行い、複数の建物末尾文字列候補が検出された場合は順位付けを行い、残りの建物名候補部分の読み取り結果が成功するか否かによって最終的に建物部の読み取り結果を決定して出力する建物認識手段の機能を実現させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【0020】
(5) :コンピュータに、入力画像から切り出された文字列画像の文字認識を実行し、該文字認識結果の候補文字列から、最初に建物末尾文字列知識保持手段のデータと照合して建物部に固有な建物末尾文字列の検出を行い、複数の建物末尾文字列候補が検出された場合は順位付けを行い、残りの建物名候補部分の読み取り結果が成功するか否かによって最終的に建物部の読み取り結果を決定して出力する建物認識手段の機能を実現させるためのプログラム。
【0021】
(作用)
前記構成に基づく本発明の作用を、図1に基づいて説明する。
【0022】
(a) :前記(1) 、(4) 、(5) では、建物認識手段は、入力画像から切り出された文字列画像の文字認識を実行し、該認識結果の候補文字列から、最初に前記建物末尾文字列知識保持手段のデータと照合して建物部に固有な建物末尾文字列の検出を行い、複数の建物末尾文字列候補が検出された場合は順位付けを行い、残りの建物名候補部分の読み取り結果が成功するか否かによって、最終的に建物部の読み取り結果を決定して出力する。
【0023】
このようにすれば、建物部中に最も出現する可能性が大きく、かつ、位置が推定し易い部分から先に読み取ることで、自由に記入された住所中の建物部を精度良く効率的に認識できるようにすると共に、特に、手書き住所における建物部の認識率を向上させることができる。(なお、前記(3) の作用も実質的に同じである。)
【0024】
(b) :前記(2) では、建物認識手段は、複数の建物末尾文字列候補が検出された場合、文字認識結果を使って点数を定義し、各建物末尾文字列候補に対して計算された得点や文字数によって順位付けを行う機能と、複数の末尾文字列候補が検出された場合、建物末尾文字列の各得点と、残された建物名の認識が成功するか否かで、最終的な建物部の認識結果が決定される。
【0025】
このようにすれば、自由に記入された住所中の建物部を精度良く効率的に認識できるようにすると共に、特に、手書き住所における建物部の認識率を向上させることができる。
【0026】
(c) :前記(3) では、建物認識手段は、予め、建物部文字列の文字認識を実行しておき、その認識結果から、建物末尾文字列が最も確かに存在する建物部の末尾から前方に向かって、建物末尾文字列を探索する。このようにすれば、自由に記入された住所中の建物部を精度良く効率的に認識できるようにすると共に、特に、手書き住所における建物部の認識率を向上させることができる。
【0027】
【発明の実施の形態】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。
【0028】
§1:住所認識装置の説明
図2は住所認識装置のブロック図、図3は建物認識部のブロック図である。図2に示したように、住所認識装置は、郵便物、アンケート、各種書類などの取り扱い対象物の住所欄に記入された住所を含む文字列画像を光学的に走査して二値化する(二値のイメージデータを入力する)画像入力部(例えば、イメージスキャナ)1と、画像入力部1により入力した文字列画像から一文字列ずつ切り出す文字列切り出し部2と、文字列切り出し部2が切り出した一文字列ずつの文字列画像から、一文字ずつ(一文字領域ずつ)切り出す文字切り出し部3と、一文字を認識するための文字認識辞書9と、住所地名データを格納した住所地名データベース(以下、「住所地名DB」と記す)6と、住所地名DB6によって住所の丁目まで認識を実行する住所認識部4と、建物に固有な部屋番号、階数などの建物末尾文字列に関する知識を格納した建物末尾文字列知識データベース(以下、「建物末尾文字列知識DB」と記す)7と、建物名を格納した建物名データベース(以下「建物名DB」と記す)8と、前記建物末尾文字列知識DB7と建物名DB8を使って(参照して)建物部を認識する建物認識部5を備えている。
【0029】
また、図3に示したように、前記建物認識部5は、文字認識辞書9を使って、可能な一文字領域に対し文字認識を実行し、文字候補ラティスを作成する文字候補ラティス作成部11と、文字候補ラティス作成部11が作成した文字候補ラティスの末端から、建物末尾文字列知識DB7を使って、建物末尾文字列タイプに合致する箇所を求める(すなわち、建物文字列の最後尾から前方に向かって建物に固有な建物末尾文字列を探索し、建物末尾文字列候補を求める)建物末尾文字列探索部12と、建物末尾文字列探索部12が探索した建物末尾文字列候補に対し、得点を計算する建物末尾文字列得点計算部13と、建物末尾文字列候補が複数の場合は、それらの得点の大きさや文字数によって順位付けを行う建物末尾文字列候補順位付部14と、既存の手法を使って、建物末尾文字列候補を除いた残りの部分から建物名を構成する建物前接続語、建物後接語、建物修飾語、地名、人名、その他名詞等の単語を探索する建物名認識部16と、或る建物末尾文字列候補を採用した時、残りのラティスを建物名認識部16に渡して、建物名認識が成功した場合は最終的な建物部認識結果を決定し、成功しなかった場合は次の候補を採用し、同様な処理を繰り返す建物判定部15を備えている。
【0030】
前記住所認識装置の特徴をまとめると次の通りである。
【0031】
(1) :住所中の建物部末尾に存在する、部屋番号、階数、などの建物部に固有な建物末尾文字列タイプに関する知識を保持する建物末尾文字列知識DB7と、入力画像から切り出された文字列画像の文字認識を実行し、該認識結果の候補文字列から、最初に前記建物末尾文字列知識DB7のデータと照合して建物部に固有な建物末尾文字列の検出を行い、複数の建物末尾文字列候補が検出された場合は順位付けを行い、残りの建物名候補部分の読み取り結果が成功するか否かによって、最終的に建物部の読み取り結果を決定して出力する建物認識部5とを備えている。
【0033】
(2) :前記(1) の建物認識部5は、複数の建物末尾文字列候補が検出された場合、文字認識結果を使って点数を定義し、各建物末尾文字列候補に対して計算された得点や文字数によって順位付けを行う機能と、複数の末尾文字列候補が検出された場合、建物末尾文字列の各得点と、残された建物名の認識が成功するか否かで、最終的な建物部の認識結果が決定される機能とを備えている。
【0034】
(3) :前記(1) の建物認識部5は、予め、建物部文字列の文字認識を実行しておき、その認識結果から、建物末尾文字列が最も確かに存在する建物部の末尾から前方に向かって、建物末尾文字列を探索する機能を備えている。
【0035】
§2:住所認識処理の説明
図4〜図8は、住所認識処理の説明図(その1)〜(その5)であり、図4のA図は住所における建物部例、図4のB図は建物前接続語、建物修飾語を含む方書例、図4のC図は建物後接語、人名を含む方書例、図5のA図は自由手書き文字候補ラティス例、図6のA図は建物末尾文字列が抽出された場合の文字候補ラティス例、図7のA図は方書固有文字列タイプ知識例、図8のA図は建物末尾文字列探索例である。図9は建物認識部の処理フローチャートである。以下、これらの図を参照しながら住所認識処理を詳細に説明する。
【0036】
(1) :用語の説明
前記住所認識処理における用語の意味は次の通りである。
【0037】
▲1▼:建物部
建物部は、建物名+建物末尾文字列(部屋番号、階数)から構成される。図4のA図の例では「サンハイツ横浜802号」全体を言う。
【0038】
▲2▼:建物末尾文字列
建物末尾文字列は、建物の末尾にくる、階数、部屋番号部を言う。図4のA図の例では「802号」が建物末尾文字列である。
【0039】
▲3▼:建物名
建物名は、建物部から階数、部屋番号を除いた、建物の名前を表す部分を建物名と言う。図4のA図の例では「サンハイツ横浜」が建物名である。
【0040】
▲4▼:建物前接語
建物前接語は、地名、人名、その他名詞に前接し、建物名を構成するものである。図4のA図の例では、「ハイツ」が、建物前接語である。その他、「ハイム」、「メゾン」等多数あるが建物名中に必ず存在するとは限らない。但し、建物前接語が建物名中に存在しない場合は、建物後接語が必ず存在する。
【0041】
▲5▼:建物後接語
地名、人名、その他名詞に後接し、建物名を構成するものであり、図4のA図の例では存在しない。例えば、図4のC図に示した「山田アパート」の「アパート」や、「荘」、「寮」等多数あるが、建物名中に必ず存在するとは限らない。
但し、建物後接語が建物名中に存在しない場合は、建物前接語が必ず存在する。
【0042】
▲6▼:建物修飾語
建物修飾語は、建物前接語、建物後接語を修飾する単語で、必ず、建物前接語、建物後接語を伴って建物名を構成するものであり、建物名中に必ず存在するとは限らない。図4のA図、B図の例では、「サン」が建物修飾語である。
【0043】
▲7▼:地名、人名、その他名詞
地名、人名、その他名詞は、通常の意味で、地名や人名を表す語、及び「清風」、「若葉」のように、地名、人名以外の普通名詞や固有名詞があり、建物名中に必ずあるとは限らない。図4のA図の例では、「横浜」が地名である。なお、「マンション」、「コーポ」のように、同一単語でも、出現位置によっては、建物前接語にも、建物後接語にもなりうる場合がある。建物前接語、建物後接語を含む建物部の例を図4のB図、図4のC図に示す。
【0044】
(2) :住所例と、住所認識処理に必要なデータ等の説明
住所中の建物部は、図4に示すように、建物名(例えば、図4のA図の「サンハイツ横浜」)と、部屋番号や階数などの建物部に固有な建物末尾文字列(例えば、図4のA図の「802号」)から構成される。建物末尾文字列は、ほぼ確実に住所の建物部中の最後に出現する。
【0045】
また、建物名は、建物前接語、建物後接語、建物修飾語、地名、人名、その他名詞から構成される。建物前接語、建物後接語は、何れか一方のみが建物部中にほぼ確実に出現する。建物前接語、建物後接語を修飾する建物修飾語は、建物部中に出現する場合としない場合がある。
【0046】
また、地名、人名、その他の名詞も、出現する場合としない場合がある。この中で、ほぼ確実に建物部中に出現し、かつ、その末端が建物部文字列の末端と一致するということが分かっている。建物前接語、建物後接語はいずれかが建物部中にほぼ確実に出現するが、その建物部中における始端と終端は、様々なケースがあり、予め明言できない。
【0047】
その他の単語は、始端と終端だけでなく、出現するか否かも予め明言できない。よって、前記住所認識装置では、出現する可能性の高い部分から、かつ、その出現する位置がだいたい分かっている建物末尾文字列から検出することで、効率的、かつ、精度良く建物部を読み取る手段を提供する。
【0048】
図5のA図に、自由手書き文字に対する文字候補ラティスの例をあげる。この場合、「文字候補ラティス」とは、可能な一文字領域(この例では、「コーポ森脇305号」の各一文字領域)を全て求め、それらに対して文字認識を実行して文字認識結果を付与したものである。なお、図5のA図において、例えば、「森:29」の「森」は、「森」の一文字領域に対する認識結果の候補文字であり、「29」は前記候補文字を構成する文字コードに対応する距離(距離が小さいほど、認識文字としての確信度が高い)を示す。
【0049】
この場合、図6のA図に示すように、予め、建物末尾文字列(この例では「305号」)を抽出しておけば、後の単語を探索する範囲が非常に狭くなり、処理時間も少なく、検索ミスも少なくなることが分かる。また、抽出対象とする建物固有末尾文字列のタイプの例を図7のA図にあげる。建物固有末尾文字列の各タイプの記述ルール(文字数、文字種コードなどの情報)は、予め、建物末尾文字列知識DB7として用意しておく。
【0050】
図7のA図に示した例では、建物末尾文字列タイプが「数字1〜4ケタ」の例としては「201」があり、建物末尾文字列タイプが「数字1〜4ケタ+号」の例としては「201号」があり、建物末尾文字列タイプが「数字1〜4ケタ+号室」の例としては「201号室」があり、建物末尾文字列タイプが「英字+数字1〜3ケタ」の例としては「A302」があり、建物末尾文字列タイプが「英字+数字1〜3ケタ+号」の例としては「A302号」がある。このようにして、図7のA図に示したような建物末尾文字列とその例を格納した建物末尾文字列知識DB7を、予め用意しておく。
【0051】
(3) :住所認識装置全体の処理概要
住所認識処理装置全体の処理概要は次の通りである。先ず、画像入力部1では、郵便物、アンケート、各種書類などの住所欄に記入された住所を含む文字列画像を光学的に走査して二値化する。次に、文字列切り出し部2は、画像入力部1により二値化した文字列画像から一文字列ずつ切り出し(一文字列領域を切り出し)、文字切り出し部3は、文字列切り出し部2が切り出した一文字列ずつの文字列画像から、一文字ずつ(一文字領域ずつ)切り出す。
【0052】
続いて、住所認識部4は、文字切り出し部3が切り出した文字領域のデータを基に、文字認識辞書9を使って一文字ずつの文字認識を実行し、その認識した文字を基に、住所地名DB6を使って住所の丁目まで認識を実行する。次に、建物認識部5は、住所認識部4が認識した住所を基に、文字認識辞書9と、建物末尾文字列知識DB7と、建物名DB8を使って建物部全体の認識処理を実行し、該認識結果を出力する。
【0053】
(4) :建物部認識処理の詳細な説明
前記住所認識処理における建物部の認識処理は次のようにして行う。
【0054】
建物認識部5の文字候補ラティス作成部11は、建物部文字列の可能な一文字領域全てに対し、文字認識辞書9を参照して文字認識を実行し、文字候補ラティスを作成する。次に、建物末尾文字列探索部12は、前記作成した文字候補ラティスの末端から、建物末尾文字列知識DB7を使って建物末尾文字列タイプに合致する箇所を探索して求める。
【0055】
次に、建物末尾文字列得点計算部13は、建物末尾文字列タイプに合致する各建物末尾文字列候補に対し、候補に対応するパターンの認識結果を使って点数を定義し、各候補に対する得点を計算する。
【0056】
その後、建物末尾文字列候補順位付部14は、それらの値と、各候補を構成する文字数などにより順位付け(建物末尾文字列の順位付け)を行う。この場合の建物末尾文字列探索の例を図8に示す。ここでは、簡単化の為に、一文字領域の分かっているデータを使っている。認識結果は2位まで求めてある。
【0057】
すなわち、この例では、建物部が「小田中アパート802号」であり、この文字列画像から各文字を認識処理すると、「小」の一文字領域に対する認識結果1位は「小」であり、その候補文字を構成する文字コードに対応する距離は「18」である。また、「小」の一文字領域に対する認識結果2位は「子」であり、その候補文字を構成する文字コードに対応する距離は「54」である。
【0058】
この例では、各候補文字に対する点数を、各候補文字を構成する文字コードに対応する距離の総和を、各候補文字を構成するパターン数で割ったものとして定義している。すなわち、各候補に対する点数(得点)Pj=(各候補を構成する文字コードに対応する距離の総和)/(各候補を構成するパターン数)として求める。
【0059】
よって、この定義では、点数(得点)が低いほど、建物末尾文字列であるという確信度が高い。この例では、建物固有文字列知識に合致する候補として、「2号」、「802号」、「602号」、「1802号」、「1602号」の5つが探索されている。
【0060】
これらに対するj番目の順位の点数(得点)Pj(j=1、2、3、・・・)は、次のように計算される(なお、以下の計算例では、小数点以下は、四捨五入してある)。ここで、順位付けの一例として、文字数の異なる場合には、文字数の多い順に、文字数の等しい場合は、点数の低い順に順位付けを行っている。
【0061】
「1802号」:P1=(30+19+18+21+24)/5=22
「1602号」:P2=(30+37+18+21+24)/5=26
「802号」:P3=(19+18+21+24)/4=21
「602号」:P4=(37+18+21+24)/4=25
「2号」:P5=(21+24)/2=23
次に、第1位の建物末尾文字列候補を採用し、建物部から第1位の末尾文字列候補に対応する部分を除いた文字候補ラティスから、既存の手法(例えば、特開平11−167607号公報に記載された手法であり、詳細は後述する)を使って、建物前接語、建物後接語、建物修飾語、地名、人名、その他名詞を探索し、建物名を認識して決定する。
【0062】
建物名認識に成功すれば、第1位の建物固有末尾文字列の認識結果と、残りの建物名部分の認識結果を、建物部の認識結果として出力する。建物名認識に失敗した場合は、その候補と同一文字数の候補は棄却する。
【0063】
図8のA図に示した例では、建物末尾文字列は、先ず最大文字数を持ち、同一文字数では最も点数の低い「1802号」が先ず採用され、残りの部分が建物名候補部とし、建物名の決定が行われる。しかし、「ト」の部分が建物末尾文字列部と見なされているため、「アパート」が検索されず建物名認識は失敗する。
【0064】
もし、第1位に対応する部分を除いた文字候補ラティスから建物名が決定できなければ、第1位と文字数の異なるもので、最も高い順位の候補を採用し、建物部からその建物末尾文字列候補に対応する部分を除いた文字候補ラティスから、同様に、建物前接語、建物後接語、建物修飾語、地名、人命、その他名詞を探索して建物名を決定する。
【0065】
無事決定できれば処理を終了し、その候補の建物固有末尾文字列の認識結果と、残りの建物名部分の認識結果が、建物部の認識結果として出力される。ここで、建物名が決定できない場合は、更に、下位の文字数の異なる建物末尾文字列候補として、建物部全体の認識結果が決定できるまで繰り返す。
【0066】
図8のA図の例では、次に文字数が多く、かつ、同一文字数では、最も点数が低い「802号」が採用され、残りの部分を建物名候補として、既存の方法で建物名が決定できる。この場合、無事に建物名が決定され、最終的に「小田中アパート802号」が建物部認識結果として出力される。
【0067】
(5) :フローチャートにより建物認識部の処理説明
図9は建物認識部の処理フローチャートである。以下、図9に基づいて、建物認識部の処理を説明する。なお、S1〜S10は各処理ステップを示す。
【0068】
建物認識部5は、建物部文字列の可能な一文字領域全てに対し文字認識を実行し、文字候補ラティスを作成する(S1)。そして、文字候補ラティスの末端から、建物末尾文字列知識DBを使って建物末尾文字列タイプに合致する箇所を求める(S2)。次に、建物末尾文字列タイプに合致する各建物末尾文字列候補に対し、候補に対応するパターンの認識結果を使って点数を定義し、各候補に対する得点を計算する(S3)。
【0069】
その後、それらの値と、各候補を構成する文字数などにより順位付けを行う(S4)。次に、建物末尾文字列候補のラティスから建物末尾文字列候補を除いた部分に対する建物名の認識処理を行う(S5)。そして、前記建物名認識処理が成功したか否かを判断し(S6)、成功したら認識結果を出力し(S9)、この処理を終了する。
【0070】
しかし、S6の判断で、建物名の認識処理が成功しない場合は、文字数の異なる残りの候補があるか否かを判断し(S7)、残りの候補があれば、次の建物末尾文字列候補を採用して(S8)、S5の処理から繰り返して行う。しかし、S7の処理で残りの候補がなければ、エラー出力を行い(S10)、この処理を終了する。
【0071】
§3:住所認識装置の具体的な装置例と記録媒体の説明
図10は具体的な装置例である。前記住所認識装置は、パーソナルコンピュータ、ワークステーション等の任意のコンピュータにより実現することができる。この装置は、コンピュータ本体21と、該コンピュータ本体21に接続されたディスプレイ装置22、入力装置(キーボード/マウス等)23、リムーバブルディスクドライブ(「RDD」という)24、ハードディスク装置(「HDD」という)25等を備えている。
【0072】
そして、コンピュータ本体21には、内部の各種制御や処理を行うCPU26と、プログラムや各種データを格納しておくためのROM27(不揮発性メモリ)と、メモリ28と、インタフェース制御部(「I/F制御部」という)29と、通信制御部30等が設けてある。なお、リムーバブルディスクドライブには、フレキシブルディスクドライブ(フロッピィディスクドライブ)や光ディスクドライブ等が含まれる。
【0073】
前記構成の装置において、例えば、ハードディスク装置25のハードディスク(記録媒体)に、前記住所認識装置の処理を実現するためのプログラムを格納しておき、このプログラムをCPU26が読み出して実行することにより、前記住所認識装置の処理を実行する。
【0074】
しかし、本発明は、このような例に限らず、例えば、ハードディスク装置25のハードディスク(記録媒体)に、次のようにしてプログラムを格納し、このプログラムをCPU26が実行することで前記住所認識装置の処理を行うことも可能である。
【0075】
▲1▼:他の装置で作成されたリムーバブルディスクに格納されているプログラム(他の装置で作成したプログラムデータ)を、リムーバブルディスクドライブ24により読み取り、ハードディスク装置25のハードディスク(記録媒体)に格納する。
【0076】
▲2▼:ネットワーク(インターネット、LAN等)を介して他の装置から伝送されたプログラム等のデータを、通信制御部30を介して受信し、そのデータをハードディスク装置25のハードディスク(記録媒体)に格納する。
【0077】
§4:文字候補ラティスから建物名を決定する処理(特開平11−167607号公報参照)の概要説明
図11は、文字候補ラティスから建物名を決定する処理の説明図である。以下、図11に基づいて、文字候補ラティスから建物名を決定する処理の概要を説明する。なお、S21〜S26は各処理ステップを示す。
【0078】
▲1▼住所認識処理
S21で実行する住所認識処理では、イメージメモリから読み込んだ加入者情報の画像データの中から住所部分を抽出し、規定の認識アルゴリズムに従ってそれを文字コードに変換する処理を行う。この住所部分の抽出方法としては、加入申込用紙に記入枠が設けられているときには、その記入枠を検出することで行う。一方、記入枠が設けられていないときには、画像データ内の黒領域の分布から文字ブロックを推定して、それらの文字ブロックの位置関係より住所の書かれている文字ブロックを推定することなどにより行う。
【0079】
このとき、追加情報検索プログラムを呼び出し、この追加情報検索プログラムを使ってユーザと対話することで、住所部分を抽出するという方法を採ることも可能である。現在の認識技術では、100%の正確な認識は不可能であるので、住所を構成する各文字毎に、正解の可能性の高い順に複数個の正解候補の文字コードを求める。これから、認識結果は、候補文字のラティスを構成することになる。
【0080】
▲2▼住所文字列分割処理
S22で実行する住所文字列分割処理では、住所認識処理の出力する認識結果の候補文字ラティスを、住所を構成する行政区分、建物名、部屋番号の3つの要素に分割する処理を行う。
【0081】
この分割方法としては、加入申込用紙に設けられる記入枠のフォーマット情報を利用することで行ったり、住所部分の抽出に用いた画像データのレイアウト情報を利用することで行う。また、認識結果の文字数や、認識結果の文字で分割する方法(例えば、認識文字「番地」で行政区分と建物名とを分割したり、認識文字「荘」で建物名と部屋番号とを分割する)を採ることも可能である。
【0082】
このとき、追加情報検索プログラムを呼び出し、この追加情報検索プログラムを使ってユーザと対話することで、行政区分/建物名/部屋番号に分割するという方法を採ることも可能である。
【0083】
▲3▼行政区分抽出処理
S23で実行する行政区分抽出処理では、住所文字列分割処理で分割された行政区分部分の候補文字ラティスから、行政区分の正解文字列を抽出する処理を行う。この抽出処理は、追加情報検索プログラムを呼び出し、この追加情報検索プログラムを使って行政区分データベースにアクセスして、行政区分データベースの管理データと整合性のとれるものを探し出すことで行う。
【0084】
例えば、候補文字ラティスに、「川崎市中原区」と「川崎市中源区」とがある場合には、行政区分データベースの管理データと整合性のとれる「川崎市中原区」を正解文字列として抽出するのである。
【0085】
このとき、正解文字列を抽出できないときは、追加情報検索プログラムに対して、郵便番号や電話番号(加入申込用紙に記入されているときには、認識結果のものを使い、記入されていないときには、追加情報検索プログラムを使ってユーザに問い合わせることで入手する)を通知して、最も整合性のあるものを探し出すことで行う。
【0086】
このような処理に従っても正解文字列を抽出できないときには、追加情報検索プログラムを介して外部データベースにアクセスしたり、ユーザに問い合わせることで、行政区分の正解文字列を抽出していくことになる。
【0087】
▲4▼建物名抽出処理
S24で実行する建物名抽出処理では、住所文字列分割処理で分割された建物名部分の候補文字ラティスから、建物名の正解文字列を抽出する処理を行う。この抽出処理は、「アパート」や「ハイツ」のように建物名を構成する単語リスト(図示しないデータベースなどに管理される)を参照することで行ったり、行政区分の正解文字列を参照することで行ったり、追加情報検索プログラムを呼び出し、この追加情報検索プログラムを使って地図情報データベースや印象度データベースや出現頻度データベースにアクセスすることで、建物名として用いられる可能性の高い単語名を取得してそれを参照することで行う。
【0088】
例えば、建物名の認識結果として「中原ハイツ」と「中原ハイシ」とがある場合には、建物名を構成する単語リストから「中原ハイツ」を正解文字列として抽出する。
【0089】
また、例えば、行政区分の正解文字列が「川崎市中原区上小田中4丁目1番1号」であり、建物名の認識結果として「中原アパート」と「中源アパート」とがある場合には、行政区分の正解文字列から「中原アパート」を正解文字列として抽出する。
【0090】
また、例えば、行政区分の正解文字列が「川崎市中原区上小田中4丁目1番1号」であり、建物名の認識結果として「富士山ハイツ」と「富士川ハイツ」とがある場合には、地図情報データベースから近くに「富士山神社」があることを考慮して、「富士山ハイツ」を正解文字列として抽出する。
【0091】
また、例えば、行政区分の正解文字列が「川崎市中原区上小田中4丁目1番1号」であり、建物名の認識結果として人名を使う「山田ハイツ」と「仙田ハイツ」とがある場合には、地図情報データベースから「山田太郎」が所有者であることを考慮して、「山田ハイツ」を正解文字列として抽出する。
【0092】
また、例えば、建物名の認識結果として「清風荘」と「清嵐荘」とがある場合には、印象度データベースから「清風」や「風」が快適さや清潔さを持つ単語名や文字であることを考慮して、「清風荘」を正解文字列として抽出する。立地条件や所有者条件に依存しないような場合には、快適さや清潔さを持つ単語名や文字が建物名に使われることが多いことを考慮して、そのような単語名や文字に従って建物名の正解文字列を抽出するのである。
【0093】
また、例えば、建物名の認識結果として「常盤荘」と「常磐荘」とがある場合には、出現頻度データベースから建物名として「常盤」の出現頻度が大きいことを考慮して、「常盤荘」を正解文字列として抽出する。この出現頻度を用いる方式は、印象度データベースを用いるときに比べて、印象度の良い単語や文字の設定が不要であるという利点がある。
【0094】
このような処理に従っても正解文字列を抽出できないときには、追加情報検索プログラムを介して外部データベースにアクセスしたり、ユーザに問い合わせることで、建物名の正解文字列を抽出していくことになる。
【0095】
▲5▼部屋番号抽出処理
S25で実行する部屋番号抽出処理では、住所文字列分割処理で分割された部屋番号部分の候補文字ラティスから、部屋番号の正解文字列を抽出する処理を行う。
【0096】
この抽出処理は、追加情報検索プログラムを呼び出し、この追加情報検索プログラムを使って部屋番号データベースにアクセスすることで、抽出された建物名の指す建物種別の持つ部屋番号属性を取得してそれを参照することで行う。
【0097】
例えば、建物種別が団地やマンションであれば、3階建て以上の階数を持つ場合が多く、更に、団地である場合には、先頭に棟番号を表すアルファベットの付くことがあるといったことを考慮して、部屋番号の正解文字列を抽出していくことになる。例えば、アパートの部屋番号が“81”か“21”か分からないときには、アパートが3階建て以下であることを考慮して、“21”を正解文字として抽出する。また、例えば、団地の先頭に付く文字が“L”か“し”か分からないときには、団地の先頭に付く棟番号はアルファベットであることが多いので、“L”を正解文字として抽出する。
【0098】
このような処理に従っても正解文字列を抽出できないときには、追加情報検索プログラムを介して外部データベースにアクセスしたり、ユーザに問い合わせることで、部屋番号の正解文字列を抽出していくことになる。
【0099】
このようにして、加入者情報認識プログラムは、図11の処理フローチャートに従って、先ず最初に、S21で、住所認識処理を実行すると、続いて、S22で、住所文字列分割処理を実行し、続いて、S23で、行政区分抽出処理を実行し、続いて、S24で、建物名抽出処理を実行し、続いて、S25で、部屋番号抽出処理を実行することで、住所情報の正解文字列を得ると、最後に、S26で、それらの正解文字列を合成して住所情報の認識結果を得て、それを加入者情報データベースに出力する。なお、このS26では、認識結果の出力処理に合わせて、出現頻度データベースの管理データを更新する処理を行う。
【0100】
【発明の効果】
以上説明したように、本発明によれば次のような効果がある。
【0101】
(1) :請求項1、4、5では、建物認識手段は、入力画像から切り出された文字列画像の文字認識を実行し、該認識結果の候補文字列から、最初に前記建物末尾文字列知識保持手段のデータと照合して建物部に固有な建物末尾文字列の検出を行い、複数の建物末尾文字列候補が検出された場合は順位付けを行い、残りの建物名候補部分の読み取り結果が成功するか否かによって、最終的に建物部の読み取り結果を決定して出力する。
【0102】
このようにすれば、建物部中に最も出現する可能性が大きく、かつ、位置が推定し易い部分から先に読み取ることで、自由に記入された住所中の建物部を精度良く効率的に認識できるようにすると共に、特に、手書き住所における建物部の認識率を向上させることができる。
【0104】
(2) :請求項では、建物認識手段は、複数の建物末尾文字列候補が検出された場合、文字認識結果を使って点数を定義し、各建物末尾文字列候補に対して計算された得点や文字数によって順位付けを行う機能と、複数の末尾文字列候補が検出された場合、建物末尾文字列の各得点と、残された建物名の認識が成功するか否かで、最終的な建物部の認識結果が決定される。
【0105】
このようにすれば、自由に記入された住所中の建物部を精度良く効率的に認識できるようにすると共に、特に、手書き住所における建物部の認識率を向上させることができる。
【0106】
(3) :請求項では、建物認識手段は、予め、建物部文字列の文字認識を実行しておき、その認識結果から、建物末尾文字列が最も確かに存在する建物部の末尾から前方に向かって、建物末尾文字列を探索する。このようにすれば、自由に記入された住所中の建物部を精度良く効率的に認識できるようにすると共に、特に、手書き住所における建物部の認識率を向上させることができる。
【図面の簡単な説明】
【図1】本発明の原理説明図である。
【図2】本発明の実施の形態における住所認識装置のブロック図である。
【図3】本発明の実施の形態における建物認識部のブロック図である。
【図4】本発明の実施の形態における住所認識処理の説明図(その1)であり、A図は住所における建物部例、B図は建物前接語、建物修飾語を含む方書例、C図は建物後接語、人名を含む方書例である。
【図5】本発明の実施の形態における住所認識処理の説明図(その2)であり、A図は自由手書き文字候補ラティス例である。
【図6】本発明の実施の形態における住所認識処理の説明図(その3)であり、A図は建物末尾文字列が抽出された場合の文字候補ラティス例である。
【図7】本発明の実施の形態における住所認識処理の説明図(その4)であり、A図は方書固有文字列タイプ知識例である。
【図8】本発明の実施の形態における住所認識処理の説明図(その5)であり、A図は建物末尾文字列探索例である。
【図9】本発明の実施の形態における建物認識部の処理フローチャートである。
【図10】本発明の実施の形態における具体的な装置例である。
【図11】本発明の実施の形態における文字候補ラティスから建物名を決定する処理の説明図である。
【図12】従来例1の説明図である。
【図13】従来例2の説明図である。
【符号の説明】
1 画像入力部
2 文字列切り出し部
3 文字切り出し部
4 住所認識部
5 建物認識部
6 住所地名データベース(住所地名DB)
7 建物末尾文字列知識データベース(建物末尾文字列知識DB)
8 建物名データベース(建物名DB)
9 文字認識辞書
11 文字候補ラティス作成部
12 建物末尾文字列探索部
13 建物末尾文字列得点計算部
14 建物末尾文字列候補順位付部
15 建物判定部
16 建物名認識部
21 コンピュータ本体
22 ディスプレイ装置
23 入力装置
24 リムーバブルディスクドライブ(RDD)
25 ハードデイスク装置(HDD)
26 CPU
27 ROM
28 メモリ
29 インタフェース制御部(I/F制御部)
30 通信制御部
40 光電変換部
41 宛名領域検出部
42 行検出部
43 文字検出部
44 文字認識部
45 文字辞書
46 宛名認識部
47 住所辞書
48 街区文字検出部
49 街区文字認識部
50 文字辞書
51 住所編集部
52 制御部
61 入力文字コード
62 住所照合部
63 集合住宅照合部
64 照合結果
71 地名照合部
72 末尾照合部
73 数字照合部
74 集合住宅単語照合部

Claims (5)

  1. 取り扱い対象物の住所欄に記入された住所を読み取る住所認識装置において、
    住所中の建物部末尾に存在する、建物部に固有な建物末尾文字列タイプに関する知識を保持する建物末尾文字列知識保持手段と、
    入力画像から切り出された文字列画像の文字認識を実行し、該認識結果の候補文字列から、最初に前記建物末尾文字列知識保持手段のデータと照合して建物部に固有な建物末尾文字列の検出を行い、複数の建物末尾文字列候補が検出された場合は順位付けを行い、残りの建物名候補部分の読み取り結果が成功するか否かによって、最終的に建物部の読み取り結果を決定して出力する建物認識手段と、
    を備えていることを特徴とする住所認識装置。
  2. 前記建物認識手段は、
    複数の建物末尾文字列候補が検出された場合、文字認識結果を使って点数を定義し、各建物末尾文字列候補に対して計算された得点や文字数によって順位付けを行う機能と、
    複数の末尾文字列候補が検出された場合、建物末尾文字列の各得点と、残された建物名の認識が成功するか否かで、最終的な建物部の認識結果が決定される機能と、
    を備えていることを特徴とする請求項1記載の住所認識装置。
  3. 前記建物認識手段は、
    予め、建物部文字列の文字認識を実行しておき、その認識結果から、建物末尾文字列が最も確かに存在する建物部の末尾から前方に向かって、建物末尾文字列を探索する機能を備えていることを特徴とする請求項記載の住所認識装置。
  4. コンピュータに、
    入力画像から切り出された文字列画像の文字認識を実行し、該文字認識結果の候補文字列から、最初に建物末尾文字列知識保持手段のデータと照合して建物部に固有な建物末尾文字列の検出を行い、複数の建物末尾文字列候補が検出された場合は順位付けを行い、残りの建物名候補部分の読み取り結果が成功するか否かによって最終的に建物部の読み取り結果を決定して出力する建物認識手段の機能を実現させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
  5. コンピュータに、
    入力画像から切り出された文字列画像の文字認識を実行し、該文字認識結果の候補文字列から、最初に建物末尾文字列知識保持手段のデータと照合して建物部に固有な建物末尾文字列の検出を行い、複数の建物末尾文字列候補が検出された場合は順位付けを行い、残りの建物名候補部分の読み取り結果が成功するか否かによって最終的に建物部の読み取り結果を決定して出力する建物認識手段の機能を実現させるためのプログラム。
JP2001260805A 2000-09-11 2001-08-30 住所認識装置、記録媒体及びプログラム Expired - Fee Related JP4584507B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001260805A JP4584507B2 (ja) 2000-09-11 2001-08-30 住所認識装置、記録媒体及びプログラム

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2000274644 2000-09-11
JP2000-274644 2000-09-11
JP2001260805A JP4584507B2 (ja) 2000-09-11 2001-08-30 住所認識装置、記録媒体及びプログラム

Publications (2)

Publication Number Publication Date
JP2002157553A JP2002157553A (ja) 2002-05-31
JP4584507B2 true JP4584507B2 (ja) 2010-11-24

Family

ID=26599631

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001260805A Expired - Fee Related JP4584507B2 (ja) 2000-09-11 2001-08-30 住所認識装置、記録媒体及びプログラム

Country Status (1)

Country Link
JP (1) JP4584507B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110929113A (zh) * 2018-09-19 2020-03-27 珠海金山办公软件有限公司 一种对混合型字符串表格的排序方法、系统和终端

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62284481A (ja) * 1986-05-31 1987-12-10 Ricoh Co Ltd 文字認識後処理方式
JPH0433186A (ja) * 1990-05-30 1992-02-04 Mitsubishi Electric Corp 単語読取装置
JP2795003B2 (ja) * 1991-08-28 1998-09-10 日本電気株式会社 文字認識処理装置
JPH06295309A (ja) * 1993-04-06 1994-10-21 Ricoh Co Ltd 機械翻訳装置及び言語解析装置並びにディジタル複写装置
JPH0934889A (ja) * 1995-07-19 1997-02-07 Toshiba Syst Kaihatsu Kk 住所認識処理システム
JPH0938585A (ja) * 1995-07-28 1997-02-10 Toshiba Corp 宛名認識装置および宛名認識方法
JPH11316802A (ja) * 1998-04-30 1999-11-16 Canon Inc 単語認識装置及びその住所地名登録方法並びに記録媒体

Also Published As

Publication number Publication date
JP2002157553A (ja) 2002-05-31

Similar Documents

Publication Publication Date Title
JP3689455B2 (ja) 情報処理方法及び装置
JP4421134B2 (ja) 文書画像検索装置
JP2973944B2 (ja) 文書処理装置および文書処理方法
US20120197908A1 (en) Method and apparatus for associating a table of contents and headings
MXPA06012760A (es) Aparato y metodo para reconocimiento de manuscritos.
CN1106620C (zh) 信息处理方法和设备
Sinha et al. Visual text recognition through contextual processing
JP4991407B2 (ja) 情報処理装置、その制御プログラムおよび該制御プログラムを記録したコンピュータ読み取り可能な記録媒体、ならびに制御方法
JP2007122403A (ja) 文書タイトルおよび関連情報の自動抽出装置、抽出方法および抽出プログラム
Pal et al. OCR error correction of an inflectional indian language using morphological parsing
US20110229036A1 (en) Method and apparatus for text and error profiling of historical documents
JPH07152774A (ja) 文書検索方法および装置
JP2001175661A (ja) 全文検索装置及び全文検索方法
JP3599180B2 (ja) 検索方法、検索装置および記録媒体
JP4584507B2 (ja) 住所認識装置、記録媒体及びプログラム
JPH08314947A (ja) キーワード自動抽出装置
JPH10240901A (ja) 文書ファイリング装置及び文書ファイリング方法
JP2004133565A (ja) インターネットを利用した文字認識の後処理装置
JP3979288B2 (ja) 文書検索装置および文書検索プログラム
JP2586372B2 (ja) 情報検索装置及び情報検索方法
JP3975825B2 (ja) 文字認識誤り訂正方法、装置及びプログラム
JP3870672B2 (ja) 文書ファイリング装置
JP3712831B2 (ja) 文書理解装置および郵便区分機
JPH07319880A (ja) キーワード抽出・検索装置
JP3985926B2 (ja) 文字認識方法、文字認識装置、文書画像処理システム及び記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060926

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090917

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091020

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20091210

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20091210

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100323

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100513

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

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20100701

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100831

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

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

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees