首页 » PHP教程 » phpnlp分句技巧_敏捷AI|若何运用NLP技能构建智能聊天机械人和用户画像

phpnlp分句技巧_敏捷AI|若何运用NLP技能构建智能聊天机械人和用户画像

访客 2024-12-15 0

扫一扫用手机浏览

文章目录 [+]

实际上在这些产品的背后,AI技能已广泛地运用其干系的各条业务线中。

从宜信所处的金融领域的各个子领域来划分,可以分为智能交易、智能信贷、金融信息、金融安全、个性化做事这五个方面,每个方面都有干系人工技能的赞助。

phpnlp分句技巧_敏捷AI|若何运用NLP技能构建智能聊天机械人和用户画像

例如智能交易领域,有智能投研、量化剖析、自动/赞助交易等技能;智能信贷领域,有能够进行身份识别、用户画像以及智能风控等干系的人工智能产品;金融信息领域,我们会进行知识工程、图谱剖析、智能问答等;金融安全领域,要进行反敲诈剖析;而个性化做事领域就更广泛了,我们有行为剖析、智能营销、推举与匹配以及智能理财顾问等等一系列比较成熟的AI产品。

phpnlp分句技巧_敏捷AI|若何运用NLP技能构建智能聊天机械人和用户画像
(图片来自网络侵删)

让我们连续向下探究,在这些AI产品的背后,会创造都有一些NLP(Natural Language Processing, 自然措辞处理)技能的影子。
比如在智能交易领域,我们须要理解相称多的投研报告,这里就会用到报告理解方面的NLP技能;智能信贷领域,可能须要进行风控报告的天生和剖析,也要用到干系的NLP技能;知识工程领域,要对金融信息进行知识提取,或者为了构建知识图谱进行关系提取、事宜提取等;智能营销和智能理财顾问中,则须要智能谈天以及话术提取的处理技能。

可以说NLP技能贯穿了各个领域的AI产品,其直接缘故原由便是由于我们的业务中存在着大量的自然措辞数据,如电销通话数据、客户剖析小结、客服沟通内容、内部互换信息以及其他各种文本报告等等,这些数据都是利用自然措辞来进行存储的;而且用自然措辞文本存储这些数据,还有着其他形式数据无法比拟的一些优点,如图1所示,自然措辞数据来源丰富,信息表述多种多样,保留信息完全,并且符合用户习气等等。

图1 自然措辞的特点

但是,我们须要把稳到相较于这些优点,自然措辞数据也有着数据非构造化不易处理、存在可能的歧义性、语法不规则性、未知措辞征象等缺陷。
其余,结合宜信所处的业务领域,这些自然措辞又有一些独特的特点:更强的词汇专业性、更广泛的数据来源、多样的数据形式(录音数据,笔墨对话数据以及短/长文本的报告、小结等)、较大的数据量以及分布的不屈衡性。

这些缺陷使得自然措辞数据并不随意马虎处理,NLP技能履行起来难度也不小,但是为什么自然措辞数据仍旧越来越得到关注,NLP技能的履行也越来越广泛了呢?

实际上,近几年来,各企业、组织开始在业务中也越来越关注大量非构造化数据中蕴含的高代价信息。
我们知道,构造化数据比较好处理,但是经由多年的发展,能够从中挖掘出的信息越来越有限;而我们平时打仗到的非构造化数据,其数量级要比构造化数据多出好几倍,里面蕴含着非常多的高代价信息。

范例的非构造化数据包括图片、视频等,其余很主要的一部分便是自然措辞文本数据。
我们可以从这些自然措辞文本中挖掘出大量有代价的内容,例如在前面所述的宜信自然措辞数据中我们就可以得到客户信息、产品数据、舆论方向、策略反馈等。

此外,自然措辞处理给我们带来了新的会话交互办法,更确切的说,基于自然措辞理解和自然措辞天生所形成的对话式用户交互更加自然、高效、吸引人,更加符合用户习气,这也便是我们所说的Conversational UI,新的交互办法越来越多的运用在各个领域。
比如我们打仗到的智能音箱小爱同学,她的表现就非常惊艳。

以是,越来越多的业务开始关注非构造化数据和自然措辞数据这些高数量级的有代价信息,它具有的一些特点,供应的一些交互办法,带来了更多扩展的形式,这就导致了自然措辞数据越来越主要,NLP技能越来越必要。

