Linguistic-Mode

Blogging Linguistics

In questa seconda parte, applicheremo il perceptron creato nel precedente post per classificare due tipi diversi di testi.

In un paio di post fa abbiamo visto come rappresentare frasi in un piano cartesiano 2d, 3d e multidimensionale, trasformando le parole in vettori. E' stato suggerito come questi vettori possano essere usati per calcoli di distanza e, quindi, possono potenzialmente anche essere raggruppati. La classificazione è una delle task in cui machine learning è usato più estensivamente grazie ai molti modelli a disposizione. Uno dei più basilari e conosciuti è il perceptron.

The difference between supervised and unsupervised learning is that the first requires human help to learn to categorize data, while the latter does not need anything more than the data itself to learn and propose its own classification groups. In the future A.I. will conquer the world with supercyborgs, at least that's what I got from tabloids, so it would be better for these cyborg to learn how to distinguish between a u and a i, otherwise there might be the chance that instead of "fire!" they will understand "fare!" or, even worse, "fr!". This digression was just to explain that we will talk about vowel classification with unsupervised clustering using k-means.

La differenza fra supervised e unsupervised learning è che il primo ha bisogno dell'aiuto umano per imparare, ad esempio, a categorizzare i dati, mentre il secondo non ha bisogno di altro che i dati per poi proporre dei gruppi che scopre da solo. Nel futuro l'A.I. conquisterà il mondo con supercyborg, almeno questo è quello che leggo, quindi sarebbe meglio far sì che questi cyborg imparino a distinguere una u da una i, altrimenti c'è il rischio che al grido di "Fuoco" capiscano "fioco" o ancor peggio "fc". Questa digressione è per far capire che si parlerà di categorizzazione delle vocali tramite unsupervised clustering con k-means.

In questo articolo saranno spiegati i concetti base di analisi dei testi e di una delle tecniche più comunemente usate in linguistica computazionale ed NLP.

Cosa è Linux e perchè ogni linguista dovrebbe conoscerlo? Linux è una premessa per una metodologia di ricerca riproducibile e affidabile.

Con l'arrivo del Natale si intravedono anche le feste, i cenoni, il cibo, i parenti, vicini e lontani, e immancabilmente le loro domande che aiutano a far passare delle vacanze tranquille e spensierate. Domande come "Come va l'Università?", "Che esami devi dare?", "E la tesi?".

Non avendo molto da fare in questo fine settimana, ed essendo il tempo non dei migliori, ho deciso di pensare a qualche piccolo progetto divertente e di poche righe. Ed ecco che il risultato è stato una breve funzione che trasforma le frasi da SVO ad OSV, da come parliamo noi e gli Inglesi a come parla Yoda.

In questa parte 2 vedremo come utilizzare alcuni caratteri speciali per espandere le nostre ricerche con RegEx, e come questi possono essere usati in diversi contesti quando si analizzano dati linguistici.

RegEx è uno strumento utilissimo per trovare velocemente file, ricercare ed estrarre stringhe dai datasets ed è anche richiesto solitamente per posizioni di linguistica computazionale.

Quali sono i migliori e più usati strumenti per raccogliere ed analizzare dati? Quali sono i linguaggi di programmazione con librerie utili per linguisti e quali i più richiesti nel mondo del lavoro?

Il software Linguistica di UChicago permette di ottenere bigrammi, trigrammi, affissi, n-neighbors e molto altro con una interfaccia molto semplice ed efficace. Il punto più forte. però, è sicuramente la rappresentazione del manifold ricavato dal corpus.

A brief blog post to present and talk about Linguistic-mode, a package for Emacs that can perform different corpus analysis tasks such as ngram or word frequency, collocation, concordance and more. I started writing this mode as a hobby and then it just got out of hand. Now it can be found on MELPA and new features will soon be added.

In questo post verrà spiegato come normalizzare un dataframe di valori delle formanti attraverso il metodo di Lobanov, che non è niente altro che un z-score applicato sulle formanti di un parlante.

Merger e split sono due dei vari possibili cambiamenti fonologici che una lingua può attraversare. Grazie ad analisi acustiche accurate e con abbastanza dati a disposizione, è possibile ottere in modo scientifico una risposta su un possibile merger o split di vocali. Per poter fare ciò, basta sottoporre le formanti ottenute ad un t-test.

Un modo interessante di testare i dati fonetici raccolti è quello di sottoporli a vari classifiers (algoritmi di classificazione) per vedere quali algoritmi possano essere i più accurati e se i dati sono sufficienti ad avere classificatori affidabili.

Installando la libreria NLTK per Python3 si possono immediatamente provare molti dei suoi strumenti sui corpora che la libreria stessa fornisce. Il modo più semplice per scaricare e installare i vari moduli e corpora è usando la funzione nltk.download() in uno shell di python oppure con python -m nltk.downloader nel terminale. Tramite il downloader installate i moduli stopwords, punkt e il corpus gutenberg.

Ultimamente ho iniziato a dare uno sguardo a PRAW, un wrapper per l'API di Reddit che permette di fare data mining in modo molto semplice.

Spesso capita di voler analizzare un corpus in modo molto semplice e preliminare in Python con la libreria NLTK vedendo semplicemente le frequenze dei lemmi.

Trovare le formanti manualmente non è difficile, anche se può richiedere abbastanza tempo. Tutto ciò che serve è un microfono esterno per il pc e due free softwares.

Date:

Author: Andrew

Other posts