Ich werde eine detaillierte Erklärung zum Tod schreiben, während ich 100 Python für die Verarbeitung natürlicher Sprache 2020 mit Python löse

Ich werde jede Funktion so detailliert schreiben, dass sie stirbt. Ich werde auch schreiben, welche Art von Idee zu einem solchen Code geführt hat: Faust:

Kapitel 1 Vorbereitungsbewegung

00 Reihenfolge der Zeichenfolgen in umgekehrter Reihenfolge

str = "stressed"
reverse_str = str[::-1]
print(reverse_str)

Kommentar Das Wissen über "Slices" wird bei diesem Problem verwendet. Slice ist ein Mechanismus, der einen Teil einer Sequenz (Zeichenfolge, Liste, Tapple usw.) ausschneidet und eine Kopie zurückgibt.

str[n] #Extrahieren Sie das n-te Zeichen von str
str[start:stop:step] 

#start...Von welcher Nummer?
#stop...Endpunkt(+Geben wir einen Wert von 1 an!)
#step...Wie viele Stücke überspringst du?

01 "Patatokukashi"

str = "Patatoku Kashii"
print(str[1::2])

Kommentar: Sie können das in 00 erhaltene Slice-Wissen verwenden. str [Vom ersten Zeichen: (Da es leer ist, bis zum Ende): Überspringen 2] Wenn im Slice kein Wert eingegeben wird, wird dies als Ende interpretiert.

02 "Pat car" + "Tax" = "Patatokukasie"

str1 = "Pat Auto"
str2 = "Taxi"
ans = ""
for i in range(len(str1)):
   ans += str1[i]
   ans += str2[i]

print(ans)

Kommentar: range () ... Erstellt ein Bereichstypobjekt mit aufeinanderfolgenden numerischen Werten von der Startnummer bis zur Endnummer, die im Argument als Elemente angegeben ist. Das Format der Bereichsfunktion ist wie folgt.

range(stop)
range(start, stop[,step])

range(5)
--> 0 1 2 3 4

range(0, 5)
--> 0 1 2 3 4

range(4,7)
--> 4 5 6

range(0, 5, 1)
--> 0 1 2 3 4

range(0, 10, 2)
--> 0 2 4 6 8

03 Umfangsrate

str = "Now I need a drink, alcoholic of course, after the heavy lectures involving quantum mechanics."
ans = str.replace(",","").replace(".", "").split(" ")
print(ans)

Kommentar: Sie müssen lediglich replace () und split () verstehen. Funktion ersetzen .... ersetzen ("Zeichenfolge, die Sie entfernen möchten", "was zu ersetzen ist") split function .... split ("Warum den ganzen Satz teilen") → Liste wird zurückgegeben

s = 'one two one two one'

print(s.replace(' ', '-'))
====> one-two-one-two-one

print(s.split(" "))
====> ['one', 'two', 'one', 'two', 'one']

04 Elementsymbol

#Eine Funktion, die bestimmt, ob das erste Zeichen oder die ersten beiden Zeichen abgerufen werden sollen
def extWord(i, word):
  if i in [1,5,6,7,8,9,15,16,19]
    return (word[0], i)
  else:
    return (word[:2], i)

str = 'Hi He Lied Because Boron Could Not Oxidize Fluorine. New Nations Might Also Sign Peace Security Clause. Arthur King Can.'
text = str.replace('.', '').replace(',' '')
ans = []

Kommentar: Zunächst eine Erläuterung der Aufzählungsfunktion ... Eine Funktion, mit der der Elementindex und das Element gleichzeitig abgerufen werden können. Wird oft für Anweisungen verwendet. enumerate(iterable, start)

x = ['a','b','c','d','e','f','g','h']
for a,b in enumerate(x):
    print(a,b, end=" ")

==========> 0 a 1 b 2 c 3 d 4 e 5 f 6 g 7 h
#Der Index wird der ersten Variablen und das Element der zweiten Variablen zugewiesen.

