NAME
    Lingua::EN::AffectiveNorms - Perl based data store for the ANEW -
    standardised list of Affective Norms for English Words.

VERSION
    Version 0.01

SYNOPSIS
    This module provides data store and retrieval to assess the emotional
    content of text based on a standardised list of english words. It has
    use in some text mining procedures (e.g. see ACKNOWLEDGEMENTS section).

    DBIx::Class schema (dynamic) to load list of english affective words
    from http://csea.phhp.ufl.edu/media/anewmessage.html

     my $schema    = Lingua::EN::AffectiveWords->connect; # db lives in same dir as package by default
     my $all_rs    = $schema->resultset(AllSubjects);
     my $male_rs   = $schema->resultset(Male);
     my $female_rs = $schema->resultset(Female);

    The list of words is a bit tricky to obtain (see link above), but once
    you do, you should enter the list into a sqlite schema given below, and
    put it in the same directory as this .pm file (perldoc -M
    Lingua::EN::AffectiveNorms to work out where that is).

    The schema is as follows:

     create table all_subjects (
     word varchar(32),
     word_stem varchar(32),
     word_no integer,
     valence_mean float,
     valence_sd float,
     arousal_mean float,
     arousal_sd float,
     dominance_mean float,
     dominance_sd float,
     word_freq float,
     primary key(word)
     );

     create table male (
     word varchar(32),
     word_stem varchar(32),
     word_no integer,
     valence_mean float,
     valence_sd float,
     arousal_mean float,
     arousal_sd float,
     dominance_mean float,
     dominance_sd float,
     word_freq float,
     primary key(word)
     );

     create table female (
     word varchar(32),
     word_stem varchar(32),
     word_no integer,
     valence_mean float,
     valence_sd float,
     arousal_mean float,
     arousal_sd float,
     dominance_mean float,
     dominance_sd float,
     word_freq float,
     primary key(word)
     );

    The next thing is to put the male, female and all_subjects lists into
    separate csv files, with the headibngs as for the column names in the
    database, then run the following perl script on it:

     use Text::CSV_XS;
     my $csv = Text::CSV_XS->new;

     use Lingua::Stem qw/stem/;

     my ($infile, $table) = @ARGV or die "infile and table name required";
     my $schema = Lingua::EN::AffectiveNorms::Schema->connect;
     my $rs = $schema->resultset($table);

     open my $IN, "<", $infile;
     my @header;
     while (<$IN>) {
         $csv->parse($_);
         my @row = $csv->fields;
         if ($. == 1) {
             @header = @row;
         }
         else {
             my %data;
             @data{@header} = @row;
             $data{word_stem} = stem($data{word})->[0];
             $rs->create(\%data);
         }
     }

    I'd distribute the databse with this module, except that the
    distribution conditions of the word list preclude this.

AUTHOR
    Kieren Diment, "<zarquon at cpan.org>"

BUGS
    Please report any bugs or feature requests to
    "bug-lingua-en-affectivenorms at rt.cpan.org", or through the web
    interface at
    <http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Lingua-EN-AffectiveNorms
    >. I will be notified, and then you'll automatically be notified of
    progress on your bug as I make changes.

SUPPORT
    You can find documentation for this module with the perldoc command.

        perldoc Lingua::EN::AffectiveNorms

    You can also look for information at:

    *   RT: CPAN's request tracker

        <http://rt.cpan.org/NoAuth/Bugs.html?Dist=Lingua-EN-AffectiveNorms>

    *   AnnoCPAN: Annotated CPAN documentation

        <http://annocpan.org/dist/Lingua-EN-AffectiveNorms>

    *   CPAN Ratings

        <http://cpanratings.perl.org/d/Lingua-EN-AffectiveNorms>

    *   Search CPAN

        <http://search.cpan.org/dist/Lingua-EN-AffectiveNorms/>

ACKNOWLEDGEMENTS
    Inspired by the paper Dodds, P., & Danforth, C. (2009). Measuring the
    Happiness of Large-Scale Written Expression: Songs, Blogs, and
    Presidents. Journal of Happiness Studies. doi:
    10.1007/s10902-009-9150-9. avialable (open access) from:
    <http://www.springerlink.com/content/757723154j4w726k>

COPYRIGHT & LICENSE
    Copyright 2009 Kieren Diment, all rights reserved.

    This program is free software; you can redistribute it and/or modify it
    under the same terms as Perl itself.