【TeachNLP】文本数据处理-词表获取

计算机是不能直接识别语言的,比如英语,汉语……因此,需要先把自然语言转化成计算机能够识别的符号——数字(向量)。大体流程如下。

自然语言——>编号——>向量

当我们拿到一段文本,首先要统计出词表,并把词表保存成vocab.txt,方便后续使用。一般来说能用到词表的地方有:1、编号;2、词向量抽取;

词表的统计很简单,当我们拿到一段文本:

为了保证生成的词表没有重复的词语,我们采用集合set()来作为存储工具;为了保证程序的通用性,在处理文本时按行处理,代码如下。

 

处理结果中有数字,标点等一些“乱码”,需要过滤掉。

 

过滤符号,和一些无意义的词汇,可以用停用词表(stopwords),识别汉字可以根据识别文字编码来实现。

识别文字编码的代码,很简单:

 

停用词表则可以根据需要,自己建立一个stopwords.txt文件。

 

新的get_vocab()函数,多加了判断条件:

 

新结果:

打印出来的结果也比较干净了:

 

接下来要考虑如何保存词表,一般情况下,词表在文件里只保存一列,每行一个词:

代码改动如下:

查看全部代码及获取数据请前往:https://github.com/pkulics/teach_NLP/tree/master/2_process_data

更多内容及良好排版请前往:lichangsong.win

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值