def generate(cfd, start_word, n):
word = start_word
words = []
for i in range(n):
words.append(word)
# word = cfd[word].max()
fd = cfd[word]
n_next_words = sum(fd.values())
if n_next_words > 0:
probabilities = [fd[w]/float(n_next_words) for w in sorted(fd.keys())]
word = choice(sorted(fd.keys()), p=probabilities)
else:
# Pick random word
old_word = word
# TODO: use unigram probabilities later
word = choice(cfd.keys())
words.append(word)
sentence = ' '.join(words)
# TODO: modify above for punctuation
return sentence
language_model.py 文件源码
python
阅读 29
收藏 0
点赞 0
评论 0
评论列表
文章目录