gpt4 book ai didi

Python Bigram 字典格式

转载 作者:太空宇宙 更新时间:2023-11-03 18:31:26 25 4
gpt4 key购买 nike

对于学校,我必须制作一本字典,其中包含有关文本文件中连续单词的信息。

对于文件中的每个单词,我必须输入该单词(键)和匹配值,该匹配值由可以跟随该键的单词列表组成。

例如下面这句话:

“我认为你认为他会认为这很漂亮”

给出以下输出:

{'': ['I'], 'I': ['think'], 'it': ['pretty.'] (...) 'think': ['you', 'he', 'it'], 'he': ['will']}

正如您所看到的,第一个条目 '' 有点奇怪,但这是有意为之的。我必须在代码中明确输入,该值是仅包含文本第一个单词的列表。显然,不存在以“漂亮”为关键的条目。

我不太擅长编程,而且我已经在这个练习上坚持了一天多了,这几乎是我所拥有的一切:

def fill_up_dict(words):
style_dict = {}
prev_word = '' #empty string
for word in words
style_dict[prev_word]
#at a total loss here
return style_dict

也许你可以看到,但我正在尝试创建所有单词的键列表,然后将值分配给它们之前的单词。但无论我做什么,都没有丝毫效果。

最佳答案

要修改您的方法:

def fill_up_dict(words):
style_dict = {}
prev_word = '' #empty string
for word in words
if prev_word not in style_dict:
style_dict[prev_word] = []
style_dict[prev_word].append(word)
prev_word = word
return style_dict

请注意,您需要在 style_dict 中创建列表以添加单词,并且需要在每次迭代时更新 prev_word

但是,处理连续单词的最简单方法是 zip :

def fill_up_dict(words):
style_dict = {"": [words[0]]}
for word1, word2 in zip(words, words[1:]):
if word1 not in style_dict:
style_dict[word1] = []
style_dict[word1].append(word2)
return style_dict

请注意,您可以使用 collections.defaultdict 稍微简化一下:

from collections import defaultdict

def fill_up_dict(words):
style_dict = defaultdict(list)
style_dict[""] = [words[0]]
for word1, word2 in zip(words, words[1:]):
style_dict[word1].append(word2)
return style_dict

关于Python Bigram 字典格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22327464/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com