[PYTHON] So erstellen Sie mit Elasticsearch unter macOS Sierra schnell eine morphologische Analyseumgebung

Vorbereitung

Das Miso im Vordergrund tut mir leid, aber bitte installieren Sie Jupyter Notebook unter macOS auf der folgenden Seite, da Sie es später benötigen werden. http://qiita.com/mix_dvd/items/d915752215db67919c06

Überprüfen und installieren Sie JAVA

Führen Sie den folgenden Befehl aus, um zu überprüfen, ob er installiert ist.

$ java -version

Wenn es nicht installiert ist, wird der folgende Dialog angezeigt. Klicken Sie auf die Schaltfläche "Detaillierte Informationen ...".

スクリーンショット 2016-07-20 11.23.23.png

http://www.oracle.com/technetwork/java/javase/downloads/index.html

Die obige Website wird angezeigt. Laden Sie das JDK herunter und installieren Sie es.

スクリーンショット 2016-07-20 11.26.24.png

Führen Sie den Befehl nach der Installation erneut aus, um zu bestätigen, dass er installiert ist.

$ java -version
java version "1.8.0_101"
Java(TM) SE Runtime Environment (build 1.8.0_101-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.101-b13, mixed mode)

Installieren Sie Elasticsearch

[Offizielle Website] https://www.elastic.co/jp/products/elasticsearch

Programminstallation

Führen Sie den folgenden Befehl aus

$ curl -O https://download.elastic.co/elasticsearch/release/org/elasticsearch/distribution/zip/elasticsearch/2.3.4/elasticsearch-2.3.4.zip
$ unzip elasticsearch-2.3.4.zip
$ sudo mv elasticsearch-2.3.4 /usr/local/elasticsearch

Version prüfen

$ /usr/local/elasticsearch/bin/elasticsearch --version
Version: 2.3.4, Build: e455fd0/2016-06-30T11:24:31Z, JVM: 1.8.0_101

Plug-In installieren

Führen Sie den folgenden Befehl aus

$ cd /usr/local/elasticsearch
$ bin/plugin install analysis-kuromoji

Anlaufen

Führen Sie den folgenden Befehl aus

$ /usr/local/elasticsearch/bin/elasticsearch

Funktionsprüfung

Starten Sie ein anderes Terminal und führen Sie den folgenden Befehl aus

$ curl localhost:9200

Alternativ können Sie mit einem Webbrowser auf die folgende URL zugreifen

http://localhost:9200

Erfolgreicher Start, wenn die folgende Antwort empfangen wird

{
  "name" : "Akasha",
  "cluster_name" : "elasticsearch",
  "version" : {
    "number" : "2.3.4",
    "build_hash" : "Xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
    "build_timestamp" : "2016-06-30T11:24:31Z",
    "build_snapshot" : false,
    "lucene_version" : "5.5.0"
  },
  "tagline" : "You Know, for Search"
}

Installieren der Bibliothek für Python

Führen Sie den folgenden Befehl aus

$ pip install elasticsearch

Beispielcode ausführen

Speichern Sie den folgenden Code als test.py.

test.py



# coding: utf-8

# # Elasticsearch

# In[1]:

from elasticsearch import Elasticsearch
es = Elasticsearch("localhost:9200")
es


# #Variable Initialisierung

# In[2]:

esIndex = "bot"
esType = "talks"


# #Index hinzufügen

# - curl -X POST http://localhost:9200/bot/talks -d '{"mode":"Schöne Grüße", "words":"Guten Morgen"}'

# In[3]:

es.index(index=esIndex, doc_type=esType, body={"mode":"Schöne Grüße", "words":"Guten Morgen"})


# In[4]:

es.index(index=esIndex, doc_type=esType, body={"mode":"Schöne Grüße", "words":"Hallo"})
es.index(index=esIndex, doc_type=esType, body={"mode":"Schöne Grüße", "words":"Guten Abend"})
es.index(index=esIndex, doc_type=esType, body={"mode":"Schöne Grüße", "words":"Auf Wiedersehen"})
es.index(index=esIndex, doc_type=esType, body={"mode":"Schöne Grüße", "words":"Gute Nacht"})
es.index(index=esIndex, doc_type=esType, body={"mode":"Zitate", "words":"Nichts zu sterben und aufzuheben"})


