Tech Talk: Comment automatiser la détection des erreurs de documents dans les demandes de remboursement

Tech Talk: Comment automatiser la détection des erreurs de documents dans les demandes de remboursement

Vérifier manuellement avant validation est un processus coûteux. Découvrez comment nous avons conçu un modèle pour détecter les erreurs dans les documents.

Vérifier manuellement avant validation est un processus coûteux. Découvrez comment nous avons conçu un modèle pour détecter les erreurs dans les documents.

Vérifier manuellement avant validation est un processus coûteux. Découvrez comment nous avons conçu un modèle pour détecter les erreurs dans les documents.

Détection d'erreurs dans les documents pour réduire les erreurs et les processus manuels

Si vous demandez à vos clients de remplir un document modèle, il peut y avoir des erreurs dans les informations fournies par les clients. Cela signifie que vous devez vérifier manuellement s'il y a des erreurs avant de valider le document. Cette méthode de travail est un processus coûteux qui nécessite de nombreux employés pour vérifier chaque document.

Une compagnie d'assurance nous a contactés car elle reçoit plus de 100,000 factures de ses clients pour des remboursements médicaux par an. Le projet de détection d'erreurs dans les documents suivant consistait à classer les factures en deux catégories : 1) le document nécessite une modification, ou 2) il ne le nécessite pas. Les données d'entrée comportent 117,000 factures et 312 caractéristiques. Nous pouvons les décomposer en caractéristiques :

  • Indicateurs sur la présence d'un code particulier dans la facture

  • Montants affichés sur la facture (montant du remboursement, montant supplémentaire, montant total)

  • Type d’hôpital, chambres, et factures

  • Métadonnées concernant la facture (nombre d'entrées et dates)

La plupart des erreurs proviennent de l'utilisation du mauvais code pour les services reçus par l'hôpital. Ensuite, cela provient de la date utilisée dans la facture qui n'est pas la bonne, ou le montant spécifié n'est pas correct non plus.

Prétraitement des données pour la détection d'erreurs dans les documents

Avant d'envoyer les données dans le modèle pour notre détection d'erreurs dans les documents, il est préférable de les prétraiter d'abord. Nous pouvons créer de nouvelles variables pour améliorer les performances, ce qui s'appelle l'ingénierie des caractéristiques. Nous devons catégoriser les variables continues dans des intervalles. Ensuite, nous devons transformer les variables catégorielles en variables numériques pour que le modèle puisse les traiter.

Ingénierie des caractéristiques pour la détection d'erreurs dans les documents

Pour y parvenir, nous utilisons la bibliothèque Cobra, qui implémente plusieurs fonctions pour prétraiter les données. Cobra est pratique car vous pouvez appliquer et affiner différentes fonctions de prétraitement en utilisant uniquement un objet préprocesseur.

Ingénierie des caractéristiques

Nous pouvons essayer d'aider le modèle à découvrir de nouveaux schémas dans les données en créant de nouvelles variables. L'interaction entre différentes variables peut créer ces variables. Par exemple, nous créons la proportion du montant du remboursement en divisant le montant du remboursement par le montant total.

Nous pouvons aussi trouver des schémas dans les données au fil du temps. Donc, si vous avez une variable de date, vous pouvez l'utiliser pour créer une variable mois, un jour de la semaine, et une variable saison. Le modèle pourrait trouver des cycles cachés apparaissant pendant des mois, des jours de la semaine ou des saisons.

Kbins Discretizer

Kbins Discretizer va regrouper les données continues en intervalles d'une taille prédéfinie. C'est intéressant car cela peut introduire de la non-linéarité dans le modèle. Vous pouvez définir un nombre de groupes et la stratégie utilisée pour créer les groupes. Il y a trois stratégies dans KBinsDiscretizer :

  • Uniforme : La largeur des groupes est constante dans chaque dimension.

  • Quantile : Chaque groupe a le même nombre d'échantillons.

  • Kmeans : La discrétisation est basée sur les centroïdes d'une procédure de clustering KMeans.[1]

Préprocesseur de données catégorielles

Le préprocesseur de données catégorielles implémenté par Cobra va regrouper les catégories des variables catégorielles sur la base de leur signification avec la variable cible. Un test du khi-deux détermine si une catégorie est significativement différente des autres catégories pour le modèle de classification, donnée la variable cible.

Nous pouvons définir le seuil de p-value pour considérer à quelle p-value les catégories sont significatives ou non. Si la catégorie n'est pas significative, elle sera regroupée sous la catégorie “Autres”.

Nous pouvons aussi définir la taille minimale d'une catégorie pour la conserver comme une catégorie distincte. Elle sera regroupée sous la catégorie “Autres” si la taille de la catégorie est en-dessous de cette taille minimale.

Il y a aussi une option pour remplacer les valeurs manquantes par la catégorie supplémentaire “Manquante.”

Ce module nous permet de ne conserver que les catégories pertinentes et de diminuer le nombre d'échantillons de données isolés dans l'espace dimensionnel.

Encodage cible

L'encodage cible (ou encodage moyen) calcule le ratio d'occurrences positives dans la variable cible pour chaque caractéristique. C'est une façon de transformer les valeurs catégorielles en valeurs numériques.

Méthode d'encodage cible pour la détection d'erreurs dans les documents

L'encodage cible est la méthode préférée par rapport au traditionnel encodage one-hot car il n'ajoute pas de colonnes supplémentaires. L'encodage one-hot ajouterait de nombreuses dimensions à notre espace dimensionnel déjà composé de 300 caractéristiques. Un espace à haute dimension présente deux problèmes :

  • Il augmente l'utilisation de la mémoire et du calcul.

  • Il augmente la capacité du modèle à suradapter les données.

Ainsi, l'encodage cible permet de réduire l'utilisation de la mémoire et du calcul et le surajustement du modèle.

Cependant, l'encodage cible pourrait encore introduire un surajustement car il calcule les ratios basés sur les échantillons d’entraînement que nous fournissons. Les ratios pourraient ne pas être les mêmes dans l'échantillon de test. Par exemple, dans notre échantillon de test, ‘Petites chambres’ pourrait avoir un ratio de 0.75 au lieu de 0.5. Nous pouvons réduire ce problème en utilisant le lissage additif. Cobra choisit de l'implémenter pour sa classe d'encodage cible. Lors du calcul du ratio d'occurrences positives pour chaque valeur catégorielle, il ajoute le ratio d'occurrences positives de la variable cible proportionnellement à un poids. Max Halford l'explique de manière détaillée dans son article.

Modèle et résultats pour la détection d'erreurs dans les documents

En fonction du besoin du client, la métrique appropriée est l'aire sous la courbe (AUC).

Nous sélectionnons les caractéristiques qui augmentent sensiblement l'AUC. Pour éviter d'avoir trop de dimensions et pour réduire la possibilité d'un surajustement, nous avons uniquement sélectionné les caractéristiques qui ont augmenté considérablement l'AUC. En d'autres termes, nous avons effectué une sélection progressive.

Le meilleur modèle est l’arbre de rehaussement de gradient. Nous utilisons la bibliothèque XGBoost, une bibliothèque optimisée de rehaussement de gradient distribuée conçue pour être très efficace, flexible et portable. La bibliothèque implémente un arrêt précoce pour éviter le surajustement des données d’entraînement. Il est également possible de spécifier d'autres paramètres, tels que la profondeur maximale de chaque arbre ou la somme minimale de poids d'instance nécessaire pour un enfant. Vous pouvez vérifier tous les paramètres disponibles ici.

Nous avons réalisé une AUC de 86,3%.


Détection d'erreurs dans les documents pour réduire les erreurs et les processus manuels

Si vous demandez à vos clients de remplir un document modèle, il peut y avoir des erreurs dans les informations fournies par les clients. Cela signifie que vous devez vérifier manuellement s'il y a des erreurs avant de valider le document. Cette méthode de travail est un processus coûteux qui nécessite de nombreux employés pour vérifier chaque document.

Une compagnie d'assurance nous a contactés car elle reçoit plus de 100,000 factures de ses clients pour des remboursements médicaux par an. Le projet de détection d'erreurs dans les documents suivant consistait à classer les factures en deux catégories : 1) le document nécessite une modification, ou 2) il ne le nécessite pas. Les données d'entrée comportent 117,000 factures et 312 caractéristiques. Nous pouvons les décomposer en caractéristiques :

  • Indicateurs sur la présence d'un code particulier dans la facture

  • Montants affichés sur la facture (montant du remboursement, montant supplémentaire, montant total)

  • Type d’hôpital, chambres, et factures

  • Métadonnées concernant la facture (nombre d'entrées et dates)

La plupart des erreurs proviennent de l'utilisation du mauvais code pour les services reçus par l'hôpital. Ensuite, cela provient de la date utilisée dans la facture qui n'est pas la bonne, ou le montant spécifié n'est pas correct non plus.

Prétraitement des données pour la détection d'erreurs dans les documents

Avant d'envoyer les données dans le modèle pour notre détection d'erreurs dans les documents, il est préférable de les prétraiter d'abord. Nous pouvons créer de nouvelles variables pour améliorer les performances, ce qui s'appelle l'ingénierie des caractéristiques. Nous devons catégoriser les variables continues dans des intervalles. Ensuite, nous devons transformer les variables catégorielles en variables numériques pour que le modèle puisse les traiter.

Ingénierie des caractéristiques pour la détection d'erreurs dans les documents

Pour y parvenir, nous utilisons la bibliothèque Cobra, qui implémente plusieurs fonctions pour prétraiter les données. Cobra est pratique car vous pouvez appliquer et affiner différentes fonctions de prétraitement en utilisant uniquement un objet préprocesseur.

Ingénierie des caractéristiques

Nous pouvons essayer d'aider le modèle à découvrir de nouveaux schémas dans les données en créant de nouvelles variables. L'interaction entre différentes variables peut créer ces variables. Par exemple, nous créons la proportion du montant du remboursement en divisant le montant du remboursement par le montant total.

Nous pouvons aussi trouver des schémas dans les données au fil du temps. Donc, si vous avez une variable de date, vous pouvez l'utiliser pour créer une variable mois, un jour de la semaine, et une variable saison. Le modèle pourrait trouver des cycles cachés apparaissant pendant des mois, des jours de la semaine ou des saisons.

Kbins Discretizer

Kbins Discretizer va regrouper les données continues en intervalles d'une taille prédéfinie. C'est intéressant car cela peut introduire de la non-linéarité dans le modèle. Vous pouvez définir un nombre de groupes et la stratégie utilisée pour créer les groupes. Il y a trois stratégies dans KBinsDiscretizer :

  • Uniforme : La largeur des groupes est constante dans chaque dimension.

  • Quantile : Chaque groupe a le même nombre d'échantillons.

  • Kmeans : La discrétisation est basée sur les centroïdes d'une procédure de clustering KMeans.[1]

Préprocesseur de données catégorielles

Le préprocesseur de données catégorielles implémenté par Cobra va regrouper les catégories des variables catégorielles sur la base de leur signification avec la variable cible. Un test du khi-deux détermine si une catégorie est significativement différente des autres catégories pour le modèle de classification, donnée la variable cible.

Nous pouvons définir le seuil de p-value pour considérer à quelle p-value les catégories sont significatives ou non. Si la catégorie n'est pas significative, elle sera regroupée sous la catégorie “Autres”.

Nous pouvons aussi définir la taille minimale d'une catégorie pour la conserver comme une catégorie distincte. Elle sera regroupée sous la catégorie “Autres” si la taille de la catégorie est en-dessous de cette taille minimale.

Il y a aussi une option pour remplacer les valeurs manquantes par la catégorie supplémentaire “Manquante.”

Ce module nous permet de ne conserver que les catégories pertinentes et de diminuer le nombre d'échantillons de données isolés dans l'espace dimensionnel.

Encodage cible

L'encodage cible (ou encodage moyen) calcule le ratio d'occurrences positives dans la variable cible pour chaque caractéristique. C'est une façon de transformer les valeurs catégorielles en valeurs numériques.

Méthode d'encodage cible pour la détection d'erreurs dans les documents

L'encodage cible est la méthode préférée par rapport au traditionnel encodage one-hot car il n'ajoute pas de colonnes supplémentaires. L'encodage one-hot ajouterait de nombreuses dimensions à notre espace dimensionnel déjà composé de 300 caractéristiques. Un espace à haute dimension présente deux problèmes :

  • Il augmente l'utilisation de la mémoire et du calcul.

  • Il augmente la capacité du modèle à suradapter les données.

Ainsi, l'encodage cible permet de réduire l'utilisation de la mémoire et du calcul et le surajustement du modèle.

Cependant, l'encodage cible pourrait encore introduire un surajustement car il calcule les ratios basés sur les échantillons d’entraînement que nous fournissons. Les ratios pourraient ne pas être les mêmes dans l'échantillon de test. Par exemple, dans notre échantillon de test, ‘Petites chambres’ pourrait avoir un ratio de 0.75 au lieu de 0.5. Nous pouvons réduire ce problème en utilisant le lissage additif. Cobra choisit de l'implémenter pour sa classe d'encodage cible. Lors du calcul du ratio d'occurrences positives pour chaque valeur catégorielle, il ajoute le ratio d'occurrences positives de la variable cible proportionnellement à un poids. Max Halford l'explique de manière détaillée dans son article.

Modèle et résultats pour la détection d'erreurs dans les documents

En fonction du besoin du client, la métrique appropriée est l'aire sous la courbe (AUC).

Nous sélectionnons les caractéristiques qui augmentent sensiblement l'AUC. Pour éviter d'avoir trop de dimensions et pour réduire la possibilité d'un surajustement, nous avons uniquement sélectionné les caractéristiques qui ont augmenté considérablement l'AUC. En d'autres termes, nous avons effectué une sélection progressive.

Le meilleur modèle est l’arbre de rehaussement de gradient. Nous utilisons la bibliothèque XGBoost, une bibliothèque optimisée de rehaussement de gradient distribuée conçue pour être très efficace, flexible et portable. La bibliothèque implémente un arrêt précoce pour éviter le surajustement des données d’entraînement. Il est également possible de spécifier d'autres paramètres, tels que la profondeur maximale de chaque arbre ou la somme minimale de poids d'instance nécessaire pour un enfant. Vous pouvez vérifier tous les paramètres disponibles ici.

Nous avons réalisé une AUC de 86,3%.


Détection d'erreurs dans les documents pour réduire les erreurs et les processus manuels

Si vous demandez à vos clients de remplir un document modèle, il peut y avoir des erreurs dans les informations fournies par les clients. Cela signifie que vous devez vérifier manuellement s'il y a des erreurs avant de valider le document. Cette méthode de travail est un processus coûteux qui nécessite de nombreux employés pour vérifier chaque document.

Une compagnie d'assurance nous a contactés car elle reçoit plus de 100,000 factures de ses clients pour des remboursements médicaux par an. Le projet de détection d'erreurs dans les documents suivant consistait à classer les factures en deux catégories : 1) le document nécessite une modification, ou 2) il ne le nécessite pas. Les données d'entrée comportent 117,000 factures et 312 caractéristiques. Nous pouvons les décomposer en caractéristiques :

  • Indicateurs sur la présence d'un code particulier dans la facture

  • Montants affichés sur la facture (montant du remboursement, montant supplémentaire, montant total)

  • Type d’hôpital, chambres, et factures

  • Métadonnées concernant la facture (nombre d'entrées et dates)

La plupart des erreurs proviennent de l'utilisation du mauvais code pour les services reçus par l'hôpital. Ensuite, cela provient de la date utilisée dans la facture qui n'est pas la bonne, ou le montant spécifié n'est pas correct non plus.

Prétraitement des données pour la détection d'erreurs dans les documents

Avant d'envoyer les données dans le modèle pour notre détection d'erreurs dans les documents, il est préférable de les prétraiter d'abord. Nous pouvons créer de nouvelles variables pour améliorer les performances, ce qui s'appelle l'ingénierie des caractéristiques. Nous devons catégoriser les variables continues dans des intervalles. Ensuite, nous devons transformer les variables catégorielles en variables numériques pour que le modèle puisse les traiter.

Ingénierie des caractéristiques pour la détection d'erreurs dans les documents

Pour y parvenir, nous utilisons la bibliothèque Cobra, qui implémente plusieurs fonctions pour prétraiter les données. Cobra est pratique car vous pouvez appliquer et affiner différentes fonctions de prétraitement en utilisant uniquement un objet préprocesseur.

Ingénierie des caractéristiques

Nous pouvons essayer d'aider le modèle à découvrir de nouveaux schémas dans les données en créant de nouvelles variables. L'interaction entre différentes variables peut créer ces variables. Par exemple, nous créons la proportion du montant du remboursement en divisant le montant du remboursement par le montant total.

Nous pouvons aussi trouver des schémas dans les données au fil du temps. Donc, si vous avez une variable de date, vous pouvez l'utiliser pour créer une variable mois, un jour de la semaine, et une variable saison. Le modèle pourrait trouver des cycles cachés apparaissant pendant des mois, des jours de la semaine ou des saisons.

Kbins Discretizer

Kbins Discretizer va regrouper les données continues en intervalles d'une taille prédéfinie. C'est intéressant car cela peut introduire de la non-linéarité dans le modèle. Vous pouvez définir un nombre de groupes et la stratégie utilisée pour créer les groupes. Il y a trois stratégies dans KBinsDiscretizer :

  • Uniforme : La largeur des groupes est constante dans chaque dimension.

  • Quantile : Chaque groupe a le même nombre d'échantillons.

  • Kmeans : La discrétisation est basée sur les centroïdes d'une procédure de clustering KMeans.[1]

Préprocesseur de données catégorielles

Le préprocesseur de données catégorielles implémenté par Cobra va regrouper les catégories des variables catégorielles sur la base de leur signification avec la variable cible. Un test du khi-deux détermine si une catégorie est significativement différente des autres catégories pour le modèle de classification, donnée la variable cible.

Nous pouvons définir le seuil de p-value pour considérer à quelle p-value les catégories sont significatives ou non. Si la catégorie n'est pas significative, elle sera regroupée sous la catégorie “Autres”.

Nous pouvons aussi définir la taille minimale d'une catégorie pour la conserver comme une catégorie distincte. Elle sera regroupée sous la catégorie “Autres” si la taille de la catégorie est en-dessous de cette taille minimale.

Il y a aussi une option pour remplacer les valeurs manquantes par la catégorie supplémentaire “Manquante.”

Ce module nous permet de ne conserver que les catégories pertinentes et de diminuer le nombre d'échantillons de données isolés dans l'espace dimensionnel.

Encodage cible

L'encodage cible (ou encodage moyen) calcule le ratio d'occurrences positives dans la variable cible pour chaque caractéristique. C'est une façon de transformer les valeurs catégorielles en valeurs numériques.

Méthode d'encodage cible pour la détection d'erreurs dans les documents

L'encodage cible est la méthode préférée par rapport au traditionnel encodage one-hot car il n'ajoute pas de colonnes supplémentaires. L'encodage one-hot ajouterait de nombreuses dimensions à notre espace dimensionnel déjà composé de 300 caractéristiques. Un espace à haute dimension présente deux problèmes :

  • Il augmente l'utilisation de la mémoire et du calcul.

  • Il augmente la capacité du modèle à suradapter les données.

Ainsi, l'encodage cible permet de réduire l'utilisation de la mémoire et du calcul et le surajustement du modèle.

Cependant, l'encodage cible pourrait encore introduire un surajustement car il calcule les ratios basés sur les échantillons d’entraînement que nous fournissons. Les ratios pourraient ne pas être les mêmes dans l'échantillon de test. Par exemple, dans notre échantillon de test, ‘Petites chambres’ pourrait avoir un ratio de 0.75 au lieu de 0.5. Nous pouvons réduire ce problème en utilisant le lissage additif. Cobra choisit de l'implémenter pour sa classe d'encodage cible. Lors du calcul du ratio d'occurrences positives pour chaque valeur catégorielle, il ajoute le ratio d'occurrences positives de la variable cible proportionnellement à un poids. Max Halford l'explique de manière détaillée dans son article.

Modèle et résultats pour la détection d'erreurs dans les documents

En fonction du besoin du client, la métrique appropriée est l'aire sous la courbe (AUC).

Nous sélectionnons les caractéristiques qui augmentent sensiblement l'AUC. Pour éviter d'avoir trop de dimensions et pour réduire la possibilité d'un surajustement, nous avons uniquement sélectionné les caractéristiques qui ont augmenté considérablement l'AUC. En d'autres termes, nous avons effectué une sélection progressive.

Le meilleur modèle est l’arbre de rehaussement de gradient. Nous utilisons la bibliothèque XGBoost, une bibliothèque optimisée de rehaussement de gradient distribuée conçue pour être très efficace, flexible et portable. La bibliothèque implémente un arrêt précoce pour éviter le surajustement des données d’entraînement. Il est également possible de spécifier d'autres paramètres, tels que la profondeur maximale de chaque arbre ou la somme minimale de poids d'instance nécessaire pour un enfant. Vous pouvez vérifier tous les paramètres disponibles ici.

Nous avons réalisé une AUC de 86,3%.


Prêt à atteindre vos objectifs avec les données ?

Si vous souhaitez atteindre vos objectifs grâce à une utilisation plus intelligente des données et de l'IA, vous êtes au bon endroit.

Prêt à atteindre vos objectifs avec les données ?

Si vous souhaitez atteindre vos objectifs grâce à une utilisation plus intelligente des données et de l'IA, vous êtes au bon endroit.

Prêt à atteindre vos objectifs avec les données ?

Si vous souhaitez atteindre vos objectifs grâce à une utilisation plus intelligente des données et de l'IA, vous êtes au bon endroit.

Prêt à atteindre vos objectifs avec les données ?

Si vous souhaitez atteindre vos objectifs grâce à une utilisation plus intelligente des données et de l'IA, vous êtes au bon endroit.

© 2025 Agilytic

© 2025 Agilytic

© 2025 Agilytic