-
Notifications
You must be signed in to change notification settings - Fork 5
/
README
74 lines (53 loc) · 2.64 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
Virsona ChatBot Tools
This repository contains a sophisticated plugin-framework for natural
language and artificial intelligence projects, and a collection of
plugins for that framework from the ChatBot developed by Virsona, Inc.
The libraries may be linked through directly, or used through the
plugin framework.
All of this material is released under an LGPL, v3, license. All code
is in C#.
The repository is contains material of five types:
*** PluggerBase
This is the plugin framework. It provides a way for plugins (dll's
with the extension .vip) to expose data sources and "handlers".
Handlers provide the ability to perform different functions, roughly
thought of as translating arguments from one kind to another. If no
plugin can perform a requested conversion, a collection of partial
conversions will be attempted.
PluggerBase relies on ActionReaction, available at
https://github.com/jrising/ActionReaction. The references throughout
the project assume that ActionReaction is contained in a subdirectory
of the git repository root.
*** Tools
*Grammarian* provides a common code base for all of the natural language
processing currently available, as well as helper functions to
abstract away the plugin environment.
*GenericTools* is a collection of Generic classes that are generally
useful. The Enumerables do not rely on PluggerBase, while the
DataSources do.
*** Plugins
The currently exposed plugins are as follows. To use them, put the
compiled library dll into the plugin environment's data directory,
with the extension ".vip".
*HeppleTagger* is a C# implementation of Mark Hepple's part of speech
tagger.
*AgentParser* is a class-based phrase parser (that is, constructing
strucutres of typed phrases), which can also perform paraphrasing.
*DummyWordNet* is a very simple WordNet dummy, for testing tools that
use the wordnet data sources without exposing the whole of WordNet.
*MemcachedWordNet* provides access to WordNet, and relies on memcached
for efficiency.
*Morphologer* provides functions for changing the number of nouns and
and inflecting verbs, based on David Levy's DoMuchMore project.
*** data
The data directory contains compiled plugins and data files that those
plugins use. It also contains config.xml, the configuration file
provided to the plugins.
*** Test Paraphrasing
A simple project which compiles all of the plugins and tests their
paraphrasing capabilities.
To use the provided source code, do the following:
* Install memcached, and start the service
* Put the data/ directory somewhere, and change data/config.xml and
the plugbase variable in Test Paraphrasing/Main.cs to point to it.
* Run Test Paraphrasing.