单个词语为何会失去意义
理解 not bad 与 bad 的差异
单个词语为何会失去意义 是 CoddyKit 上的免费 NLP Academy 课时。 这是第 1 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 NLP Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 NLP Academy 课程共包含 4 节课。
孤立的词语
到目前为止,您一直把文本视为由单个词语组成的词袋。但意义往往存在于词语如何彼此相邻,而不在于某个词语本身。
词袋模型的盲点
词袋模型会丢弃词语顺序。对它来说,下面两个句子完全相同,尽管它们表达的意思正好相反。😮
a = sorted("this is not good".split())
b = sorted("good is not this".split())
print(a == b) # True“不差”和“差”
想象一条评价写着 not bad。单独看 bad 似乎表示负面,但这两个词组合起来后,意思变成了略带正面的评价。
否定信息丢失了
当您逐个统计词语时,not 会孤零零地存在。模型永远不会学到它实际上否定了哪个词。
tokens = "not bad".split()
print(tokens) # ['not', 'bad'] counted apart短语承载意义
真实语言中充满了 new york 或 machine learning 这样的短语。如果把它们拆开,就会失去它们共同表达的概念。
顺序改变一切
比较 dog bites man 和 man bites dog。三个词完全相同,表达的新闻却大不一样。顺序本身就是信号,而单个词会把它丢弃。
引入 n 元语法
n 元语法是由 n 个连续词语组成的短序列。它是将相邻词语连接起来、保留少量局部上下文的最简单方法。
您已经了解的一元语法
单个词就是一个一元语法,也就是大小为一的 n 元语法。因此,词袋模型其实从一开始就是一种 n 元语法模型。
text = "not bad at all"
unigrams = text.split()
print(unigrams)词语对挽救了上下文
将大小提升到二之后,not bad 就会成为一个单独的特征。现在,模型可以学到这一词语对具有偏正面的含义。
滑动窗口
想象一个小窗口沿着文本逐步滑动,每次前进一格,并取出它经过的每个相邻词语组。
上下文,而非语法
n 元语法并不理解语法。它只是保留哪些词语会一起出现,而这个小线索就能提升许多自然语言处理任务的效果。
快速检查
为什么普通的单词特征难以处理 not bad 这样的短语?
回顾:词语对为何重要
单个词会忽略顺序,因此否定和短语信息都会丢失。n 元语法将相邻词语保留在一起,带回局部上下文。接下来,您将学习如何为它们命名。✨
常见问题解答
「单个词语为何会失去意义」课时是免费的吗?
是的 — 「单个词语为何会失去意义」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 NLP Academy 课程的其余内容,请升级到 CoddyKit PRO。 NLP Academy 课程共包含 4 节课。
「单个词语为何会失去意义」这节课中我会学到什么?
理解 not bad 与 bad 的差异 你通过在浏览器中直接运行的动手代码来练习 NLP Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 NLP Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 NLP Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 1 节课,共 4 节。
「单个词语为何会失去意义」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 NLP Academy 课中编写并运行代码吗?
能。每节 NLP Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。