Efficient Combinator Parsing for Natural-Language
Total Page:16
File Type:pdf, Size:1020Kb
Load more
Recommended publications
-
Design and Evaluation of an Auto-Memoization Processor
DESIGN AND EVALUATION OF AN AUTO-MEMOIZATION PROCESSOR Tomoaki TSUMURA Ikuma SUZUKI Yasuki IKEUCHI Nagoya Inst. of Tech. Toyohashi Univ. of Tech. Toyohashi Univ. of Tech. Gokiso, Showa, Nagoya, Japan 1-1 Hibarigaoka, Tempaku, 1-1 Hibarigaoka, Tempaku, [email protected] Toyohashi, Aichi, Japan Toyohashi, Aichi, Japan [email protected] [email protected] Hiroshi MATSUO Hiroshi NAKASHIMA Yasuhiko NAKASHIMA Nagoya Inst. of Tech. Academic Center for Grad. School of Info. Sci. Gokiso, Showa, Nagoya, Japan Computing and Media Studies Nara Inst. of Sci. and Tech. [email protected] Kyoto Univ. 8916-5 Takayama Yoshida, Sakyo, Kyoto, Japan Ikoma, Nara, Japan [email protected] [email protected] ABSTRACT for microprocessors, and it made microprocessors faster. But now, the interconnect delay is going major and the This paper describes the design and evaluation of main memory and other storage units are going relatively an auto-memoization processor. The major point of this slower. In near future, high clock rate cannot achieve good proposal is to detect the multilevel functions and loops microprocessor performance by itself. with no additional instructions controlled by the compiler. Speedup techniques based on ILP (Instruction-Level This general purpose processor detects the functions and Parallelism), such as superscalar or SIMD, have been loops, and memoizes them automatically and dynamically. counted on. However, the effect of these techniques has Hence, any load modules and binary programs can gain proved to be limited. One reason is that many programs speedup without recompilation or rewriting. have little distinct parallelism, and it is pretty difficult for We also propose a parallel execution by multiple compilers to come across latent parallelism. -
Lexical and Syntactic Ambiguity As a Source of Humor: the Case of Newspaper Headlines
Lexical and syntactic ambiguity as a source of humor: The case of newspaper headlines CHIARA BUCARIA Abstract The paper analyzes some forms of linguistic ambiguity in English in a specific register, i.e. newspaper headlines. In particular, the focus of the research is on examples of lexical and syntactic ambiguity that result in sources of voluntary or involuntary humor. The study is based on a corpus of 135 verbally ambiguous headlines found on web sites presenting humor- ous bits of information. The linguistic phenomena that contribute to create this kind of semantic confusion in headlines will be analyzed and divided into the three main categories of lexical, syntactic, and phonological ambi- guity, and examples from the corpus will be discussed for each category. The main results of the study were that, firstly, contrary to the findings of previous research on jokes, syntactically ambiguous headlines were found in good percentage in the corpus and that this might point to di¤erences in genre. Secondly, two new configurations for the processing of the disjunctor/connector order were found. In the first of these configurations the disjunctor appears before the connector, instead of being placed after or coinciding with the ambiguous element, while in the second one two ambig- uous elements are present, each of which functions both as a connector and a disjunctor. Keywords: Ambiguity; headlines; lexical; syntactic; disjunctor; connector. Introduction The present paper sets out to analyze some forms of linguistic ambiguity in English in a specific register, i.e. newspaper headlines. In particular, the Humor 17–3 (2004), 279–309 0933–1719/04/0017–0279 6 Walter de Gruyter 280 C. -
Parallel Backtracking with Answer Memoing for Independent And-Parallelism∗
Under consideration for publication in Theory and Practice of Logic Programming 1 Parallel Backtracking with Answer Memoing for Independent And-Parallelism∗ Pablo Chico de Guzman,´ 1 Amadeo Casas,2 Manuel Carro,1;3 and Manuel V. Hermenegildo1;3 1 School of Computer Science, Univ. Politecnica´ de Madrid, Spain. (e-mail: [email protected], fmcarro,[email protected]) 2 Samsung Research, USA. (e-mail: [email protected]) 3 IMDEA Software Institute, Spain. (e-mail: fmanuel.carro,[email protected]) Abstract Goal-level Independent and-parallelism (IAP) is exploited by scheduling for simultaneous execution two or more goals which will not interfere with each other at run time. This can be done safely even if such goals can produce multiple answers. The most successful IAP implementations to date have used recomputation of answers and sequentially ordered backtracking. While in principle simplifying the implementation, recomputation can be very inefficient if the granularity of the parallel goals is large enough and they produce several answers, while sequentially ordered backtracking limits parallelism. And, despite the expected simplification, the implementation of the classic schemes has proved to involve complex engineering, with the consequent difficulty for system maintenance and extension, while still frequently running into the well-known trapped goal and garbage slot problems. This work presents an alternative parallel backtracking model for IAP and its implementation. The model fea- tures parallel out-of-order (i.e., non-chronological) backtracking and relies on answer memoization to reuse and combine answers. We show that this approach can bring significant performance advantages. Also, it can bring some simplification to the important engineering task involved in implementing the backtracking mechanism of previous approaches. -
Derivatives of Parsing Expression Grammars
Derivatives of Parsing Expression Grammars Aaron Moss Cheriton School of Computer Science University of Waterloo Waterloo, Ontario, Canada [email protected] This paper introduces a new derivative parsing algorithm for recognition of parsing expression gram- mars. Derivative parsing is shown to have a polynomial worst-case time bound, an improvement on the exponential bound of the recursive descent algorithm. This work also introduces asymptotic analysis based on inputs with a constant bound on both grammar nesting depth and number of back- tracking choices; derivative and recursive descent parsing are shown to run in linear time and constant space on this useful class of inputs, with both the theoretical bounds and the reasonability of the in- put class validated empirically. This common-case constant memory usage of derivative parsing is an improvement on the linear space required by the packrat algorithm. 1 Introduction Parsing expression grammars (PEGs) are a parsing formalism introduced by Ford [6]. Any LR(k) lan- guage can be represented as a PEG [7], but there are some non-context-free languages that may also be represented as PEGs (e.g. anbncn [7]). Unlike context-free grammars (CFGs), PEGs are unambiguous, admitting no more than one parse tree for any grammar and input. PEGs are a formalization of recursive descent parsers allowing limited backtracking and infinite lookahead; a string in the language of a PEG can be recognized in exponential time and linear space using a recursive descent algorithm, or linear time and space using the memoized packrat algorithm [6]. PEGs are formally defined and these algo- rithms outlined in Section 3. -
The Meaning of Language
01:615:201 Introduction to Linguistic Theory Adam Szczegielniak The Meaning of Language Copyright in part: Cengage learning The Meaning of Language • When you know a language you know: • When a word is meaningful or meaningless, when a word has two meanings, when two words have the same meaning, and what words refer to (in the real world or imagination) • When a sentence is meaningful or meaningless, when a sentence has two meanings, when two sentences have the same meaning, and whether a sentence is true or false (the truth conditions of the sentence) • Semantics is the study of the meaning of morphemes, words, phrases, and sentences – Lexical semantics: the meaning of words and the relationships among words – Phrasal or sentential semantics: the meaning of syntactic units larger than one word Truth • Compositional semantics: formulating semantic rules that build the meaning of a sentence based on the meaning of the words and how they combine – Also known as truth-conditional semantics because the speaker’ s knowledge of truth conditions is central Truth • If you know the meaning of a sentence, you can determine under what conditions it is true or false – You don’ t need to know whether or not a sentence is true or false to understand it, so knowing the meaning of a sentence means knowing under what circumstances it would be true or false • Most sentences are true or false depending on the situation – But some sentences are always true (tautologies) – And some are always false (contradictions) Entailment and Related Notions • Entailment: one sentence entails another if whenever the first sentence is true the second one must be true also Jack swims beautifully. -
Dynamic Programming Via Static Incrementalization 1 Introduction
Dynamic Programming via Static Incrementalization Yanhong A. Liu and Scott D. Stoller Abstract Dynamic programming is an imp ortant algorithm design technique. It is used for solving problems whose solutions involve recursively solving subproblems that share subsubproblems. While a straightforward recursive program solves common subsubproblems rep eatedly and of- ten takes exp onential time, a dynamic programming algorithm solves every subsubproblem just once, saves the result, reuses it when the subsubproblem is encountered again, and takes p oly- nomial time. This pap er describ es a systematic metho d for transforming programs written as straightforward recursions into programs that use dynamic programming. The metho d extends the original program to cache all p ossibly computed values, incrementalizes the extended pro- gram with resp ect to an input increment to use and maintain all cached results, prunes out cached results that are not used in the incremental computation, and uses the resulting in- cremental program to form an optimized new program. Incrementalization statically exploits semantics of b oth control structures and data structures and maintains as invariants equalities characterizing cached results. The principle underlying incrementalization is general for achiev- ing drastic program sp eedups. Compared with previous metho ds that p erform memoization or tabulation, the metho d based on incrementalization is more powerful and systematic. It has b een implemented and applied to numerous problems and succeeded on all of them. 1 Intro duction Dynamic programming is an imp ortant technique for designing ecient algorithms [2, 44 , 13 ]. It is used for problems whose solutions involve recursively solving subproblems that overlap. -
Automated Detection of Syntactic Ambiguity Using Shallow Parsing and Web Data by Reza Khezri [email protected]
DEPARTMENT OF PHILOSOPHY, LINGUISTICS AND THEORY OF SCIENCE Automated Detection of Syntactic Ambiguity Using Shallow Parsing and Web Data By Reza Khezri [email protected] Master’s Thesis, 30 credits Master’s Programme in Language Technology Autumn, 2017 Supervisor: Prof. Staffan Larsson Keywords: ambiguity, ambiguity detection tool, ambiguity resolution, syntactic ambiguity, Shallow Parsing, Google search API, PythonAnywhere, PP attachment ambiguity Abstract: Technical documents are mostly written in natural languages and they are highly ambiguity-prone due to the fact that ambiguity is an inevitable feature of natural languages. Many researchers have urged technical documents to be free from ambiguity to avoid unwanted and, in some cases, disastrous consequences ambiguity and misunderstanding can have in technical context. Therefore the need for ambiguity detection tools to assist writers with ambiguity detection and resolution seems indispensable. The purpose of this thesis work is to propose an automated approach in detection and resolution of syntactic ambiguity. AmbiGO is the name of the prototyping web application that has been developed for this thesis which is freely available on the web. The hope is that a developed version of AmbiGO will assist users with ambiguity detection and resolution. Currently AmbiGO is capable of detecting and resolving three types of syntactic ambiguity, namely analytical, coordination and PP attachment types. AmbiGO uses syntactic parsing to detect ambiguity patterns and retrieves frequency counts from Google for each possible reading as a segregate for semantic analysis. Such semantic analysis through Google frequency counts has significantly improved the precision score of the tool’s output in all three ambiguity detection functions. -
CS 432 Fall 2020 Top-Down (LL) Parsing
CS 432 Fall 2020 Mike Lam, Professor Top-Down (LL) Parsing Compilation Current focus "Back end" Source code Tokens Syntax tree Machine code char data[20]; 7f 45 4c 46 01 int main() { 01 01 00 00 00 float x 00 00 00 00 00 = 42.0; ... return 7; } Lexing Parsing Code Generation & Optimization "Front end" Review ● Recognize regular languages with finite automata – Described by regular expressions – Rule-based transitions, no memory required ● Recognize context-free languages with pushdown automata – Described by context-free grammars – Rule-based transitions, MEMORY REQUIRED ● Add a stack! Segue KEY OBSERVATION: Allowing the translator to use memory to track parse state information enables a wider range of automated machine translation. Chomsky Hierarchy of Languages Recursively enumerable Context-sensitive Context-free Most useful Regular for PL https://en.wikipedia.org/wiki/Chomsky_hierarchy Parsing Approaches ● Top-down: begin with start symbol (root of parse tree), and gradually expand non-terminals – Stack contains leaves that still need to be expanded ● Bottom-up: begin with terminals (leaves of parse tree), and gradually connect using non-terminals – Stack contains roots of subtrees that still need to be connected A V = E Top-down a E + E Bottom-up V V b c Top-Down Parsing root = createNode(S) focus = root A → V = E push(null) V → a | b | c token = nextToken() E → E + E loop: | V if (focus is non-terminal): B = chooseRuleAndExpand(focus) for each b in B.reverse(): focus.addChild(createNode(b)) push(b) A focus = pop() else if (token -
Total Parser Combinators
Total Parser Combinators Nils Anders Danielsson School of Computer Science, University of Nottingham, United Kingdom [email protected] Abstract The library has an interface which is very similar to those of A monadic parser combinator library which guarantees termination classical monadic parser combinator libraries. For instance, con- of parsing, while still allowing many forms of left recursion, is sider the following simple, left recursive, expression grammar: described. The library’s interface is similar to those of many other term :: factor term '+' factor parser combinator libraries, with two important differences: one is factor ::D atom j factor '*' atom that the interface clearly specifies which parts of the constructed atom ::D numberj '(' term ')' parsers may be infinite, and which parts have to be finite, using D j dependent types and a combination of induction and coinduction; We can define a parser which accepts strings from this grammar, and the other is that the parser type is unusually informative. and also computes the values of the resulting expressions, as fol- The library comes with a formal semantics, using which it is lows (the combinators are described in Section 4): proved that the parser combinators are as expressive as possible. mutual The implementation is supported by a machine-checked correct- term factor ness proof. D ] term >> λ n j D 1 ! Categories and Subject Descriptors D.1.1 [Programming Tech- tok '+' >> λ D ! niques]: Applicative (Functional) Programming; E.1 [Data Struc- factor >> λ n D 2 ! tures]; F.3.1 [Logics and Meanings of Programs]: Specifying and return .n n / 1 C 2 Verifying and Reasoning about Programs; F.4.2 [Mathematical factor atom Logic and Formal Languages]: Grammars and Other Rewriting D ] factor >> λ n Systems—Grammar types, Parsing 1 j tok '*' >>D λ ! D ! General Terms Languages, theory, verification atom >> λ n2 return .n n / D ! 1 ∗ 2 Keywords Dependent types, mixed induction and coinduction, atom number parser combinators, productivity, termination D tok '(' >> λ j D ! ] term >> λ n 1. -
Studies in Linguistics
STiL Studies in Linguistics Proceedings XXXV Incontro di Grammatica Generativa Vol 3. 2009 CISCL CENTRO INTERDIPARTIMENTALE DI STUDI COGNITIVI SUL LINGUAGGIO Interdepartmental Centre for Cognitive Studies on Language Facoltà di Lettere e Filosofia UNIVERSITÀ DEGLI STUDI DI SIENA Studies In Linguistics Vol3, 2009 2 STiL Studies in Linguistics Edited by: Vincenzo Moscati Emilio Servidio Correspondence can be addressed to: CISCL – Centro Interdipartimentale di Studi Cognitivi sul Linguaggio Dipartimento di Scienze della Comunicazione Complesso S. Niccolò, Via Roma, 56 I-53100 Siena, Italy or by email at: moscati unisi.it 3 Contents Maria Teresa Guasti, Chiara Branchini, Fabrizio Arosio Agreement in the production of Italian subject and object wh-questions 6 Liliane Haegeman The syntax of conditional clauses 28 Maria Rita Manzini & Leonardo Savoia Mesoclisis in the Imperative: Phonology, Morphology or Syntax? 51 Theresa Biberauer, Anders Holmberg & Ian Roberts Linearization and the Architecture of Grammar: A view from the Final-over- Final Constraint 77 Gloria Cocchi Bantu verbal extensions: a cartographic approach 90 Federica Cognola TopicPs and Relativised Minimality in Mòcheno left periphery 104 Silvio Cruschina & Eva-Maria Remberger Focus Fronting in Sardinian and Sicilian 118 Maria Teresa Espinal & Jaume Mateu On bare nominals and argument structure 131 Irene Franco Stylistic Fronting: a comparative analysis 144 Hanako Fujino The Adnominal Form in Japanese as a Relativization Strategy 158 Ion Giurgea Romanian null objects and gender -
Lightweight Monadic Programming in ML
Lightweight Monadic Programming in ML Nikhil Swamy? Nataliya Gutsy Daan Leijen? Michael Hicksy ?Microsoft Research, Redmond yUniversity of Maryland, College Park Abstract ing [26]. In a monadic type system, if values are given type τ then Many useful programming constructions can be expressed as mon- computations are given type m τ for some monad constructor m. ads. Examples include probabilistic modeling, functional reactive For example, an expression of type IO τ in Haskell represents programming, parsing, and information flow tracking, not to men- a computation that will produce (if it terminates) a value of type tion effectful functionality like state and I/O. In this paper, we τ but may perform effectful operations in the process. Haskell’s present a type-based rewriting algorithm to make programming Monad type class, which requires the bind and unit operations with arbitrary monads as easy as using ML’s built-in support for given above, is blessed with special syntax, the do notation, for state and I/O. Developers write programs using monadic values programming with instances of this class. of type m τ as if they were of type τ, and our algorithm inserts Moggi [22], Filinksi [11], and others have noted that ML pro- the necessary binds, units, and monad-to-monad morphisms so that grams, which are impure and observe a deterministic, call-by-value evaluation order, are inherently monadic. For example, the value the program type checks. Our algorithm, based on Jones’ qualified 0 types, produces principal types. But principal types are sometimes λx.e can be viewed as having type τ ! m τ : the argument problematic: the program’s semantics could depend on the choice type τ is never monadic because x is always bound to a value in of instantiation when more than one instantiation is valid. -
Intercepting Functions for Memoization Arjun Suresh
Intercepting functions for memoization Arjun Suresh To cite this version: Arjun Suresh. Intercepting functions for memoization. Programming Languages [cs.PL]. Université Rennes 1, 2016. English. NNT : 2016REN1S106. tel-01410539v2 HAL Id: tel-01410539 https://tel.archives-ouvertes.fr/tel-01410539v2 Submitted on 11 May 2017 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. ANNEE´ 2016 THESE` / UNIVERSITE´ DE RENNES 1 sous le sceau de l’Universite´ Bretagne Loire En Cotutelle Internationale avec pour le grade de DOCTEUR DE L’UNIVERSITE´ DE RENNES 1 Mention : Informatique Ecole´ doctorale Matisse present´ ee´ par Arjun SURESH prepar´ ee´ a` l’unite´ de recherche INRIA Institut National de Recherche en Informatique et Automatique Universite´ de Rennes 1 These` soutenue a` Rennes Intercepting le 10 Mai, 2016 devant le jury compose´ de : Functions Fabrice RASTELLO Charge´ de recherche Inria / Rapporteur Jean-Michel MULLER for Directeur de recherche CNRS / Rapporteur Sandrine BLAZY Memoization Professeur a` l’Universite´ de Rennes 1 / Examinateur Vincent LOECHNER Maˆıtre de conferences,´ Universite´ Louis Pasteur, Stras- bourg / Examinateur Erven ROHOU Directeur de recherche INRIA / Directeur de these` Andre´ SEZNEC Directeur de recherche INRIA / Co-directeur de these` If you save now you might benefit later.