深度学习是在机器学习基础上发展而来的一种技术,它主要分为监督学习、非监督学习和强化学习三种类型。深度学习的核心在于将特征提取和学习过程结合在一起,实现了端到端的学习。常见的深度网络包括堆叠自编码器、深度信念网络、卷积神经网络(CNN)和循环神经网络(RNN)。
自编码器的特点在于其输入和输出完全一致,通过学习输入数据在隐层中的表示,实现数据的重构。堆叠自编码器则是将多个自编码器的隐层连接起来,形成多层网络。深度信念网络则是基于限制玻尔兹曼机(RBM)构建而成的。RBM是一种基础的神经网络结构,通过多个RBM堆叠形成深度网络。
深度学习最广泛的应用之一是卷积神经网络(CNN),它通过卷积操作学习输入数据的局部特征,广泛应用于文本处理和图像识别等领域。循环神经网络(RNN)的变种如长短时记忆网络(LSTM)在语音识别和文本处理方面有着广泛应用。从这些网络可以看出,深度学习在神经网络的基础上得到了显著的发展,尤其是在海量数据积累、逐层训练技术和计算能力提升的推动下,深度学习的效果日益显著,广泛应用于语音识别、计算机视觉和自然语言处理等领域。
自然语言理解处理的对象是文本,文本广泛存在于日常生活和工作中。例如,达观数据擅长处理正式文本或长文本,包括法律文书、人事档案、证券专业文书、企业手册、新闻文章、问答资料和客户评论等。这些文本在金融、法律、媒体、互联网、政府和公共机构等多个行业中普遍存在。如果能使用自然语言理解和机器学习方法自动化处理大量文档,将显著提高企业和政府部门的工作效率。
然而,让计算机理解文本是一项极具挑战性的任务。首先,计算机缺乏常识和专业知识,而人类通常拥有丰富的背景知识。例如,“future”一词在金融领域可能指的是“期货”,而在日常生活中则指“未来”。此外,人类语言本身具有高度的抽象性和模糊性,常常包含多重含义和语境信息。例如,“吃饭了吗?”这句话对计算机而言只是简单的四个字,但对人类而言却可能蕴含丰富的隐含意义。
从分词角度来看,同一个概念可以用不同的词汇表达,例如“中华人民共和国”和“中国”虽然表达相同的意思,但在文本处理中却需要区分。此外,计算机在解决指代关系问题时也面临巨大困难。除此之外,同义词、近义词、局部转义和多义词等问题也是自然语言理解的难点。
例如,“方便方便,意思意思”这句话展示了多义词现象,计算机需要理解其中的不同含义。在句子构造过程中,句子成分的顺序变化也会对理解造成影响。在语义层面,歧义问题更为复杂,例如“咬死猎人的狗”这句话在没有上下文的情况下很难理解,究竟是狗咬死了猎人,还是动物咬死了猎人的狗。
为了解决这些问题,我们采用了多种机器学习和深度学习方法来建立模型,通过海量文本进行训练,以预测未来的文本理解。这种方法类似于人脑的学习过程,通过学习大量专业知识,未来遇到类似问题时能够做出准确的预测和判断。
在建立这些模型的过程中,我们通常会进行字词级、段落级和篇章级的分析。字词级分析包括分词、命名实体识别和同义词分析等。段落级分析涉及从句子到段落层面的文本建模,通常包括依存文法分析和文本纠错等。篇章级分析则更多地关注语义层面的理解,包括文本相似度、主题模型、文章聚类和标签提取等。
文本语义分析首先涉及表示学习。传统的文本表示方法是通过One-hot编码实现的,而深度学习方法则倾向于使用稠密向量编码。词向量的稠密表示不仅降低了维度,还能够捕捉词义层面的相似性。经典的词向量训练方法包括谷歌提出的Word2Vec模型,该模型通过词袋模型和跳跃表方法实现。在此基础上,GloVe方法进一步发展,引入了全局信息。
除了词向量外,深度学习的各种网络结构也被用于文本分析。例如,卷积神经网络(CNN)可用于句子分类。层次注意力模型是一种新颖的网络结构,它考虑了文本或篇章的结构,从词到句子再到篇章进行注意力机制的学习。此外,金字塔结构的卷积神经网络模型能够在长文本表示学习中实现高效分类。
信息抽取也可以通过深度学习实现,达观通常将信息抽取问题转化为分类问题,以充分利用层次注意力模型和金字塔结构的CNN等网络结构。对于命名实体识别(NER)或分词任务,我们使用“深度学习+条件随机场(CRF)”的方法,例如使用词向量、LSTM和CRF相结合的方法实现NER。对于某些特定场景下的低频词汇,达观采用了将低频词汇和专业领域词汇与原始词向量拼接的方法,以解决低频词汇处理问题。
达观数据通过这些深度学习模型和应用实践,能够高效处理企业常见的合同、简历、工单、新闻、用户评论和产品说明等文档。
推荐系统非常流行,例如今日头条和抖音等平台通过算法推荐用户感兴趣的内容,取得了巨大的成功。国内类似的企业和APP也在不断增加,它们往往选择像达观这样的SaaS服务来实现推荐系统。
推荐系统的基本过程包括数据预处理、使用自然语言理解中的分词和命名实体识别技术、文本分类、主题模型和情感分析等,最终将分析结果放入搜索引擎。达观使用的搜索引擎是Elasticsearch集群,实现初步的排序处理。
推荐系统使用各种算法,如协同过滤、基于内容的推荐算法和深度学习推荐算法。不同的推荐算法在不同场景下会产生不同的推荐内容。为了获得更好的效果,我们还会使用一些融合算法,如GBDT和SVD等。此外,像DeepFM等算法也可用于融合不同推荐算法的结果。
除了传统的协同过滤算法,我们还尝试了Wide&Deep网络结构,该结构结合了Wide模型和Deep模型。Wide模型使用逻辑回归(LR)实现高效学习,而Deep模型则通过多层神经网络学习原始特征。通过联合训练,Wide&Deep模型能够获得更好的推荐效果。
神经网络协同过滤也是一种改进方案,它在协同过滤的基础上使用神经网络方法实现更好的效果。该方法通过大规模离线训练获得较好的协同过滤效果。
知识图谱是当前非常热门的一个方向,我们将知识图谱与深度学习结合,应用于推荐系统。例如,通过注意力网络结构,结合用户兴趣和候选集中的项目,学习出用户的偏好权重。将项目内容通过表示学习转换为向量表示,最终结合神经网络协同过滤方法,形成推荐系统中的候选学习过程。
综合这些推荐算法,可以有效实现个性化推荐、相关推荐和热门推荐等多种内容。这些推荐系统可以广泛应用在资讯推荐和简历推荐等领域。例如,在HR发布职位需求时,可以推荐满足这些需求的简历。对于案件处理,可以推荐相关的案件和法律条文。商品推荐也是推荐系统的常见应用场景。
达观的推荐系统结合了深度学习、自然语言理解和各种算法,实现了非常优秀的推荐效果。除此之外,我们还有许多行业应用经验,例如为招商银行的掌上生活提供个性化推荐服务,以及为澎湃新闻APP提供SaaS服务。
在自然语言理解环节中,我们提到文档种类繁多,应用场景多样。例如,对于财务报表,需要进行信息抽取,将其转化为结构化数据。对于合同,则需要检查其是否符合法律法规和企业内部规定,并避免阴阳合同等情况。
文档智能处理的应用场景还包括智能搜索和审查。例如,新入职员工需要快速了解公司手册中的内容,智能搜索可以帮助他们找到相关信息,而无需查看整个文档。此外,我们还可以利用深度学习和自然语言理解技术辅助撰写新闻、报告等文档。
下面我们以文本分类为例进行技术解析。文本分类可以使用深度学习和传统学习方法。当语料较少时,例如职位描述(JD),我们可能会选择传统方法如决策树或支持向量机(SVM)。而对于规模较大的简历数据,可以使用层次注意力模型和金字塔结构的CNN等深度学习方法。
信息抽取通常使用条件随机场(CRF),其标注语料要求较低,几百到一千份即可。随着语料增加,可以使用深度学习方法,如金字塔结构的CNN和层次注意力模型。此外,Wide&Deep模型也可以用于信息抽取,通过联合训练CRF和深度网络模型,实现迁移学习效果。
除了信息抽取,文档智能比对也是一个重要应用场景。通过信息抽取技术提取关键信息,再结合业务规则对合同进行智能审阅。这种方法可以显著提高效率,为企业节省大量法务人员成本。
达观使用的架构图涵盖了从输入特征工程到传统机器学习方法,再到深度学习方法的全过程。最终,通过融合算法将不同模型的结果输出进行算法融合,实现后处理,包括业务规则、过滤条件等,以过滤掉不适合的内容。我们不仅依赖深度学习的效果,还会根据具体应用场景选择合适的方法。例如,在数据规模较小的情况下,使用深度学习可能不太适用。