En un mot, __associer des mots dans le texte aux articles de Wikipedia __.
À titre d'exemple, disons que vous avez une phrase comme celle-ci:
«Depuis 2016, il y a cinq constructeurs, Yamaha, Honda, Suzuki, Ducati et Aprilia, et une équipe satellite qui peut prêter des machines de travaux. ''
Il s'agit du [Championnat de course sur route](https://ja.wikipedia.org/wiki/%E3%83%AD%E3%83%BC%E3%83%89%E3%83%AC%E3%83%BC C'est un passage de% E3% 82% B9% E4% B8% 96% E7% 95% 8C% E9% 81% B8% E6% 89% 8B% E6% A8% A9).
À l'heure actuelle, le «Suzuki» qui existe dans le texte est [Suzuki (société)](https://ja.wikipedia.org/wiki/%E3%82%B9%E3%82%BA%E3%82% Il y a du travail à relier à AD_ (% E4% BC% 81% E6% A5% AD)). Ce processus s'appelle «Wikification».
Il existe un bon article qui résume les avantages plus intelligemment que la lecture de cet article de l'UNCO, alors jetez-y également un œil.
Il n'est pas exagéré de dire que les articles de Wikipédia sont généralement keywords.
Dans l'exemple de texte ci-dessus, «2016, Yamaha, Honda, Suzuki, Ducati, Aprilia, Maker, Works Machine, Loan», etc. peut être associé à Wikipedia.
Les mots clés «2016» et «prêt» sont-ils? Vous vous demandez peut-être, mais tant que l'article de Wikipédia existera, ce sera un mot-clé.
Après avoir ramassé des mots, y compris des mots inutiles sur Wikipédia, si vous les gérez bien, cela sera très utile comme extraction de mots-clés.
Dans le processus de Wikification, un mot signifiant résolution d'ambiguïté (WSD) est également implémenté. C'est parce qu'il est courant dans le monde réel qu'un mot ait plusieurs significations.
Par exemple, «Aujourd'hui, je suis allé à TSUTAYA et j'ai pris un nouveau DVD de Bud. Disons que vous avez le texte `. [^ 1]
A ce moment, s'il s'agit d'une simple correspondance de texte, une ambiguïté se produira dans le "bourgeon". [Bouton d'actrice AV](https://ja.wikipedia.org/wiki/%E3%81%A4%E3%81%BC%E3%81%BF_(AV%E5%A5%B3%E5%84%] AA)) ou Flower Bud ou Kobukuro Song /% E8% 95% BE_ (% E3% 82% B3% E3% 83% 96% E3% 82% AF% E3% 83% AD% E3% 81% AE% E6% 9B% B2)) ・ Il existe plusieurs possibilités.
Bien sûr, nous, humains, pouvons déduire du contexte que "je vais à TSUTAYA et je joue un DVD, donc c'est probablement un bourgeon (actrice audiovisuelle)!" C'est une excellente capacité humaine. La sélection de la signification du mot correct dans le contexte de cette manière s'appelle WSD. Il s'agit d'un domaine de recherche sur le traitement du langage naturel.
Wikification fait également du WSD lors du travail «d'association de mots avec des articles wikipedia».
L'un des avantages de Wikipedia est qu'il s'agit de __ données structurées __. Plus précisément, le système de catégories et les modèles d'article jouent ce rôle.
Vous pouvez créer des graphiques de réseau à l'aide de la structure des catégories et des modèles d'article. Cela signifie que vous pouvez les utiliser comme informations utiles pour les tâches de classification et de regroupement de documents.
Malheureusement, Wikipédia n'est pas très bien adapté à cette fin. Les points suivants ont été signalés comme étant les causes. [^ 3]
Nous vous recommandons d'utiliser les données publiées par DBpedia ou WikiData. [^ 2] DBpedia et WikiData sont basés sur des règles, mais ils nettoient les données.
J'ai créé un package de Wikification.
Le paquet lui-même sera installé avec pip install word2vec-wikification-py
. (Je n'ai testé qu'avec Python 3.5.x.)
Comme numpy et gensim sont nécessaires pour l'installation, nous vous recommandons d'utiliser Anaconda3.
Puis lancez ce script avec sh download_model.sh
.
Cela ne fonctionnera pas sans ce fichier modèle.
À partir de là, ce que vous faites dépend du cas d'utilisation.
Tout d'abord, vous aurez besoin des deux éléments suivants.
Si vous ne disposez pas d'un environnement pour la division morphologique, veuillez vous reporter à Mon article pour référence.
Concernant la configuration de Mysql, cela dépend de l'environnement, alors faites de votre mieux! (Marunage)
Pour les données de vidage de Wikipédia, voir Cette section du README.
Utilisez la fonction de word2vec_wikification_py.interface.predict_japanese_wiki_names_with_wikidump ()
.
La valeur de retour est «word2vec_wikification_py.word2vec_wikification_py.models.SequenceScore» stockée dans la liste. "Série de noms d'articles wikipedia plausible" par ordre décroissant de score
Pour le moment, si vous voulez une séquence de mots, vous pouvez obtenir la séquence de mots avec word2vec_wikification_py.word2vec_wikification_py.models.SequenceScore.get_tokens ()
.
Voir exemple pour plus de détails.
Peut-être que certains d'entre vous ont déjà fini de lister les candidats à l'article de Wikipédia par certains moyens.
Dans ce cas, suivez les étapes ci-dessous pour exécuter WSD.
word2vec_wikification_py.word2vec_wikification_py.models. WikipediaArticleObject
word2vec_wikification_py.interface. Compute_wiki_node_probability ()
Commencez par créer une liste de candidats.
Pour Yamaha
, comme dans le code ci-dessous, entrez Yamaha ou Yamaha Motor et le nom de l'article wikipedia du candidat.
À ce stade, n'oubliez pas de mettre le nom __article entre []
. __
Si vous ne le placez pas entre «[]», la précision sera considérablement réduite.
seq_wikipedia_article_object = [
WikipediaArticleObject(page_title='Yamaha', candidate_article_name=['[Yamaha]', '[Yamaha発動機]']),
WikipediaArticleObject(page_title='Suzuki', candidate_article_name=['[Suzuki_(Compagnie)]', '[Suzuki_(poisson)]']),
WikipediaArticleObject(page_title='Ducati', candidate_article_name=['[Ducati]'])
]
C'est fait en une seule ligne. Sélectionnez ʻentity_vector.model.bin` pour le fichier modèle.
model_object = load_entity_model.load_entity_model(path_entity_model=path_model_file, is_use_cache=True)
Appelez word2vec_wikification_py.interface. Compute_wiki_node_probability ()
pour donner des informations sur le candidat et un fichier modèle.
sequence_score_objects = interface.compute_wiki_node_probability(
seq_wiki_article_name=seq_wikipedia_article_object,
entity_vector_model=model_object,
is_use_cache=True
)
La valeur de retour est «word2vec_wikification_py.word2vec_wikification_py.models.SequenceScore» stockée dans la liste. "Série de noms d'articles wikipedia plausible" par ordre décroissant de score
Pour le moment, si vous voulez une séquence de mots, vous pouvez obtenir la séquence de mots avec word2vec_wikification_py.word2vec_wikification_py.models.SequenceScore.get_tokens ()
.
Tout d'abord, comme principe majeur, ce paquet est construit sur Japanese Wikipedia Entity Vector. Voici les [résultats de recherche] de M. Suzuki (http://www.anlp.jp/proceedings/annual_meeting/2016/pdf_dir/A5-2.pdf) du laboratoire Inui de l'université de Tohoku. M. Suzuki, qui publie des résultats de recherche aussi merveilleux, est déçu.
Pour expliquer brièvement le rôle du vecteur d'entité Wikipedia japonais, il s'agit de __ "modèle word2vec entre les articles wikipedia" __. Par conséquent, il est possible de calculer la distance similaire entre les articles sur wikipedia.
Ensuite, l'histoire est: "Qu'as-tu fait?" Voici ce que nous faisons avec ce package:
Si vous connaissez le processus de fonctionnement de MeCab, vous pouvez imaginer le deuxième processus. Il y a un bon article qui a présenté le processus de fonctionnement de MeCab sur le blog technique de Cookpad, donc je le posterai. Dans cet article, la structure appelée "Lattice" est le graphique que nous créons ici.
À propos, les informations de l'article wikipedia dépendent des informations de mot du modèle vectoriel d'entité wikipedia japonais.
Par conséquent, les nouveaux articles parus après la seconde moitié de 2016 ne sont pas soumis à la wikification.
J'espère que le vecteur d'entité wikipedia japonais sera également mis à jour (|ω ・`) Chira|ω ・`) Chira|ω ・`) Chira
)
-J'ai créé package de Wikification ――Si vous pouvez Wikify, vous pouvez acquérir des mots-clés et éliminer toute ambiguïté. ――Tohoku University Inuiken est incroyable! ――Veuillez faire un don à Wikipédia et rédiger des articles sur la technologie de Wikification.
[^ 1]: Les bourgeons sont mignons, n'est-ce pas (* ´ω ` *) [^ 2]: Concernant WikiData, j'écrirai un article sur la façon de l'utiliser. [^ 3]: L'écriture de cette manière est signalée dans le monde de Wikipédia, "Il y a un risque de recherche indépendante. Veuillez préciser la source."