3,859 research outputs found

    PonyGE2: Grammatical Evolution in Python

    Full text link
    Grammatical Evolution (GE) is a population-based evolutionary algorithm, where a formal grammar is used in the genotype to phenotype mapping process. PonyGE2 is an open source implementation of GE in Python, developed at UCD's Natural Computing Research and Applications group. It is intended as an advertisement and a starting-point for those new to GE, a reference for students and researchers, a rapid-prototyping medium for our own experiments, and a Python workout. As well as providing the characteristic genotype to phenotype mapping of GE, a search algorithm engine is also provided. A number of sample problems and tutorials on how to use and adapt PonyGE2 have been developed.Comment: 8 pages, 4 figures, submitted to the 2017 GECCO Workshop on Evolutionary Computation Software Systems (EvoSoft

    Visual Viper: a portable visualization library for streamlined scientific communications.

    Get PDF
    À medida que o sector da saúde passa por uma transformação digital, a afluência de dados de saúde para profissionais de saúde e investigadores tem disparado. A crescente necessidade de criar visualizações de dados para compreender esta informação levou ao desenvolvimento do Visual Viper, uma biblioteca Python destinada a automatizar a visualização de dados, para agilizar o processo frequentemente trabalhoso de gerar visualizações. O Visual Viper usa Vega-Lite, uma gramática de alto nível de gráficos interativos, para criar visualizações a partir de várias fontes de dados de investigação através de uma interface de programação de aplicações ('application programming interface' - API) conveniente. Esta automação poupa tempo e facilita a consistência da comunicação científica. A funcionalidade da biblioteca compreende componentes interligados: começa por obter dados de uma fonte selecionada, segue-se a transformação destes dados para se adequarem aos requisitos de visualização. subsequentemente o Visual Viper renderiza os gráficos usando Vega-Lite e exporta-os para uso na comunicação científica. Este pipeline é implementado utilizando uma arquitetura de 'plugins' modular e extensível, que permite acomodar diferentes fontes de dados e tipos de visualização. Cada etapa permite pode ser modificada de forma independente, possibilitando uma personalização extensa com base em casos de uso específicos e sem afetar a funcionalidade geral da biblioteca. Alguns paradigmas importantes usados no desenvolvimento do Visual Viper incluem a programação orientada a objetos ('object oriented programming' - OOP) e desenvolvimento orientado a testes ('test-driven development' - TDD), ambos proporcionando estrutura, eficiência e funcionalidade. Ao usar OOP, a biblioteca adota uma estrutura clara para o código, tornando-o mais fácil de gerir e manter. Os princípios de encapsulamento, herança e polimorfismo proporcionam eficiência e flexibilidade, enquanto o uso de classes como 'DatasetBuilder', 'ChartNotationBuilder' e 'ChartDeployer' facilitam a reutilização de código. A classe 'DatasetBuilder' é projetada para obter e pré-processar dados de várias fontes, a classe 'ChartNotationBuilder' é responsável por criar o layout do gráfico e estética visual baseada nos dados pré-processados, e a classe 'ChartDeployer' lida com a implantação das visualizações finalizadas. Cada uma dessas classes encapsula funções e dados relacionados, reduzindo a complexidade e tornando o código mais fácil de manter e estender. TDD também apresentou um papel crucial no desenvolvimento do Visual Viper. Esta abordagem, que envolve escrever testes antes do código propriamente dito, garante que todas as funções estão a funcionar como pretendido, levando assim a uma melhoria da qualidade do código, simplificação da depuração e um ciclo de desenvolvimento mais rápido. A implementação do Visual Viper garante que este pode funcionar em vários ambientes sem alterações significativas (é agnóstico ao ambiente), e pode operar independentemente em máquinas locais, AWS Lambda, ou como uma API Web. Em conclusão, o Visual Viper fornece uma ferramenta robusta e flexível para a visualização de dados, reforçando a eficiência da comunicação científica no sector da saúde.As the healthcare sector undergoes digital transformation, the influx of data for health professionals and researchers has surged. The increased need for data visualizations to comprehend this information led to the development of Visual Viper, a Python library aimed at automating data visualization, to streamline the often labor-intensive process of generating visualizations. Visual Viper uses Vega-Lite, a high-level grammar of interactive graphics, to create visualizations from various research data sources via a convenient application programming interface (API). This automation saves time and facilitates the consistency of science communication. The library's functionality comprises interconnected components. It begins by retrieving data from a selected source, followed by transforming this data to suit visualization requirements. Subsequently, Visual Viper renders the charts using Vega-Lite and deploys them for use in scientific communication. Implemented within a modular and extensible plugin architecture, it accommodates different data sources and visualization types. Each stage allows independent modification, enabling extensive customization based on specific use-cases without affecting the library's overall functionality. Some important paradigms used in Visual Viper's development include the application of object-oriented programming (OOP) and test-driven development (TDD). By using OOP, the library adopts a structured codebase that is easier to manage and maintain. The principles of encapsulation, inheritance, and polymorphism ensure efficiency and flexibility, while the use of classes facilitates code reuse. The 'DatasetBuilder' class is designed to fetch and preprocess data from various sources, 'ChartNotationBuilder' class is responsible for creating the chart layout and visual aesthetics based on the preprocessed data, and the 'ChartDeployer' class handles the deployment of the finished visualizations. These classes encapsulate related functions and data, reducing complexity and aiding code maintenance and extension. The TDD approach, which involves writing tests before the actual code, ensures all functions are operating as intended, thus leading to improved code quality, simplified debugging, and a faster development cycle. Its implementation ensures the library can run in various environments without significant changes (Environment Agnostic), and it can operate independently on local machines, Lambda, or as a Web API (Serverless Deployment). Future steps for Visual Viper include development of plugins including Google Sheets Dataset Builder and Figma Chart Deployer and creation of additional Vega Lite Chart Notation Builders such as Bar Chart, Survival Chart, and Forest Plot. Once these steps are complete, Visual Viper will be packaged as an importable Python package, with an efficiency evaluation to follow. In conclusion, Visual Viper provides a robust and flexible tool for data visualization, bolstering the efficiency of scientific communication in the healthcare sector

    Transforming research on morphology into teacher practice

    Get PDF
    Research suggests that the explicit teaching of morphological principles will improve children’s spelling. Despite the fact that reference is made to morphology in English policy documents, teachers make limited use of morphology when teaching spelling, relying more heavily on phonic and visual strategies. After attending a course on role of morphemes in spelling, teachers’ own awareness of morphology increased and this was reflected in their practice. This in turn caused their pupils to make significant gains in spelling, compared to a control group. This reinforces the proposition that explicit instruction about morphemes is helpful to children’s learning. It demonstrates the fact that research can be transformed into teacher practice, but it also illustrates the difficulties. Policy documentation alone is insufficient. Professional development can effect change but this may be hard to sustain. Children’s gains are contingent on teacher’s continuing to dedicate class time to focussed intervention

    Contract as Pattern Language

    Get PDF
    This essay examines how patterns enable the transformation of contractual provisions into contracts, contracts into transactions, and transactions into markets. Although contract design patterns are broader than contract boilerplate (as described in Part II.C. below), some of the extensive legal scholarship on boilerplate19 helps explain how contract patterns generate agreements, transactions, and markets. The work of Henry Smith on the modularity of contract boilerplate proves particularly useful in this regard. Contract patterns perform several functions. Contract patterns break complex problems and bargains into components. Attorneys can then repeatedly apply these particular solutions to similar problems. Patterns also serve as heuristics for attorneys, i.e., devices to estimate quickly whether particular language solves certain bargaining problems, meets client objectives, and will be interpreted by courts in an anticipated manner

    New Methods, Current Trends and Software Infrastructure for NLP

    Full text link
    The increasing use of `new methods' in NLP, which the NeMLaP conference series exemplifies, occurs in the context of a wider shift in the nature and concerns of the discipline. This paper begins with a short review of this context and significant trends in the field. The review motivates and leads to a set of requirements for support software of general utility for NLP research and development workers. A freely-available system designed to meet these requirements is described (called GATE - a General Architecture for Text Engineering). Information Extraction (IE), in the sense defined by the Message Understanding Conferences (ARPA \cite{Arp95}), is an NLP application in which many of the new methods have found a home (Hobbs \cite{Hob93}; Jacobs ed. \cite{Jac92}). An IE system based on GATE is also available for research purposes, and this is described. Lastly we review related work.Comment: 12 pages, LaTeX, uses nemlap.sty (included

    Ontological approach for DSL development

    Get PDF
    This paper presents a project whose main objective is to explore the Ontological based development of Domain Specific Languages (DSL), more precisely, of their underlying Grammar. After reviewing the basic concepts characterizing Ontologies and DSLs, we introduce a tool, Onto2Gra, that takes profit of the knowledge described by the ontology and automatically generates a grammar for a DSL that allows to discourse about the domain described by that ontology. This approach represents a rigorous method to create, in a secure and effective way, a grammar for a new specialized language restricted to a concrete domain. The usual process of creating a grammar from the scratch is, as every creative action, difficult, slow and error prone; so this proposal is, from a Grammar Engineering point of view, of uttermost importance. After the grammar generation phase, the Grammar Engineer can manipulate it to add syntactic sugar to improve the final language quality or even to add specific semantic actions. The Onto2Gra project is composed of three engines. The main one is OWL2DSL, the component that converts an OWL ontology into a complete Attribute Grammar for the construction of an internal representation of all the input data. The two additional modules are Onto2OWL, converts ontologies written in OntoDL into standard OWL, and DDesc2OWL, converts domain instances written in the new DSL into the initial OWL ontology.This work has been supported by FCT Fundação para a Ciência e Tecnologia within the Project Scope: UID/CEC/00319/2013

    What Is the Relationship Between Language and Thought?: Linguistic Relativity and its Implications for Copyright

    Get PDF
    To date, copyright scholarship has almost completely overlooked the linguistics and cognitive psychology literature exploring the connection between language and thought. An exploration of the two major strains of this literature, known as universal grammar (associated with Noam Chomsky) and linguistic relativity (centered around the Sapir-Whorf hypothesis), offers insights into the copyrightability of constructed languages and of the type of software packages at issue in Google v. Oracle recently decided by the Supreme Court. It turns to modularity theory as the key idea unifying the analysis of both languages and software in ways that suggest that the information filtering associated with the Sapir-Whorf hypothesis may be a general strategy for managing complex systems that is not restricted to language. It also examines Jerry Fodor’s application of modularity theory to cognition and his Language of Thought Hypothesis to see what they reveal about the idea-expression dichotomy

    Development of an MSC language and compiler, volume 1

    Get PDF
    Higher order programming language and compiler for advanced computer software system to be used with manned space flights between 1972 and 198

    LING 478.01: Second Language Development

    Get PDF
    corecore