import random
from collections import defaultdict
class GenerativeAI:
def __init__(self):
self.wordRel = defaultdict(list) # 存储单词关系的映射
# 从给定的字符串中学习单词关系的方法
def learn_fromstring(self, sentence):
tokens = sentence.split()
for i in range(len(tokens) - 1):
self.wordRel[tokens[i]].append(tokens[i + 1])
# 基于学习到的关系生成单词序列的方法
def sentence_generator(self, start_word, length):
current_word = start_word
sequence = current_word
for _ in range(length - 1):
if current_word not in self.wordRel:
break
next_words = self.wordRel[current_word]
current_word = random.choice(next_words)
sequence += " " + current_word
return sequence
# 打印单词关系
def print_word_relations(self):
print("单词关系:")
for key, value in self.wordRel.items():
print(f"{key}: {' '.join(value)}")
print()
def main():
generator = GenerativeAI()
# 从句子中学习
generator.learn_fromstring("我 是 生成 式 AI 测试 例子")
generator.learn_fromstring("我 是 一段 代码")
generator.learn_fromstring("我 可以 开发 应用 在 Python 中")
generator.learn_fromstring("我 有 一个 生成 式 代码 例子")
generator.learn_fromstring("我 应该 生成 不同 的 句子")
generator.learn_fromstring("我 在 LearnPython.org 学得 很 容易")
# 打印学习到的单词关系
generator.print_word_relations()
# 生成新的句子
for i in range(10):
sentence = generator.sentence_generator("我", 4 + random.randint(0, 1))
print(f"生成的句子 {i + 1}: {sentence}")
if __name__ == "__main__":
main()
|