class documentation

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()``.

Method __init__ No summary
Method age :return: the given file(s) as string or int :rtype: list or int
Method convert_age Caclculate age in months from a string in CHILDES format
Method corpus :return: the given file(s) as a dict of ``(corpus_property_key, value)`` :rtype: list(dict)
Method MLU :return: the given file(s) as a floating number :rtype: list(float)
Method participants :return: the given file(s) as a dict of ``(participant_property_key, value)`` :rtype: list(dict)
Method sents :return: the given file(s) as a list of sentences or utterances, each encoded as a list of word strings. :rtype: list(list(str))
Method tagged_sents :return: the given file(s) as a list of sentences, each encoded as a list of ``(word,tag)`` tuples. :rtype: list(list(tuple(str,str)))
Method tagged_words :return: the given file(s) as a list of tagged words and punctuation symbols, encoded as tuples ``(word,tag)``. :rtype: list(tuple(str,str))
Method webview_file Map a corpus file to its web version on the CHILDES website, and open it in a web browser.
Method words :return: the given file(s) as a list of words :rtype: list(str)
Class Variable childes_url_base Undocumented
Method _get_age Undocumented
Method _get_corpus Undocumented
Method _get_participants Undocumented
Method _get_words Undocumented
Method _getMLU Undocumented
Instance Variable _lazy Undocumented

Inherited from XMLCorpusReader:

Method raw Undocumented
Method xml Undocumented
Instance Variable _wrap_etree Undocumented

Inherited from CorpusReader (via XMLCorpusReader):

Method __repr__ Undocumented
Method abspath Return the absolute path for the given file.
Method abspaths Return a list of the absolute paths for all fileids in this corpus; or for the given list of fileids, if specified.
Method citation Return the contents of the corpus citation.bib file, if it exists.
Method encoding Return the unicode encoding for the given corpus file, if known. If the encoding is unknown, or if the given file should be processed using byte strings (str), then return None.
Method ensure_loaded Load this corpus (if it has not already been loaded). This is used by LazyCorpusLoader as a simple method that can be used to make sure a corpus is loaded -- e.g., in case a user wants to do help(some_corpus).
Method fileids Return a list of file identifiers for the fileids that make up this corpus.
Method license Return the contents of the corpus LICENSE file, if it exists.
Method open Return an open stream that can be used to read the given file. If the file's encoding is not None, then the stream will automatically decode the file's contents into unicode.
Method readme Return the contents of the corpus README file, if it exists.
Class Variable root Undocumented
Method _get_root Undocumented
Instance Variable _encoding The default unicode encoding for the fileids that make up this corpus. If encoding is None, then the file contents are processed using byte strings.
Instance Variable _fileids A list of the relative paths for the fileids that make up this corpus.
Instance Variable _root The root directory for this corpus.
Instance Variable _tagset Undocumented
def __init__(self, root, fileids, lazy=True): (source)
Parameters
root:PathPointer or strA path pointer identifying the root directory for this corpus. If a string is specified, then it will be converted to a PathPointer automatically.
fileidsA 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.
lazyUndocumented
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.
tagsetThe name of the tagset used by this corpus, to be used for normalizing or converting the POS tags returned by the tagged_...() methods.
def age(self, fileids=None, speaker='CHI', month=False): (source)

:return: the given file(s) as string or int :rtype: list or int

:param month: If true, return months instead of year-month-date

def convert_age(self, age_year): (source)

Caclculate age in months from a string in CHILDES format

def corpus(self, fileids=None): (source)

:return: the given file(s) as a dict of ``(corpus_property_key, value)`` :rtype: list(dict)

def MLU(self, fileids=None, speaker='CHI'): (source)

:return: the given file(s) as a floating number :rtype: list(float)

def participants(self, fileids=None): (source)

:return: the given file(s) as a dict of ``(participant_property_key, value)`` :rtype: list(dict)

def sents(self, fileids=None, speaker='ALL', stem=False, relation=None, strip_space=True, replace=False): (source)

:return: the given file(s) as a list of sentences or utterances, each encoded as a list of word strings. :rtype: list(list(str)) :param 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) :param stem: If true, then use word stems instead of word strings. :param 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)`` :param strip_space: If true, then strip trailing spaces from word tokens. Otherwise, leave the spaces on the tokens. :param replace: If true, then use the replaced (intended) word instead of the original word (e.g., 'wat' will be replaced with 'watch')

def tagged_sents(self, fileids=None, speaker='ALL', stem=False, relation=None, strip_space=True, replace=False): (source)

:return: the given file(s) as a list of sentences, each encoded as a list of ``(word,tag)`` tuples. :rtype: list(list(tuple(str,str))) :param 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) :param stem: If true, then use word stems instead of word strings. :param 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)`` :param strip_space: If true, then strip trailing spaces from word tokens. Otherwise, leave the spaces on the tokens. :param replace: If true, then use the replaced (intended) word instead of the original word (e.g., 'wat' will be replaced with 'watch')

def tagged_words(self, fileids=None, speaker='ALL', stem=False, relation=False, strip_space=True, replace=False): (source)

:return: the given file(s) as a list of tagged words and punctuation symbols, encoded as tuples ``(word,tag)``. :rtype: list(tuple(str,str)) :param 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) :param stem: If true, then use word stems instead of word strings. :param relation: If true, then return tuples of (stem, index, dependent_index) :param strip_space: If true, then strip trailing spaces from word tokens. Otherwise, leave the spaces on the tokens. :param replace: If true, then use the replaced (intended) word instead of the original word (e.g., 'wat' will be replaced with 'watch')

def webview_file(self, 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'.

def words(self, fileids=None, speaker='ALL', stem=False, relation=False, strip_space=True, replace=False): (source)

:return: the given file(s) as a list of words :rtype: list(str) :param 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) :param stem: If true, then use word stems instead of word strings. :param relation: If true, then return tuples of (stem, index, dependent_index) :param strip_space: If true, then strip trailing spaces from word tokens. Otherwise, leave the spaces on the tokens. :param replace: If true, then use the replaced (intended) word instead of the original word (e.g., 'wat' will be replaced with 'watch')

childes_url_base: str = (source)

Undocumented

def _get_age(self, fileid, speaker, month): (source)

Undocumented

def _get_corpus(self, fileid): (source)

Undocumented

def _get_participants(self, fileid): (source)

Undocumented

def _get_words(self, fileid, speaker, sent, stem, relation, pos, strip_space, replace): (source)

Undocumented

def _getMLU(self, fileid, speaker): (source)

Undocumented

Undocumented