三个短文本数据集及其分类聚类基准

【本文相关数据和代码】参见[Github, https://github.com/jacoxu/STC2] @article{xu2017self, title={Self-Taught Convolutional Neural Networks for Short Text Clustering}, author={Xu, Jiaming and Xu, Bo and Wang, Peng and Zheng, Suncong and Tian, Guanhua and Zhao, Jun and Xu, Bo}, journal={Neural Networks}, doi = “http://dx.doi.org/10.1016/j.neunet.2016.12.008“, year={2017} } 三个数据集分别来自SearchSnippets, StackOverflow和Biomedical. SearchSnippets: … 继续阅读

自然语言处理与深度学习研讨会

上周末(2016/04/23)在所里(CASIA)听了一场研讨会报告,现在整理一下。原本以为这场研讨会报告只是几个青年学者(自动化所的张家俊老师,北大的万小军老师以及出门问问的技术经理李理)分享最近的工作。到了会场发现有很多圈内大佬都莅临指导,包括:自动化所的徐波所长,王飞跃老师,宗成庆老师,赵军老师,刘康老师;微软亚研的首席研究员周明,清华大学刘洋老师,北理工计算机学院院长黄河燕老师,中科院软件所孙乐老师,苏州大学张民老师,哈工大赵铁军老师,东北大学朱靖波老师等等。 首先是三位嘉宾做近期相关工作汇报。 一:张家俊老师汇报的题目为 神经网络机器翻译:寻找替身之旅 针对的问题是神经机器翻译(NMT)模型中集外词的问题。手段为寻找其集内词替身。 集外词问题在一些NLP词性标准等任务中,搜索空间是可猜测的,而在机器翻译(MT)任务中,搜索空间不可猜测。 MT需要双语翻译语料,传统统计翻译方法是 1. 先翻译词,2. 再结构化重组。而集外词问题会导致如下问题 1. 词无法获得准确的译文,2. 不精确语义编码影响了句子重组结构。 NMT进一步加重了集外词问题,1. 低频词的语义编码不准确,2. 解码空间V很大时,计算效率很低。因而需要限制源语言和目标语言的词规模。 如“悍然对南联盟实施轰炸”,其中“悍然”与“南联盟”为低频词,分别将其替换为高频词“突然”和“伊拉克”。 那么替换之旅的流程变为:1. 替换;2. 翻译;3. 恢复;(4. 保留UNK) 而针对具体情况,分别考虑了1. UNK -> UNK. 2. 集内 -> UNK. 3. UNK -> 集内. 4. NULL -> UNK. 5. UNK … 继续阅读

神经记忆网络、神经机器翻译和神经图灵机的初步探讨

近期看过神经记忆网络、神经机器翻译和神经图灵机三篇工作之后在基于对话历史的信息抽取工作上进行了初步对比尝试,根据自己的理解进行了模型对比。欢迎大家一起讨论。 首先三篇工作的文献分别出自: [1] 神经记忆网络:2015 NIPS, End-To-End Memory Networks (Facebook AI) [2] 神经机器翻译:2015 ICLR, Neural Machine Translation by Jointly Learning to Align and Translate [3] 神经图灵机:2014 ArXiv, Neural Turing Machines (Google DeepMind) 其中神经记忆网络和神经机器翻译的模型框图如下: 实验数据:1000轮垂直领域完整对话历史的信息抽取问题 – 神经记忆网络数据格式: 1 小姐 您 怎么 称呼 … 继续阅读

ICTPOS3.0汉语词性标记集

汉语词性标记集太多,仅此以ICTCLAS使用的为例,转自:http://www.ictclas.org/docs/ICTPOS3.0汉语词性标记集.doc 目前链接已失效 Ag 形语素 形容词性语素。形容词代码为a,语素代码g前面置以A。 a 形容词 取英语形容词adjective的第1个字母。 ad 副形词 直接作状语的形容词。形容词代码a和副词代码d并在一起。 an 名形词 具有名词功能的形容词。形容词代码a和名词代码n并在一起。 b 区别词 取汉字“别”的声母。 c 连词 取英语连词conjunction的第1个字母。 Dg 副语素 副词性语素。副词代码为d,语素代码g前面置以D。 d 副词 取adverb的第2个字母,因其第1个字母已用于形容词。 e 叹词 取英语叹词exclamation的第1个字母。 f 方位词 取汉字“方” g 语素 绝大多数语素都能作为合成词的“词根”,取汉字“根”的声母。 h 前接成分 取英语head的第1个字母。 i 成语 … 继续阅读

处理数据集4STH-SIGIR2010

【生成STH-SIGIR2010使用的数据格式】 输入:训练文本train_refined.txt, 测试文本 test_refined.txt,公共词典, comWord.dic 输出:Vector Space Model,基于词频的向量空间模型,用于STH预处理,输出文件vsmOfWhole.txt STH需要的数据格式: 数据变量名 大小 说明 完成度 fea VSM,稀疏矩阵 对应位置为词频,其他地方为0 (训练+测试) OK gnd 类别标签n*1 (训练+测试) OK testIdx 测试数据的标签位置 n_test*1标注哪些文本为测试数据 OK trainIdx 训练数据的标签位置 n_train*1标注哪些文本为测试数据 OK import java.io.BufferedReader;    import java.io.BufferedWriter;    import java.io.File;    import java.io.FileInputStream;    import java.io.FileOutputStream;    … 继续阅读

处理数据集4DCNN-ACL2014

DCNN-2014的数据格式: 数据变量名 大小 说明 完成度 index 53714个词 (comWord.dic) 字符串词典,尽量保证训练/测试集及词向量中都有 OK sent_length 40 (实际最大长度38) 文本最大长度 OK size_vocab 53714+1 字典的大小+1个空白词 OK test 2280*sent_length 测试集数据 OK test_lbl 可以没有64位Hash标签 {可无64位Hash标签}{文本长度},由Spectral训练 train 10060*sent_length 训练集数据 OK train_lbl 要64个类别标签 {64位Hash标签}{文本长度},由Spectral训练 vocab_emb_1_CW 50*词典维数 从外部拿到的词向量,覆盖的词向量太少 暂不考虑 vocab_emb_2_HLBL 50*词典维数 如果叠加的话,覆盖的词向量太少 … 继续阅读

word2vec使用说明

Google的word2vec官网:https://code.google.com/p/word2vec/ 下载下来的Demo源码文件共有如下几个: word2vec – Revision 41: /trunk … LICENSE //Apache LICENSE README.txt //工具使用说明 compute-accuracy.c demo-analogy.sh  // demo-classes.sh  //词聚类的示例脚本 demo-phrase-accuracy.sh demo-phrases.sh  // demo-train-big-model-v1.sh demo-word-accuracy.sh demo-word.sh distance.c makefile questions-phrases.txt questions-words.txt word-analogy.c word2phrase.c word2vec.c 【快速入门】:1. 从http://word2vec.googlecode.com/svn/trunk/ 下载所有相关代码(所有的文件如上); 2. 运行make编译word2vec工具:Makefile的编译代码在makefile.txt文件中,先改名makefile.txt 为Makefile,然后在当前目录下执行make进行编译,生成可执行文件(编译过程中报出很出Warning,暂且不管); 3. 运行示例脚本:./demo-word.sh 和 … 继续阅读

任意字符串NGram分词简易版

功能:输入一个字符串,拆成任意NGram: 输入字符串:今天是2014年4月7日15pm package task;       public class testNGram {        /**      * @param args        * @author jacoxu        * @date 2014/04/07 15:29        */       public static void main(String[] args) {            String testStr = “今天是2014年4月7日15pm”;            System.out.println(split2NGram(testStr,3));            return;        }        private static String split2NGram(String testStr, int nGram) {            if (nGram > testStr.length()) return testStr;            StringBuffer str2NgramBuf = new StringBuffer();            char[] strChar = testStr.toCharArray();            for (int i=0; i<strChar.length-(nGram-1); i++){                for (int j = 0; j < nGram; j++) {                    str2NgramBuf.append(strChar[i+j]); … 继续阅读

百度深度学习进展介绍–余凯@CASIA

【主讲人】:余凯(Deep Learning):–百度深度学习研究院(IDL) 介绍百度DL进展,今年报告李彦宏(Robin)在国际数据挖掘会议ACM KDD上发表演讲,相信技术的力量,提出技术难题: 1:自然图片OCR,2:语音识别和理解,3:图像搜索(不是传统的以文搜图,基于图像内容的图像搜索) 业界趋势:移动互联网带入识图时代。图像:美图秀秀等产品;语音:siri,微软DL,google,科大迅飞,baidu语音识别 Gartner Emerging Tech Hype Cycle 2012 –技术热门曲线 2006 SCIENCE–> Reducing the dimensionality of Data with Neural Networks –Hinton. 分层Pre-Training. 最早从图像开始做,09年开始从语音开始做。 DL 被评为MIT2013十大技术之首,2012.6 Google-Brain 项目,2012.11 微软智能同声传译 Google Building 42, 把所有的AI Researcher 放到同一座大楼中 2013年1月19日,Robin宣布成立百度IDL研究院 2013年9月,Facebook宣布成立AI Lab,图像搜索,语义搜索。Deep … 继续阅读