Discussioni MediaWiki:Gadget-ErroriOrtografici.js

Ultimo commento: 6 mesi fa, lasciato da Candalua in merito all'argomento numeri romani

Piu e cosi modifica

@Candalua Suggerirei di sostituire, nella ricerca regex di parolacce, il \b con un \W, mi ha semplificato la vita nella ricerca di cosi e di piu, poichè le pesca anche se sono seguite da un segno di interpunzione, oltre che da spazi o acapo. (sciocchezza 1: confondevo \b e \s, ma comunque non va bene) Un altro campo interessante è costituito dalle miscele di caratteri e di digits e dai caratteri maiuscoli compresi in caratteri minuscoli, tipo delTonore al posto di dell'onore.(sciocchezza 2: già presente fra le regex)

Un caso frequente è Vili al posto di VIII, il secondo è frequentissimo nei testi, il primo molto più raro: dei Vili io sospetto sempre. :-)
"cb", frequente errore OCR per "ch"
"Ili", frequente errore per "III" --Alex brollo (disc.). 14:13, 19 feb 2023 (CET)Rispondi
@Candalua Ho corretto un paio di sciocchezze scritte nel primo messaggio... ma anche scoperto che le vocali accentate matchano il \b: il tool mi segnala "càpiti", falso positivo. --Alex brollo (disc.). 00:30, 20 feb 2023 (CET)Rispondi
Alex brollo: ho aggiunto nuove regex tra cui quelle che mi hai segnalato. Se vuoi divertirti, prova a escogitarne di nuove per intercettare gli errori di Utente:Мишоко/The so-called riletta pages are not so riletta. Can da Lua (disc.) 09:56, 20 feb 2023 (CET)Rispondi
@Candalua Il risultato di Мишоко è sorprendente.... sembra che interpreti il contesto. Da parte mia, ho tentato l'aggiunta di due righe, per accodare alle regex del tool quelle eventualmente contenuto in una pagina Utente:[nome utente]/customRegex.js, ma senza successo. Alex brollo (disc.). 10:09, 20 feb 2023 (CET)Rispondi
In realtà a quanto ho capito è "solo" molto bravo a scrivere le regex, e ha studiato l'italiano quanto basta a capire cosa ha senso e cosa no. Ad esempio lui cerca l'articolo "i" seguito da una parola che finisce con "o", ma scartando i casi validi più comuni, come "i quattro", "i cento" e così via. Sicuramente trova comunque molti falsi positivi, e poi li scarta a mano. Il suo risultato è impressionante, ma è frutto di un lungo lavoro manuale non totalmente automatizzabile. Can da Lua (disc.) 10:46, 20 feb 2023 (CET)Rispondi
@Candalua Moooolto interessante... studiare le sue regex potrebbe essere affascinante. Dove trovo il suo script? PS: ho tentato una integrazione del tuo script, l'idea era di fargli aggiungere alla lista delle regex quelle personali modificabili in una pagina utente, ma non funzia.... se le due righe aliene danno fastidio, eliminale, naturalmente. Alex brollo (disc.). 14:57, 20 feb 2023 (CET)Rispondi

──────────────────────────────────────────────────────────────────────────────────────────────────── lo uso ma... mi dà come errore "style=text-align:center" e mette in neretto align. --Carlo M. (disc.) 16:48, 7 mar 2023 (CET)Rispondi

Stessa consonante ripetuta a inizio parola modifica

La regex "Stessa consonante ripetuta a inizio parola" sembra contenere errori, come viene confermato dal sito regex101.com. Qualcuno di voi conferma? Da quel poco che so di regex forse una versione corretta potrebbe essere questa: /\b([bcdfghjklmnpqrstvwxz])\1\w*\b/g Non so se voi siete d'accordo... Myron Aub (disc.) 18:13, 11 mar 2023 (CET)Rispondi

