3,188 research outputs found

    An evaluation of Lolita and related natural language processing systems

    No full text
    This research addresses the question, "how do we evaluate systems like LOLITA?" LOLITA is the Natural Language Processing (NLP) system under development at the University of Durham. It is intended as a platform for building NL applications. We are therefore interested in questions of evaluation for such general NLP systems. The thesis has two, parts. The first, and main, part concerns the participation of LOLITA in the Sixth Message Understanding Conference (MUC-6). The MUC-relevant portion of LOLITA is described in detail. The adaptation of LOLITA for MUC-6 is discussed, including work undertaken by the author. Performance on a specimen article is analysed qualitatively, and in detail, with anonymous comparisons to competitors' output. We also examine current LOLITA performance. A template comparison tool was implemented to aid these analyses. The overall scores are then considered. A methodology for analysis is discussed, and a comparison made with current scores. The comparison tool is used to analyse how systems performed relative to each-other. One method, Correctness Analysis, was particularly interesting. It provides a characterisation of task difficulty, and indicates how systems approached a task. Finally, MUC-6 is analysed. In particular, we consider the methodology and ways of interpreting the results. Several criticisms of MUC-6 are made, along with suggestions for future MUC-style events. The second part considers evaluation from the point of view of general systems. A literature review shows a lack of serious work on this aspect of evaluation. A first principles discussion of evaluation, starting from a view of NL systems as a particular kind of software, raises several interesting points for single task evaluation. No evaluations could be suggested for general systems; their value was seen as primarily economic. That is, we are unable to analyse their linguistic capability directly

    Java Programming Interviews Exposed

    No full text
    If you are a skilled Java programmer but are concerned about the Java coding interview process, this real-world guide can help you land your next position Java is a popular and powerful language that is a virtual requirement for businesses making use of IT in their daily operations. For Java programmers, this reality offers job security and a wealth of employment opportunities. But that perfect Java coding job won't be available if you can't ace the interview. If you are a Java programmer concerned about interviewing, Java Programming Interviews Exposed is a great resource to prepare for your next opportunity. Author Noel Markham is both an experienced Java developer and interviewer, and has loaded his book with real examples from interviews he has conducted. Review over 150 real-world Java interview questions you are likely to encounter Prepare for personality-based interviews as well as highly technical interviews Explore related topics, such as middleware frameworks and server technologies Make use of chapters individually for topic-specific help Use the appendix for tips on Scala and Groovy, two other languages that run on JVMs Veterans of the IT employment space know that interviewing for a Java programming position isn't as simple as sitting down and answering questions. The technical coding portion of the interview can be akin to a difficult puzzle or an interrogation. With Java Programming Interviews Exposed, skilled Java coders can prepare themselves for this daunting process and better arm themselves with the knowledge and interviewing skills necessary to succee

    Implementing Associations: UML 2.0 to Java 5

    No full text
    A significant current software engineering problem is the conceptual mismatch between the abstract concept of an association as found in modelling languages such as UML and the lower level expressive facilities available in object-oriented languages such as Java. This paper introduces some code generation patterns that aid the production of Java based implementations from UML models. The work is motivated by a project to construct model driven development tools in support of the construction of embedded systems. This involves the specification and implementation of a number of meta-models (or models of languages). Many current UML oriented tools provide code generation facilities, in particular the generation of object-oriented code from class diagrams. However, many of the more complex aspects of class diagrams, such as qualified associations are not supported. In addition, several concepts introduced in UML version 2.0 are also not supported. The aim of the work presented in this paper is to develop a number of code generation patterns that allow us to support the automatic generation of Java code from UML class diagrams that support these new and complex association concepts. These patterns significantly improve the code generation abilities of UML tools, providing a useful automation facility that bridges the gap between the concept of an association and lower level object-oriented programming languages

    Mastering Java.

    No full text
    This book provides an introduction to the Java programming language and also covers other related areas such as HTML, JavaScript, CGIscript and VRML. Most of the Java programs relate to practical examples, including:* Menus and forms* Graphics* Event-driven software, such as mouse and keyboard events* Networking* Interacting with other programs* AnimationIt also covers fundamental areas such as TCP/IP and the HTTP protocol.The Java compiler, source code, background information and source code is available from the author over the Internet

    cff-reader-java

    No full text
    <p><em><strong>cff-reader-java</strong></em></p> <p>A Java API for reading software citation metadata files in the <a href="https://citation-file-format.github.io/">Citation File Format</a> The API provides POJO models for software citation metadata for inspection and re-use.</p> <p><strong>Entry point</strong></p> <p>The main entry point to the API is via the <code>SoftwareCitationMetadataReader</code> interface. For example:</p> <pre><code class="language-java">SoftwareCitationMetadataReader reader = new SoftwareCitationMetadataPojoReader(); File cffFile = new File(...); SoftwareCitationMetadata citationMetadata = reader.readFromFile(cffFile); /* * Alternatively, e.g., for reading files from the * class loader via * `this.getClass().getResourceAsStream("/CITATION.cff")` */ InputStream cffInputStream = ...; citationMetadata = reader.readFromStream(cffInputStream); // Inspect/re-use citationMetadata.getTitle(); citationMetadata.getVersion(); ... for (author : citationMetadata.getPersonAuthors()) { author.getFamilyNames(); author.getGivenNames(); ... } for (author : citationMetadata.getEntityAuthors()) { author.getName(); ... } for (reference : citationMetadata.getReferences()) { reference.getType(); reference.getTitle(); ... for (author : reference.getPersonAuthors()) { author.getFamilyNames(); author.getGivenNames(); ... } for (author : reference.getEntityAuthors()) { author.getName(); ... } }</code></pre> <p><strong>Exceptions</strong></p> <p>Upon errors, the API will throw exceptions:</p> <ul> <li><code>InvalidCFFFileNameException</code> – thrown on attempted reads of files with an invalid name (CFF file must be named <code>CITATION.cff</code>)</li> <li><code>InvalidDataException</code> – thrown on encountering invalid data in the CFF file, as specified in the <a href="https://citation-file-format.github.io/">Citation File Format specifications</a></li> <li><code>ReadException</code> – thrown on encountering errors or exceptions during the read process</li> </ul> <p><code>InvalidDataException</code> and <code>ReadException</code> may wrap cause exceptions.</p> <p><strong>Installation</strong></p> <p><em>Maven</em></p> <p>The API is provided via the usual Sonatype Snapshot Repository (OSSRH) and Maven Central.</p> <pre><code class="language-xml"><dependencies> <dependency> <groupId>org.research-software.citation</groupId> <artifactId>cff-reader-java</artifactId> <version>1.0.1</version> </dependency> </dependencies></code></pre> <p><strong>Documentation</strong></p> <p>General documentation is maintained at <a href="https://citation-file-format.github.io/cff-reader-java">https://citation-file-format.github.io/cff-reader-java</a>, including <a href="https://citation-file-format.github.io/cff-reader-java/apidocs/index.html">API JavaDocs</a>.</p> <p><strong>Source code and contribution</strong></p> <p>The source code for this project is maintained at <a href="https://github.com/citation-file-format/cff-reader-java">https://github.com/citation-file-format/cff-reader-java</a>, where you can also find guideliens on contributing.</p> <p><strong>Build</strong></p> <p>Build the project locally with <code>mvn {clean} install</code>.</p> <p><strong>License</strong></p> <blockquote> <p>Copyright (c) 2018ff. Stephan Druskat</p> <p>Licensed under the Apache License, Version 2.0 (the "License");<br> you may not use this file except in compliance with the License.<br> You may obtain a copy of the License at<br>       http://www.apache.org/licenses/LICENSE-2.0<br> Unless required by applicable law or agreed to in writing, software<br> distributed under the License is distributed on an "AS IS" BASIS,<br> WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.<br> See the License for the specific language governing permissions and<br> limitations under the License.</p> </blockquote&gt

    Developing interest management techniques in distributed interactive simulation using Java

    No full text
    Bandwidth consumption in distributed real time simulation, or networked real time simulation, is a major problem as the number of participants and the sophistication of joint simulation exercises grow in size. The paper briefly reviews distributed real time simulation and bandwidth reduction techniques and introduces the Generic Runtime Infrastructure for Distributed Simulation (GRIDS) as a research architecture for studying such problems. GRIDS uses Java abstract classes to promote distributed services called thin agents, a novel approach to implementing distributed simulation services, such as user defined bandwidth reduction mechanisms, and to distributing the executable code across the simulation. Thin agents offer the advantages of traditional agents without the overhead imposed by mobility or continuous state, which are unnecessary in this context. We present our implementation and some predicted results from message reduction studies using thin agent

    Atoms of Confusion in Java

    No full text
    Although writing code seems trivial at times, problems arise when humans misinterpret what the code actually does. One of the potential causes are "atoms of confusion", the smallest possible patterns of misinterpretable source code. Previous research has investigated the impact of atoms of confusion in C code. Results show that developers make significantly more mistakes in code where atoms are present.In this paper, we replicate the work of Gopstein et al. to the Java language. After deriving a set of atoms of confusion for Java, we perform a two-phase experiment with 132 computer science students (i.e., novice developers). Our results show that (i) participants are 2.7 up to 56 times more likely to make mistakes in code snippets affected by 7 out of the 14 studied atoms of confusion, and (2) when faced with both versions of the code snippets, participants perceived the version affected by the atom of confusion to be more confusing and/or less readable in 10 out of the 14 studied atoms of confusion.Accepted author manuscriptSoftware Engineerin

    Exploiting web resources for the identification of relations between concepts: a Java based implementation and case study

    No full text
    A Java based implementation of an Ontology Evolution Manager was described in Gabbanini (2010): it is a framework offering a set of tools to support processes of manipulation and growth of ontological knowledge bases, based on inputs consisting in free text documents. The Ontology Evolution Manager can be used to support the process of Ontology Evolution, i.e., the process of identifying potential novel entities and relationships to be included in an established ontology. This report describes a Java based application, built using the Ontology Evolution Manager, intended to perform ontology evolution processes, by enriching ontologies with new relations. The enrichment phase uses as sources of background knowledge the WordNet repository (see WordNet, 2010) and the Scarlet system (Sabou et al., 2008, Sabou et al., 2008b, Scarlet, 2010). The application is based on ideas described in Zablith et al. (2009), but new ideas have been introduced and the code has been implemented from scratch by the author, so as to be reusable within the framework of the Collective Knowledge Management System described by Burzagli et al. (2010). The report describes techniques and implementation details, along with a test case in which an ontology, built within the e-Inclusion Laboratory1 to describe the domain of inclusive tourism, is enriched with entities and relationships generated from the analysis of textual reviews, contributed by customers of a real web based service that allows booking and commenting on the accessibility of a selection of accommodation resources all over the world

    Inter-generational family support provided by older people in Indonesia

    No full text
    Most social research on ageing in Asia has focused on the support provided by adult children to their parents, and thereby suggests that as a matter of course older people are in need of support. This paper offers a different perspective. Drawing on ethnographic and quantitative data from a village in East Java, it examines the extent of older people's dependence on others and highlights the material and practical contributions that they make to their families. It is shown that only a minority of older people are reliant on children or grandchildren for their daily survival. In the majority of cases, the net flow of inter-generational support is either downwards – from old to young – or balanced. Far from merely assisting with childcare and domestic tasks, older people are often the economic pillars of multi-generational families. Pension and agricultural incomes serve to secure the livelihoods of whole family networks, and the accumulated wealth of older parents is crucial for launching children into economic independence and underwriting their risks. Parental generosity does not generally elicit commensurate reciprocal support when it is needed, leaving many people vulnerable towards the end of their lives

    The image of the Incarnation as motif for development practice in West Java, Indonesia

    No full text
    Beginning with the proposition that the incarnation is not simply theologically descriptive but also strategically prescriptive, this thesis proposes utilising this motif in order to analyse and critique participatory development practice as it is undertaken today, both by Christians as well as those who are not. After first illustrating the value of incarnational involvement by presenting the results of field research undertaken amongst a particular community of the Sundanese people residing in a specific hamlet in the city of Tasikmalaya, West Java, Indonesia, a template comprised of six distinguishing marks and three overarching characteristics is then developed in order to appraise the Incarnational motif in terms of its tangible applicability. Thereafter, four disciplines are examined and appraised in terms of their incarnational, participatory value-the discipline of development studies (focussing on the work of Robert Chambers), the discipline of anthropology (focussing on the work of Clifford Geertz), the logic of Critical Theory (focussing on the work of Jürgen Habermas) and the thought of a leading Indonesian Islamic theorist, Abdurrahman Wahid. Key, buttressing points in each of these are selected as sources of validation for the incarational motif. Furthermore, the image of participation found in each is critiqued by comparing them to the six distinguishing marks and the three overarching characteristics. Finally, a tangible example of incarnational participation previously undertaken in West Java, Indonesia by the author is offered as a picture of how the incarnational thesis might be utilised in social practice. Both the complexities encountered as well as promises experienced are highlighted so as to present a realistic and useful model
    corecore