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