/linkparser

A high-level interface to the CMU Link Grammar. (fork)

Primary LanguageRubyBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

= Ruby-LinkParser

This module is a Ruby binding for the link-grammar library, a syntactic parser
of English. 

== Authors

* Michael Granger <ged@FaerieMUD.org>
* Martin Chase <stillflame@FaerieMUD.org>


== Requirements

* Ruby 1.8.6
* link-grammar (version 4.6.5 or later) from the AbiWord project 
  (http://www.abisource.com/projects/link-grammar/) 


=== Example Usage

  require 'linkparser'

  dict = LinkParser::Dictionary.new( :screen_width => 100 )
  sent = dict.parse( "People use Ruby for all kinds of nifty things." )
  # => #<LinkParser::Sentence:0xcf8eb "LEFT-WALL people use Ruby for all kinds
  #      of nifty things . RIGHT-WALL"/2 linkages/0 nulls>

  sent.subject        # => "people"
  sent.verb           # => "use"
  sent.object         # => "Ruby"

  puts sent.constituent_tree_string
  # =>
  # (S (NP People)
  #    (VP use
  #        (NP Ruby)
  #        (PP for
  #            (NP (NP all kinds)
  #                (PP of
  #                    (NP nifty things)))))
  #    .)

  puts sent.diagram
  # =>
  #     +-------------------------------Xp------------------------------+
  #     |                +----MVp---+----Jp----+     +------Jp-----+    |
  #     +----Wd---+--Sp--+--Os-+    |    +-Dmc-+--Mp-+    +----A---+    |
  #     |         |      |     |    |    |     |     |    |        |    |
  # LEFT-WALL people.p use.v Ruby for.p all kinds.n of nifty.a things.n . 


== Legal

For licensing information, see the LICENSE file.

For copyright and licensing information for link-grammar itself, see the
LICENSE file in that distribution.

 $Id$