本 Blog 主要用于记录一些学习过程
联系我
- Mail: rocuku@gmail.com
- Github: Rocuku
- Kaggle: rocuku
技术栈
- 机器学习
- 主要研究自然语言处理 QA 方向
- 熟悉 Memory Networks 架构
- 熟悉神经网络 RNN、GRU、LSTM 等
- 熟悉集成学习方法 XGBoost、LightGBM 等
- 熟悉深度学习框架 Keras
- Web
- 能够独立设计、实现并部署 Web 项目
- 常用 Web 框架为 Python-Django
- 熟悉 HTML / CSS / JS 体系,能独立完成前端开发
- 常用 jQuery、Bootstrap 等框架
- 常用 Docker 进行部署
- 语言
- 熟练使用 Python
- 熟悉 C++,了解 C++ 基本特性
- 其他
- 擅长并且喜欢使用 Python 写各种小工具和爬虫
- 使用 MFC 和 QT5 完成过 Windows 下的图形界面程序
- 使用过关系型数据库 SQLite3 / MySQL / PostgresSQL
- 常用系统 OSX,熟悉 Linux / Unix 下的命令行操作
- 玩过单片机 / 嵌入式,还会焊板子(……)
项目经历
- 基于Memory Networks的智能问答系统(个人) 2017.03~至今
- 使用 Keras 搭建 Key-Value End-to-end Memory Networks,并在 WikiMovies 数据集上复现论文中的训练结果
- 将基于 Freebase 知识库的数据集 SimpleQuestions 映射到 Wikidata 上,使用其训练 Key-Value Memory Networks
- 实现从 WikiPedia 文本数据与 Wikidata 知识库中学习知识,自动回答相关自然语言问题
- 空气质量监测平台(http://pm25.ioebase.com/)(核心成员) 2015.03~2016.10
- 个人负责网站部分的设计、实现及部署
- 使用 TCP 协议与空气质量传感器进行对接,接受传感器数据,存入 MySQL 数据库
- 使用 Python-Django 作为后台框架,完成用户注册、设备绑定、设备数据浏览、设备配置修改等功能,并基于 jQuery 完成端展示功能
- 根据 RESTful 规则设计并实现相应功能 api 与手机 APP 进行对接
- 多语言展示网站 (http://doll.rocuku.cc/)(个人) 2016.05~2016.12
- 使用 Python-Django 作为后台框架,完成后台部分
- 使用 CoffeeScript 作为 JavaScript 的替代完成前端部分
- 使用 Docker 部署到服务器
- 多网关协同系统(核心成员) 2015.09~至今
- 通过网关间协同工作实现数据的冗余和恢复,促进网络高效数据传输,实现网络安全性及通信可靠性。
- 个人负责设计多网关协同系统并在 Linux 系统下使用 Python 实现;
- 参与撰写 4 篇专利及 1 篇 CCSA 标准
- 电表电能信息计费软件(个人) 2017.01~2018.01
- 基于 MFC,在 Windows 系统下完成具有电表设置,电表信息采集,电能信息保存,电能历史记录查询,报表打印等功能的软件
- 使用 modbus 协议与电表进行交互,封装 modbus 通信部分,提供电表设置及电表信息采集功能接口
- 使用 MFC 定时器定时读取电表信息信息并保存到 MySQL 数据库中,保留历史数据
- 使用 MFC 完成图形化界面,展示历史电能数据,提供电表设置及报表打印图形化接口
- 村级站智能化网关软件(个人) 2015.08~2016.01
- 使用串口与读卡器设备进行交互,获取读取到的卡片信息
- 使用 Qt5 实现图形化界面,调取第三方 api 实现天气预报展示功能,使用 sqlite3 数据库保存用户数据并实现网页导航及 QQ 登陆等功能
- RFID读写小工具(个人) 2015.12~2016.01
- 使用串口或者网络(TCP / UDP)协议与 RFID 读写器设备进行通信
- 使用 MFC 完成图形化界面,能够向 RFID 读写器设备发送自定义命令或预定义命令,并能够收取并显示返回值
- 能够通过 xml 文件配置预定义命令
比赛经历
- Kaggle比赛: Toxic Comment Classification Challenge(个人,Top 7%) 2017.12~2018.03
- 比赛旨在鉴别维基百科上评论页面上的负面评论,标出其负面类型
- 特征提取:尝试使用了 Word2Vec、fastText 及 GloVe 的预训练词嵌入矩阵分别在基础模型上,最后选择了差异较大且效果相近的 fastText 与 GloVe 的预训练矩阵分别做为基模型的词嵌入矩阵
- 模型选择:使用 Keras 作为开发框架,搭建了 bi-LSTM+CNN、bi-GRU+CNN、Transformer 三种基本网络进行训练
- 模型融合:将训练出的 6 个模型使用 LightGBM 进行 5-fold Stacking 集成学习
- 比赛总结:Blog
- Kaggle比赛:TalkingData AdTracking Fraud Detection Challenge (个人,Top 14%) 2017.03~2018.05
- 比赛需要根据用户 ip、app、os、channel、点击时间等信息判断用户在点击广告后是否会下载广告推荐的应用,旨在找出频繁进行欺诈点击行为的ip地址。
- 特征提取:将具有同一 ip / app / os / channel 等的点击来源作为同一用户并生成新的特征,再将同一用户距离下一次点击的时间也作为新的特征加入训练中
- 模型选择:使用LightGBM、XGBoost、随机森林3种模型分别对数据进行训练
- 模型融合:使用不同seed训练最佳模型,最终选择出15个训练好的模型进行5-fold Stacking集成学习
- 方案分享:Kaggle Discussion
- Pipeline 源码:Github
- Kaggle比赛: DonorsChoose.org Application Screening (个人,Top 2%) 2017.03~2018.04
- IEEEXTREME大赛(全球排名 373 / 3342)2017.10
- 全国大学生电子设计竞赛(省一等奖) 2013.09
- TI 杯大学生电子设计竞赛(省一等奖) 2014.09
教育经历
- 硕士 电子科技大学(推免) 2016.09~2019.06
- 信息与通信工程学院 通信与信息系统
- 研究生一等奖学金(2016)
- 本科 电子科技大学 2012.09~2016.06
- 信息与通信工程学院 网络工程
- 国家励志奖学金、人民二等奖学金、人民三等奖学金(2013~2015)
语言理解这个方向超有意思的,欢迎来和我交流~