中文的分词和文档的数字表示
要让电脑或是任何NLP 模型理解一篇新闻标题在说什么,我们不能将自己已经非常习惯的语言文字直接扔给电脑,而是要转换成它熟悉的形式:数字。
中文的分词
这里我们将一篇新闻标题视为一个“文档”,在中文的语言特征里,文档的基本单位主要由词构成。不同于英文的是,中文句子中没有词的界限,因此进行中文文档的数字表示时,通常需要先做分词以及词的编码。
常见的基于中文分词算法有:正向最大匹配法、逆向最大匹配法、双向匹配法、最优匹配法、联想-回溯法等。
借助 Jieba 这个中文分词工具,可以轻松实现中文的分词。
import jieba.posseg as pseg
text = '一片大蒜轻松鉴别地沟油'
words = pseg . cut ( text )
[ word for word in words ]
Building prefix dict from the default dictionary ...
Loading model from cache C:\Users\HP\AppData\Local\Temp\jieba.cache
Loading model cost 0.677 seconds.
Prefix dict has been built successfully.
[pair('一片', 'm'),
pair('大蒜', 'n'),
pair('轻松', 'a'),
pair('鉴别', 'v'),
pair('地沟油', 'n')]
TRAIN_CSV_PATH = "./train.csv"
import pandas as pd
train = pd . read_csv ( TRAIN_CSV_PATH , index_col = 0 )
cols = [ 'title1_zh' , 'title2_zh' , 'label' ]
train = train . loc [