You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在NLTK的Brown语料库中生成四元组(four grams)

NLTK基于brown语料库生成四元组的方法

核心结论

不需要将brown语料库转换为字符串,直接调用NLTK提供的通用n元组生成函数即可实现四元组生成,操作非常简单。

实现步骤

  1. 前置准备
    确保已经安装NLTK且下载了brown语料库,未下载的话运行以下代码:
import nltk
nltk.download('brown')
  1. 直接生成全语料四元组
    nltk.bigrams()、nltk.trigrams()本质是通用ngrams函数的二阶、三阶封装,四元组及更高阶n元组都可以直接调用nltk.ngrams()实现:
from nltk import ngrams

# 直接基于brown语料的词序列生成四元组
four_grams = ngrams(nltk.corpus.brown.words(), 4)

# 可以转为列表查看具体内容,示例输出前3个四元组
print(list(four_grams)[:3])
# 输出示例:[('The', 'Fulton', 'County', 'Grand'), ('Fulton', 'County', 'Grand', 'Jury'), ('County', 'Grand', 'Jury', 'said')]

进阶优化(推荐)

如果要避免跨句子生成不合理的四元组,可以遍历语料的单句分别生成:

from nltk import ngrams
import nltk

valid_four_grams = []
for sent in nltk.corpus.brown.sents():
    # 跳过长度不足4的句子,避免生成无效元组
    if len(sent) >= 4:
        valid_four_grams.extend(ngrams(sent, 4))

内容的提问来源于stack exchange,提问作者KSilver48

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 21:54:02