深度学习在文本对分类中的应用
某平台近期发布了其平台上的首个数据集:包含40万个问题对,并标注了这些问题是否请求相同的信息。该数据集规模大、真实且相关,是一种罕见的组合。本文将解释如何利用深度学习技术解决文本对分类任务,结合新旧技巧与技术。
文本对分类的挑战
文本对分类是自然语言处理中的重要问题类型,其挑战在于通常无法通过单个词语解决问题。例如,判断两个问题是否重复、标题是否与故事匹配,或链接是否指向错误页面,都需要同时考察两个文本项。
数据集比较
近期文本对分类方法主要在斯坦福自然语言推理(SNLI)语料库上开发。该语料库包含50万对短句,标注了句子间的逻辑关系(蕴含、矛盾或中立)。尽管SNLI数据集比以往资源大100倍,但其数据较为人工化,而某平台的数据集则更贴近实际应用场景。
神经网络模型设计
设计神经网络时,关键决策是选择独立表示还是联合表示文本含义。独立表示允许网络单独处理文本并生成向量表示,适用于需要多次比较同一文本的场景。然而,联合表示模型在文本对任务中具有更高的准确性。
神经词袋模型
本文描述了一种简单的句子编码模型——“神经词袋”,使用Thinc库实现。该模型通过预训练词嵌入向量生成句子表示,并通过平均池化和最大池化操作拼接结果,最终通过深度Maxout网络和Softmax层进行分类。
|
|
实验结果
神经词袋模型在Quora和SNLI数据集上的准确率分别为82.8%和88.5%。模型宽度设为128,深度为1(即仅使用一个Maxout层),未使用dropout,初始批大小为1,逐步增加至256。
负结果:Maxout窗口编码
尝试通过卷积层引入位置信息的模型(Maxout窗口编码,MWE)在文本对分类中效果不佳,与之前关于BiLSTM在SNLI任务中效果有限的报告一致。
总结
文本对分类技术尚处于早期阶段,但已展现出广阔的应用前景。未来计划开发交互式演示,探索不同模型在Quora和SNLI数据上的表现。
资源
- 某平台首个数据集发布
- 斯坦福自然语言推理(SNLI)语料库
- Thinc:某机构的机器学习库
参考文献
- Parikh等(2016):《自然语言推理的可分解注意力模型》
- Bowman等(2015):《用于学习自然语言推理的大规模标注语料库》
- Collobert等(2011):《从零开始的自然语言处理》