阿里云「飞天发布时刻」2024来啦!新产品、新特性、新能力、新方案,等你来探~ 了解详情
写点什么

WPS 智能辅助写作平台架构实践分享

  • 2020-05-21
  • 本文字数:2650 字

    阅读完需:约 9 分钟

WPS智能辅助写作平台架构实践分享

结合当下流行的 NLP 等人工智能相关技术,金山办公软件有限公司武汉 AI 部门自主研发了 WPS 智能辅助写作平台。利用意图识别、文本聚类等语义匹配算法,该平台实现了 AI 辅助用户写稿创作,并具备公文模板、素材推荐和辅助生成等特色功能,同时还实现了公文素材的海量收集,数据规模达到千万级文章、百万级提纲和段落。


作为一款技术立业、用户角度的写作产品,wps 智能辅助写作平台在不断提升用户写作体验的同时,也在积极寻求和新思路、新技术的融合碰撞,下面为大家带来结合了 Milvus 相关技术的素材推荐解决方案的案例分享。

整体架构

在 WPS 智能辅助写作平台重要组成部分的素材推荐模块中,基于 Milvus 的向量处理模块作为核心功能,发挥了极其重要的作用,其目标是在海量的文本中高效提取、存储高质量公文素材,并针对不同用户需求进行精准推荐。



图 1.1 结合 Milvus 的 WPS 智能辅助写作平台示意图


本案例的素材推荐服务按模块可以分为数据处理模块和编码存储模块以及推荐查询模块。涉及到 Milvus 向量数据库的主要是编码存储模块以及推荐查询模块。



图 1.2 素材推荐服务整体架构


数据处理模块主要分为数据清洗、提纲及段落抽取,从海量数据中得到筛选后的提纲、段落数据。


编码存储模块则涉及到文本编码和向量存储两部分。文本编码通过深度学习方法得到 256 维高维向量,再将向量及其对应的原文 id 等信息插入 Milvus 向量数据库,并按照 Milvus 提供的索引建立方法 IVFFLAT 对每条数据建立索引。


推荐查询模块则根据用户输入等搜索条件进行编码得到输入搜索向量,在 Milvus 向量数据库中使用官方提供的相似度计算方法(L2 距离)进行最近邻搜索,返回粗召回的向量和原文 id 等,再通过画像、模型等进行精准排序推荐。

组件/技术

在数据处理模块,所用方法主要涉及到特征工程、正则匹配及 NLP 模型打分等。


文档是人类使用复杂语义的代表,从字到词、句子、段落和文章,多层次分布着大量的语义信息。对文档建立特征工程,是最大化提取语义特征的有效途径之一。


结合实际文本数据,本案例选择从词汇、句子等多级别出发,建立文档的词汇特征和语句特征。


在词汇特征级别上,经过分词建立语料词库,再通过 TF-IDF 算法,


计算单词频率项(TF):



以及逆文档频率项(IDF):



得到 TF-IDF 值:



经过排序提取出文档关键词。


同时考虑到对象文本含有大量的人名、机构名称等实体词汇,这些实体在排序召回尤其是精准排序时发挥了巨大作用,因此采用深度学习模型:BLSTM-CNNs-CRF 对文档中的实体词进行抽取。



图 2.1 NER 模型计算流程


BLSTM-CNNs-CRF 模型可以分为三个部分,首先在字符级别嵌入(Char Embedding)的基础上,使用 CNN 模型对每个单词计算其字符级别表示(Char Representation),再将该结果连接到单词级别嵌入向量(Word Embedding),输送到双向长短期记忆网络(BLSTM),最后将 BLSTM 的输出反馈到条件随机场(CRF),共同解码最佳标签序列。



图 2.2 NER 模型结构示意图


在语句特征级别上,本案例使用 TextRank 抽取文档中表达观点的摘要性句子作为文档关键句,TextRank 算法作为一种抽取式的无监督的文本摘要方法,借鉴了用于对在线搜索结果中的网页进行排序的 PageRank 算法,通过分割文本、向量化并建立图模型, 利用转移概率矩阵对文本语句进行排序, 在文档内部实现了关键句抽取。