Erklärung zu extWord (): Nach Index klassifizieren → Die Idee, die Aufzählungsfunktion zu verwenden. Wenn Sie die Aufzählungsfunktion verwenden möchten, geben Sie das Argument so an, dass es zu extWord ('index', 'element') wird. Der Rest ist nur eine bedingte Verzweigung mit der if-Anweisung. Erklärung zu ans = [extWord (i, w) für i, w in enumerate (text.split ())]: Wenn Sie es zum ersten Mal sehen, erhalten Sie wahrscheinlich "Was?". Dies ist jedoch eine Liste. Die folgenden beiden Notationen ergeben das gleiche Ergebnis

ans = [extWord(i, w) for i, w in enumerate(text.split())]

ans = []
for i, w in enumerate(text.split()):
  ans.append = extWord(i, w)

Erklärung zu dict (): dict () ist eine integrierte Funktion, die das, was Sie in das Argument eingegeben haben, in einen Wörterbuchtyp umwandelt 05 n-gram Zunächst werde ich erklären, was n-Gramm ist.

Was ist n-Gramm?

Kurz gesagt, "n-Gramm" repräsentiert eine Gruppe von n aufeinanderfolgenden Wörtern oder Buchstaben. Schauen wir uns ein konkretes Beispiel an!

Polizeikasten vor dem Kameari Park, Katsushika Ward
Diese 1-In Gramm
['Dies', 'Chi', 'Et al.', 'Kuzu', 'Dekoration', 'Station', 'Schildkröte', 'Ja', 'Öffentlichkeit', 'Garten', 'Bisherige', 'Fraktion', 'aus', 'Platz']
2-gram
['Hier', 'Blick', 'Kuzu', 'Katsushika', 'Dekorativer Bereich', 'Ward Schildkröte', 'Kameari', 'Öffentlichkeit', 'Park', 'Vor dem Garten', 'Ehemalige Fraktion', 'Versand', 'Quelle']
3-gram
['Hier', 'Chirakuzu', 'Katsushika', 'Katsushika', 'Zierschildkröte', 'Ward Kameari', 'Kameari', 'Ja Park', 'Vor dem Park', 'Sonomae-Fraktion', 'Vorheriger Versand', 'Polizeistation']

Basierend auf

def n_gram(target, n):
  return [target[index: index + n] for index in range(len(target) - n + 1)]

str = 'I am an NLPer'
for i in range(1,4)
  print(n_gram(str, i))
  print(n_gram(str.split(' '), i))

Kommentar:

def n_gram(target, n):
  return [target[index: index + n] for index in range(len(target) - n + 1)]

Ich spreche endlich darüber. n_gram ('gewünschte Zeichenkette', welches Gramm möchten Sie?) Die Liste enthält 2 Zeilen

list = [target[index: index + n] for index in range(len(target) - n + 1)]

list = []
for index in range(len(target) - n + 1) #Ich möchte die Rückseite angeben. Das heißt, wenn es kleiner als die letzten n Zeichen wird, kann es nicht durchgeführt werden, also hören Sie dort auf
 list.append(target[index: index + n])

Es ist leicht zu verstehen, dass die Liste enthalten ist, wenn sie durch einen normalen Satz geheilt ist.

06 eingestellt

def n_gram(target, n):
    return {target[idx:idx + n] for idx in range(len(target) - n + 1)}

str1 = "paraparaparadise"
str2 = "paragraph"

X = n_gram(str1, 2)
Y = n_gram(str2, 2)

#Summensatz von X und Y.
union_set = X | Y # X.union(Y)Aber ja
print(union_set)
#Produktset
intersection_set = X & Y # X.intersection(Y)Aber ja
print(intersection_set)
#Differenz gesetzt
difference_set = X - Y # X.difference(Y)Aber ja
print(difference_set)
#Ist se in X und Y enthalten
print('se' in (X & Y))

