Používání TextBlob v průmyslu
Stejně jako to zní, TextBlob je balíček Pythonu, který umožňuje provádět jednoduché a složité operace analýzy textu na textových datech, jako je označování řeči, extrakce fráze podstatného jména, analýza sentimentu, klasifikace, překlad a další. Ačkoli pro TextBlob existuje mnohem více případů použití, které bychom mohli pokrýt v jiných blogech, tento pokrývá analýzu tweetů z hlediska jejich sentimentu.
Analýza sentimentů má skvělé praktické využití pro mnoho scénářů:
- Během politických voleb v zeměpisné oblasti lze sledovat tweety a další aktivity v sociálních médiích, aby se dosáhlo odhadovaných volebních anket a výsledků nadcházející vlády
- Různé společnosti mohou využít textovou analýzu na sociálních médiích k rychlé identifikaci negativních myšlenek, které kolují po sociálních médiích v daném regionu, k identifikaci problémů a jejich řešení
- Některé produkty dokonce používají tweety k odhadu zdravotních tendencí lidí z jejich sociální aktivity, jako je typ tweetů, které dělají, možná se chovají sebevražedně atd.
Začínáme s TextBlobem
Víme, že jste se sem přišli podívat na nějaký praktický kód týkající se sentimentálního analyzátoru pomocí TextBlob. Z tohoto důvodu ponecháme tuto sekci extrémně krátkou pro zavedení TextBlob pro nové čtenáře. Jen poznámka před spuštěním je, že používáme a virtuální prostředí pro tuto lekci, kterou jsme provedli pomocí následujícího příkazu
python -m virtualenv textblobzdroj textblob / bin / aktivovat
Jakmile je virtuální prostředí aktivní, můžeme nainstalovat knihovnu TextBlob ve virtuálním prostředí, aby bylo možné provést příklady, které vytvoříme dále:
pip install -U textblobJakmile spustíte výše uvedený příkaz, není to ono. TextBlob také potřebuje přístup k některým tréninkovým datům, která lze stáhnout pomocí následujícího příkazu:
python -m textblob.download_corporaStažením požadovaných dat uvidíte něco takového:
Anacondu můžete také použít ke spuštění těchto příkladů, což je jednodušší. Chcete-li jej nainstalovat na svůj počítač, podívejte se na lekci, která popisuje „Jak nainstalovat Anaconda Python na Ubuntu 18.04 LTS ”a podělte se o svůj názor.
Chcete-li ukázat velmi rychlý příklad pro TextBlob, zde je příklad přímo z jeho dokumentace:
z importu textblob TextBlobtext = "'
Titulární hrozba The Blob na mě vždy působila jako konečný film
monstrum: nenasytná hladová hmota podobná amébám schopná proniknout
prakticky jakýkoli ochranný prostředek, schopný - jako lékař odsouzený k zániku mrazivě
popisuje to - „asimilace masa při kontaktu.
Zatracené srovnání s želatinou je zatraceně, je to koncept nejvíce
devastující potenciální důsledky, ne na rozdíl od scénáře šedé goo
navrhli technologičtí teoretici, kteří se bojí
nekontrolovatelný běh umělé inteligence.
„
blob = TextBlob (text)
tisk (blob.značky)
tisk (blob.podstatné jméno_fráze)
pro větu v blob.věty:
tisk (věta.sentiment.polarita)
kapka.přeložit (do = "es")
Když spustíme výše uvedený program, dostaneme následující tagová slova a nakonec emoce, které dvě věty v ukázkovém textu ukazují:
Značky slov a emocí nám pomáhají identifikovat hlavní slova, která ve skutečnosti ovlivňují výpočet sentimentu a polaritu věty poskytované. Je to proto, že se význam a sentiment slov mění v pořadí, v jakém jsou používány, takže je třeba vše udržovat dynamické.
Analýza sentimentu založená na lexikonu
Libovolný sentiment lze jednoduše definovat jako funkci sémantické orientace a intenzity slov použitých ve větě. S přístupem k identifikaci emocí v daných slovech nebo větách založeném na lexikonu je každé slovo spojeno se skóre, které popisuje emoce, které slovo vykazuje (nebo se alespoň snaží projevit). Většina slov má obvykle předdefinovaný slovník o jejich lexikálním skóre, ale pokud jde o člověka, vždy existuje sarkazmus, takže na tyto slovníky se nelze spolehnout na 100%. Slovník sentimentu WordStat obsahuje více než 9164 negativních a 4847 pozitivních vzorů slov.
Nakonec existuje další metoda k provedení analýzy sentimentu (mimo rozsah této lekce), která je technikou strojového učení, ale nemůžeme použít všechna slova v algoritmu ML, protože určitě budeme čelit problémům s přeplňováním. Než trénujeme algoritmus, můžeme použít jeden z algoritmů pro výběr funkcí, jako je Chi Square nebo Mutual Information. Diskuse o přístupu ML omezíme pouze na tento text.
Pomocí rozhraní Twitter API
Chcete-li začít dostávat tweety přímo z Twitteru, navštivte domovskou stránku vývojáře aplikací zde:
https: // vývojář.cvrlikání.com / en / apps
Zaregistrujte svou přihlášku vyplněním následujícího formuláře:
Jakmile budete mít všechny tokeny dostupné na kartě „Klíče a tokeny“:
Můžeme použít klíče k získání požadovaných tweetů z rozhraní Twitter API, ale musíme nainstalovat jen jeden další balíček Pythonu, který pro nás při získávání dat Twitteru dělá těžké kroky:
pip nainstalovat tweepyVýše uvedený balíček bude použit pro dokončení veškeré těžké komunikace s Twitter API. Výhodou pro Tweepy je, že nemusíme psát mnoho kódu, když chceme ověřit naši aplikaci pro interakci s daty Twitteru a je automaticky zabalena ve velmi jednoduchém API vystaveném prostřednictvím balíčku Tweepy. Výše uvedený balíček můžeme do našeho programu importovat jako:
importovat tweepyPoté stačí definovat příslušné proměnné, kde můžeme držet klíče Twitteru, které jsme obdrželi z vývojářské konzoly:
consumer_key = '[consumer_key]'consumer_key_secret = '[consumer_key_secret]'
access_token = '[access_token]'
access_token_secret = '[access_token_secret]'
Nyní, když jsme v kódu definovali tajemství pro Twitter, jsme konečně připraveni navázat spojení s Twitterem, abychom dostali tweety a posoudili je, myslím, analyzovat je. Samozřejmě je třeba navázat připojení k Twitteru pomocí standardu OAuth a Tweepy balíček přijde vhod k navázání spojení také:
twitter_auth = tweepy.OAuthHandler (consumer_key, consumer_key_secret)Nakonec potřebujeme spojení:
api = tweepy.API (twitter_auth)Pomocí instance API můžeme hledat na Twitteru jakékoli téma, které mu předáme. Může to být jedno slovo nebo více slov. Přesto doporučujeme použít co nejméně slov pro přesnost. Zkusme zde příklad:
pm_tweets = api.hledat („Indie“)Výše uvedené hledání nám dává mnoho tweetů, ale omezíme počet tweetů, které dostaneme zpět, aby volání nezabralo příliš mnoho času, protože je třeba jej později zpracovat také balíčkem TextBlob:
pm_tweets = api.vyhledávání („Indie“, počet = 10)Nakonec můžeme vytisknout text každého Tweetu a sentiment s ním spojený:
pro tweet v pm_tweets:tisk (tweet.text)
analýza = TextBlob (tweet.text)
tisk (analýza.sentiment)
Jakmile spustíme výše uvedený skript, začneme získávat posledních 10 zmínek o zmíněném dotazu a každý tweet bude analyzován na hodnotu sentimentu. Tady je výstup, který jsme obdrželi pro stejné:
Všimněte si, že můžete také vytvořit streamovacího robota pro analýzu sentimentu s TextBlob a Tweepy. Tweepy umožňuje navázat streamingové připojení websocket s Twitter API a umožňuje streamovat data z Twitteru v reálném čase.
Závěr
V této lekci jsme se zaměřili na vynikající balíček textové analýzy, který nám umožňuje analyzovat textové nálady a mnohem více. TextBlob je populární kvůli způsobu, jakým nám umožňuje jednoduše pracovat s textovými daty bez jakýchkoli potíží s komplexními voláními API. Integrovali jsme také Tweepy, abychom mohli využívat data z Twitteru. Můžeme snadno upravit použití na streamovací případ použití se stejným balíčkem a velmi malými změnami v samotném kódu.
Sdílejte prosím volně svůj názor na lekci na Twitteru s @linuxhint a @sbmaggarwal (to jsem já!).