概述
N-Gram 算法是一种单词级别的窗口取词算法,N-Gram(有时也称为N元模型)是自然语言处理中一个非常重要的概念,通常在NLP中,人们基于一定的语料库,可以利用N-Gram来预计或者评估一个句子是否合理。另外一方面,N-Gram的另外一个作用是用来评估两个字符串之间的差异程度。这是模糊匹配中常用的一种手段。
N-Gram 算法具体过程:
-
过滤掉文本数据中的标点符号和其他特殊字符;
-
对所有单词执行小写转换,并删除单词之间的空格、换行符等标志位;
-
使用长度为 N 的窗口对文本内容执行字符级滑动取词,将结果存入有序列表。
如下图所示
程序分为两步:文本过滤、滑动取词
文本过滤
def text_filter(text: str) -> str:
"""
文本过滤器:过滤掉文本数据中的标点符号和其他特殊字符
:param text: 待过滤的文本
:return: 过滤后的文本
"""
result &