[PYTHON] 100 Sprachverarbeitungsklopfen 03 ~ 05

nlp03.py


#! usr/bin/env python
from collections import Counter 
str = 'Now I need a drink, alcoholic of course, after the heavy lectures involving quantum mechanics'
li = []
count = Counter(map(len,str.split())).most_common()
for i in range(len(count)):
    li.append(count[i][0])
print(li)

Ausführungsergebnis [9, 1, 3, 5, 7, 2, 4, 6, 8]

Ich wusste nicht, wie ich es implementieren sollte, ohne eine for-Schleife zu verwenden.

nlp03re.py


#!usr/bin/env python
seq = "Now I need a drink, alcoholic of course, after the heavy lectures involving quantum mechanics."
seq = seq.replace(",","").replace(".","")
words = seq.split()
count =[]
for i in words:
    count.append(len(i))
print count 

Ausführungsergebnis [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5, 8, 9, 7, 9]

Es wurde das Umfangsverhältnis. Ich denke, es gibt einen besseren Weg, den Teil zu schreiben, der "," und "." Weglässt, aber ...

nlp04.py


#!usr/bin/env python
str = "Hi He Lied Because Boron Could Not Oxidize Fluorine. New Nations Might Also Sign Peace Security Clause. Arthur King Can."
number = [1, 5, 6, 7, 8, 9, 15, 16, 19]
dict = {}
strsp = str.split()
for i in range(len(strsp)):
    word = strsp[i]
    if i in number:
        dict[word[0:2]] = i
    else:
        dict[word[0:1]] = i
print(dict)

Ausführungsergebnis {'A': 17, 'B': 4, 'Co': 5, 'No': 6, 'H': 0, 'K': 18, 'Cl': 16, 'M': 11, 'L': 2, 'Ne': 9, 'P': 14, 'S': 13, 'Ox': 7, 'N': 10, 'Fl': 8, 'Ca': 19, 'Se': 15, 'He': 1}

nlp04.py


#!usr/bin/env python
str = "Hi He Lied Because Boron Could Not Oxidize Fluorine. New Nations Might Also Sign Peace Security Clause. Arthur King Can."
number = [1, 5, 6, 7, 8, 9, 15, 16, 19]
dict = {}
words = str.replace(","," ").replace("."," ").split()
for (i,word) in enumerate(words,1):
    if i in number:
        dict[word[0:1]] = i
    else:
        dict[word[0:2]] = i
print(dict)

Ausführungsergebnis {'Be': 7, 'C': 5, 'B': 5, 'Ca': 3, 'F': 8, 'S': 8, 'H': 2, 'K': 4, 'Al': 4, 'Mi': 5, 'Ne': 3, 'O': 7, 'Li': 4, 'P': 5, 'Si': 4, 'Ar': 6, 'Na': 7, 'N': 3, 'Cl': 6, 'He': 2}

05. n-gram 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.

nlp05.py


#! usr/bin/env python
def word_ngram(n,seq):
    li = []
    for i in range(len(seq.split())+1-n):
        li.append(seq.split()[i:i+n])
    return li
def char_ngram(n,seq):
    li = []
    for i in range(len(seq)):
        li.append(seq[i:i+n])
    return li
str = "I am an NLPer"
print(word_ngram(2,str))
print(char_ngram(2,str))

Ausführungsergebnis [['I', 'am'], ['am', 'an'], ['an', 'NLPer']] ['I ', ' a', 'am', 'm ', ' a', 'an', 'n ', ' N', 'NL', 'LP', 'Pe', 'er', 'r']

Das Zeichen Bigram betrachtet ein Leerzeichen als ein Zeichen.

Recommended Posts

100 Sprachverarbeitungsklopfen 03 ~ 05
100 Sprachverarbeitungsklopfen (2020): 40
100 Sprachverarbeitungsklopfen (2020): 32
100 Sprachverarbeitungsklopfen (2020): 35
100 Sprachverarbeitungsklopfen (2020): 47
100 Sprachverarbeitungsklopfen (2020): 39
100 Sprachverarbeitungsklopfen (2020): 22
100 Sprachverarbeitungsklopfen (2020): 26
100 Sprachverarbeitungsklopfen (2020): 34
100 Sprachverarbeitungsklopfen (2020): 42
100 Sprachverarbeitungsklopfen (2020): 29
100 Sprachverarbeitungsklopfen (2020): 49
100 Sprachverarbeitungsklopfen 06 ~ 09
100 Sprachverarbeitungsklopfen (2020): 43
100 Sprachverarbeitungsklopfen (2020): 24
100 Sprachverarbeitungsklopfen (2020): 45
100 Sprachverarbeitungsklopfen (2020): 10-19
100 Sprachverarbeitungsklopfen (2020): 30
100 Sprachverarbeitungsklopfen (2020): 00-09
100 Sprachverarbeitungsklopfen (2020): 31
100 Sprachverarbeitungsklopfen (2020): 48
100 Sprachverarbeitungsklopfen (2020): 44
100 Sprachverarbeitungsklopfen (2020): 41
100 Sprachverarbeitungsklopfen (2020): 37
100 Sprachverarbeitungsklopfen (2020): 25
100 Sprachverarbeitungsklopfen (2020): 23
100 Sprachverarbeitungsklopfen (2020): 33
100 Sprachverarbeitungsklopfen (2020): 20
100 Sprachverarbeitungsklopfen (2020): 27
100 Sprachverarbeitungsklopfen (2020): 46
100 Sprachverarbeitungsklopfen (2020): 21
100 Sprachverarbeitungsklopfen (2020): 36
100 Amateur-Sprachverarbeitungsklopfen: 41
100 Amateur-Sprachverarbeitungsklopfen: 71
100 Amateur-Sprachverarbeitungsklopfen: 56
100 Amateur-Sprachverarbeitungsklopfen: 24
100 Amateur-Sprachverarbeitungsklopfen: 50
100 Amateur-Sprachverarbeitungsklopfen: 59
100 Amateur-Sprachverarbeitungsklopfen: 70
100 Amateur-Sprachverarbeitungsklopfen: 62
100 Amateur-Sprachverarbeitungsklopfen: 60
100 Amateur-Sprachverarbeitungsklopfen: 92
100 Amateur-Sprachverarbeitungsklopfen: 30
100 Amateur-Sprachverarbeitungsklopfen: 06
100 Amateur-Sprachverarbeitungsklopfen: 84
100 Amateur-Sprachverarbeitungsklopfen: 81
100 Amateur-Sprachverarbeitungsklopfen: 33
100 Amateur-Sprachverarbeitungsklopfen: 46
100 Amateur-Sprachverarbeitungsklopfen: 88
100 Amateur-Sprachverarbeitungsklopfen: 89
100 Amateur-Sprachverarbeitungsklopfen: 40
100 Amateur-Sprachverarbeitungsklopfen: 45
100 Amateur-Sprachverarbeitungsklopfen: 43
100 Amateur-Sprachverarbeitungsklopfen: 55
100 Amateur-Sprachverarbeitungsklopfen: 22
100 Amateur-Sprachverarbeitungsklopfen: 61
100 Amateur-Sprachverarbeitungsklopfen: 94
100 Amateur-Sprachverarbeitungsklopfen: 54
100 Amateur-Sprachverarbeitungsklopfen: 04
100 Amateur-Sprachverarbeitungsklopfen: 63
100 Amateur-Sprachverarbeitungsklopfen: 78