Technologies communautaires/Améliorations de l'OCR

From Meta, a Wikimedia project coordination wiki
Jump to navigation Jump to search
This page is a translated version of the page Community Tech/OCR Improvements and the translation is 66% complete.
Other languages:
Bahasa Indonesia • ‎English • ‎français • ‎polski • ‎עברית

Ce projet a pour but d’améliorer les outils de reconnaissance optique de caractères (OCR) sur Wikisource. Actuellement, les contributeurs sur Wikisource utilisent un ensemble d’outils d'OCR pour extraire le texte des livres. Ces outils sont très importants, mais ils ont de nombreux problèmes, dont les suivants :

  • les outils peuvent être difficiles à découvrir pour les nouveaux utilisateurs ;
  • certains outils sont cassé, inefficaces ou peu fiables ;
  • l’expérience utilisateur est complexe et peu attrayante ;
  • il peut être difficile de déterminer quel outil est le meilleur pour un texte donné.

Pour toutes ces raisons, les utilisateurs peuvent être découragés de contribuer à Wikisource. Nous espérons pouvoir améliorer les outils d'OCR afin que les contributeurs puissent travailler plus facilement. Ce projet a été la deuxième demande de la Consultation 2020 des souhaits de la communauté. Au cours de ce projet, nous enquêterons et identifierons les principaux problèmes, collaborerons avec diverses communautés et mettrons en œuvre des solutions qui permettront aux bénévoles de contribuer plus facilement. Nous aimerions lire vos retours sur la page de discussion !

Pourquoi utiliser les outils d'OCR

Pour Wikisource, les outils d’OCR sont cruciaux pour les contributeurs. OCR signifie « reconnaissance optique de caractères » (« optical text recognition » en anglais). Un outil d’OCR convertit une image représentant du texte en un texte numériquement encodé comme étant du texte. Lorsque le processus est terminé, l’utilisateur obtient une version numérique du texte qui peut être modifié et stocké électroniquement et dans lequel on peut rechercher une expression. Les outils d’OCR sont communément utilisés par de nombreuses communautés et plateformes en ligne, dont Wikisource.

