A Indexing Methods for Approximate Dictionary Searching: Comparative Analysis

Total Page:16

File Type:pdf, Size:1020Kb

A Indexing Methods for Approximate Dictionary Searching: Comparative Analysis A Indexing Methods for Approximate Dictionary Searching: Comparative Analysis Leonid Boytsov The primary goal of this paper is to survey state of the art indexing methods for approximate dictionary searching. To improve understanding of the field, we introduce a taxonomy that classifies all methods into direct methods and sequence-based filtering methods. We focus on infrequently updated dictionaries, which are used primarily for retrieval. Therefore, we consider indices that are optimized for retrieval rather than for update. The indices are assumed to be associative, i.e., capable of storing and retrieving auxiliary information, such as string identifiers. All solutions are lossless and guarantee retrieval of strings within a specified edit distance k. Benchmark results are presented for the practically important cases of k = 1, 2, 3. We concentrate on natural language datasets, which include synthetic English and Russian dictionaries, as well as dictionaries of frequent words extracted from the ClueWeb09 collection. In addition, we carry out experiments with dictionaries containing DNA sequences. The paper is concluded with a discussion of benchmark results and directions for future research. Categories and Subject Descriptors: F.2.2 [Analysis of algorithms and problem complexity]: Non- numerical algorithms and problems—Pattern matching; H.3.3 [Information storage and retrieval]: In- formation search and retrieval General Terms: Algorithms, Experimentation, Performance Additional Key Words and Phrases: approximate searching, Levenshtein distance, Damerau-Levenshtein distance, frequency distance, neighborhood generation, q-gram, q-sample, metric trees, trie, k-errata tree, frequency vector trie, agrep, NR-grep. ACM Reference Format: ACM J. Exp. Algor. 0, 0, Article A ( 00), 92 pages. DOI = 10.1145/0000000.0000000 http://doi.acm.org/10.1145/0000000.0000000 As computers are used in an ever-widening variety of lexical processing tasks, the problem of error detection and correction becomes more critical. Mere volume, if nothing else, will prevent the employment of manual detection and correction procedures. Damerau [1964] 1. INTRODUCTION Detection and correction of errors is a challenging task, which gave rise to a vari- ety of approximate search algorithms. At present, these algorithms are used in spell- checkers [Zamora et al. 1981; Kukich 1992; Brill and Moore 2000; Wilbur et al. 2006], Author’s address: 11710 Old Georgetown Rd, Unit 612, North Bethesda, MD, 20852, USA; e-mail: [email protected]. Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies show this notice on the first page or initial screen of a display along with the full citation. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is per- mitted. To copy otherwise, to republish, to post on servers, to redistribute to lists, or to use any component of this work in other works requires prior specific permission and/or a fee. Permissions may be requested from Publications Dept., ACM, Inc., 2 Penn Plaza, Suite 701, New York, NY 10121-0701 USA, fax +1 (212) 869-0481, or [email protected]. c 00 ACM 1084-6654/00/-ARTA $10.00 DOI 10.1145/0000000.0000000 http://doi.acm.org/10.1145/0000000.0000000 ACM Journal of Experimental Algorithmics, Vol. 0, No. 0, Article A, Publication date: 00. A:2 Leonid Boytsov computer-aided translation systems (e.g., Trados1), optical character recognition sys- tems [Ford et al. 2001], spoken-text recognition and retrieval systems [Vintsyuk 1968; Velichko and Zagoruyko 1970; Ng and Zue 2000; Glass 2003], computational biology [Gusfield 1999; Ozturk and Ferhatosmanoglu 2003; Kahveci et al. 2004], phonology [Covington 1996; Kondrak 2003], and for phonetic matching [Zobel and Dart 1996]. Approximate dictionary searching is important to computer security, where it can be used to identify “weak” passwords susceptible to a dictionary attack [Manber and Wu 1994a]. Another important application is a detection of similar domain names that are registered mostly for typo-squatting [Moore and Edelman 2010]. This is also fre- quently required in disputes over almost identical domain names, particularly when brand names are involved.2 Along with other sources of corrupt data, such as recognition of spoken and printed text, a lot of errors are attributable to the human factor, i.e., cognitive or mechanical errors. In particular, English orthography is notorious for its inconsistency and, there- fore, poses significant challenges. For instance, one of the most commonly misspelled words is “definitely”. Though apparently simple, it is often written as “definatly” [Collins 2009]. An example of a frequent mechanical error is reversal of adjacent characters, known as a transposition. Transpositions account for 2-13 percent of all misspelling errors [Peterson 1986]. Therefore, it is important to consider transposition-aware methods. Search methods can be classified into on-line and off-line methods. On-line search methods include algorithms for finding approximate pattern occurrences in a text that cannot be preprocessed and indexed. A well-known on-line search algorithm is based on the dynamic programming approach [Sellers 1974]. It is O (n m) in time and O(n) in space, where n and m are the lengths of a pattern and a text,· respectively. The on- line search problem was extensively studied and a number of algorithms improving the classic solution were suggested, including simulation of non-deterministic finite automata (NFA) [Wu and Manber 1992b; Navarro and Raffinot 2000; Navarro 2001b], simulation of deterministic finite automata (DFA) [Ukkonen 1985b; Melichar 1996; Kurtz 1996; Navarro 1997b], and bit-parallel computation of the dynamic program- ming matrix [Myers 1999; Hyyro¨ 2005]. However, the running time of all on-line search methods is proportional to the text size. Given the volume of textual data, this approach is inefficient. The necessity of much faster retrieval tools motivated development of methods that rely on text pre- processing to create a search index. These search methods are known as off-line or indexing search methods. There are two types of indexing search methods: sequence-oriented methods and word-oriented methods. Sequence-oriented methods find arbitrary substrings within a specified edit distance. Word-oriented methods operate on a text that consists of strings divided by separators. Unlike sequence-oriented methods, they are designed to find only complete strings (within a specified edit distance). As a result, a word- oriented index would fail to find the misspelled string “wiki pedia” using “wikipedia” as the search pattern (if one error is allowed). In the case of natural languages – on which we focus in this survey – this is a reasonable restriction. The core element of a word-oriented search method is a dictionary. The dictionary is a collection of distinct searchable strings (or string sequences) extracted from the text. Dictionary strings are usually indexed for faster access. A typical dictionary index allows for exact search and, occasionally, for prefix search. In this survey, we review 1http://trados.com 2A 2006 dispute on domains telefonica.cl´ and telefonica.cl resulted in court canceling the “accented” domain version, because it was too similar to the original one [Zaliznyak 2006]. ACM Journal of Experimental Algorithmics, Vol. 0, No. 0, Article A, Publication date: 00. Indexing Methods for Approximate Dictionary Searching: Comparative Analysis A:3 associative methods that allow for an approximate dictionary search. Given the search pattern p and a maximum allowed edit distance k, these methods retrieve all dictionary strings s (as well as associated data) such that the distance between p and s is less than or equal to k. One approach to sequence-oriented searching also relies on dictionary matching. During indexing, all unique text substrings with lengths in a given interval (e.g., from 5 to 10) are identified. For each unique substring s, the indexing algorithm compiles the list of positions where s occurs in the text. Finally, all unique substrings are combined into a dictionary, which is used to retrieve occurrence lists efficiently. Although this method is not space efficient, it can be used for retrieval of DNA sequences. The problem of index-based approximate string searching, though not as well stud- ied as on-line string searching, attracted substantial attention from practitioners and scientists. There are many experimental, open source, and commercial word-oriented indexing applications that support approximate searching: Glimpse [Manber and Wu 1994b], dtSearch3, to name but a few. Other examples of software that employ approx- imate dictionary searching are spell-checkers Ispell [Kuenning et al. 1988] and GNU Aspell,4 as well as spoken-text recognition systems: SUMMIT [Zue et al. 1989; Glass 2003],5 Sphinx [Siegler et al. 1997],6 and HTK [Woodland et al. 1994].7. Commonly used indexing approaches to approximate dictionary searching include the following: — Full and partial neighborhood generation [Gorin 1971; Mor and Fraenkel 1982; Du and Chang 1994; Myers 1994; Russo and Oliveira 2005]; — q-gram indices [Angell et al. 1983; Owolabi and McGregor 1988; Jokinen and Ukko- nen 1991; Zobel et al. 1993; Gravano et al. 2001; Carterette and Can 2005; Navarro et al. 2005]; — Prefix trees (tries) [James and Partridge 1973; Klovstad and Mondshein 1975; Baeza- Yates and Gonnet 1990; Ukkonen 1993; Cole et al. 2004; Mihov and Schulz 2004]; — Metric space methods [Baeza-Yates and Navarro 1998; Navarro et al. 2002; Fredriks- son 2007; Figueroa and Fredriksson 2007]. There exist several good surveys on this topic [Hall and Dowling 1980; Peterson 1980; Kukich 1992; Owolabi 1996; Navarro 2001a; Navarro et al. 2001; Sung 2008], yet, none addresses the specifics of dictionary searching in sufficient detail. We aim to fill this gap by presenting a taxonomy of state of the art indexing methods for approx- imate dictionary searching and experimental comparison results.
Recommended publications
  • Weighted Automata Computation of Edit Distances with Consolidations and Fragmentations Mathieu Giraud, Florent Jacquemard
    Weighted Automata Computation of Edit Distances with Consolidations and Fragmentations Mathieu Giraud, Florent Jacquemard To cite this version: Mathieu Giraud, Florent Jacquemard. Weighted Automata Computation of Edit Distances with Consolidations and Fragmentations. Information and Computation, Elsevier, In press, 10.1016/j.ic.2020.104652. hal-01857267v4 HAL Id: hal-01857267 https://hal.inria.fr/hal-01857267v4 Submitted on 16 Oct 2019 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. Weighted Automata Computation of Edit Distances with Consolidations and Fragmentations Mathieu Girauda, Florent Jacquemardb aCRIStAL, UMR 9189 CNRS, Univ. Lille, France. [email protected] bINRIA, Paris, France. [email protected] Abstract We study edit distances between strings, based on operations such as character substi- tutions, insertions, deletions and additionally consolidations and fragmentations. The two latter operations transform a sequence of characters into one character and vice- versa. They correspond to the compression and expansion in Dynamic Time-Warping algorithms for speech recognition and are also used for the formal analysis of written music. We show that such edit distances are not computable in general, and propose weighted automata constructions to compute an edit distance taking into account both consolidations and deletions, or both fragmentations and insertions.
    [Show full text]
  • Algorithms for Approximate String Matching Petro Protsyk (28 October 2016) Agenda
    Algorithms for approximate string matching Petro Protsyk (28 October 2016) Agenda • About ZyLAB • Overview • Algorithms • Brute-force recursive Algorithm • Wagner and Fischer Algorithm • Algorithms based on Automaton • Bitap • Q&A About ZyLAB ZyLAB is a software company headquartered in Amsterdam. In 1983 ZyLAB was the first company providing a full-text search program for MS-DOS called ZyINDEX In 1991 ZyLAB released ZyIMAGE software bundle that included a fuzzy string search algorithm to overcome scanning and OCR errors. Currently ZyLAB develops eDiscovery and Information Governance solutions for On Premises, SaaS and Cloud installations. ZyLAB continues to develop new versions of its proprietary full-text search engine. 3 About ZyLAB • We develop for Windows environments only, including Azure • Software developed in C++, .Net, SQL • Typical clients are from law enforcement, intelligence, fraud investigators, law firms, regulators etc. • FTC (Federal Trade Commission), est. >50 TB (peak 2TB per day) • US White House (all email of presidential administration), est. >20 TB • Dutch National Police, est. >20 TB 4 ZyLAB Search Engine Full-text search engine • Boolean and Proximity search operators • Support for Wildcards, Regular Expressions and Fuzzy search • Support for numeric and date searches • Search in document fields • Near duplicate search 5 ZyLAB Search Engine • Highly parallel indexing and searching • Can index Terabytes of data and millions of documents • Can be distributed • Supports 100+ languages, Unicode characters 6 Overview Approximate string matching or fuzzy search is the technique of finding strings in text or dictionary that match given pattern approximately with respect to chosen edit distance. The edit distance is the number of primitive operations necessary to convert the string into an exact match.
    [Show full text]
  • Fast Approximate Search in Large Dictionaries
    Fast Approximate Search in Large Dictionaries Stoyan Mihov∗ Klaus U. Schulz† Bulgarian Academy of Sciences University of Munich The need to correct garbled strings arises in many areas of natural language processing. If a dictionary is available that covers all possible input tokens, a natural set of candidates for correcting an erroneous input P is the set of all words in the dictionary for which the Levenshtein distance to P does not exceed a given (small) bound k. In this article we describe methods for efficiently selecting such candidate sets. After introducing as a starting point a basic correction method based on the concept of a “universal Levenshtein automaton,” we show how two filtering methods known from the field of approximate text search can be used to improve the basic procedure in a significant way. The first method, which uses standard dictionaries plus dictionaries with reversed words, leads to very short correction times for most classes of input strings. Our evaluation results demonstrate that correction times for fixed-distance bounds depend on the expected number of correction candidates, which decreases for longer input words. Similarly the choice of an optimal filtering method depends on the length of the input words. 1. Introduction In this article, we face a situation in which we receive some input in the form of strings that may be garbled. A dictionary that is assumed to contain all possible correct input strings is at our disposal. The dictionary is used to check whether a given input is correct. If it is not, we would like to select the most plausible correction candidates from the dictionary.
    [Show full text]
  • Chapter 1 OBTAINING VALUABLE PRECISION-RECALL
    i ii Chapter 1 OBTAINING VALUABLE PRECISION-RECALL TRADE-OFFS FOR FUZZY SEARCHING LARGE E-MAIL CORPORA Kyle Porter and Slobodan Petrovi´c Abstract Fuzzy search is used in digital forensics to find words stringologically similar to a chosen keyword, but a common complaint is its high rate of false positives in big data environments. This work describes the design and implementation of cedas, a novel constrained edit distance approx- imate string matching algorithm which provides complete control over the type and number of elementary edit operations that are considered in an approximate match. The flexibility of this search algorithm is unique to cedas, and allows for fine-tuned control of precision-recall trade-offs. Specifically, searches can be constrained to a union of matches resulting from any exact edit operation combination of i insertions, e deletions, and s substitutions performed on the search term. By utilizing this flex- ibility, we experimentally show which edit operation constraints should be applied to achieve valuable precision-recall trade-offs for fuzzy search- ing an inverted index of a large English e-mail dataset by searching the Enron corpus. We identified which constraints produce relatively high combinations of precision and recall, the combinations of edit opera- tions which cause precision to sharply drop, and the combination of edit operation constraints which maximize recall without greatly sacri- ficing precision. We claim these edit operation constraints are valuable for the middle stages of an investigation as precision has greater value in the early stages and recall becomes more valuable in the latter stages. Keywords: E-mail forensics, fuzzy keyword search, edit distance, constraints, ap- proximate string matching, finite automata 1.
    [Show full text]
  • Unary Words Have the Smallest Levenshtein K-Neighbourhoods
    Unary Words Have the Smallest Levenshtein k-Neighbourhoods Panagiotis Charalampopoulos Department of Informatics, King’s College London, UK Institute of Informatics, University of Warsaw, Poland [email protected] Solon P. Pissis CWI, Amsterdam, The Netherlands Vrije Universiteit, Amsterdam, The Netherlands ERABLE Team, Lyon, France [email protected] Jakub Radoszewski Institute of Informatics, University of Warsaw, Poland Samsung R&D, Warsaw, Poland [email protected] Tomasz Waleń Institute of Informatics, University of Warsaw, Poland [email protected] Wiktor Zuba Institute of Informatics, University of Warsaw, Poland [email protected] Abstract The edit distance (a.k.a. the Levenshtein distance) between two words is defined as the minimum number of insertions, deletions or substitutions of letters needed to transform one word into another. The Levenshtein k-neighbourhood of a word w is the set of words that are at edit distance at most k from w. This is perhaps the most important concept underlying BLAST, a widely-used tool for comparing biological sequences. A natural combinatorial question is to ask for upper and lower bounds on the size of this set. The answer to this question has important algorithmic implications as well. Myers notes that ”such bounds would give a tighter characterisation of the running time of the algorithm” behind BLAST. We show that the size of the Levenshtein k-neighbourhood of any word of length n over an arbitrary alphabet is not smaller than the size of the Levenshtein k-neighbourhood of a unary word of length n, thus providing a tight lower bound on the size of the Levenshtein k-neighbourhood.
    [Show full text]
  • Fast Approximate Search in Large Dictionaries
    Fast approximate search in large dictionaries Stoyan Mihov Central Laboratory for Parallel Process- ing, Bulgarian Academy of Sciences Klaus U. Schulz Centrum fur¨ Informations- und Sprachverarbeitung, University of Munich The need to correct garbled strings arises in many areas of natural language processing. If a dictionary is available that covers all possible input tokens, a natural set of candidates for correcting an erroneous input P is the set of all words in the dictionary for which the Levenshtein distance to P does not exceed a given (small) bound k. In this paper we describe methods for efficiently selecting such candidate sets. After introducing as a starting point a basic correction method based on the concept of a \universal Levenshtein automaton", we show how two filtering methods known from the field of approximate text search can be used to improve the basic procedure in a significant way. The first method, which uses standard dictionaries plus dictionaries with reversed words, leads to very short correction times for most classes of input strings. Our evaluation results demonstrate that correction times for fixed distance bounds depend on the expected number of correction candidates, which decreases for longer input words. Similarly the choice of an optimal filtering method depends on the length of the input words.1 Keywords: String correction, OCR-correction, electronic dictionaries, approximate string matching, filtering methods, similarity keys, Levenshtein distance, finite-state tech- niques. 1 Introduction In this paper, we face a situation where we receive some input in the form of strings that may be garbled. A dictionary that is assumed to contain all possible correct input strings is at our disposal.
    [Show full text]
  • Automata Processor Architecture and Applications: a Survey
    International Journal of Grid and Distributed Computing Vol. 9, No. 4 (2016), pp.53-66 http://dx.doi.org/10.14257/ijgdc.2016.9.4.05 Automata Processor Architecture and Applications: A Survey Nourah A.Almubarak, Anwar Alshammeri, Imtiaz Ahmad Department of Computer Engineering, Kuwait University, Kuwait [email protected], [email protected], [email protected] Abstract Finite automata-based algorithms are becoming increasingly important for a wide range of application domains to process large volumes of unstructured data. Current processor technologies are not well suited to accelerate massively parallel operations related to the search and analysis of complex and unstructured data streams pattern identification problems. Hardware designers are exploring new processing technologies to accelerate pattern identification problems. One such technology is the recently introduced Micron Automata Processor (AP), which is a novel and powerful reconfigurable non-von Neumann processor that can be used for direct implementation of multiple Non-deterministic Finite Automata (NFAs) running concurrently on the same input stream. AP has a linear-scalable, two-dimensional MISD (Multiple Instruction Single Data) fabric comprised of thousands of interconnected small processing elements called State Transition Elements (STEs) to analyze complex data streams simultaneously to accelerate solving massively complex problems. The AP is promising future technology which provides new operations and new avenues for exploiting parallelism to accelerate the growing and important class of automata-based algorithms. In this paper, we present a survey of the state-of-the-art in automata processor based hardware accelerators. We describe AP hardware architecture, its programming environments, summarize its current successful applications in a wide range of diverse fields and explore future research trends and opportunities in this increasingly important area of automata computing paradigm.
    [Show full text]
  • Accelerating Decision Tree Ensemble Inference with an Automata Representation
    Accelerating Decision Tree Ensemble Inference with an Automata Representation Tommy James Tracy II B.S., University of Virginia (2010) M.E., University of Virginia (2014) A Dissertation Presented to the Graduate Faculty of the University of Virginia in Candidacy for the Degree of Doctor of Philosophy Department of Computer Engineering University of Virginia August, 2019 ○c Copyright by Tommy James Tracy II 2019 All Rights Reserved Abstract Decision tree ensembles including Random Forests and Boosted Regression Trees have become ubiquitous in the research domains of medicine, natural sciences, natural lan- guage processing, and information retrieval. With increasing data rates and new research into larger ensembles, accelerating the inference rate and reducing the power consumption of this class of machine learning models is critical. It also presents a variety of technical challenges. The random memory access pattern and execution divergence of decision tree traversal results in memory-bound von Neumann imple- mentations. In this dissertation, we present a series of novel techniques to accelerate decision tree ensembles, by representing their constituent trees as spatial automata that exhibit sequential streaming memory access, and can be executed with high parallelism. We develop novel algorithms and an open source automata framework that allow machine learning and computer architecture researchers to accelerate their applications, as well as stimulate further research into the field of automata-based machine learning. Finally, we present an application study of these techniques and tools with a boosted regression tree-based Learn-to-Rank document ranking model. Acknowledgments This dissertation would not have been possible without the mentorship, guidance, and love of many people and organizations.
    [Show full text]
  • Algorithms and Frameworks for Accelerating Security Applications on HPC Platforms
    Algorithms and Frameworks for Accelerating Security Applications on HPC Platforms Xiaodong Yu Dissertation submitted to the Faculty of the Virginia Polytechnic Institute and State University in partial fulfillment of the requirements for the degree of Doctor of Philosophy in Computer Science & Applications Danfeng (Daphne) Yao, Chair Michela Becchi Ali R. Butt Matthew Hicks Xinming (Simon) Ou August 1, 2019 Blacksburg, Virginia Keywords: Cybersecurity, HPC, GPU, Intrusion Detection, Automata Processor, Android Program Analysis, Cache Side-Channel Attack Copyright 2019, Xiaodong Yu Algorithms and Frameworks for Accelerating Security Applications on HPC Platforms Xiaodong Yu (ABSTRACT) Typical cybersecurity solutions emphasize on achieving defense functionalities. However, ex- ecution efficiency and scalability are equally important, especially for real-world deployment. Straightforward mappings of cybersecurity applications onto HPC platforms may significantly un- derutilize the HPC devices’ capacities. On the other hand, the sophisticated implementations are quite difficult: they require both in-depth understandings of cybersecurity domain-specific charac- teristics and HPC architecture and system model. In our work, we investigate three sub-areas in cybersecurity, including mobile software security, network security, and system security. They have the following performance issues, respectively: 1) The flow- and context-sensitive static analysis for the large and complex Android APKs are incredibly time-consuming. Existing CPU-only frameworks/tools have to set a timeout threshold to cease the program analysis to trade the precision for performance. 2) Network intrusion detection systems (NIDS) use automata processing as its searching core and requires line-speed processing. However, achieving high-speed automata processing is exceptionally difficult in both algorithm and implementation aspects. 3) It is unclear how the cache configurations impact time-driven cache side-channel attacks’ performance.
    [Show full text]
  • REAPR: Reconfigurable Engine for Automata Processing
    REAPR: Reconfigurable Engine for Automata Processing Ted Xie1, Vinh Dang2, Jack Wadden2, Kevin Skadron2, Mircea Stan1 1Department of Electrical and Computer Engineering, University of Virginia 2Department of Computer Science, University of Virginia fted.xie, vqd8a, wadden, skadron, [email protected] Abstract— Finite automata have proven their usefulness in GAs and the Micron Automata Processor [4] are an ideal high-profile domains ranging from network security to machine target for these workloads. learning. While prior work focused on their applicability for Our goal in this paper is to develop a high throughput and purely regular expression workloads such as antivirus and network security rulesets, recent research has shown that scalable engine for enabling spatial automata processing on automata can optimize the performance for algorithms in other FPGAs, as opposed to prior work which focused purely on areas such as machine learning and even particle physics. regular expressions. To achieve this goal, we have developed Unfortunately, their emulation on traditional CPU architectures REAPR (Reconfigurable Engine for Automata PRocessing), is fundamentally slow and further bottlenecked by memory. a flexible and parameterizable tool that generates RTL to In this paper, we present REAPR: Reconfigurable Engine for Automata PRocessing, a flexible framework that synthesizes emulate finite automata. RTL for automata processing applications as well as I/O to The major contributions of REAPR are the following: handle data transfer to and from the kernel. We show that even • The first effort to characterize automata performance with memory and control flow overheads, FPGAs still enable extremely high-throughput computation of automata workloads for applications other than regular expressions on the compared to other architectures.
    [Show full text]
  • An Experimental Tagalog Finite State Automata Spellchecker with Levenshtein Edit-Distance Feature
    IALP 2019, Shanghai, Nov 15-17, 2019 An experimental Tagalog Finite State Automata spellchecker with Levenshtein edit-distance feature Joseph Marvin R. Imperial Czeritonnie Gail V. Ya-On, Jennifer C. Ureta College of Computing and Information Technologies College of Computer Studies National University De La Salle University Manila, Philippines Manila, Philippines [email protected] [email protected], [email protected] Abstract— In this paper, we present an experimental consider the tense associated with the action word. The development of a spell checker for the Tagalog language past (pangnangdaan), present (pangasalukuyan), and using a set of word list with 300 random root words and future (panghinaharap) tense form are treated different three inflected forms as training data and a two-layered entries in a dictionary system. Say, the word “punta” architecture of combined Deterministic Finite Automaton which means “go to” is a different entry from the word (DFA) with Levenshtein edit-distance. A DFA is used to “pumunta” meaning “went to or move forward”. It can be process strings to identify if it belongs to a certain language space-wasting to create an individual entry for each via the binary result of accept or reject. The Levenshtein inflection. Moreover, there is difficulty in maintaining edit-distance of two strings is the number (k) of deletions, such a system. alterations, insertions between two sequences of characters. The existing Filipino spellcheck solution applied the From the sample trained wordlist, results show that a value of 1 for the edit-distance (k) can be effective in spelling entire spelling rule and guidelines, namely, Komisyon sa Tagalog sentences.
    [Show full text]
  • Towards Differential Privacy for Symbolic Systems
    1 Towards Differential Privacy for Symbolic Systems Austin Jones, Kevin Leahy, Matthew Hale Abstract In this paper, we develop a privacy implementation for symbolic control systems. Such systems generate sequences of non-numerical data, and these sequences can be represented by words or strings over a finite alphabet. This work uses the framework of differential privacy, which is a statistical notion of privacy that makes it unlikely that privatized data will reveal anything meaningful about underlying sensitive data. To bring differential privacy to symbolic control systems, we develop an exponential mechanism that approximates a sensitive word using a randomly chosen word that is likely to be near it. The notion of “near” is given by the Levenshtein distance, which counts the number of operations required to change one string into another. We then develop a Levenshtein automaton implementation of our exponential mechanism that efficiently generates privatized output words. This automaton has letters as its states, and this work develops transition probabilities among these states that give overall output words obeying the distribution required by the exponential mechanism. Numerical results are provided to demonstrate this technique for both strings of English words and runs of a deterministic transition system, demonstrating in both cases that privacy can be provided in this setting while maintaining a reasonable degree of accuracy. I. INTRODUCTION Control systems appear in a wide range of applications and are used in a wide range of problem formulations. As control applications have become increasingly reliant upon user data, there has arisen interest in protecting individuals’ privacy in some applications, e.g., in smart power grids [1], [2].
    [Show full text]