KR101132150B1 - Address processing for formalizing addresses - Google Patents
Address processing for formalizing addresses Download PDFInfo
- Publication number
- KR101132150B1 KR101132150B1 KR1020100099231A KR20100099231A KR101132150B1 KR 101132150 B1 KR101132150 B1 KR 101132150B1 KR 1020100099231 A KR1020100099231 A KR 1020100099231A KR 20100099231 A KR20100099231 A KR 20100099231A KR 101132150 B1 KR101132150 B1 KR 101132150B1
- Authority
- KR
- South Korea
- Prior art keywords
- address
- type
- search
- tree
- condition
- Prior art date
Links
- 238000012545 processing Methods 0.000 title claims description 31
- 238000013507 mapping Methods 0.000 claims abstract description 79
- 238000003672 processing method Methods 0.000 claims abstract description 15
- 238000000034 method Methods 0.000 claims description 54
- 230000008569 process Effects 0.000 claims description 10
- 238000004891 communication Methods 0.000 claims description 7
- 230000003287 optical effect Effects 0.000 claims description 5
- 238000007639 printing Methods 0.000 claims description 5
- 238000007493 shaping process Methods 0.000 description 5
- 230000001174 ascending effect Effects 0.000 description 4
- 241000251468 Actinopterygii Species 0.000 description 3
- 239000000470 constituent Substances 0.000 description 3
- 238000000354 decomposition reaction Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 241000283690 Bos taurus Species 0.000 description 1
- 101000601625 Homo sapiens NADH dehydrogenase [ubiquinone] 1 beta subcomplex subunit 5, mitochondrial Proteins 0.000 description 1
- 102100037507 NADH dehydrogenase [ubiquinone] 1 beta subcomplex subunit 5, mitochondrial Human genes 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- RWYFURDDADFSHT-RBBHPAOJSA-N diane Chemical compound OC1=CC=C2[C@H]3CC[C@](C)([C@](CC4)(O)C#C)[C@@H]4[C@@H]3CCC2=C1.C1=C(Cl)C2=CC(=O)[C@@H]3CC3[C@]2(C)[C@@H]2[C@@H]1[C@@H]1CC[C@@](C(C)=O)(OC(=O)C)[C@@]1(C)CC2 RWYFURDDADFSHT-RBBHPAOJSA-N 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000010297 mechanical methods and process Methods 0.000 description 1
- 230000005226 mechanical processes and functions Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/26—Government or public services
Landscapes
- Business, Economics & Management (AREA)
- Tourism & Hospitality (AREA)
- Marketing (AREA)
- Primary Health Care (AREA)
- Health & Medical Sciences (AREA)
- Economics (AREA)
- General Health & Medical Sciences (AREA)
- Human Resources & Organizations (AREA)
- Development Economics (AREA)
- Educational Administration (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
본 발명은, 다양한 형태와 방식으로 기재된 주소들에 대한 정해진 표준의 주소정보를 제공하는 방법 및 장치, 그리고 그 방법을 위한 프로그램이 수록된 기록매체에 관한 것이다.The present invention relates to a method and apparatus for providing address information of a predetermined standard for addresses described in various forms and manners, and a recording medium containing a program for the method.
주소정보를 데이터처리하기 위한 시스템은 통상 주소체계를 상위주소와 하위주소로 구분하여 처리한다. 상위주소는 “'도/시'-'시/군/구'-'읍/면/동'-'리'”에 해당하는 주소이며, 하위주소는 “번지”, “건물명” 또는 “동호수”와 같은 상세주소를 의미한다.A system for processing address information usually processes the address system by dividing the address into upper and lower addresses. The upper address is “'do / si'-'si / gun / gu'-'eup / myeon / dong'-'ri'”, and the lower address is “address”, “building name” or “dong ho Means a street address, such as
통상, 상위주소는, “법정명” 또는 “행정명”으로서 사람들에게 널리 공지되어 있어 주소를 사용하고 있는 이들간에 용어나 명칭의 혼동이 미미하다. 하지만, 하위주소의 경우에는 사람들마다 또는 소지역마다 지칭하는 방식이 다양하고 또한 시간이 흐름에 따라 그 호칭도 변하게 되어 하위주소에 있어서는 혼동이 빈번이 일어난다.Usually, the higher address is widely known to people as a "legal name" or "administrative name", and there is little confusion of terms or names among those who use the address. However, in the case of sub-addresses, people or sub-regions are referred to in various ways, and their names change with time, and confusion occurs frequently in sub-addresses.
이러한 사용상의 주소 혼동에도 불구하고, 사람이 해당 주소를 인식하는 경우에는 다양한 형태나 방식의 호칭들 모두가 어떤 임의의 한 곳을 지칭하는 것으로 이해되지만, 기계적으로 처리를 하는 경우에는, 혼용되고 있는 주소들을 동일 지점에 대한 주소로 인식시키기가 매우 어렵다. 예를 들어, 인터넷 등을 통해 가입정보를 수신한 업체가 그 가입시에 가입자들이 개별적으로 등록한 주소들에 대해 우편번호를 부여하여 우편물을 발송하고자 할 때, 다양한 형태나 방식 등으로 기재된 주소들에 대해 기계적으로 우편번호를 할당해야 하는 데, 이러한 경우 그 기재의 다양성으로 인해 주소에 대한 우편번호의 매핑(mapping)에 장애 또는 오류가 빈번하게 발생하게 된다. 오류율이 높게 되면 그 기계적인 처리에 의한 결과 주소들에 대한 신뢰성도 담보할 수 없게 되므로 기계적인 처리에 의한 잇점이 사라진다.In spite of this usage address confusion, when a person recognizes the address, it is understood that all the various forms or methods of designation refer to any one place, but in the case of mechanical processing, It is very difficult to recognize addresses as addresses for the same point. For example, when a company that receives subscription information through the Internet or the like wants to send a postal mail by assigning a postal code to addresses registered individually by the subscriber at the time of subscription, It is necessary to assign a postal code mechanically, in which case the diversity of the description frequently causes a failure or error in the mapping of the postal code to the address. If the error rate is high, the reliability of the resulting addresses cannot be guaranteed by the mechanical processing, so the benefits of mechanical processing disappear.
더하여, 사람들의 자의적인 다양한 주소 기재형태를 고려하기 위해 기계적인 처리과정에서 수많은 기재형태의 조건들을 확인해야 하는 데, 이로 인해 처리시간이 매우 길어지게 된다. 처리해야 하는 주소 수가 적은 경우에는 그 처리속도가 별 문제가 되지 않으나 주소 수가 수백만 또는 수천만이 되는 경우에는 연계된 다른 업무를 지연시킬 수도 있으므로 처리속도가 심각한 문제가 된다.In addition, in order to take into account various arbitrary address forms of people, it is necessary to check the conditions of numerous types of forms in the mechanical process, which makes the processing time very long. If the number of addresses to be processed is small, the processing speed is not a problem, but if the number of addresses is millions or tens of thousands, the processing speed is a serious problem because it may delay other related tasks.
본 발명은, 수많은 사람들이 자신이 상용하는 방식으로 기재한 다양한 형태나 방식의 주소들에 대해서 정형화된 포맷들로 분류하여 해당 포맷에 국한하여 검색함으로써 그 처리속도를 향상시킨 주소 정형화방법 및 장치를 제공하는 것을 일 목적으로 한다.The present invention provides a method and apparatus for address formatting that improves the processing speed by classifying the addresses of various types or methods described in a way that many people use in a conventional format and searching only in the format. The purpose is to provide.
본 발명의 다른 목적은, 주소들에 사용되는 다양한 상용 또는 혼용 용어와 기재상의 오류들을 고려함으로써, 사람들이 기재한 주소에 대한 지정된 표준주소정보를 제공하는 데 있어서의 오류율을 현저히 낮출 수 있는 주소 정형화방법 및 장치를 제공하는 것이다.It is a further object of the present invention to address addressing which can significantly lower the error rate in providing designated standard address information for addresses entered by people, by taking into account the various common or mixed terminology and description errors used for addresses. It is to provide a method and apparatus.
본 발명의 목적은, 상기 명시적으로 서술된 목적에 국한되는 것은 아니며, 본 발명에 대한 구체적이고 예시적인 하기의 설명에서 도출될 수 있는 효과를 달성하는 것을 그 목적에 당연히 포함한다.The object of the present invention is not limited to the object explicitly stated above, and of course includes the purpose of achieving an effect that can be derived from the specific and exemplary description of the present invention.
본 발명의 일 측면에 따른 주소의 정형화를 위한 처리방법은, 입력된 주소데이터에 포함되어 있는 주소를 상위주소와 하위주소로 분리하는 단계와, 상기 하위주소에 속하는 주소항목들을 유형별 구성요소들로 분해하고, 그 분해된 유형 구성요소들의 순차적 유형순서에 따른 유형패턴을 식별하는 단계와, 각 유형패턴에 대해 주소요소 맵핑조건문과 주소요소 할당문이 구성되어 있는 주소요소 맵핑블록들에서, 상기 식별된 유형패턴과 일치하는 유형패턴의 주소요소 맵핑블록을 찾은 후, 상기 분해된 유형 구성요소들이 그 찾은 주소요소 맵핑블록내의 주소요소 맵핑조건문의 어느 하나에 부합되는 지를 확인하는 단계와, 부합되는 주소요소 맵핑조건문에 연관된 주소요소 할당문에 따라 상기 분해된 유형 구성요소들의 적어도 하나를 주소요소에 할당하는 단계와, 상기 상위주소에 의해 지정되는 검색테이블에서, 상기 주소요소에 할당된 유형 구성요소와 동일하거나 그 유형 구성요소를 포함하고 있는 테이블 엔트리(entry)를 찾고, 그 찾은 테이블 엔트리에 연계되어 있는 주소정보 노드로부터, 입력된 주소처리 방식에 따라 주소관련 정보를 추출 또는 결합하여 출력하는 단계를 포함하여 이루어진다.According to an aspect of the present invention, there is provided a processing method for standardizing an address, comprising: separating an address included in input address data into an upper address and a lower address, and address items belonging to the lower address as components of each type. Decomposing and identifying the type pattern according to the sequential type order of the decomposed type components, and in the address element mapping blocks in which an address element mapping condition statement and an address element assignment statement are configured for each type pattern, the identification Finding an address element mapping block of the type pattern that matches the type pattern, and confirming whether the decomposed type elements meet any one of the address element mapping condition statements in the found address element mapping block; Assign at least one of the decomposed type elements to an address element according to an address element assignment statement associated with an element mapping condition statement. And in the lookup table specified by the higher address, find a table entry that is the same as or contains a type element assigned to the address element, and is associated with the found table entry. And extracting or combining the address related information according to the input address processing method from the existing address information node.
본 발명에 따른 일 실시예에서는, 상기 분리하는 단계는, 상기 주소에서 “도/시”, “시/군/구”, “동/읍/면”, “리”에 해당하는 주소항목들은 상기 상위주소로, 그 나머지의 주소항목들은 상기 하위주소로 분리한다.In one embodiment according to the invention, the separating step, the address items corresponding to "do / city", "city / county / district", "dong / eup / Myeon", "ri" in the address is As the upper address, the remaining address items are separated into the lower address.
본 발명에 따른 일 실시예에서는, 상기 주소항목들이 분해되는 상기 유형은, 적어도 한글, 영문, 숫자, 기호, 그리고 ‘@’으로 구분된다. 그리고, 상기 유형패턴을 식별하는 단계는, 상기 각 유형에 지정된 영문자를 상기분해된 유형 구성요소들에 대해 그 순서대로 할당한 영문자 시퀀스로써 상기 유형패턴을 식별한다.In one embodiment according to the present invention, the type in which the address items are decomposed is divided into at least Korean, English, numbers, symbols, and '@'. In the identifying of the type pattern, the type pattern is identified by an alphabetic sequence in which alphabets assigned to each type are assigned to the decomposed type elements in that order.
본 발명에 따른 일 실시예에서는, 상기 주소요소 맵핑조건문의 적어도 어느 하나는, 유형 구성요소에 대해 유사어군(類似語群)내에서의 매칭여부를 조건으로 규정하고, 상기 주소요소 맵핑조건문의 또 다른 어느 하나는, 유형 구성요소에 대해 역방향 매칭여부를 조건으로 규정한다. 그리고, 상기 유사어군내에는, 유사어군을 지정하고자 하는 원래의 용어에 대해, 그 뜻이 유사한 용어들, 오류로 틀리게 또는 다르게 기재될 가능성이 높은 용어들, 원래의 용어와 동일한 대상을 지칭하는 것으로 해석될 수 있는 특정의 용어들이 포함되어 있으며, 상기 유사어군은, 그 유사어군에 포함된 유사어들에 대하여, 각 유사어를 구성하는 음절들 또는 바이트(byte)들이 그 선두의 음절 또는 바이트부터 최상위계층으로 하여 각 트리계층의 트리항목으로 할당된 트리구조로 구성되고, 트리상의 각 계층에서, 동일한 부모항목하의 복수의 항목들은 가나다순(順)으로 배열되어 있는 전진(前進) 이진검색(binary search)용 유사어군일 수도 있다. 이 경우, 상기 확인하는 단계는, 유사어군내에서 문자열 매칭여부를 규정하고 있는 조건에 대해서는 그 조건이 만족되는 지를 확인하기 위해, 그 조건에서 지정하고 있는 상기 분해된 유형 구성요소들 중 하나에 대해, 각 유사어가 가나다순(順)으로 배열되어 있는 전진검색용 유사어군에 있는 지를 이진검색을 통해 또는 상기 전진 이진검색용 유사어군에 있는 지를 이진트리 검색을 통해 확인하는 단계를 포함하여 이루어진다. 또한, 본 실시예에서는, 상기 유사어군은, 그 유사어군에 포함된 유사어들에 대하여, 각 유사어를 구성하는 음절들 또는 바이트(byte)들이 그 후미의 음절 또는 바이트부터 최상위계층으로 하여 각 트리계층의 트리항목으로 할당된 트리구조로 구성되어 있으며, 트리상의 각 계층에서, 동일한 부모항목하의 복수의 항목들은 가나다순으로 배열되어 있는 후진(後進) 이진검색용 유사어군일 수도 있다. 이 경우, 상기 확인하는 단계는, 유사어군내에서 역방향 매칭여부를 규정하고 있는 조건에 대해서는 그 조건이 만족되는 지를 확인하기 위해, 그 조건에서 지정하고 있는 상기 분해된 유형 구성요소들 중 하나에 대해, 그 문자열의 순서를 역으로 정렬한 역순(逆順)문자열이, 문자열이 음절 또는 바이트단위로 역방향으로 정렬된 각 유사어가 가나다순(順)으로 배열되어 있는 후진(後進)검색용 유사어군에 있는 지를 이진검색을 통해 또는 상기 후진 이진검색용 유사어군에 있는 지를 이진트리 검색을 통해 확인하는 단계를 포함하여 이루어진다. 그리고, 상기 후진검색용 유사어군내의 각 유사어는, 그 유사어를 구성하는 이진값들을 바이트단위로 역으로 정렬될 수도 있다. 또한, 본 실시예에서는, 상기 확인하는 단계는, 유사어군내에서 매칭여부를 규정하고 있는 조건에 대해서, 그 조건에서 지정하고 있는 상기 분해된 유형 구성요소들 중 하나와 일치하는 문자열이 해당되는 유사어군에서 찾아지지 않으면, 상기 하나의 유형 구성요소를 음소레벨로 분해하여, 상기 해당되는 유사어군내의 각 유사어와 음소레벨로 비교하고 그 비교에 의해 얻어지는 최소 음소 차이의 수에 따라 상기 조건의 매칭여부를 결정하는 단계를 포함할 수도 있다.In one embodiment according to the present invention, at least one of the address element mapping condition statement specifies whether a match is made in a similar word group with respect to a type element, and the address element mapping condition statement The other one predicates backward matching for the type component. And, within the group of similar words, with respect to the original term to designate a group of similar words, the meaning is similar to the terms, terms that are likely to be incorrectly or differently described as errors, and interpreted as referring to the same object as the original term. The terminology group includes specific terms that can be used, and for the similar words included in the similar word group, the syllables or bytes constituting each similar word from the first syllable or byte to the top layer are included. A tree structure assigned to the tree items of each tree hierarchy, and in each hierarchy on the tree, a plurality of items under the same parent item are arranged similarly in alphabetical order for forward binary search. It may be fish. In this case, the checking may include: for one of the decomposed type elements specified in the condition, in order to check whether the condition is satisfied with respect to a condition that defines whether a string is matched in the similar word group, And determining whether each analogous word is in a similar group for forward search that is arranged in alphabetical order through binary search or through a binary tree search. Also, in the present embodiment, the similar word group includes each tree layer in which the syllables or bytes constituting each similar word are the highest level from the last syllable or byte for the similar words included in the similar word group. It is composed of a tree structure assigned to the tree items of, and in each hierarchy of the tree, a plurality of items under the same parent item may be a group of similar words for backward binary search arranged in alphabetical order. In this case, the checking may include: for one of the decomposed type components specified in the condition, in order to confirm whether the condition is satisfied for a condition that defines reverse matching in the similar word group, Binary ordered strings in reverse order of their strings, whether the strings are in a similar group for backward search in which each analogous word arranged in reverse order by syllable or byte is in alphabetical order And checking through a binary tree search whether it is in the similar group for backward binary search. Each similar word in the similar group for backward retrieval may be reversely sorted by byte in binary values constituting the similar word. Also, in the present embodiment, the step of identifying, for a condition that defines whether to match in the similar word group, a similar word group corresponding to one of the decomposed type elements specified in the condition If is not found, the one-type component is decomposed into phoneme levels, and each similar word in the corresponding group of similar words is compared with a phoneme level, and the condition is matched according to the minimum number of phoneme differences obtained by the comparison. It may also include the step of determining.
본 발명에 따른 일 실시예에서는, 상기 검색테이블은, 번지를 기준으로 그 범위별로 구분하여 각각의 테이블 엔트리로 구성하고 있는 번지 검색테이블과, 가나다순으로 배열된 건물명들이 각각 테이블 엔트리로서 구성되어 있는 건물 검색테이블을 포함하고, 상기 각 테이블 엔트리는 연관된 주소정보 노드를 지정하고 있는 연결정보를 포함한다. 그리고, 각 상위주소마다에 대응하여 지정되어 있는 각각의 상기 건물 검색테이블에서 적어도 어느 하나의 건물 검색테이블은, 동일한 명칭을 갖는 복수개의 테이블 엔트리를 포함하고 있으며, 그 복수개의 테이블 엔트리는 서로 다른 주소정보 노드와 연관되어 있다. 본 실시예에서는, 상기 건물 검색테이블은, 임의 건물에 대한 표준화된 명칭, 일상적으로 상용되는 명칭 또는 약칭, 그리고 오류로 기재될 수 있는 명칭 또는 약칭을 각각의 테이블 엔트리로서 포함한다. In one embodiment according to the present invention, the lookup table is a street lookup table composed of each table entry divided into its ranges based on a street number, and a building in which alphabetical building names are respectively configured as table entries. And a lookup table, wherein each table entry contains connection information specifying an associated address information node. At least one building search table in each of the building search tables specified corresponding to each upper address includes a plurality of table entries having the same name, and the plurality of table entries are different addresses. It is associated with an information node. In this embodiment, the building lookup table includes, as each table entry, a standardized name, a commonly used name or abbreviation for any building, and a name or abbreviation that may be described as an error.
본 발명에 따른 일 실시예에서는, 상기 검색테이블은, 각 건물명을 구성하는 음절들 또는 바이트(byte)들이 그 선두부터 또는 그 후미부터의 최상위계층으로 하여 각 트리계층의 트리항목으로 할당된 트리구조로 구성될 수도 있다. 이 경우, 트리상의 각 계층에서, 동일한 부모항목하의 복수의 항목들은 가나다순(順)으로 배열되어 있는 건물 검색테이블을 포함하고, 각 트리경로상의 종단의 항목은 연관된 주소정보 노드를 지정하고 있는 연결정보가 연계된다.In one embodiment according to the present invention, the search table is a tree structure in which syllables or bytes constituting each building name are assigned to the tree items of each tree hierarchy as the highest hierarchy from the beginning or the end thereof. It may be configured as. In this case, in each hierarchy on the tree, a plurality of items under the same parent item include a building search table arranged in alphabetical order, and the end item on each tree path has associated information specifying an associated address information node. Is linked.
본 발명에 따른 일 실시예에서는, 상기 출력하는 단계는, 상기 주소요소에 할당된 유형 구성요소에 매칭되는 테이블 엔트리가 상기 검색테이블에서 복수개 찾아지는 경우에는, 상기 주소요소가 아닌 다른 주소요소에 할당된 유형 구성요소에 대해서, 상기 상위주소에 의해 지정되는 다른 검색테이블을 검색하여 매칭되는 테이블 엔트리를 찾고, 그 찾은 테이블 엔트리를 통해 얻어지는 주소정보에 근거하여 상기 복수개의 테이블 엔트리 중 하나를 결정하는 단계를 포함한다.In one embodiment according to the present invention, the outputting may include assigning to an address element other than the address element when a plurality of table entries matching the type element assigned to the address element are found in the search table. Searching for another matching table specified by the higher address for a given type component, finding a matching table entry, and determining one of the plurality of table entries based on the address information obtained through the found table entry. It includes.
본 발명에 따른 일 실시예에서는, 상기 주소정보 노드에는, 우편번호, 법정주소명, 행정주소명, 번지, 그리고 새주소를 포함하는 정보필드들에 대한 정보가 등재된다.In one embodiment according to the present invention, information on information fields including a zip code, a legal address name, an administrative address name, a street address, and a new address is registered in the address information node.
본 발명에 따른 일 실시예에서는, 상기 출력하는 단계는, 상기 찾은 테이블 엔트리에 연계되어 있는 상기 주소정보 노드에 기재되어 있는 우편번호를 상기 주소와 함께 출력하는 단계를 포함한다.In one embodiment according to the present invention, the outputting step includes outputting a postal code written in the address information node associated with the found table entry together with the address.
본 발명에 따른 다른 일 실시예에서는, 상기 출력하는 단계는, 상기 찾은 테이블 엔트리에 연계되어 있는 상기 주소정보 노드에 기재되어 있는 표준주소명을 상기 상위주소에 부가하여, 상기 주소정보 노드에 기재되어 있는 우편번호와 함께 출력하는 단계를 포함한다.In another embodiment according to the present invention, the outputting step is performed by adding the standard address name described in the address information node associated with the found table entry to the upper address, and described in the address information node. Outputting with a postal code.
상기의 실시예들에서, 상기 출력하는 단계는, 상기 찾은 테이블 엔트리에 연계되어 있는 상기 주소정보 노드에 기재되어 있는 새주소를 출력하는 단계를 더 포함할 수도 있다.In the above embodiments, the outputting step may further include outputting a new address described in the address information node associated with the found table entry.
본 발명의 다른 일 측면에 따른, 데이터가 기록된 저장매체는, 주소의 정형화를 위한 주소처리 프로그램과, 주소의 정형화를 위해 필요한 데이터베이스가 수록되어 있되, 상기 주소처리 프로그램은, 그 프로그램과 상기 데이터베이스를 읽을 수 있는 컴퓨팅(computing) 장치에 로드(load)되어 실행됨으로써, 상기 컴퓨팅 장치에 입력된 주소데이터에 포함되어 있는 주소를 상위주소와 하위주소로 분리하는 과정과, 상기 하위주소에 속하는 주소항목들을 유형별 구성요소들로 분해하고, 그 분해된 유형 구성요소들의 순차적 유형순서에 따른 유형패턴을 식별하는 과정과, 각 유형패턴에 대해 주소요소 맵핑조건문과 주소요소 할당문이 구성되어 있는, 상기 데이터베이스내의 주소요소 맵핑블록들에서, 상기 식별된 유형패턴과 일치하는 유형패턴의 주소요소 맵핑블록을 찾은 후, 상기 분해된 유형 구성요소들이 그 찾은 주소요소 맵핑블록내의 주소요소 맵핑조건문의 어느 하나에 부합되는 지를 확인하는 과정과, 부합되는 주소요소 맵핑조건문에 연관된 주소요소 할당문에 따라 상기 분해된 유형 구성요소들의 적어도 하나를 주소요소에 할당하는 과정과, 상기 상위주소에 의해 지정되는, 상기 데이터베이스내의 검색테이블에서, 상기 주소요소에 할당된 유형 구성요소와 동일하거나 그 유형 구성요소를 포함하고 있는 테이블 엔트리를 찾고, 그 찾은 테이블 엔트리에 연계되어 있는, 상기 데이터베이스내의 주소정보 노드로부터, 상기 컴퓨팅 장치에 입력된 주소처리 방식에 따라 주소관련 정보를 추출 또는 결합하여 출력하는 과정을 수행한다.According to another aspect of the present invention, a storage medium on which data is recorded includes an address processing program for address formatting and a database required for address formatting, wherein the address processing program includes the program and the database. Loading and executing the data into a computing device capable of reading the data, thereby separating an address included in the address data input into the computing device into an upper address and a lower address, and address items belonging to the lower address. Decomposing them into components by type, identifying type patterns according to the sequential type order of the decomposed type components, and an address element mapping condition statement and an address element assignment statement for each type pattern. In the address element mapping blocks in the address element of the type pattern that matches the identified type pattern After finding the ping block, checking whether the decomposed type components satisfy any one of the address element mapping condition statements in the found address element mapping block, and according to the address element assignment statement associated with the corresponding address element mapping condition statement. Assigning at least one of the decomposed type elements to an address element, and in the lookup table in the database designated by the higher address, a type element equal to or equal to the type element assigned to the address element; Searching for a table entry that includes the information, and extracting or combining address-related information from an address information node in the database associated with the found table entry according to an address processing method input to the computing device. .
본 발명의 또 다른 일 측면에 따른, 주소의 정형화를 위해 주소를 처리하는 장치는, 입력된 주소데이터에 포함되어 있는 주소를 상위주소와 하위주소로 분리하기 위한 주소 분리부와, 상기 하위주소에 속하는 주소항목들을 유형별 구성요소들로 분해하고, 그 분해된 유형 구성요소들의 순차적 유형순서에 따른 유형패턴을 식별하기 위한 패턴 식별부와, 각 유형패턴에 대해 주소요소 맵핑조건문과 주소요소 할당문이 구성되어 있는 주소요소 맵핑블록들에서, 상기 식별된 유형패턴과 일치하는 유형패턴의 주소요소 맵핑블록을 찾은 후, 상기 분해된 유형 구성요소들이 그 찾은 주소요소 맵핑블록내의 주소요소 맵핑조건문의 어느 하나에 부합되는 지를 확인하고, 부합되는 주소요소 맵핑조건문에 연관된 주소요소 할당문에 따라 상기 분해된 유형 구성요소들의 적어도 하나를 주소요소에 할당하기 위한 주소요소 결정부와, 상기 상위주소에 의해 지정되는 검색테이블에서, 상기 주소요소에 할당된 유형 구성요소와 동일하거나 그 유형 구성요소를 포함하고 있는 테이블 엔트리를 찾고, 그 찾은 테이블 엔트리에 연계되어 있는 주소정보 노드로부터, 입력된 주소처리 방식에 따라 주소관련 정보를 추출 또는 결합하여 출력하기 위한 주소정보 출력부를 포함하여 구성된다.In accordance with another aspect of the present invention, an apparatus for processing an address for standardization of an address includes an address separator for separating an address included in the input address data into an upper address and a lower address, and the lower address. A pattern identification unit for decomposing belonging address items into component elements by type, and identifying a type pattern according to the sequential type order of the decomposed type elements, and an address element mapping condition statement and an address element assignment statement for each type pattern. In the constructed address element mapping blocks, after finding an address element mapping block of a type pattern matching the identified type pattern, any one of the address element mapping condition statements in the resolved type element found in the found address element mapping block The decomposed type according to the address element assignment statement associated with the corresponding address element mapping condition statement. An address element deciding portion for allocating at least one of the cows to an address element, and a table entry in the lookup table designated by the higher address, the same as or equal to the type element assigned to the address element; And an address information output unit for extracting or combining address related information according to the input address processing method from the address information node associated with the found table entry.
본 발명에 따른 일 실시예에서는, 상기 주소요소 결정부는, 상기 유형 구성요소로서 사용될 수 있는 제 1용어에 대해, 그 뜻이 유사한 용어들, 오류로 틀리게 또는 다르게 기재될 가능성이 높은 용어들, 원래의 용어와 동일한 대상을 지칭하는 것으로 해석될 수 있는 특정의 용어들의 집합인 유사어들이 가나다순(順)으로 정렬되어 있는 전진(前進)검색용 유사어군과, 상기 유형별 구성요소로서 사용될 수 있는 제 2용어에 대한 각 유사어들을 그 역으로 정렬하여 가나다순으로 정렬되어 있는 후진(後進)검색용 유사어군을 검색을 위해 포함하고 있는 유사어 검색부를 포함하여 구성되며, 상기 유사어 검색부는, 상기 어느 하나의 주소요소 맵핑조건문에서 지정된 조건에 따라, 상기 전진검색용 유사어군 또는 상기 후진검색용 유사어군을 선택적으로 사용하여, 그 조건에서 지정하고 있는 상기 분해된 유형 구성요소들 중 어느 하나의 정순 또는 역순의 문자열과 매칭되는 유사어가 있는 지를 이진검색을 통해 확인하도록 구성된다.In one embodiment according to the present invention, the address element determining unit is a term that is likely to be described as similar terms, wrong or differently, originally, for a first term that can be used as the type component. A group of similar terms for forward search, in which the similar terms, which are a set of specific terms that can be interpreted as referring to the same subject as the term of, are arranged alphabetically, and the second term that can be used as a component of the type And a similar word search unit including a similar word group for backward search arranged in alphabetical order by sorting each similar word in reverse, and the similar word search unit configured to map any one of the address elements. Selectively using the forward search similar word group or the backward search similar word group according to a condition specified in a conditional sentence W, if there is any one of the candidate words that jeongsun or matched with the character string in reverse order of the above type, the decomposition components and specified in the condition is configured to check with a binary search.
본 발명에 따른 일 실시예에서는, 상기 주소요소 결정부는, 상기 유형 구성요소로서 사용될 수 있는 제 1용어에 대해, 그 뜻이 유사한 용어들, 오류로 틀리게 또는 다르게 기재될 가능성이 높은 용어들, 원래의 용어와 동일한 대상을 지칭하는 것으로 해석될 수 있는 특정의 용어들의 집합인 유사어들이, 선두의 음절 또는 바이트부터 최상위계층으로 하여 각 트리계층의 트리항목으로 할당된 트리구조로 구성되어 있으며, 트리상의 각 계층에서, 동일한 부모항목하의 복수의 항목들은 가나다순(順)으로 배열되어 있는 전진(前進) 이진검색용 유사어군과, 상기 유형별 구성요소로서 사용될 수 있는 제 2용어에 대한 각 유사어들을, 후미의 음절 또는 바이트부터 최상위계층으로 하여 각 트리계층의 트리항목으로 할당된 트리구조로 구성되고, 트리상의 각 계층에서, 동일한 부모항목하의 복수의 항목들은 가나다순으로 배열되어 있는 후진(後進)검색용 유사어군을 검색을 위해 포함하고 있는 유사어 검색부를 포함한다. 이 유사어 검색부는, 상기 어느 하나의 주소요소 맵핑조건문에서 지정된 조건에 따라, 상기 전진검색용 유사어군 또는 상기 후진검색용 유사어군을 선택적으로 사용하여, 그 조건에서 지정하고 있는 상기 분해된 유형 구성요소들 중 어느 하나의 정순 또는 역순의 문자열과 매칭되는 유사어가 있는 지를 이진트리 검색을 통해 확인하도록 구성된다.In one embodiment according to the present invention, the address element determining unit is a term that is likely to be described as similar terms, wrong or differently, originally, for a first term that can be used as the type component. Similar words, which are a set of specific terms that can be interpreted as referring to the same object as, are composed of a tree structure assigned to the tree items of each tree layer from the first syllable or byte to the top layer, In each hierarchy, a plurality of items under the same parent item are arranged in an alphabetical order of forward binary search, and each similar word for a second term that can be used as the type-specific component. Consists of a tree structure assigned to tree items of each tree hierarchy from syllables or bytes to the top level, In the floor, a plurality of items under the same parent entry should include a synonym search, which includes searching for a similar fish for Reverse (後進) search which is arranged in alphabetical order. The synonym searching unit selectively uses the forward search similar word group or the backward search similar word group according to a condition specified in the address element mapping condition statement, and specifies the decomposed type component specified in the condition. It is configured to check through binary tree search whether there is a similar word matching any one of the forward or reverse order strings.
본 발명에 따른 일 실시예에서는, 상기 주소데이터는 광기록매체, 광자기 기록매체 및 이동식 저장매체 중 어느 하나에 수록되어 입력된다.In one embodiment according to the present invention, the address data is stored in one of an optical recording medium, a magneto-optical recording medium and a removable storage medium.
본 발명에 따른 다른 일 실시에에서는, 상기 주소데이터와 상기 주소처리 방식은, 상기 장치와 네트워크를 통해 통신가능하도록 연결된 원격지의 기기로부터 입력된다.In another embodiment according to the present invention, the address data and the address processing scheme are input from a remote device connected to communicate with the device via a network.
본 발명에 따른 일 실시예에서는, 상기 주소정보 출력부에 의한 상기 출력은, 인쇄지에의 물리적인 글씨의 인쇄, 하드디스크, 광기록매체, 광자기 기록매체 또는 이동식 저장매체에의 데이터 쓰기, 그리고 통신선로를 통한 데이터의 전송 중 적어도 어느 하나이다.In one embodiment according to the present invention, the output by the address information output unit may include printing physical text on a printing paper, writing data to a hard disk, an optical recording medium, a magneto-optical recording medium or a removable storage medium, and At least one of the transmission of data through the communication line.
전술한 본 발명 또는, 첨부된 도면을 참조하여 하기에서 상세히 설명되는 본 발명의 적어도 일 실시예는, 주소의 정형화를 위해 비교검색할 주소의 범위를, 그 주소의 유형패턴에 따라 범위를 제한하고, 또한 비교검색할 DB상의 텍스트들을 이진검색을 통해 수행함으로써 최종 표준화된 주소정보를 자동적으로 획득하는 데 소요되는 시간을 크게 감소시킨다. At least one embodiment of the present invention described above, or described in detail below with reference to the accompanying drawings, limits the range of addresses to be compared and searched for the standardization of the addresses, according to the type pattern of the addresses, In addition, by performing binary search on the texts on the DB to be compared and searched, the time required to automatically obtain the final standardized address information is greatly reduced.
또한, 사람들이 주소를 사용 또는 기재함에 있어서의 다양한 명칭의 혼용 또는 영문의 발음상 표기에서의 다양성, 그리고 기재상의 가능한 오류 등을 반영하여 주소의 검색이 가능하도록 함으로써 입력된 주소에 대한 표준화된 주소로의 자동적인 매칭에 있어서의 오류를 또한 크게 감소시킨다.In addition, a standardized address for an entered address can be searched by reflecting the mixed use of various names in the use or description of the address or the variety of pronunciation in English, and possible errors in the description. The error in automatic matching of furnaces is also greatly reduced.
도 1은, 본 발명의 일 실시예에 따른 주소 정형화장치의 구성을 예시한 블록도이고,
도 2a는, 본 발명의 일 실시예에 따른, 주소 정형화를 위한 주소 처리방법의 흐름도의 일 예이고,
도 2b는, 본 발명의 일 실시예에 따른, 주소요소의 할당방식을 결정하기 위해, 각 조건문내의 조건들의 부합여부를 확인하는 흐름도의 일 예이고,
도 3은, 본 발명의 일 실시예에 따라, 주소항목을 구성하는 문자 또는 문자열에 대해 구분된 유형과 그에 따라 할당되는 유형코드의 예이고,
도 4a는, 본 발명의 일 실시예에 따라 구축된 맵핑트리의 예를 개념적으로 도시한 것이고,
도 4b는, 본 발명의 일 실시예에 따른, 도 4a에 예시된 맵핑트리내의 요소맵핑블록의 작성 예를 나타낸 것이고,
도 5는, 본 발명의 일 실시예에 따라 사용되는 주소요소의 종류와 사용변수를 예시한 것이고,
도 6a는, 본 발명의 일 실시예에 따라, 입력된 주소항목 또는 주소항목의 일부에 대한 검색을 위해 구비된 유사어(類似語) DB의 일 부분을 예시적으로 나타낸 것이고,
도 6b는, 본 발명의 일 실시예에 따라, 이진트리 검색이 가능하도록 유사어 DB를 음절단위의 이진트리로 구성한 예이고,
도 6c는, 본 발명의 일 실시예에 따라, 이진트리 검색이 바이트단위로 가능하도록 유사어 DB를 바이트단위의 이진트리로 구성한 예이고,
도 6d는, 본 발명의 일 실시예에 따라, 입력된 주소항목 또는 주소항목의 일부에 대한 역방향 검색을 위해 구비된 후진(後進)검색용 유사어군을 예시적으로 나타낸 것이고,
도 6e는, 본 발명의 일 실시예에 따라 구축한, 음절단위의 후진검색용 이진트리의 일부를 예시한 것이고,
도 6f는, 본 발명의 일 실시예에 따라, 각 유사어의 이진값들을 바이트단위로 역으로 재정렬한 후 가나다순으로 배열한 후진검색용 유사어군의 일부분을 예시한 것이고,
도 6g는, 본 발명의 일 실시예에 따라 구축한, 바이트단위의 후진검색을 위한 바이트역전(逆轉) 이진트리의 일부를 예시한 것이고,
도 7a는, 본 발명의 일 실시예에 따른, 정형화된 주소를 결정하기 위해 참조하는 주소엔진의 구조를 구체적인 예로서 도시한 것이고,
도 7b는, 본 발명의 일 실시예에 따른, 도 7a의 주소엔진에 포함되어 있는 건물 검색테이블의 일 예를 도시한 것이고,
도 7c는, 본 발명의 일 실시예에 따른, 이진트리 검색이 가능하도록 구축한 이진트리 구조의 건물 검색테이블의 일 예를 도시한 것이고,
도 8은, 본 발명의 일 실시예에 따른, 정형화된 주소관련 정보가 등재되어 있는 주소정보 노드들의 구조를 구체적인 예로서 도시한 것이고,
도 9는, 본 발명의 일 실시예에 따라 네트워크상에서 온라인방식으로 주소정형화가 이루어지는 과정을 예시한 것이다.1 is a block diagram illustrating a configuration of an address formatting apparatus according to an embodiment of the present invention.
2A is an example of a flowchart of an address processing method for address standardization according to an embodiment of the present invention;
2B is an example of a flowchart for checking whether conditions within each conditional statement are met to determine an allocation method of an address element according to an embodiment of the present invention.
3 is an example of a distinct type and a type code allocated according to a character or a string constituting an address item according to an embodiment of the present invention.
4A conceptually illustrates an example of a mapping tree constructed according to an embodiment of the present invention.
4B illustrates an example of creating an element mapping block in the mapping tree illustrated in FIG. 4A according to an embodiment of the present invention.
5 illustrates types of address elements and usage variables used according to an embodiment of the present invention.
FIG. 6A illustrates a part of a similar word DB provided for searching for an input address item or a part of an address item according to an embodiment of the present invention.
6B illustrates an example of configuring a similar word DB as a syllable binary tree to enable binary tree search according to an embodiment of the present invention.
FIG. 6C illustrates an example of configuring a similar word DB as a binary tree in bytes so that a binary tree search can be performed in bytes according to an embodiment of the present invention.
FIG. 6D is a diagram illustrating an example of a similar group for backward search provided for a reverse search for an input address item or a part of an address item according to an embodiment of the present invention.
6E illustrates a part of a binary tree for backward retrieval in syllable units constructed according to an embodiment of the present invention.
FIG. 6F illustrates a part of a similar group for backward search in which the binary values of each similar word are rearranged in a byte unit and arranged in alphabetical order according to an embodiment of the present invention.
6G illustrates a portion of a byte inversion binary tree for backward search in units of bytes constructed according to an embodiment of the present invention.
FIG. 7A illustrates, as a specific example, the structure of an address engine referenced to determine a formal address, according to an embodiment of the present invention.
FIG. 7B illustrates an example of a building search table included in the address engine of FIG. 7A according to an embodiment of the present invention.
7C illustrates an example of a building search table having a binary tree structure constructed to enable binary tree search, according to an embodiment of the present invention.
8 illustrates a structure of address information nodes in which standardized address related information is registered according to an embodiment of the present invention as a specific example.
FIG. 9 illustrates a process of performing address shaping in an online manner on a network according to an embodiment of the present invention.
이하, 본 발명에 따른 실시예들에 대해 첨부된 도면을 참조하여 상세히 설명한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명의 일 실시예에 따른 주소 정형화 장치의 구성을 예시한 블록도로서, 입력되는 주소데이터(1a)를 정제( 예를 들어, 특수문자 제거, 소문자를 대문자로 변경 등 )하는 전처리부(1)와, 정제된 주소데이터를 주소요소들( ‘도’, ‘시’, ‘군’, ‘구’, ‘읍’, ‘면’, ‘동’, ‘리’, ‘번지’, 블록명, 건물명, 동호수 등 )에 해당하는 항목들로 분해하고 이들을 상위주소와 하위주소로 구분하여 출력하는 파서(2)와, 상기 상위주소 항목들에 대해 기 저장된 상위주소 db상에서 매칭되는 상위주소 엔트리(entry)를 찾는 상위주소 처리부(3)와, 상기 하위주소 항목들에 대해 구성된 유형들의 패턴확인 및 유사어 검색 등을 통해 표준화된 하위주소로 매칭시키는 하위주소 처리부(10)와, 상기 상위주소 엔트리와 매칭된 하위주소로부터 표준화된 주소정보를 결정하고, 그 결정된 표준화된 주소정보로부터 외부에서 요구되는 주소관련 정보(1r)를 추출 또는 결합하여 출력하는 주소명령 처리부(5)를 포함하여 구성된다.1 is a block diagram illustrating a configuration of an address standardization apparatus according to an embodiment of the present invention, and preprocessing (eg, removing a special character, changing a lowercase letter to an uppercase letter, etc.) for inputting address
도 1에 예시된 장치의 각 구성요소 또는 그 들의 부분적 결합 구성은 소프트웨어 또는 펌웨어를 실행하는 하드웨어(hardware)로써 구성되거나 또는 컴퓨팅(computing) 장치에서 수행되는 어플리케이션 프로그램과 그 프로그램에 의해 참조되는 하나 이상의 데이터베이스로써 구성될 수도 있다. 이 때의 어플리케이션 프로그램들과 데이터베이스는 기록매체에 수록되어 장치간에 전달되거나 또는 통신망을 통한 통신에 의해 장치간에 전달될 수도 있다. 또한, 도 1에 예시된 장치는 하나의 통합된 서버(server)로써 구성될 수도 있다.Each component of the device illustrated in FIG. 1 or a partial combination thereof may consist of software or hardware executing firmware or one or more application programs executed by a computing device and referenced by the program. It can also be configured as a database. In this case, the application programs and the database may be stored in a recording medium and transferred between devices, or may be transferred between devices by communication through a communication network. In addition, the apparatus illustrated in FIG. 1 may be configured as one integrated server.
상기 하위주소 처리부(10)는, 입력된 하위주소 항목들에 대해 그 유형의 패턴을 식별하는 패턴 식별부(11)와, 식별된 패턴에 근거하여, 입력된 각 하위주소 항목 또는 그 항목의 부분을 해당되는 주소요소로 할당하는 요소 결정부(12)와, 상기 결정된 주소요소들의 집합을, 하위주소 검색테이블상에서 검색하여 표준화된 하위주소 엔트리를 결정하는 주소 결정부(14)를 포함하여 구성된다.The lower
상기 전처리부(1)는, 입력되는 주소데이터(1a)에 포함되어 있는 주소의 유효성 검증( 길이가 4byte 이상인 지, 시작문자가 한글문자인 지의 등의 검증 )을 더 수행함으로써, 주소에 대한 오류 데이터의 입력을 사전에 차단하여 입력정보의 오류로 인한 불필요한 프로세스에의 부하를 사전에 방지한다.The
상기 주소데이터(1a)는 단일 또는 복수의 주소들로서, 다양한 방식으로 상기 주소 정형화장치에 입력될 수 있다. 예를 들어, 통상적인 입력장치인 키보드를 통한 키입력을 통해 또는 메뉴상의 주소항목들의 선택을 통해 입력되거나, 디스크 기록매체( 예를 들어, CD, DVD 등 ) 또는 휴대용 메모리기기( 예를 들어, USB 메모리, SD 메모리 등 )에 수록되어 해당되는 판독장치를 통해 입력되거나, 또는 네트워크 접속된 원격지의 터미널( 예를 들어, 원격지의 PC, 또는 이동 단말기 등 )을 통해 수신될 수도 있다.The address data 1a may be input to the address formatter in various ways as a single or a plurality of addresses. For example, input via a key input through a keyboard, which is a conventional input device, or selection of address items on a menu, or a disk recording medium (for example, CD, DVD, etc.) or a portable memory device (for example, USB memory, SD memory, etc.) may be input through a corresponding reading device, or may be received through a remote terminal (for example, a remote PC or a mobile terminal) connected to a network.
상기 주소데이터(1a)의 각 주소에 포함되어 있는 상위주소는, 최초 생성시에 통상적으로 제공되는 표준주소 용어( 법정명, 행정명 )목록상에서 선택되고 직접 입력하는 경우가 매우 적기 때문에 그 기재된 용어들에 있어서의 오류가 매우 적다. 따라서, 입력된 상위주소의 경우에는, 상기 상위주소 처리부(3)가 기 구축된 상위주소 db와의 비교검색을 통해 일치된 표준화된 상위주소명의 엔트리를 찾는 데 오류가 발생하지 않거나 오류가 발생하더라도 그 빈도가 매우 낮다. 그리고, 상기 상위주소 처리부(3)는 일치되는 상위주소 엔트리가 찾아지지 않는 경우에는, 그 상위주소 항목들에 대해, 하기에서 상세히 설명되는 하위주소명의 결정방법에서 사용되는 유사어(類似語) 검색을 적용함으로써 입력된 상위주소에 대응될 확률이 매우 높은 상위주소 항목들( “도/시”, “시/군/구”, “동/읍/면”, “리” 등 )을 결정하게 된다.The higher address included in each address of the address data 1a is selected from a list of standard address terms (legal name, administrative name) normally provided at the time of initial creation, and since it is rarely input directly, the term is described. There are very few errors in the field. Therefore, in the case of the input upper address, even if an error does not occur or an error occurs when the upper
하지만, 상기 주소데이터(1a)의 각 주소에 포함되어 있는 하위주소는, 최초 생성시에 이용자에 의해 직접 입력되는 경우가 대부분이므로 사용된 용어나 명칭 등이 관용적이거나 오타 등에 의해 표준명칭과 달라지는 경우가 매우 빈번하다. 따라서, 본 발명에 따른 주소 정형화방법의 실시예들에서 하위주소에 대해 상세히 설명하고, 상위주소에 대해서는 위의 기재된 설명으로써 대신한다. 하지만, 하기에서 특별히 언급하지 않더라도 그 적용이 구조적으로 배척되는 경우가 아니면, 하위주소에 대해 설명한 여러 방식이나 방법들이 상위주소에 대해서도 적용될 수 있음은 물론이다.However, since the lower address included in each address of the address data 1a is directly input by the user at the time of initial creation, the term or name used is idiomatic or different from the standard name due to a typo. Is very frequent. Therefore, in the embodiments of the address shaping method according to the present invention, the lower address is described in detail, and the upper address is replaced by the above description. However, even if not specifically mentioned below, various methods or methods described for the lower address may be applied to the upper address unless the application is structurally excluded.
도 2a 및 2b는, 본 발명의 일 실시예에 따른, 주소 정형화를 위한 주소 처리방법의 흐름도이다. 이하에서는, 도 1에 예시된 주소 정형화장치가 기계적으로 수행하는 자동 주소 처리방법을 도 2a 및 2b에 예시된 흐름도를 참조하여 예시적으로 그리고 상세히 설명한다.2A and 2B are flowcharts of an address processing method for address standardization according to an embodiment of the present invention. Hereinafter, an automatic address processing method performed mechanically by the address shaping apparatus illustrated in FIG. 1 will be described by way of example and in detail with reference to the flowcharts illustrated in FIGS. 2A and 2B.
상기 파서(2)는 상기 전처리부(1)에 의해 정제된(S210) 주소데이터의 각 주소에 대해 구분자( 예를 들어, 공백, 탭 등 )를 기준으로 주소항목들로 구분하고 상위주소에 속하는 주소항목들에 대해서는 상기 상위주소 처리부(3)로, 하위주소에 속하는 주소항목들에 대해서는 상기 하위주소 처리부(10)로 분리하여 인가한다(S220). 예를 들어, 입력된 주소가 “서울시 영등포구 문래동3가 55-7 에이스테크노타워 804호”인 경우에, 상위주소에 속하는 ““도/시”, “시/군/구”, “동/읍/면”, “리”에 해당하는 주소항목들, 즉 “서울시”, “영등포구”, “문래동3가”의 주소항목들은 순차적으로 상기 상위주소 처리부(3)에, 하위주소에 속하는 “55-7”, “에이스테크노타워”, “804호”의 주소항목들은 순차적으로 상기 하위주소 처리부(10)에 인가된다.The
상기 하위주소 처리부(10)내의 상기 패턴 식별부(11)는 입력된 주소항목들을 그 입력 순서대로 분석하여 그 패턴을 다음과 같은 방식으로 결정한다. 먼저, 상기 패턴 식별부(11)는 입력된 각 주소항목들에 대해 구성 문자( 또는 문자열 )의 유형 또는 유형들이 한글, 영문, 숫자, 기호, 특수기호( 예를 들어, ‘@’ ) 중에서 어떤 것들인 지를 확인하고, 확인된 각 유형( 한글, 영문, 숫자, 기호, 그리고 특수기호 )에, 해당되는 패턴 유형코드, 즉 유형코드를 도 3에 지정된 규칙에 따라 순서대로 할당함으로써 주소항목들에 대한 유형패턴을 식별한다(S230). 도 3에 지정된 규칙은 단지 일 예일 뿐, 다른 유형코드를 사용할 수도 있으며, 특수기호를 구분하지 않고 기호에 포함시킬 수도 있다. 또한, 하위주소에 보편적으로 그리고 광범위하게 사용되는 새로운 기호 등이 생기는 경우에는 그 기호에 대해서는 별도의 유형코드를 할당할 수도 있다. 도 3에 예시된 할당규칙을 적용하면, 상기 주소항목의 예( “55-7”, “에이스테크노타워”, “804호” )의 경우, “55-7”는 구성문자의 유형이 순차적으로 “숫자”-“기호”-“숫자”이므로 “NSN”( “55”는 숫자, “-“은 기호, 그리고 “7”은 숫자 )을, “에이스테크노타워”에 대해서는 “K”를, 그리고 “804호”에 대해서는 “NK”( “804”에 대해 ‘N’, ‘호’에 대해 ‘K’ )가 각기 할당된다. 이와 같이 각 주소항목들에 대해 순차적으로 할당된 유형코드들을 결합하여( 상기 예에서, “NSNKNK” ) 결정된 유형패턴값으로서, 상기 입력된 주소항목들, 그리고 그로부터 분해된 유형 구성요소들( 위 예에서, “55”, “-“, “7”, “에이스테크노타워”, “804”, “호” )과 함께 상기 요소 결정부(12)로 인가된다.The
상기 요소 결정부(12)는 수신되는 유형패턴값에 대해서 기 구축한 맵핑트리(mapping tree)를 검색하여, 수신된 주소항목들에 대해 주소요소로 분해 대응시키기 위한 요소맵핑 블록을 결정한다(S240). 도 4a는 본 발명의 일 실시예에 따라 구축된 맵핑트리의 예를 개념적으로 도시한 것이고, 도 4b는 본 발명의 일 실시예에 따른, 맵핑트리내의 요소맵핑블록의 작성 예를 나타낸 것이다.The
도 4a에 예시된 맵핑트리에 대해서 좀 더 구체적으로 설명하면, 하위주소에서 선두에 올 수 있는 유형코드들(N,K,E,S)( 하위주소의 선두에는 ‘@’의 특수기호가 올 수 없으므로 제외된다. )을 루트(root) 레벨로 하여 각 유형코드마다에 하위레벨의 유형코드들을 두는 계층적 구조를 갖는다. 다만, 임의 레벨의 임의 유형코드에 대해서 그 하위레벨에 모든 유형코드들( 본 실시예에서 5개 )을 자녀레벨(child level)로 두는 것은 아니며, 실제적인 주소체계상 또는 주소를 기재하는 통상의 방식상 현재 유형코드의 하위레벨에 올 수 없는 유형코드에 대해서는 그 자녀레벨에 두지 않는다. 예를 들어, 도 4a에 예시된 패턴값 “KNKNSN”의 다섯번째 레벨의 유형코드 “N”(41)의 경우는, 그 유형코드에 해당되는 기재된 숫자로서 주소가 종결되거나( “~ 101동 1301”와 같이 “1301” 다음에 “호”가 기재되지 않은 주소의 경우 ) 그렇지 않다면 통상 그 다음에 “호” ( ‘N’이 “동호수”에 해당할 때 ) 또는 “번지”( ‘N’이 “번지”의 숫자에 해당할 때 )와 같은 한글만이 오게 되므로 그 하위레벨에는 “K”만을 두고 있다. 마찬가지로 상기 패턴값 “KNKNSN”의 네번째 레벨의 유형코드 “S”(42)의 경우에도 그 다음에 숫자만이 오게되므로 그 하위레벨에는 유형코드 “N”만을 두고 있다.More specifically with respect to the mapping tree illustrated in FIG. 4A, the type codes N, K, E, and S that may appear at the beginning of the lower address may be preceded by a special symbol of '@'. It is excluded because it cannot be used at the root level. It has a hierarchical structure in which each typecode has a lower level typecode. However, for any type code of any level, not all type codes (5 in this embodiment) are child level at a lower level, but a general address that describes an actual addressing system or addresses. Type codes that are not in the lower level of the current type code in their manner are not placed at their child level. For example, in the case of the type code “N” 41 of the fifth level of the pattern value “KNKNSN” illustrated in FIG. 4A, the address is terminated as a written number corresponding to the type code (“~ 101 dong 1301”). For addresses that do not have "ho" after "1301", such as "), otherwise it is usually followed by" ho "(when 'N' corresponds to" password ") or" address "('N' Only Korean characters such as) will come when the number of the “address” is included, so only the lower level has “K”. Similarly, in the case of the type code "S" 42 of the fourth level of the pattern value "KNKNSN", only a number comes next, so only the type code "N" is placed in the lower level.
또한, 도 4a에 예시된 맵핑트리는 그 트리상의 깊이( 루트로부터 트리상의 임의 경로를 따른 최종 유형코드까지의 단계 수 )가 모두 동일한 것은 아니며 주소의 패턴에 따라, 예시된 하위 6단계외의 다양한 깊이를 가진다. 예를 들어, 앞서 언급한 하위주소의 예( “55-7”, “에이스테크노타워”, “804호” )와 같은 유형패턴에 대한, 기 구축된 트리상의 깊이는 하위 5단계( N-S-N-K-N-K )를 갖는다. 그리고, 도 4a에 예시된 맵핑트리는, 가능한 유형패턴값의 마지막 유형코드마다에 할당되어 있는 요소맵핑 블록단(44)을 포함한다. 상기 요소맵핑 블록단의 기능에 대해서는 후술한다.In addition, the mapping tree illustrated in FIG. 4A does not all have the same depth on the tree (the number of steps from the root to the final type code along an arbitrary path on the tree), and may vary various depths other than the illustrated lower six levels according to the pattern of the address. Have For example, for type patterns such as the examples of subaddresses mentioned above (“55-7”, “Ace Techno Tower”, “804”), the depth on the established tree is the lower level (NSNKNK). Have And, the mapping tree illustrated in FIG. 4A includes an element
상기 요소 결정부(12)는, 도 4a에 예시된 바와 같은 구조의 맵핑트리를 로딩(loading)하여 이를 프로그램적으로 접근가능하게 메모리상에 할당한 후, 앞서 수신된 유형패턴값을 선두부터 시작하여 루트레벨에서 순차적으로 비교하면서 일치하는 경로를 찾는다. 즉, 하위레벨로 내려가면서 일치하는 유형코드들을 찾는다. 수신된 패턴값의 마지막 유형코드까지 일치하는, 상기 맵핑트리상의 유형코드 지점이 결정되면, 그 마지막 유형코드( 즉, 일치하는 경로의 종점 )와 연계되어 있는 요소맵핑 블록을 특정한다(S240). 예를 들어, 수신된 유형패턴값이 “KNKNSN”인 경우에는 도 4a에 예시된 맵핑트리에서 상기 요소맵핑 블록단(44)내의 요소맵핑 블록 44k가 특정되고, “KNKNSNK”인 경우에는 요소맵핑 블록 44k+1이 특정된다. 이와 같이, 식별된 유형패턴값에 근거해, 기재가능한 모든 형태의 주소를 다 고려하여 주소 db를 검색하지 않고 한정된 크기를 갖는 요소맵핑 블록으로 그 범위을 제한함으로써 검색과정에 소요되는 전체시간을 감소시키게 된다.The
각 요소맵핑 블록에는, 해당 패턴값을 갖게 되는, 다양한 방식으로 기재될 수 있는 하위주소에서 각 주소요소, 예를 들어, 주번지, 부번지, 지구명, 단지명, 건물명( 아파트명 포함 ), 단지번호, 층번호, 동번호, 호번호 등을 개별적으로 식별하기 위한 맵핑조건들이 규정되어 있다. 맵핑조건들은 다양한 방식으로 규정될 수 있는 데, 본 발명에 따른 일 실시예에서는 도 4b에서와 같이 스크립트(script)로서 규정되며, 상기 요소 결정부(12)는 그 스크립트를 해석하여, 상기 수신된 주소항목들로부터 분해된 유형 구성요소들에 대한 규정된 조건에의 부합여부를 확인하고(S250) 부합되는 조건이 있을 경우 그 조건에서 지정하고 있는 할당방식에 따라 각 주소항목( 또는 유형 구성요소 )을 해당되는 주소요소로 할당하게 된다(S260).In each element mapping block, each address element at a subaddress that can be described in various ways, having a corresponding pattern value, for example, main address, minor address, district name, complex name, building name (including apartment name), complex Mapping conditions for individually identifying number, floor number, identification number, call number, etc. are specified. The mapping conditions may be defined in various ways. In one embodiment according to the present invention, the mapping conditions are defined as a script as shown in FIG. 4B, and the
상기 요소 결정부(12)가 각 주소항목( 또는 각 유형 구성요소 )을 해당되는 주소요소로 할당하기 위해, 도 4b에 예시된 유형패턴값 “KNKNSNK”에 대한 요소맵핑 블록(44k+1)의 스크립트 예를 해석하는 방법에 대해 좀 더 구체적으로 설명한다. 하기의 설명은 단지 본 발명의 원리와 개념에 대한 이해를 돕기 위한 매우 제한적이고 구체적인 예일 뿐 하기의 설명된 조건과 할당방식이외의 다양한 조건과 할당방식이 본 발명이 목적한 바를 달성하기 위해 사용된다. 따라서, 조건의 지정과 그 조건에 대한 각 주소요소 할당방식을 취하는 경우는, 그 조건 지정 및/또는 할당방식의 상이점이나 사용변수의 상이점만을 이유로 본 발명의 청구범위에서 청구하는 영역을 배척할 수는 없다.The
상기 요소맵핑 블록(44k+1)의 각 맵핑규정(44k+1_n+p, p는 정수)은 조건문(44k+1_n+p_IF)과 할당문(44k+1_n+p_THEN)으로 구성된다. 상기 요소 결정부(12)는 각 맵핑규정의 조건문에 규정하고 있는 조건들에 부합하는 지를 판단하기 전에, 수신된 각 유형 구성요소들에 대해 순서대로 번호를 부여한다. 예를 들어, 도 4b의 요소맵핑 블록(44k+1)에 부가하여 도시한 유형패턴값 “KNKNSNK”의 하위주소 예제(45) 중 하나(451)인 “산35사서함79-16호”가 현재 처리되고 있는 상황이라면, 유형 구성요소인 “산”에는 1, “35”에는 2, “사서함”에는 3, “79”에는 4, “-“에는 5, “16”에는 6, 그리고 “호”에는 7이 각기 부여된다.Each mapping rule (44 k + 1_n + p , p is an integer) of the
순서상의 번호 부여 후에는, 각 유형 구성요소에 대하여 각 조건문(44k+1_n+p_IF)에서 규정하고 있는 조건들에 부합하는 지를, 도 2b에 예시된 흐름도에 따라 판단한다. 도 4b에 예시된 첫번째 조건문(44k+1_n)은, 상기 요소 결정부(12)에 의해, L1은 1이 부여된 유형 구성요소의 길이로, S1은 1이 부여된 유형 구성요소의 왼쪽부터의 문자열( 또는 문자 )로, RS3은 3이 부여된 유형 구성요소의 오른쪽부터의 문자열로, S5는 5가 부여된 유형 구성요소의 문자열로, L7은 7이 부여된 유형 구성요소의 길이로, 그리고 S7은 7이 부여된 유형 구성요소의 왼쪽부터의 문자열로 해석된다. 따라서, “산”의 길이는 2바이트이므로 <S1=산>( 선두부터 시작하여 문자열에 “산”이 포함되어 있으면 TRUE가 된다. )과 <L1=2>의 조건이 만족되고, 세번째 유형 구성요소가 “사서함”이므로 <RS3=사서함> 조건도 만족되며, 마찬가지로 “-“와 “호”에 의해 <S5=->와 <L7=2>의 조건도 만족된다. 따라서, 예를 든 하위주소에 대해, 상기 요소 결정부(12)는 상기 특정된 요소맵핑 블록(44k+1)의 각 조건문(44k+1_n+p_IF)의 부합여부를 선두 조건문부터 수행하다가 상기 조건문 44k+1_n에서 그 조건문내의 모든 조건들이 부합( 도 2b의 S251->S252->S256->S257->…->S258 )됨을 인식하게 되어 그 조건문에 따른 할당문(44k+1_n)을 사용하여 각 주소요소를 결정하게 된다.After ordering numbering, it is determined according to the flowchart illustrated in FIG. 2B whether or not the conditions specified in each
한편, 상기 조건문(44k+1_n)에서 세번째 유형 구성요소에 대한 문자열 조건을 S3이 아닌 RS3을 사용한 이유는, 통상 사람들이 주소를 기재할 때 “사서함” 앞단에 지역 등의 명칭을 부가하므로, 후단을 기점으로 역진(逆進)하여 “사서함”이 포함되어 있는 지를 비교하기 위함이다. 즉, 주소항목들의 세번째 유형 구성요소가 “XX사서함”으로 된 경우에는 상기 요소 결정부(12)에 의해 <RS3=사서함>의 조건은 만족되는 것으로 해석된다.On the other hand, in the conditional sentence (44 k + 1_n ), the reason for using the string condition for the third type element rather than S3 is RS3, since people usually add names such as regions before the "mailbox" when writing addresses. This is to compare the "mailbox" included by reverse from the latter stage. In other words, when the third type component of the address items is " XX mailbox ", the condition of <RS3 = Mailbox> is interpreted by the
상기 요소 결정부(12)는, 상기 첫번째 예시된 할당문(44k+1_n)에 따라 주소항목들의 각 유형 구성요소를 주소요소로 할당하게 되는 데(S260), [V1=2]에 의해 두번째 유형 구성요소( 상기의 예에서 “35” )를 변수 V1( “주번지” 주소요소 )에 할당하고, [CPN=3]에 의해 세번째 유형 구성요소( 상기의 예에서 “사서함” )를 변수 CPN ( “사서함” 주소요소 )에 할당하고, [CP1=4]에 의해 4번째 유형 구성요소( 상기의 예에서 “79” )를 변수 CP1( “사서함 주번호” 주소요소 )에 할당하고, [CP2=6]에 의해 여섯번째 유형 구성요소( 상기 예에서 “16” )를 변수 CP2( “사서함 부번호” 구성요소 )에 할당하고, 마지막으로 [GB=1]에 의해 첫번째 유형 구성요소( 상기의 예에서 “산” )를 변수 GB( “임야지번코드” 주소요소 )에 할당한다. 도 5는 본 발명의 일 실시예에 따라 사용되는 주소요소의 종류와 사용변수를 예시한 것이다. 도 5는 단지 이해를 돕기 위한 예시일 뿐 본 발명은 예시된 주소요소와 사용변수로 제한되지는 않는다.The
전술한 과정에 따라 상기 요소 결정부(12)에 의해 결정된 각 주소요소의 집합( 이하, “주소벡터”라고 한다 )는 입력된 하위주소와 함께 상기 주소 결정부(14)에 전달된다.According to the above-described process, the set of each address element determined by the element determiner 12 (hereinafter referred to as an “address vector”) is transmitted to the
한편, 상기 요소맵핑 블록은, 기재시의 오류나 또는 동일명칭 또는 부호에 대해서 통상 사용하는 방식상의 차이 또는 선호도에 따라 사람들이 다양하게 기재하고 있음으로 고려하여 유사어 검색을 통하여 조건의 부합여부를 확인할 수 있도록 규정하고 있다. 본 명세서에서 사용하는 “유사어”의 용어는 반드시 뜻이 유사한 용어들만을 의미하는 것이 아니며, 오류로 틀리거나 또는 다르게 기재될 가능성이 높은 용어, 어떤 대상을 지칭하는 것으로 해석해도 될 특정의 용어 등을 모두 포함하는 의미로 사용된다. 도 4b에 예시된 조건문(44k+1_n+p_IF)에서 ‘$’ 문자가 유사어 검색을 지정하고 있는 것이며, 상기 요소 결정부(12)는 유사어 검색지정자(‘$’)를 만나면, 그 유사어 검색지정자 후단의 문자열과, 번호로서 지정된 유형 구성요소를 유사어 검색부(13)에 전달하면서 유사어 범위내에서 유형 구성요소가 일치하는 지를 문의한다. 예를 들어, 도 4b에 세번째로 예시된 조건문(44k+1_n+2_IF)에서 조건 <S7=$번지>를 확인해야 할 때는, 유사어 범위( 즉, 유사어군(群) )로서 “번지”를, 그리고 입력된 주소항목에서 분해된 일곱번째 유형 구성요소를 함께 상기 유사어 검색부(13)에 전달하게 된다. 이 때 비교방향도 지정된다. S의 경우는 순방향( 즉, 문자열 비교를 왼쪽에서부터 ) RS의 경우는 역방향( 즉, 문자열 비교를 오른쪽에서부터 )을 지정하게 된다.On the other hand, the element mapping block can be checked whether or not the condition is met by searching for similar words, considering that various descriptions are made by people according to errors in description or differences or preferences of the methods commonly used for the same name or code. It is prescribed to be. As used herein, the term "similar" does not necessarily mean only terms that have similar meanings, but terms that are likely to be wrong or misrepresented, specific terms that may be interpreted as referring to an object, and the like. It is used to mean all. In the
상기 유사어 검색부(13)는, 유사어군을 지정하는 문자열, 예를 들어 “번지”로부터 검색할 유사어군을 특정하여 그 군(群)내에서, 전달된 유형 구성요소와 지정된 비교방향에 맞게 일치하는 문자 또는 문자열이 있는 지를 검색하게 된다(S250s). “번지”의 유사어군에는 예를 들어 “번지”, “반지”, “변지” 등이 포함될 수 있으며, 동-호 구분을 위한 기호의 유사어군( 조건에 “$SGDH”(44k+1_n+1_c1)가 있을 때 특정되는 군 )에는 “-“, “/” 등이 포함될 수 있다. 도 6a 및 6b는 상기 유사어 검색부(13)가 유사어 검색을 위해 구비하고 있는 유사어 DB의 구체적인 예를 예시한 것이다. 도 6a에 예시된 유사어 범위에는 해당 용어의 정확한 명칭(61)외에, 통상적으로 혼용되고 있는 명칭들, 오류 또는 영문의 발음상 표기로 기재될 수 있는 다양한 용어들과 빌딩( 또는 주택 ) 자체 또는 그에 해당되는 특정의 대상을 지칭하기 위해 표현되는 구체적인 용어들이 포함되어 있다.The
상기 유사어 검색부(13)는, 검색지정된 유사어군에서 주어진 비교방향으로 일치하는 문자 또는 문자열이 있는 지를 검색하고 그 검색결과를 상기 요소 결정부(12)에 응답으로서 통지한다. 예를 들어, 도 4b에 예시된 두번째 주소예제(452)의 경우, 예시된 두번째 조건문(44k+1_n+1_IF)의 조건 <RS3=$주택>에 의한 유사어 검색요청에 대해, 상기 유사어 검색부(13)는 입력된 세번째 유형 구성요소( “두산위브아파트” )의 오른쪽의 “아파트”에 일치하는 문자열(62)이 “주택” 유사어군에서 발견되므로 검색성공을 나타내는 정보( 예를 들어, 논리값 “TRUE” )를 통지하며( 물론, 주소정보가 입력자의 오류로 “두산위브아파터”로 생성된 경우에도 예시된 유사어군에 “아파터”가 포함되어 있으므로 검색성공을 리턴하게 된다 ), 세번째 주소예제(453)의 경우에도, 예시된 세번째 조건문(44k+1_n+2_IF)의 조건 <RS1=$주택>에 대해 입력된 첫번째 유형 구성요소( “동보빌라” )의 오른쪽의 문자열 “빌라”에 일치하는 문자열(63)이 “주택” 유의군에서 발견되므로 검색성공을 통지하게 된다.The similar
한편, 상기 유사어 검색부(13)는 입력되는 주소항목의 구성요소에 대한 검색의 속도를 높이기 위해 각 유사어군내의 문자열들을 이진검색(binary search)이 가능하도록, 도 6a에 예시된 바와 같이 유사어들을 “가나다”순(順)으로 배열해둔다. 이진검색의 효율을 높이기 위해, 상기 유사어 검색부(13)는 각 유사어가 서로 동일한 길이( 유사어들중 가장 긴 유사어의 길이 )를 갖도록 지정된 코드( 예를 들어, 0(zero) )를 추가할 수도 있다. 이 때는, 입력된 유형 구성요소의 문자열의 지정된 수( 예를 들어, 2 )만큼의 선두( <S?= > 검색조건의 경우 ) 또는 후미( <RS? = > 검색조건의 경우 ) 문자열을 택하여 이를 상기 길이가 되도록 지정된 코드를 부가한 다음, 이를 사용하여 이진검색을 하고, 이 때 동일한 문자열이 검색되지 않으면 입력된 유형 구성요소의 다음 문자열을 추가하여 지정된 길이로 만든 후 이를 사용해 이진검색을 하는 방식으로 입력된 유형 구성요소에 대한 검색을 수행한다.On the other hand, the similar
본 발명에 따른 일 실시예에서는, 도 6a에 예시된 바와 같이 가나다순( 오름차순 또는 내림차순 )으로 배열된 유사어 데이터베이스를 참조하여 이진검색용 트리구조를 구축한다. 이에 따라 구축되는 이진트리 구조는 도 6b에 예시된 바와 같다. 예시된 이진트리의 구조 및 그 구축방법을 좀 더 상세히 설명한다. 도 6b에 예시된 이진트리는, 도 6a에 예시된 일부 유사어들(64)에 대해서 예시한 것이다. 유사어들이 갖는 서로다른 첫음절들만을 먼저 가나다순(順)( 오름차순 또는 내림차순 )으로 제 1계층의 트리항목들로 정렬하고(64-1), 첫음절이 같은 유사어들이 갖는 서로다른 두번째 음절들( 동일한 트리항목을 부모항목으로 하는 음절들 )만을 그 첫음절( 부모항목 )의 하위링크(64-1a)에 가나다순으로 제 2계층의 트리항목들로 정렬한다(64-2). 이와 같은 방법을, 이진트리에 모든 음절들이 할당되지 않고 남아 있는 음절이 있는 유사어들에 대해서 마지막 음절까지 차례대로 적용하여 해당 트리경로상의 마지막 계층의 트리항목으로 생성함으로써 도 6b에 예시된 바와 같은 유사어 이진트리를 구축하게 된다. 도 6b의 예시에서, 유사어중 “빌라드”와 “빌라트”(64a)는 첫음절과 두번째 음절이 모두 동일하므로 두번째 링크까지는 동일항목을 따라 배치되고 세번째 음절에서 각기 분리되어, 제 3계층에서 종단(終端) 항목을 형성하고 있다.In one embodiment according to the present invention, a tree structure for binary search is constructed by referring to a synonym database arranged in alphabetical order (ascending or descending order) as illustrated in FIG. 6A. The binary tree structure thus constructed is as illustrated in FIG. 6B. The structure of the illustrated binary tree and its construction method will be described in more detail. The binary tree illustrated in FIG. 6B is illustrated for some
상기 유사어 검색부(13)가, 도 6b에 예시된 이진트리를 검색지정된 유사어군에 대해서 검색할 때는, 먼저 입력된 유형 구성요소의 첫음절과 일치하는 음절을, 해당 유사어군 이진트리상의 첫번째 음절세트( 도 6b의 예에서 {…,’비’, ‘빌’, ‘빙’,…} )상에서 이진검색을 통해 찾고, 일치하는 첫음절이 하위링크에 있는 두번째 음절세트( 도 6b의 예에서, 첫음절이 ‘비’라면 {‘딩’, ‘스’, ‘엔’, ‘젼’, ‘치’} )상에서, 유형 구성요소의 두번째 음절과 일치하는 음절을 이진검색을 통해 찾는다. 이와 같은 검색( 본 명세서에서는 이러한 검색을 “이진트리 검색”이라고 약칭한다. )을 통해, 입력된 유형 구성요소의 마지막 음절까지 또는 이진트리상의 종단(終端)까지 일치하는 것이 확인되면, 입력된 유형 구성요소의 지정된 유사어군내에서 검색성공을 리턴하게 된다.When the similar
전술한 이진트리 검색에 의해서, 문자열을 상호 비교할 때, 일치가 확인된 선두음절 또는 선두음절들은 그 다음의 비교에서 제외되므로 비교동작에 소요되는 시간이 단축된다.By the binary tree search described above, when comparing strings with each other, the first syllable or the first syllable whose match is confirmed are excluded from the next comparison, so that the time required for the comparison operation is shortened.
전술한 유사어 이진트리 검색의 실시예에서는, 일치확인을 위해 비교되는 단위가, 한글 발화(發話)의 최소단위인 음절이다. 즉, 한 음절에 할당되는 2바이트씩 상호 비교된다. 본 발명에 따른 다른 실시예에서는, 1바이트를 비교단위로 하여 문자열이 상호비교될 수도 있다. 이를 위해서, 상기 유사어 검색부(13)는, 유사어들의 각 바이트값, 예를 들어 음절에 해당하는 유니코드의 각 바이트값을 근거로 하여 이진트리를 구축한다. 도 6c는 이에 따라 구축되는, 바이트를 트리항목으로 하는 바이트단위의 이진트리 구조의 예(640)이다. 음절( 2바이트 )단위에서는 서로 다르지만 바이트단위에서는 상위바이트 값이 서로 동일할 수도 있다. 따라서, 동일 유사어군에 대해서 바이트단위의 이진트리는 음절단위의 이진트리와 그 구조가 다소 달라진다. 도 6c는 그 구조가 달라지는 것을 예시적으로 보여주기 위해, 음절단위의 트리 구조의 대응되는 일부분(641)을 함께 도시하였다. 예시된 바와 같이, ‘비’와 ‘빌’은 음절단위에서는 서로 다르므로 이진검색을 위한 첫음절세트에 각기 포함되지만, 각 상위바이트값은 BEh( h는 16진수값을 의미함 )로서 서로 동일하므로 이진검색을 위한 첫번째 바이트세트에 BEh로서 통합되고, 두번째 바이트 세트에서 각기 44h와 4Ch로 분리된다(640a). “빌라*”와 “빌란트”에서 ‘라’와 ‘란’의 경우도 마찬가지이다(640b). 본 실시예에서는, 입력되는 유형 구성요소의 문자열을 바이트단위로 분해하고 그 선두바이트부터 시작하여 차례대로, 지정된 유사어군의 이진트리상의 해당 단계의 바이트세트와 이진검색을 통해 최종( 유형 구성요소의 마지막 바이트 또는 이진트리상의 바이트 종단 )까지 일치하는 지를 확인한다.In the above-described embodiment of synonym binary tree search, the unit to be compared for matching is the syllable that is the minimum unit of Hangul utterance. That is, two bytes allocated to one syllable are compared with each other. In another embodiment according to the present invention, character strings may be compared with each other using one byte as a comparison unit. To this end, the similar
한편, 역방향 검색요청( 위 설명에서의 조건 <RS?= >에 대한 )에 대해서도 빠른 검색이 가능하도록, 유사어군내의 유사어들을 각기 역순으로 문자열을 재정렬시켜 그 역순의 문자열들을 가나다순( 오름차순 또는 내림차순 )으로 배열한 후진(後進)검색용 유사어군을 준비해 둔다. 도 6d는 이와 같이 문자열을 역순으로 정렬한 후진(後進)검색용 유사어군의 예를 예시한 것으로서, 관공서에 대한 유형 구성요소로 간주하기 위해 사용하는 “관공서”의 유사어군이다. 도 6d에는, “국체우”, “단공지복”, “단공험보”(65)와 같이 “우체국”, “복지공단” 그리고 “보험공단”의 역순 문자열들이 자모의 오름차순으로 나열되어 있다.On the other hand, in order to enable fast search for the reverse search request (with respect to the condition <RS? => In the above description), the strings in the reverse order are rearranged in reverse order by sorting the similar words in the similar word group in ascending or descending order. Prepare a group of similar words for backward retrieval arranged by. FIG. 6D illustrates an example of a group of similar words for backward retrieval in which the strings are sorted in reverse order, and is a group of similar words of the "public office" used to regard the constituent elements of the public office. In FIG. 6D, the reverse strings of the "Post Office", the "Social Welfare Corporation", and the "Insurance Corporation" are listed in ascending order of the letter, such as "Post Office", "Dongbo Welfare", and "Danboji" (65).
본 발명에 따른 일 실시예에서는, 유사어들이 가나다순으로 배열된 후진검색용 유사어군에 대해서도 이진검색용 트리구조를 구축한다. 이진검색용 트리구조를 구축하는 방법은 전술한 바와 같다. 도 6e는 이에 따라 구축되는 후진검색용 이진트리의 예의 일부분을 보여준다. 예시된 예는, 도 6d에 예시된 역순 문자열들인 “국제경”, “국중집”, “국체우”에 대한 유니코드를 기준으로 하여 이진트리각 구축된 것이다. 도 6e에 예시된 바와 같이 구축된 후진검색용 이진트리를 사용하여, 입력된 유형 구성요소와의 일치하는 유사어가 있는 지를 확인하는 과정은, 입력된 유형 구성요소의 문자열을 역순으로 하여 선두의 음절부터( 즉, 원 문자열의 뒷 음절부터 ) 사용하는 것이 상이할 뿐, 전술한 바에서와 동일하다. 후진검색용 이진트리를 사용하면, 각 음절씩만 비교하므로 비교속도가 빠를 뿐만 아니라, 통상 사람들이 건물명 전단에 고유명칭 예를 들어, “래미안”, “푸르지오” 등을 부가하여 “래미안아파트” 또는 “푸르지오아파트” 등으로 사용하는 용어에 대해, 그 후미부터 시작하여 ‘트’, ‘파’, ‘아’가 후진검색용 이진트리상에서 차례대로 일치하면 그 전단의 고유명칭을 확인할 필요없이 해당 문자열이 건물명에 해당하는 것으로 빠르게 판단될 수 있다( 도 6a의 “주택” 유사어군에 “아파트”가 있으므로, ‘트’-‘파’-‘아’가 후진검색용 이진트리내의 각 단계의 음절세트에서 일치하게 되고, ‘아’가 이진트리의 종단(終端)을 형성하고 있을 것이므로, 입력된 유형 구성요소의 문자열을 더 이상 비교하지 않고서 검색성공을 빠르게 판단하게 된다 ).In one embodiment according to the present invention, a tree structure for binary search is constructed even for a group of similar words for backward search in which similar words are arranged in alphabetical order. The method for building a binary search tree structure is as described above. 6E shows a portion of an example of a binary tree for backward search constructed accordingly. The illustrated example is a binary tree angle constructed based on the Unicode for the "international scene", the "centralization", and the "national rain" which are reverse strings illustrated in FIG. 6D. Using the binary tree for backward search constructed as illustrated in FIG. 6E, the process of checking whether there is a similar word matching the input type component is performed by reversing the character string of the input type component in the reverse order. (I.e., from the next syllable of the original string) is different, and is the same as described above. When using binary tree for backward search, the comparison speed is faster because only each syllable is compared, and people usually add unique names such as "Ramian" and "Prugio" to the front of the building name. For terminology used as “prugio apartment”, etc., starting from the end, if 't', 'par', and 'a' match on the binary tree for backward search in order, the string is not required to check the unique name of the front end. It can be quickly determined that it corresponds to the building name. (As there is an “apartment” in the “housing” group of similar words in FIG. As a result, the 'A' will form the end of the binary tree, so the search success will be faster without further comparing the strings of the type components entered. It is).
본 발명에 따른 다른 일 실시예에서는, 역순 문자열의 유사어군에 대한 바이트단위의 이진트리 검색이 가능하도록, 한음절에 해당하는 2바이트에 대해서도 역순으로 정렬하고 이를 토대로 바이트단위의 이진트리를 구축한다. 예를 들어, 도 6d에 예시된 역순 문자열 “국체우”에 대해서, 도 6f에서와 같이 각 음절에 해당하는 유니코드인 AD6Dh( ‘h’는 16진수를 의미함 ), CCB4h, C6B0h의 값을 6DADh ( ADh와 6Dh의 바이트를 상호 위치바꿈 ), B4CCh 그리고 B0C6h로 정렬한다(68a). 이와 같은 방식으로 역순 문자열들 모두에 대해 각 음절에 해당하는 2바이트를 앞뒤로 서로 바꾼 후에, 각 문자열의 정렬된 값에 따라 문자열들을 가나다순대로 재배열함으로써 얻어진 바이트역전(逆轉) 역순문자 테이블(68)을 참조하여 바이트단위의 이진검색에 사용할 후진검색용 이진트리 유사어군 db를 구축한다.In another embodiment according to the present invention, in order to enable binary tree search in byte units for a group of similar words in reverse order strings, the two-byte syllables are sorted in reverse order and a binary tree in byte units is constructed based on this. . For example, for the reverse order “local flag” illustrated in FIG. 6D, as shown in FIG. 6F, values of AD6Dh ('h' means hexadecimal), CCB4h, and C6B0h, which are unicodes, correspond to each syllable. Align 6DADh (bytes shifted between ADh and 6Dh), B4CCh and B0C6h (68a). By inverting the two bytes corresponding to each syllable for each of the reversed strings in this way, and then rearranging the strings in alphabetical order according to the sorted values of the respective strings, the reversed byte table 68 Build a binary tree pseudoword group db for backward search to use for binary search by byte.
도 6g는 이에 따라 구축되는 바이트단위 후진검색용 이진트리의 예의 일부분을 보여준다. 예시된 예는, 도 6e에 예시된 음절단위 이진트리상의 “국제경”, “국중집”, “국체우”에 대응되는 바이트단위로 구축된 이진트리의 부분이다. 바이트역전의 후진검색용 이진트리는, 음절단위의 이진트리와 비교할 때, 도 6c를 참조로 설명한 바 있는 한 바이트의 공통으로 인한 링크공용(640a,640b)외에도 한글 자모순으로 볼 때 인접되지 않은 음절을 갖는 문자열이 링크에 더 추가되는 경우도 발생하므로 그 트리구조가 음절단위의 이진트리와 상당히 다른 구조로 구축된다. 예를 들어, 역순이 “국”으로 시작하는 예는 도 6d에서 세가지( “국제경”, “국중집”, “국체우” )밖에 없어서, 도 6e의 후진검색용 이진트리에는 ‘국’( AD6Dh )에 해당하는 트리가 세개의 종단만(66)을 가지지만, 관공서 표기의 오기를 위해 유사어에 등재해 둔 “환경칭”에서의 “칭”이 CE6Dh의 코드값을 가지므로 이를 바이트역전시킨 경우 그 선두의 값이 6Dh가 되어, 도 6g에서와 같이 위 세가지 예의 문자열이 속하는 트리상에 함께 속하게 된다(69).Fig. 6G shows a part of an example of a binary tree for byte backward searching constructed accordingly. The illustrated example is a part of a binary tree constructed in byte units corresponding to "international scenes", "centralization", and "national right" on the syllable unit binary tree illustrated in FIG. 6E. Compared with the binary tree of syllable unit, the binary tree for backward retrieval of the byte reversal, in addition to the link common (640a, 640b) due to the commonness of one byte described with reference to FIG. Occurs when a string is added to a link, so the tree structure is constructed in a structure significantly different from the syllable binary tree. For example, there are only three examples in which the reverse order starts with "station" in FIG. 6D ("international border", "central population", "national"), and the reverse search binary tree of FIG. The tree corresponding to AD6Dh) has only three terminations (66), but since the "Ching" in "Environmental Name" listed in the synonym for the public office notation has the code value of CE6Dh, In this case, the head value is 6Dh, and it belongs together on the tree to which the above three example strings belong as shown in FIG. 6G (69).
전술한 실시예들에서와 같이, 정순(正順)의 각 문자열을 가나다순으로 배열한 전진(前進)검색용 유사어군들( 유사어들이 가나다순으로 배열되어 있는 도 6a에 예시된 유사어 테이블들, 도 6b에 예시된 음절단위의 전진검색용 이진트리 유사어군들, 또는 도 6c에 예시된 바이트단위의 전진검색용 이진트리 유사어군들 )과 역순(逆順)의 문자열을 가나다순으로 배열한 후진검색용 유사어군들( 역순 유사어들이 가나다순으로 배열되어 있는 도 6d에 예시된 유사어 테이블들, 도 6e에 예시된 음절단위의 후진검색용 이진트리 유사어군들, 또는 도 6g에 예시된 바이트역전의 후진검색용 이진트리 유사어군들 )을 구비함으로써, 상기 유사어 검색부(13)는 순방향 비교에 의한 검색이 요청되는 경우에는 전진검색용 유사어군에서, 역방향 비교에 의한 검색이 요청되는 경우에는 후진검색용 유사어군에서 매칭되는 문자열을 이진검색을 통해 찾고 그 결과를 리턴하게 된다. 물론, 역방향 비교에 있어서, 후진검색용 유사어군내의 유사어들이 모두 역순으로 정렬되어 있으므로 유형 구성요소도 문자열을 역순으로 정렬한 후 실제 문자열 비교시에는 선두부터 수행한다.As in the above-described embodiments, the group of similar words for forward search in which each character string in the order of alphabetical order is arranged in alphabetical order (the analogous tables illustrated in FIG. 6A in which the analogous words are arranged in alphabetical order, FIG. 6B). Binary tree similar words group for forward search shown in syllable unit, or binary tree similar word groups for forward search shown in FIG. 6C) and reverse strings arranged in alphabetical order in reverse order (The similarity tables illustrated in FIG. 6D where the reverse analogous words are arranged in alphabetical order, the binary tree similarity groups for the backward search in syllable units illustrated in FIG. 6E, or the binary tree for backward search shown in FIG. 6G). By providing a group of similar words, the similar
한편, 본 발명에 따른 일 실시예에서는, 도 2b에 예시된 흐름도에서와 같이, 유사어범위내에서의 매칭조건에 대해서 유사어군에서의 검색에서 일치하는 문자열이 발견되지 않을 때에는(S252,S253) 검색실패를 리턴하지 않고, 음소레벨 검색을 실시할 수도 있다. 이를 위해 상기 유사어 검색부(13)는, 입력된 유형 구성요소를 또한 음소단위로 분해하고(S254), 각 유사어군내의 문자열들도 음소단위로 분해하면서( 유사어군내의 각 문자열에 대해 음소단위로 분해된 db가 미리 구축되어 있을 수도 있다. ), 상호 일치하지 않는 음소의 수가 가장 작은 값을 확인한다. 그리고 이와 같이 확인된 가장 작은 수가, 기 지정된 값, 예를 들어 2미만이면(S255) 해당 유사어군내에서 검색이 성공된 것으로 리턴한다. 예를 들어, 입력된 유형 구성요소가 “득허청”인 경우, 지정된 “관공서” 유사어군에서 검색에 실패하게 되고, 음소레벨의 분해비교에서, ‘ㄷ’,’ㅡ’,’ㄱ’,’ㅎ’,’ㅓ’,’ㅊ’,’ㅓ’,’ㅇ’과 ‘ㅌ’,’ㅡ’,’ㄱ’,’ㅎ’,’ㅓ’,’ㅊ’,’ㅓ’,’ㅇ’의 비교에서 일치하지 않는 음소( ‘ㄷ’와 ‘ㅌ’ )의 수가 1이 되므로, 해당 유사어군에서의 검색성공으로 리턴하게 되고, 상기 요소 결정부(12)는 현재 조거문의 다음 조건(S257)의 만족여부를 판단하게(S252) 된다. Meanwhile, in one embodiment according to the present invention, as shown in the flowchart illustrated in FIG. 2B, when a matching character string is not found in a search for a group of similar words for a matching condition within a range of similar words (S252, S253), the search is performed. You can also perform a phoneme level search without returning a failure. To this end, the analogous
입력된 하위주소와 함께 주소벡터를 상기 요소 결정부(12)로부터 수신한 상기 주소 결정부(14)는, 상기 상위주소 처리부(3)에서 결정한 주소항목들 또는 결정한 상위주소 엔트리(entry)에 등재되어 있는 주소항목들을 수신하여 그에 대응되는 주소엔진내의 검색테이블을 결정한다. 도 7a는 본 발명의 일 실시예에 따른 주소엔진의 구조를 구체적인 예로서 도시한 것으로서, 상위주소별로 번지 검색테이블(71k)과 건물 검색테이블(72k)이 각기 할당되어 있으며, 각 검색테이블의 각 엔트리는 해당되는 주소정보 노드(node)를 지시하는 포인터(ptr_nx, ptr_bx)를 저장하고 있다. 본 발명에 따른 다른 일 실시예에서는, 번지 및 건물 검색테이블외에 다른 다양한 검색테이블을 더 구성하여 검색의 정확성을 위해 사용할 수도 있다. 예를 들어, 해당 상위주소에 속하는 지역에서 많이 사용되는 주소적 요소, 예를 들어 부대명, 관용적 지명 등을 포함하는 기타검색 테이블 등을 더 구성할 수도 있다.The
상기 각 검색 테이블에 대해서는 이진검색이 가능하도록 해당 테이블내의 엔트리들은 검색할 대상요소( 번지, 건물명 )를 기준으로 가나다순으로 배열된다. 본 발명에 따른 일 실시예에서는, 각 검색 테이블에 대해서, 전술한 바에서와 같이 음절단위 또는 바이트단위의 이진트리를 구축하여 사용한다. 또한 건물명들의 역순 문자열들에 대해 음절 또는 바이트단위의 이진트리를 구축하여 사용한다. 이하에서 언급하는 검색테이블은 정순 또는 역순의 문자열이 가나다순으로 정렬된 테이블이거나 또는 음절단위 또는 바이트단위의 이진트리를 의미한다. 물론, 검색은 그 검색의 적합성에 따라 정순 또는 역순의 문자열에 대해 정순 또는 역순의 문자열로 구축된 검색테이블을 사용하여 검색한다.For each of the search tables, entries in the table are arranged in alphabetical order based on the element (address, building name) to be searched. In one embodiment according to the present invention, a binary tree in syllable units or byte units is constructed and used for each lookup table as described above. It also constructs binary tree of syllable or byte unit for reverse string of building names. The search table referred to below refers to a table in which the ordered or reversed strings are arranged in alphabetical order, or a binary tree in syllable units or byte units. Of course, the search uses a lookup table constructed of the forward or reverse order strings in the forward or reverse order, depending on the suitability of the search.
한편, 상기 건물 검색테이블내의 건물들의 명칭에 대해서는, 임의의 한 건물( 아파트, 빌라, 빌딩 등 )에 대한 표준명칭외에 그 건물에 대해 관용적으로 사용하거나 흔히 오타 등에 의해 표준명칭과 달라지는 명칭 등이 모두 다 포함되도록 한다. 이는 생성된 주소에 포함되어 있을 수 있는, 사람들에 의한 관용적 명칭 사용 또는 빈번하게 발생하는 기재의 오류 등에 따른 비정형의 주소항목에도 불구하고 정확한 표준주소를 찾아낼 수 있도록 하기 위함이다.On the other hand, for the names of the buildings in the building search table, besides the standard name for any one building (apartment, villa, building, etc.), all the names that are used conventionally for the building or are different from the standard name due to typos or the like are all used. Make sure everything is included. This is to ensure that the correct standard address can be found despite the atypical address items that may be included in the generated address, such as the use of idiomatic names by people or frequently occurring description errors.
도 7a에 예시된 바와 같이, 상기 수신된 상위주소의 주소항목들이 각각 “시”=“서울”, “군”=”강서구”, 그리고 “동”=”가양1동”을 가리키고 있으면, 상기 주소 결정부(14)는 그 정보에 근거하여 검색할 주소엔진내의 검색테이블을 특정하여 검색한다(S270). 만약, 앞서 수신한 주소벡터내에 주번지( 및 부번지 ) 변수 값이 기록되어 있으면 번지 검색테이블을, 건물변수(BD) 값이 기록되어 있으면 건물 검색테이블에서 해당 변수에 할당된 값을 검색하게 된다. 예를 들어 현재 처리하고 있는 입력주소가 “서울시 강서구 가양1동 1462번지”이면, 현재 수신된 주소벡터에는 주번지 변수(V1)에 해당하는 필드( 이하, “주소벡터[V1]”으로 표기한다 )에 “1462”이 기록되어 있으므로 그 값을 번지 검색테이블(71k)에서 찾고, “서울시 강서구 가양1동 강서한강월드매르디앙 N동 M호”이면 주소벡터[BD]에 ”강서한강월드매르디앙”이 기록되어 있으므로 그 기록된 값을 건물 검색테이블(72k)에서 이진검색 또는 이진트리 검색을 통해 찾는다. 만약, 주소벡터에 두 변수의 값이 모두 기록되어 있으면 건물 검색테이블에서 기록된 건물변수 값을 먼저 찾고, 기록된 번지변수 값은 그 찾은 건물명 또는 건물명들에 대한 검증을 위해 이용한다.As illustrated in FIG. 7A, if the address items of the received upper address indicate “shi” = “Seoul”, “gun” = “Gangseo-gu”, and “dong” = “
상기 주소 결정부(14)는, 수신된 주소벡터에 주번지변수 값만이 기록되어 있으면, 예를 들어 주소벡터[V1]=“1462”이면 “1462”에 대해서 해당 번지 검색테이블(71k)을 이진검색하여 해당 번지가 속하는 테이블 엔트리에 대응되는 주소정보 노드의 포인터( 도 7a의 예에서 ptr_n5 )를 확인하고, 수신된 주소벡터에 건물변수 값이 기록되어 있으면, 예를 들어 주소벡터[BD]=”강서한강월드매르디앙”이면 ”강서한강월드매르디앙”에 대해서 해당 건물 검색테이블(72k)을 이진검색 또는 이진트리 검색하여 일치하는 문자열을 갖는 테이블 엔트리( 이진트리의 경우, 일치되는 링크를 따른 경로의 종단의 의미로서도 테이블 엔트리의 용어를 사용한다 )에 대응되는 주소정보 노드의 포인트( 도 7a의 예에서 ptr_b21 )를 확인한다(S280). If only the main address variable value is recorded in the received address vector, for example, if the address vector [V1] = “1462”, the
상기 주소 결정부(14)는 일치하는 문자열의 테이블 엔트리가 해당 건물 검색테이블에서 발견되더라도 그 일치된 엔트리의 전후로 또 다른 일치하는 엔트리가 있는 지를 확인한다. 일치하는 테이블 엔트리가 있음에도 추가적으로 매칭되는 엔트리가 있는 지를 확인하는 이유는 다음과 같다.The
전술한 바와 같이, 건물 검색테이블은, 임의 건물에 대해서 표준화된 명칭 외에 상용되는 명칭 또는 약칭, 그리고 오류로 빈번하게 기재될 수 있는 명칭 또는 약칭 등을 모두 포함하여 구성된다( 도 7a의 예에서, 사람들이 통상 “메르디앙”의 표기를 가끔 “매르디앙”으로 오기하기도 하므로 동일한 주소정보 노드 포인터(ptr_b21)를 갖는 다수의 엔트리들(72k_1)이 건물 검색테이블에 포함되어 있다 ). 따라서, 동일 지역( 하나의 상위주소로 구분되는 지역 )내에 동일한 건물명으로 기재해야 하는 엔트리가 발생된다( 물론, 이 엔트리는 서로 다른 주소정보 노드의 포인트들을 갖고 있게 된다. ). 예를 들어, “한강월드메르디앙아파트”를 지역민들이 관용적으로 약칭하여 한강월드”라고 사용하기도 하고 또한 동일 지역내의 “한강월드맨션아파트”의 거주자들도 자신들의 거주지를 “한강월드”라고 간혹 약칭하여 사용한다면, 도 7b에 예시된 바와 같이, 이 건물의 두 약칭(75)에 대해 모두 해당 건물 검색테이블에 등재된다. 도 7c는 도 7b의 예에서와 같이 동일 대해 이진트리를 구축한 예이다. 상기 주소 결정부(14)는, 동일 문자열이 중복하여 등재되어 있는 경우를 대비하여, 하나의 일치하는 테이블 엔트리가 찾아지더라도 그 전후로 일치하는 엔트리가 더 있을 수도 있으므로 추가 검색을 하게 된다.As described above, the building search table includes all the names or abbreviations commonly used in addition to the standardized names for any buildings, and names or abbreviations that may be frequently described as errors (in the example of FIG. 7A, sometimes people are so often come to "maereu diang" the title of the ordinary "Meridian" includes a plurality of entries having the same address information node pointer (ptr_b21) (72 k_1) building a look-up table). Thus, an entry is generated in the same region (region separated by one higher address) that must be listed with the same building name (of course, this entry has points of different address information nodes). For example, "Hangang World Meridien Apartment" is commonly used by local people as "Hangang World" and residents of "Hangang World Mansion Apartment" in the same area are sometimes abbreviated as "Hangang World". If used, as illustrated in FIG. 7B, both
상기의 검색과정에서, 수신된 주소벡터의 값에 매칭되는 하나의 엔트리가 찾아지면, 상기 주소 결정부(14)는 그 때 확인된 엔트리의 주소정보 노드 포인터를 상기 주소명령 처리부(5)로 전달한다. In the above search process, if an entry matching the value of the received address vector is found, the
만약, 복수의 테이블 엔트리들이 찾아지면(S290), 상기 주소 결정부(14)는 그 엔트리들이 찾아진 검색 테이블이 아닌 다른 테이블에서 주소벡터의 다른 값을 검색하여 얻은 정보로부터 하나의 테이블 엔트리로의 결정이 가능하면(S300) 하나의 엔트리를 확정하게 된다(S310). 예를 들어, 입력된 주소벡터[BD]=“한강월드”에 의해 도 7b에 예시된 건물 검색테이블에서 2개의 엔트리가 찾아지면, 입력된 주소벡터[V1] 또는 주소벡터[V1+V2]의 값을 확인하고, 그 값에 따라 하나의 엔트리를 결정하게 된다. 즉, “강서한강월드메르디앙”의 번지는 “1462”이고, “한강월드맨션”의 번지는 “239-1”이라고 가정할 때, 만약, 주소벡터[BD]=“한강월드”라면 그에 따라 일치하는 엔트리가 2개 찾아지고, 이 때 주소벡터[V1] 또는 주소벡터[V1+V2]의 값에 근거해 하나의 엔트리를 결정하게 된다. 이를 위해, 상기 주소 결정부(14)는 각 테이블 엔트리에 등재되어 있는 주소정보 노드 포인터를 참조하여 각 주소정보 노드에 등재되어 있는 주소정보를 확인한다. 도 8은 본 발명의 일 실시예에 따른 주소정보 노드들의 구조를 예시한 것으로서, 각 주소정보 노드(80N)는 전술한 검색 테이블에 등재되어 있는 노드 포인터에 의해서 참조된다. 각 주소정보 노드의 정보필드(field)에는 노드명, 우편번호, 표준주소명, 법정주소명, 행정주소명, 번지, 그리고 새주소가 포함되며 각 필드에 대하여 선택적으로 정보가 기재되어 있다. 물론, 예시된 주소정보의 종류는 단지 예일 뿐이며, 필요에 따라 주소에 연계될 수 있는 다양한 주소정보, 예를 들어, 특정 행정부 기관( 예를 들어, 정보통신부, 행정안전부 등 )가 사용하는 주소명 및/또는 해당 주소에 할당된 주소코드 등의 필드도 각 주소정보 노드에 포함될 수 있다. If a plurality of table entries are found (S290), the
상기 주소 결정부(14)는, 전술한 예에서 2개의 엔트리(75)에 각기 등재된 주소정보 노드 포인터(ptr_b21,ptr_b22)를 참조하여 도 8에 예시된 해당 주소정보 노드를 액세스하여 각 노드의 번지정보(801_bj,802_bj)를, 수신된 주소벡터[V1] 또는 주소벡터[V1+V2]와 비교한다. 그 비교를 통해 일치하는 또는 노드의 번지정보의 범위내인 것으로 확인되는 주소정보 노드를 수신된 주소벡터에 매칭되는 것으로 결정하여 그 주소정보 노드의 포인터를 상기 주소명령 처리부(5)에 전송한다. 만약, 검색 테이블에서 매칭되는 엔트리를 찾지 못하거나 또는 매칭되는 엔트리를 복수개 찾았으나 그 중 하나를 결정하기 위해 참조할 정보가 수신된 주소벡터내에 더 없을 경우에는 “주소결정 실패”를 상기 주소명령 처리부(5)에 통지한다. 이 때, 그 결정 실패의 이유( 예를 들어, “매칭주소 없음”, “매칭주소 복수개” 등 )를 나타내는 에러코드도 함께 전송한다.The
한편, 상기 주소 결정부(14)는, 선택된 건물 검색테이블에서 주소벡터[BD]의 값과 일치하는 건물명을 찾지 못한 경우에는, 전술한 음소레벨 검색을 실시하여 음소레벨에서 가장 일치하는 수가 많은 건물명의 엔트리를 선정하여 그 엔트리의 주소정보 노드 포인터를 상기 주소명령 처리부(5)에 통지할 수도 있다. On the other hand, if the
상기 주소명령 처리부(5)는, 주소정보 노드 포인터가 수신되는 경우, 외부로부터의 주소정보 요구명령(1b)에 따라, 그 노드 포인터에 의해 참조되는 도 8에 예시된 바와 같은 주소정보 노드로부터 필요한 주소관련 정보를 읽어서 또는 읽은 정보를 결합하여 출력한다(S320). 출력하는 정보의 형태는 상기 주소정보 요구명령(1b)에 따라 다양하게 이루어질 수 있다. 예를 들어, 상기 주소정보 요구명령(1b)이 우편번호를 요구하는 경우에는, 지정된 노드 포인터에 의해 참조되는 주소정보 노드의 우편번호( 예를 들어, 도 8의 예에서 앞자리 6자리 )를 읽어서 입력된 주소데이터(1a)와 함께 병기하여 출력하고, 우편번호외에 표준주소로의 변환을 함께 요구한 경우에는 지정된 주소정보 노드의 우편번호외에, 상기 상위주소 처리부(3)로부터 수신된 결정된 상위주소 항목들에, 상기 지정된 주소정보 노드에 등록되어 있는 표준주소명을 더하여 함께 출력한다. 물론, 이 때 입력된 주소데이터(1a)에 의한 주소도 함께 출력할 수도 있다. 또 다르게는, 새주소로의 변환을 요구한 경우에는, 해당 주소정보 노드의 “새주소” 항목의 주소명을 읽어서 출력하게 된다.The address
상기 주소명령 처리부(5)에 의한 주소관련 정보(1r)의 출력 또한 다양한 방식으로 이루어질 수 있다. 예를 들어, 출력이 인쇄지에의 물리적으로 글씨를 인쇄하는 출력일 수도 있고, 하드디스크, 광기록매체, 광자기 기록매체 또는 이동식 저장매체( 메모리카드, 외장형 하드디스크 등 )에의 데이터 쓰기일 수도 있으며, 또 다르게는 통신선로를 통한 데이터의 전송이 될 수도 있다. The output of the address related information 1r by the
만약, 상기 주소 결정부(14)로부터 “주소결정 실패”가 통지되면, 상기 주소명령 처리부(5)는, 입력된 주소데이터(1a)에 의한 해당 주소와 함께, 수신된 에러코드가 의미하는 내용을 텍스트의 형태로 출력한다(S330).If the "address determination failure" is notified from the
지금까지 설명한, 하나의 주소에 대한 주소 정형화방법은 상기 입력된 주소데이터(1a)에 포함되어 있는 주소들 모두에 대해 개별적으로 수행됨으로써, 입력된 요구명령(1b)에 따라, 입력된 모든 주소에 대한 표준주소명 또는 우편번호, 또는 그 외의 다양한 주소정보 등이 출력된다.The address formalization method for one address described so far is performed individually on all of the addresses included in the input address data 1a, and according to the input request instruction 1b, all the addresses are entered. Standard address name or postal code, or various other address information is output.
본 발명에 따른 다른 일 실시예에서는, 전술한 주소 정형화방법이 온라인상에서 수행될 수도 있다. 도 9는 본 실시예에 따라 네트워크상에서 온라인방식으로 주소정형화가 자동적으로 이루어지는 과정을 예시한 것이다.In another embodiment according to the present invention, the above-described address formatting method may be performed online. 9 illustrates a process in which address shaping is automatically performed in an online manner on a network according to the present embodiment.
본 실시예에서는, 도 1의 주소 정형화장치가 네트워크상에 연결되는 주소 처리서버(100)로 구성되며, 주소 데이터와 그 데이터의 처리방식에 대한 명령은 통신망(110)을 통해 연결되어 있는 원격지의 단말기( 예를 들어, PC 또는 스마트폰 등 )(101)로부터 수신된다(S901). 물론, 상기와 같은 주소데이터의 처리요구에 앞서 적절한 이용자 인증절차가 수행될 수도 있다. 주소 데이터가 수신되면, 상기 주소처리 서버(100)는, 그 수신된 주소데이터에 있는 하나 또는 복수의 주소들에 대해서, 전술한 바와 같은 주소 정형화과정( 주소의 각 주소항목별 분해, 상하위 주소의 분리, 하위주소에 대한 유형패턴의 확인 및 해당되는 주소요소로의 할당, 할당된 주소요소에 근거한 주소정보 노드 결정, 처리방식 명령에 따른 주소관련정보 구성 등 )을 수행하고(S902), 그 결과로부터 얻어진 주소관련 정보를 상기 단말기(101)에 전송하게 된다(S903).In the present embodiment, the address shaping apparatus of FIG. 1 is composed of an
이상, 전술한 본 발명의 바람직한 실시예는, 예시의 목적을 위해 개시된 것으로, 당업자라면, 이하 첨부된 특허청구범위에 개시된 본 발명의 기술적 사상과 그 기술적 범위 내에서, 또 다른 다양한 실시예들을 개량, 변경, 대체 또는 부가 등이 가능할 것이다.
As mentioned above, preferred embodiments of the present invention described above are disclosed for the purpose of illustration, and those skilled in the art can improve other various embodiments within the spirit and technical scope of the present invention disclosed in the appended claims below. Changes, substitutions or additions will be possible.
1: 전처리부 2: 파서
3: 상위주소 처리부 5: 주소명령 처리부
10: 하위주소 처리부 11: 패턴 식별부
12: 요소 결정부 13: 유사어 검색부
14: 주소 결정부 100: 주소처리 서버
101: 원격지 단말기1: preprocessor 2: parser
3: upper address processing unit 5: address command processing unit
10: lower address processing unit 11: pattern identification unit
12: factor determination unit 13: synonym search unit
14: address determination unit 100: address processing server
101: remote terminal
Claims (26)
입력된 주소데이터에 포함되어 있는 주소를 상위주소와 하위주소로 분리하는 단계와,
상기 하위주소에 속하는 주소항목들을 유형별 구성요소들로 분해하고, 그 분해된 유형 구성요소들의 순차적 유형순서에 따른 유형패턴을 식별하는 단계와,
각 유형패턴에 대해 주소요소 맵핑조건문과 주소요소 할당문이 구성되어 있는 주소요소 맵핑블록들에서, 상기 식별된 유형패턴과 일치하는 유형패턴의 주소요소 맵핑블록을 찾은 후, 상기 분해된 유형 구성요소들이 그 찾은 주소요소 맵핑블록내의 주소요소 맵핑조건문의 어느 하나에 부합되는 지를 확인하는 단계와,
부합되는 주소요소 맵핑조건문에 연관된 주소요소 할당문에 따라 상기 분해된 유형 구성요소들의 적어도 하나를 주소요소에 할당하는 단계와,
상기 상위주소에 의해 지정되는 검색테이블에서, 상기 주소요소에 할당된 유형 구성요소와 동일하거나 그 유형 구성요소를 포함하고 있는 테이블 엔트리(entry)를 찾고, 그 찾은 테이블 엔트리에 연계되어 있는 주소정보 노드로부터, 입력된 주소처리 방식에 따라 주소관련 정보를 추출 또는 결합하여 출력하는 단계를 포함하여 이루어지되,
상기 주소요소 맵핑조건문의 적어도 어느 하나는, 유형 구성요소에 대해 유사어군(類似語群)내에서의 매칭여부를 조건으로 규정하고, 상기 주소요소 맵핑조건문의 또 다른 어느 하나는, 유형 구성요소에 대해 역방향 매칭여부를 조건으로 규정하고 있는 것인 방법.In the processing method for address standardization,
Separating the addresses included in the input address data into upper and lower addresses;
Decomposing address items belonging to the sub-address into components for each type, and identifying a type pattern according to the sequential type order of the decomposed type components;
In the address element mapping blocks in which an address element mapping condition statement and an address element assignment statement are configured for each type pattern, the address element mapping block of the type pattern matching the identified type pattern is found, and then the decomposed type element Checking whether they meet any of the address element mapping conditions in the found address element mapping block;
Allocating at least one of the resolved type components to an address element according to an address element assignment statement associated with a matching address element mapping condition;
In the lookup table specified by the parent address, look up a table entry that is the same as or contains a type element assigned to the address element, and an address information node associated with the found table entry. And extracting or combining address related information according to the input address processing method,
At least one of the address element mapping condition statements specifies a condition of matching in a similar word group with respect to a type element, and another one of the address element mapping condition statements includes a type element. The condition of the reverse matching for the condition.
상기 분리하는 단계는, 상기 주소에서 “도/시”, “시/군/구”, “동/읍/면”, “리”에 해당하는 주소항목들은 상기 상위주소로, 그 나머지의 주소항목들은 상기 하위주소로 분리하는 것인 방법.The method of claim 1,
The separating may include address items corresponding to “do / city”, “city / county / gu”, “dong / eup / myeon”, and “ri” in the address as the upper address, and the remaining address items. Are separated by the subaddress.
상기 주소항목들이 분해되는 상기 유형은, 적어도 한글, 영문, 숫자, 기호, 그리고 ‘@’으로 구분되고,
상기 유형패턴을 식별하는 단계는, 상기 각 유형에 지정된 영문자를 상기분해된 유형 구성요소들에 대해 그 순서대로 할당한 영문자 시퀀스로써 상기 유형패턴을 식별하는 것인 방법.The method of claim 1,
The type in which the address items are decomposed is divided into at least Korean, English, numbers, symbols, and '@',
Identifying the type pattern by identifying the type pattern as an alphabetic sequence in which alphabetic characters assigned to each type are assigned to the decomposed type components in that order.
상기 유사어군내에는, 유사어군을 지정하고자 하는 원래의 용어에 대해, 그 뜻이 유사한 용어들, 오류로 인해 틀리게 또는 다르게 기재될 수 있는 용어들, 원래의 용어와 동일한 대상을 지칭하는 것으로 해석될 수 있는 특정의 용어들이 포함되어 있는 것인 방법.The method of claim 1,
Within the group of similar words, with respect to the original term for which the group of similar words is intended, the meaning may be interpreted as referring to similar terms, terms that may be described incorrectly or differently due to errors, or the same object as the original term. Where certain terms are included.
상기 유사어군은, 그 유사어군에 포함된 유사어들에 대하여, 각 유사어를 구성하는 음절들 또는 바이트(byte)들이 그 선두의 음절 또는 바이트부터 최상위계층으로 하여 각 트리계층의 트리항목으로 할당된 트리구조로 구성되고, 트리상의 각 계층에서, 동일한 부모항목하의 복수의 항목들은 가나다순(順)으로 배열되어 있는 전진(前進) 이진검색용 유사어군인 것인 방법.The method of claim 1,
The synonym group is a tree in which the syllables or bytes constituting each synonym are assigned to the tree items of each tree layer from the head syllable or byte to the highest layer for the similar words included in the similar word group. Structure, wherein in each hierarchy on the tree, the plurality of items under the same parent item is a group of similar words for forward binary search arranged in alphabetical order.
상기 확인하는 단계는, 유사어군내에서 문자열 매칭여부를 규정하고 있는 조건에 대해서는 그 조건이 만족되는 지를 확인하기 위해, 그 조건에서 지정하고 있는 상기 분해된 유형 구성요소들 중 하나에 대해, 각 유사어가 가나다순(順)으로 배열되어 있는 전진검색용 유사어군에 있는 지를 이진검색을 통해 또는 상기 전진 이진검색용 유사어군에 있는 지를 이진트리 검색을 통해 확인하는 단계를 포함하여 이루어지는 것인 방법.The method according to claim 6,
The checking may include: for each of the disaggregated type elements specified in the condition, to determine whether the condition is satisfied with respect to a condition that defines whether a string is matched in the similar word group, each similar word is added. And a binary search for whether the group is in the similar search group for forward search arranged in alphabetical order or through the binary tree search.
상기 유사어군은, 그 유사어군에 포함된 유사어들에 대하여, 각 유사어를 구성하는 음절들 또는 바이트(byte)들이 그 후미의 음절 또는 바이트부터 최상위계층으로 하여 각 트리계층의 트리항목으로 할당된 트리구조로 구성되어 있으며, 트리상의 각 계층에서, 동일한 부모항목하의 복수의 항목들은 가나다순으로 배열되어 있는 후진(後進) 이진검색용 유사어군인 것인 방법.The method of claim 1,
The synonym group is a tree in which the syllables or bytes constituting each synonym are assigned to a tree item of each tree layer from the last syllable or byte to the highest layer for the similar words included in the synonym group. Structure, wherein in each hierarchy on the tree, a plurality of items under the same parent item are a group of similar words for backward binary search arranged in alphabetical order.
상기 확인하는 단계는, 유사어군내에서 역방향 매칭여부를 규정하고 있는 조건에 대해서는 그 조건이 만족되는 지를 확인하기 위해, 그 조건에서 지정하고 있는 상기 분해된 유형 구성요소들 중 하나에 대해, 그 문자열의 순서를 역으로 정렬한 역순(逆順)문자열이, 문자열이 음절 또는 바이트단위로 역방향으로 정렬된 각 유사어가 가나다순(順)으로 배열되어 있는 후진(後進)검색용 유사어군에 있는 지를 이진검색을 통해 또는 상기 후진 이진검색용 유사어군에 있는 지를 이진트리 검색을 통해 확인하는 단계를 포함하여 이루어지는 것인 방법.The method of claim 8,
The checking step may be performed to determine whether the condition is satisfied for a condition that specifies reverse matching in a group of similar words. Binary search is used to determine whether the reverse sequence of the reverse order of the sequence is a similar group for backward search in which each similar word in which the string is sorted in the order of syllable or byte is reversed. Or checking through a binary tree search whether the group is similar to the reverse binary search.
상기 확인하는 단계는, 유사어군내에서 매칭여부를 규정하고 있는 조건에 대해서, 그 조건에서 지정하고 있는 상기 분해된 유형 구성요소들 중 하나와 일치하는 문자열이 해당되는 유사어군에서 찾아지지 않으면, 상기 하나의 유형 구성요소를 음소레벨로 분해하여, 상기 해당되는 유사어군내의 각 유사어와 음소레벨로 비교하고 그 비교에 의해 얻어지는 최소 음소 차이의 수에 따라 상기 조건의 매칭여부를 결정하는 단계를 포함하여 이루어지는 방법.The method of claim 1,
The checking may include, for a condition defining whether a match is found in the similar word group, if a string matching one of the decomposed type elements specified in the condition is not found in the corresponding similar word group, the one. Decomposing a component of a type into a phoneme level, comparing each similar word to a phoneme level in the corresponding group of similar words, and determining whether to match the condition according to the minimum number of phoneme differences obtained by the comparison. Way.
상기 검색테이블은, 번지를 기준으로 그 범위별로 구분하여 각각의 테이블 엔트리로 구성하고 있는 번지 검색테이블과, 가나다순으로 배열된 건물명들이 각각 테이블 엔트리로서 구성되어 있는 건물 검색테이블을 포함하고, 상기 각 테이블 엔트리는 연관된 주소정보 노드를 지정하고 있는 연결정보를 포함하고 있는 것인 방법.The method of claim 1,
The search table includes a address search table configured as a table entry by dividing each table by its range based on a street address, and a building search table including building names arranged in alphabetical order as table entries. The entry contains connection information specifying an associated address information node.
각 상위주소마다에 대응하여 지정되어 있는 각각의 상기 건물 검색테이블에서 적어도 어느 하나의 건물 검색테이블은, 동일한 명칭을 갖는 복수개의 테이블 엔트리를 포함하고 있으며, 그 복수개의 테이블 엔트리는 서로 다른 주소정보 노드와 연관되어 있는 것인 방법.12. The method of claim 11,
At least one building search table in each of the building search tables specified corresponding to each upper address includes a plurality of table entries having the same name, and the plurality of table entries are different address information nodes. Associated with.
상기 건물 검색테이블은, 임의 건물에 대한 표준화된 명칭, 일상적으로 상용되는 명칭 또는 약칭, 그리고 오류로 기재될 수 있는 명칭 또는 약칭을 각각의 테이블 엔트리로서 포함하는 것인 방법.12. The method of claim 11,
Wherein the building lookup table includes, as each table entry, a standardized name, a commonly used name or abbreviation for any building, and a name or abbreviation that may be described as an error.
상기 검색테이블은, 각 건물명을 구성하는 음절들 또는 바이트(byte)들이 그 선두부터 또는 그 후미부터의 최상위계층으로 하여 각 트리계층의 트리항목으로 할당된 트리구조로 구성되고, 트리상의 각 계층에서, 동일한 부모항목하의 복수의 항목들은 가나다순(順)으로 배열되어 있는 건물 검색테이블을 포함하며, 각 트리경로상의 종단의 항목은 연관된 주소정보 노드를 지정하고 있는 연결정보가 연계되어 있는 것인 방법.The method of claim 1,
The search table is composed of a tree structure in which syllables or bytes constituting each building name are assigned to tree items of each tree hierarchy as the top hierarchy from the beginning or the end thereof, and in each hierarchy on the tree. And a plurality of items under the same parent item comprise a building search table arranged in alphabetical order, wherein the end item on each tree path is associated with linked information specifying an associated address information node.
상기 출력하는 단계는, 상기 주소요소에 할당된 유형 구성요소에 매칭되는 테이블 엔트리가 상기 검색테이블에서 복수개 찾아지는 경우에는, 상기 주소요소가 아닌 다른 주소요소에 할당된 유형 구성요소에 대해서, 상기 상위주소에 의해 지정되는 다른 검색테이블을 검색하여 매칭되는 테이블 엔트리를 찾고, 그 찾은 테이블 엔트리를 통해 얻어지는 주소정보에 근거하여 상기 복수개의 테이블 엔트리 중 하나를 결정하는 단계를 포함하는 것인 방법.The method of claim 1,
The outputting may include, when a plurality of table entries matching the type element assigned to the address element is found in the search table, for the type element assigned to an address element other than the address element, Searching another lookup table specified by an address to find a matching table entry, and determining one of the plurality of table entries based on address information obtained through the found table entry.
상기 주소정보 노드에는, 우편번호, 법정주소명, 행정주소명, 번지, 그리고 새주소를 포함하는 정보필드들에 대한 정보가 등재되어 있는 것인 방법.The method of claim 1,
The address information node includes information on information fields including postal code, legal address name, administrative address name, street address, and new address.
상기 출력하는 단계는, 상기 찾은 테이블 엔트리에 연계되어 있는 상기 주소정보 노드에 기재되어 있는 우편번호를 상기 주소와 함께 출력하는 단계를 포함하는 것인 방법.The method of claim 1,
And outputting, together with the address, a postal code written in the address information node associated with the found table entry.
상기 출력하는 단계는, 상기 찾은 테이블 엔트리에 연계되어 있는 상기 주소정보 노드에 기재되어 있는 표준주소명을 상기 상위주소에 부가하여, 상기 주소정보 노드에 기재되어 있는 우편번호와 함께 출력하는 단계를 포함하는 것인 방법.The method of claim 1,
The outputting step may include adding a standard address name described in the address information node associated with the found table entry to the upper address, and outputting the postal code described in the address information node together with the postal code described in the address information node. How to do.
상기 출력하는 단계는, 상기 찾은 테이블 엔트리에 연계되어 있는 상기 주소정보 노드에 기재되어 있는 새주소를 출력하는 단계를 더 포함하는 것인 방법.The method of claim 17 or 18,
And the outputting step further comprises outputting a new address listed in the address information node associated with the found table entry.
주소의 정형화를 위한 주소처리 프로그램과,
주소의 정형화를 위해 필요한 데이터베이스가 수록되어 있되,
상기 주소처리 프로그램은, 그 프로그램과 상기 데이터베이스를 읽을 수 있는 컴퓨팅(computing) 장치에 로드(load)되어 실행됨으로써,
상기 컴퓨팅 장치에 입력된 주소데이터에 포함되어 있는 주소를 상위주소와 하위주소로 분리하는 과정과,
상기 하위주소에 속하는 주소항목들을 유형별 구성요소들로 분해하고, 그 분해된 유형 구성요소들의 순차적 유형순서에 따른 유형패턴을 식별하는 과정과,
각 유형패턴에 대해 주소요소 맵핑조건문과 주소요소 할당문이 구성되어 있는, 상기 데이터베이스내의 주소요소 맵핑블록들에서, 상기 식별된 유형패턴과 일치하는 유형패턴의 주소요소 맵핑블록을 찾은 후, 상기 분해된 유형 구성요소들이 그 찾은 주소요소 맵핑블록내의 주소요소 맵핑조건문의 어느 하나에 부합되는 지를 확인하는 과정과,
부합되는 주소요소 맵핑조건문에 연관된 주소요소 할당문에 따라 상기 분해된 유형 구성요소들의 적어도 하나를 주소요소에 할당하는 과정과,
상기 상위주소에 의해 지정되는, 상기 데이터베이스내의 검색테이블에서, 상기 주소요소에 할당된 유형 구성요소와 동일하거나 그 유형 구성요소를 포함하고 있는 테이블 엔트리를 찾고, 그 찾은 테이블 엔트리에 연계되어 있는, 상기 데이터베이스내의 주소정보 노드로부터, 상기 컴퓨팅 장치에 입력된 주소처리 방식에 따라 주소관련 정보를 추출 또는 결합하여 출력하는 과정을 수행하게 되는 프로그램이고,
상기 주소요소 맵핑조건문의 적어도 어느 하나는, 유형 구성요소에 대해 유사어군(類似語群)내에서의 매칭여부를 조건으로 규정하고, 상기 주소요소 맵핑조건문의 또 다른 어느 하나는, 유형 구성요소에 대해 역방향 매칭여부를 조건으로 규정하고 있는 것인,
상기 주소처리 프로그램과 상기 데이터베이스를 수록하고 있는 기록매체.In a storage medium on which data is recorded,
An address processing program for address formalization,
It contains a database for address formalization,
The address processing program is loaded and executed in a computing device capable of reading the program and the database,
Separating an address included in the address data input to the computing device into an upper address and a lower address;
Decomposing address items belonging to the sub-address into components for each type, and identifying a type pattern according to the sequential type order of the decomposed type components;
In the address element mapping blocks in the database, in which an address element mapping condition statement and an address element assignment statement are configured for each type pattern, an address element mapping block having a type pattern matching the identified type pattern is found and then decomposed. Verifying that the specified type elements meet any one of the address element mapping condition statements in the found address element mapping block;
Allocating at least one of the decomposed type elements to an address element according to an address element assignment statement associated with a matching address element mapping condition;
In a lookup table in the database specified by the parent address, look up a table entry that is the same as or contains a type component of the type component assigned to the address element, and is associated with the found table entry. From the address information node in the database, the program to perform the process of extracting or combining the address-related information according to the address processing method input to the computing device,
At least one of the address element mapping condition statements specifies a condition of matching in a similar word group with respect to a type element, and another one of the address element mapping condition statements includes a type element. Precondition for reverse matching or not,
And a recording medium containing the address processing program and the database.
입력된 주소데이터에 포함되어 있는 주소를 상위주소와 하위주소로 분리하기 위한 주소 분리부와,
상기 하위주소에 속하는 주소항목들을 유형별 구성요소들로 분해하고, 그 분해된 유형 구성요소들의 순차적 유형순서에 따른 유형패턴을 식별하기 위한 패턴 식별부와,
각 유형패턴에 대해 주소요소 맵핑조건문과 주소요소 할당문이 구성되어 있는 주소요소 맵핑블록들에서, 상기 식별된 유형패턴과 일치하는 유형패턴의 주소요소 맵핑블록을 찾은 후, 상기 분해된 유형 구성요소들이 그 찾은 주소요소 맵핑블록내의 주소요소 맵핑조건문의 어느 하나에 부합되는 지를 확인하고, 부합되는 주소요소 맵핑조건문에 연관된 주소요소 할당문에 따라 상기 분해된 유형 구성요소들의 적어도 하나를 주소요소에 할당하기 위한 주소요소 결정부와,
상기 상위주소에 의해 지정되는 검색테이블에서, 상기 주소요소에 할당된 유형 구성요소와 동일하거나 그 유형 구성요소를 포함하고 있는 테이블 엔트리를 찾고, 그 찾은 테이블 엔트리에 연계되어 있는 주소정보 노드로부터, 입력된 주소처리 방식에 따라 주소관련 정보를 추출 또는 결합하여 출력하기 위한 주소정보 출력부를 포함하여 구성되되,
상기 주소요소 맵핑조건문의 적어도 어느 하나는, 유형 구성요소에 대해 유사어군(類似語群)내에서의 매칭여부를 조건으로 규정하고, 상기 주소요소 맵핑조건문의 또 다른 어느 하나는, 유형 구성요소에 대해 역방향 매칭여부를 조건으로 규정하고 있는 것인 장치.In the apparatus for processing an address for the formalization of the address,
An address separator for separating an address included in the input address data into an upper address and a lower address;
A pattern identification unit for decomposing address items belonging to the sub-address into components for each type, and for identifying a type pattern according to the sequential type order of the decomposed type components;
In the address element mapping blocks in which an address element mapping condition statement and an address element assignment statement are configured for each type pattern, the address element mapping block of the type pattern matching the identified type pattern is found, and then the decomposed type element Confirms whether any one of the address element mapping condition statements in the found address element mapping block matches, and assigns at least one of the resolved type elements to the address element according to the address element assignment statement associated with the matching address element mapping condition statement. An address element determining unit for
In the lookup table specified by the higher address, find a table entry that is the same as or contains a type component assigned to the address element, and inputs from an address information node associated with the found table entry. It is configured to include an address information output unit for extracting or combining the address-related information according to the processed address processing method,
At least one of the address element mapping condition statements specifies a condition of matching in a similar word group with respect to a type element, and another one of the address element mapping condition statements includes a type element. The apparatus is defined as a condition of the reverse matching.
상기 주소요소 결정부는, 상기 유형 구성요소로서 사용될 수 있는 제 1용어에 대해, 그 뜻이 유사한 용어들, 오류로 인해 틀리게 또는 다르게 기재될 수 있는 용어들, 원래의 용어와 동일한 대상을 지칭하는 것으로 해석될 수 있는 특정의 용어들의 집합인 유사어들이 가나다순(順)으로 정렬되어 있는 전진(前進)검색용 유사어군과, 상기 유형별 구성요소로서 사용될 수 있는 제 2용어에 대한 각 유사어들을 그 역으로 정렬하여 가나다순으로 정렬되어 있는 후진(後進)검색용 유사어군을 검색을 위해 포함하고 있는 유사어 검색부를 포함하여 구성되되,
상기 유사어 검색부는, 상기 어느 하나의 주소요소 맵핑조건문에서 지정된 조건에 따라, 상기 전진검색용 유사어군 또는 상기 후진검색용 유사어군을 선택적으로 사용하여, 그 조건에서 지정하고 있는 상기 분해된 유형 구성요소들 중 어느 하나의 정순 또는 역순의 문자열과 매칭되는 유사어가 있는 지를 이진검색을 통해 확인하도록 구성되어 있는 것인 장치.22. The method of claim 21,
The address element determination unit is intended to refer to terms that are similar in meaning, terms that may be described incorrectly or differently due to errors, or the same term as the original term, for the first term that may be used as the type component. A group of similar terms for forward search, in which the similar terms, which are a set of specific terms that can be interpreted, are sorted alphabetically, and vice versa for each similar term for the second term that can be used as a component of the type. And a similar word search unit that includes a similar word group for backward search to be searched in alphabetical order.
The synonym searching unit selectively uses the forward search similar word group or the backward search similar word group according to a condition specified in the address element mapping condition statement, and specifies the decomposed type component specified in the condition. And a binary search to determine whether there is a similar word that matches any one of the forward or reverse order strings.
상기 주소요소 결정부는,
상기 유형 구성요소로서 사용될 수 있는 제 1용어에 대해, 그 뜻이 유사한 용어들, 오류로 인해 틀리게 또는 다르게 기재될 수 있는 용어들, 원래의 용어와 동일한 대상을 지칭하는 것으로 해석될 수 있는 특정의 용어들의 집합인 유사어들이, 선두의 음절 또는 바이트부터 최상위계층으로 하여 각 트리계층의 트리항목으로 할당된 트리구조로 구성되고, 트리상의 각 계층에서, 동일한 부모항목하의 복수의 항목들은 가나다순(順)으로 배열되어 있는 전진(前進) 이진검색용 유사어군과,
상기 유형별 구성요소로서 사용될 수 있는 제 2용어에 대한 각 유사어들을, 후미의 음절 또는 바이트부터 최상위계층으로 하여 각 트리계층의 트리항목으로 할당된 트리구조로 구성되어 있으며, 트리상의 각 계층에서, 동일한 부모항목하의 복수의 항목들은 가나다순으로 배열되어 있는 후진(後進)검색용 유사어군을 검색을 위해 포함하고 있는 유사어 검색부를 포함하여 구성되되,
상기 유사어 검색부는, 상기 어느 하나의 주소요소 맵핑조건문에서 지정된 조건에 따라, 상기 전진검색용 유사어군 또는 상기 후진검색용 유사어군을 선택적으로 사용하여, 그 조건에서 지정하고 있는 상기 분해된 유형 구성요소들 중 어느 하나의 정순 또는 역순의 문자열과 매칭되는 유사어가 있는 지를 이진트리 검색을 통해 확인하도록 구성되어 있는 것인 장치.22. The method of claim 21,
The address element determiner,
For the first term that may be used as the type component, a term may be interpreted as referring to similar terms, terms that may be incorrectly or otherwise described due to errors, or the same subject as the original term. Similar words, which are sets of terms, consist of a tree structure assigned to tree items of each tree hierarchy from the top syllable or byte to the top hierarchy, and in each hierarchy of the tree, a plurality of items under the same parent item are arranged in alphabetical order. A group of similar words for forward binary search arranged in
Each analogous word for the second term that can be used as the component of the type is composed of a tree structure assigned to the tree items of each tree layer from the trailing syllable or byte to the top layer, and in each layer on the tree, The plurality of items under the parent item includes a similar word search unit including a similar word group for backward search arranged in alphabetical order for searching.
The synonym searching unit selectively uses the forward search similar word group or the backward search similar word group according to a condition specified in the address element mapping condition statement, and specifies the decomposed type component specified in the condition. And a binary tree search to determine if there are similar words that match any of the forward or reverse sequences of the strings.
상기 주소데이터는 광기록매체, 광자기 기록매체 및 이동식 저장매체 중 어느 하나에 수록된 것인 장치.22. The method of claim 21,
Wherein the address data is recorded on any one of an optical recording medium, a magneto-optical recording medium and a removable storage medium.
상기 주소데이터와 상기 주소처리 방식은, 상기 장치와 네트워크를 통해 통신가능하도록 연결된 원격지의 기기로부터 입력되는 것인 장치.22. The method of claim 21,
And the address data and the address processing method are input from a remote device connected to communicate with the device via a network.
상기 주소정보 출력부에 의한 상기 출력은, 인쇄지에의 물리적인 글씨의 인쇄, 하드디스크, 광기록매체, 광자기 기록매체 또는 이동식 저장매체에의 데이터 쓰기, 그리고 통신선로를 통한 데이터의 전송 중 적어도 어느 하나인 것인 장치.22. The method of claim 21,
The output by the address information output unit may include at least one of printing physical letters on printing paper, writing data to a hard disk, an optical recording medium, a magneto-optical recording medium or a mobile storage medium, and transmitting data through a communication line. Which one is the device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100099231A KR101132150B1 (en) | 2010-10-12 | 2010-10-12 | Address processing for formalizing addresses |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100099231A KR101132150B1 (en) | 2010-10-12 | 2010-10-12 | Address processing for formalizing addresses |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101132150B1 true KR101132150B1 (en) | 2012-07-11 |
Family
ID=46715887
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020100099231A KR101132150B1 (en) | 2010-10-12 | 2010-10-12 | Address processing for formalizing addresses |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101132150B1 (en) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110909110A (en) * | 2018-09-17 | 2020-03-24 | 阿里巴巴集团控股有限公司 | Address standardization method and device, storage medium and processor |
CN112001173A (en) * | 2020-07-31 | 2020-11-27 | 上海中通吉网络技术有限公司 | Dispatching code management method and device, terminal equipment and storage medium |
CN112256821A (en) * | 2020-09-23 | 2021-01-22 | 北京捷通华声科技股份有限公司 | Method, device, equipment and storage medium for complementing Chinese address |
CN112598321A (en) * | 2018-07-10 | 2021-04-02 | 创新先进技术有限公司 | Risk prevention and control method, system and terminal equipment |
CN112861532A (en) * | 2019-11-12 | 2021-05-28 | 北京四维图新科技股份有限公司 | Address standardization processing method, device and equipment and online search system |
CN113947071A (en) * | 2021-10-21 | 2022-01-18 | 北京四方继保工程技术有限公司 | Analysis execution system and method for transformer substation five-prevention file |
CN114003812A (en) * | 2021-10-29 | 2022-02-01 | 深圳壹账通智能科技有限公司 | Address matching method, system, device and storage medium |
CN116821271A (en) * | 2023-08-30 | 2023-09-29 | 安徽商信政通信息技术股份有限公司 | Address recognition and normalization method and system based on voice-shape code |
WO2023191260A1 (en) * | 2022-03-28 | 2023-10-05 | 쿠팡 주식회사 | Method for providing address information and device therefor |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100763517B1 (en) | 2005-12-07 | 2007-10-04 | 한국전자통신연구원 | Postal address unity management system and method |
KR100911762B1 (en) * | 2008-06-23 | 2009-08-11 | (주)지디에스케이 | System and method for standardizing address |
-
2010
- 2010-10-12 KR KR1020100099231A patent/KR101132150B1/en active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100763517B1 (en) | 2005-12-07 | 2007-10-04 | 한국전자통신연구원 | Postal address unity management system and method |
KR100911762B1 (en) * | 2008-06-23 | 2009-08-11 | (주)지디에스케이 | System and method for standardizing address |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112598321A (en) * | 2018-07-10 | 2021-04-02 | 创新先进技术有限公司 | Risk prevention and control method, system and terminal equipment |
CN110909110A (en) * | 2018-09-17 | 2020-03-24 | 阿里巴巴集团控股有限公司 | Address standardization method and device, storage medium and processor |
CN110909110B (en) * | 2018-09-17 | 2023-05-30 | 阿里巴巴集团控股有限公司 | Address standardization method and device, storage medium and processor |
CN112861532B (en) * | 2019-11-12 | 2024-04-02 | 北京四维图新科技股份有限公司 | Address standardization processing method, device, equipment and online searching system |
CN112861532A (en) * | 2019-11-12 | 2021-05-28 | 北京四维图新科技股份有限公司 | Address standardization processing method, device and equipment and online search system |
CN112001173A (en) * | 2020-07-31 | 2020-11-27 | 上海中通吉网络技术有限公司 | Dispatching code management method and device, terminal equipment and storage medium |
CN112256821A (en) * | 2020-09-23 | 2021-01-22 | 北京捷通华声科技股份有限公司 | Method, device, equipment and storage medium for complementing Chinese address |
CN112256821B (en) * | 2020-09-23 | 2024-05-17 | 北京捷通华声科技股份有限公司 | Chinese address completion method, device, equipment and storage medium |
CN113947071A (en) * | 2021-10-21 | 2022-01-18 | 北京四方继保工程技术有限公司 | Analysis execution system and method for transformer substation five-prevention file |
CN114003812A (en) * | 2021-10-29 | 2022-02-01 | 深圳壹账通智能科技有限公司 | Address matching method, system, device and storage medium |
WO2023191260A1 (en) * | 2022-03-28 | 2023-10-05 | 쿠팡 주식회사 | Method for providing address information and device therefor |
CN116821271B (en) * | 2023-08-30 | 2023-11-24 | 安徽商信政通信息技术股份有限公司 | Address recognition and normalization method and system based on voice-shape code |
CN116821271A (en) * | 2023-08-30 | 2023-09-29 | 安徽商信政通信息技术股份有限公司 | Address recognition and normalization method and system based on voice-shape code |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101132150B1 (en) | Address processing for formalizing addresses | |
KR100902966B1 (en) | Method and system for mapping strings for comparison | |
US7551935B2 (en) | SMS+4D: short message service plus 4-dimensional context | |
US6877003B2 (en) | Efficient collation element structure for handling large numbers of characters | |
US8117026B2 (en) | String matching method and system using phonetic symbols and computer-readable recording medium storing computer program for executing the string matching method | |
CN103186524B (en) | A kind of place name identification method and apparatus | |
EP0310283A2 (en) | A multilingual ordered data retrieval system | |
JP2007535741A (en) | Two-step data validation and mapping for database access | |
CN101815996A (en) | Detect name entities and neologisms | |
CN110990520B (en) | Address coding method and device, electronic equipment and storage medium | |
CN111209753B (en) | Entity naming identification method and device | |
US20040006458A1 (en) | Method and system of creating and using Chinese language data and user-corrected data | |
JPH09179872A (en) | Method and device for indexing data base by using finite state transducer | |
CN116414824A (en) | Administrative division information identification and standardization processing method, device and storage medium | |
CN111581344B (en) | Interface information auditing method and device, computer equipment and storage medium | |
US10984025B2 (en) | Device and method for displaying and searching for location by using grid and words | |
CN106156342A (en) | A kind of batch data introduction method | |
CN108536685B (en) | Information processing apparatus | |
CN108595584B (en) | Chinese character output method and system based on digital marks | |
JP2000276467A (en) | Conversion device | |
JP2010266969A (en) | Device, system, and method for retrieving character, input terminal, retrieval server, and program | |
JP2000011096A (en) | Character recognizing processor, its method and storage medium | |
JP2021085996A (en) | Voice recognition system and voice recognition method | |
JP2005229311A (en) | Communication terminal | |
CN115544967A (en) | Method and device for converting characters into pinyin, computer equipment and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20150127 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20160125 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20170208 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20190304 Year of fee payment: 8 |