ANNOUNCE: Lingua::EN::Dict v0.20 beta 
Author Message
 ANNOUNCE: Lingua::EN::Dict v0.20 beta

Greets perlfolk,

This is to announce the BETA release of:

    Lingua::EN::Dict v0.20

Recomended download URL:
http://www.*-*-*.com/ :clp.misc

This file has also entered the CPAN as:

  file: $CPAN/authors/id/J/JB/JBRYAN/
  size: 88914 bytes
 md5: 6566bd7f410f3111b1e41088836fc489


Lingua::EN::Dict - BETA Version of XML english dictionary storage.


 use Lingua::EN::Dict;

 my $dict = Lingua::EN::Dict->new('words.xml');
 my $part_of_speech = $dict->type('abash');
 my $verb_tense = $dict->tense('zoomed');
 my $flag1 = $dict->is_verb('utilizes');
 my $flag2 = $dict->is_verb('utilized');
 my $flag3 = $dict->is_verb('utilizing');

 my $defenition = $dict->defn('vindicate');

 undef $dict;
 $dict = Lingua::EN::Dict->new(
  server  =>
  port  => 7778,
 # defaults to local file 'words.xml' if it
 # cannot reach server.
 # everything in first paragraph works here too

 undef $dict;
 $dict = Lingua::EN::Dict->new(
  server  => localhost
  port  => 7778,
 # everything in first paragraph works here too

 undef $dict;
 $dict = Lingua::EN::Dict->new;
    # same as above consructor, defaults to local file
    # 'words.xml' if it cannot reach server.
 # everything in first paragraph works here too



This is a small module I came up with to use as a storage format for
my humble attempt at a natural language parser (or a subset of natural
language - english that is). This is a seperate module that stores
the words in an xml-format file. With the distribution file, you
should have received an XML file called 'words.xml' that contains almost
3000 words consiting of several hundred verbs (not counting the seperate
forms of each of the verbs), as well as several hundred nouns, and
adjectives, articles, and modals. This module was created for the
storage and retrieval of words from the XML file.

The main reason for the beta relerase of this module is this: I would
like any and all feedback on the TCP server setup that I have added
to this module.

I often got fed-up with having to wait 20 - 40 seconds for the new()
constructor to load and parse the entire 590k of words just to run a
simple 2 line test script. And since I like to tweek and run, tweek
and run (the life of a Perl programmer, eh? :-), it was really annoying
to have to wait 30 seconds for each test to run, when the actual test
script took less than 50ms to run.  Sooooo... I added a simple TCP transfer
setup for the dictionary.

To invovke a server process for the dictionary, simply use this one-liner:

% perl -MLingua::EN::Dict -e daemon

daemon() is a function automatically exported by this module for just this
purpose. It binds a TCP server to port 7778, accepting input from any IP
address and loads the file 'words.xml' into a dictionary object for

To create a client for this server, simply use:

 my $dict = new Lingua::EN::Dict;

This automatically tries to connect to the server on port 7778 of '
localhost'. If it cannot connect to the server, it emits a warning
and proceeds to try to load the default file 'words.xml'.

The reason I released this beta version was to get input from those of
you who might have some idea of how to make sure I don't leave any
security holes in the TCP server portion.


Josiah Bryan

Wed, 26 Mar 2003 12:02:17 GMT  
 [ 1 post ] 

 Relevant Pages 

1. ANNOUNCE: Lingua::EN::Dict v0.20 beta

2. ANNOUNCE: Business::ISIN v0.20

3. ANNOUNCE: Graphics::ColorNames v0.20

4. ANNOUNCE: Term::Getch v0.20

5. ANNOUNCE: AI::NeuralNet::Mesh v0.20

6. ANNOUNCE: Term::Getch v0.20

7. ANNOUNCE: Lingua::EN::Inflect 1.81

8. ANNOUNCE: Lingua::EN::Inflect 1.02

9. ANNOUNCE: Lingua::EN::Inflect 1.00 (English plurals)

10. ANNOUNCE: Lingua::EN::Infinitive V 1.07

11. ANNOUNCE: Lingua-EN-Infinitive V 1.04

12. ANNOUNCE: Lingua::EN::Inflect 1.87


Powered by phpBB® Forum Software