chrplr/openlexicon

Mauvais type de valeurs pour certains champs pour une dizaine de mots.

SekouDiaoNlp opened this issue · 0 comments

Bonjour à tous,

Je suis @SekouDiaoNlp et je suis l'auteur de pylexique.

C'est une librairie Pythonique et Orientée Objet pour interagir avec la base de données de Lexique383 ainsi que chaque item lexical.

Le package est installable depuis PyPi ou Anaonda.

Pour chaque ligne de la base de donnée je remplis un objet de type LexItem dont les attributs doivent respecter le type de chaque champ.

J'ai défini cette classe de la manière suivante en me référant à votre documentation en ligne ainsi que celle distribuée avec le fichier http://www.lexique.org/databases/Lexique383/Lexique383.zip

class LexEntryTypes:
    """
    Type information about all the lexical attributes in a LexItem object.

    """
    ortho = str
    phon = str
    lemme = str
    cgram = str
    genre = str
    nombre = str
    freqlemfilms2 = float
    freqlemlivres = float
    freqfilms2 = float
    freqlivres = float
    infover = str
    nbhomogr = int
    nbhomoph = int
    islem = bool
    nblettres = int
    nbphons = int
    cvcv = str
    p_cvcv = str
    voisorth = int
    voisphon = int
    puorth = int
    puphon = int
    syll = str
    nbsyll = int
    cv_cv = str
    orthrenv = str
    phonrenv = str
    orthosyll = str
    cgramortho = str
    deflem = float
    defobs = int
    old20 = float
    pld20 = float
    morphoder = str
    nbmorph = int
    id = int

Pendant le développement de pylexique, l'utilisation du typage des attributes m'a permi de découvrir une petite dizaine d'erreurs dans le cas ou il y a un mismatch entre le type de l'attribut et celui de la valeur de l'attribut.
Grace au typage, pylexique peut automatiquement détecter et sauvegarder les erreurs de mauvais type.

Veuillez trouver ci-joint une version json des mots avec leur champ/valeur qui n'ont pas le même type qui est déclaré dans
la définition de classe.
pylexique a analysé les erreurs dans le fichier

Lexique383.xlsb

qui se trouve dans le fichier zip cité auparavant.

parseerrors.txt

Voici un petit échantillon des quelques premières lignes ayant des problèmes de typage:

  {
          "a": [
              {
                  "nbphons": "V"
              },
              {
                  "puphon": "a"
              },
              {
                  "nbsyll": "V"
              }
          ]
      },
      {
          "a": [
              {
                  "nbphons": "V"
              },
              {
                  "puphon": "a"
              },
              {
                  "nbsyll": "V"
              }
          ]
      },
      {
          "a": [
              {
                  "nbphons": "V"
              },
              {
                  "puphon": "a"
              },
              {
                  "nbsyll": "V"
              }
          ]
      },
      {
          "sa": [
              {
                  "nbphons": "CV"
              },
              {
                  "puphon": "sa"
              },
              {
                  "nbsyll": "CV"
              }
          ]
      },
      {
          "sa": [
              {
                  "nbphons": "CV"
              },
              {
                  "puphon": "sa"
              },
              {
                  "nbsyll": "CV"
              }
          ]
      },
}

Le fichier json ne contient uniquement que les champs des lignes comportant un mismatch et utilise le champ 'ortho' pour les identifier.

Il ne s'agit que d'une dizaine d'erreurs et 'ai remarqué que les erreurs apparaissent toujours avec les mots dont  le champ `ortho` a toujours les valeurs 'sa', 'a', 'e' et 'o' et apparaissent tous en fin de lexique, J'imagine que cela fait peut être parti  du dernier lot de mots que vous avez ajouté au lexique et que ces quelques erreurs vous ont échappées. Nous sommes tous de faillibles humains non?

Dans tous les cas merci d'avoir mis Lexique383 en accés libre (je cite et le nom des auteurs, le lien du site, et les articles académiques).

Si vou avez besoin de contributeurs pour la partie PYTHON de OpenLexicon, je suis partant, et en plus j'ai du temps libre à cause du couvre feu :stuck_out_tongue_winking_eye:


Merci d'avance si vous pouvez régler le problème rapidement, car pour l'instant j'élimine la dizaine d'entrées problématiques.

Peace, Love and have un
@SekouDiaoNlp