The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Text::Corpus::NewYorkTimes::Document - Parse NYT article for research.

SYNOPSIS

  use Text::Corpus::NewYorkTimes;
  use Data::Dump qw(dump);
  use Log::Log4perl qw(:easy);
  Log::Log4perl->easy_init ($INFO);
  my $corpus = Text::Corpus::NewYorkTimes->new (fileList => $fileList, corpusDirectory => $corpusDirectory);
  my $document = $corpus->getDocument (index => 0);
  dump $document->getBody;
  dump $document->getCategories;
  dump $document->getContent;
  dump $document->getDate;
  dump $document->getDescription;
  dump $document->getTitle;
  dump $document->getUri;

DESCRIPTION

Text::Corpus::NewYorkTimes::Document provides methods for accessing specific portions of news articles from the New York Times corpus.

CONSTRUCTOR

new

The constructor new creates an instance of the Text::Corpus::NewYorkTimes::Document class with the following parameters:

filename
 filename => '...'

filename is the path name to the XML document that is to be parsed.

dtdname
 dtdname => '...'

dtdname is the path name to the data type definition file provided with the corpus; it is usually something like .../nyt_corpus/dtd/nitf-3-3.dtd. If not defined an attempt is made to located it using the path provided by filename.

METHODS

getBody

 getBody ()

getBody returns an array reference of strings of sentences that are the body of the article.

getCategories

 getCategories (type => 'all')

The method getCategories returns the categories of type assigned to the document, where type must be 'all', 'controlled', or 'uncontrolled'. The 'uncontrolled' categories are those assigned to the document by an editor without machine assistance, the 'controlled' categories are those assigned with machine assistance. The type 'all' returns the union of the categories from 'controlled' and 'uncontrolled'. The default is 'all'.

getContent

 getContent ()

The method getContent returns the content of the document as an array reference of the text where each item in the array is a sentence, with the first sentence being the headline or title of the article. If the lead sentence equals the headline of the article, then the headline is not prefixed to the list.

getDate

 getDate (format => '%g')

getDate returns the date and time of the article in the format speficied by format that uses the print directives of Date::Manip::Date. The default is to return the date and time in RFC2822 format.

getDescription

  getDescription ()

getDescription returns an array reference of strings of sentences that describe the articles content.

getTitle

 getTitle ()

getTitle returns an array reference of strings, usually one, of the title of the article.

getUri

  getUri (type => 'file')

getUri returns the URI of the document where type must be 'file' or 'url'. If type is 'file', the file path of the document is returned; otherwise the URL of the document is returned. The default is 'file'.

INSTALLATION

For installation instructions see Text::Corpus::NewYorkTimes.

AUTHOR

 Jeff Kubina<jeff.kubina@gmail.com>

COPYRIGHT

Copyright (c) 2009 Jeff Kubina. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

The full text of the license can be found in the LICENSE file included with this module.

KEYWORDS

nyt, new york times, english corpus, information processing

SEE ALSO

This module requires the The New York Times Annotated Corpus from the Linguistic Data Consortium; discussions about the corpus are moderated at the Google Group called The New York Times Annotated Corpus Community.

Log::Log4perl, Text::Corpus::NewYorkTimes, XML::LibXML, XML::LibXML::XPathContext