语料库翻译学的自学过程
Published:
学习播客(陆续更新)
第一话:语料库是什么?
学习准备
学院给了暑期参加外研社培训班的机会,所以报名了2025年7月29日开班的语料库培训班。现在距开班还有不到一周的时间,买了《语料库研究方法》和《大语言模型的外语教学与研究应用》两本纸质书,准备开始前期的自学。
和 Claude 沟通一下学习的目标,制定了初步的学习计划。
课次 | 主题 | 重点内容 | 实践操作 | 完成方法 |
---|---|---|---|---|
第1节 | 语料库研究基础与建设原则 | • 语料库研究方法的基本概念 • 经典与后经典时代的方法特色 • 语料库建设的规范与原则 • 文本规格与语料标注 | • 制定一个小型语料库建设计划 • 确定研究问题和语料采集范围 | • 通读第一章和第二章重点内容 • 设计一页纸的语料库建设方案 • 明确预期样本量和文本类型 |
第2节 | 网页爬取技术与实践 | • R语言爬虫基础 • 静态与动态网页爬取区别 • 常见反爬机制应对 • 数据存储与整理 | • 使用R语言爬取特定网站内容 • 实现一个简单的网页爬虫 • 将爬取数据保存为结构化格式 | • 学习第三章爬虫相关代码 • 使用rvest包实现爬虫 • 存储为CSV或JSON格式文件 |
第3节 | 语料清洗与预处理 | • 文本预处理流程 • 正则表达式应用 • 分词与词性标注 • 去除噪声数据 | • 对爬取的原始数据进行清洗 • 实现基础的文本预处理流程 • 构建规范化语料库 | • 学习第四章关键技术 • 使用R或Python处理文本 • 应用正则表达式清洗数据 • 检查清洗结果质量 |
第4节 | 数据可视化与基础分析 | • 基本统计图表类型 • 词频统计与分析 • 文本特征可视化 • 交互式图表制作 | • 创建词频统计表 • 生成2-3种可视化图表 • 分析词频分布特征 | • 学习第五章可视化方法 • 使用ggplot2包创建图表 • 采用AntConc进行词频分析 • 整合可视化结果 |
第5节 | 搭配与构式分析 | • 搭配分析方法 • 共现词与显著共现词 • 扩展意义单位 • 构式语法分析框架 | • 使用AntConc进行搭配分析 • 计算MI、t-score等指标 • 分析关键词的共现模式 | • 学习第六章和第七章方法 • 使用Sketch Engine辅助分析 • 对比不同搭配强度计算方法 • 归纳搭配模式特点 |
第6节 | 主成分分析与聚类分析 | • 主成分分析基本原理 • 因子分析在语言学中的应用 • 层次聚类与划分聚类 • 聚类结果解读 | • 对语料特征进行主成分分析 • 实现基本聚类分析 • 解读并可视化分析结果 | • 学习第九章和第十一章方法 • 使用R的prcomp和factanal函数 • 使用hclust和kmeans函数 • 创建聚类树状图和散点图 |
第7节 | 高级统计模型应用 | • 逻辑斯蒂回归基础 • 决策树与随机森林概念 • 模型评估与解释 • 应用场景选择 | • 构建一个简单逻辑回归模型 • 尝试决策树分析 • 评估模型预测效果 | • 学习第十二章和第十三章 • 使用R的glm函数 • 使用rpart和randomForest包 • 分析模型参数意义 |
第8节 | 综合项目实践 | • 研究问题明确化 • 完整工作流程应用 • 结果分析与报告撰写 • 方法评估与改进 | • 完成一个小型但完整的语料库项目 • 应用至少一种高级分析方法 • 生成研究报告 | • 整合前7节所学内容 • 构建完整分析流程 • 撰写简要研究报告 • 总结学习成果与未来发展方向 |
第一节:语料库研究基础
概述:语料库语言学以语料库为主要研究工具,探讨语言规律与理论,强调”三个T”:Text (文本)、Tools (工具) 和 Theories (理论)。
核心概念与理论
语料库语言学:以大规模语言语料为研究对象,通过定量与定性分析相结合的方法,揭示语言使用规律和验证语言理论的学科。
经典时代语料库研究:2000年以前的研究,以Brown Corpus和BNC为代表,关注词频统计、搭配分析,偏向定量分析,工具相对简单。
后经典时代语料库研究:21世纪以来的研究,得益于信息技术和AI发展,研究对象和方法更加多样化,融合机器学习算法,工具智能化,研究内容深入到深层语义和认知语境。
语料库建设原则:
- 目的性原则:建设应与研究目的紧密关联
- 代表性原则:应能真实反映目标语言特点
- 所属权原则:需遵循法律法规,尊重原创作者权利
语料库标注:在语料库文本中添加语言学信息的过程,分为数据元标注(外部信息)和语言学标注(内部特征),方法包括自动化标注和人工标注。
研究方法与工具
文本 (Text):根据研究目的选择语料来源,统一文本格式和编码规范,进行文本清洗,记录元数据。
工具 (Tools):
- 经典时代:词频统计工具、搭配分析工具
- 后经典时代:AI与机器学习工具、平行语料库对齐工具、标注工具
理论 (Theories):数据驱动的理论验证、新理论的提出、交叉学科应用。
语料库建设方法
语料收集与加工:从多种渠道获取数据,进行预处理(格式转换、编码统一、清洗),根据研究目的确定规模。
语料处理与标注:文本分词与词性标注、句法分析、语义标注与语用标注、双语对齐。
语料库维护与更新:定期更新、质量控制、用户反馈。
语料库研究的贡献
对理论语言学的贡献:为语法、词汇、语义等理论研究提供实证数据支持,验证和修正现有理论。
对应用语言学的贡献:在语言教学、翻译、词典编纂、自然语言处理等领域发挥重要作用。
对跨学科研究的贡献:促进与计算语言学、社会语言学、认知科学等领域的交叉融合。
语料库研究方法小测(点击题目查看答案)
1. 什么是语料库语言学?它强调的“三个T”分别指什么?
2. 经典时代语料库研究的主要特点是什么?它在方法上有什么偏向?
3. 后经典时代语料库研究与经典时代相比,有哪些显著的拓展?
4. 语料库建设的“目的性原则”和“代表性原则”分别要求什么?
5. 什么是语料库标注?它分为哪两大类?
6. 在语料库文本收集后,为什么需要进行“文本清洗”?
7. 元数据在语料库建设中扮演什么角色?请举例说明其重要性。
8. 平行语料库对齐的主要目的是什么?请列举一个用于对齐的工具。
9. 请简述自动化标注和人工标注在语料库标注中的作用和关系。
10. 语料库研究对理论语言学和应用语言学各有哪些主要贡献?
第二节 语料库建设方法
1. 概念
- 语料库建设原则: 目的性原则、代表性原则、所属权原则。
- 语料库类型: 通用语料库、专用语料库、单语语料库、双语平行语料库。
- 文本规范: 文本格式、文本命名、文本编码。
- 文本清洗: 清除符号、格式、冗余信息等。
- 元数据: 文本的外部信息,如作者、时间、地点、主题等。
- 标注 (Annotation): 对语料库文本添加语言学或非语言学标记的过程。
- 类型: 元数据标注、语言学标注(词性、句法、语义、偏误等)。
- 方法: 自动标注、手动标注。
2. 语料库建设原则 (2.1)
目的性原则 (2.1.1): 语料库的建设方案应与特定的研究目的紧密关联。研究目的的宽窄决定了语料库的规模、类型和使用者。不同类型的语料库(如通用语料库、专用语料库、口语语料库、书面语语料库、综合语料库等)服务于不同的研究需求。
代表性原则 (2.1.2): 语料库中收录的文本应能反映某一语言(或某一特定文类)的全貌。代表性是语料库建设中最核心的考虑因素,关乎研究结果的普遍性。实现代表性需要考虑文本来源、语言变异、时间跨度、地域及范围、语体、语域、人口统计学(性别、年龄、职业、社会阶层)等因素。常见的取样方法包括分层取样和随机取样。
所属权原则 (2.1.3): 语料库的文本收集和使用必须遵守法律规定,尊重原作者的著作权和伦理。应获得文本提供者或作者的许可,并妥善处理引用和归属问题。
3. 文本规范 (2.2)
- 文本格式: 语料库文本通常以纯文本(TXT)格式存储,方便处理。其他常见格式如HTML、XML、ASP、PHP、Word文档和PDF文档,通过光学字符识别(OCR)等方式转换为TXT。
- 文本命名: 文本命名应规范,反映文本信息,如来源、分类、出版年份等。文件名长度不宜过长,一般建议不超过8位。
- 文本编码: 文本编码应统一使用UTF-8格式,以确保字符显示正确和数据完整性。UTF-8支持多种语言字符,避免乱码问题。
- 文本清洗: 清洗是语料库建设的关键步骤,旨在去除文本中的噪音(如符号、格式错误、冗余信息、乱码、HTML标签、网址等),确保文本的真实性、规范性和可再用性。常见工具如PowerGREP用于查找和替换。
4. 元数据 (2.5)
- 定义与作用: 元数据是关于文本内容的外部信息,如作者、时间、地点、主题、语体、来源、出版商等。它们有助于研究者理解文本背景,并进行更复杂的多维度分析。
- 主要要素: 国际上广泛采用都柏林核心元数据元素集(Dublin Core Metadata Element Set),包括创建者、主题、描述、出版者、贡献者、日期、类型、格式、标识符、来源、语言、关系、覆盖范围、权利等15项核心要素。
- 存储: 元数据通常存储在XML格式的文本头部或独立的Excel表格中。
5. 语料库版本管理 (2.6)
- 重要性: 语料库的建设过程中,应保存多个版本,以追踪修改历史,满足不同研究需求。例如,在标注或清洗后,可以创建新版本。
- 双语平行语料库 (2.7): 建设双语平行语料库涉及原文和译文的对齐(alignment),可以是篇章、句、短语、词等层面的对齐。对齐工具如ABBYY Aligner和Tmxmall Aligner可以支持多种语言的对齐。平行语料库在翻译研究、对比语言学、机器翻译等领域有重要应用。
6. 语料库标注 (2.3)
- 目的: 标注是对语料库文本添加额外信息的过程,这些信息可以是语言学或非语言学的。它为深层语言学分析提供基础。
- 类型:元数据标注: 文本外部信息的标记,如文件名、元数据表等。
- 语言学标注: 对文本内部语言特征的标记,包括:
- 词性标注 (POS tagging): 识别词的词性,如名词、动词、形容词等。
- 句法分析 (Syntactic parsing): 识别句子的句法结构和成分。
- 语义标注 (Semantic annotation): 识别词语或句子的语义关系。
- 偏误标注 (Error annotation): 标注学习者语言中的偏误类型。
- 方法:
- 自动标注: 使用语言处理工具(如TreeTagger)进行自动化标注,效率高但可能存在错误。
- 手动标注: 由人工进行精细标注,准确性高但耗时耗力。常用的手动标注工具包括ATLAS.ti, BFSU Qualitative Coder, BRAT等。
- 标注一致性 (Inter-annotator agreement): 特别是在手动标注中,多位标注者之间的标注结果应保持一致性,以确保标注质量。
第三节 语料检索与清洗
无论是“经典时代”还是“后经典时代”的语料库研究,其核心都离不开对语言单位的数据统计。在此基础上,语料库研究尤其注重在语境中观察语言单位的使用行为。为了实现这一目标,需要通过语料的检索来获取所需的频数数据,并利用正则表达式进行检索和替换的语言清洗操作。书中明确提到,WordSmith Tools 和 AntConc 等软件都支持这些操作,相关资料丰富。
核心论点: 正则表达式是语料检索与清洗任务中用于匹配文本中字符或字符组的强大工具。
正则表达式基础:
序号 | 符号 | 含义 | 示例或说明 |
---|---|---|---|
1 | \b | 字符的边界 | \ban\b 匹配 an,不匹配 a、and 和 sand |
2 | \w | 任何字母或数字 | \w 匹配字母 a-z, A-Z, 数字 0-9 以及下划线 _ |
3 | . | 任何字符或非字符 | 2.4 匹配 204, 214, 2I4, 2.4, 24, 2-4 等 |
4 | + | 出现 1 次或更多 | A+ 匹配 A, AA, AAA, AAAA 等 |
5 | * | 出现 0 次或更多 | BA* 匹配 B, BA, BAA, BAAA 等 |
6 | ? | 有或者无 | BA? 匹配 B 和 BA |
7 | () | 组合 | act(ing)? 可以匹配 act 和 acting; b(AA)? 匹配 b 和 bAA; b(AA)* 匹配 b, bAA, bAAAA 等 |
8 | [] | []中的任意字符 | [abc] 匹配 a 或 b 或 c; [abc]+ 匹配 a, b, c, ab, abc, ba, cba, bc, bca 等 |
9 | \s | 一个空白符 | \s+\s+\s+\s+ 匹配 that is 等连续的两个词 |
10 | \1 | 表达式中的第1个组合 | (\w+)\1\s+\1 可以匹配 very very 等连续重复使用的词 |
11 | | | 或者 | |
12 | \S | 非空白符 | 任何除空白符之外的字符及非字符 |
13 | \W+ | 任意数目的字母、数字及两者的组合 | \W+ 匹配 a, the, and, 21st, bookshelf 等,但不匹配 book-shelf, compu\W+\W+ 匹配 computer, computers, computation 等 |
14 | \W* | 0个或多个任意数目的字母、数字及两者的组合 | act\W* 匹配 act, acted, acts, acting 等; book\W* 匹配 book, books, bookshelf |
15 | \s+ | 任何连续的非空白符 | 可以匹配文本中任何可见的符号 |
16 | \S+_\S+ | 分隔符为”_“的标注字符 | 匹配被分隔符隔开的任何可见字符,是检索词性标注文本中任何词或标点符号的常用方法 |
17 | [\r\n]+ | 换行符 | [\r\n]+ 可以匹配 ASCII 格式文本的换行符,也可以匹配 Unicode 格式文本的换行符,删除 [\r\n]+ 会使多行文本连成一行文本 |
18 | .* | 任何字符串 | ^.*[\r\n]+ 匹配任何格式文本中的任何一行 |
检索方法
标题 | 内容 |
---|---|
检索单词边界 | 使用 \b 符号来精确匹配单词,避免匹配到单词内部的字符。例如,检索”now”时,若不加 \b 边界符,可能会匹配到”know”中的”now”。加入边界符 \bnow\b 则能准确匹配独立的”now”。 |
字符组的使用 | 基本字符组: [] 用于匹配方括号内的任意一个字符。例如 [abc] 匹配 a、b、c 中的任意一个。%%BR%%范围字符组: [a-z] 匹配所有小写英文字母,[0-9] 匹配所有数字。%%BR%%排除字符组: [^…] 匹配不在方括号内的任何字符。例如 [^aeiou] 匹配除了 a, e, i, o, u 之外的任何字符。 |
量词与重复 | + 表示前一个元素出现一次或多次。%%BR%%* 表示前一个元素出现零次或多次。%%BR%%? 表示前一个元素出现零次或一次。%%BR%%{n} 表示前一个元素恰好出现 n 次。%%BR%%{n,} 表示前一个元素至少出现 n 次。%%BR%%{n,m} 表示前一个元素出现 n 到 m 次。%%BR%%示例: 检索”word words”中以”word”开头后面跟了s的词,可以使用 \bword\w*\b。 |
统计语料词数 | 结合量词和字符组,正则表达式可用于精确统计语料中词语的数量。特别提到不同软件对”词”的定义可能不同,需要根据具体语料库和软件特性调整正则表达式。例如,英文语料中,一个词可以由字母、数字或连字符构成。 |
表达式的转义 | 某些特殊字符在正则表达式中有特定含义,若想匹配这些字符本身,需要使用反斜杠 \ 进行转义。例如,要匹配问号 ?,需要写成 \?。 |
复杂单词检索与多选结构 | 通过组合多个字符组和多选结构 |,可以检索具有复杂拼写模式的单词。例如,检索动词的过去式和现在分词形式,可以通过 (ing|ed)$ 来匹配以”ing”或”ed”结尾的词。 |
表达式的优先级 | 正则表达式中各种符号的优先级,从高到低依次为:圆括号 () > 量词 * + ? {} > 普通字符、字符组和锚点 [] \b \d \s ^ $ > 多选结构 |。理解优先级有助于编写正确的正则表达式以实现预期匹配。 |
匹配特定字母结尾的词 | 通过结合 \w+ 和 \b 以及特定字母,可以匹配以特定字母结尾的单词。例如,匹配以”less”结尾的单词,可以使用 \b\w+less\b。 |
匹配特定形式的词——引用分组 | 利用括号 () 创建分组,并使用反向引用 \1, \2 等来匹配之前分组捕获的内容,这在处理重复模式时非常有用。例如,匹配ABAB模式的字符,可以使用 (\w\w)\1。 |
匹配句式——元字符 . | 元字符 . 匹配除换行符以外的任何单个字符。结合量词可以匹配整句或句子的一部分。例如,.* 可以匹配一行中的所有字符。 |
匹配带有属性标注的元素 | 对于XML或类似标注格式的文本,可以使用正则表达式匹配带有特定标签和属性的文本。例如,检索 <sen> 标签中的内容,可以使用 <sen>(.*?)</sen>。 |
清洗方法
标题 | 内容 |
---|---|
删除多余制表符 | 电子文本中常含有制表符 \t,这些不直接显示但占据空间的字符需要清除。使用替换功能将 \t 替换为空。 |
删除多余空格和多余行空行 | 多余空格: 使用 \s{2,} 匹配两个或更多连续空格,并替换为一个空格。%%BR%%多余行/回车符: 不同的操作系统有不同的行终止符 (\n 在 macOS/Linux, \r\n 在 Windows)。通过匹配 [\r\n]{2,} 或 \n{2,}(根据系统)并替换为一个行终止符来删除多余空行。 |
分句和段落标注——反向引用、锚点 | 分句: 英文文本中,句子末尾通常是句号、问号或感叹号。可以通过 ([.?!]) 分组匹配句末标点,并结合反向引用在匹配结果后添加行终止符。%%BR%%分段: 为了保留段落信息,可以在每段文本的开头和结尾添加自定义的XML标签,如 <p> 和 </p>。 |
回避 AABB 和 ABCC 形式的中文词检索——环视断言 | 环视断言 (Look-around assertions) 是正则表达式中的高级功能,用于在不实际匹配特定字符的情况下,检查其周围的字符。%%BR%%%%BR%%肯定环视 (Positive Lookahead): (?=…) 匹配后面跟着特定模式的文本。%%BR%%否定环视 (Negative Lookahead): (?!…) 匹配后面不跟着特定模式的文本。%%BR%%肯定后行断言 (Positive Lookbehind): (?<=…) 匹配前面跟着特定模式的文本。%%BR%%否定后行断言 (Negative Lookbehind): (?<!…) 匹配前面不跟着特定模式的文本。%%BR%%%%BR%%这些断言在清洗中文语料中识别特定模式(如AABB、ABBC等)时非常有用,它们可以帮助更精确地匹配符合或不符合特定上下文的文本。 |
清理多余换行——环视断言 | 利用环视断言清理电子文本中不规范的多余换行符,例如,删除句末没有标点符号的多余换行。这有助于确保文本的格式符合标准,便于后续处理。 |
工具
- EmEditor 和 AntConc: 本章多次提及这两款软件,它们都支持正则表达式的检索和替换功能。
- RegExr (https://regexr.com/): 推荐的在线正则表达式测试工具,便于学习和开发正则表达式。
第四节 短语学分析
软件与语料库选择
- 研究中使用的工具是 AntConc 3.5 软件。
- 分析所依据的语料库是 CROWN 和 CLOB 语料库。
搭配词检索
- 分析的第一步是进行搭配词(collocations)检索。
- 检索时设定跨距(span)为 ±5,这意味着软件会在目标词(又称“节点词”,node word)前后各5个词的范围内查找与其共同出现的词语。
- 检索条件是共现次数大于等于 3 的搭配词。
- 在 AntConc 界面中,研究者需要点击“Collocates”按钮来执行此操作。
- 通过此方法,研究共得到了 226 种搭配词类型。图 6.4 和图 6.5(来源)直观展示了 AntConc 的操作界面和搭配词的检索结果。
结果分析与搭配词特征
- 高频搭配词识别与语义分析:检索结果会显示高频搭配词。例如,对于节点词“role”,高频搭配词包括了像 “the, in, of, a, to, and, as, for, upon” 等动词性或功能性词语。这些词在语料库中的出现频率远高于“role”本身的使用频率。
- 语义层面的区分:虽然这些功能词语与“role”构成了“上行搭配”(upward collocation),但在语义上,它们对“role”本身的意义限制非常小,因此在短语学分析中通常不作深入的语义分析。
- 特定位置的搭配词分析:
- 对 -1 位置(即节点词前一个位置)的搭配词进行分析,发现主要分为两类:
- 表示“某人的或特定的”语义特征的词语,如“their, his, its, your, my, her, that”。
- 表示“核心的或重要的”语义特征的词语,如“important, key, vital, major, central, crucial, active, critical, integral, leadership, leading, significant, big, male”等。
- 对于 +1 位置(即节点词后一个位置)的搭配词,如“model, models, playing, paly”等,它们分别表示“榜样”和“角色扮演”的语义。
- 对 -1 位置(即节点词前一个位置)的搭配词进行分析,发现主要分为两类:
- 搭配词的意义特点:短语学分析强调,搭配词所产生的意义并非仅仅是组成词语意义的简单叠加,而是一种独立的语义实体,具有特定的语用功能。通过这种分析,可以辨别出哪些搭配词组成了真正的语义单位。
- 搭配词档(Collocation Profile)的应用:为了进一步的扩展意义分析,会使用搭配词档的概念。例如,对“role”和“part”的搭配词进行详细分析,如表 6.5 和表 6.6 所示(来源),这有助于理解这些词在不同语境下的具体用法和意义。
核心与意义单位的识别
- 在操作层面上,短语学分析将短语单位的意义中心理解为“核心”(core)。
- 这种分析有助于识别像 “PLAY AN IMPORTANT ROLE” 这样的完整意义单位。尽管 AntConc 主要用于搭配词的检索,但其输出是构建和分析这类意义单位的基础,后续可能结合其他工具(如 Unitex/GramLab)进行局部语法模型构建和自动化处理。
总而言之,使用 AntConc 进行短语学分析是一个从大规模语料库中自动化提取词语共现信息、量化搭配关系、进而深入探索词语组合意义和功能的过程。它帮助研究者识别出语言中具有独立意义的短语单位,并分析其结构和语义特征。