ali语言好不好过?
1. 什么是Ali语言? ALI(Automated Language Identification)中文翻译为“自动语言识别”,是NLP(自然语言处理)中的一个经典任务,目的就是把句子切成词串进行文本分类(分类到多种语言的集合)。由于英语在计算机语言处理领域占据着半壁江山的重要性,英语语言识别的研究和实现几乎涵盖了ALI领域的各种研究内容,因此本回答以英语为例进行讨论。
2. 为什么要做ALI? 对于大规模文档集合来说,内容分析是信息提取的重要方向之一[1],而语言识别则属于内容分析中的基础模块,因此有大量的应用需求。比如: (1) 全文语义检索中,需要预测文本的语种,以便选择合适的索引向量空间; (2) 多语言的统计机器翻译系统,首先要识别源语言的语种,进而构造出合适的双语词典; (3) 信息抽取中的地名、人名实体识别,通常先通过语言识别模块划分句子边界,然后做实体标签; (4) 在问答系统、文本聚类和摘要生成中,也需要事先完成语言识别的任务。
3. 如何做ALI? 一个简单的基于统计的方法如下所述: 上述方法利用了词语存在固定长度的特征,因此可以设计一个过滤器,对每个词截取前M个字符,再建模型,以提高效率。但是这种方法无法处理多语种的混合数据集,而且精度上也无法令人满意。
目前更先进的方法是基于 deep learning 的端对端模型,如 word embedding + recurrent neural network (RNN),或者 transfer learning/contrastive learning + CNN。这些 model 不需要人为设定词汇表,也不会受到词汇量多少的影响,而且在多种语言混写的情况也能很好地适应。