0Pricing
NLP Academy · 课时

单个词语为何会失去意义

理解 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 反馈 — 无需本地设置。

此课程中的所有课时

  1. 单个词语为何会失去意义
  2. 详解二元词组与三元词组
  3. scikit-learn 中的 N-Gram 特征
  4. 选择合适的 N-Gram 范围
← 返回 NLP Academy