N-gram 是一种基于统计语言模型的算法,又被称为一阶gjdxtg。它的基本思想是将文本里面的内容按照字节进行大小为 N 的滑动窗口操作,形成了长度是 N 的字节片段序列。每一个字节片段称为 gram,对所有的 gram 的出现频度进行统计,并且按照事先设定好的阈值进行过滤,形成关键 gram 列表,也就是这个文本的向量特征空间。列表中的每一种 gram 就是一个特征向量维度。
算法优点:
1.语种无关性,对中 英 繁 都通用。
2.不需要进行语言学上的处理。
3.容错性强。
N-gram 算法采用固定长度为 N 的滑动窗口进行切分,目前常用 N-gram 模型是二元的 Bi-gram 和三元的 Tri-gram 模型。对两种模型的切分方法进行比较,比如 “北京 欢迎 你的 到来”,Bi-gram 切分就是 “北京欢迎 欢迎你的 你的到来”,Tri-gram 切分就是 “北京欢迎你的 欢迎你的到来”。
特征提取过程如下:
1.首先对文档进行粗切分,得到语段序列。
2.对语段序列进行 gram 切分,得到gram 频度列表。并选择频度大于设定阈值的 gram 片段作为特征向量。
3.每个gram 片段就是一个维度,形成特征向量表。