This book describes novel software architectures for the integration of deep and shallow natural language processing (NLP) components in language technology. The generic markup language XML and the XML transformation language XSLT are used for flexible combination of linguistic markup produced by multiple NLP components. Shallow NLP components such as tokenizers, part-of-speech taggers, named entity recognizers and shallow parsers are combined with a deep parser, operating grammars written in the spirit of the Head-Driven Phrase Structure Grammar (HPSG) theory. The integration paradigm enables synergy leading to more robust deep parsing with increased coverage. It also constitutes a division of labor: the deep grammar models general, correct language use, while shallow systems are responsible for domain-specific extensions. Applications are presented in question answering, information extraction, natural language understanding, ontologies and the Semantic Web. The book addresses to software engineers, computational linguists and language technology engineers.
Understand why SOA is important for business innovation and change Feeling overwhelmed by the buzz about service oriented architecture? Take heart! This bestselling guide makes it easy to understand what SOA is, why it´s important, and how your business can benefit. You´ll discover how to create reusable, flexible systems; how IT and management team up to make SOA work; and what SOA means to your bottom line. * What it is - see how SOA is designed for maximum adaptability * Building blocks - examine the main components of SOA and how they work * Break it to fix it - learn to deconstruct business processes and applications to identify their components, then put them together in new ways * The ´´X´´ factor - explore XML and how it´s used in SOA * Who´s the governor? - develop a governance strategy for SOA based on your company´s business rules and requirements * Keep it clean - find out how to assure data quality and consistency * Everything in balance - understand SOA in context with Web 2.0, unified communications, and cloud computing Open the book and find: * An easy test to determine whether you need SOA * Four common pitfalls and how to avoid them * Lessons learned from successful IT executives * The significance of using a registry and repository * How to leverage existing assets * Why identity management software matters for SOA * The benefits of SOA service management * The ROI of SOA from real-world experiences
A hands on guide to web scraping and text mining for both beginners and experienced users of R * Introduces fundamental concepts of the main architecture of the web and databases and covers HTTP, HTML, XML, JSON, SQL. * Provides basic techniques to query web documents and data sets (XPath and regular expressions). * An extensive set of exercises are presented to guide the reader through each technique. * Explores both supervised and unsupervised techniques as well as advanced techniques such as data scraping and text management. * Case studies are featured throughout along with examples for each technique presented. * R code and solutions to exercises featured in the book are provided on a supporting website.
Discover the RESTful technologies, including REST, JSON, XML, JAX-RS web services, SOAP and more, for building today´s microservices, big data applications, and web service applications. This book is based on a course the Oracle-based author is teaching for UC Santa Cruz Silicon Valley which covers architecture, design best practices and coding labs. Pro RESTful APIs: Design gives you all the fundamentals from the top down: from the top (architecture) through the middle (design) to the bottom (coding). This book is a must have for any microservices or web services developer building applications and services. What You´ll Learn Discover the key RESTful APIs, including REST, JSON, XML, JAX, SOAP and more Use these for web services and data exchange, especially in today´s big data context Harness XML, JSON, REST, and JAX-RS in examples and case studies Apply best practices to your solutions´ architecture Who This Book Is For Experienced web programmers and developers.
Learn to use C#´s powerful set of core libraries to automate tedious yet important tasks like performing vulnerability scans, malware analysis, and incident response. With some help from Mono, you can write your own practical security tools that will run on Mac, Linux, and even mobile devices. Following a crash course in C# and some of its advanced features, you´ll learn how to: -Write fuzzers that use the HTTP and XML libraries to scan for SQL and XSS injection -Generate shellcode in Metasploit to create cross-platform and cross-architecture payloads -Automate Nessus, OpenVAS, and sqlmap to scan for vulnerabilities and exploit SQL injections -Write a .NET decompiler for Mac and Linux -Parse and read offline registry hives to dump system information -Automate the security tools Arachni and Metasploit using their MSGPACK RPCs Streamline and simplify your work day with Gray Hat C# and C#´s extensive repertoire of powerful tools and libraries.
Get a head start with eXist, the open source NoSQL database and application development platform built entirely around XML technologies. With this hands-on guide, you?ll learn eXist from the ground up, from using this feature-rich database to work with millions of documents to building complex web applications that take advantage of eXist?s many extensions. If you?re familiar with XML?as a student, professor, publisher, or developer?you?ll find that eXist is ideal for all kinds of documents. This book shows you how to store, query, and search documents with XQuery and other XML technologies, and how to construct applications on top of the database with tools such as eXide and eXist?s built-in development environment. * Manage both data-oriented and text-oriented markup documents securely * Build a sample application that analyzes and searches Shakespeare?s plays * Go inside the architecture and learn how eXist processes documents * Learn how to work with eXist?s internal development environment * Choose among various indexes, including a full-text index based on Apache Lucene * Dive into eXist?s APIs for integrating or interacting with the database * Extend eXist by building your own Triggers, Scheduled Tasks, and XQuery extension modules
Advanced data management has always been at the core of efficient database and information systems. Recent trends like big data and cloud computing have aggravated the need for sophisticated and flexible data storage and processing solutions.This book provides a comprehensive coverage of the principles of data management developed in the last decades with a focus on data structures and query languages. It treats a wealth of different data models and surveys the foundations of structuring, processing, storing and querying data according these models. Starting off with the topic of database design, it further discusses weaknesses of the relational data model, and then proceeds to convey the basics of graph data, tree-structured XML data, key-value pairs and nested, semi-structured JSON data, columnar and record-oriented data as well as object-oriented data. The final chapters round the book off with an analysis of fragmentation, replication and consistency strategies for data management in distributed databases as well as recommendations for handling polyglot persistence in multi-model databases and multi-database architectures. While primarily geared towards students of Master-level courses in Computer Science and related areas, this book may also be of benefit to practitioners looking for a reference book on data modeling and query processing. It provides both theoretical depth and a concise treatment of open source technologies currently on the market.
Designed as a wide-ranging guide to Domain Specific Languages (DSLs) and how to approach building them, this book covers a variety of different techniques available for DSLs. The goal is to provide readers with enough information to make an informed choice about whether or not to use a DSL and what kinds of DSL techniques to employ. Part I is a 150-page narrative overview that gives you a broad understanding of general principles. The reference material in Parts II through VI provides the details and examples you´ll need to get started using the various techniques discussed. Both internal and external DSL topics are covered, in addition to alternative computational models and code generation. Although the general principles and patterns presented can be used with whatever programming language you happen to be using, most of the examples are in Java or C#. Product Description When carefully selected and used, Domain-Specific Languages (DSLs) may simplify complex code, promote effective communication with customers, improve productivity, and unclog development bottlenecks. In Domain-Specific Languages , noted software development expert Martin Fowler first provides the information software professionals need to decide if and when to utilize DSLs. Then, where DSLs prove suitable, Fowler presents effective techniques for building them, and guides software engineers in choosing the right approaches for their applications. This book´s techniques may be utilized with most modern object-oriented languages; the author provides numerous examples in Java and C#, as well as selected examples in Ruby. Wherever possible, chapters are organized to be self-standing, and most reference topics are presented in a familiar patterns format. Armed with this wide-ranging book, developers will have the knowledge they need to make important decisions about DSLs-and, where appropriate, gain the significant technical and business benefits they offer. The topics covered include: . How DSLs compare to frameworks and libraries, and when those alternatives are sufficient . Using parsers and parser generators, and parsing external DSLs . Understanding, comparing, and choosing DSL language constructs . Determining whether to use code generation, and comparing code generation strategies . Previewing new language workbench tools for creating DSLs Backcover Designed as a wide-ranging guide to Domain Specific Languages (DSLs) and how to approach building them, this book covers a variety of different techniques available for DSLs. The goal is to provide readers with enough information to make an informed choice about whether or not to use a DSL and what kinds of DSL techniques to employ. Part I is a 150-page narrative overview that gives you a broad understanding of general principles. The reference material in Parts II through VI provides the details and examples you will need to get started using the various techniques discussed. Both internal and external DSL topics are covered, in addition to alternative computational models and code generation. Although the general principles and patterns presented can be used with whatever programming language you happen to be using, most of the examples are in Java or C#. Preface xix Part I: Narratives 1 Chapter 1: An Introductory Example 3 Gothic Security 3 The State Machine Model 5 Programming Miss Grant´s Controller 9 Languages and Semantic Model 16 Using Code Generation 19 Using Language Workbenches 22 Visualization 24 Chapter 2: Using Domain-Specific Languages 27 Defining Domain-Specific Languages 27 Why Use a DSL? 33 Problems with DSLs 36 Wider Language Processing 39 DSL Lifecycle 40 What Makes a Good DSL Design? 42 Chapter 3: Implementing DSLs 43 Architecture of DSL Processing 43 The Workings of a Parser 47 Grammars, Syntax, and Semantics 49 Parsing Data 50 Macros 52 Chapter 4: Implementing an Internal DSL 67 Fluent and Command-Query APIs 68 The Need for a Parsing Layer 71 Using Functions 72 Literal Collections 77 Using Grammars to Choose Internal Elements 79 Closures 80 Parse Tree Manipulation 82 Annotation 84 Literal Extension 85 Reducing the Syntactic Noise 85 Dynamic Reception 86 Providing Some Type Checking 87 Chapter 5: Implementing an External DSL 89 Syntactic Analysis Strategy 89 Output Production Strategy 92 Parsing Concepts 94 Mixing-in Another Language 100 XML DSLs 101 Chapter 6: Choosing between Internal and External DSLs 105 Learning Curve 105 Cost of Building 106 Programmer Familiarity 107