Es gibt nichts Besonderes zu erklären. Ich hoffe, Sie können es verstehen, wenn Sie die Kommentare lesen.

07 Anweisungsgenerierung in Vorlage

def make_sentence(x, y, z):
    sentence = str(x) + "von Zeit" + y + "Ist" + str(z)
    return sentence

print(make_sentence(12, "Temperatur", 22.4))

Auch dafür gibt es keine besondere Erklärung.

08 Kryptographie

def cipher(sentence):
    sentence = [chr(219 - ord(x)) if x.islower() else x for x in sentence]
    return ''.join(sentence)

x = 'Hey! Are ready ?? 123456'
print('Klartext', x)
x = cipher(x)
print('Geheimtext', x)
x = cipher(x)
print('Entschlüsselter Text', x)

Kommentar: Heilen Sie zunächst die Listeneinbeziehung mit einem normalen Satz

def cipher(sentence):
  sentence = [chr(219 - ord(x)) if x.islower() else x for x in sentence]
  return ''.join(sentence)
#Zwei sind gleich
def chiper(sentence):
  sentence = []
  for x in sentence:
    if x.islower:
      sentence.append(char(219 - ord(x)))
    else:
      sentence.append(x)
  return ''.join(sentence)

Erklärung zu islower (): islower-Funktion ... Gibt True zurück, wenn alle alphabetischen Zeichen niedriger sind, andernfalls False. Erklärung zu join (): join ist eine Methode von str, die iterable mit einem String verbindet

list = ['a','b','c','d','e,'f]
x = ''.join(list)
====> abcdef
x = ','.join(list)
====> a,b,c,d,e,f

Erklärung der Verschlüsselung / Entschlüsselung: Achten Sie auf den Teil chr (219-ord (x)). Beachten Sie, dass der x-Wert von chr (x) zum ursprünglichen Wert zurückkehrt, wenn Sie dies zweimal tun. Lassen Sie uns tatsächlich Ihre Lieblingsnummer eingeben!

Recommended Posts

