神经网络是机器学习的一部分,这里作例子
阶段 | 时间范围 | 技术特点 | 代表方法/模型 | 应用举例 |
---|---|---|---|---|
规则驱动阶段 | 1950s–1980s | 基于人工编写规则,语言学为主 | 句法规则、词典匹配 | 早期机器翻译、图灵测试 |
统计学习阶段 | 1990s–2010 | 依赖大规模语料,采用统计与概率模型 | N-gram、HMM、CRF | 情感分析、搜索引擎、拼写纠正 |
神经网络阶段 | 2010–2017 | 引入深度学习,提升语言理解建模能力 | Word2Vec、RNN、LSTM、Seq2Seq | 智能问答、语音识别 |
预训练大模型阶段 | 2018至今 | 采用Transformer架构,模型参数大规模增长 | BERT、GPT、T5、ChatGPT、DeepSeek等 | 多任务通用语言处理、对话系统 |
上面这表AI做的,时间范围可能有问题,但阶段没问题
阶段 | 目的 | 数据类型 | 示例任务 |
---|---|---|---|
预训练 | 学通用语言能力 | 无标注语料 | 预测遮盖词、下一个词等 |
微调 | 学任务特定能力 | 有标注数据 | 分类、翻译、问答等 |
from collections import defaultdict, Counter
import random
# 第一步:创建语料库
corpus = [
"我早上去了图书馆",
"我早上听了一节英语课",
"我中午看了一部电影",
"我中午睡了一会儿",
"我晚上写了一篇作文",
"我晚上复习了功课",
]
# 第二步:分词函数(按字分词,这里只是按照字符分词)
def split_words(text):
return [char for char in text]
# 第三步:统计Bigram词频(Bigram 是一个N-Gram 模型中的特例,其中N=2,即考虑连续的两个词或字符的组合。)
bigram_freq = defaultdict(Counter)
for sentence in corpus:
words = split_words(sentence)
for i in range(len(words) - 1):
first, second = words[i], words[i+1]
bigram_freq[first][second] += 1
# 打印词频率
# print("打印词频率")
# for first, counter in bigram_freq.items():
# freq_list = [f"{second}:{freq}" for second, freq in counter.items()]
# print(f"{first}: [{', '.join(freq_list)}]")
# 第四步:计算Bigram概率(转为概率分布)
bigram_prob = {}
for first, counter in bigram_freq.items():
total = sum(counter.values())
bigram_prob[first] = {second: count / total for second, count in counter.items()}
# print("词频概率为:", bigram_prob)
# 第五步:根据前缀生成下一个字
def predict_next_char(prev_char):
if prev_char not in bigram_prob:
return None
candidates = list(bigram_prob[prev_char].items())
chars, probs = zip(*candidates)
return random.choices(chars, probs)[0]
# 第六步:输入前缀,生成文本
def generate_text(start_char, length=10):
result = [start_char]
current = start_char
for _ in range(length - 1):
next_char = predict_next_char(current)
if not next_char:
break
result.append(next_char)
current = next_char
return ''.join(result)
# 示例
print(generate_text("我"))
每个词后面出现词次数
出现词次数转化为概率与给定一个词后生成的连续文本
你好,我是Qiuner. 为帮助别人少走弯路而写博客 这是我的 github https://github.com/Qiuner⭐ gitee https://gitee.com/Qiuner 🌹 如果本篇文章帮到了你 不妨点个赞吧~ 我会很高兴的 😄 (^ ~ ^) 。想看更多 那就点个关注吧 我会尽力带来有趣的内容 😎。 代码都在github或gitee上,如有需要可以去上面自行下载。记得给我点星星哦😍 如果你遇到了问题,自己没法解决,可以去我掘金评论区问。私信看不完,CSDN评论区可能会漏看 掘金账号 https://juejin.cn/user/1942157160101860 掘金账号
更多专栏:
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。