ó <¿CVc@@s6dZddlmZddlZddlmZmZm Z m Z m Z m Z m Z mZmZmZddlmZmZy"ejjejjeƒƒZWn dZnXedejjedƒƒZd „Zd efd „ƒYZd efd „ƒYZe dejjedƒdejjedƒdejjedƒdejjedƒddƒZededd4ddƒZedejjedƒdddd5d$d6d&d'„d(ejddƒZd)„Z d*„Z!d+„Z"e e e e gd,„Z#e$d-d.„Z%d/„Z&d0„Z'd1„Z(d2d3„Z)dS(7sWThis file is based on pattern.en. See the bundled NOTICE file for license information. i(tabsolute_importN( tParsert SentimenttLexicontWORDtPOStCHUNKtPNPtPENNt UNIVERSALtSpelling(t text_typetunicodettpathsen-spelling.txtcC@sŠxƒ|D]{}|d|d|d}}}|dkrHt|ƒ}n|jdƒrot|tƒpi|}n|j|jƒƒqW|S(s‰ Annotates the tokens with lemmata for plural nouns and conjugated verbs, where each token is a [word, part-of-speech] list. iitNNStVBtMD(RR(t singularizet startswitht conjugatet INFINITIVEtappendtlower(ttokensttokentwordtpostlemma((sj/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/textblob/textblob/en/__init__.pyt find_lemmatas   RcB@seZd„Zd„ZRS(cK@s t|ƒS(N(R(tselfRtkwargs((sj/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/textblob/textblob/en/__init__.pyR)scK@so|jdƒtdfkr1|jdd„ƒn|jdƒtkr\|jdd„ƒntj|||S(NttagsettmapcS@s ||fS(N((Rttag((sj/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/textblob/textblob/en/__init__.pyt.scS@s t||ƒS(N(tpenntreebank2universal(RR"((sj/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/textblob/textblob/en/__init__.pyR#0s(tgetRtNonet setdefaultR t_Parsert find_tags(RRR((sj/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/textblob/textblob/en/__init__.pyR),s (t__name__t __module__RR)(((sj/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/textblob/textblob/en/__init__.pyR's RcB@seZdd„ZRS(cC@s¾tj||ƒ|sºx¡ttj|ƒƒD]‡\}}d|kr,|jdƒrd|d d}n|jdƒr€|d }n|d\}}}|j|dd|||ƒq,q,WndS( NtJJtyiÿÿÿÿtitleiþÿÿÿtlytRB(t _Sentimenttloadtlisttdicttitemstendswithtannotate(RRtwRtptsR.((sj/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/textblob/textblob/en/__init__.pyR35s"  N(R*R+R&R3(((sj/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/textblob/textblob/en/__init__.pyR3ssen-lexicon.txtt morphologysen-morphology.txttcontextsen-context.txttentitiessen-entities.txttlanguagetentlexicontdefaulttNNtNNPtCDsen-sentiment.xmltsynsett wordnet_idt negationstnotnotsn'ttnevert modifiersR1tmodifiercC@s |jdƒS(NR0(R7(R9((sj/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/textblob/textblob/en/__init__.pyR#Ust tokenizercO@stjt|ƒ||ŽS(sV Returns a list of sentences, where punctuation marks have been split from words. (tparsert find_tokensR (R;targsR((sj/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/textblob/textblob/en/__init__.pyttokenize[scO@stjt|ƒ||ŽS(s& Returns a tagged Unicode string. (ROtparseR (R;RQR((sj/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/textblob/textblob/en/__init__.pyRS`scO@sttt|ƒ||ŽƒS(s2 Returns a parsed Text from the given string. (tTextRSR (R;RQR((sj/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/textblob/textblob/en/__init__.pyt parsetreeescC@stt|ƒ|ƒS(s9 Returns a parsed Text from the given parsed string. (RTR (R;R((sj/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/textblob/textblob/en/__init__.pytsplitjssutf-8cC@seg}xXt||tttt|ƒjƒD]2}x)|D]!}|j|d|dfƒq8Wq+W|S(sB Returns a list of (token, tag)-tuples from the given string. ii(RStTruetFalseRVR(R;RRtencodingttagstsentenceR((sj/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/textblob/textblob/en/__init__.pyR"os + #cC@s tj|ƒS(sJ Returns a list of (word, confidence)-tuples of spelling corrections. (tspellingtsuggest(R9((sj/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/textblob/textblob/en/__init__.pyR]xscK@stt|ƒ|dS(sM Returns the sentence polarity (positive/negative) between -1.0 and 1.0. i(t sentimentR (R;R((sj/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/textblob/textblob/en/__init__.pytpolarity}scK@stt|ƒ|dS(sS Returns the sentence subjectivity (objective/subjective) between 0.0 and 1.0. i(R^R (R;R((sj/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/textblob/textblob/en/__init__.pyt subjectivity‚sgš™™™™™¹?cK@stt|ƒ||kS(sZ Returns True if the given sentence has a positive sentiment (polarity >= threshold). (R_R (R;t thresholdR((sj/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/textblob/textblob/en/__init__.pytpositive‡s(RCRDRE(snosnotsn'tRK(sRB(*t__doc__t __future__Rtosttextblob._textRR(RR2RRRRRRR R ttextblob.compatR R Rtdirnametabspatht__file__tMODULEtjoinR\RRARORPR^RRRSRURVRWR"R]R_R`Rb(((sj/private/var/folders/cc/xm4nqn811x9b50x1q_zpkmvdjlphkp/T/pip-build-FUwmDn/textblob/textblob/en/__init__.pytsP F"