N-gram是从文本中提取的N个项目 (通常是单词或字符) 的连续序列。例如,在句子 “I love NLP” 中,单字 (1-gram) 是 [“I”,“love”,“NLP”],双字 (2-gram) 是 [“I love”,“love NLP”],三元组 (3克) 是 [“我爱NLP”]。
N-gram广泛用于NLP任务,例如语言建模,文本生成和机器翻译。它们有助于捕获文本中的本地模式和依赖关系。例如,语料库中的双词可能会揭示常见的短语结构,例如 “谢谢” 或 “机器学习”。但是,n-gram模型可能会遇到长期依赖关系,因为它们只考虑固定长度的上下文。
虽然简单且可解释,但n-gram可以导致大型词汇表或数据集的稀疏表示,因为可能的n-gram的数量随n呈指数增长。现代NLP方法,如transformers,已经在很大程度上取代了基于n-gram的方法来捕获上下文。尽管如此,n-gram在诸如文本分类或关键字提取之类的任务的预处理和特征提取中仍然有用。