<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Coursera | 董昊</title><link>https://donghao.ac/tags/coursera/</link><atom:link href="https://donghao.ac/tags/coursera/index.xml" rel="self" type="application/rss+xml"/><description>Coursera</description><generator>HugoBlox Kit (https://hugoblox.com)</generator><language>zh-Hans</language><lastBuildDate>Sat, 16 Apr 2016 00:00:00 +0000</lastBuildDate><image><url>https://donghao.ac/media/icon_hu_eee4a95885829ab2.png</url><title>Coursera</title><link>https://donghao.ac/tags/coursera/</link></image><item><title>NLP 预测模型 Demo</title><link>https://donghao.ac/projects/shiny-nlp/</link><pubDate>Sat, 16 Apr 2016 00:00:00 +0000</pubDate><guid>https://donghao.ac/projects/shiny-nlp/</guid><description>&lt;h2 id="背景"&gt;背景&lt;/h2&gt;
&lt;p&gt;2016 年，Coursera 上与 Johns Hopkins 大学合作的 Data Science 专项课程的 Capstone 项目。课程以 SwiftKey 输入法为例，提供一个来自推特的英文语料库，要求我们独立完成从数据清洗到预测建模的完整流程，最终交付一个可交互的 Shiny 应用。&lt;/p&gt;
&lt;p&gt;当时读了吴军老师的《数学之美》，对自然语言处理的统计方法产生了深刻的兴趣——书中讲马尔可夫链、n-gram 模型、信息熵的那几章，直接指导了我接下来的工作。&lt;/p&gt;
&lt;h2 id="做了什么"&gt;做了什么&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;数据清洗与探索&lt;/strong&gt;：从原始 Twitter 语料中抽样、分词、去停用词、构建 n-gram 频率矩阵。写了一份 R Markdown 数据探索报告，分析了词频分布、Zipf 定律的实证表现、以及 blog/news/twitter 三种文本的句式差异。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;n-gram 语言模型&lt;/strong&gt;：基于马尔可夫假设构建 unigram/bigram/trigram 模型。核心挑战是处理未见过的 n-gram——模型在训练集中没见过的词组合，不能直接给零概率。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Good-Turing 平滑&lt;/strong&gt;：用 $r+1$ 次出现的 n-gram 数量来重新估计 $r$ 次出现的概率，使得训练集中从未出现的 n-gram 也能获得非零概率——&amp;ldquo;从未见过&amp;quot;不等于&amp;quot;不可能出现&amp;rdquo;。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Shiny 交互式部署&lt;/strong&gt;：将训练好的模型打包成 R Shiny 应用，部署在 shinyapps.io 上。输入文本，实时返回下一个词的预测。&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="技术栈"&gt;技术栈&lt;/h2&gt;
&lt;p&gt;R · quanteda · data.table · ggplot2 · Shiny · Good-Turing Estimation · shinyapps.io&lt;/p&gt;
&lt;h2 id="为什么值得看"&gt;为什么值得看&lt;/h2&gt;
&lt;p&gt;这是 2016 年自学完成的。没有导师、没有实验室、没有 GPU——就用一台自己组装的 PC 和 Coursera 上的课程视频。从数据清洗到数学模型到交互式部署，一条完整的独立生产线。十年后回头看，这也是我后来做 mcp-dbutils、做 AI Agent 的底层工作流原型：&lt;strong&gt;拿到数据 → 理解本质 → 建模 → 部署给人用&lt;/strong&gt;。&lt;/p&gt;</description></item></channel></rss>