Home
Analizzare il linguaggio con Python e librerie open source

11 Ottobre 2019

Analizzare il linguaggio con Python e librerie open source

di

La potenza di elaborazione e gli strumenti software a nostra disposizione oggi ci consentono di affrontare sfide prima impensabili, per esempio istruire le macchine a riconoscere temi importanti all’interno del linguaggio parlato.

Strade nuove, numerose, aperte, ancora da seguire per chi analizza il linguaggio

L’analisi del linguaggio ha origini recenti, se consideriamo la rapidità della crescita del settore tecnologico negli ultimi anni; le prime applicazioni risalgono agli anni ’50 grazie ad Alan Turing – genio informatico apprezzato troppo tardi – ma solo negli anni ’80 si iniziano a intravedere le prime applicazioni che ne fanno uso: IBM ha infatti iniziato a lavorare sulla traduzione a macchina, semplificando non poco il lavoro di gestione multilingua dei testi legislativi per l’Unione Europea.

Ad oggi, le applicazioni sono infinite e probabilmente non sono state ancora esplorate tutte le strade possibili; l’analisi del testo potrebbe essere utilizzata largamente per rendere più semplici attività in settori come la sanità o la comunicazione. Un’idea portata avanti con successo dalla Columbia University è infatti operare del data mining utilizzando il repertorio di dati clinici dei pazienti di malattie rare, per cercare di trarre più informazioni sulla sintomatologia e sulla prevenzione.

Python per l’analisi del linguaggio: una scelta tanto obbligata quanto libera

Python è sicuramente uno dei linguaggi di programmazione che più si presta all’analisi dei dati, grazie alla moltitudine di librerie open source per l’apprendimento automatico e il deep learning. Qualunque esperto del settore può confermare che le librerie maggiormente utilizzate in questo settore sono NLTK, OpenCV, spaCy e NetworkX, tutte operative con Python.

Senza dubbio, il vantaggio principale dell’utilizzo di determinati strumenti che vengono rilasciati seguendo il principio dell’open source, è godere di una community attiva che lavora duramente per ottenere degli ottimi risultati. È altrettanto chiaro che entra in gioco un conflitto di interessi; a questo proposito, mi sembra giusto citare un breve passaggio di uno degli ultimi libri che ho terminato di leggere:

Nell’immaginario comune le grandi innovazioni nascono da colpi di genio individuali, quando un’intelligenza fuori dalla norma s’imbatte in un’idea destinata a rivoluzionare un’intera cultura. È così che idealizziamo la creatività, pensandola come il frutto di visioni estemporanee, di folgorazioni che trascendono le contingenze storiche e le tradizioni consolidate. Al contrario sono proprio gli ambienti aperti e le piattaforme condivise ad accrescere la creatività e la redditività delle persone che vi operano.

Lo stereotipo dell’idea geniale frutto di un unico genio è pura utopia; le grandi società, per ovvie ragioni, operano quasi sempre a scopo di lucro, piuttosto che con l’idea di sfruttare le proprie forze a vantaggio della comunità. La ricchezza degli strumenti open source rispetto ai prodotti commerciali è che spesso danno la possibilità alle persone comuni di fruirne, ma anche di modificarne singole parti, nell’ottica che il benessere del singolo possa portare ad un benessere generale.

L’unico vero requisito per cominciare è la forza di volontà

Arrivare a traguardi professionali richiede certamente studio ed esperienza, ma intraprendere un percorso penso sia assolutamente indipendente da questo. Frasi fatte come se vuoi, puoi potrebbero risultare melense, ma sono fermamente convinta che la volontà può tutto. È chiaro che avere una minima esperienza da programmatore e ancor di più capacità logiche sia d’aiuto, ma penso che le due funzioni – sviluppatore e tecnico – possano essere un’accoppiata vincente per chi vuole raggiungere obiettivi di un certo tipo, anche dal punto di vista professionale. Se invece ci si appresta per la prima volta, anche a digiuno di codice, la forza di volontà è l’unico requisito.

Nel mio caso, per fortuna ho sempre avuto le idee molto chiare; già in primo liceo avevo deciso di seguire questo percorso, sia a livello universitario che professionale. Dico fortuna non a caso, perché oggi è un lusso avere le idee chiare sul tipo di professione che si vuole e si può intraprendere. Al momento sono molto felice di quello che faccio e mi alzo la mattina con il cuore leggero all’idea di lavorare – altro lusso – e fare quello che faccio, tanto più che il mio percorso è stato perlopiù da autodidatta; infatti, molte delle conoscenze acquisite nel corso degli anni sono frutto di nottate insonni, che si aggiungevano agli esami e ai progetti in consegna con cadenza mensile. Quello che mi sento di suggerire è essere curiosi: le strade per iniziare a lavorare nel settore sono molteplici e anche relativamente semplici da intraprendere (vedi i vari corsi su piattaforme di e-learning a prezzi infimi, piuttosto che la manualistica di ottimo livello presente nelle librerie), ma l’intuizione per sfruttare queste risorse a dovere è un’altra cosa.

