DC自然语言处理———文本分类基础

NLP相关基础概念

文档(document):是指一段单独的文本信息。可能是一则短信、一条推特、一份邮件、一本书、或者一首歌词。一般一个文档对应于一个观测值或一行数据。

词语(token):例如“今天天气真好”这个文档,是由今天,天气,真好三个单词组成的。token相当于机器学习中的特征(列)。

预料(corpus):文档的集合(预料大于等于一条文档)。这相当于我们要研究对象的所有文本数据。


(1)数据清洗:去除一切不相关的字符,比如清楚无关信息

    正则表达式(re)

        Sub:检查和替换

        语法:

        re.sub(pattern,repl,string)

        参数:

            pattern:正则中的模式字符串

            repl:替换的字符串,也可为一个函数

            string:要被查找替换的原始字符串


       

        Findall:匹配的所有子串,并放回一个列表

        语法:

        findall(string[,pos[,endpos]])

        参数:

            string:带匹配的字符串

            pos:指定字符串的起始位置,默认是0

            endpos:指定字符串的结束位置,默认是字符串的长度



(2)中文分词:标记你的文本,将他们拆分为独立的词

       中文中词语往往是信息载体的最小单位,字往往是没有明确含义的

       和拉丁语系不同,亚洲语言是不用空格分开每个有意义的词的

    因此需要一个工具去把完整的文本分解成粒度更细的词。jieba就是这样一个非常好用的中文工具,是以分词起家的,但是功能比分词要强大很多。

    特点:

        支持三种分词模式

    ①精确模式,试图将句子最精确地切开,适合文本分析。

    ②全模式,把句子中所有的可以成词的词语都扫描出来,速度非常快,但是不能解决歧义。

    ③搜索引擎模式,在精确模式的基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词。

        支持繁体分词

        支持自定义字典

分词效果:


三种模式:


自定义字典:


自定义去停用词表:



(3)文本特征表示和特征提取

    首先我们要明白,计算机是不能从文本字符串中发现规律的。只有将字符串编码为计算机可以理解的数字,计算机才有可能发现文本中的规律。将每一个字符都编为一个独立的数字(例如ASCII码),这个过程叫做文本特征性表示。

离散表示:Set-of-words词集模型(只考虑词是否出现,不考虑出现的次数)


离散表示:Bag-of-words词袋模型(考虑出现次数)





猜你喜欢

转载自blog.csdn.net/qq_41010142/article/details/80951599