"[Knock 100-Sprachverarbeitung](http: //www.cl.ecei), veröffentlicht im Inui / Okazaki Laboratory der Tohoku University .tohoku.ac.jp / nlp100 /) “ist bekannt als eine Sammlung von Problemen für Studenten und berufstätige Erwachsene, die Sprachverarbeitung studieren.
Ich bin also auch ein Student der Tohoku-Universität. Obwohl mein Hauptfach anders ist, habe ich [Knock 100-Sprachverarbeitung] ausprobiert (http://www.cl.ecei.tohoku.ac.jp/nlp100/).
Holen Sie sich eine Zeichenfolge, in der die Zeichen der Zeichenfolge "betont" umgekehrt angeordnet sind (vom Ende bis zum Anfang).
words = "stressed"
print(words[::-1])
[Ergebnis] desserts
Nehmen Sie das 1., 3., 5. und 7. Zeichen der Zeichenkette "Patatokukashi" heraus und erhalten Sie die verkettete Zeichenkette.
words = "Patatoku Kashii"
print(words[::2])
[Ergebnis] Pat Auto
Erhalten Sie die Zeichenkette "Patatokukashi", indem Sie die Zeichen "Pattocar" + "Tax" von Anfang an abwechselnd verbinden.
word1 = "Pat Auto"
word2 = "Taxi"
for i in range(4):
print(word1[i]+word2[i],end="")
[Ergebnis] Patatoku Kashii
Zerlegen Sie den Satz „Jetzt brauche ich nach den schweren Vorlesungen über Quantenmechanik einen Alkoholiker.“ In Wörter und erstellen Sie eine Liste der Anzahl der (alphabetischen) Zeichen in jedem Wort in der Reihenfolge ihres Auftretens.
PI = "Now I need a drink, alcoholic of course, after the heavy lectures involving quantum mechanics."
PI = PI.replace('.','')
PI = PI.replace(',','')
PI = PI.split()
ans = [len(num) for num in PI]
ans
[Ergebnis] [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5, 8, 9, 7, 9]
Brechen Sie den Satz "Hi He Lied, weil Bor Fluor nicht oxidieren konnte. Neue Nationen könnten auch die Friedenssicherheitsklausel unterzeichnen. Arthur King Can." In die Wörter 1, 5, 6, 7, 8, 9, 15, 16 auf. Das 19. Wort ist das erste Zeichen, und die anderen Wörter sind die ersten beiden Zeichen. Erstellen.
element = "Hi He Lied Because Boron Could Not Oxidize Fluorine. New Nations Might Also Sign Peace Security Clause. Arthur King Can."
dict = {}
list = [1,5,6,7,8,9,15,16,19]
for i,j in enumerate(element.split()):
if i+1 in list:
dict[i+1] = j[0]
else:
dict[i+1] = j[0:2]
print(dict)
[Ergebnis] {1: 'H', 2: 'He', 3: 'Li', 4: 'Be', 5: 'B', 6: 'C', 7: 'N', 8: 'O', 9: 'F', 10: 'Ne', 11: 'Na', 12: 'Mi', 13: 'Al', 14: 'Si', 15: 'P', 16: 'S', 17: 'Cl', 18: 'Ar', 19: 'K', 20: 'Ca'}
Erstellen Sie eine Funktion, die aus einer bestimmten Sequenz (Zeichenfolge, Liste usw.) ein n-Gramm erstellt. Verwenden Sie diese Funktion, um das Wort Bi-Gramm und den Buchstaben Bi-Gramm aus dem Satz "Ich bin ein NLPer" zu erhalten.
def n_gram(target, n):
result = []
for i in range(len(target) - n + 1):
result.append(target[i:i + n])
return result
target = "I am an NLPer"
words_target = target.split()
print("[Wort bi-gram]")
print(n_gram(words_target, 2))
print("[Zeichen bi-gram]")
print(n_gram(target, 2))
[Ergebnis] [Wort Bi-Gramm] [['I', 'am'], ['am', 'an'], ['an', 'NLPer']] [Zeichen Bi-Gramm] ['I ', ' a', 'am', 'm ', ' a', 'an', 'n ', ' N', 'NL', 'LP', 'Pe', 'er']
Suchen Sie den in "paraparaparadise" und "Absatz" enthaltenen Satz von Zeichen-Bi-Gramm als X bzw. Y und suchen Sie die Summen-, Produkt- und Differenzsätze von X bzw. Y. Finden Sie außerdem heraus, ob das Bi-Gramm in X und Y enthalten ist.
def n_gram(target, n):
result = []
for i in range(0,len(target) - n + 1):
result.append(target[i:i + n])
return result
text_x = "paraparaparadise"
text_y = "paragraph"
set_x = set(n_gram(text_x, 2))
set_y = set(n_gram(text_y, 2))
print("X:",end="")
print(set_x)
print("Y:",end="")
print(set_y)
print("----")
print("[Summensatz]")
# print(set_x | set_y)Aber ok
print(set_x.union(set_y))
print("[Produktset]")
# print(set_x & set_y)Aber ok
print(set_x.intersection(set_y))
print("[Differenz gesetzt]")
# print(set_x - set_y)Aber ok
print(set_x.difference(set_y))
print("----")
print("se in X: ",end="")
print('se' in set_x)
print("se in Y: ",end="")
print('se' in set_y)
[Ergebnis] X:{'ar', 'ap', 'ad', 'di', 'ra', 'pa', 'se', 'is'} Y:{'ar', 'ap', 'ag', 'gr', 'ph', 'ra', 'pa'} ---- [Summensatz] {'ar', 'ap', 'ag', 'ad', 'gr', 'ph', 'di', 'ra', 'pa', 'se', 'is'} [Produktset] {'pa', 'ar', 'ap', 'ra'} [Differenz gesetzt] {'is', 'ad', 'di', 'se'} ---- se in X: True se in Y: False
Implementieren Sie eine Funktion, die die Argumente x, y, z verwendet und die Zeichenfolge "y bei x ist z" zurückgibt. Setzen Sie außerdem x = 12, y = "Temperatur", z = 22,4 und überprüfen Sie das Ausführungsergebnis.
def createSentence(x,y,z):
print("{}von Zeit".format(x) + y + "Ist{}".format(z))
createSentence(12,"Temperatur",22.4)
[Ergebnis] Die Temperatur um 12:00 Uhr beträgt 22,4
Implementieren Sie die Funktionsverschlüsselung, die jedes Zeichen der angegebenen Zeichenfolge mit den folgenden Spezifikationen konvertiert.
- Durch Kleinbuchstaben ersetzen (219 - Zeichencode)
- Andere Zeichen so ausgeben, wie sie sind Verwenden Sie diese Funktion, um englische Nachrichten zu verschlüsseln / entschlüsseln.
def cipher(s):
result =''
for i in s:
if i.islower():
result += chr(219-ord(i))
else:
result += i
return result
text = "Man is but a reed, the most feeble thing in the nature, but he is a thinking reed. "
cipher(text)
[Ergebnis] 'Mzm rh yfg z ivvw, gsv nlhg uvvyov gsrmt rm gsv mzgfiv, yfg sv rh z gsrmprmt ivvw. '
Erstellen Sie ein Programm, das die Reihenfolge der anderen Zeichen zufällig neu anordnet, wobei das erste und das letzte Zeichen jedes Wortes für die Wortfolge durch Leerzeichen getrennt bleiben. Wörter mit einer Länge von 4 oder weniger werden jedoch nicht neu angeordnet. Geben Sie einen geeigneten englischen Satz ein (zum Beispiel: "Ich konnte nicht glauben, dass ich tatsächlich verstehen konnte, was ich las: die phänomenale Kraft des menschlichen Geistes.") Und überprüfen Sie das Ausführungsergebnis.
import random
def typoglycemia(target):
res = []
for s in target.split():
if len(s) < 5:
res.append(s)
else:
head = s[0]
tail = s[-1]
inner = list(s[1:-1])
random.shuffle(inner)
res.append(head+"".join(inner)+tail)
return " ".join(res)
target = "I couldn't believe that I could actually understand what I was reading : the phenomenal power of the human mind ."
print(typoglycemia(target))
[Ergebnis] I cud'lont bivleee that I colud aaclutly unnsetadrd what I was rindaeg : the phnomeneal pwoer of the human mind .
Bitte weisen Sie auf Fehler hin. Ich werde es reparieren.
Recommended Posts