1

J'ai une sorte de modèle d'objet et j'ai besoin de filtrer et de trier ses nœuds pour un type de propriété. Quels types de systèmes automatisés existent pour générer et sélectionner les propriétés du modèle objet qui correspondent à ce que je veux? (Je suis intentionnellement abstrait et non spécifique)Comment filtrer/trier/classer les noeuds du modèle objet?

Je pense à un système qui fonctionne un peu comme les filtres anti-spam ou les systèmes de classification supervisés en ce sens qu'un jeu de données d'exemple identifie les règles qui trouvent des nœuds d'intérêt. Cependant, je suis à la recherche d'un système plus général en ce sens qu'il ne devrait pas nécessiter d'informations sur le temps de conception du modèle objet. Il devrait fonctionner comme un filtre anti-spam sur le courrier électronique, un détecteur de bugs sur une base de code, un filtre d'intérêt dans un groupe de discussion ou un chercheur de comptes de bot sur un site de réseau social. Tant qu'il peut explorer le modèle objet par réflexion et se voir attribuer un ensemble de nœuds "intéressants", il devrait être capable de trouver des règles qui vont trouver plus de nœuds comme eux.

+1

BTW: Je ne serais pas du tout surpris si aucune bonne solution n'existe. – BCS

Répondre

1

Il est hautement improbable qu'il existe un seul système de classification automatisé qui pourrait faire tout ce que vous demandez. De plus, je crois que l'application de recherche d'erreurs ne fait pas partie d'un tel système puisque les méthodes utilisées dans ce domaine tournent en grande partie autour de l'analyse syntaxique, l'analyse de flux de données et d'autres méthodes algorithmiques. Bien que la recherche sur l'apprentissage automatique y soit effectuée, les systèmes de classification dans ce domaine sont principalement utilisés pour augmenter plutôt que remplacer les méthodes analytiques (pour autant que je sache).

Pour la plupart des problèmes de classification non triviaux, une sélection minutieuse et un affinement de la représentation du problème sont généralement requis afin d'obtenir des résultats utiles et efficaces via l'apprentissage automatique. Le simple fait d'utiliser le modèle d'objet de données "brut" existant sans une sorte de transformation sur mesure de l'espace d'états tend à entraîner une couverture incomplète de la distribution des valeurs de données d'entrée et/ou une mauvaise généralisation des classificateurs appris. De plus, d'autres paramètres spécifiques à la méthode d'apprentissage automatique utilisée peuvent nécessiter un ajustement par tâtonnement pour obtenir des résultats décents pour un problème donné. Toutes les méthodes n'ont pas de tels paramètres, mais beaucoup le font, comme les réseaux neuronaux, les algorithmes génétiques, les méthodes d'inférence bayésienne, etc.

Ce que vous demandez est une méthode d'apprentissage quasi universelle, ce qui n'est pas quelque chose qui existe actuellement. Les alternatives les plus viables que je puisse voir seraient de (1) trouver un sous-ensemble de problèmes différents pour lesquels ce niveau ne serait pas le niveau de capacité/sophistication requis, ou (2) créer un système qui utilise non seulement une technique de classification mais dispose d'une boîte à outils de différentes méthodes qu'il teste automatiquement par rapport à un problème donné, puis utilise celle qui génère les meilleurs résultats de classification sous un régime d'apprentissage superviseur. Ce dernier serait tout de même un défi à relever efficacement, et cela n'élimine pas le problème de la représentation/transformation de l'espace d'état pour le modèle de données.

+0

La dernière moitié de la dernière phrase "comment représenter/transformer l'espace d'état pour le modèle de données." décrit réellement exactement le problème que je m'interroge sur les solutions. – BCS

+0

Une possibilité pour le problème du modèle d'espace d'état est d'étendre le concept de «boîte à outils» et d'avoir une variété de représentations différentes qui sont testées automatiquement. Cela pourrait inclure (1) aucune transformation [qui pourrait bien fonctionner pour certains types de données à valeur discrète ou texte], (2) grappes conceptuelles ou ontologies pour le langage naturel, (3) des représentations codées grossières pour les données numériques, etc. Il s'agirait également de schémas génériques qui offrent une chance décente de diviser l'espace d'état de manière utile pour apprendre plus facilement les schémas, mais qui manquent des capacités d'approches plus adaptées. –

Questions connexes