nltk.corpus.reader.childes module

Corpus reader for the XML version of the CHILDES corpus.

class nltk.corpus.reader.childes.CHILDESCorpusReader[source]

Bases: nltk.corpus.reader.xmldocs.XMLCorpusReader

Corpus reader for the XML version of the CHILDES corpus. The CHILDES corpus is available at https://childes.talkbank.org/. The XML version of CHILDES is located at https://childes.talkbank.org/data-xml/. Copy the needed parts of the CHILDES XML corpus into the NLTK data directory (nltk_data/corpora/CHILDES/).

For access to the file text use the usual nltk functions, words(), sents(), tagged_words() and tagged_sents().

__init__(root, fileids, lazy=True)[source]
Parameters
  • root (PathPointer or str) – A path pointer identifying the root directory for this corpus. If a string is specified, then it will be converted to a PathPointer automatically.

  • fileids – A list of the files that make up this corpus. This list can either be specified explicitly, as a list of strings; or implicitly, as a regular expression over file paths. The absolute path for each file will be constructed by joining the reader’s root to each file name.

  • encoding

    The default unicode encoding for the files that make up the corpus. The value of encoding can be any of the following:

    • A string: encoding is the encoding name for all files.

    • A dictionary: encoding[file_id] is the encoding name for the file whose identifier is file_id. If file_id is not in encoding, then the file contents will be processed using non-unicode byte strings.

    • A list: encoding should be a list of (regexp, encoding) tuples. The encoding for a file whose identifier is file_id will be the encoding value for the first tuple whose regexp matches the file_id. If no tuple’s regexp matches the file_id, the file contents will be processed using non-unicode byte strings.

    • None: the file contents of all files will be processed using non-unicode byte strings.

  • tagset – The name of the tagset used by this corpus, to be used for normalizing or converting the POS tags returned by the tagged_...() methods.

words(fileids=None, speaker='ALL', stem=False, relation=False, strip_space=True, replace=False)[source]
Returns

the given file(s) as a list of words

Return type

list(str)

Parameters
  • speaker – If specified, select specific speaker(s) defined in the corpus. Default is ‘ALL’ (all participants). Common choices are ‘CHI’ (the child), ‘MOT’ (mother), [‘CHI’,’MOT’] (exclude researchers)

  • stem – If true, then use word stems instead of word strings.

  • relation – If true, then return tuples of (stem, index, dependent_index)

  • strip_space – If true, then strip trailing spaces from word tokens. Otherwise, leave the spaces on the tokens.

  • replace – If true, then use the replaced (intended) word instead of the original word (e.g., ‘wat’ will be replaced with ‘watch’)

tagged_words(fileids=None, speaker='ALL', stem=False, relation=False, strip_space=True, replace=False)[source]
Returns

the given file(s) as a list of tagged words and punctuation symbols, encoded as tuples (word,tag).

Return type

list(tuple(str,str))

Parameters
  • speaker – If specified, select specific speaker(s) defined in the corpus. Default is ‘ALL’ (all participants). Common choices are ‘CHI’ (the child), ‘MOT’ (mother), [‘CHI’,’MOT’] (exclude researchers)

  • stem – If true, then use word stems instead of word strings.

  • relation – If true, then return tuples of (stem, index, dependent_index)

  • strip_space – If true, then strip trailing spaces from word tokens. Otherwise, leave the spaces on the tokens.

  • replace – If true, then use the replaced (intended) word instead of the original word (e.g., ‘wat’ will be replaced with ‘watch’)

sents(fileids=None, speaker='ALL', stem=False, relation=None, strip_space=True, replace=False)[source]
Returns

the given file(s) as a list of sentences or utterances, each encoded as a list of word strings.

Return type

list(list(str))

Parameters
  • speaker – If specified, select specific speaker(s) defined in the corpus. Default is ‘ALL’ (all participants). Common choices are ‘CHI’ (the child), ‘MOT’ (mother), [‘CHI’,’MOT’] (exclude researchers)

  • stem – If true, then use word stems instead of word strings.

  • relation – If true, then return tuples of (str,pos,relation_list). If there is manually-annotated relation info, it will return tuples of (str,pos,test_relation_list,str,pos,gold_relation_list)

  • strip_space – If true, then strip trailing spaces from word tokens. Otherwise, leave the spaces on the tokens.

  • replace – If true, then use the replaced (intended) word instead of the original word (e.g., ‘wat’ will be replaced with ‘watch’)

tagged_sents(fileids=None, speaker='ALL', stem=False, relation=None, strip_space=True, replace=False)[source]
Returns

the given file(s) as a list of sentences, each encoded as a list of (word,tag) tuples.

Return type

list(list(tuple(str,str)))

Parameters
  • speaker – If specified, select specific speaker(s) defined in the corpus. Default is ‘ALL’ (all participants). Common choices are ‘CHI’ (the child), ‘MOT’ (mother), [‘CHI’,’MOT’] (exclude researchers)

  • stem – If true, then use word stems instead of word strings.

  • relation – If true, then return tuples of (str,pos,relation_list). If there is manually-annotated relation info, it will return tuples of (str,pos,test_relation_list,str,pos,gold_relation_list)

  • strip_space – If true, then strip trailing spaces from word tokens. Otherwise, leave the spaces on the tokens.

  • replace – If true, then use the replaced (intended) word instead of the original word (e.g., ‘wat’ will be replaced with ‘watch’)

corpus(fileids=None)[source]
Returns

the given file(s) as a dict of (corpus_property_key, value)

Return type

list(dict)

participants(fileids=None)[source]
Returns

the given file(s) as a dict of (participant_property_key, value)

Return type

list(dict)

age(fileids=None, speaker='CHI', month=False)[source]
Returns

the given file(s) as string or int

Return type

list or int

Parameters

month – If true, return months instead of year-month-date

convert_age(age_year)[source]

Caclculate age in months from a string in CHILDES format

MLU(fileids=None, speaker='CHI')[source]
Returns

the given file(s) as a floating number

Return type

list(float)

childes_url_base = 'https://childes.talkbank.org/browser/index.php?url='
webview_file(fileid, urlbase=None)[source]

Map a corpus file to its web version on the CHILDES website, and open it in a web browser.

The complete URL to be used is:

childes.childes_url_base + urlbase + fileid.replace(‘.xml’, ‘.cha’)

If no urlbase is passed, we try to calculate it. This requires that the childes corpus was set up to mirror the folder hierarchy under childes.psy.cmu.edu/data-xml/, e.g.: nltk_data/corpora/childes/Eng-USA/Cornell/??? or nltk_data/corpora/childes/Romance/Spanish/Aguirre/???

The function first looks (as a special case) if “Eng-USA” is on the path consisting of <corpus root>+fileid; then if “childes”, possibly followed by “data-xml”, appears. If neither one is found, we use the unmodified fileid and hope for the best. If this is not right, specify urlbase explicitly, e.g., if the corpus root points to the Cornell folder, urlbase=’Eng-USA/Cornell’.

nltk.corpus.reader.childes.demo(corpus_root=None)[source]

The CHILDES corpus should be manually downloaded and saved to [NLTK_Data_Dir]/corpora/childes/