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

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

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

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

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

【TeachNLP】文本数据处理-词表获取_第1张图片

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

 

【TeachNLP】文本数据处理-词表获取_第2张图片

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

 

【TeachNLP】文本数据处理-词表获取_第3张图片

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

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

 

【TeachNLP】文本数据处理-词表获取_第4张图片

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

 

【TeachNLP】文本数据处理-词表获取_第5张图片

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

 

【TeachNLP】文本数据处理-词表获取_第6张图片

新结果:

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

 

【TeachNLP】文本数据处理-词表获取_第7张图片

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

代码改动如下:

【TeachNLP】文本数据处理-词表获取_第8张图片

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

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

 

 

 

你可能感兴趣的:(自然语言处理,词表,预处理,自然语言处理)