我的天空

爱情到底是个什么东西!?

第一天 瞎说 别当真

1,如果想导入训练资料首先要导入,用Pandas,这玩意是啥不知道,先导为敬。

导入训练资料:(代码是抄的,不一定管用,别当真)

import pandas as pd train = pd . read_csv ( TRAIN_CSV_PATH , index_col = 0 ) train . head ( 3 )

原文建议先导入部分文本,为了便于观察。

2,下面就是文本分词(竟然是汉语的分词,惊叹)

(下面这段话是复制的)

【文本分词(Text Segmentation)是一个将一连串文字切割成多个有意义的单位的步骤。这单位可以是

  • 一个中文汉字/ 英文字母(Character)

  • 一个中文词汇/ 英文单字(Word)

  • 一个中文句子/ 英文句子(Sentence)】

分词用jieba,万幸,我接触过。(下面是原文举例)

import jieba . posseg as pseg   text = '我是李孟,在东京工作的数据科学家' words = pseg . cut ( text ) [ word for word in words ]
[ pair ( '我' , 'r' ), 
 pair ( '是' , 'v' ), 
 pair ( '李孟' , 'nr' ), 
 pair ( ',' , 'x' ), 
 pair ( '在' , 'p' ), 
 pair ( '东京' , 'ns' ), 
 pair ( '工作' , 'vn' ), 
 pair ( '的' , 'uj' ),
 pair ( '数据' , 'n'         ), 
 pair ( '科学家' , 'n' )]

分词结果是 词汇+词性(flag)

原文说不需要标点符号,所以创建了一个分词函数来处理文本:

def jieba_tokenizer ( text ):

    words = pseg . cut ( text )

    return ' ' . join ([ word for word , flag in words if flag != 'x' ])
    

flag != 'x' 代表 词性不是x的词汇加入列表

3,分词的功能实现以后,搭配pandas的apply函数处理文本(讲的是如何处理假新闻)

train [ 'title1_tokenized' ] = \    

    train . loc [:, 'title1_zh' ] \         

    . apply ( jieba_tokenizer ) train [ 'title2_tokenized' ] = \    

    train . loc [:, 'title2_zh' ] \         

    . apply ( jieba_tokenizer )  
那么问题来了,这是啥玩意,总之在这个代码里面用到了上面提到的jieba_tokenizer函数来完成文本分词 ,然后分词成功。。。。

结果是下面这样:(A,B分别为新闻标题的两种写法,暂时这样写)

新闻标题A:

train . iloc [:, [ 0 , 3 ]] . head ()  取数据的前四行

0

2017养老保险又新增两项,农村老人人人可申领,你领到了吗    2017 养老保险又新增两项农村老人人人可申领你领到了吗    

3

"你不来深圳,早晚你儿子也要来",不出10年深圳人均GDP将超香港    你不来深圳早晚你儿子也要来不出10 年深圳人均GDP 将超香港    

1

"你不来深圳,早晚你儿子也要来",不出10年深圳人均GDP将超香港    你不来深圳早晚你儿子也要来不出10 年深圳人均GDP 将超香港    

2

"你不来深圳,早晚你儿子也要来",不出10年深圳人均GDP将超香港    你不来深圳早晚你儿子也要来不出10 年深圳人均GDP 将超香港    

9

"用大蒜鉴别地沟油的方法,怎么鉴别地沟油    用大蒜鉴别地沟油的方法怎么鉴别地沟油   



新闻标题B:

train . iloc [:, [ 1 , 4 ]] . head ()  取数据的前四行


0

警方辟谣“鸟巢大会每人领5万” 仍有老人坚持进京    警方辟谣鸟巢大会每人领5 万仍有老人坚持进京    

3

深圳GDP首超香港?深圳统计局辟谣:只是差距在缩小    深圳GDP 首超香港深圳统计局辟谣只是差距在缩小    

1

GDP首超香港?深圳澄清:还差一点点……    GDP 首超香港深圳澄清还差一点点    

2

去年深圳GDP首超香港?深圳统计局辟谣:还差611亿    去年深圳GDP 首超香港深圳统计局辟谣还差611 亿    

9

吃了30年食用油才知道,一片大蒜轻松鉴别地沟油    吃了30 年食用油才知道一片大蒜轻松鉴别地沟油    

 
(上面的标题,左侧为原标题,右侧为分词后没有标点符号的标题)


然后他说太棒了! 我怎么觉得很一遍。


文字片段(如警方这个词或者其他更长的词)在nlp领域叫Token(专业词汇,记住!)


下面是我没有了解到的,新思路(对于我来说):

4,建立字典(word_index)并将文本转成数字序列(计算机对数字更友好。)

处理得到的词汇(Token)转换成数字序列。这句话的理解应该为:我们首先分词,然后得到的词汇作为字典的键key,对应的值为不重复的数字

word_index = { word : idx for idx , word in enumerate ( words ) } word_index 


得到的结果如这样的形式:{ '狐狸' : 0 , '被' : 1 , '陌生人' : 2 , '拍照' : 3 }   

举例标题为:狐狸被陌生人拍照


每个数字代表一个Token(词汇)




.......先学到这,贴上原文链接,以表敬意。

https://leemeng.tw/shortest-path-to-the-nlp-world-a-gentle-guide-of-natural-language-processing-and-deep-learning-for-everyone.html




«   2020年6月   »
1234567
891011121314
15161718192021
22232425262728
2930
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
文章归档

    Powered By Z-BlogPHP 1.5.2 Zero

    冀ICP备19025722号-1