`L i dZddlZddlmZmZmZmZmZmZm Z m Z ddlm Z ddlm Z ejj!ejj#eZe ejj)edZd ZGd d e Z Gd d eZ e ejj)edejj)edejj)edejj)eddZe eddZe ejj)edddddej2dZdZdZdZd%dZd&d Zd!Z d"Z!d#Z"d'd$Z#y#dZYxYw)(zWThis file is based on pattern.en. See the bundled NOTICE file for license information. N)CHUNKPENNPNPPOS UNIVERSALWORDLexiconSpelling)Parser) Sentimentzen-spelling.txt)pathc|D]e}|d|d|d}}}|dk(r t|}|jdrt|txs|}|j |j g|S)zAnnotates the tokens with lemmata for plural nouns and conjugated verbs, where each token is a [word, part-of-speech] list. rNNS)VBMD) singularize startswith conjugate INFINITIVEappendlower)tokenstokenwordposlemmas Z/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/textblob/en/__init__.py find_lemmatar ss$ 8U1XuQx5c %<%E >>, 'dJ/74E U[[]#$ MceZdZdZdZy)r c t|SN)r selfrkwargss rr zParser.find_lemmata%s F##r!c |jdtdfvr|jdd|jdtk(r|jddt j ||fi|S)Ntagsetmapc ||fSr$rtags rz"Parser.find_tags..*s  r!ct||Sr$)penntreebank2universalr-s rr/z"Parser.find_tags..-s*@*Lr!)getr setdefaultr_Parser find_tagsr%s rr5zParser.find_tags(sg ::h D$< /   e%D E ::h 9 ,   L   v888r!N)__name__ __module__ __qualname__r r5r,r!rr r $s $9r!r ceZdZddZy)r Nc,tj|||s|ttj |D]Z\}}d|vs |j dr|dddz}|j dr|dd}|d\}}}|j |dzd|||\yy) NJJyilelyRB) _Sentimentloadlistdictitemsendswithannotate)r&rwrpsr>s rrDzSentiment.load3sd#tzz$/0 ;33;zz#crFSLzz$'crF!$iGAq!MM!d(D!Q: ;r!r$)r6r7r8rDr,r!rr r 2s ;r!r zen-lexicon.txtzen-morphology.txtzen-context.txtzen-entities.txten)r morphologycontextentitieslanguage)NNNNPCD)lexicondefaultrQzen-sentiment.xml wordnet_id)nonotzn'tnever)rBc$|jdS)NrA)rHrJs rr/r/Osqzz$'r!)rsynset negations modifiersmodifier tokenizerrQcFtjt|g|i|S)zPReturns a list of sentences, where punctuation marks have been split from words.)parser find_tokensstrrLargsr's rtokenizerhUs!   c!f 6t 6v 66r!cFtjt|g|i|S)zReturns a tagged str string.)rcparsererfs rrjrjZs <<A 0 0 00r!cDttt|g|i|S)z,Returns a parsed Text from the given string.)Textrjrerfs r parsetreerm_s c!f.t.v. //r!c\|ttttg}t t ||S)z3Returns a parsed Text from the given parsed string.)rrrrrlre)rLrs rsplitrods& }sE3' A r!c g}t||dddd|jD]"}|D]}|j|d|df$|S)z= threshold).)r{re)rL thresholdr's rpositivers CF %f % 22r!r$)Tzutf-8)g?)$__doc__ostextblob._textrrrrrrr r r r4r rCrdirnameabspath__file__MODULEjoinrur rUrcrdryrhrjrmror.rvr{r~rr,r!rrsV TTT,2 WW__RWW__X6 7F f.?@ A  9W 9 ; ;  f. /ww||F$78 GGLL!1 2 WW\\&"3 4    )