Question

Pour un projet de recherche d'applications d'entreprise moi et une autre personne travaillent, nous cherchons à supprimer certains contenus de la page pour garder les messages postés universels (ce qui signifie pas injurieux et essentiellement anonyme). En ce moment, nous voulons prendre un message qu'un utilisateur a posté à un panneau de message et supprimer tout type de nom, d'un collège ou d'une institution, et grossièretés (et si possible plus tard nous voudrions supprimer les noms commerciaux).

Y at-il une base de données que nous pouvons connecter à ce que nous pouvons exécuter frotter nos messages avec pour vérifier contre les valeurs dans la base de données afin de les reconnaître?

Était-ce utile?

La solution

La question semble impliquer une base de données en ligne qui serait interrogé lors du traitement des messages. Questions opérationnelles (fiabilité de ces services, retard dans le temps de réponse, etc.) ainsi que problème complet (besoin d'interroger plusieurs bases de données parce que personne ne unique couvrira 100% des besoins lexicaux du projet) rendent cette approche en ligne / en temps réel peu pratique. Il y a cependant de nombreuses bases de données disponibles pour le téléchargement et qui vous permettra de construire votre propre base de données locale des « mots chauds ».

Un bon endroit pour commencer pourrait être WordNet , étiez-vous probablement feriez utiliser tous les « par exemple » mots comme des mots qui devraient généralement doivent être retirés des messages, comme vous rendre anonyme / les nettoyer. (Peut-être que vous aussi garder les « non exemple » mots dans une table séparée / liste des mots « plus susceptibles d'être ok »). Cette liste seule pourrait probablement soutenir honorablement une version « 0.9 » de votre application.

Vous voulez éventuellement étendre cette base de données lexicales de « mauvais mots » cependant, par exemple d'inclure toutes les universités acronymes (CMU, UCSD, DU, MIT, UNC et autres), équipes sportives noms (Celtics, Bruins, Bruins, Red Sox ...) et en fonction du domaine de vos messages, d'autres noms de personnalités publiques (Wordnet a plusieurs, comme George Bush ou Robert de Niro, mais il manque des gens moins célèbres ou des gens qui est venu de la renommée plus récemment: par exemple Barack Obama)

Pour compléter Wordnet, deux types de sources distinctes viennent à l'esprit:

  • bases de données en ligne traditionnels
  • ontologies et folksonomies

Des exemples de l'ancien sont dites « Villes / État par code postal » à l'USPS. Des exemples de ces derniers sont différents des « listes » compilées par des chercheurs, des organisations ou des personnes différentes. Il est impossible de dresser une liste exhaustive de l'un de ces types de sources, mais ce qui suit devrait aider:

  • DAML.ORG Catalogue des ontologies
  • Régions et aux États-Unis États exemple d'un format d'ontologie DAML
  • Projet Open Directory répertoire Open Source (attention, devient rapidement désordre)
  • SourceWatch.org exemple d'un " liste des listes: les gens dans le journalisme / politique "
  • moteur de recherche Les mots-clés:. « Liste des listes », ou utiliser aussi trois ou quatre des mots que vous vous attendez à trouver dans la liste que vous cherchez

Dans les cas plus simples, on peut simplement télécharger des listes et autres, ou encore, « couper-coller ». Les ontologies seront « encombrés » avec des attributs supplémentaires que vous aurez besoin pour analyser en (dans l'avenir, vous pouvez réellement désirer ces attributs et d'utiliser les ontologies de façon plus traditionnelle, pour l'instant, saisir les entités lexicales est tout ce qui est nécessaire ).

Cette tâche de compilation de bases de données lexicale peut sembler intimidante. Mais le 80-20 règle , indique que 20% des « mots chauds » sera compte pour 80% des citations dans les messages, et donc avec un effort relativement faible, vous devriez être en mesure de produire un système qui couvre 90% + de vos cas d'utilisation.

À l'avenir: Au-delà de la base de données "mots chauds"
Il y a plusieurs façons d'aborder cette tâche, en utilisant diverses techniques et concepts de Traitement du langage naturel (PNL). À mesure que votre projet gagne en sophistication, vous pouvez en apprendre davantage sur certains de ces concepts et éventuellement les mettre en œuvre. Par exemple, un tagueur simple point de vente vient à l'esprit, car il peut aider [en partie] discrimination entre divers dire utilisation du àken « Screw » comme application supprime les mots offensants. ( "Le conseil d'administration veut vis les élèves" par rapport "Le conseil d'administration doit être fixé avec un minimum de 4 vis par la cour".

Avant même avoir besoin de ces techniques de la PNL formelle, vous pouvez utiliser quelques règles basée sur des modèles pour traiter les cas communs associés au domaine (s) par rapport au type de messages que les cibles du projet. Par exemple, vous pouvez considérer les points suivants:
  - (mot)
State University   - Le sénateur (lettre Word_Starting_with_Capital)
  - Les mots qui mélangent des lettres et des chiffres (ceux-ci sont souvent utilisés pour orthographier les noms et contourner le type de filtres de vos projets souhaite mettre en œuvre)

Un autre outil qui peut être utile, en particulier au début sera un système qui collecte les informations statistiques sur le corpus de messages:. Fréquence des mots, les mots les plus courants, bigrams les plus courants (deux mots consécutifs) etc

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