E aggiungo che anche la regex "è (voce verbale) con accento acuto" è sbagliata, già a prima vista /\s[Éé]\s]/g ha una parentesi quadra chiusa in più. Una versione corretta dovrebbe essere questa: \b[éÉ]{1}\b, però in regex101.com sembra non funzionare però funziona benissimo la regex quasi uguale \b[aA]{1}\b. Forse c'è un problema nell'identificare precisamente le lettere accentate? --Myron Aub (disc.) 15:05, 12 mar 2023 (CET)Rispondi
Preciso che anche la regex /\s[Éé]\s/g scritta togliendo la parentesi quadra chiusa in più non funziona bene perché segnala solo le lettere seguite e precedute da uno spazio. Se scrivo la riga "É é é. É" (virgolette escluse) la regex mi segnala solo la seconda e la quarta lettera. Nel frattempo suggerisco nuove regex basate su combinazioni strane di punteggiatura (punto seguito da virgola o viceversa, due virgole...). Non so se @Candalua se è più esperto di regex può aiutarmi... --Myron Aub (disc.) 16:01, 13 mar 2023 (CET)Rispondi
Myron Aub: molto bene, vedo che ho solleticato la tua curiosità! :) È vero, c'erano un paio di errorini che ora dovrei aver corretto. Le regex sono un campo minato, c'è sempre qualcosa che ti sfugge... e quelle javascript hanno anche una brutta limitazione sul \b, che dovrebbe trovare il "confine" delle parole ma in realtà non funziona quando trova lettere accentate o con altri diacritici, quindi sto cercando di evitarlo altrimenti segnala un sacco di falsi positivi. Guardando invece gli spazi e gli a capo con \s, qualcosa si riesce a fare... considera anche che la ricerca avviene su tutto il testo preso in blocco: nel caso di prova "É é é. É", la prima non viene trovata solo se è la prima lettera della prima pagina; se invece c'è anche solo una riga vuota sopra, allora la trova. Non so se sono riuscito a spiegarmi...
Comunque ho intenzione di aggiungere una casella dove puoi provare a scrivere una regex e vedere al volo cosa matcha sul testo effettivo dell'opera, così è più facile capire se stai raggiungendo l'obiettivo. Can da Lua (disc.) 17:16, 13 mar 2023 (CET)Rispondi
@Candalua Ti chiedo altre curiosità, nella regex "stessa lettera ripetuta 3 volte (tranne numeri romani)" ho notato che ci sono tra le lettere "escluse" la "d" che, mi risulta non possa essere ripetuta tre volte in base alle regole dei numeri romani, mentre è presente la "m" che invece mi risulta possa essere ripetuta tre volte in questa numerazione. Poi nelle due regex "stessa consonante ripetuta a inizio parola" e in "parola costituita interamente da 2 o più consonanti" vedo che è esclusa la "x" (secondo me giustamente, dato che fra i numeri romani è ripetibile) ma sono incluse la "c" e la "m", ripetibili fra i numeri romani. Quali criteri hai usato in questi casi? Altre idee: aggiungere "parole che iniziano con una stessa vocale ripetuta" "parole formate esclusivamente da due o più vocali (eccetto "io", "ei" e "ai")" e "5 o più vocali consecutive". Poi si potrebbe mettere altri errori OCR molto comuni (articoli e preposizioni trascritti male come "delia" e "gii", sequenze iniziali di consonanti e vocali insolite nella fonetica italiana come "ea..." ad esempio in "eamino"...). Penso che i falsi positivi non siano tantissimi (poi, come è già stato detto, possiamo pensare a "disattivare a scelta" le regex a seconda del testo usato, se contiene parole straniere o arcaiche particolari). --Myron Aub (disc.) 15:56, 14 mar 2023 (CET)Rispondi
Vero, la d la posso includere. La m non ricordo bene, ma forse non l'avevo esclusa perché trovare numeri romani dal 3000 in su è molto insolito, per lo più la trovi in date come MCM ecc. e invece gruppi di mmm dentro a una parola ne ho trovati eccome. Grazie per gli altri suggerimenti, pian piano vedrò di aggiungerli. Can da Lua (disc.) 16:06, 14 mar 2023 (CET)Rispondi
@CandaluaHo visto che stai aggiungendo delle "eccezioni" (Innsbruck, km...) ma che lo fai mettendole al di fuori delle regex. Da quanto ho capito, ci sarebbe un modo per metterle dentro le regex, ad esempio per dire "parola costituita interamente da 2 o più consonanti, tranne km e cm" basterebbe scrivere /\s(?![kc][m])[bcdfghjklmnpqrstvwz]{2,}[\s:;,!\?]/g In modo analogo, per escludere le parole "Innsbruck" e "Nietzsche" dalla ricerca di parole con 5 o più consonanti consecutive si scrive (?!Innsbruck|Nietzsche)([bcdfgjklmnpqrstvwxz]){5,} e così via. Tu hai trovato problemi in questo modo di scrivere le regex? Io le trovo comode, anche per usarle offline nei programmi di videoscrittura... --Myron Aub (disc.) 17:10, 16 mar 2023 (CET)Rispondi
Myron Aub: lo so, è che volevo per prima cosa non avere regex troppo lunghe visto che le eccezioni potrebbero essere tante, e poi mantenermi la possibilità di matchare solo un pezzo della parola. Ad esempio per Innsbruck il gruppo che viene matchato è nnsbr, per escluderlo devi scrivere (?!nnsbr) e non (?!Innsbruck). Invece prendendo via codice tutta la parola, riesco a escludere le eccezioni più facilmente. Ma ci sto ancora riflettendo... Can da Lua (disc.) 09:36, 17 mar 2023 (CET)Rispondi
Candalua Ecco alcune regex pronte che ho fatto nel frattempo:

/\s([abdefghjklmnopqrstuvwyzàèìòù])\1{1,}[a-zàèìòùáéíóúA-ZÀÈÌÒÙÁÉÍÓÚ]+/gi (stessa lettera ripetuta a inizio parola, tranne numeri romani i,x,c)

/\s([abdefghjklmnopqrstuvwyzàèìòù])\1{1,}\s/g (parola costituita interamente dalla stessa lettera ripetuta 2 o più volte tranne numeri romani i,x,c)

/([aeiouàèìòù]){5,}/g (5 o più vocali consecutive, rarissime eccezioni come "cuoiaio")

/\s[aeiouàèìòù]{2,}[\s:;,!\?]/g (parola costituita interamente da 2 o più vocali, le eccezioni sono "ii", "iii", "io","ai","ei","aia", "aie").

/\s[VvNnSs]?['’]e\s/g, (v'è, s'è, n'è senza accento)

Poi come ho già detto, pensavo di fare anche delle regex con combinazioni strane di punteggiatura come "?." e ",," e con combinazioni di vocali e consonanti insolite in italiano come "bc", "bf" e simili ma sarebbe un elenco molto lungo e non so quanto utile perché sarebbe meglio prima sapere quali di queste combinazioni sono più frequenti tra gli errori OCR. Vedi tu cosa è meglio fare...--Myron Aub (disc.) 19:15, 27 mar 2023 (CEST)Rispondi