图 2.3 TextRank 算法流程示意图


同时本案例还训练了一个 TextCNN 模型用于提取文档中的高质量段落和语句,将抽取任务看作分类任务,为了更好的捕捉语句之间的局部相关性,本案例在使用预训练的词向量(Word2Vec)基础上,利用多个不同大小(Size)的卷积核(Kernel),实现语句对单词的强关联。


TextCNN 主要分为嵌入层(Embedding)、卷积层(Convolution)、池化层(MaxPooling)和全连接输出层(Full-Connection and Softmax),作为常用的文本分类算法之一,其优势体现在结构简单,效果良好,可扩展性强。



图 2.4 TextCNN 模型结构示意图


在编码存储模块,编码主要使用语义理解模型,在存储中主要用到了索引 Index 组件。


在编码部分,传统的语句嵌入多使用无监督方法,然而这些方法在处理长语句时不够鲁棒。在本案例场景下,采用了有监督训练方法的语句嵌入模型中的 Infersent 模型,尽可能对句子进行通用表征。


作为有监督模型,Infersent 选取 SNLI 作为分类任务,通过设计好的编码器(Encoder)对句子对(text, hypothesis)进行编码得到其对应的特征向量 U、V,经过连接、差值和内积后得到分类所用的特征,经过全连接层和 Softmax 层后输出对应分类(Judgements),在训练完成后即可通过 Encoder 得到语句的编码向量。



图 2.5 Infersent 模型结构示意图


在索引部分,IndexFlatL2 索引是作为针对欧式距离计算设计的暴力搜索索引,但考虑到际应用场景,本案例选择了在 IndexFlatL2 索引基础上添加聚类的 IVF-FLAT 索引,通过划分搜索空间,在查询时检索某几个聚类,大大加快了整体速度。


本案例也用到了 Milvus 的分区功能,为数据划分不同的种类,使得查询变得更加快速和准确。


线上服务部分主要使用 K8s 共享集群,同时考虑具体数据内容,选择 mysql 保存元数据信息,没有使用默认的 SQLite,侧面也反映了 Milvus 组件的灵活性。

性能目标

目前部署于 0.6.0-CPU 版本 Milvus 向量数据库约有 200 万文本,用于支持 WPS 智能辅助写作微信小程序搜索,同时正在处理增加数据,预计可以达到千万级规模语料。


在响应时间方面,本案例使用共享集群,计算资源被其他应用所共享,因此本案例的数据只能作为参考标志,在目前的版本中单次单条服务总体响应时间平均达到 0.2s。

应用效果

在面向党政领域的素材智能推荐功能上,意图识别准确率达 80%以上,用户素材引用率达 40%;在面向公文领域的辅助生成功能上,实现了多类法定公文的写作模板和辅助创作,并支持一键生成全文。



以 WPS 智能辅助写作网页客户端为例,现支持工作总结、心得体会以及评论观点等 9 类常见公文类型的辅助写作,辅助功能则主打一键全文和智能生成功能。一键全文功能通过对标题、关键词的意图理解,通过相关推荐算法选择合适的提纲和段落,生成一篇完整的文章供用户修改使用。而特色的智能生成功能则先初步为用户提供多篇可更换的提纲段落,同时在用户修改创作过程中,通过 AI 生成算法对选中字段结合上下文语境生成适度文字段落供用户引用和发散思维,达到以人为主、辅助创作的效果。




而 WPS 智能辅助写作平台微信小程序在相关公文功能的基础上,开发了诸如诗词创作、信件模板推荐等实用功能,同时引入了写作社区,方便用户开拓视野、分享创作,以文交友,进一步提升写作体验。


公众号推荐:

跳进 AI 的奇妙世界,一起探索未来工作的新风貌!想要深入了解 AI 如何成为产业创新的新引擎?好奇哪些城市正成为 AI 人才的新磁场?《中国生成式 AI 开发者洞察 2024》由 InfoQ 研究中心精心打造,为你深度解锁生成式 AI 领域的最新开发者动态。无论你是资深研发者,还是对生成式 AI 充满好奇的新手,这份报告都是你不可错过的知识宝典。欢迎大家扫码关注「AI前线」公众号,回复「开发者洞察」领取。

2020-05-21 14:153421

评论 1 条评论

发布
用户头像
学习了
2023-12-28 15:31 · 北京
回复
没有更多了
发现更多内容

国泰航空开发基于 MongoDB 和 Device Sync 的机上移动应用

Geek_2d6073

PAM案例——某大型医院

尚思卓越

数据库 运维 安全

制作AI数字人需要什么软件?

青否数字人

数字人

数仓调优实践丨多次关联发散导致数据爆炸案例分析改写

华为云开发者联盟

大数据 华为云 华为云GaussDB 华为云开发者联盟 华为云GaussDB(DWS)

什么是shell?

小魏写代码

AI数字人在tiktok平台开播教程!

青否数字人

Illustrator 2023 for mac(ai2023) v27.9完美激活版

mac

ai2023 苹果mac Windows软件 矢量图形编辑软件 Illustrator 2023

即拍即改!合合信息旗下扫描全能王推出首个移动端图片文字编辑功能

合合技术团队

合合信息 #科技 #人工智能 扫描全能王

DaVinci Resolve Studio 18中文正式版族最新

mac大玩家j

Mac软件 视频调色软件 Mac视频调色工具

2023 ACDU 中国行 · 西安站 | 数据库技术发展及实践

KaiwuDB

KaiwuDB ACDU 中国行

大模型元年压轴盛会定档12月28日,第十届WAVE SUMMIT即将启航

herosunly

Guardrails for Amazon Bedrock 基于具体使用案例与负责任 AI 政策实现定制式安全保障(预览版)

亚马逊云科技 (Amazon Web Services)

人工智能 re:Invent 生成式人工智能 Amazon Bedrock Amazon CloudWatch

Go语言实现GoF设计模式:适配器模式

华为云开发者联盟

开发 华为云 GoF设计模式 华为云开发者联盟

1688订单详情接口使用指南:含代码实现获取订单信息

Noah

数字人直播需要注意哪些问题?如何防止封号问题?

青否数字人

数字人

什么是超级应用App?应该如何建设?

Geek_2305a8

线上业务优化之案例实战

EquatorCoco

优化 优化工具 线上业务

软件测试/人工智能丨UIDiff检测技术

测试人

人工智能 软件测试

1688订单详情对接及实现方案

Noah

大模型元年压轴盛会定档12月28日,第十届WAVE SUMMIT即将启航

爱编程的喵喵

详解Hybrid App 技术框架与研发方案

Geek_2305a8

演唱会真假难辨?一招揭密声纹技术丨ZA科技事儿

ZA技术社区

大数据 AI 声纹识别

通过容器化应用实现前端微服务

Geek_2305a8

案例实践:某券商从 Neo4j 迁移至悦数图数据库

悦数图数据库

图数据库

程序员的护城河是什么 ?

KubeData

个体成长

互联网一线大厂最新高质量Java面试八股文整理(附答案)

架构师之道

程序员 java面试

TDengine 签约大唐水电院,助力水电时序数据高效写入存储查询

TDengine

tdengine 时序数据库

Cornerstone for Mac v4.2永久激活版:最好用的SVN管理工具介绍

iMac小白

AI数字人在京东平台开播教程!

青否数字人

数字人

好用的电子书生成工具:Vellum 激活最新版

胖墩儿不胖y

Mac软件 电子书制作工具 电子书管理软件

聊天记录年度报告一览无余:轻松多格式导出永久保存,深度智能分析

汀丶人工智能

人工智能 自然语言处理 深度学习 AIGC 报告生成

WPS智能辅助写作平台架构实践分享_AI&大模型_陈启贤_InfoQ精选文章