赞
踩
计算机是不能直接识别语言的,比如英语,汉语……因此,需要先把自然语言转化成计算机能够识别的符号——数字(向量)。大体流程如下。
自然语言——>编号——>向量
当我们拿到一段文本,首先要统计出词表,并把词表保存成vocab.txt,方便后续使用。一般来说能用到词表的地方有:1、编号;2、词向量抽取;
词表的统计很简单,当我们拿到一段文本:
为了保证生成的词表没有重复的词语,我们采用集合set()来作为存储工具;为了保证程序的通用性,在处理文本时按行处理,代码如下。
处理结果中有数字,标点等一些“乱码”,需要过滤掉。
过滤符号,和一些无意义的词汇,可以用停用词表(stopwords),识别汉字可以根据识别文字编码来实现。
识别文字编码的代码,很简单:
停用词表则可以根据需要,自己建立一个stopwords.txt文件。
新的get_vocab()函数,多加了判断条件:
新结果:
打印出来的结果也比较干净了:
接下来要考虑如何保存词表,一般情况下,词表在文件里只保存一列,每行一个词:
代码改动如下:
查看全部代码及获取数据请前往:https://github.com/pkulics/teach_NLP/tree/master/2_process_data
更多内容及良好排版请前往:lichangsong.win
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。