Quand les contributeurs ajoutent des livres sur Wikisource, ils procèdent généralement de la façon suivante :

  1. Importer un fichier sur Wikimedia Commons. Le livre est habituellement un fichier PDF ou DjVu, contenant des scans de pages.
  2. Créer une page Livre: (grâce à l'extension Proofread Page) pour le livre sur Wikisource.
  3. Relire le livre, page par page :
    1. [C’est là qu’intervient l’OCR] Convertir l’image en texte numérique modifiable à l’aide d’un outil d’OCR.
    2. Une fois terminé, l’utilisateur a une version nouvellement numérisée du texte.

Comment utiliser les outils d’OCR

Sur Wikisource, les outils d’OCR sont accessibles quand l’utilisateur clique sur l’onglet « Modifier » d’une page.

capture d’écran
Onglet Modifier pour ouvrir la vue de relecture et les outils d’OCR dans Wikisource

Une fois qu’il a cliqué sur « Modifier », l’utilisateur verra le fichier image original du texte (à droite). Parfois, le fichier a déjà été traité par OCR (à gauche), par exemple quand il vient d’Internet Archive qui traite automatiquement par OCR certains textes, notamment pour les langues avec un alphabet latin. Cependant, ces textes passent souvent une nouvelle fois par un traitement OCR avec les outils de Wikisource qui peuvent améliorer la couche de texte existante. Pour cela, l’utilisateur utilisera les outils d’OCR (décrits ci-dessous) pour faire du fichier image un fichier texte (comme affiché à gauche).

Parfois, les textes peuvent ne pas être passés du tout par un traitement OCR. Dans ce cas, l’utilisateur verra le fichier image (à droite) et une section vierge (à gauche). L'utilisateur utilise alors les outils d’OCR (décrits ci-dessous) pour transformer le fichier image en fichier texte (comme affiché à gauche). Une fois cela terminé, le texte est prêt à être relu.

Les désignations gauche et droite sont inversés pour les langues qui s’écrivent de droite à gauche.

Il est important de comprendre que les outils d’OCR ne fonctionnent pas pour tous les textes. Par exemple, les manuscrits écrits à la main sont rarement pris en charge par les outils d’OCR, parce que les caractères ne sont pas normalisés dans des polices générées par ordinateur. Dans ces cas, l'utilisateur doit saisir manuellement le texte affiché dans le fichier image.

L'outil d’OCR est disponible pour l'utilisateur de la Wikisource en français dans la vue de relecture

Outils d’OCR disponibles sur Wikisource

Gadget OCR

Le gadget OCR (lien en anglais) aussi appelé OCR « basique », est un outil d’OCR largement utilisé sur Wikisource, développé à l’origine par Phe. Il utilise Tesseract, un système d’OCR à source ouverte sponsorisé par Google et hébergé sur Toolforge, pour générer le nouveau texte. Il fait partie d’une plus grande suite d’outils pour Wikisource appelée Phetools, et utilise un système sophistiqué de pré-traitement et de cache pour fournir de grandes performances interactives.

La dorsale utilise la norme de format d’OCR structuré hOCR pour communiquer avec le gadget. Le gadget OCR est considéré comme meilleur que l’OCR de Google (que nous allons décrire ci-dessous) pour reconnaître le texte en colonnes. Cependant, il a plus d’erreurs de caractères. De plus, il a une prise en charge limitée des langues : généralement, il prend en charge les langues à alphabet latin, mais prend rarement en charge les langues indo-aryennes. Par exemple, il ne prend pas en charge le hindi ni le pendjabi. Il manque aussi un mainteneur actif à l’outil, ce qui a conduit à de longues coupures partielles ou totales par le passé.

Pour activer le gadget OCR, allez dans vos préférences. Dans l’onglet « Gadgets », vous allez sur « Outils de rédaction pour l’espace de noms Page: ». Une fois activé, le gadget OCR est accessible depuis la barre d’outils (sur la capture d’écran, l’icône OCR est coloré en gris). Lorsque vous cliquez sur l’icône, une version traitée par OCR devrait apparaitre sur le côté gauche. L’utilisateur peut ensuite relire cette version du texte.

capture d’écran
Exemple de gadget OCR dans la vue de relecture.

OCR de Google

En 2016, l’équipe Technologie communautaire a développé l’OCR de Google qui était le vœu no 25 de la Consultation 2015 des souhaits de la communauté. L’outil d’OCR de Google a été pensé pour répondre à l’absence de prise en charge des langues indo-aryennes dans les systèmes d’OCR basés sur Tesseract, tel que le gadget OCR. Ce nouvel outil d’OCR utilisait [Special:MyLanguage/Community Tech/Google OCR for Indic language Wikisources/notes l’API Cloud Vision] fournie par Google.

Avec le développement de l’OCR de Google, les contributeurs Wikisource ont pu utiliser un OCR pour les éditions linguistiques suivantes : Wikisource multilingue, arabe, assamais, bulgare, bengali, anglais, espagnol, hindi, kannada, marathi, malayalam, napolitain, odia, russe, sanscrit, tamoul, télougou et gujarati. Cependant, certaines langues indo-aryennes avec une communauté Wikisource active n’ont pas été incluses. Vous pouvez consulter la liste complète des langues prises en charge par l’API Google Vision.

Généralement, l’OCR de Google est considéré comme étant un outil d’OCR plutôt précis. Cependant, il y a parfois des problèmes pour reconnaître correctement le texte en colonnes, ce qui mélange les lignes.

Pour activer le gadget OCR de Google, allez dans vos préférences. Dans l’onglet Gadget, allez sur « Outils de rédaction pour l’espace de noms Page: » et cliquez sur « Google OCR : activer le bouton OCR de Google pour soumettre l’image de la page au service OCR de Google. » Une fois activé, le gadget Google est accessible dans la barre d’outils (voir la capture d’écran ci-dessus) en cliquant sur l’icône tri-colore « OCR ». Lorsque vous cliquez sur l’icône, une version traitée par OCR devrait apparaître à gauche. Sinon, vous pouvez aller sur le site web et ajouter l’image pour traiter une image unique (mais cela est principalement utilisé pour d’autres buts que Wikisource).

capture d’écran
Exemple d’OCR de Google dans la vue de relecture.

OCR indo-aryen

En 2018, Jay Prakash, un programmeur bénévole, a développé IndicOCR (OCR indo-aryen). Cet outil utilise Google Drive, lequel utilise une outil autre que Cloud Vision. L'outil devait permettre de contourner les limites imposées par GoogleOCR en fournissant un soutien à plus de langues indo-aryennes, dont le bengali, bhodjpouri, gujarati, hindi, kannada, Maithili, malayalam, marathi, népalais, Odia, pendjabi, sanskrit, tamoul, télougou et ourdou. Pour plusieurs de ces langues, il n'y a aucune communauté Wikisource ; cet outil pourrait leur servir dans le futur.

Pour activer IndicOCR, ajoutez la page common.js à votre wiki local.

mw.loader.load('//meta.wikimedia.org/w/index.php?title=User:Indic-TechCom/Script/IndicOCR.js&action=raw&ctype=text/javascript');

Si vous voulez ajouter un bouton supplémentaire dans l’éditeur visuel, ajoutez le code suivant à la page common.js de votre wiki local.

mw.loader.load('//meta.wikimedia.org/w/index.php?title=User:Indic-TechCom/Script/OCR4VE.js&action=raw&ctype=text/javascript');

Une fois activé, il apparait sous la forme d’une icône d’analyse de texte (une loupe par dessus du texte) dans la barre d’outils (regardez la capture d’écran ci-dessous). En cliquant sur l’icône, une version du texte traité par OCR devrait apparaitre sur le côté gauche. Autrement, vous pouvez aller sur le site web directement et ajouter l’image si vous n’en traitez qu’une. Pour plus d’informations consultez la documentation.

Exemple avec l’outil d’OCR indo-aryen dans la vue de relecture.

OCR4Wikisource

OCR4Wikisource, développé par T. Shrinivasan, est un script Python configuré pour s’exécuter sur les systèmes Linux. Il nécessite que vous indiquiez votre mot de passe en clair (sur votre appareil personnel). L’outil téléchargera le livre depuis Wikimedia Commons, divisera le fichier en pages uniques, téléversera les pages sur Google Drive une par une pour effectuer l’OCR, téléchargera le texte en résultant et le mettra en ligne sur les pages Wikisource respectives. Ce processus entier peut être fait sur un appareil personnel plutôt qu’en cliquant sur l’icône OCR pour chaque page. Au final, cela permet de mettre en ligne des versions traitées par OCR des pages directement sur Wikisource.

Il s’agit du seul outil de mise en ligne groupée proposé aux utilisateurs, c’est pourquoi certains l’apprécient. La qualité de l’OCR est aussi considérée comme étant plutôt bonne. Avant qu’IndicOCR ne soit développée, beaucoup de Wikisourciens de langues indo-aryennes utilisaient OCR4Wikisource. Vous pouvez lire la documentation.

Pour activer OCR4Wikisource, vous devrez télécharger le fichier zip depuis un lien (donné dans la documentation), puis vous devrez suivre les étapes depuis le terminal pour achever le processus.

Principaux problème avec les outils d’OCR

Découvrabilité

Si vous êtes un nouveau contributeur Wikisouce, il peut être difficile d’utiliser les outils d’OCR pour la première fois. Vous ne saurez peut-être pas que vous devriez utiliser des outils d’OCR. Si vous êtes au courant, il est quand même possible que vous ne sachiez pas quels outils sont disponible ou comment y accéder. La documentation sur ces processus varie selon les wikis, certains wikis ont une documentation plus complète que d’autres. Ainsi, les nouveaux contributeurs ont souvent besoin d’interagir directement avec des Wikisourciens expérimentés pour recevoir ces informations.

Une fois que les utilisateurs ont pris connaissance des outils d’OCR, il faut les installer sans « installation rapide ». Au lieu de ça, chaque outil a sa propre manière de s’installer. Certains peuvent s’activer avec une case à cocher dans les préférences ; d’autres sont activées en copiant du code dans la page common.js ; d’autres sont des scripts qui doivent être exécutés. Finalement, la découverte et l’installation sont déconnectées et souvent difficiles à appréhender.

Choix multiples

Le nombre d'outils d'OCR est trop grand. Parfois, avoir plusieurs outils est une bonne chose. Toutefois, en ce qui concerne Wikisource, l'éventail rend confus pour la raison qu'ils font tous la même chose : traduire les images en textes. En conséquence, les utilisateurs ne devraient pas avoir à choisir entre plusieurs outils qui se ressemblent, qui ont des noms semblables, qui ont des icônes semblables et qui sont conçus, en théorie, pour effectuer la même tâche. Les utilisateurs devraient plutôt avoir à ne choisir qu'un seul outil ou être guidés vers le meilleur outil sans devoir le chercher par eux-mêmes.

Fiabilité

Plusieurs des outils d'OCR ne fonctionnent pas toujours. Par exemple, le gadget d'OCR a été régulièrement hors service pour de longues périodes. Il souffre en effet du manque de développeurs. L'outil hOCR ne fonctionne pas pour les scripts qui sont rédigés avec des caractères non latins. Également, plusieurs outils d'OCR font l'objet de plusieurs demandes d'améliorations, dont lenteur d'exécution et faible qualité des textes produits. Les outils ont aussi de la difficulté à produire un résultat utile lorsque le texte est par exemple en colonnes (exemples : pages de magazines). Ils sont aussi mal adaptés aux caractères non-latins et aux caractères avec diacritiques.

Questions ouvertes

  • Avons-nous pris en compte tous les principaux outils d'OCR utilisés par les contributeurs de Wikisource ?
  • Avons-nous pris en compte les problèmes majeurs rencontrés lors de l’utilisation des outils d'OCR ?
  • Quels outils d'OCR utilisez-vous principalement, et pourquoi ?
  • Quelles sont les problèmes les plus courants et les plus gênants que vous rencontrez lorsque vous utilisez des outils d'OCR ?
  • Quels problèmes, pour résumer, sont les plus importants à corriger selon vous, et pourquoi ?
  • Quelque chose d’autre que vous voudriez ajouter ?

Partagez votre point de vue sur la page de discussion !

Status Updates

April 21, 2021

Hello, everyone! We are very excited to share our first project update below:

Project principles

As a team, we first conducted research on OCR tools for Wikisource, which we shared in this project page. Then, we collected feedback on the talk page. Following this feedback, we decided to establish some project principles. This way, we could have a stronger sense of the project and our goals. The principles are as follows:

  1. We want to improve the overall experience of OCR tools: Our #1 goal of the project is to improve the OCR experience on Wikisource. This means that we want the tools to be easier to discover and understand for newcomers, and we want the tools to be easier to use effectively for all Wikisource editors.
  2. We can’t build a new OCR tool: The original wish was entitled “New OCR tool.” Unfortunately, we don’t have the time or resources to build a new OCR tool, which would be an intensive, lengthy project. As a team, we try to take on smaller projects that last a few months, so that we can fulfill multiple wishes per year. However, we can make meaningful improvements to the existing OCR tools.
  3. We can improve Wikimedia OCR: The Wikimedia OCR tool (formerly known as Google OCR) was developed by the Community Tech team. For this reason, we have the ability to make impactful changes to the tool, and we also have already identified some areas of improvements. For this reason, we have made it one of our project priorities to improve this tool.
  4. We can address some major issues: On the project talk page, we heard users share some common pain points related to the OCR experience, including: lack of an easily accessible bulk OCR functionality, minimal support of texts with multiple columns, and other issues. We can’t fix all of the issues, but we will try to at least investigate some of the top issues and see if we can issue improvements.

Completed work

The team has already begun work on the project! Here is what we have completed so far:

Work in development

  • Move Wikimedia OCR to Wikisource Extension: We want to improve the current user experience, which requires that users install or enable multiple separate tools. To do this, we are moving the Wikimedia OCR to the Wikisource Extension. Once this work is complete, all users will be able to see the Wikimedia OCR tool on the Proofread page (with no installation required).
    • Note: If wikis don’t want the tool displayed automatically, they can choose to opt out. Also, users will still be able to configure their toolbars with other OCR tools.
  • Add Support for Tesseract on Wikimedia OCR: To improve Wikimedia OCR, we have decided to add Tesseract to it. This way, users do not need to install two separate OCR tools via Preferences, since both OCR engines will be available via Wikimedia OCR. This is currently testable on ocr-test.wmcloud.org.
  • Accept Google Options on the API: This work is the first stage in being able to improve the quality of OCR for pages containing multiple languages. The final result will apply to both Google and Tesseract engines.
  • Improve performance of Tesseract engine: We have identified a way that we can dramatically improve the speed of the Tesseract engine. If we move Tesseract from Toolforge to Cloud VPS, we could see it run much faster (potentially, about 10 times faster!). This work is in progress, and we hope its completion will result in an improved user experience for Wikisourcers.
  • Investigate how to improve multiple column issues: Users have shared that Wikisource lacks sufficient OCR support for texts with multiple columns. For this reason, we have launched an investigation to see how this issue could be addressed. So far, we have come up with two potential approaches, and the investigation is in progress.

Work that is coming up

  • Add Tesseract options on the API: Through our technical investigation, we learned that Tesseract has many options that may help improve the OCR experience. For example, Tesseract has multiple page segmentation modes, which could help with multiple column support. It also has options to handle multiple languages within one text. For this reason, we want to make some of these options available for an improved editor experience.
  • Determine the user experience for choosing OCR engine: Once Wikimedia OCR has 2 engines (Tesseract and Google Cloud Vision), there will need to be a user experience to support how this is handled on the Proofread page. We will be working on developing a proposal for this experience soon.

Open questions

  • What are your general thoughts about the project principles?
  • How do you feel about our work to make Wikimedia OCR automatically available, with no installation required?
  • How do you feel about our work to add Tesseract to Wikimedia OCR?
  • Ideally, what user experience do you recommend for choosing an OCR engine when using Wikimedia OCR?
  • What do you think of our work to improve the speed of Tesseract?
  • Anything else you would like to add?

Please share your feedback on the project talk page!