# #Indexänderung

# - curl -X POST http://localhost:9200/bot/talks?id=AVYGQm6Q8mtRod8eIWiq -d '{"mode":"Schöne Grüße","words":"Gute Nacht"}'
# 
#Aktualisieren, wenn ID vorhanden ist, Hinzufügen, wenn ID nicht vorhanden ist

# In[21]:

es.index(index=esIndex, doc_type=esType, id="AVYGQm6Q8mtRod8eIWiq", body={"mode":"Schöne Grüße", "words":"bis morgen"})


# #Datenerfassung

# - curl -X GET http://localhost:9200/bot/talks/_search?pretty -d '{"query":{"match_all":{}}}'

# In[29]:

res = es.search(index=esIndex, body={"query": {"match_all": {}}})
res


# In[23]:

len(res["hits"]["hits"])

words = []
modes = []

for i in range(len(res["hits"]["hits"])):
    row = res["hits"]["hits"][i]["_source"]
    print(row)
    words.append(row["words"])
    modes.append(row["mode"])


# #Daten löschen

# - curl -X DELETE http://localhost:9200/bot/

# In[8]:

#es.indices.delete(index="bot")


# #Verwendung von Plug-Ins

# -Morphologische Analyse

# In[24]:

text = "Das Wetter ist heute gut, nicht wahr?"


# In[25]:

def analyze(es, text):
    
    params = {"analyzer":"kuromoji"}
    body = {"text":text}
    
    http_status, data = es.indices.client.transport.perform_request(
        'GET',
        '/' + esIndex + '/_analyze',
        params=params,
        body=body
    )

    return map(lambda x: x.get('token'), data.get('tokens')[0:])


# In[26]:

tokens = analyze(es, text)
print(' '.join(tokens))


# In[30]:

for word in words:
    print(' '.join(analyze(es, word)))

Führen Sie den folgenden Befehl aus

$ python test.py

Erfolg, wenn Sie die folgende Antwort erhalten!

{'mode': 'Schöne Grüße', 'words': 'Guten Morgen'}
{'mode': 'Schöne Grüße', 'words': 'Guten Abend'}
{'mode': 'Schöne Grüße', 'words': 'Hallo'}
{'mode': 'Schöne Grüße', 'words': 'Auf Wiedersehen'}
{'mode': 'Schöne Grüße', 'words': 'Gute Nacht'}
{'mode': 'Zitate', 'words': 'Nichts zu sterben und aufzuheben'}
{'mode': 'Schöne Grüße', 'words': 'bis morgen'}
Schönes Wetter heute
Guten Morgen
Guten Abend
Hallo
Auf Wiedersehen
Gute Nacht
Nimm eine tote Leiche
Morgen

Nun, was machen wir jetzt (^ _ ^;)

Nachtrag

Oh, ich habe Jupyter Notebook nicht benutzt (Schweiß)

Recommended Posts

