traitement du langage naturel - Des idées pour les projets débutant [fermé]

StackOverflow https://stackoverflow.com/questions/2572301

  •  24-09-2019
  •  | 
  •  

Question

Je suis un débutant en PNL et NLTK. Je suis très intéressé par la PNL et par conséquent rejoint un cours de week-end sur la grippe aviaire dans une institution locale, qui me demande de faire un projet pour la fin du cours, et j'ai décidé de le faire en PNL. Le problème est, l'instructeur est pas bon du tout pour ce cours (Selon moi, elle est juste un charlatan) (ou peut-être pas très intéressés par l'enseignement comme c'est son dernier lot ici après quoi l'institut va envoyer la sortir). Donc, je suis coincé dans une situation où où je suis arrivé à la fin ce projet dans un mois à un an et demi-période de mois, mais comme un naïf personne dans le domaine, je me sens très difficile de comprendre la les choses nécessaires pour décider sur le projet. (De plus, comme je travaille plein temps, je ne trouve pas assez de temps à consacrer à ce sujet).

Je considérais à l'aide boîte à outils NLTK en python pour le projet pour les raisons suivantes. (1) Python est célèbre pour la facilité d'utilisation, le prototypage rapide et la communauté très active (compte tenu très court laps de temps dont je dispose, et comme je suis un programmeur C par profession, je besoin d'une langue que je peux apprendre vite et est simple à l'utilisation).

(2) NLTK a une bonne révision, et une documentation complète et une communauté très active.

Le problème est donc ce projet dois-je prendre, pour que je puisse apprendre quelque chose et sera en mesure de terminer projet dans le temps. (Je ne sais presque rien dans la PNL, ne savent même pas exactement ce corpus est ... :()

Alors, s'il vous plaît me suggérer des sujets que je devrais considérer pour le projet.

Cordialement,

MicroKernel:)

Était-ce utile?

La solution

La plupart des projets « débutants » visent à réimplémentant algorithmes bien connus, donc les débutants peuvent apprendre en vérifiant leurs résultats par rapport aux solutions connues. Pour cela, je vous recommande quelque chose de simple, comme un filtre anti-spam. Vous souhaitez commencer par la création d'un fichier de formation, à savoir copier le texte de plusieurs real e-mails dans un fichier CSV et de les étiqueter manuellement le spam ou non spam, comme:

text|is_spam
hi bob! how are you?|0
what time are you coming over|0
how to buy viagra now!|1

Ensuite, vous souhaitez créer un fichier de test, au format identique au fichier de formation, mais il est évident avec des exemples différents.

Ensuite, vous souhaitez créer votre filtre classificateur / spam. Il existe de nombreuses façons de mettre en œuvre un filtre anti-spam, mais le plus élémentaire est simplement en comptant la fréquence à laquelle un mot apparaît avec is_spam = 0 et is_spam = 1. Par exemple, à partir du fichier de formation ci-dessus, le mot « Viagra » est associé à une classification de spam, mais 0 classifications non-spam, il est donc vos futurs emails probables contenant le mot « viagra » sera également classé comme spam. De même, le mot « comment » apparaît dans 1 spam et 1 e-mail non-spam, il est donc moins susceptible d'indiquer un classement définitif.

Vous souhaitez ensuite former votre classificateur sur le fichier de formation, et de calculer sa précision en exécutant sur le fichier de test.

Si la méthode ci-dessus est trop simple, vous pouvez augmenter sa complexité en comptant n-grammes (groupes de mots), ou même structure grammaticale par première marquage la partie de synthèse vocale (par exemple, beaucoup de spam est ordures généralement aléatoire peuplée avec des mots clés, où non-spam fait généralement un certain sens). Vous pourriez potentiellement mettre en œuvre plusieurs classificateurs différents et comparer leur exactitude.

Certes, il y a un peu plus compliqué que cela, mais ces méthodes sont bien documentées sur Internet, et c'est votre projet il est donc à vous de davantage de recherche. Bonne chance.

Autres conseils

Quelques idées:

    .
  • Un programme qui devine la langue d'un fichier d'entrée est écrit dans Vous auriez besoin de quelques échantillons de langues différentes; Wikipedia est une excellente source.

  • Un programme qui, sur la base d'un corpus de textes, des mots ou des phrases semblables à celles des constructions dans le corpus.

  • Trouver quelque chose d'intéressant à faire avec le Manuscrit Voynich . Vous pouvez trouver des transcriptions .

(Soit dit en passant, « corpus » est juste un mot de fantaisie pour « tas de texte ». A partir de Wikipedia : « un ensemble vaste et structuré de textes (maintenant généralement stockés électroniquement et traitées). » Le mot se réfère généralement aux textes qui vous utilisez pour former et tester votre algorithme, par opposition aux textes inconnus qu'il rencontrera dans le domaine).

Essayez de travailler sur les défis affichés sur des sites comme Kaggle. Ils ont des défis intéressants, tels que détection des insultes dans le commentaire social pour lesquels les données sont disponibles gratuitement.

Vous pouvez utiliser la PNL pour enregistrer certaines parties d'un appel de soutien à la clientèle sur un téléphone VOIP. pourrait être prise l'entrée d'autres options par l'utilisateur à partir du clavier. Avec ce système en place, vous pouvez éliminer le besoin d'un support personnel.For exemple - réinitialiser le mot de passe à un identifiant de messagerie dans une organisation avec autorisation basée sur la voix

.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top