A configuration language for a fuzzy database search engine

No Thumbnail Available
Journal Title
Journal ISSN
Volume Title
School of Science | Master's thesis
Checking the digitized thesis and permission for publishing
Instructions for the author
Date
2010
Major/Subject
Ohjelmistotekniikka
Mcode
T-106
Degree programme
Language
en
Pages
[11] + 65 s. + liitt. 12
Series
Abstract
In automatic mail sorting, optical character recognition (OCR) system is used to read the address on each letter. This process is, however, prone to errors, and thus fuzzy matching against a reference database of street addresses is used to find the correct recipients for letters. The matching algorithm needs a way to configure how the reference data is arranged in memory and how searches are implemented in it. Previously this has been done with a configuration file for the data model and an ad-hoc implementation of the search code in Java. This thesis presents a configuration language that can be used to configure both the data model and the search model. A compiler has been developed for the language. It produces Java source files of the data model and the search code, which can then be compiled by an ordinary Java compiler and loaded into the matching system in runtime. The usage of the configuration language brings several benefits. Semantic analysis can be performed to check the structure and the compatibility of the two models. The possibility of updating the search model in runtime eases customer-specific optimization. Removal of the need of customer-specific source code eases the maintenance of the fuzzy matching software.

Jotta kehittynyttä sumean haun järjestelmää voitaisiin käyttää optisesti luettujen jakeluosoitteiden virheenkorjaukseen postinlajittelujärjestelmissä, täytyy järjestelmään konfiguroida tiedon tallennusmalli sekä malli, joka määrittelee, miten erilaisilla syötteillä tehdään hakuja jäsennellystä tietomassasta. Aikaisemmassa toteutuksessa datamallina on käytetty konfiguraatiotiedostoa ja hakumalli on ohjelmoitu ad-hoc-menetelmällä. Tämä on ongelmallista ohjelmiston kehittäneen Sysloren ohjelmistotuotannon kannalta. Tämä työ esittelee konfiguraatiokielen, jolla voidaan rakentaa data- ja hakumallit käyttäen korkean abstraktiotason käsitteitä. Kieltä varten on kehitetty kääntäjä, joka tuottaa sumealle hakujärjestelmälle sekä oliomallin tiedon tallennusta varten että Java-kielellä toteutetun hakumallin, joka puolestaan voidaan kääntää ja ottaa käyttöön ajonaikaisesti. Konfiguraatiokieli poistaa tarpeen käyttää asiakaskohtaista, käsin ohjelmoitua hakumallia. Lisäksi data- ja hakumallien konsistenssi voidaan tarkastaa automaattisesti käännöksen yhteydessä. Hakumallin suorituskykyoptimointi helpottuu merkittävästi, koska malli voidaan vaihtaa käynnistämättä järjestelmää uudestaan.
Description
Supervisor
Soisalon-Soininen, Eljas
Thesis advisor
Hyvönen, Jörkki
Keywords
configuration language, konfiguraatiokieli, fuzzy matching, sumea luku, database, tietokanta, compiler, kääntäjä
Other note
Citation