# deal_word **Repository Path**: matrix_challenger/deal_word ## Basic Information - **Project Name**: deal_word - **Description**: 分词脚本 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2018-02-16 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README

数据分词

**简介**: 将原始数据清洗后分词,得到新表 安装 ---- ``` $ pip install -r requirements.txt ``` **ps.** 这里主要安装```jieba```和```pymysql```模块就好 配置 _____ 1 在```settings.py``` 配置数据库信息: ``` # 数据库配置信息 db_config = { 'host': '127.0.0.1', 'user': 'root', 'port': 3306, 'password': '123456', 'db': 'inter' } # mongodb 数据库配置信息 mongo_db_config = { 'host': '127.0.0.1', 'port': 27017, 'db': "intel" } ``` 2 建表,在model目录中找到table.txt文件,运行sql语句。 3 其他配置在[inter爬虫项目](https://gitee.com/matrix_challenger/inter_game)中 4 分词的停词表在```deal_word```目录下的```filter_words.txt``` 文件中,如果需要添加或者删除,自行处理。 5 如果要配置mongo 数据库的表名称,请查看```db_manager.py```: ``` class MongoDB(object): def __init__(self, mongo_conf, table_set='word'): self.conn = MongoClient(mongo_conf["host"], mongo_conf["port"]) self.db = self.conn[mongo_conf["db"]] self.table_set = self.db[table_set] ``` 只要创建的时候带入参数```table_set```即可。 运行 ---- * **分词功能:** 找到根目录```deal_word```下的```run.py```文件: ``` $ python run.py ``` * **词频统计功能:** 如果是需要统计词频信息,则运行根目录```deal_word``` 下的```run_word_freq.py```文件: ``` $ python run_word_freq.py ``` * 词频清洗和统计主要功能都在```filter_words.py```中的```FilterWord```类中 如果需要修改直接查看源代码即可. * **获取某段时间词频矩阵:** * 1 在```run_get_arr_between_date.py```中修改时间段,如下: ``` if __name__ == "__main__": run(from_date='2013-01-31 00:00:00', to_date='2013-02-03 00:00:00', date_nums=4, save_path='./data/', date_list=get_date_list()) ``` 其中```from_date```代表日期最一开始的时间,```to_date```代表日期结束时间, ```date_nums```可以不填,但是当只知道结束时间时,可以设置```from_date```为```None```, 此时```date_nums```代表的是间隔是多长,```from_date```会自动设置。 ```date_list```代表的是在此时间段中的小时间段列表,可以精确到秒。下面演示求```2013-02-03 00:00:00``` 为止,40天前的数据矩阵,如下: ```python if __name__ == "__main__": run(to_date='2013-02-03 00:00:00', date_nums=40, save_path='./data/', date_list=get_date_list()) ``` 其中```get_date_list```函数暂时是模拟一段时间,后面从股票文档中读取,如下: ``` def get_date_list(): """ 得到时间段列表 :return: """ return [ '2013-01-31 01:00:00_2013-01-31 03:00:00', '2013-01-31 03:00:00_2013-01-31 05:00:00', '2013-01-31 05:00:00_2013-01-31 10:00:00', '2013-01-31 10:00:00_2013-01-31 20:00:00', '2013-01-31 21:00:00_2013-02-01 00:00:00', '2013-02-01 00:00:00_2013-02-01 10:00:00', '2013-02-01 10:00:00_2013-02-02 00:00:00' ] ``` **ps.** 结果在```data```目录下会生成两个文件, 一个是```labels.txt```,代表矩阵的列名,另一个是 ```arr.txt```代表矩阵的内容。 相关资料 ------- [jieba文档](https://github.com/fxsjy/jieba) [sql语句基础](http://www.w3school.com.cn/sql/sql_insert.asp)