doctable.parse
index
/scratch/dc326/code/doctable/doctable/parse.py

 
Modules
       
re

 
Functions
       
get_parsetrees(doc, parse_tok_func=None, info_func_map={})
Extracts parsetree from spacy doc objects.
Args:
    doc (spacy.Doc object): doc to generate parsetree from.
    parse_tok_func (func): function used to convert token to 
        a string representation. Usually a lambda function 
        wrapping some variant of self.parse_tok().
    info_func_map (dict<str->func>): attribute to function 
        mapping. Functions take a token and output a property
        that will be stored in each parsetree node.
identity(x)
keep_tok(tok, keep_whitespace=False, keep_punct=True, keep_stop=True, keep_digit=True, keep_num=True, keep_ents=True, keep_ent_types=None, rm_ent_types=None, keep_pos=None, rm_pos=None, addtnl_func=None)
Decide to use token or not (can be overridden).
Args:
    keep_whitespace (bool): keep all-whitespace tokens.
    keep_punct (bool): keep punctuation.
    keep_stop (bool): keep stopwords.
    keep_num (bool): keep numbers using tok.is_num.
    keep_digit (bool): keep digits using tok.is_digit.
    keep_ents (bool): keep named entities
    keep_ent_types (list<str>): keep only these entity types
    rm_ent_types (list<str>): remove these entity types
    keep_pos (list<str>): keep only toks with these POS
    rm_pos (list<str>): remove toks with these POS
    addtnl_func (func): additional custom criteria to meet
Returns:
    True if token should be kept.
merge_tok_ngrams(toks, ngrams=(), ngram_sep='_')
Merges manually specified consecutive tokens into single tokens.
Args:
    toks (list<str>): token list through which to search for ngrams.
    ngrams (list<list<str>>): list of ngrams (as sequence of str) to 
        combine into single tokens.
    ngram_sep (str): string to join ngram parts with.
merge_tok_spans(doc, merge_ents=True, spacy_ngram_matcher=None, merge_noun_chunks=False)
Apply merges to doc object including entities, normal ngrams, and noun chunks.
Args:
    doc (Spacy Doc object): doc to merge spans in
    merge_ents (bool): combine multi-word entities using spacy doc.retokenize()
    spacy_ngram_matcher (spacy Matcher object): rule-based matching object for 
        ngrams in Spacy. See https://spacy.io/usage/rule-based-matching
    merge_noun_chunks (bool): automatically merge noun chunks
parse_tok(tok, num_replacement=None, digit_replacement=None, lemmatize=False, normal_tok_parse=None, format_ents=False, ent_convert=None)
Convert spacy token object to string.
Args:
    tok (spacy token or span): token object to convert to string.
    replace_num (str/None): Replace number following tok.like_num (includes "five", 
        or 5) with a special token (i.e. __NUM__). None means no replacement.
    replace_digit (str/None): Replace digit meeting tok.is_digit with special token. 
        Only used when replace_num is None.
    lemmatize (bool): return lemma instead of full word.
    normal_convert (func): custom conversion function to happen as last step
        for non-entities. This way can keep all other functionality.
    format_ents (bool): Replace whitespace with space and capitalize first 
        letter of ents.
    ent_convert (func): custom conversion function to happen as last step
        for entities. This way can keep all other functionality.
preprocess(text, replace_url=None, replace_xml=None, replace_digits=None)
A few useful preprocessing functions for raw text.
Args:
    text (str): document as a text string
    replace_url (str or None): if not None, replace url with string
    replace_xml (str or None): if not None, replace xml tags with string
    replace_digits (str or None): if not None, replace digits with string
tokenize(doc, split_sents=True, keep_tok_func=None, parse_tok_func=None)
Convert spacy doc into a series of tokens (as sentences or not).
Args:
    split_sents (bool): parse into list of sentence tokens using doc.sents.
    merge_ents (bool): merge multi_word entities into same token.
    ngrams (iter<iter<str>>): iterable of token tuples to merge after parsing.
    spacy_ngram_matcher (spacy Matcher): matcher object to use on the spacy doc.
        Normally will create using spacy.Matcher(nlp.vocab), see more details
        at https://spacy.io/usage/rule-based-matching And also note that the 
        nlp object must be the one used for parsing.
    keep_tok_func (func): func used to decide to keep func or not. Default is
        identity function
    parse_tok_func (func): func used to parse tokens. By default uses 
        identify function.

 
Data
        re_digits = re.compile('\\d*[-\\./,]*\\d+')
re_url = re.compile('http\\S+', re.MULTILINE)
re_xml_tag = re.compile('<[^<]+>', re.MULTILINE)