Chris Meyer

NAME

Harvey::Verb - Harvey module for parsing verbs.

SYNOPSIS

  use Harvey::Verb;

  The is still very much a development module.  See the website:
  www.mytechs.com for more details on the project.

  Verb.pm builds on top of Word.pm, which provides the Word objects which
  are used by Verb.pm.

  See Word.pm for information on using Word.pm to obtain information about
  Word objects.  Verb objects are created by passing an array of Word objects
  (A) which constitute a sentence, as an argument to the Verb object
  constructor.  $V = Verb->new(\@A);

  The Verb object parses the verb in the sentence upon initialization to the
  best apparent parsing.  The Verb object can then be queried for information
  about the verb object using the following methods.

  See the Harvey module for a simple dialog routine that uses the Verb module
  to parse sentences and pull the verb information from them.

DESCRIPTION

  The following methods constitute the interface to this object:

  new 
    Constructor.  Send in an array reference to a block of word objects 
    (Word.pm) to have the verb information parsed and made available.  If
    no argument is passed in, then a blank verb is set up which can be
    manually stuffed with information.

  words 
    Method to load or retrieve word arrays from the object.  If a word array
    is loaded manually after the initialization of the object, then the 
    parsing must be performed by a call to parse() or best().

  used 
    Returns an integer with bits set indicating which words in the array
    are used in the verb complex.  This will be used to match verbs against
    nouns in a sentence when the noun module comes out.

  best
    Calculates the best parsing of the sentence based on how many word are
    involved in the parsing and whether they are started off by the most
    common verb starters.

  complete_tense 
    Returns a string rendition of the tense of the verb in the word array.

  show_adverbs 
    Returns the adverbs in the verb complex as strings for show.

  tenses 
    Returns the Int which stores the tenses, and/or, sets the tenses if an
    Int is sent in.  Used mainly to set up modal verb objects from scratch.

  present
    Get/Set present tense.  Input of 1 or 0 sets or clears the present 
    tense.  All calls return the final status of the present tense flag.

  past
    Get/set past tense as above.

  perfect
    Get/set perfect tense as above.

  progressive
    Get/set progressive tense as above.

  infinitive
    Get/set infinitive flag as above.

  persons
    Get/set the persons information.  The persons information is stored
    in an integer with a flag for the 1st pers sing, 2nd sing. 3rd sing,
    etc.  Send in an integer to set it.  The current values is alwasys
    returned.  Verbs, Noun object (when they come out) both indicate what
    possible persons they would support.  This allows for convient checking
    of subject verb agreement.

  verb
    Gets/set the infinitive of the main verb as a string

  adverbs
    Get/sets the array of adverbs found in the sentence.  Arguments are 
    passed in and out as a reference to an array.

  sentence_type
    Get/sets the sentence type.  Arg in and out is an integer.  
    0 = statement, 1 = question, 2 = command.

  statement
    Get/set whether the sentence is a statement.

  question
    Get/set whether the sentence is a question.

  command
    Get/set whether the sentence is a command.

  best
    Finds the best parsing based on the number of words (more is better) 
    in the verb structure and obviousness of the leadoff verb. 

  parse
    Performs the parsing of the object.  Takes three possible integer
    arguments (0|1|2).  0: always start parsing on exact matches to 
    helping verbs or modals; 1: always start parsing on verbs the are
    most frequently used as verbs; 2: allow any potential verb to start
    the parsing.  0 is default

EXPORT

None by default.

AUTHOR

Chris Meyer<lt>chris@mytechs.com<gt>

COPYWRITE

  Copywrite (c) 2002, Chris Meyer.  All rights reserved.  This is 
  free software and can be used under the same terms as Perl itself.

VERSION

  1.02

RELATED LIBRARIES

  My heartfelt thanks to Adam Kilgarriff for his work on the BNC 
  (British National Corpus) which forms the basis for the word.db.
  I have added and massaged it a bit, but I would never have gotten
  this far without it.  The BNC can be visited at
  http://www.itri.brighton.ac.uc/~Adam.Kilgarriff/bnc-readme.html.

DATA LOCATION

  Harvey uses algorithms AND data to work.  The program looks for 
  a file called 'system.dat' in the startup directory.  In this file
  it looks for a line that reads 'path=your_path', where your_path
  is the directory where the data resides.  

HARVEY

  The accompanying Harvey module comes with a simple dialog routine 
  that uses Verb.pm to demonstrate the parsing of sentence.

perl.