python 中的 Ngram 和 start_pad
Ngram in python with start_pad
我知道 python 我了解一些关于列表和元组的基本知识,但我不完全理解我想要创建列表的鳕鱼,每个索引中有三个索引,有元组和拖曳索引,比如这个 [('~','a'),('a','b'),('b','c')] 元组中的第一个索引有两个字符或者像这样的长度上下文 [('~a','a'),('ab','b'),('bc','c')] 可以是任何一个帮助我?她是我的代码
def getNGrams(wordlist, n):
ngrams = []
padded_tokens = "~"*(n) + wordlist
t = tuple(wordlist)
for i in range(3):
t = tuple(padded_tokens[i:i+n])
ngrams.append(t)
return ngrams
IIUC,你可以像下面这样改变函数,得到你想要的:
def getNGrams(wordlist, n):
ngrams = []
padded_tokens = "~"*n + wordlist
for idx, i in enumerate(range(len(wordlist))):
t = tuple((padded_tokens[i:i+n], wordlist[idx]))
ngrams.append(t)
return ngrams
print(getNGrams('abc',1))
print(getNGrams('abc',2))
print(getNGrams('abc',3))
输出:
[('~', 'a'), ('a', 'b'), ('b', 'c')]
[('~~', 'a'), ('~a', 'b'), ('ab', 'c')]
[('~~~', 'a'), ('~~a', 'b'), ('~ab', 'c')]
我知道 python 我了解一些关于列表和元组的基本知识,但我不完全理解我想要创建列表的鳕鱼,每个索引中有三个索引,有元组和拖曳索引,比如这个 [('~','a'),('a','b'),('b','c')] 元组中的第一个索引有两个字符或者像这样的长度上下文 [('~a','a'),('ab','b'),('bc','c')] 可以是任何一个帮助我?她是我的代码
def getNGrams(wordlist, n):
ngrams = []
padded_tokens = "~"*(n) + wordlist
t = tuple(wordlist)
for i in range(3):
t = tuple(padded_tokens[i:i+n])
ngrams.append(t)
return ngrams
IIUC,你可以像下面这样改变函数,得到你想要的:
def getNGrams(wordlist, n):
ngrams = []
padded_tokens = "~"*n + wordlist
for idx, i in enumerate(range(len(wordlist))):
t = tuple((padded_tokens[i:i+n], wordlist[idx]))
ngrams.append(t)
return ngrams
print(getNGrams('abc',1))
print(getNGrams('abc',2))
print(getNGrams('abc',3))
输出:
[('~', 'a'), ('a', 'b'), ('b', 'c')]
[('~~', 'a'), ('~a', 'b'), ('ab', 'c')]
[('~~~', 'a'), ('~~a', 'b'), ('~ab', 'c')]