/KiwiPredator

Sometimes, evolution sucks!

Primary LanguageJava

KiwiPredator

Copyright 2013 Zekai Huang

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Sometimes, evolution sucks!

Sometimes, evolution sucks! That's why we are building Artificial Intelligence.

KiwiPredator is a first orderized wikipedia, which extracts first order predicate calculus from Wikipedia and stores in EulerDB.

NOTE: This project is currently nothing more than some scratching code, thus not really following any oop, coding practise.

============

  1. Architecture

Architeture

  1. Components

2.1 Parser

Parser is the component that converts sentence into a parser tree. Which is done by Stanford Parser.

2.2 Extractor

Extractor is the component that extracts subject, predict and object from a sentence. It contains two main parts -- a tree-based regular expression engine and a interpreter that convert the rule definition language into tregex format. The Tree-based Regular definition language (TRDL) has two characteristics.

  • Markup Language
  • Inheritance

There are three main types of TRDL. Splitting, Pruning and Replacing.

  • Splitting: Mainly used for splitting one tree into several subtrees.
  • Pruning: Mainly used for pruning uninterested parts.
  • Replacing: Mainly used for replacing pronoun, tense and number type.

2.3 Evaluator

Evaluator reviews the hypothesis and either takes it as a new item of knowledge or discard it. In either case, it will send feedback to the TRDL.