wintermute-devel team mailing list archive
-
wintermute-devel team
-
Mailing list archive
-
Message #00206
[update] todo list and info
*First off, hello and thank you for remaining with the Wintermute
project!* The project officially began on the 11th of January and now
we're roughly 5 months into development. Every ounce of effort made by
everyone who has contributed was, is and will be greatly appreciated!
Now to work; the subject says it all. This is an abrupt *to-do* list.
But there is a few things to be mentioned.
Gentoolx has been diligently working to replace the archaic Autotools
system with the modern CMake system, bringing recipes on Launchpad and
populating our PPA! You can read more about installing what's available
on the Institute's wiki and blog. But now for the todo's. Some of these
TODOs can be found in the branches (or in Doxygen, after building it);
and should be removed or marked as *@fixed* when completed.
linguistics
* Assist work in implementing the remaining components as pinpointed
in *EnglishParser.cpp*
o Determine a way to detect specific characters in a token (ln
56, rev 29)
+ detect boundaries like parentheses and braces.
+ detect punctuation like periods, commas, semi-colons.
+ detect if token is fully numeric, alphanumeric, or
fully alphabetical.
o Implement a means of having consistency of pronouns to their
respective nouns. In a sense, implement a means of having
"she", "he" and "it" become verbal pointers to nouns like
"Mary", "Tom", and "Fido".
+ Add this information to the parser
+ optional: allow it to be serialized using
Boost::Serialization.
* *Implement a pattern-matching NLP approach*
o There's a chance that the NLP used in WntrLing /may not
/work, and may also bring false positives. After a bit of
pseudo-testing; I've noticed that the NLP here would be a
BNF-style grammar and that's what we're *trying to avoid*.
If possible, we want Wintermute to learn language rules and
be able to bend them when it knows to do so appropriately.
This might mean we'd need a super-flexible, blindingly
complex system that lexically understand text and develop
its own syntax. *This is where the Psych team is needed for
testing*, when code is available.
o *If you wish to assist with this, please report to ##sii-dev
within the hours of 8PM - 4AM UTC (4PM - 12 PM EST/D) to
discuss this topic. A wiki page will be up soon about this
before the close of the week.*
**
database
* Implement/integrate a system for parsing and saving OWL nodes into
objects as portrayed in *ontology.*pp*
* Continue implementing Boost::Serialization compatibility XML to
have a serialized *Lexical* object look like:
<Lexical *id*="${ID}" *locale*="${LOCALE}" *symbol*="${SYMBOL}">
<Flag *ontoid*="${ONTOLOGICAL_ID}" *flags*="${LEXICAL_FLAGS}" />
</Lexical>
ie: (for the word '*you*'; not really the semantic/syntactic bindings)
<Lexical id="0" locale="en" symbol="you">
<Flag ontoid="0" flags="Ad2" />
<Flag ontoid="0" flags="Ae1*" />
</Lexical>
network
* Continue/finish implementing of the Server and Client classes
o Allow a port to be specified from a macro (_WM_PORT) and use
only one port for every server and client.
* Permit serialization/deserialization of C++ objects that are
Boost::Serialization-able via Network::Message, thus creating a
transportable, unified means of data transmission.
* Implement a means of determining the existence of other Wintermute
processes on the same network by using (hopefully only)
BroadcastMessages.
* Record a log of:
o last seen / first seen instances
o IP Addresses of seen instances
ui
* *Textual User Interface
*/Most of this would be implemented in the master branch; with
modifications to the other branches../
o Core application should use a *--debug* or *--verbose* flag
to allow more concise output needed for debugging.
o A *--enable-exception-handler* might be overkill, but when
an exception is thrown, have the stack trace dumped out to
*c* (cerr, clog, etc.)*.
o Allow *--data-directory=DATADIR* to specify a different
location for WntrData's information.
o Allow *--locale=LOCALE* to specify a different locale upon
initialization (although there's only the English one so far).
* *Graphical User Interface*
/For cross-distro support, Qt will be used for front-end purposes.
GTK bindings can be done and if well done, will be taken on for
support./
* *Natural Language User Interface*
/This UI system will be heavily dependent on the NLP to be
proficient. It is to be remembered and considered, but not
approached at the moment./
packaging & build system
* Work on the Debian packaging for:
o wntrntwk
o wintermute
miscellaneous
* Complete documentation information for places that are missing
(WntrLing-core, WntrNetwork, WntrData)
* Propose new features for underlying applications.
* Consider working on integrating a speech synthesizer and voice
recognition engine into Wintermute.
o Voice Recognition: Julius (http://julius.sourceforge.jp) or
CMU Sphinx (http://cmusphinx.sourceforge.net)
o Speech Synthesizer: MARY TTS (http://mary.dfki.de)
* Start implementation to expose *the entire *code-base to other
languages; such as
o C
o Python
o Haskell
o (other languages can be proposed and discussion at
http://www.thesii.org/wiki/SII:Projects:Wintermute:Techbase)
In order for us to hit a full release, we need to hit each and every
bullet as displayed on
http://www.thesii.org/wiki/index.php?title=SII:Projects:Wintermute:Blueprints:Roadmap:0.01a.
With that; we'd have the 0.01a release of Wintermute.
Work's also being done to populate
http://www.thesii.org/wiki/SII:Projects:Wintermute:Techbase for
compiling purposes.
*Please don't be afraid or hesitant to ask a question or plop onto our
personal IRC channel (on Freenode) [##sii-dev]!*
*NOTE: *There's a chance that we (developers) may have to hold a
meeting. A doodle for scheduling will be dumped onto the mailing list
within a day or two.
*Once again, thank you.*
--
Jacky Alcine Site <http://www.jackyalcine.co.cc>|Launchpad
<https://launchpad.net/%7Ejackyalcine>
begin:vcard
fn:Jacky Alcine
n:Alcine;Jacky
email;internet:jackyalcine@xxxxxxxxx
x-mozilla-html:TRUE
version:2.1
end:vcard