目录
任务
Just Do It!
1.中文分词:jieba
编辑
2.日语分词:nagisa
任务
- 任务2:文本分析与文本分词
- 步骤1:使用jieba对中文进行分词;
- 步骤2:使用negisa对日语进行分词;
Just Do It!
1.中文分词:jieba
支持4种模式
- 精确模式:试图将句子最精确地切开,适合文本分析;(不加参数,默认是精确模式)
- 全模式:把句子中所有的可以成词的词语都扫描出来, 速度非常快,但是不能解决歧义(cut_all=True)
- paddle模式:利用PaddlePaddle深度学习框架,训练序列标注(双向GRU)网络模型实现分词。同时支持词性标注。(应该是百度提供的分词模型)(use_paddle=True)
- 搜索引擎模式:在精确模式的基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词(jieba.cut_for_search)
示例代码:
seg_cut = jieba.cut('北京故宫圆明园颐和园,风景都很好看!',cut_all=True)#全模式
print('/'.join(seg_cut))
seg_cut = jieba.cut('北京故宫圆明园颐和园,风景都很好看!',cut_all=False)#精确模式
print('/'.join(seg_cut))
seg_list = jieba.cut("北京故宫圆明园颐和园,风景都很好看!") #默认是精确模式
print("/".join(seg_list))
seg_list = jieba.cut_for_search('北京故宫圆明园颐和园,风景都很好看!')#搜索引擎模式
print('/'.join(seg_list))
seg_list = jieba.cut('北京故宫圆明园颐和园,风景都很好看!',use_paddle=True)#Paddle模式
print('/'.join(seg_list))
对应到比赛中,代码为
train_cn['words'] = train_cn['原始文本'].apply(lambda x:' '.join(i for i in jieba.lcut(x)))
2.日语分词:nagisa
GitHub - taishi-i/nagisa: A Japanese tokenizer based on recurrent neural networks
示例代码:
import nagisa text = 'Pythonで簡単に使えるツールです' words = nagisa.tagging(text) print(words) #=> Python/名詞 で/助詞 簡単/形状詞 に/助動詞 使える/動詞 ツール/名詞 です/助動詞 # Get a list of words print(words.words) #=> ['Python', 'で', '簡単', 'に', '使える', 'ツール', 'です'] # Get a list of POS-tags print(words.postags) #=> ['名詞', '助詞', '形状詞', '助動詞', '動詞', '名詞', '助動詞']
对应到比赛中,代码为:
# 文本分词 train_jp['words'] = train_jp['原始文本'].apply(lambda x: ' '.join(nagisa.tagging(x).words)) train_eg['words'] = train_eg['原始文本'].apply(lambda x: x.lower()) test_jp['words'] = test_jp['原始文本'].apply(lambda x: ' '.join(nagisa.tagging(x).words)) test_eg['words'] = test_eg['原始文本'].apply(lambda x: x.lower())
结果为:
比赛对英文的处理
其实比赛中英文不需要处理,因为英文单词本身就是以空格区分的,所以本身就相当于做了分词了。只需要将大写统一转换为小写就行了。
OK,Fine!