我们给NLP技能做一个大略的定位,即NLP技能承担了领域内自然措辞数据的分类、提取、转换、天生任务,是业务领域内主要、根本的技能做事之一。

二、NLP技能在宜信

宜信拥有丰富的业务和产品线,这些产品线产生了大量的人工智能赋能需求。
算法团队成立以来,一贯面临着不小的项目压力。
在全体项目的驱动过程中,团队也逐渐得到发展,结合金融领域的干系业务知识,磨练出从规则剖析到统计学算法,再到更加繁芜的神经网络,以及NLP领域专业技能等一系列技能。

图2 干系算法技能栈

详细来讲,我们从可以承担基本的处理任务(利用一些现有的规则剖析、基本算法模型所进行的词性剖析、句法剖析)发展到可以利用相对繁芜的神经网络模型对外供应文本分类、文本聚类、信息抽取等等一些模型做事,再到目前履行的智能谈天机器人(Chatbot)、用户画像、知识工程等高等场景,技能也随之转向了transformer、GAN、强化学习、深度学习网络等能力越来越强、构造越来越繁芜的模型。
这一过程可以看出来技能在不断的进步。

除了技能在不断的发展以外,我们也积攒了一批有代价的语料。
在业务环节方面,我们积攒了如电销数据、客服数据、陪访数据、催收数据等语料;在业务领域方面,我们积攒了借贷(车、房、消费),理财(投资、保险、生活、传承、***)等方面的语料;而在数据形式方面,我们网络了对话类(电话、笔墨沟通信息)、文章类(小结、新闻、报告)形式的语料。

这是一批比较有代价的语料信息,终极形成了公司内部的专业语料数据,包括公司的产品清单、业务术语表、业务实体表乃至财富领域的财富产品知识图谱等等。
我们终极的目的是经由一定的扩充、抽象和加工之后,希望能够形成金融领域的、高代价的、专业数据集,来对外进行赋能输出。
比如我们可以输出金融术语表、金融术语同义词林、金融领域干系本体以及各个子领域的知识库等。

此外,我们在做事模式上也有一个蜕变的过程。
早期我们因此项目为驱动的做事模式,这个过程中存在着一些普遍的痛点:

产品浩瀚、业务需求繁杂;不同的业务相结合,需求不断发生变革;时效性哀求,越快越好,上线稍晚就会影响到需求方;研发团队人力有限,偶尔还要兼顾环境支配、上线模型监控与掩护等事情,全体过程中研发团队忙、压力大,没韶光对模型进行有效调优。

那么如何办理这些痛点呢?反思过后,我们走出了主要的一步,即做事的平台化。
通过构建一个统一的NLP模型平台,对外供应一个统一的NLP做事,其优点是:

降落本钱,提高效率;平台上的模型可以灵巧组合,快速相应客户的需求;可以统一干系标准,方便对模型进行集中管理。

通过平台化做事,使我们的事情摆脱了原有的粗放式做事模式,提高了AI团队的输出能力。

图3 做事的平台化

图3为我们平台的逻辑功能视图,自底向上分为资源层、预处理层、模型层及场景层。
资源层紧张包括一系列的语料、标签、预演习模型等资源;预处理层包含一些常用的NLP技能,如分词分句、词性剖析、句法剖析、主题剖析、命名实体识别等;模型层则包括一些可以对外供应做事的算法模型,例如文本的聚类、分类、天生、复述等模型,情绪剖析模型等;最高的场景层则针对一些高等的、可以形成一定闭环能力的繁芜场景进行办理方案的构建,例如对付智能机器人、用户画像等繁芜场景,我们会形成一个包装好的办理方案,供应给用户利用。

图4 NLP平台架构

图4为NLP平台工程架构。
我们构建了一个支持Python环境的多任务调度微做事架构,从图中可以看到我们利用Mongo、HDFS、ES、MQ等系统构建了干系的数据访问层、模型算法层,在这两层的根本上,在微做事层我们对算法模型进行任务调度管理;外部我们暴露出干系的Web接口和App接口。
此外,纵向来看,我们集成了一些权限管理、多租户管理功能,可以对接企业内部的单点登录、身份认证、权限掌握等系统。

