Ich möchte MeCab im vorherigen Ablauf stärker nutzen. Es war in der Abteilung zu unterteilt. Verwenden Sie MeCab, um beispielsweise Segmentierung durchzuführen. Ich weiß nicht, dass es Cabocha und KNP gibt (ich sage es noch einmal, ~~ gelber B-Junge ~~ ich möchte MeCab verwenden). Ich verwende keine morphologische Analyse, daher werde ich eine morphologische Analyse versuchen und die angehängten Wörter (Hilfswörter, Hilfsverben) an die vorherigen Wörter anhängen.
Aufgrund der Ergebnisse habe ich MeCab nicht verwendet. Ich entschied, dass Janome prägnanter war, weil ich nur die Oberflächenform und einen Teil des Wortes brauchte. ~~ Ich habe jedoch verschiedene Dinge mit MeCab ausprobiert, den Artikel gelesen, um ihn in DataFrame einzufügen, und er hat sich für Minuten seltsam eingestellt und wurde zu einem Speicherfehler, also hat es mir so gut gefallen ~~ Durch Verketten der Zusätze mit dem folgenden Code betrug die durchschnittliche Länge der geteilten Wörter 2,96 (2,16 in getrennter Schrift).
from janome.tokenizer import Tokenizer
with open("./gennama.txt","r") as f:
data = f.read()
tokenizer = Tokenizer()
tokens = tokenizer.tokenize(data)
surface_list = []
part_of_speech_list = []
for token in tokens:
surface_list.append(token.surface)
part_of_speech_list.append(token.part_of_speech.split(",")[0])
text_data = []
for i in range(len(surface_list)):
if part_of_speech_list[i] == "Symbol":
continue
elif part_of_speech_list[i] == "Partikel" or part_of_speech_list[i] == "Hilfsverb":
row = text_data.pop(-1) + surface_list[i]
else:
row = surface_list[i]
text_data.append(row)
Damit haben wir wie in der vorherigen Zeit bewertet, welche Vokale in den Eingabedaten angeordnet sind, und die Wörter ausgegeben, die sie enthalten. Das Ausgabeergebnis ist mehr als das des separaten Schreibens, es wurde jedoch keine praktische Anwendbarkeit gefunden. Schließlich ist N-Gramm derzeit am besten geeignet, die Wortreihenfolge bleibt erhalten und es wird geteilt, wo es nicht geteilt werden sollte. Wenn Sie es also verbinden, können Sie den Reim erkennen. Beachten Sie, dass es hier ist. Hiragana für Kanji vor N-Gramm ... Wenn Sie Kanji ursprünglich in Lesen umwandeln, wird die Variation von N-Gramm wahrscheinlich zunehmen. ) Verwenden wir MeCab.
import MeCab
with open("./gennama.txt","r") as f:
data = f.read()
yomi_data = ""
mecab = MeCab.Tagger("-Ochasen")
lines = mecab.parse(data).split("\n")
for line in lines:
if line.split("\t")[0] == "EOS":
break
else:
yomi_data += line.split("\t")[1]
"Shitamachi" -> "Tamachi" -> "iaai" und 4 Vokale können durch 4 Buchstaben dargestellt werden. Aber was ist mit dem Fall "Moment" -> "Shunkan" -> "ua"? Zwei Vokale sind durch fünf Buchstaben darzustellen. Wenn Sie es in N Zeichen unterteilen, je nachdem, wie Sie es lesen, können Sie Dinge wie "Tama / Chi" tun, bei denen Sie nur "Shita / Machi" tun können. "Shunkan" wird jedoch nutzlos lang. Verwenden Sie dann N-Gramm, nachdem Sie Vokaldaten erstellt haben? Die Oberflächenebene kann nicht abgerufen werden, selbst wenn den Daten ein Index zugewiesen ist. Es kann nicht gut sein, dass die Folge von "aa" in "Innenstadt" nicht erkannt wird. Ich kann mir nicht sofort einen Verbesserungsplan vorstellen, aber ich möchte hier darüber nachdenken.
Zum einen kann es sinnvoll sein, verschiedene Arten der Wertung hinzuzufügen. Selbst wenn Sie beispielsweise Konsonanten verlassen und diese übereinstimmen, können Sie sie hinzufügen und mehrere Punkte addieren. In diesem Fall scheint es möglich zu sein, den "Kühlschrank" wie (Reizoko, Reizoko) zu behandeln.
Die andere besteht darin, eine Grafik von Wörtern zu zeichnen, die unter Verwendung der Punktzahl an den Kanten in Knoten unterteilt sind. Eigentlich habe ich es versucht, als die Teilungsmethode nur Raumteilung sein konnte, aber es kam nicht so heraus, wie ich es erwartet hatte (vielleicht kommt das Thema zur Vermittlungszentralität?). Ich werde versuchen, networkx
von Grund auf neu zu studieren. (~~ Ich mache mir Sorgen darüber, wann der nächste Beitrag veröffentlicht wird. Als ich jedoch die Suchmaschine studierte und die Summe der PageRank- und Wortdistanzwerte sah, dachte ich, dass dies nützlich sein könnte, also habe ich studiert. Ich werde ~~)
Recommended Posts