Utiliser WordNet pour déterminer la similarité sémantique entre deux textes?

Comment Pouvez-vous déterminer la similitude sémantique entre deux textes en python en utilisant WordNet?

le pré-traitement évident serait d'enlever les mots d'arrêt et de bourrage, mais alors quoi?

la seule façon à laquelle je peux penser serait de calculer la distance de chemin de Motnet entre chaque mot dans les deux textes. C'est la norme pour unigrams. Mais ce sont de grands (400 mots) textes, qui sont des documents de langage naturel, avec des mots qui ne sont pas dans ordre ou structure particulière (autres que celles imposées par la grammaire anglaise). Alors, quels mots compareriez-vous entre les textes? Comment ferais-tu ça en python?

4
demandé sur Zach 2012-07-13 06:35:52

1 réponses

Une chose que vous pouvez faire est:

  1. Tuer l'arrêt de mots
  2. trouver autant de mots que possible qui ont des intersections maximales de synonymes et d'antonymes avec ceux d'autres mots dans le même doc. Appelons cela" les mots importants "
  3. Vérifier pour voir si l'ensemble des mots importants de chaque document est le même. Plus ils sont proches, plus vos documents sont similaires sur le plan sémantique.

il y a un autre moyen. Calculer phrase arbres de phrases dans chaque doc. Comparez ensuite les deux forêts. J'ai fait un travail similaire pendant un cours il y a longtemps. Voici le code (gardez à l'esprit, c'était il y a longtemps et c'était pour la classe. Le code est donc extrêmement hacky, pour le moins).

Espérons que cette aide

8
répondu inspectorG4dget 2012-07-13 03:26:25