三、高等场景之智能谈天机器人

上文我们先容了NLP技能、数据、做事上干系蜕变发展的过程,接下来,我将结合两个详细的实例来分享我们在NLP领域的一些履行履历。
第一个要先容的场景是:如何利用NLP技能以及智能谈天机器人来办理组织内部面临的大量的逐日业务咨讯问题。

图5

对付当代企业来说,智能谈天机器人有着非常广泛的业务需求。
对外,我们有常见的客服机器人、智能投资顾问等;对内,我们有业务支持机器人、运维机器人以及个人助理等。

本实例是一个面向企业内部的信贷业务咨询机器人,为一个问答类QA-BOT。
它的业务背景是:目前宜信的普惠业务在全国范围内有着500+线下门店,包括600+位业务部主管,3000+位业务专员以及20000+位一线发卖。

每天这些一线同事在业务事情中都会产生大量的业务咨讯问题,以往这些问题都是后台支持同事人工在IM中进行处理,事情非常呆板,处理本钱高、效率低;无法对问题进行有效的统计,不知道问题提问的频次,导致无法针对性的进行培训。
长此以往,不利于业务的发展,也不利于团队的发展。

为理解决这个困境,我们研发了一个基于QA的问答机器人来支持这个事情,将人工的过程转为自动处理,从而实现一个全天候、7X24小时的全面支持机制。

对付问答机器人来说,其任务的核心和实质实际上便是基于检索的问答模型,我们给它半形式化地定义如下:

输入一个用户的问题Qx,在已有的QA数据库中,即(Q1,A1),(Q2,A2),…,(Qn,An)等QA问答对中,找到这样一组问答对(Qk,Ak),使得函数F(R(Qx),R(Qk))的值最大,个中F为语义相似度函数,R为文本表征函数。

上述定义便是说我们希望在所有QA问答对的问题中找到与用户提问最为相似的那个问题,它所对应的答案便是最得当反馈给用户的答案。

这个中的核心问题是求文本语义相似度,也便是求两个问题文本之间的相似度。
办理这个问题有很多方法,例如我们可以直接构建一个Dual LSTM的神经网络,把用户的query从一侧进行输入,然后把知识库中问答对的question从其余一侧输入,通过RNN、CNN或者全链接的网络,在语料充足的情形下,就能够演习出一个模型,输出的概率值即为两个输入问题的相似度,如图6所示。

图6

然而,大多数情形下我们都面临样本不足充足的问题,尤其是在快速迭代的研发环境下,我们常日无法搜集到足够的语料。
以是我们常把相似度问题拆分为两个子问题,即短文本语义表征和语义间隔打算。
两者间又以前者更主要一些,一旦我们即将处理的问题有了一个合理的语意表征,我们就可以通过大略的余弦间隔、全链接管集等打算出两个表征之间的语义间隔或者说语义相似度。

那我们若何准确地表征短文本语义呢?

这也有很多方法,比如经典的词袋模型,还有一些无监督的表示方法(词向量加权、Doc2Vec、Skip-thought、Variational Auto-encoder)以及有监督的表示方法(DSSM、迁移学习)等。

但是我们要把稳到之前所说的限定条件,也便是只能基于小规模语料和目前有限的QA问答对,而且业务哀求快速履行、快速迭代。
于是在方案的早期履行阶段,我们优先选择了“词袋模型+同义词扩展+tf-idf 权重”的这个方法,利用我们之前积累的干系术语的同义词、常用词的同义词,可以把一个问题进行基于同义词的复述,从而探索出来很多不同的问法,来提高用户提问在有限QA对数据库中命中的几率。
通过上述方法构建出短文本的表征向量之后,再利用一些语义相似度的打算方法,就可以得到两个文本之间语义相似程度的分数。

这种方法最大的好处便是快,我们可以利用小规模的语料,1-2周之内在一个新领域上迅速上线一版效果表现非常不错的问答机器人。

图7

当然这个方案肯定不是终点,上述这个方案最主要的浸染是迅速上线初版模型,利用这个模型我们就可以去网络用户提出的真实问题,滚动、积累更多问题数据,不断的补充进语料库和QA数据库,进而为我们演习更繁芜的模型供应根本。
而且随着QA数据库中的QA对越来越多,我们可以去回答更多类型的问题。