So erstellen Sie mit Elasticsearch unter macOS Sierra schnell eine morphologische Analyseumgebung
Schnelle Schritte zum Erstellen einer maschinellen Lernumgebung mit Jupyter Notebook unter macOS Sierra mit anaconda
So erstellen Sie schnell eine maschinelle Lernumgebung mit Jupyter Notebook mit UbuntuServer 16.04 LTS
So erstellen Sie schnell eine maschinelle Lernumgebung mit Jupyter Notebook mit UbuntuServer 16.04 LTS mit anaconda
So erstellen Sie eine Python-Umgebung mit Virtualenv unter Ubuntu 18.04 LTS
So installieren Sie cx_Oracle unter macOS Sierra
[Hinweis] So erstellen Sie eine Ruby-Entwicklungsumgebung
[Hinweis] So erstellen Sie eine Mac-Entwicklungsumgebung
So richten Sie eine Python-Umgebung mit pyenv ein
So erstellen Sie eine Django (Python) -Umgebung auf Docker
Erstellen Sie eine Python-Entwicklungsumgebung mit pyenv unter MacOS
[Morphologische Analyse] So fügen Sie Mecab ein neues Wörterbuch hinzu
So erstellen Sie eine Python-Umgebung unter Amazon Linux 2
So stellen Sie pyenv unter Amazon Linux und Ubuntu ein, um eine Python 3.6.0-Umgebung zu erstellen
Schritte zum schnellen Erstellen einer umfassenden Lernumgebung auf einem Mac mit TensorFlow und OpenCV
Erstellen Sie mit macOS sierra eine Python-Lernumgebung für maschinelles Lernen
Ein Hinweis zur einfachen Vorbereitung einer Linux-Übungsumgebung
So erstellen Sie eine neue virtuelle Python-Umgebung unter Ubuntu
Hinweise zum Laden einer virtuellen Umgebung mit PyCharm
So richten Sie WSL2 unter Windows 10 ein und erstellen eine Lernumgebung für Linux-Befehle
Erstellen Sie eine Python-Umgebung auf dem Mac (2017/4)
So erstellen Sie ein Conda-Paket
So installieren Sie das Graph-Tool unter macOS
So erstellen Sie eine virtuelle Brücke
Erstellen Sie eine Linux-Umgebung unter Windows 10
Erstellen Sie eine Python-Umgebung in Centos
Wie erstelle ich eine Docker-Datei?
So erstellen Sie eine Konfigurationsdatei
Ich habe versucht, eine Serverumgebung zu erstellen, die unter Windows 10 ausgeführt wird
Hinweise zum Erstellen einer LAMP-Umgebung mit Vagrant und VirtulBox
So erstellen Sie mit Faker eine CSV-Dummy-Datei mit Japanisch
Vom Aufbau der PyCUDA-Umgebung bis zur GPGPU-Programmierung auf dem Mac (MacOS 10.12 Sierra)
So erstellen Sie einen Klon aus Github
So erstellen Sie einen Git-Klonordner
So zeichnen Sie ein Diagramm mit Matplotlib
Erstellen Sie eine Python-Umgebung unter MacOS (Catallina)
So erstellen Sie eine NVIDIA Docker-Umgebung
Erstellen Sie eine Python-Umgebung auf Ihrem Mac
[Python] Erstellen Sie eine Stapelumgebung mit AWS-CDK
Vorgehensweise zum Erstellen einer virtuellen Python-Umgebung mit VS-Code unter Windows
So installieren Sie ein Paket mithilfe eines Repositorys
[Entwicklungsumgebung] So erstellen Sie einen Datensatz in der Nähe der Produktionsdatenbank
So erstellen Sie ein Repository aus Medien
So testen Sie auf einer von Django authentifizierten Seite
[2020 Version Mac Migration] Migration zu MacOS 10.15 Catarina Erstellen Sie eine Arbeitsumgebung von Grund auf ohne Verwendung eines Assistenten (CUI Edition)
[19.11.2015] So registrieren Sie einen Dienst lokal mit dem Python SDK bei naoqi os
So erstellen Sie eine Umgebung für die Verwendung mehrerer Python-Versionen auf einem Mac
So führen Sie eine Django-Anwendung auf einem Docker-Container aus (Entwicklungs- und Produktionsumgebung)
[Python] So erstellen Sie eine lokale Webserverumgebung mit SimpleHTTPServer und CGIHTTPServer
Freigeben einer virtuellen Umgebung [Informationen zu den Anforderungen.txt]
So codieren Sie eine Drohne mithilfe der Bilderkennung
So erstellen Sie ein Funktionsobjekt aus einer Zeichenfolge
[Neueste] So erstellen Sie eine Java-Umgebung unter Ubuntu
So erstellen Sie eine JSON-Datei in Python
So installieren Sie h5py schnell unter Windows 10 [Inoffiziell]
[Venv] Erstellen Sie eine virtuelle Python-Umgebung unter Ubuntu
Versuchen Sie, einen neuen Befehl unter Linux zu erstellen
Wie man mit 2017 Windows ein anständiges Leben führt
So erstellen Sie ein 1-zeiliges Kivy-Eingabefeld