NAME
    WebService::GoogleHack README

VERSION
    0.15

SYNOPSIS
    GoogleHack is a set of Perl modules that does a variety of text
    processing using the World Wide Web as a source of information.

    The module GoogleHack.pm acts as the "driver" module for all the
    sub-modules such as Search, Spelling, Text, and Rate.

Basic Features
    * Allow the users to to query Google .
    * Retrieve Spelling Suggestions .
    * Retrieve Cached web pages in a readable format.
    * Retrieve Number of hits.
    * Retrieve Time Taken for Query.
    * Retrieve snippets.

Advanced Features
    * Find the Pointwise Mututal Information (PMI) measure between two words

    * Given a paragraph find if the paragraph has a positive or negative
    semantic orientation.

    * Given a set of words along with a positively oriented word such as
    "excellent" and a negatively oriented word such as "poor", predict if
    the given words are positive or negative in sentiment.

    * Given a set of phrases along with a positively oriented word such as
    "excellent" and a negatively oriented word such as "poor", predict if
    the given words are positive or negative in sentiment.

    * Given two or more words finds a set of related words.

IMPLEMENTATION DETAILS
    GoogleHack is made up of 5 PERL modules:

            1) GoogleHack.pm

            2) Rate.pm

            3) Search.pm

            4) Text.pm

            5) Spelling.pm
        
  GoogleHack.pm
    GoogleHack.pm ties together all the functionality of the Rate,
    Search,Text and Spelling modules. Hence, by just creating an object of
    type GoogleHack, the user will be able to call all the functions of the
    other modules. In addition to acting as a single interface to the other
    modules, GoogleHack.pm also provides the functions to find the set of
    related words.

    Google Hack supports two methods for finding sets of related words. These
    are known as Algorithm 1 and Algorithm 2  
    (http://search.cpan.org/~prath/WebService-GoogleHack-0.11/GoogleHack/GoogleHack.pm#PACKAGE_METHODS). 
    These algorithms are implemented in the module GoogleHack.pm. You can see an example program
    that calls these algorithms here 
    (http://search.cpan.org/~prath/WebService-GoogleHack-0.11/GoogleHack/Examples/WordCluster.pl)
    
  Rate.pm
    Rate.pm is the sub-module of GoogleHack that implements all the
    sentiment classification and relatedness measures of GoogleHack.
    Functions include,

            * Predict the semantic orientation of words
            * Predict the semantic orientation of phrases
            * Predict the semantic orientaiton of reviews
            * Measure the semantic relatedness between words

    Though the functions in this module can be accessed directly, it is
    advised to use the GoogleHack module to interact with this module.

  Search.pm
    Search.pm is the sub-module of GoogleHack that implements the feature
    that interacts with the Google search engine. Though the search
    functions in this module can be accessed directly, it is advised to use
    the GoogleHack module to interact with this module.

  Spelling.pm
    Spelling.pm is the sub-module of GoogleHack that implements the spelling
    suggestion feature of Google. Though the spelling suggestion functions
    in this module can be accessed directly, it is advised to use the
    GoogleHack module to interact with this module.

  Text.pm
    Text.pm is the sub-module of GoogleHack that implements the text
    processing functions. Basic features include,

            * Retrieve words from text
            * Retrieve n-word sentences from text
            * Remove formatting such as HTML tags from text

    These features are used by some of the other modules of GoogleHack.

DEPENDENCIES
    This module requires these other modules and libraries:

    To use this package, you need to have a Google API ID, and the
    GoogleSearch.WSDL File. You can register for this service and download
    the required materials @ http://www.google.com/apis/

    Other packages that you will need:

    (See INSTALL file more more information on how to install these
    packages)

    * SOAP::Lite

    * HTML::TokeParser

    * Text::English

    * LWP

    Additional Package if using Sentiment Classification functions:

    * Brill Tagger (This is not a PERL module - See INSTALL file more more
    information)

DEMONSTRATION
    To use the GoogleHack package include the following command at the
    beginning of your program:

    use WebService::GoogleHack;

    This command creates a new instance of GoogleHack called "google":

    $google = new WebService::GoogleHack;

    $PATHCONFIG="";

    $PATHREVIEW="";

    This command initializes the "key" and "Google WSDL" file path:

    $google->initConfig("$PATHCONFIG");

    $correction=$google->phraseSpelling("dulut");

    $results=$google->Search("duluth");

    print $google->{'searchTime'};

    print $google->{'snippet'}->[0];;

    $results=$google->measureSemanticRelatedness("knife","cut");

    $google->predictSemanticOrientation("$PATHREVIEW","excellent","poor");

    my @terms=();

    push(@terms,"gun");

    push(@terms,"pistol");

    $results=$google->wordClusterInPage(\@terms,10,25,1,"results.txt","true"
    );

    print "\n Algorithm 1 Results \n$results";

    push(@terms,"machine gun");

    $results=$google->Algorithm2(\@terms,10,15,10,1,1,35,"results.txt","true
    ");

    print "\n Algorithm 2 Results \n$results";

    $google->predictWordSentiment("$PATHREVIEW","excellent","bad");

    print "\n Word Sentiment Results \n$results";

DOCUMENTATION
    POD style documentation is included in all modules and scripts You can
    look @ `perldoc GoogleHack` for more information about the specifics of
    each module. The description of each method in the modules is also
    given.

SUPPORT & CREDITS
    Questions about how to use this library should If you have any questions
    or suggestions you e mail Pratheepan Raveendranathan
    (rave0029@d.umn.edu) or Ted Pedersen (tpederse@d.umn.edu).

    Design - Ted Pedersen Pratheepan Raveendranathan

    Implementation - Pratheepan Raveendranathan

    Documentation - Ted Pedersen Pratheepan Raveendranathan

    You can visit the developers web site @

    Ted Pedersen - http://www.d.umn.edu/~tpederse Pratheepan Raveendranathan
    - http://www.d.umn.edu/~rave0029

COPYRIGHT AND LICENCE
    Copyright (c) 2005 by Pratheepan Raveendranathan, Ted Pedersen

    This program is free software; you can redistribute it and/or modify it
    under the terms of the GNU General Public License as published by the
    Free Software Foundation; either version 2 of the License, or (at your
    option) any later version.

    This program is distributed in the hope that it will be useful, but
    WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
    Public License for more details.

    You should have received a copy of the GNU General Public License along
    with this program; if not, write to

    The Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
    MA 02111-1307, USA.

