nltk.tokenize.casual module¶
Twitter-aware tokenizer, designed to be flexible and easy to adapt to new domains and tasks. The basic logic is this:
The tuple REGEXPS defines a list of regular expression strings.
The REGEXPS strings are put, in order, into a compiled regular expression object called WORD_RE, under the TweetTokenizer class.
The tokenization is done by WORD_RE.findall(s), where s is the user-supplied string, inside the tokenize() method of the class TweetTokenizer.
- When instantiating Tokenizer objects, there are several options:
preserve_case. By default, it is set to True. If it is set to False, then the tokenizer will downcase everything except for emoticons.
reduce_len. By default, it is set to False. It specifies whether to replace repeated character sequences of length 3 or greater with sequences of length 3.
strip_handles. By default, it is set to False. It specifies whether to remove Twitter handles of text used in the tokenize method.
match_phone_numbers. By default, it is set to True. It indicates whether the tokenize method should look for phone numbers.
- class nltk.tokenize.casual.TweetTokenizer[source]¶
Bases:
TokenizerI
Tokenizer for tweets.
>>> from nltk.tokenize import TweetTokenizer >>> tknzr = TweetTokenizer() >>> s0 = "This is a cooool #dummysmiley: :-) :-P <3 and some arrows < > -> <--" >>> tknzr.tokenize(s0) ['This', 'is', 'a', 'cooool', '#dummysmiley', ':', ':-)', ':-P', '<3', 'and', 'some', 'arrows', '<', '>', '->', '<--']
Examples using strip_handles and reduce_len parameters:
>>> tknzr = TweetTokenizer(strip_handles=True, reduce_len=True) >>> s1 = '@remy: This is waaaaayyyy too much for you!!!!!!' >>> tknzr.tokenize(s1) [':', 'This', 'is', 'waaayyy', 'too', 'much', 'for', 'you', '!', '!', '!']
- property PHONE_WORD_RE: Pattern¶
Secondary core TweetTokenizer regex
- property WORD_RE: Pattern¶
Core TweetTokenizer regex
- __init__(preserve_case=True, reduce_len=False, strip_handles=False, match_phone_numbers=True)[source]¶
Create a TweetTokenizer instance with settings for use in the tokenize method.
- Parameters:
preserve_case (bool) – Flag indicating whether to preserve the casing (capitalisation) of text used in the tokenize method. Defaults to True.
reduce_len (bool) – Flag indicating whether to replace repeated character sequences of length 3 or greater with sequences of length 3. Defaults to False.
strip_handles (bool) – Flag indicating whether to remove Twitter handles of text used in the tokenize method. Defaults to False.
match_phone_numbers (bool) – Flag indicating whether the tokenize method should look for phone numbers. Defaults to True.
- nltk.tokenize.casual.casual_tokenize(text, preserve_case=True, reduce_len=False, strip_handles=False, match_phone_numbers=True)[source]¶
Convenience function for wrapping the tokenizer.