← Back to team overview

speechcontrol-devel team mailing list archive

SpeechControl: The Anthology

 

SpeechControl is the brainchild of Manuela Popping, from the
Netherlands. In such a short period of time,she was able to accumulate,
direct and have joined a tram of individual s that are committed to the
task of giving back to the Ubuntu society. Her efforts led to start a
wave of production that'll change how Ubuntu users use their
distributions, and possibly for all of Linux. Such a feat is one that
would be seized, exploited, and *closed-sourced*by corporations,
industries and other selfish individuals. You're probably curious as how
to *libopenmary*, *python-openmary*, and even
*speechcontrol-daemon*could ever attempt a feat as large as this.


Truth is, they won't. But *wintermute*will. Wintermute
(https://www.launchpad.net/wintermute) is a project that the developers
of SpeechControl have unknowingly signed up for. This is something I
must deeply apologize. Such a project is one that should I have asked
you before even considering doing such a thing. The primary reason why I
felt that SpeechControl Developers were qualified was this: the amount
of work, interaction and comfortability we had with each other so far; I
felt that it was safe enough for me not to speak on your behalf, but to
enlist you into a project that you'd find beyond interesting, and might
freak you out. It took me off guard as how to this application started
as well. Due to a bit of discussion though, the code isn't fully mine to
have it uploaded to Launchpad, this has to be spoken and mulled over
once more by the admins. But for now, I will link you to a set of
websites for you to being wrapping your mind about the journey as
SpeechControl Developers will embark.


First off, you need to know what a neural network is, skim about the
Wikipedia page for more information. Secondly, you need to understand
the different between *AI*(Artificial Intelligence) and *AGI*(Artificial
General Intelligence). The contrasting attributes of these two will
heavily outline our goals.


For now, we need to need to achieve the following *after*we finish
working on openMary or after it hits version 0.3:


   1.

      *Wiki Knowledge Base*
      Initially the idea was to use a predefined ontology (look this up
      as well), but we'd rather it be up to date and refreshable. So the
      idea behind this snazzy devil is simple. Instead of having every
      single piece of data stored into one chunky file, a directory with
      individual file as if they were defined as nodes within the
      Wikipedia database are stored and are readily more available than
      having it squished into one store. And instead of having a file
      that defines each word and its corresponding file; each word's MD5
      hash can be used instead. For words with different meanings, it
      can be enumerated within their corresponding data file. This is
      the preliminary blueprint for project *winter-kb*. The knowledge
      base will have a plethora of sections, of which three stores are
      implemented.

          *

            The *short-term*, or more immediate data is what's loaded in
            memory for more rapid access and can be flashed for testing
            purposes. This data is what we'd compare to as the things
            we'd remember /all/the time; it's considered "always on our
            mind".

          *

            The *long-term*, or the repository of "infinite
            knowledge"//is what makes the magical click of the knowledge
            base, this is where all of the information from Wikipedia is
            stored. This data should be updated as often as possible
            with a server that we can set up, hosting a cache of
            Wikipedia's information so that the need of working back and
            forth with huge masses of data isn't done on the end-user
            client.

          *

            The *dynamic*, or the user defined memory, is the more
            interesting aspect of the knowledge base. Kept separate from
            the long-term store; this is the information indexed off of
            the user's computer. This information should remain on the
            user's computer unless they choose to push their information
            to our system. The data here should be checked heavily for
            corruption, spell-checking and proper usage so that the user
            doesn't have any irregular interactions.


      The back-end of this should allow each and every object, word, and
      topic to be accessible via a specialized, numeric machine-readable
      syntax, similar to memory locations. As you can see, such data
      interactions must be speedy, snappy and efficient. We could
      implement a wizard that, as it guides the user through
      installation of Wintermute, index some immediate information for
      the dynamic store and set up topics that are likely to fall within
      the short-term, and perhaps the kind of extra information that
      they'd like to download to the long-term. It's all about the
      knowledge!

   2.

      *Natural Language Composition*
      This is a bit more difficult task than the previously one
      described. This project consists of enabling Wintermute to speak
      to a user in his or her native language. A background of
      linguistics and NLP (Natural Language Processing) will be required
      for this section. Even after the NLC system has the rules of
      grammar down for a specific languages (grammar-pack), it must
      learn other aspects of the language specified (speech-pack), and
      those two can be put together can shipped off via a langpack.
      There should be a front-end or a simple means of having
      translations and sample sentences be pushed up to Wintermute
      Translations for scrutiny and analysis. The *grammar-pack*,
      *speech-pack*, and *langpack*are all archives in the 7z format,
      that of which will be included if not found on the user's system.

   1.

      A *grammar-pack*consists of the parts of speech as defined for a
      specified language. This way, the sentence "The blue table" and
      "La mesa azul" are both converted properly back to
      machine-readable syntax, and visa versa. The file should be
      compressed and

   2.

      A *speech-pack*consists of the sample setups that conversation
      would (or would be considered) to normally follow in a certain
      language. For example, this is a typical English greeting:

      Wintermute: "Hello, how are you?"
      User : "I'm fine, thanks for asking."

      As for in Haitian Creole (my country of origin):

      Wintermute : "Sak pase?" (What's up? / Literal: What's cooking?)
      User: "Nap boule, Wintermute." (Nothing much / Literal: Nothing's
      burning.)

      The phrases are different, but they both do the same thing; they
      *greet*. Simple interactions of the sort can be created, compiled
      and packed by a user and shipped off to Wintermute Translations to
      scrutinize.

   3.

      A *langpack* is a fusion of the *grammar-pack* and *speech-pack*,
      just to make porting a bit more simpler for users. The exception
      is that it's like a dummy .deb; it links speech to grammar and
      permits updates and edits.


Now that you have a initial understanding of what it is I ask from you;
I have to add this. From now on, at the start of this project, all
e-mails will be encrypted and signed by the SpeechControl key (that of
which I'll personally e-mail to everyone). This key is *not to be
shared* or saved on-line, at any cost. If you lose this key, you *must*
contact the admins or enter the developers' channel and request for me
to send you a new copy. The reason, once stated before, for these
security measures are to ensure that the code, in its early stage,
remains open-sourced and not hijacked by a money-grubber. We'll work on
making a derivative of the GPLv3 license that complies to our needs and
copyrighting, but as for now, this project is something that only
SpeechControl should refer to. You can mention it, but do not, under the
maximum circumstances, release any code to anyone without consulting the
admins.


*Thank you.*


NOTE: We have a general team meeting the 21^st of January, 20:00 Ubuntu
Time (UTC). Be there!


-- 
*Jacky Alcine* Launchpad <https://launchpad.net/%7Ejackyalcine> | Wiki
<https://wiki.ubuntu.com/jackyalcine> | Blog
<http://jdevelopthis.blogspot.com>
begin:vcard
fn:Jacky Alcine
n:Alcine;Jacky
email;internet:jackyalcine@xxxxxxxxx
tel;work:N/A
tel;fax:N/A
tel;pager:N/A
tel;home:N/A
tel;cell:N/A
x-mozilla-html:TRUE
version:2.1
end:vcard

Attachment: signature.asc
Description: OpenPGP digital signature