Software's semantic intent - gregswindle/eslint-plugin-crc GitHub Wiki
Resources
Table of contents
Natural Language Parsing (NLP)
Lexical parsers
-
modest natural-language processing in javascript.
-
Apache OpenNLP wrapper for Nodejs.
Lexicons
A lexicon is the knowledge that a native speaker has about a language. This includes information about
- the form and meanings of words and phrases
- lexical categorization
- the appropriate usage of words and phrases
- relationships between words and phrases, and
- categories of words and phrases.
Phonological and grammatical rules are not considered part of the lexicon.
Lexicon. (2015). SIL Glossary of Linguistic Terms. Retrieved 18 February 2018, from https://glossary.sil.org/term/lexicon
-
Nodejs module for extracting concepts from text.
-
Semantria is a text analytics and sentiment analysis API. It allows you to gain valuable insights from your unstructured text content by extracting entities, categories, topics, themes, facets, and sentiment. It is based on Lexalytics’ Salience engine, which is used by Oracle, Cisco, Salesforce.com, Lithium, and 50+ other leaders in the space.
-
The wink-lexicon is useful in NLP and NLU. It is a part of wink — a growing family of high quality packages for Statistical Analysis, Natural Language Processing and Machine Learning in NodeJS.
Semantic Role Labeling (SRL)
In the field of artificial intelligence, Semantic role labeling, sometimes also called shallow semantic parsing, is a process in natural language processing that assigns labels to words or phrases in a sentence that indicate their semantic role in the sentence, such as that of an agent, goal, or result.[1] It consists of the detection of the semantic arguments associated with the predicate or verb of a sentence and their classification into their specific roles. For example, given a sentence like "Mary sold the book to John", the task would be to recognize the verb "to sell" as representing the predicate, "Mary" as representing the seller (agent), "the book" as representing the goods (theme), and "John" as representing the recipient. This is an important step towards making sense of the meaning of a sentence. A semantic analysis of this sort is at a lower-level of abstraction than a syntax tree, i.e. it has more categories, thus groups fewer clauses in each category. For instance, "the book belongs to me" would need two labels such as "possessed" and "possessor" whereas "the book was sold to John" would need two other labels such as "goal" (or "theme") and "receiver" (or "recipient") even though these two clauses would be very similar as far as "subject" and "object" functions are concerned.
Semantic role labeling. (2018). En.wikipedia.org. Retrieved 18 February 2018, from https://en.wikipedia.org/wiki/Semantic_role_labeling
Sentiment analysis
-
Fathom is a JavaScript framework for extracting meaning from web pages, identifying parts like Previous/Next buttons, address forms, and the main textual content—or classifying a page as a whole. Essentially, it scores DOM nodes and extracts them based on conditions you specify. A Prolog-inspired system of types and annotations expresses dependencies between scoring steps and keeps state under control. It also provides the freedom to extend existing sets of scoring rules without editing them directly, so multiple third-party refinements can be mixed together.
-
Sentiment is a Node.js module that uses the AFINN-165 wordlist and Emoji Sentiment Ranking to perform sentiment analysis on arbitrary blocks of input text.
Semantics and ontologies
-
50 Ontology Mapping and Alignment Tools
Description:
Ontology alignment is important once one attempts to integrate across multiple knowledge bases. Steady progress in better performance (precision and recall) has been occurring, though efforts may have plateaued somewhat.
-
Description:
The official website of SIGSEM, the Special Interest Group on Computational Semantics. SIGSEM is a special interest group (SIG) of the Association for Computational Linguistics (ACL).
-
Using ontologies in GraphDB.
-
The Semantic Structure of Written Communication
Description:
This work provides a brief overview of the basic relationships of meaning and structure of a language. The overview is followed by a more detailed analysis and practical application of the semantic relationships from the lowest level propositions through the highest level units of the text. A significant portion of the work addresses the semantic relations and roles of the communication units.
-
A WebProtégé OWL ontology project.
-
System Metaphor in "Extreme Programming": A Semiotic Approach
Abstract:
System Metaphor is one of the core practices of the software development process known as "Extreme Programming" (XP). Unfortunately, the System Metaphor practice is poorly understood, and is the practice XP teams most commonly choose to ignore. We provide a simple, structural model of system metaphors, based upon Peircean semiotics, giving a fundamental account of the way metaphors can contribute to a software system. Using this model, we identify activities that teams can use to develop metaphors for their systems, and techniques for evaluating system metaphors. We hope this analysis will encourage XP teams not to abandon system metaphors, but rather, to continue to use metaphors to strengthen their development practices.
-
The eXtreme Programming (XP) Metaphor and Software Architecture
Abstract:
The Metaphor is intended to contribute to the Agile Programming value of communication. Previously, some of the author studied the Metaphor as a means of communication among team members and between them and clients. This paper examines the Metaphor's contribution to the software architecture. Both experiments seem to reveal that the Metaphor has poor effectiveness.