Il risultato di cui vado più orgogliosa è sicuramente la laurea triennale, conclusa nei tempi e nei modi giusti, dopo tanta fatica, a cui ha potuto assistere la mia famiglia al completo. Quello è stato sicuramente uno dei momenti più belli e realizzati della mia carriera.

Scegli buon hardware e il software che più senti adatto per iniziare ad analizzare il linguaggio

Sicuramente questo tipo di attività ha bisogno di capacità hardware discrete e quindi, se si parla di un portatile o di un fisso, almeno 8 gigabyte di RAM e un processore che abbia una frequenza superiore ai 2,5 gigahertz. Per quanto riguarda gli ambienti di sviluppo, come spiego anche nell’ultimo capitolo di Analisi del linguaggio con Python, sono frutto di scelte personali e molto soggettive: un po’ come uno scrittore che predilige una penna stilografica, piuttosto di una Bic. Attualmente, per uso professionale e non, utilizzo la suite Jetbrains, che fornisce una serie di ambienti per l’utilizzo di diversi linguaggi di programmazione; per scrivere il codice presente nel libro, ho usato PyCharm.

Non si smette mai di imparare e lo sanno persino le multinazionali

Che non si smetta mai di imparare, è risaputo e vale anche per gli analisti del linguaggio. Grazie ad Internet, ad oggi ci si può tenere aggiornati su qualunque argomento di qualunque settore: basta una semplice ricerca su Google per esplorare nuovi mondi. La tecnologia sta d’altronde andando avanti sempre più rapidamente, per cui dirsi arrivati è difficile, soprattutto per me che ho solo 26 anni e sono quindi solo all’inizio. Non credo mi sentirò all’apice neanche dopo 50 anni di lavoro nel settore!

Basta guardare quanto ancora abbiano da lavorare i curatori degli assistenti vocali tanto in voga oggi, come Siri, Alexa, Google Assistant. Esistono diversi studi che cercano di misurare le diverse capacità, che risultano di livelli senz’altro diversi anche per via del lavoro fatto dalle diverse società.

Per tenermi neutrale, cito un video molto carino girato da Wired in cui due presentatori britannici illustrano i risultati dei test condotti su Siri, Alexa e Google Home per quanto riguarda la loro capacità di comprensione del linguaggio umano, utilizzando però dei bambini; il risultato è esilarante, e mostra quanto lavoro sia ancora necessario.

L'autore

  • Serena Sensini
    Serena Sensini è un’ingegnera e programmatrice con esperienza nella progettazione e nello sviluppo di soluzioni web e stand-alone from scratch. Appassionata di tecnologia e di linguaggi come Python e R, lavora come Enterprise Architect presso Dedalus S.p.A. e collabora con diverse aziende e associazioni per cui tiene corsi e seminari.

Iscriviti alla newsletter

Novità, promozioni e approfondimenti per imparare sempre qualcosa di nuovo

Gli argomenti che mi interessano:
Iscrivendomi dichiaro di aver preso visione dell’Informativa fornita ai sensi dell'art. 13 e 14 del Regolamento Europeo EU 679/2016.

Corsi che potrebbero interessarti

Tutti i corsi
big-_data_executive-home Corso Online

Big Data Executive: business e strategie

con Andrea De Mauro

Vuoi capire se e come la tua azienda può ottenere un vantaggio di business investendo in una strategia di creazione e analisi di Big Data? Il corso di Andrea De Mauro è quello che ti serve.

corso-data-governance Simone Aliprandi Corso Online

Data governance: diritti, licenze e privacy

con Simone Aliprandi

I dati sono ovunque intorno a noi ma per poterli utilizzare in sicurezza bisogna confrontarsi con temi complessi che riguardano licenze, proprietà intellettuale e privacy. Se non ti senti sicuro o hai paura di prendere la decisione sbagliata, il corso di Simone Aliprandi fa per te.


Libri che potrebbero interessarti

Tutti i libri

Analisi del linguaggio con Python

Imparare a processare testo e audio con le librerie open source

23,15

32,89€ -30%

18,91

19,90€ -5%

12,99

di Serena Sensini

Machine Learning con Python

Costruire algoritmi per generare conoscenza

24,99

di Sebastian Raschka

Data Science con Python

Dalle stringhe al machine learning, le tecniche essenziali per lavorare sui dati

34,90

49,89€ -30%

28,41

29,90€ -5%

19,99

di Dmitry Zinoviev


Articoli che potrebbero interessarti

Tutti gli articoli