在有了一定的语料根本之后,我们构建了一版更为繁芜的神经网络模型。
这里我们采取了经典论文“Universal Language Model Fine-tuning for Text Classification”(by J. Howard et al)中的思想,在通用语料上先演习出一个language model(措辞模型),再在领域语料上对该模型进行fine-tuning,末了将其迁移到终极的目标任务上,此外论文还供应了一些调参、优化的技巧。

图8

按照这个思想履行项目:在Wiki语料上演习措辞模型之后,又在领域语料上进行了调优,然后迁移到相应的相似度打算网络上,终极得到了一个不错的测试效果。
返回的答案列表中,精确答案排在首位的概率有88%,精确答案位于列表前三位范围以内的概率有94%,整体来看这个效果是不错的。

当然对付问答机器人来说,QQ相似度打算只是个中比较主要的一步,还有许多其他模型须要领悟进来,协作提高问答的准确率。
比如QA匹配模型,用来打算用户问题和知识库中所有问题对应答案的匹配程度。
不过有了前面QQ相似度的打算根本,我们完备可以用同样的思路来构建一个QA匹配模型,输出QA匹配度值。
末了将QQ相似度值和QA匹配度值进行加权重排,得到终极的答案列表,这才是返回给用户的答案。

此外还有一个扩展方向,即对付用户提问未能命中QA数据情形的处理。
QA数据库是由人工提取或智能天生的QA问答对构成的,个数有限,因此对付用户可能会提问的各种各样的问题无法完备覆盖掉。
一个有效的能力扩展方法便是开拓QA机器人的检索数据源(见图9),将机器人检索范围扩展到一些第三方API查询接口,QA问答对数据库,知识图谱以及文档等各个渠道的知识,从中找到答案。

图9

在我们的项目里,我们履行了“文档检索+关键信息提取”的保底方案,在问答数据库无法覆盖所有问题的情形下也尽可能为用户供应答案。

当然,我们还可以针对一些问题,通过槽值提取、实体关系识别等方法,实现在三方API上或者知识图谱上进行搜索,不过这个方法会轻微繁芜一些,一样平常还须要会话的支持,此方面有专门的文章和报告,这里不再赘述。

不过提起多轮会话,我们还可以利用这个技能办理其余一个问题,即如何办理模糊提问。
实际中,用户提出的某些问题非常模糊,无法找到准确答案,这常常会造成系统效果低落。
例如用户问的问题非常简短,仅仅两三个字,这显然很难在QA 数据库里检索到一个准确答案。

图10

图10是一些资料上对机器人进行的划分,对话机器人在这里分为QA类和会话类两类机器人。
QA类机器人便是在构造化和非构造化的数据上进行检索。
而会话机器人则常日须要在多轮会话支持下,就一个问题多次与用户进行互换,捕获用户意图,给出对应的相应,比如闲聊机器人,任务机器人以及推举机器人等。

我们认为QA机器人也会逐渐引入会话的观点,对付用户提出的模糊问题,完备可以利用对话状态剖析、对话状态管理以及关键信息识别等方法来判断用户的意图是什么,缺失落的信息有哪些,之后利用文本天生或追加提问等方法来哀求用户补充更多信息。
这样我们的机器人在有足够信息的条件下,就可以查找到更精准的结果。

图11 机器人处理紧张流程

图11是机器人的处理流程,分为了预处理、剖析分类、检索匹配、综合排序四个紧张环节,各环节所涉及的技能也有列举,报告之前我们着重先容的QQ检索、QA匹配等任务。

其余,我们对谈天机器人这一相对高等的场景也供应了平台化的管理(见图12),其架构紧张是在底层的自然措辞处理平台上进行了进一步的场景化包装,在其根本之上增加了谈天机器人模块(包括Web/APP集成、对话管理、人工后台、外部API对接等),QA库管理模块(包括数据管理、履行发布等)和知识库管理模块(批量导入、内容管理、语料天生等)以及很主要的统计模块(包括统计挖掘和报表展示)。

图12 平台化高等场景管理

我们通过对场景中各功能进行封装和整合,以平台的形式供应一个一站式办理方案,用户在付出少量数据的情形下,就可以对模型无感知地迅速构建一个自己的业务问答机器人。

