[PYTHON] Facile! Utilisez gensim et word2vec avec MAMP.

**Remarque! Il est destiné aux environnements dans lesquels python, mamp et gensim sont installés. Si vous ne pouvez pas, veuillez l'installer. ** ** ** Aussi, au lieu d'apprendre word2vec, recherchez simplement des mots similaires. ** **

Tout d'abord, connectez-vous à python depuis php.

Mettez ceci en php ~! L'exécutif de code peut accéder à la ligne de commande depuis php. (Le même que le terminal mac.)


<?php
exec('ls')
?>

Utilisez ceci pour exécuter python avec word2vec écrit dessus. Par exemple ..., vous pouvez exécuter un fichier python comme test.py depuis php.


<?php
exec('python test.py')
?>

Ensuite, apportez les données pour rechercher des mots similaires dans word2vec. Téléchargeons le zip. http://www.cl.ecei.tohoku.ac.jp/~m-suzuki/jawiki_vector/ J'utiliserai ceci plus tard.

Ensuite, du côté python, créez un nouveau fichier python. Écrivez comme ça. C'est ok ~! Veuillez répondre au zip que vous avez téléchargé précédemment et placez-le à proximité. C'est "entity_vector / entity_vector.model.bin". ** (Si vous ne supprimez pas la partie écrite dans le commentaire en japonais maintenant, une erreur se produira lors de la lecture, alors supprimez-la! (Vous pourrez peut-être la lire si vous la concevez. Je pense qu'il y a quelque chose.)) **

Je dois passer le chemin avec sys.path comme suit .. J'obtiens l'erreur "Erreur d'importation: aucun module nommé" gensim "". Cela signifie que l'emplacement de recherche du module défini dans mamp est différent. Cherchez donc le chemin du gensim déjà installé dans votre mac dans le terminal. (Pip show gensim)

word2vec.py


#Je peux importer des modèles de gensim avec python dans le terminal mac, mais il n'y a pas de chemin sur mamp.
#Alors sys.J'entrerai dans le chemin avec le chemin.
import sys
sys.path.append('chemin')
#Dans la section "Chemin" ci-dessus, entrez le chemin absolu à rechercher ensuite. (Exemple:/Users/Taro/anaconda3/lib/python3.6/site-packages)

#Voici le code qui exécute word2vec.
#Recherchez des mots similaires à «graphique».
from gensim.models import KeyedVectors
model_dir = 'entity_vector/entity_vector.model.bin'
model = KeyedVectors.load_word2vec_format(model_dir, binary=True)

results = model.similar_by_vector("graphic", topn=10, restrict_vocab=None)

for result in results:
    print(result)

Revenons maintenant à php. Exécutez la commande et exécutez le fichier python avec exec (). Le deuxième argument est le résultat. Dans le troisième argument, s'il y a une erreur, quelque chose sera retourné. Maintenant ... le résultat est ...

index.php


$command = 'python wd2vc.py';
exec($command, $output, $return_var);
var_dump($output, $return_var);

J? ai compris! !! Les mots similaires à «graphique» sont affichés dans un tableau. Tu l'as fait!

image.png

Article de référence: PHP --Résumé de la relation entre la gestion des erreurs exec () et la sortie d'erreur standard https://qiita.com/smd8122/items/65b552f1d53bfb7fad9a J'étais un peu accro à l'utilisation de Mecab du PHP de MAMP! https://dbym4820.hatenablog.com/entry/2017/10/18/171259

Recommended Posts

Facile! Utilisez gensim et word2vec avec MAMP.
API Nifty Cloud facile à utiliser avec botocore et python
Utiliser Jupyter Lab et Jupyter Notebook avec EC2
Utilisez TPU et Keras avec Google Colaboratory
Scraping Web facile avec Python et Ruby
Utiliser Python et MeCab avec Azure Functions
100 traitement du langage knock-90 (en utilisant Gensim): apprendre avec word2vec
Utilisez dein.vim et ckw-mod avec Windows7 32 bits PowerShell
Word2Vec avec BoUoW
Easy X-Ray avec Lambda Layer et CloudFormation / sam-cli
"Apprentissage de word2vec" et "Visualisation avec Tensorboard" sur Colaboratory
IoT facile pour démarrer avec Raspeye et MESH
[Introduction à WordCloud] Il est facile à utiliser même avec Jetson-nano ♬
Génération facile de phrases pakuri stylisées avec MeCab + gensim
Téléchargez facilement et partiellement mp4 avec python et youtube-dl!
Ubuntu 20.04 sur raspberry pi 4 avec OpenCV et utilisation avec python
Essai de reconnaissance faciale facile avec Jetson Nano et caméra Web
Installez tweepy avec pip et utilisez-le pour l'API 1.1
Easy Grad-CAM avec pytorch-gradcam
Utilisez mecab-ipadic-neologd avec igo-python
Utilisez RTX 3090 avec PyTorch
Utiliser pipdeptree avec virtualenv
[Python] Utiliser JSON avec Python
Utiliser l'indicateur avec pd.merge
Flacon facile à utiliser
Utiliser mecab avec Python 3
Utiliser tensorboard avec Chainer
Utilisez SQL Alchemy et le multitraitement
Utiliser pip avec MSYS2
Utilisez Python 3.8 avec Anaconda
Utiliser les droits d'auteur avec Spacemacs
Utiliser python avec docker
Utiliser TypeScript avec django-compresseur
Utilisez LESS avec Django
Facile à utiliser SQLite3
Utiliser MySQL avec Django
Utiliser Enum avec SQLAlchemy
Débogage facile avec ipdb
Avec et sans WSGI
Utiliser tensorboard avec NNabla
Utiliser le GPS avec Edison
TopView facile avec OpenCV
Utilisez nim avec Jupyter
Introduction facile au piratage domestique avec Raspberry Pi et discord.py
J'ai essayé la gestion du suivi avec l'API Twitter et Python (facile)
Apprentissage par renforcement 23 Créez et utilisez votre propre module avec Colaboratory
Déplaçons word2vec avec Chainer et voyons la progression de l'apprentissage