web-dev-qa-db-fra.com

Des algorithmes de marquage automatique non supervisés?

Je souhaite créer une application Web permettant aux utilisateurs de télécharger documents , vidéos , images , musique , puis de leur donner la possibilité de fouillez-les. Pensez-y comme Dropbox + Recherche sémantique.

Lorsque l'utilisateur télécharge un nouveau fichier, par exemple Document1.docx , comment pourrais-je générer automatiquement des balises basées sur le contenu du fichier? En d'autres termes, aucune intervention de l'utilisateur n'est nécessaire pour déterminer le contenu du fichier. Si supposons que Document1.docx soit un document de recherche sur l’exploration de données, alors lorsque l’utilisateur recherche exploration de données , ou document de recherche , ou document1 , ce fichier doit être renvoyé dans les résultats de la recherche, car data mining et papier de recherche seront probablement des balises potentiellement générées automatiquement pour ce document.

1. Quels algorithmes recommanderiez-vous pour ce problème?

2. Existe-t-il une bibliothèque en langage naturel qui pourrait faire cela pour moi?

3. Quelles techniques d'apprentissage automatique dois-je étudier pour améliorer la précision du marquage?

4. Comment puis-je étendre cela au marquage automatique des vidéos et des images?

Merci d'avance!

20
Sahat Yalkabov

Le modèle d'apprentissage automatique non supervisé le plus courant pour ce type de tâche est Allocation de Dirichlet latent (LDA). Ce modèle déduit automatiquement une collection de sujets sur un corpus de documents basé sur les mots de ces documents. L'exécution de LDA sur votre ensemble de documents assignerait des mots avec une probabilité à certains sujets lorsque vous les rechercheriez, puis vous pourriez récupérer les documents avec les probabilités les plus élevées pour qu'ils soient pertinents pour ce mot.

Il existe également des extensions d’images et de musique, voir http://cseweb.ucsd.edu/~dhu/docs/research_exam09.pdf .

LDA a plusieurs implémentations efficaces dans plusieurs langues:

19
Andrew Mao

Ces gars proposent une alternative à la LDA.

Algorithmes automatiques de recommandation de balises pour Systèmes de recommandation sociale http://research.Microsoft.com/pubs/79896/tagging.pdf

Je n'ai pas lu tout l'article mais ils ont deux algorithmes:

  1. Version d'apprentissage supervisé. Ce n'est pas si mal. Vous pouvez utiliser Wikipedia pour former l'algorithme
  2. Version "prototype". N'ont pas eu l'occasion de passer par ceci mais c'est ce qu'ils recommandent

MISE À JOUR: J'ai encore fait des recherches à ce sujet et j'ai trouvé une autre approche. Fondamentalement, il s’agit d’une approche en deux étapes très simple à comprendre et à mettre en œuvre. Bien que trop lent pour 100 000 documents, il offre (probablement) de bonnes performances pour 1 000 documents (il est donc parfait pour baliser les documents d'un seul utilisateur). Je vais essayer cette approche et je ferai un rapport sur les performances/la convivialité. 

En attendant, voici l'approche:

  1. Utilisez TextRank selon http://qr.ae/36RAP pour générer une liste de balises pour un seul document. Cela génère une liste de balises pour un seul document indépendant des autres documents
  2. Utilisez l'algorithme de "Utilisation de Machine Learning pour prendre en charge le développement continu D'ontologies" ( https://www.researchgate.net/publication/221630712_Using_Machine_Learning_to_Support_Continuous_Ontology_Development ) pour intégrer la liste de balises (à partir de l'étape 1) liste de balises existante.
4
U Avalos

Les documents texte peuvent être étiquetés à l’aide de cet algorithme/package d’extraction de phrase clé. http://www.nzdl.org/Kea/ Actuellement, il prend en charge un type limité de documents (Documents agricoles et médicaux Je suppose) mais vous pouvez l’entraîner selon vos besoins.

Je ne suis pas sûr de savoir comment fonctionnerait la partie image/vidéo, à moins que vous ne détectiez très précisément les objets (qui ont leurs propres inconvénients). Comment comptez-vous le faire?

1
user3675152

J'ai posté un article de blog aujourd'hui pour répondre à votre question.

http://scottge.net/2015/06/30/automatic-image-and-video-tagging/

Il existe essentiellement deux approches pour extraire automatiquement les mots-clés d’images et de vidéos.

  1. Apprentissage à instances multiples (MIL) 
  2. Réseaux de neurones profonds (DNN), réseaux de neurones récurrents (RNN) et leurs variantes 

Dans l'article de blog ci-dessus, j'énumère les derniers articles de recherche pour illustrer les solutions. Certains d'entre eux incluent même le site de démonstration et le code source.

Merci Scott

0
Scott Ge