图13~图15为机器人的一些运行效果截图。
个中图13为web版机器人交互界面,可以看到机器人回答的形式包括精准回答、相似问题、文档库搜索内容。

图13 机器人展示效果

图14是后台管理界面中的会话检索功能,可以在此方便地浏览机器人和系统用户所进行的会话,评估机器人效果,并可以把在会话过程中创造的、QA库里没有记录到的新问题识别出来,快速方便地添加到QA库之中。

图14 后台管理-会话检索页面

图15为模型管理模块,个中可以看到机器人所涉及的各种模型列表,每个模型后有干系操作按钮,可以对模型进行上线、更新、重启、停滞等一系列管控操作。

图15 后台管理-模型管理页面

四、高等场景之构建客户画像

在第三部分中我们讲解了如何构建智能谈天机器人,本章我们则会先容如何构建用户画像。

在许多企业中,每天业务职员和客户的沟通都会产生大量记录,这些记录可能包括了客服的沟通数据(通话记录、通话小结),也可能包括了各式各样的报告数据(陪访报告、征信报告等)(见图16)。

图16 业务职员与客户产生沟通记录

前者可能口语会多一些,后者则紧张是书面用语。
但两者之间有一个共同的特点,便是个中都蕴含着丰富的客户信息。
想要把这些信息提取出来,我们就须要利用到(NLP)技能。

图17为一段客户陪访报告的节选,不雅观察其文本特色,创造有许多业务所关注的信息,比如职业方面,客户是“大学教授”;在可投资产方面,理财金额有“100万”,投资类型是“银行理财”,对公司的态度是“不理解”等。

图17 客户陪访报告示例

以是我们完备可以通过NLP剖析文本,对个中的客户特色进行标签化提取,终极利用得到的标签构建出客户画像。
这样做的好处很多,比如方便我们的业务职员随时创造关键问题,便于跟进;自动化处理,提高事情效率。
根据挖掘出的信息构建出客户标签画像之后,就可以方便地盘点特定时间范围内的需求特点,为新产品设置供应系数参考,或者补充、验证构造化字段内容。

总体的履行路线如图18所示,先通过业务剖析来定义业务关注的标签库,然后针对定义出来的标签演习相应的提取模型,末了利用模型对数据进行剖析,得到一系列客户标签,再对其进行汇总,终极形成客户画像。

图18 总体履行路线

总体的路线是这样的,但详细的履行过程中我们也有一些细节须要关注。
通过对之前的数据进行剖析,我们创造了一些特色,比如文本之中信息高度集中,信息表述常日以短句为单位,但是单一短句语义存在模糊性,还须要结合一定的高下文对其进行剖析。
以是我们须要对繁芜句进行适当的切割,确定得当的数据粒度,同时合营一个适当大小的短句滑动窗口来捕获干系的高下文语义。

此外对付内部的业务文本来说,其内容涉及大量产品的专有实体名称和术语,以及较多的数字。
针对这种情形,我们建立了专门的词库和实体库,对相应的实体名称和术语进行准确的切割和识别。
对付数字的处理,我们先后比较字向量、标识符更换、规则识别+后处理等等技能方案,并且选择了个中效果最好的方法。

当然我们也面临着普遍存在的标注语料不敷的问题,因此在这个项目中,我们侧重于研究怎么在小样本条件下进行Few-shot learning。

实际中,在大多数专业领域AI项目履行过程中,都存在着标注数据不敷的情形,以是针对小样本进行学习的Few-shot learning也越来越凸显其主要性。
Few-shot learning包括很多种技能,有常见的迁移学习+fine-tuning技能,范例的如Bert;也有基于半监督演习的一些技能,如基于相似性度量的一些神经网络模型,基于最近邻算法的样本标注扩散这些技能等;还有meta learning的干系技能,例如OpenAI在ICLR 2018上的best paper;乃至还有一些图网络的干系技能。

在以上各类技能当中,比较适宜工程化的、比较随意马虎履行的还是基于迁移学习的方法。
在我们的项目中,创造迁移学习,也便是基于预演习模型,迁移到目标演习任务上,再加上半监督学习的标注赞助,可以比较好的知足我们的需求。