Candalua segnalo che fra le eccezioni alla regex "parola costituita interamente da 2 o più vocali" occorre mettere anche le parole francesi e latine au, ou, où, eau, ea, eo. --Myron Aub (disc.) 20:00, 3 apr 2023 (CEST)Rispondi
Myron Aub: fatto. Adesso ho aggiunto una casella per provare una qualunque regex: andando sul "Cerca errori ortografici" di un singolo indice e aspettando la fine del caricamento, esce un bottone "Cerca..." che ti mostra una casella di testo, dove puoi mettere qualunque testo o regex, che verrà cercato "al volo". Can da Lua (disc.) 09:30, 4 apr 2023 (CEST)Rispondi
Candalua Ecco anche la regex "segni di punteggiatura attaccati (eccetto !! ?? ?! e !?)": (?<![?!])(?![?!])([^\w\s]|[.?!]){2,} --Myron Aub (disc.) 16:41, 4 apr 2023 (CEST)Rispondi
Myron Aub: devi escludere anche i puntini di sospensione (3 o più) Can da Lua (disc.) 16:51, 4 apr 2023 (CEST)Rispondi
Candalua Lo avevo pensato anch'io però mi risulta che "Puntini di sospensione" di solito sia ritenuto un carattere unico e dunque da sostituire se è scritto usando i tre caratteri del punto, però in effetti se a volte ci sono quattro puntini è meglio aggiungerla come eccezione. Adesso però mi accorgo del solito problema del "w" e del "b" ovvero che non considerano i caratteri accentati, devo pensarci su come modificare la regex... --Myron Aub (disc.) 16:58, 4 apr 2023 (CEST)Rispondi
Candalua ecco la regex sulle combinazioni di punteggiatura modificata che non segnala i tre o più puntini attaccati e non dà problemi con lettere accentate, vedi anche tu se va bene: (?<![?!])(?![?!])(?!\.{3,})([.:;,!\?]){2,} --Myron Aub (disc.) 17:30, 4 apr 2023 (CEST)Rispondi
Myron Aub: l'ho provata su Indice:Il Santo.djvu con la nuova casella: ha trovato alcuni ";," che ho corretto, però trova anche "..." oltre a "...!" e "...?" Riesci a migliorarla? Altrimenti possiamo usarla così ma mettendo "..." nelle eccezioni (rinunciando a casi come "...,") Can da Lua (disc.) 17:40, 4 apr 2023 (CEST)Rispondi
Candalua Secondo me la cosa più semplice è mettere come eccezione anche i "due puntini" e cercare i due puntini con una regex a parte a cui ci penserò in seguito, dunque la regex di prima diventa così: (?<![?!])(?![?!])(?!\.{2,})([.:;,!\?]){2,} --Myron Aub (disc.) 18:30, 4 apr 2023 (CEST)Rispondi
Candalua la seguente regex trova solamente due puntini non preceduti da un altro punto e non seguiti da un altro punto e dunque completa la regex del mio messaggio precedente (?<!\.)\.{2}(?!\.) --Myron Aub (disc.) 19:06, 4 apr 2023 (CEST)Rispondi
Candalua Ho notato che la prima regex che trova punteggiatura attaccata ha troppi falsi positivi dovuti alle abbreviazioni ( ad esempio "a.C." seguito da virgola e cose simili), a questo punto è meglio tralasciare la punteggiatura attaccata che inizia con un punto e dunque scrivere la prima regex così (?<![?!])(?![?!])(?!\.{1,})([.:;,!\?]){2,} --Myron Aub (disc.) 17:56, 6 apr 2023 (CEST)Rispondi
Candalua Segnalo che oltre a "¬" un altro "simbolo insolito" è "˞ ", che a volte si trova come errore OCR al posto di un "trattino corto" (hyphen) nell'originale cartaceo. --Myron Aub (disc.) 19:02, 7 apr 2023 (CEST)Rispondi
Candalua Ecco altre cinque proposte di regex:[Cc]om['’]e[\s\.:;,!\?] ("Com'è" senza accento), [Cc]os['’]e[\s\.:;,!\?] ("Cos'è" senza accento),[Nn]on\se[\s\.:;,!\?] ("Non è" senza accento), [Qq]ual[\s'’]e[\s\.:;,!\?] ("qual è" e "qual'è" senza accento) e [Tt]al\se[\s\.:;,!\?] ("tal è" senza accento). Aggiungo che alcune regex come \s[Cc]h?['’]e\s ("c'è" e "ch'è" senza accento) bisognerebbe correggerle usando alla fine [\s\.:;,!\?] altrimenti non trovano questi errori quando non sono seguiti dallo spazio ma da punti o altra punteggiatura come "c'e." --Myron Aub (disc.) 11:45, 9 apr 2023 (CEST)Rispondi

Sito utile su parole italiane con certe sequenze di lettere modifica

@Candalua Ti segnalo anche questo sito utile per cercare parole italiane con dentro sequenze "insolite" di lettere (ad esempio "aa", "bc", "bf" e così via):

https://www.parolecon.it/search.php?i=&f=&ms=&mns=&m=bf&mn=&fs=0&fs2=0&fnl=0&fnl2=0&fa=0&ju=0&d=50&tv=4&Submit=Cerca

Forse non contiene varie parole in italiano arcaico non più usate però mi sembra interessante per creare regex e capire quali eccezioni possono servire... Myron Aub (disc.) 15:27, 31 mar 2023 (CEST)Rispondi

Estensione di LibreOffice Writer per usare le RegEx modifica

@Alex brollo @Candalua Ho trovato "Pepito Cleaner", una estensione di LibreOffice Writer: https://pepitoweb.altervista.org/pepito_cleaner/index.php che mi sembra un modo più comodo di cercare le regex offline rispetto all'altro metodo che avevo suggerito altrove di "concatenarle" con l'operatore "|" e le parentesi. In questa estensione ci sono soprattutto regex relative a spazi e a linee vuote ma ce ne sono anche alcune che non mi sembrano ancora presenti nel Gadget Errori Ortografici e che si basano su "Inizio riga" e "Fine riga", ad esempio ^([»,\?!\.]) (Riga che inizia con punteggiatura, escluso il carattere «), ^([^«]+») (dialogo che finisce senza essere aperto nel paragrafo, ma bisogna vedere se in passato si usava scrivere dialoghi lunghi con più paragrafi) e ,$ (riga che finisce con la virgola). Myron Aub (disc.) 16:54, 21 apr 2023 (CEST)Rispondi

Candalua Ti segnalo che sto collaborando anche con Liber Liber e abbiamo scoperto che con LibreOffice Writer gli operatori \b e \w funzionano bene anche con le lettere accentate. Abbiamo perciò continuato per conto nostro a costruire regex, ecco un elenco con descrizione nel seguente link, vedi tu se riesci ad adattarle anche con le limitazioni di Wikisource: qui. Oltre a questo elenco, sempre in aggiornamento, abbiamo fatto un piccolo vademecum sulle regex qua --Myron Aub (disc.) 16:54, 12 giu 2023 (CEST)Rispondi

numeri romani modifica

Questo gadget segnala gli errori "xxx", "xiv" e così via (cioè i numeri romani). È possibile risolvere questo problema? Frecks (disc.) 10:36, 4 ott 2023 (CEST)Rispondi

Frecks: è possibile aggiungere delle eccezioni. Mi puoi indicare su quale testo te li segnala, così da poterlo provare anch'io? Grazie. Can da Lua (disc.) 11:13, 4 ott 2023 (CEST)Rispondi
Ritorna alla pagina "Gadget-ErroriOrtografici.js".