2017-06-21 2 views
-1

Modifié: J'ai quelques termes/sujets et je veux quantifier la différence entre ces termes/sujets dans le sens ou le domaine les uns des autres. Voici le cas d'utilisation dans lequel je veux l'appliquer:Comment puis-je quantifier la différence de sens de deux termes? Par exemple "oiseau" et "Chaise"

En ce moment j'ai un jeu de données de twitter sur un match de cricket particulier (tweets avec hashtag de ce match). Je veux voir combien d'autres sujets, sans rapport avec le cricket, font leur chemin dans de tels tweets. Par exemple si quelqu'un commence à prendre des "Refuges syriens" dans un tel tweet qui ne sera pas très lié au sujet du jeu Cricket. Mon approche de base est d'extraire des sujets de ces tweets, puis d'identifier les sujets qui sont étroitement liés au domaine du cricket et ceux qui ne le sont pas. Statistiquement, vous pouvez regarder word2vec, fasttext et des modèles similaires.

+0

Cette question semble plus profonde que la portée de la PNL dans Stackoverflow :). Peut-être que vous pouvez nous donner votre cas d'utilisation pour une telle quantification. – Mehdi

+0

Salut @Mehdi, en ce moment j'ai des données de twitter. Les tweets sont sur le match de cricket. Je veux identifier combien d'autres sujets font de cette manière dans de tels tweets. Donc, fondamentalement, je vais extraire les sujets de tweets, puis voir comment ces sujets sont indépendants du domaine de "Cricket". – user3046442

Répondre

1

Ici, la "différence" peut être la distance (similarité euclidienne ou cosinus) entre deux points de l'espace vectoriel. En bref, vous chargez votre corpus dans un moteur qui crée un espace à n dimensions, plaçant des mots (et parfois des documents ou des n-grammes) comme points dans l'espace de telle sorte que les mots apparaissant dans des contextes similaires ont des représentations proches . Un inconvénient de la plupart de ces représentations est que les antonymes apparaissent souvent proches les uns des autres: par exemple dans "Je t'aime" et "Je te hais", l'amour et la haine ont des contextes très similaires. D'un point de vue sémantique, lorsque vous avez ajouté l'ontologie de balise, vous pouvez utiliser une base de connaissances structurée ou une ontologie. Une option consiste à définir "distance" dans la taxonomie entre les deux termes. Vous pouvez vérifier s'ils apparaissent au même niveau que les frères et soeurs, l'un est parent de l'autre ou d'autres relations. Je crois que la façon la plus simple est de définir manuellement les poids pour chaque relation, mais peut-être que des approches statistiques pour les graphiques qui traversent et classent sont également appropriées.

Pour les classes, vous pouvez utiliser le nombre d'instances que vous avez et les relations entre ces instances. Par exemple, vous pouvez calculer la distance entre "oiseau" et "chaise" par le nombre de cas d'oiseaux et de chaises pour lesquels vous avez une relation "s'assied". Espérons que "personne" et "chaise" seront beaucoup plus proches car la plupart de vos objets personnels auront un objet "chaise" désigné.

+0

Merci. Existe-t-il des taxonomies et des ontologies existantes? Pour autant que je sache, les ontoligies sont spécifiques à un domaine et pour un nouveau domaine, vous devez créer de nouvelles ontologies – user3046442

+0

Vous pouvez consulter https://developers.google.com/knowledge-graph/ (ancien Freebase), http: //wiki.dbpedia. org /, ou http://linkeddata.org/ – Yasen

+0

Merci beaucoup ..... – user3046442