Sprachverarbeitung 100 Klopfen 2015 ["Kapitel 6: Englische Textverarbeitung"](http: //www.cl.ecei) Es ist eine Aufzeichnung von 52. "Stemming" von .tohoku.ac.jp / nlp100 / # ch6). ** Stemming, das Sie häufig in der Sprachverarbeitung verwenden werden **. Es wird tatsächlich im maschinellen Lernklopfen von [71. nachfolgendes Klopfen] verwendet (https://qiita.com/FukuharaYohei/items/60719ddaa47474a9d670). Es ist technisch sehr einfach, weil Sie nur die Funktion aufrufen.
Verknüpfung | Bemerkungen |
---|---|
052.Stemming.ipynb | Antwortprogramm GitHub Link |
100 Klicks Amateur-Sprachverarbeitung:52 | Kopieren Sie die Quelle vieler Quellteile und fügen Sie sie ein |
Art | Ausführung | Inhalt |
---|---|---|
OS | Ubuntu18.04.01 LTS | Es läuft virtuell |
pyenv | 1.2.16 | Ich benutze pyenv, weil ich manchmal mehrere Python-Umgebungen benutze |
Python | 3.8.1 | python3 auf pyenv.8.Ich benutze 1 Pakete werden mit venv verwaltet |
In der obigen Umgebung verwende ich die folgenden zusätzlichen Python-Pakete. Einfach mit normalem Pip installieren. Dieses Mal habe ich das durch Klopfen angegebene stemming-Paket nicht verwendet. Es wurde seit 2010 nicht mehr aktualisiert und jetzt scheint "nltk" häufiger zu sein.
Art | Ausführung |
---|---|
nltk | 3.4.5 |
Ein Überblick über verschiedene grundlegende Technologien für die Verarbeitung natürlicher Sprache durch englische Textverarbeitung mit Stanford Core NLP.
Stanford Core NLP, Stemming, Teilwort-Tagging, Extraktion eindeutiger Ausdrücke, Co-Referenzanalyse, Abhängigkeitsanalyse, Klauselstrukturanalyse, S-Ausdruck
Führen Sie die folgende Verarbeitung für den englischen Text durch (nlp.txt).
Nehmen Sie die Ausgabe> 51 als Eingabe, wenden Sie den Stemming-Algorithmus von Porter an und geben Sie Wörter und Stems in tabulatorgetrennten Formaten aus. Verwenden Sie in Python das Modul stemming als Implementierung des Stemming-Algorithmus von Porter.
"Stemming" ist der Stamm, der sich auf den unveränderlichen vorderen Teil eines Wortes bezieht (z. B. ist Natural's Stemming Natur). Stemming wird später in [71st] verwendet (https://qiita.com/FukuharaYohei/items/60719ddaa47474a9d670). Es gibt verschiedene Arten von "Stemming", und dieses Mal verwende ich Porters Algorithmus (dies scheint berühmt zu sein). Wenn Sie mehr wissen möchten, überprüfen Sie es bitte durch Google.
import re
from nltk.stem.porter import PorterStemmer as PS
ps = PS()
with open('./051.result.txt') as file_in, \
open('./052.result.txt', 'w') as file_out:
for token in file_in:
if token != '\n':
print(token.rstrip(), '\t', ps.stem(token.rstrip()), file=file_out)
Das Programm ist zu kurz, um es zu erklären. Sie können mit "ps.stem ()" aufhalten, und es ist sehr einfach aufzurufen.
Wenn das Programm ausgeführt wird, wird das folgende Ergebnis ausgegeben (Auszug aus den ersten 30 Zeilen).
text:052.result.txt(Auszug aus den ersten 30 Zeilen)
Natural natur
language languag
processing process
From from
Wikipedia wikipedia
the the
free free
encyclopedia encyclopedia
Natural natur
language languag
processing process
(NLP) (nlp)
is is
a a
field field
of of
computer comput
science scienc
artificial artifici
intelligence intellig
and and
linguistics linguist
concerned concern
with with
the the
interactions interact
between between
computers comput
and and
human human
Recommended Posts