Software
Software Links
This section of software links describes Texai packages that can be downloaded from SourceForge.
Texai Downloads
- OpenCyc RDF
- This release contains RDF statements extracted from the OpenCyc knowledge base. It omits objects that are not directly compatible with RDF, namely non-atomic terms, rules, non-binary relations. Context is only included in the TriG formatted files.
- WordNet 2.1 RDF
- This is an extract of the Princeton WordNet version 2.1 lexical knowlege base in RDF format. Only the TriG version contains context.
- The CMU Pronouncing Dictionary RDF
- This release contains The CMU Pronouncing Dictionary converted to RDF. Only the TriG version contains context.
- Wiktionary RDF
- This release contains the English entries from the Wiktionary, as of Spring 2007, extracted to RDF. Only the TriG version contains context.
- Texai Lexicon RDF
- This the Texai lexicon which is a merging of WordNet 2.1, the CMU Pronouncing Dictionary, Wiktionary, and the OpenCyc lexicon. Only the TriG version contains context.
- RDF Entity Manager
- The RDF Entity Manager is the framework for persisting semantically annotated Java classes to the Sesame 2 RDF store.
- Texai Lexicon Java Library
- This package contains the semantically annotated Java classes for the RDF entities that represent the Texai Lexicon. Included are all the required jar files (e.g. Sesame 2).
- Fluid Construction Grammar Java Library
- This package is a Java implementation of Fluid Construction, originally implemened in Lisp by researchers at emergent-languages.org. See this brief tutorial. The Emergent Languages web site has more information about Fluid Construction Grammar and its role in emergent languages research. This Java release will be feature-frozen and new features, namely incremental parsing, will be placed into a new Java release IncrementalFCG now under development.
- Texai Utilities Java Library
- This Java class library provides utilities for the remainder of the Texai project.
This section of software links is a list of software components that may prove useful for this Java project. Of these, only Sesame is currently incorporated.
Development Tools
- Apache Maven
- Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project’s build, reporting and documentation from a central piece of information.
- Beanlet - JSE Application Container - Confluence
- Inspired by EJB3 and Spring, Beanlet delivers an IoC enabled application container offering the best of both worlds. Beanlet’s programming model looks similar to that of EJB3, but its flexibility is comparable to that of Spring. The Beanlet architecture supports JTA transactions, the Java Persistence API, JNDI, Web integration, and last but not least, the Spring Framework.
- Bean Shell
- BeanShell is a small, free, embeddable Java source interpreter with object scripting language features, written in Java. BeanShell dynamically executes standard Java syntax and extends it with common scripting conveniences such as loose types, commands, and method closures like those in Perl and JavaScript.
- cdrtools 2.01.01a17 (Development)
- About: cdrtools (formerly cdrecord) creates home-burned CDs/DVDs with a CDR/CDRW/DVD recorder. It works as a burn engine for several applications. It supports CD/DVD recorders from many different vendors; all SCSI-3/mmc- and ATAPI/mmc-compliant drives should also work. Supported features include IDE/ATAPI, parallel port, and SCSI drives, audio CDs, data CDs, and mixed CDs, full multi-session support, CDRWs (rewritable), DVD-R/-RW, DVD+R/+RW, TAO, DAO, RAW, and human-readable error messages. cdrtools includes remote SCSI support and can access local or remote CD/DVD writers.
- Coadunation daemon server
- Coadunation open source daemon server
- Crossroads load balancer
- Crossroads is an open source load balance and fail over utility for TCP based services. It is a daemon running in user space, and features extensive configurability, polling of back ends using ‘wakeup calls’, detailed status reporting, ‘hooks’ for special actions when backend calls fail, and much more. Crossroads is service-independent: it is usable for HTTP(S), SSH, SMTP, DNS, etc.. In the case of HTTP balancing, Crossroads can provide ’session stickiness’ for back end processes that need sessions, but aren’t session-aware of other back ends.
- freedesktop.org - Software/dbus
- D-Bus is a message bus system, a simple way for applications to talk to one another. In addition to interprocess communication, D-Bus helps coordinate process lifecycle; it makes it simple and reliable to code a “single instance” application or daemon, and to launch applications and daemons on demand when their services are needed.
- FreeNAS: The Free NAS Server - Home
- Free NAS Server
- GCViewer
- GCViewer is a free open source tool to visualize data produced by the Java VM options -verbose:gc and -Xloggc:<file>. It also calculates garbage collection related performance metrics (throughput, accumulated pauses, longest pause, etc.). This can be very useful when tuning the garbage collection of a particular application by changing generation sizes or setting the initial heap size.
- GridGain - Open Source Grid Computing For Java
- GridGain Systems provides professional services around our open source Java grid computing framework. We provide enterprise level support, in-depth training and consulting helping our clients to get the most out of our product during initial evaluation, development and production use.
- Hadoop Map/Reduce framework
- Hadoop implements MapReduce, using the Hadoop Distributed File SystemHDFS) (see figure below.) MapReduce divides applications into many small blocks of work. HDFS creates multiple replicas of data blocks for reliability, placing them on compute nodes around the cluster. MapReduce can then process the data where it is located.
- Java Parallel Processing Framework
- An open-source, Java-based, framework for parallel computing.
- Java Print Dialog Framework
- The JPDF provides preview and print capabilities
to Java applications. Swing components — like JTable and JTextPane — can be
previewed and printed. Forms and reports can be composed and printed.
A large variety of Page Setup, Preview, and Print dialogs is provided. - javaSVNUpdater
- javaSVNUpdater is a Java library that allows an application to update or patch itself automatically. The versioning information about the application needs to be stored in a subversion archive, and committing to the archive effects the distribution of new versions. It includes an updater wizard and an executor to spawn a separate process for proceeding with updates.
- Java Units of Measure
- This is a Java package with abstract data types for measurable quantities (like volume and speed) and units for measuring them (like liters and furlongs per fortnight). You may convert from one set of units to another, and may add your own quantities and units.
- jGCS
- The jGCS library provides a generic interface for Group Communication. This interface can be used by applications that need primitives from simple IP Multicast group communication to virtual synchrony or atomic broadcast. Its a common interface to several existing toolkits that provide different APIs.
- JGroups (JBoss cluster comm)
- A Toolkit for Reliable Multicast Communication
- Joda Time - Java date and time API
- Joda-Time provides a quality replacement for the Java date and time classes. The design allows for multiple calendar systems, while still providing a simple API. The ‘default’ calendar is the ISO8601 standard which is used by XML. The Gregorian, Julian, Buddhist, Coptic, Ethiopic and Islamic systems are also included, and we welcome further additions. Supporting classes include time zone, duration, format and parsing.
- JUnitConv
- JUnitConv is a free Open Source universal Units of Measure Converter, it converts numbers from one unit of measure to another.
Built as a Java Applet, JUnitConv is platform-independent and highly-configurable, it supports an unlimited number of Units Categories, Units of Measure and Multiplier Prefixes that could be customized using external text files. You could setup your own data files using your preferred spoken language, units categories, units definitions and multiplier prefixes. The default configuration data files contains 580 basic units of measure definitions divided in 31 categories and 27 multiplier prefixes for a total of 15660 composed units. - libreplacer
- libreplacer is an easy-to-use string formatting library for Java, which provides some C-sprintf alike syntax, and can be easily extended for all kinds of object to string formattings.
- Lobo: Java Web Browser
- Lobo is an open source pure Java web browser with support for HTML 4, Javascript and CSS2.
- Mozilla Java Html Parser
- Mozilla Java Html Parser is a Java package that enables you to parse html pages into a Java Document object. The parser is a wrapper around Mozilla’s Html Parser , thus giving the user a browser-quality html parser.
- Mr. Persister
- Mr. Persister is a POJO persistence API for Java. The main focus of Mr. Persister is to handle all the trivial JDBC work, and leave the non-trivial parts up to you. It uses plain SQL as the query language, it can auto-map objects to the database, and it can generate SQL for a lot of trivial tasks by itself (such as insert, update, and delete). Mr. Persister also has support for easy batch updates of collections of objects, connection and transaction handling, and many other features.
- mubench
- mubench is an in-depth, low-level benchmark for x86 processors. Its primary goal is to provide useful information for people who optimize assembly code and for people who write compilers. It measures latency and throughput for each individual instruction (sometimes several forms of the same instruction), as well as the throughput of arbitrary instruction mixes. The results produced by mubench are typically an order of magnitude more detailed than those found in AMD or Intel manuals.
- myrpm
- Myrpm is a set of utilities allowing you to turn easily software into rpm package. More than a simple set of script, it allow you to manage large groups of server in a elegant and efficient way.
- NetBeans HotSpot grapher
- Masters Thesis
- nlink: NLink - Native Library Linker
- Provides a general-purpose method invocation converter driven by annotation. With NLink, calling a native library is as easy as follows, and then the NLink runtime invokes the corresponding method for you
- Primrose
- Primrose is a database connection pool which supports all databases that have JDBC drivers. It provides control over SQL transaction monitoring, configuration, and dynamic pool management via a Web interface.
- pulse 1.1.14
- Pulse is an automated build (or continuous integration) server designed to work with you to ensure the integrity of your code. Pulse regularly checks your source code out from your SCM, builds your projects, and notifies you of the results.
- recordMyDesktop
- recordMyDesktop is a desktop session recorder for linux that attemps to be easy to use,
yet also effective at it’s primary task. As such, the program is separated in two parts; a simple
command line tool that performs the basic tasks of capturing and encoding and an interface that
exposes the program functionality in a usable way. - Redstone Prevalent Storage
- Redstone Prevalent Storage is minimalistic prevalent storage for Java SE 5.0 that replaces the need for JDBC and an RDBMS for small and mid-sized applications. The library is comprised of an intentionally small set of concise interfaces and classes, and can be suitable for many types of applications where the data storage does not necessarily require an RDBMS. The library is heavily influenced by Prevayler and the Prevayler team (who should receive all credit).
The Sesame 2 RDF store is an open source RDF framework with support for RDF Schema inferencing and querying.
- SPARQL Query Language for RDF (Specification)
- RDF is a directed, labeled graph data format for representing information in the Web. This specification defines the syntax and semantics of the SPARQL query language for RDF. SPARQL can be used to express queries across diverse data sources, whether the data is stored natively as RDF or viewed as RDF via middleware. SPARQL contains capabilities for querying required and optional graph patterns along with their conjunctions and disjunctions. SPARQL also supports extensible value testing and constraining queries by source RDF graph. The results of SPARQL queries can be results sets or RDF graphs.
- Sun Grid network.com
- Sun Web Tier Solutions
- TIJmp - Java Memory Profiler - why object not gc’ed
- TIJmp is a memory profiler for java. TIJmp is made for java/6 and later, it will not work on java/5 systems. If you need a profiler for java/5 or earlier try the jmp profiler.
- Tiny Marbles
- Tiny Marbles is a transactional, persistent object repository for dynamic objects. Apart from the initial setup, all the interaction between Tiny Marbles and the application is done programatically at runtime. All objects can be modified after creation.
- Yamon, Yet Another Monitoring script
- Yamon is a very simple Perl program designed to check whether a server is up-and-running and send an alert to a human when something appears to be broken.
- YourKit Java Profiler 6.0-EAP-build1076
- YourKit Java Profiler is a CPU and memory profiler that makes it easy to solve wide range of CPU- and memory-related performance problems. It features automatic leak detection, powerful tools for the analysis of memory distribution, an object heap browser, comprehensive memory tests as part of your JUnit testing process, extremely low profiling overhead, transparent deobfuscation support, and integration with Eclipse, JBuilder, IntelliJ IDEA, NetBeans, and JDeveloper IDEs.
- iCal4j
- iCal4j is a Java API incorporating an iCalendar parser, model, validator, and outputter.
- Jakarta POI - Java API To Access Microsoft Format Files
- The POI project consists of APIs for manipulating various file formats based upon Microsoft’s OLE 2 Compound Document format using pure Java. In short, you can read and write MS Excel files using Java. Soon, you’ll be able to read and write Word files using Java. POI is your Java Excel solution as well as your Java Word solution. However, we have a complete API for porting other OLE 2 Compound Document formats and welcome others to participate.
- JavaPlot
- Pure Java programming interface library for GNUPlot
- Java Software Components by Big Faceless Organization
- Java Software Components from Big Faceless Organization including Report Generator, PDF Library and Graph Library
- JBDiff
- JBDiff (Java Binary Diff) utility is a Java port of the C based bsdiff utility by Colin Percival.
- JBoss.com - Wiki - EmbeddedJBoss
- The Professional Open Source Company
- JBoss Rules
- JBoss Rules is the supported and branded release of the Drools project. Drools is an enhanced Rules Engine implementation, ReteOO, based on Charles Forgy’s Rete algorithm tailored for the Java language. More importantly, Drools provides for Declarative Programming and is flexible enough to match the semantics of your problem domain with Domain Specific Languages.
- jgcalapi
- JGCalAPI provides an easy to use wrapper for the Google Calendaring GData API. This wrapper is intended to hide much of the REST ugliness of the API, thus making it somewhat easier to get started with and to use.
- jweather
- jweather is a Java library for parsing raw weather data (e.g. METAR, TAF). It currently focuses on parsing and providing an API for access to METAR data.
- ngrease metalanguage
- The world’s largest development and download repository of Open Source code and applications
- Open Data
- The Open Data Commons Public Domain Dedication & Licence is a document intended to allow you to freely share, modify, and use this work for any purpose and without any restrictions. This licence is intended for use on databases or their contents (”data”), either together or individually.
- Raptor RDF Parser Library
- Raptor is a free software / Open Source C library that provides a set of parsers and serializers that generate Resource Description Framework (RDF) triples by parsing syntaxes or serialize the triples into a syntax. The supported parsing syntaxes are RDF/XML, N-Triples, TRiG, Turtle, RSS tag soup including all versions of RSS, Atom 1.0 and 0.3, GRDDL and microformats for HTML, XHTML and XML. The serializing syntaxes are RDF/XML (regular, and abbreviated), N-Triples, RSS 1.0, Atom 1.0 and Adobe XMP.
- rest-client - Google Code
- RESTClient is a Java platform client application to test RESTful webservices. It can be used to test variety of HTTP communications.
- RIFE : Continuations
- Full-stack open-source component framework to quickly and consistently develop and maintain Java web applications
AI Techniques
- ANJI
- ANJI (Another NEAT Java Implementation) Built on top of existing OpenSource projects, ANJI is an implementation of NEAT (Neuro-Evolution of Augmenting Topologies), an algorithm for evolving artificial neural networks.
- ART - Artificial Reasoning Toolkit
- Java library devoted to handle Genetic Algorithms and Classifier Systems. It has been engineered to be used into agent based simulation models and to search bounded optimal solutions in wide solution spaces. It runs on distributed clusters.
- Autom. Model Selection Framew. f. WEKA
- AMSF (Automated Model Selection Framework) provides Classifier/Predictor Selection for WEKA-Classifiers based on Meta-Learning. Selection is done via a rule-based Pre-Selection, followed by ‘Zoomed Ranking’(as used in WEKA METAL).
- brCluster
- brCluster is a class library, written in java, that implements generic clustering algorithms carefully designed to allow its aplication in any kind of data. The algorithms implemented are K-means and Hierarchical Clustering (Simple and Complete Link).
- choco
- choco: a java library for constraint satisfaction problems (CSP), constraint programming (CP) and explanation-based constraint solving (e-CP).
- CHSM: Concurrent Hierarchical Finite State Machine
- CHSM: Concurrent Hierarchical Finite State Machine.
- CILib Swarm/Fuzzy/NN/Evolutionary Computation
- CILib (Computational Intelligence Library) is a collaborative component based framework for developing Computational Intelligence software in: * Swarm Intelligence
* Evolutionary Computation
* Neural Networks
* Artifical Immune Systems
* Fuzzy Logic - Computational Intelligence Library
- CILib is a framework for developing Computational Intelligence software in swarm intelligence, evolutionary computing, neural networks, artificial immune systems, fuzzy logic and robotics.
- CSPFJ
- CSPFJ or CSP4J is an simple, hopefully fast CSP solver API written in Java featuring state-of-art search algorithms
- dANN
- The dANN project is a library to help create artificial neural networks within other programs. It is currently written in Java, C++, and C#. However, C++ and C# versions can only be obtained through the SVN at the moment. Also, the C++ and C# versions are not properly documented and cleaned up, although they work. The Java version of the library is well documented and packaged in binary and source form. The intent is to provide a powerful interface for programs to include artificial neural network technology into their code. It will also act as a testing ground for research and development of new AI concepts.
- DragonBreath Engine
- The DragonBreath Engine is a constraint solver based on local search. It features real-time computation, handling of dynamics, structural constraint satisfaction, and an easy way to include domain-specific knowledge.
- Drools
- Drools is a Rete-based rules engine written in Java, but able to run on Java and .Net. it is designed to allow pluggeable language implementations. Currently, rules can be written in Java, Python, and Groovy. It also enables domain-specific languages (DSLs) via XML using a schema defined for your problem domain. DSLs consist of XML elements and attributes that represent the problem domain. An XML authoring tool provides a semi-rapid development environment with a drag and drop type interface based on the provided schema.
- FrEAK
- FrEAK, the Free Evolutionary Algorithm Kit, is a toolkit to design and analyze evolutionary algorithms, written in Java.
- FreeCBR
- Case Based Reasoning is a technology to make a similarity based selection from a predefined set of cases. Each case is defined by a set of features. After some cases are stored it is possible to perform a search by specifying search feature values.
- FuzzyGKS
- Project FuzzyGKS is a Java-based fuzzy logic control system. It provides an extensible, multithreaded framework for fuzzy controllers. FuzzyGKS can be extended from Type I fuzzy reasoning to Type II fuzzy reasoning.
- GAPI
- GAPI (pronunced gappy) is the Genetic Algorithms Programming Interface - a set of Java classes that allow users to easily integrate Genetic Algorithms into their Java programs. See “GAPI specs” in the Feature Requests forum for more info.
- Genetic Programming Framework
- The Distributed Genetic Programming Framework is a scalable Java genetic programming environment. It comes with an optional specialization for evolving assembler-syntax algorithms. The evolution can be performed in parallel in any computer network.
- GNU Ocrad 0.16-rc2 (Development)
- Ocrad is the GNU OCR (Optical Character Recognition) program, implemented as a filter and based on a feature extraction method. It reads images in pbm (bitmap), pgm (greyscale), or ppm (color) formats and produces text in byte (8-bit) or UTF-8 formats. It also includes a layout analyzer that is able to separate the columns or blocks of text normally found on printed pages. Ocrad can be used as a stand-alone console application, or as a backend to other programs.
- GNU Octave
- GNU Octave is a high-level language, primarily intended for numerical computations. It provides a convenient command line interface for solving linear and nonlinear problems numerically, and for performing other numerical experiments using a language that is mostly compatible with Matlab. It may also be used as a batch-oriented language.
- JAGA - Java API for Genetic Algorithms
- Java API for implementing any kind of Genetic Algorithm and Genetic Programming applications quickly and easily. Contains a wide range of ready-to-use GA and GP algorithms and operators to be plugged-in or extended. Includes Tutorials and Examples.
- JavaBDD
- JavaBDD is a Java library for manipulating BDDs (binary decision diagrams). Binary decision diagrams are widely used in model checking, formal verification, optimizing circuit diagrams, and other areas.
- Java Genetic Algorithms Library
- JGAL is a Java Genetic Algorithms Library.
- Java Bayes
- JavaBayes is a system that handles Bayesian networks: it calculates marginal probabilities and expectations, produces explanations, performs robustness analysis, and allows the user to import, create, modify and export networks.
- Java Kohonen Neural Network Library
- Java Kohonen Neural Network Library Kohonen neural network library is a set of classes and functions for design, train and use Kohonen network (self organizing map).
- Java Object Oriented Neural Engine
- oone (Java Object Oriented Neural Engine) is an artificial neural network Java framework. It is used to build and train neural networks with a powerful visual environment. It has a modular design and can be easily extended by writing new modules to implement new learning algorithms or architectures.
- Java rapid genetic programming
- jrgp is a Genetic Programming system, which features a graphical interface (gool) to setup and run GP-problems and a tool (fs-d) that simplifies the definition of a GP-problem.
- jBNC
- jBNC is a Java toolkit for training, testing, and applying Bayesian Network Classifiers. Implemented classifiers have been shown to perform well in a variety of artificial intelligence, machine learning, and data mining applications.
- JCLEC
- JCLEC is a general purpose evolutionary computation framework developed Java. Some of its mains features are: multilevel architecture, highly reusable and integrable with other systems, easy to use and a lot of implemented algorithms and operations.
- JFSOM
- JFSOM (Java framework for self organising maps) is a Java framework which allows you to create, use and display self organising maps (som). The framework is able to create maps of any size and to train them with an existing training algorithm. If needed, you can also implement and use your own training algorithm. In addition, the trained soms can be displayed in different ways, like displaying the numbers of the weights or the average distances of them.
- jFuzzyLogic
- jFuzzyLogic is a java implementation of a Fuzzy Logic software package. It implements a complete Fuzzy inference system (FIS) as well as Fuzzy Control Logic compliance (FCL) according to IEC 1131.
- JGAP: Java Genetic Algorithms Package
- A genetic algorithms component written in the form of a Java package. It provides basic genetic mechanisms that can be easily used to apply evolutionary principles to problem solutions.
- JNEAT
- The JNEAT package contains Java source code for the NeuroEvolution of Augmenting Topologies method (see the original NEAT C++ package). It includes a nice GUI (see screenshots )
- JOONEGAP
- Looking to use JGAP’s genetic algorithms to evolve JOONE neural networks? This is the place!
- jOpt
- Java based implementation of the Optimization Programming Language.
- JRete
- JRete is a rule engine written in Java. Advantages over other expert system shell and artificial intelligence(AI) API - code rules in java language, data may compute accross network with multiple JRete, auto data persistence to database, event-fire direc
- JRuleEngine
- The project consists of a library based on Java Specification Request 94, release 1.1, i.e. is a java rule engine. Please refer to “Java Rule Engine API - JSR-94″ document (file jsr94_spec.pdf) included in JSR-94 distribution.
- jscl-meditor - java symbolic computing library and mathematical editor
- The goal of this project is to provide a java symbolic computing library and a mathematical editor acting as a front-end to the former. There are several computer algebra systems available on the market, most of them developed in other languages, mainly C/C++ and Lisp. But the benefits of using java in symbolic computation are great. Aside from being widely used and to comply with various standards, this language has two features of concern : readability and portability.
- Koalog Constraint Solver
- Koalog Constraint Solver is a powerful constraint solver written in Java. It provides cutting-edge technology for solving satisfaction and optimization problems, including scheduling, time-tabling, resource-allocation, puzzles (sudoku.koalog.com is powered by Koalog Constraint Solver), and configuration (Koalog Configurator is powered by Koalog Constraint Solver).
- Machine Learning Tools in Java (MLJ)
- Java port and extension of MLC++ 2.0 by Kohavi et al. Currently contains ID3, C4.5, Naive (aka Simple) Bayes, and FSS and CHC (genetic algorithm) wrappers for feature selection. WEKA 3 interfaces are in development.
- mbFuzzIT
- mbFuzzIT enables the work with Fuzzy technology (fuzzy inference / fuzzy logic) in Java. In order to facilitate the creation of the inference mechanisms, mbFuzzIT containts a visual editor.
- NEAT4J
- A Java implementation of the NEAT algorithm as created by Kenneth O Stanley. Also provides a toolkit for further experiments to be created and can provide both local and distributed learning environments.
- NeuralJ
- NeuralJ is a free, open-source neural network library for Java applications. It is the purpose of this project to make the easiest, most flexible and reliable, neural network platform available.
- NeuralNetworkToolkit
- NeuralNetworkToolkit is an object oriented neural network API written in Java for modelling, implementing and training artificial neural networks.
- neuronespack
- A Java neural networks package
- n-genes
- N-genes is a Java framework and application for both genetic programming and genetic algorithms. The goal of this software is to offer a flexible system able to speed-up the implementation of research ideas. Complex behaviors like variable size populations or self-adaptive genetic operators can be implemented easily and quickly.
- Semiann
- An ANN design/implementation focused to work with optimally with NEAT (http://www.cs.utexas.edu/users/kstanley/neat.html). Semiann uses a sparse matrix to fill out the nodes, connections, weights, biases and activation functions for an ANN.
- SHOP
- SHOP (Simple Hierarchical Ordered Planner), JSHOP, and SHOP2 are domain-independent automated-planning systems based on ordered task decomposition, which is a type of Hierarchical Task Network (HTN) planning. For more information, see the Home
- Software - numenta.com
- Numenta Platform for Intelligent Computing (NuPIC) Hierarchical Temporal Networks
- VKAS
- VKAS uses genetic programming methods to find out the relationship among a set of independent and dependent variable. It is a problem solver software which uses evolutionary computing methods.
- WEKA
- Weka is a collection of machine learning algorithms for data mining tasks. The algorithms can either be applied directly to a dataset or called from your own Java code. Weka contains tools for data pre-processing, classification, regression, clustering, association rules, and visualization. It is also well-suited for developing new machine learning schemes.
- YACS
- YACS (Yet Another Constraint Solver) is a Java library and an object-oriented framework for constraint solvers. It supports propagating and solving of constraint satisfaction problems with finite and infinite domains (discrete values and real intervals).
- YALE — Data Mining - Machine Learning
- YALE: data mining, machine learning, knowledge discovery, business intelligence in Java. 400+ operators: data mining incl. Weka,learning,preprocessing,validation,visualization. GUI,API,XML,SVM,analysis,knowledge discovery,databases,business intelligence
- Parameter Tuning Unity
- The Parameter Tuning Unity (PTU) aims to adapt the parameters of ever connected multi-agents system, or expert system with a plugged optimization heuristic likes the descent of gradient for instance.
- PIQLE
- PIQLE is a Platform Implementing Q-LEarning (and other Reinforcement Learning) algorithms in JAVA
- Rapid - I - RapidMiner (YALE)
- The open-source data mining library YALE is the leading analytics software with more than 400 operator for all business intelligence aspects., The large amount of open source data mining operators available in the free Java tool YALE enables solutions for complex business intelligence tasks., YALE is one of the world-wide leading open-source data mining tools. Also available as a Java data mining library for machine learning, knowledge discovery and business intelligence.
- The Daikon dynamic invariant detector
- Daikon is an implementation of dynamic detection of likely invariants; that is, the Daikon invariant detector reports likely program invariants. An invariant is a property that holds at a certain point or points in a program; these are often seen in assert statements, documentation, and formal specifications. Invariants can be useful in program understanding and a host of other applications. Examples include “.field > abs(y)”; “y = 2*x+3”; “array a is sorted”; “for all list objects lst, lst.next.prev = lst”; “for all treenode objects n, n.left.value < n.right.value”; “p != null => p.content in myArray”; and many more. You can extend Daikon to add new properties.
- The Duine Toolkit
- The Duine Toolkit allows one to develop prediction engines for recommender systems. It contains a set of prediction techniques, a way to combine these techniques and a profile manager. Own prediction techniques can also be added to the toolkit.
- TooCoM
- TooCoM, a Tool to Operationalize an Ontology with the COnceptual graph Model. TooCoM allows the user to edit, test, operationalize and use in an inference engine an heavy-weight ontology in a graphical way by using the Entity-Relationship paradigm.
- watchmaker: Home
- The Watchmaker Framework is an extensible, high-performance, object-oriented framework for implementing platform-independent evolutionary algorithms (EAs) in Java. The framework provides type-safe, non-invasive evolution for arbitrary representations.
- Lifenaut
- Start Your Personal Mindfile: your place to record and preserve unique Life Experiences, Favorites, Memories, Personal Reflections and Discoveries!
Program Synthesis
I intend that Texai learn intelligent behaviors and compile these into programs for execution. The first target langage is Java, which I am using for programming the bootstrap dialog system. Another subsequent attractive target is machine language for the x86 64-bit platform, in which support functions (e.g. string utilities, I/O, etc.) can be provided by linked C libraries.
- ANTLR Grammar List
- ANTLR Grammar List
- The Netwide Assembler: NASM
- The Netwide Assembler, NASM, is an 80×86 and x86-64 assembler designed for portability and modularity. It supports a range of object file formats, including Linux and *BSD a.out, ELF, COFF, Mach-O, Microsoft 16-bit OBJ, Win32 and Win64. It will also output plain binary files. Its syntax is designed to be simple and easy to understand, similar to Intel’s but less complex. It supports from the upto and including Pentium, P6, MMX, 3DNow!, SSE, SSE2, SSE3 and x64 opcodes. NASM has a strong support for macro conventions.
- The Yasm Modular Assembler Project - Trac
- Yasm is a complete rewrite of the NASM assembler under the “new” BSD License. Yasm currently supports the x86 and AMD64 instruction sets, accepts NASM and GAS assembler syntaxes, outputs binary, ELF32, ELF64, 32 and 64-bit Mach-O, RDOFF2, COFF, Win32, and Win64 object formats, and generates source debugging information in STABS, DWARF 2, and CodeView? 8 formats.
- Ragel State Machine Compiler 5.14
- Ragel compiles finite state machines from regular languages into C, C++, Objective-C, or D code. It allows the programmer to embed actions at any point in a regular language, and to control non-determinism in the resulting machines. It understands concatenation, union, kleene star, subtraction, intersection, epsilon transitions, and various other common operators. It also supports the construction of scanners and the building of state machines using state charts. It can be used to create very fast recognizers and parsers that are also robust.
- cbase
- cbase is a C library of useful functions that simplify systems software development on System V UNIX. The library includes routines for memory management, string parsing, filesystem traversal, subprocess execution, I/O, as well as implementations of common data structures such as linked lists, hash tables, stacks, and queues. The library also includes a high-level interface to Berkeley sockets, and an implementation of a scheduler which has functionality very similar to that of the cron daemon. Note: cbase was formerly known as CFL.
- dynamic compilation with javax.tools
- Many of today’s applications require dynamic capabilities, such as enabling users to supply an abstract form of computation that extends an application’s static capabilities. The javax.tools package, added to Java Platform, Standard Edition 6 (Java SE) as a standard API for compiling Java source, is a superb way to achieve this goal. This article provides an overview of the major classes in the package, demonstrates how to use them to create a façade for compiling Java source from Java Strings instead of files, and then uses this façade to build an interactive plotting application.
- DynamicJava
- DynamicJava is a Java source interpreter. It executes programs written in Java (as described in the Java Language Specification) with support for scripting features. DynamicJava was written in pure Java.
- Exorcist Java Syntax Extender
- Exorcist is a compiler of extended Java code. The compiler can be used in command-line mode, or through Ant. Basically, with no extensions configured, Exorcist only compiles the standard java code. To extend the language, you can plug in classes, which extend a single interface of the exorcist framework, and implement a single (and simple) method. That’s it.
- GLib 2.12.4
- About: GLib is a library containing many useful C routines for things such as trees, hashes, and lists. GLib was previously distributed with the GTK toolkit, but has been split off as of the developers’ version 1.1.0.
- High Level Assembly
- The HLA (High Level Assembly) language was developed as a tool to help teach assembly language programming and machine organization to University students at the University of California, Riverside.
- Hotpatching A Java 6 Application
- Hotpatching a Java application allows you to fix arbitrary code-level problems in a running application without terminating that application. Here Jack Shirazi covers the basics of how to hotpatch a Java 6 application
- JavaRebel
- JavaRebel reloads changes to Java classes on-the-fly without redeploy or restart including new methods and fields. It is a generic solution that works for standalone Java applications as well as application servers
- Spoon: Program Processing, Analysis, and Transformation in Java
- Spoon is a Java program processor that fully supports Java 5 and 6. It provides a complete and fine-grained Java metamodel where any program element (classes, methods, fields, statements, expressions…) can be accessed both for reading and modification.
- ULBC Libraries 0.0.8
- About: ULBC Libraries is a set of easy C libraries that provide classical data types and structures (string, hash, queue, stack, tree). It is focused on simplicity and portability. It uses ANSI C (C98 standard not required), and provides the most generic approach possible so that queues can have items of different types, hashes can have keys of different data types, trees can be binary trees or have arbitrary numbers of branches, etc.
- xFunction
- xfunction is a JNI proxy library for calling external functions written in any programming language directly from Java code. It can be used for reuse of legacy code and non-Java third party libraries
- jModuleLoader
- jModuleLoader is a set of classes that are designed to make runtime code loading easier.
- Libc-X 0.6
- About: Libc-X provides extentions to the standard C library implementing useful and powerful data structures and functions. Its Unix name is libcx. It is not a template layer. It’s made entirely with the C standard language, compatible with C++, and portable (currently Linux and Windows). All developed structures are designed to be used in stand-alone mode with limited dependencies with other features of Libc-X. For example, you can easily extract the header and the .c source of Hashtable and use it outside Libc-X.
- NENO
- Semantic network programming language
Natural Language Processing
- Text simplification - Wikipedia, the free encyclopedia
- Text simplification is an operation used in natural language processing to modify, enhance, classify or otherwise process an existing corpus of human-readable text in such a way that the grammar and structure of the prose is greatly simplified, while the underlying meaning and information remains the same. Text simplification is an important area of research, because natural human languages ordinarily contain complex compound constructions that are not easily processed through automation.
- CoPT, Corpus Processing Tools
- CoPT, Corpus Processing Tools, is a set of java classes intended to assist field linguists, NLP researchers and developers, students and software developers in all corpus-related processing.
- Jazzy - Java spell checker API
- Jazzy is a Java spell checker based on the algorithms used by aspell.
- JLinkGrammarParser
- JLinkGrammarParser is a Java port of the CMU link grammar parser, a syntactic parser for english.
- jSpellCorrect
- It’s a simple statistical spelling corrector.
- jTokeniser
- jTokeniser is a Java library for tokenising strings into a list of tokens. A variety of possible tokenisers are available, including a very basic whitespace tokeniser, a more flexible StringTokeniser, a couple of regular expression tokenisers, and a tokeniser that utilises Java’s BreakIterator, which provides more complex, locale dependant tokenisation. More recently, a tokeniser that add breaks text into its constituent sentences. All are very simple to use.
- Linguistic Tree Constructor
- LTC is a free program for building linguistic syntax trees from text.
It lets the user build the tree in a point-and-click fashion.
The program does no analysis on its own — the user is completely free to draw the tree however he or she wishes. However, the program makes sure that the tree is a tree and not some other kind of graph. - MII Medical NLP Toolkit
- This is a toolkit for medical natural language processing (NLP). The core engine is general enough to be used in a variety of text processing domains, though the toolkit includes specific support for medical reports and patient de-identification.
- nlpFarm
- The nlpFarm is a Natural Language Processing (NLP) resource where early research prototypes (Java) can evolve into robust and useful open source. Our farmstead collaborates under the OpenNLP initiative, in order to make NLP software publically available.
- OpenNLP
- OpenNLP provides the organizational structure for coordinating several different projects which approach some aspect of Natural Language Processing. OpenNLP also defines a set of Java interfaces and implements some basic infrastructure for NLP components
- Open source natural language tools
- Toolkit for implementing question answering systems and machine translation in both controlled languages and natural languages. Includes first order logic inference, parsing and semantic analysis, and APIs and standalone server software. Currently some t
- The OpenNLP Grok Library
- Grok is a library of natural language processing components, including support for parsing with categorial grammars and various preprocessing tasks such as part-of-speech tagging, sentence detection, and tokenization.
- The OpenNLP Leo Project
- Leo is a project to provide an architecture for defining XML specifications of grammars for different natural language parsing systems and tools for using that architecture to permit sharing of grammar resources across different systems.
- The OpenNLP Maximum Entropy Package
- Maximum entropy is a powerful method for constructing statistical models of classification tasks, such as part of speech tagging in Natural Language Processing. Several example applications using maxent can be found in the OpenNLP Grok Library.
- Visuwords™ online graphical dictionary - download source code
- Download the source code for Visuwords.
- Balie
- Extraction from Text with Machine Learning and Natural Language Techniques
- FerFT: Spectral Analyzer
- This software is for multi-purpose power spectral analyzer based on the successive Fourier transformation method. (® UTD) It has been developed with Java (ver.1.5) and works on any OS implemented Java ver.1.5 or later.
- Julius Speech Recognition Engine
- Julius Speech recognition engine
- Modular Audio Recognition Framework
- MARF is a general cross-platform framework with a collection of algorithms for audio (voice, speech, and sound) and natural language text analysis and recognition along with sample applications (identification, NLP, etc.) of its use, implemented in Java.
- VoxForge 0.0.1
- Speech recognition support
- OpenCCG: The OpenNLP CCG Library
- OpenCCG, the OpenNLP CCG Library, is an open source natural language processing library written in Java, which provides parsing and realization services based on Mark Steedman’s Combinatory Categorial Grammar (CCG) formalism.
- Joone
- Joone (Java Object Oriented Neural Engine) is an artificial neural network Java framework. It is used to build and train neural networks with a powerful visual environment. It has a modular design and can be easily extended by writing new modules to implement new learning algorithms or architectures.
Robotics
- CLARAty Software
- This site contains information about the CLARAty reusable robotic software framework, videos of the capabilities that were demonstrated on real and simulated robotic platforms, and information on how to download and run the software. CLARAty stands for Coupled-Layer Architecture for Robotic Autonomy. It is a collaborative effort among four institutions: Jet Propulsion Laboratory, NASA Ames Research Center, Carnegie Mellon, and the University of Minnesota.
- jHomeNet :: Java Home Automation
- jHomeNet is a home automation application written primarily in Java used to monitor and control sensors and devices around your house. The application uses of a number of existing communication technologies including Dallas Semiconductor’s 1-Wire and X-10 protocols. Administration and control of the software is through a GUI written entirely using the Swing development tools but makes use of a number of third party libraries.
- C# machine vision
- Sentience is a stereoscopic vision and mapping system for mobile robots. It was developed initially as part of the Rodney humanoid robot project, and has been refined over several years. The system uses cheap low resolution webcam technology to acquire images and calculate a depth map from them.
- DP-SLAM robot vision
- Welcome to the DP-SLAM web page. DP-SLAM aims to achieve truly simultaneous localization and mapping without landmarks. While DP-SLAM is compatible with techniques that correct maps when a loop is closed, we have found that DP-SLAM is accurate enough that no special loop closing techniques are required in most cases. DP-SLAM makes only a single pass over the sensor data.
- javavis
- A Computer Vision Library in Java
- NeatVision
- NeatVision is a free Java based image analysis and software development environment, which provides high level access to a wide range of image processing algorithms through well defined and easy to use graphical interface. NeatVision is in its second major release. New features include: A full developers guide with method listings and programme examples, DICOM and Analyze medical image sequence viewers, URL control, feature fitting, supervised and unsupervised colour clustering, DCT, Improved FFT, 3D volume processing and surface rendering.
- Orocos
- Open Robot Control Software project. The project’s aim is to develop a general-purpose, free software, and modular framework for robotand machine control. The Orocos project supports 4 C++ libraries: the Real-Time Toolkit, the Kinematics and Dynamics Library, the Bayesian Filtering Library and the Orocos Component Library.
- S.O.N.I.A. - Système d’Opération Nautique Intelligent et Autonome
- Student club of Ecole de Technologie Superieure who build an autonomous submarine for the AUVSI competition.
- The Orocos Project | Smarter control in robotics & automation!
- Home for C++ libraries for advanced machine and robot control.
Vision
- OpenCV Library
- OpenCV (Open Source Computer Vision) is a library of programming functions mainly aimed at real time computer vision.
sarah on 02 Jan 2008 at 10:21 pm #
Hi, Please help me to find source code in c# for this algorithms( ID3,ILA,and APriori associative in Data Mining.
send me at my email smile_neat@hotmail.com
If you could help me I am gratefull.
Steve Reed on 02 Jan 2008 at 10:51 pm #
Hi Sarah, as the Texai project is implemented in Java, I do not collect nor generally monitor Microsoft C# software. Perhaps someone reading your comment can help.
-Steve
Steve Hedges on 08 Jan 2008 at 9:40 pm #
Thanks a lot for this very valuable resource!
Mohan Embar on 18 Jan 2008 at 3:07 am #
Hi Steve,
Thank you for everything you’re doing and good luck.
I’ve been banging my head on this for a couple of hours now. When I do this query in OpenCyc:
(#$implies
(#$isa ?X
(#$FruitFn #$OrangeTree))
(#$isa ?X #$EdibleFruit))
I get back an affirmative, but by eyeballing your OpenCyc RDF, I have no idea now this can be inferred. Any clues?
Steve Reed on 18 Jan 2008 at 2:07 pm #
Hi Mohan,
Well the first problem is that my OpenCyc RDF extract does not include non-atomic terms such as (#$FruitFn #$OrangeTree). Cycorp created many such terms in order to avoid creating terms like Orange-TheFruit. But supposing that there was such a thing as Orange-TheFruit in the RDF, then it would be defined to be an instance of EdibleFruit and the inference would be true by look up. In my copy of ResearchCyc, any non-atomic term using FruitFn is defined to be an edible fruit. In the Texai project I will have to create ordinary RDF terms for all the things that are non-atomic in Cyc.
Hope this answers your question.
-Steve
Mohan Embar on 19 Jan 2008 at 1:48 am #
Hi Steve,
Thanks for your answer. I got some additional clarification on my end too. I hadn’t realized that you can search for things like “(#$FruitFn #$OrangeTree)” and get back the actual definition of the NART. I see that in the 1.02 knowledge base, they’ve done (genls (FruitFn OrangeTree) CitrusFruit), where (genls CitrusFruit EdibleFruit).
Is the absence of NARTs in your extract a limitation of your extract program of the Cyc API for extracting stuff? Is there any reason you couldn’t have assigned temporary, easily identifiable names to these extracted NARTs and then clean these up by hand later on?
Thanks again.
– Mohan
Mohan Embar on 19 Jan 2008 at 1:50 am #
>Is the absence of NARTs in your extract a
>limitation of your extract program of the
>Cyc API for extracting stuff?
Oops. I meant “or the Cyc API for extracting stuff”
– Mohan
Steve Reed on 20 Jan 2008 at 8:07 am #
Mohan, actually RDF cannot represent non-atomic terms.
-Steve
Mohan Embar on 21 Jan 2008 at 6:14 am #
Hi Steve,
I understand that. What I meant is that if in OpenCyc 1.02, you type the following term into the upper lefthand search box:
(#$FruitFn #$OrangeTree)
…you’ll be taken to a page where they’ve apparently created an explicit definition of (#$FruitFn #$OrangeTree) and added comments like “oranges”, “fruit of the orange tree”, etc. as well as created additional definitions for things like orange juice, etc. This leads me to believe that somewhere in the KB, (#$FruitFn #$OrangeTree) has been explicitly instantiated.
Does that make sense? If so, is there any way to get at these explicit instantiations using the Cyc API and create corresponding explicit instantiations like #$Orange-TheFruit in your KB? I understand that if this is possible, when you run across such an explicit instantiation of a NART, you won’t necessarily be able to infer the appropriate name for this, which is why I mentioned the possibility of creating temporary identifiers for these things and hand-cleaning these up later.
Does any of this make any sense or am I just babbling nonsensically?
– Mohan
Linas Vepstas on 11 Mar 2008 at 11:02 am #
Hi,
A bit of NLP promo/advertising:
The CMU Link Grammar parser is now actively maintained, at http://www.abisource.com/projects/link-grammar/
and now includes Java bindings, etc.
The RelEx semeantic relation extractor
https://launchpad.net/relex or
http://opencog.org/wiki/RelEx
provides a semantic markup of parsed sentences;
including semantic framing (inspired by framenet)
anaphora (pronoun) resolution, entity detection, etc.
Nasir on 27 Mar 2008 at 10:04 pm #
Please tell me how can I download and use code and its documentation of CMU Pronunciation Dictionary available at your site. Kindly send me its code and documentation through email. I am failed to get it from your web site, it is password protected and some links give me errors.