[PYTHON] Einfach! Verwenden Sie gensim und word2vec mit MAMP.

**Hinweis! Es ist für Umgebungen vorgesehen, in denen Python, Mamp und Gensim installiert sind. Wenn Sie nicht können, installieren Sie es bitte. ** ** ** ** Anstatt word2vec zu lernen, suchen Sie einfach nach ähnlichen Wörtern. ** ** **

Stellen Sie zunächst von PHP aus eine Verbindung zu Python her.

Setzen Sie dies in php ~! Der Code Exec kann von PHP auf die Kommandozeile zugreifen. (Das gleiche wie das Mac-Terminal.)


<?php
exec('ls')
?>

Verwenden Sie diese Option, um Python mit darauf geschriebenem word2vec auszuführen. Zum Beispiel ... können Sie eine Python-Datei wie test.py von PHP ausführen.


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

Bringen Sie dann die Daten dazu, in word2vec nach ähnlichen Wörtern zu suchen. Lassen Sie uns die Zip herunterladen. http://www.cl.ecei.tohoku.ac.jp/~m-suzuki/jawiki_vector/ Ich werde dies später verwenden.

Erstellen Sie als Nächstes auf der Python-Seite eine neue Python-Datei. Schreiben Sie so. Das ist ok ~! Bitte beantworten Sie die zuvor heruntergeladene Postleitzahl und platzieren Sie sie in der Nähe. Das ist "entity_vector / entity_vector.model.bin". ** (Wenn Sie den Teil, der in dem Kommentar geschrieben ist, jetzt nicht auf Japanisch löschen, tritt beim Lesen ein Fehler auf. Löschen Sie ihn daher bitte! (Vielleicht können Sie ihn lesen, wenn Sie ihn entwickeln. Ich denke, es gibt etwas.)) **

Ich muss den Pfad mit sys.path wie folgt übergeben. Ich erhalte die Fehlermeldung "Importfehler: Kein Modul namens 'gensim'". Dies bedeutet, dass der Ort, an dem nach dem in mamp eingestellten Modul gesucht werden soll, unterschiedlich ist. Suchen Sie im Terminal nach dem Pfad von gensim, der bereits auf Ihrem Mac installiert ist. (Pip Show Gensim)

word2vec.py


#Ich kann Gensim-Modelle mit Python in das Mac-Terminal importieren, aber es gibt keinen Pfad auf mamp.
#Also sys.Ich werde den Pfad mit Pfad betreten.
import sys
sys.path.append('Pfad')
#Geben Sie im Abschnitt "Pfad" oben den absoluten Pfad ein, um als Nächstes nachzuschlagen. (Beispiel:/Users/Taro/anaconda3/lib/python3.6/site-packages)

#Unten ist der Code, der word2vec ausführt.
#Suchen Sie nach Wörtern, die "Grafik" ähnlich sind.
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)

Nun zurück zu PHP. Führen Sie den Befehl aus und führen Sie die Python-Datei mit exec () aus. Das zweite Argument ist das Ergebnis. Im dritten Argument wird bei einem Fehler etwas zurückgegeben. Nun .. das Ergebnis ist ..

index.php


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

Ich hab es geschafft! !! Wörter, die "Grafik" ähnlich sind, werden in einem Array ausgegeben. Du hast es geschafft!

image.png

Referenzartikel: PHP - Zusammenfassung der Beziehung zwischen exec () - Fehlerbehandlung und Standardfehlerausgabe https://qiita.com/smd8122/items/65b552f1d53bfb7fad9a Ich war ein bisschen süchtig nach Mecab aus MAMP's PHP! https://dbym4820.hatenablog.com/entry/2017/10/18/171259

Recommended Posts

Einfach! Verwenden Sie gensim und word2vec mit MAMP.
Einfache Verwendung der Nifty Cloud API mit Botocore und Python
Verwenden Sie Jupyter Lab und Jupyter Notebook mit EC2
Verwenden Sie TPU und Keras mit Google Colaboratory
Einfaches Web-Scraping mit Python und Ruby
Verwenden Sie Python und MeCab mit Azure-Funktionen
100 Sprachverarbeitung Knock-90 (mit Gensim): Lernen mit word2vec
Verwenden Sie dein.vim und ckw-mod mit Windows7 32bit PowerShell
Word2Vec mit BoUoW
Einfache Röntgenaufnahme mit Lambda Layer und CloudFormation / sam-cli
"Learning word2vec" und "Visualisierung mit Tensorboard" auf Colaboratory
Einfaches IoT, um mit Raspeye und MESH zu beginnen
[Einführung in Word Cloud] Einfache Verwendung mit Jetson-nano ♬
Einfache Generierung stilisierter Pakuri-Sätze mit MeCab + Gensim
Laden Sie mp4 einfach teilweise mit Python und youtube-dl herunter!
Ubuntu 20.04 auf Himbeer-Pi 4 mit OpenCV und mit Python verwenden
Einfacher Gesichtserkennungsversuch mit Jetson Nano und Webkamera
Installieren Sie tweepy mit pip und verwenden Sie es für API 1.1
Easy Grad-CAM mit Pytorch-Gradcam
Verwenden Sie mecab-ipadic-neologd mit igo-python
Verwenden Sie RTX 3090 mit PyTorch
Verwenden Sie pipdeptree mit virtualenv
[Python] Verwenden Sie JSON mit Python
Verwenden Sie den Indikator mit pd.merge
Einfach zu bedienende Flasche
Verwenden Sie Mecab mit Python 3
Verwenden Sie Tensorboard mit Chainer
Verwenden Sie SQL Alchemy und Multiprocessing
Verwenden Sie pip mit MSYS2
Verwenden Sie Python 3.8 mit Anaconda
Verwenden Sie Copyright mit Spacemacs
Verwenden Sie Python mit Docker
Verwenden Sie TypeScript mit Django-Kompressor
Verwenden Sie WENIGER mit Django
Einfach zu bedienendes SQLite3
Verwenden Sie MySQL mit Django
Verwenden Sie Enum mit SQLAlchemy
Einfaches Debuggen mit ipdb
Mit und ohne WSGI
Verwenden Sie Tensorboard mit NNabla
Verwenden Sie GPS mit Edison
Einfache TopView mit OpenCV
Verwenden Sie nim mit Jupyter
Einfache Einführung in Home Hack mit Raspberry Pi und discord.py
Ich habe versucht, Follow Management mit Twitter API und Python (einfach)
Reinforcement Learning 23 Erstellen und verwenden Sie Ihr eigenes Modul mit Colaboratory
Lassen Sie uns word2vec mit Chainer verschieben und den Lernfortschritt sehen