Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Filtrer les symboles indésirables #50

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open

Filtrer les symboles indésirables #50

wants to merge 2 commits into from

Conversation

dbsaymen
Copy link

No description provided.

@@ -38,6 +38,7 @@
(re.compile(r'(\s|^)0(\s|$|,)'), r'\g<1>zéro\g<2>'),
(re.compile(r'(\s|^)0(\s|$|,)'), r'\g<1>zéro\g<2>'),
]
FILTER_SYMBOLES_REG=re.compile(r'[\{\}\[\]«»_\|\(\)\\…(^—)=&\*/µ#’@℗`~¹½¼¾¿º±↨↑↓▼→▲←↔∟§°‼¸‰‘¶“”•—´☺☻♥♦♠♣•◘○◙♂►♀☼♫♪¢¦Ξ≈˜†√ƒοΔδΛΓκιςζυσρΣγτθΘφΦηχξβωγΩΨ◊░▒▓│├╚┼┬┴└┐┤╝╗╬╣║ßÞ═™›³ª¯¬®]+')
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Haha, on a tout ça, ou t'as généré une liste au cas où?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

hhh j'ai commencé par des symboles qui existe déja puis j'ajoute d'autres au cas où

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • Les simples quotes (littéraires) ne doivent pas être strippées. Nombre de phrases en dépendent lourdement et deviendraient illisibles sans elles.
  • Les doubles quotes (littéraires) (2239) : Je suggérerais d'uniformiser sur les double-quote anglaises mais sans stripper. Je pense qu'elles aident à la lecture plus qu'elles ne la gêne. Ex: On parle alors de “taux spécial” ou Un jour, ils seront réunis dans un jardin, appelé “le jardin des âges”.
  • Les & : doivent être substitués par "et", exemple (Cocktail & Culture). 700 phrases deviendraient illisibles sans eux. Cas particulier, les expressions telles que Tara Sports & Entertainment se disent Tara Sports and Entertainment. Je pense qu'il faut donc les préserver.
  • Les ß : 239 noms propres allemands. Je suis d'avis de tout bonne supprimer ces phrases où à défaut de remplacer par "ss".
  • Les (dashes littéraires) : Ambigu. 2253 occurrences. Parfois utilisé comme séparateur comme -, ex Saskatoon—Rosetown—Biggar mais le plus souvent comme césure Il reliait les fortifications — aujourd’hui disparues — de la ville telle une parenthèse et le plus souvent une virgule. Quelque soit le décision, ce n'est pas à supprimer.
  • ω et multiples autres lettres grecques (251): A remplacer par "omega" sans quoi les phrases deviennent incompréhensibles. Ex: Par exemple, le type d'ordre des nombres naturels est ω. ou Il utilise bien sûr également la notation ∼, mais jamais ω ou Θ
  • Pour les symboles, à supprimer je dirais. Ex: Le symbole † indique un taxon éteint.
  • Les = (100) : Supprimer les phrases. Elle sont le plus souvent incompréhensibles. Ex: ==JOURNEE un SCENE un== Le bord de la Tamise. ou Bas latin traucum = trou, d’origine gauloise. Parfois remplacer par "égal" aurait eu du sens, eg: Quand K=R, elle fournit aussi des informations sur le groupe de Lie associé mais identifier ces cas est impossible.
  • Les 5694 : À supprimer en fin de phrase (ils n'apportent pas grand chose en prononciation). Eg: Très vite, la fête dégénère…. Ils indiquent parfois une phrase inadéquate (coupure), eg: Cette panne est née ….. En milieu de phrase, il indique une pause utile à la diction, ex: Mais, en vain… Esseulé et démuni, André dissimule ses problèmes à sa famille.
  • Les 164 () peuvent se substituer par des virgules dans certains cas mais elles sont largement utilisées pour les didascalies (assemblée-nationale) et certaines adresses.
  • Le ° et º (93) peut être remplacé par "numéro" lorsque précédé d'un "n". Autrement, la phrase devrait être supprimée complètement (ex douzeº pour douzième).
  • Le reste (229 occurrences) indique systématiquement des phrases à supprimer. Formule mathématique, OCR/template ou formatage erroné,

@drzraf
Copy link

drzraf commented Dec 31, 2020

On parle de filtrer les symboles avant de proposer les phrases aux utilisateurs.
N'est-ce pas là une perte de sens qui rend la diction plus difficiles ?
Ces symboles (hormis, µ, @, et les lettres grecques) ne seraient de toute façon pas prononcés par le locuteurs.

Ne serait-il pas plus judicieux de conserver certains de ces symboles dans le voice-collector, mais de les filtrer au moment de l'entraînement.

Les parenthèses ou les accolades par exemple, ont un rôle de ponctuation (et donc d'intonation) parfois important.
D'autres symboles peuvent aussi aider le locuteur à percevoir le contexte de la phrase.

@lissyx
Copy link
Collaborator

lissyx commented Dec 31, 2020

On parle de filtrer les symboles avant de proposer les phrases aux utilisateurs.
N'est-ce pas là une perte de sens qui rend la diction plus difficiles ?
Ces symboles (hormis, µ, @, et les lettres grecques) ne seraient de toute façon pas prononcés par le locuteurs.

Ne serait-il pas plus judicieux de conserver certains de ces symboles dans le voice-collector, mais de les filtrer au moment de l'entraînement.

Les parenthèses ou les accolades par exemple, ont un rôle de ponctuation (et donc d'intonation) parfois important.
D'autres symboles peuvent aussi aider le locuteur à percevoir le contexte de la phrase.

L'expérience a montré le contraire :

  • laisser les symboles induits les gens erreur, ils ne savent pas ce qu'ils doivent faire, certains vont les lires, certains non
  • les filtrer au moment de l'entraînement, c'est "trop tard", l'ambiguité est déjà présente
  • la ponctuation est plutôt un soucis en cas de synthèse vocale, mais pas vraiment en cas de reconnaissance vocale

On a vraiment besoin que les données présentées aux personnes qui s'enregistrent soient non ambigûes, parce que quelque chose d'ambigu ça va dégrader la qualité de la reconnaissance par la suite : si on a des caractères surnuméraires (les symboles dont tu parles précédemment) qui sont aléatoirement prononcés ou pas, ça va apprendre n'importe comment.

@drzraf
Copy link

drzraf commented Dec 31, 2020

Ok.
Si le process impliquant CommonVoice-Data/bano.py est lancé à nouveau, alors un nouveau set de phrases (correctes) sera importé dans le sentence collector.
Mais les nouvelles phrases (strippées) ne remplaceront pas les phrases non-strippées, mais s'y ajouteront, n'est-ce pas ?

Donc in-fine, les phrases non-strippées déjà importées actuellement continueront d'être proposées aux utilisateurs, avec les ambiguïtés que cela représente.

Sur cette PR (comme sur d'autres issues relatives aux typos), semble se poser la question de la facilité à supprimer des phrases une fois qu'elles sont dans la DB du sentence-collector. Pourtant, d'après https://github.com/common-voice/sentence-collector/ les phrases ont toutes un Sentence.ID qui devrait permettre leur mise à jour.

Dans le cas suppression/réimport:

  • Idéalement, la regexp devrait être donc être utilisée pour extraire les phrases contenant ces caractères et les rejeter en batch.
  • Ça se passe comment ? Il ne semble pas y avoir de endpoint, mais si on produit un .txt avec les phrases à rejeter, il vous est possible de faire l'opération manuellement dans la DB?

Dans le cas mise-à-jour (qui semble possible étant donné que ces transformation ne devaient pas rendre caduques les clips déjà enregistrées), il doit y avoir des script qui font ça, n'est-ce pas ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants