Problema #46
Autore:Mihai Nan
Difficoltà
Il tuo miglior punteggio
N/D
In un mondo in cui i messaggi sono sempre più brevi, digitati in fretta sui telefoni e distribuiti istantaneamente sui social network, la qualità del linguaggio scritto inizia a degradarsi. Errori grammaticali, parole omesse e formulazioni ambigue diventano sempre più frequenti.
Per analizzare e migliorare questi testi, una piattaforma educativa sviluppa un sistema automatico capace di trasformare le frasi scritte in modo disattento in una versione corretta e chiara. Il tuo ruolo è aiutarla proponendo un sistema automatico che corregge i testi dal punto di vista grammaticale.
Hai a disposizione due file:
Ogni riga di train.csv ha le seguenti colonne:
SampleID — identificatore unico del testoText — frase originale, come è stata scritta dall'utenteRevisedText — versione corretta da un espertoEsempio:
SampleID,Text,RevisedText747, "She forgot her umbrella it started to rain.", "She forgot her umbrella, and then it started to rain."1382, "He could have bought the house if he has enough money.", "He could have bought the house if he had enough money."241, "I have a meeting with a principal of a school.", "I have a meeting with the principal of the school."Costruisci un sistema che genera la versione corretta dal punto di vista grammaticale per le frasi in test.csv.
Il sistema di valutazione calcolerà un punteggio finale combinando due aspetti essenziali:
La formula di valutazione è:
final_score = 0.7 * cosine_similarity + 0.3 * edit_distance_scorePer costruire un sistema automatico di correzione di testi, la valutazione deve tenere conto sia del significato della frase che delle differenze lessicali esatte. Qui entrano in gioco cosine_similarity e edit_distance.
Definizione:
Cosine similarity misura la similarità tra due vettori calcolando il coseno dell'angolo tra di essi. La formula è:
A * B è il prodotto scalare dei vettori|A| e |B| sono le loro normeIn NLP:
Esempio:
Text 1: "She forgot her umbrella."Text 2: "She left her umbrella behind."Rilevanza:
Ci assicura che il testo corretto mantenga la stessa idea del testo originale.
Definizione:
Edit distance misura il numero minimo di operazioni (inserimento, cancellazione, sostituzione) necessarie per trasformare una stringa in un'altra.

Esempio:
Testo originale: "She forgot her umbrella it started to rain."Testo corretto: "She forgot her umbrella, and then it started to rain."Rilevanza:
Riflette le differenze lessicali e la correttezza grammaticale.
Formula del punteggio finale:
Questa combinazione assicura che il testo corretto sia sia grammaticalmente corretto che simile dal punto di vista semantico al testo originale.
Il file submission.csv deve contenere una riga per ogni testo nel test.
La prima riga del file contiene quanto segue:
DatapointID, RevisedTextdove:
SampleID dal test1557):1557, "He didn't eat any breakfast this morning."