下面先容一下我们的算法流程:先对繁芜句进行洗濯与切割;之后可以选择性的加入一些过滤规则,快速地去除那些比较明显的噪音数据;然后将数据流入到标签提取模型之中,得到详细的标签;末了在画像构建阶段对得到的所有标签进行去重、消歧,形成终极的客户画像。

详细到算法模型,我们也先后比较许多方法,实质上我们认为标签识别模型是一个短文本分类算法,我们考试测验了基于统计的方法(SVM, Random Forest, XgBoost),也考试测验了基于神经网络的模型(FastText,Text CNN/RNN/RCNN, HAN),终极我们选择了HAN模型,也便是层次把稳网络(Hierarchical Attention Network)模型,通过在词一级和句一级分别进行RNN和Attention打算,终极得到一个合理的文本向量表征,用于末了的分类,全体过程如图19所示。

图19 HAN模型架构

图20是本实例的总体处理流程,经由数据预处理之后,文本被并行地分配到各个业务关注标签提取模型之中,输出各个业务标签,终极汇总到客户画像构建模块,在此进行去重、消解歧义和抵牾,末了得到客户的画像。

图20 实例处理总体流程

其余我们结合公司的敏捷实时数据平台设计了一个相应的实时AI办理方案,如图21所示,这里用到了我们团队开源的一些技能,包括DBus(数据总线平台),Wormhole(流式处理平台),Moonbox(打算做事平台)以及Davinci(可视运用平台),这四个平台构成了敏捷大数据平台栈。

在这个方案里,我们通过DBus来采集各种数据存储中的自然措辞数据,经由一些可选的技能(如ASR等)得到相应的文本;再通过Wormhole来进行实时的流式处理,标签模型在Wormhole的实时数据流上运行,对数据流中的文本自动提取相应的标签,再由Wormhole输出到指定的数据存储中;之后由Moonbox对标签进行后续的汇总处理,先从存储介质之上把之前打算得到的标签提取出来,利用画像模型对画像进行构建,输出到如Redis之类的存储介质之中,末了推送给业务系统供其利用。
这便是我们实现的一个实时用户画像处理流程。

图21

此外,在图21下方的数据流分支里,我们通过在Wormhole上流转的生产数据流进行一个选择性抽样,之后同样利用标签模型和画像模型,打算出客户画像,此后将原始数据、标签数据和客户画像通过Davinci展示给我们的模型掩护职员,用于评估检讨模型的运行情形,这样就实现了一个实时的模型效果监控系统。
综合这两者,我们就得到了一个实时的、基于文本分析的画像构建系统。

五、总结

随着各企业实体对自然措辞数据愈发关注,NLP+AI技能在各领域都成了非常主要、核心的根本技能做事。
领域知识与NLP技能的结合带来了新的技能产品,创造出了新的商业代价,比如我们目前常用的一些产品:Siri、小爱同学等等,这种Conversational UI带来的不仅是一种全新的交互模式,更是开辟了一个新的产品领域。

在数据方面,虽然自然措辞的数据存量很大,但目前来看无论是通用领域还是专业领域,经由加工致顿的高质量自然措辞语料数据资源还是比较缺少,因此其具有非常高的代价。
领域语料的积累可以极大提升AI产品的效果,在一定程度上帮助企业形成新的数据壁垒、技能壁垒。

在NLP的算法方面,就未来一段韶光来看,如前文所述,面对小语料任务的Few-shot Learning会越来越受关注,尤其因此Bert为代表的迁移学习技能,将给现在的一些NLP任务带来一场革命。
此外还有针对NLP语料的数据增强技能,我们知道在图像领域数据增强技能已经比较成熟,是一种常见的数据处理办法,但是在NLP领域数据增强技能的发展还不足成熟,如果能在这方面有所打破的话,相信会对各种NLP任务都有很大帮助。

NLP技能的发展还须要业界各企业、各位算法与工程专家的共同努力,相信未来我们能够更准确、更快速、更方便地理解各领域的自然措辞数据。

标签:

相关文章

付鑫大数据,赋能未来,引领数据驱动创新

随着信息技术的飞速发展,大数据已成为推动社会进步的重要力量。在我国,大数据产业正蓬勃发展,为各行各业带来前所未有的机遇。其中,付鑫...

PHP教程 2024-12-17 阅读0 评论0