Ich werde eine detaillierte Erklärung zum Tod schreiben, während ich 100 Python für die Verarbeitung natürlicher Sprache 2020 mit Python löse
[Python] Ich habe mit der Verarbeitung natürlicher Sprache ~ Transformatoren ~ gespielt
Ich möchte mit Python in eine Datei schreiben
3. Verarbeitung natürlicher Sprache mit Python 1-2. So erstellen Sie einen Korpus: Aozora Bunko
100 Sprachverarbeitungsklopfen mit Python 2015
Die erste künstliche Intelligenz. Ich wollte die Verarbeitung natürlicher Sprache ausprobieren, daher werde ich die morphologische Analyse mit MeCab mit Python3 versuchen.
100 Sprachverarbeitungsklopfen mit Python (Kapitel 1)
100 Sprachverarbeitungsklopfen mit Python (Kapitel 3)
100 Sprachverarbeitungsklopfen mit Python (Kapitel 2, Teil 2)
3. Verarbeitung natürlicher Sprache durch Python 2-1. Netzwerk für das gleichzeitige Auftreten
3. Verarbeitung natürlicher Sprache durch Python 1-1. Word N-Gramm
Ich habe eine funktionale Sprache mit Python ausprobiert
100 Sprachverarbeitungsklopfen mit Python (Kapitel 2, Teil 1)
Ich habe versucht, natürliche Sprache mit Transformatoren zu verarbeiten.
3. Verarbeitung natürlicher Sprache durch Python 2-2. Koexistenznetzwerk [mecab-ipadic-NEologd]
Python unerfahrene Person versucht, 100 Sprachverarbeitung 14-16 zu klopfen
Ich möchte ein Spiel mit Python machen
Python unerfahrene Person versucht, 100 Sprachverarbeitung 07-09 zu klopfen
Python unerfahrene Person versucht, 100 Sprachverarbeitung 10 ~ 13 zu klopfen
Python unerfahrene Person versucht, 100 Sprachverarbeitung 05-06 zu klopfen
Python unerfahrene Person versucht, 100 Sprachverarbeitung 00-04 zu klopfen
Ich habe versucht, mit der Bibliothek GiNZA zur Verarbeitung natürlicher Sprache eindeutige Ausdrücke zu extrahieren
Ich habe versucht, Mr. Hanyu und Mr. Hanyu mit dem Verarbeiter der Verarbeitung natürlicher Sprache × Naive Bayes zu klassifizieren
Python: Verarbeitung natürlicher Sprache
Ich möchte in Python schreiben! (2) Schreiben wir einen Test
[Kapitel 5] Einführung in Python mit 100 Klopfen Sprachverarbeitung
Erstellen einer Umgebung für die Verarbeitung natürlicher Sprache mit Python
Ich möchte mit einem Roboter in Python arbeiten.
[Kapitel 3] Einführung in Python mit 100 Klopfen Sprachverarbeitung
[Python] Ein Memo zum vertikalen Schreiben von CSV mit Pandas
[Kapitel 2] Einführung in Python mit 100 Klopfen Sprachverarbeitung
Nachdem ich 2015 100 Sprachverarbeitungsklopfen gemacht hatte, bekam ich viele grundlegende Python-Fähigkeiten, Kapitel 1
Ich möchte einen Quantencomputer mit Python betreiben
[Kapitel 4] Einführung in Python mit 100 Klopfen Sprachverarbeitung
Verwenden Sie die Swagger-Benutzeroberfläche. Wenn Sie einen Swagger-UI-ähnlichen Stil wünschen, kopieren Sie einfach die gesamte Datei unter / dist unter https://github.com/swagger-api/swagger-ui. Danach schreiben Sie einfach hier in index.html die URL der yml-Datei um. Wenn Sie der Meinung sind, dass Sie @ApiModel oder @ApiModelProperty nicht finden können, wurden übrigens anscheinend alle Anmerkungen zur Schemadefinition in @Schema integriert. Emotionsanalyse mit Java, Swagger, OpenAPI, Micronaut Natural Language Processing! Ich habe versucht, die Bewertung anhand des Überprüfungstextes vorherzusagen
[Übung] Erstellen Sie eine Watson-App mit Python! # 3 [Klassifizierung der natürlichen Sprache]
Ich habe ein Paket erstellt, um Zeitreihen mit Python zu filtern
Ich habe schnell ein Programm geschrieben, um DI mit Python zu lernen
Ich habe versucht, in einem tief erlernten Sprachmodell zu schreiben
So schreiben Sie offline in Echtzeit Lösen von E05-Problemen mit Python
100 Sprachverarbeitung Knock Kapitel 1 (Python)
Schreiben Sie mit Python in csv
Ich habe versucht, 100 Sprachverarbeitung klopfen 2020
Lösen von 100 Sprachverarbeitungsklopfen 2020 (01. "Patatokukashi")
[5.] Ich habe versucht, mit Python ein bestimmtes Authenticator-ähnliches Tool zu erstellen
Ich habe eine Bibliothek erstellt, die Konfigurationsdateien mit Python einfach lesen kann
Ich möchte einen Platzhalter verwenden, den ich mit Python entfernen möchte
[2nd] Ich habe versucht, mit Python ein bestimmtes Authenticator-ähnliches Tool zu erstellen
[Python] Ein Memo, das ich versucht habe, mit Asyncio zu beginnen
Ich habe versucht, die Version 2020 mit 100 Sprachverarbeitung zu lösen [Kapitel 2: UNIX-Befehle 10-14]
Erstellen Sie mit BERT + LightGBM + optuna ganz einfach ein Modell für die Verarbeitung natürlicher Sprache
Ich habe versucht, mit Python eine Liste von Primzahlen zu erstellen