antd 文本域超长问题_基于SVM算法的意图识别(文本处理)

739db327f52a5c5f77da9bccaabf4cda.png

一、项目背景

1.1 什么是意图识别

意图识别,就是从一个句子中抽取它所表达的意图。举个例子,到了南航的官网,一个人可能有查机票、退机票、订座位等不同意图。

所以意图识别是多分类问题。输入为文字,输出为某个特定的意图。这就类似于情感分析。

03ba03b980167a29f0abe63c91f90277.png

1.2 文本处理技术

对于文本分类问题来讲,核心是文本处理。把文本转换成特征向量之后,就可以通过分类模型来训练了。分类模型有SVM,神经网络等等。一般情况下,我们都会尝试多个然后选择其中最好的。

de673c611308d98975897ff11ae08b0c.png

三、项目目标

给定一段文字,然后识别出文字所表达的意图。

如:

2bae4daf5501e0cdfa64dee41c12504a.png

项目流程:

d4aa8e7e782b63965afac8ab0b8248fa.png

四、加载数据

使用的数据集是SMP2018中文人机对话技术评测

CodaLab Worksheets​worksheets.codalab.org

5560a063953d4cf04d9bfdef452eba85.png

fff5c175fff10f64dae374450c85b27a.png

五、文本预处理

5.1 将label映射为数字index

00545c15b481d8252a617c3f8d5142e3.png

9b7ff90d251752872de7d5d8aa4cab95.png

663bb731ba03c449158c1762ed59ef81.png

5.2 使用分词工具对query进行切分

8975981d9b71485b0395b6ec5fa699da.png

5.3 读取停用词表, 并对分词后结果进行过滤

10d29bf387f025779411900dcb223c95.png

4826c6d794caa9f840775bfb0783d1b2.png

5.4 统计词频,并过滤低频词

1e73a0de2acee2d4d713fe2f93809ad0.png

六、特征工程

6.1 计算tf-idf

35edd17d7f1a23258ac859360ebfc370.png

02668e22fe04eeeba8eb809dfbea19c5.png

6.2 转换成词向量word2vec

加载word embedding。 词嵌入是自然语言处理中语言模型与表征学习技术的统称。概念上而言,它是指把一个维数为所有词的数量的高维空间嵌入到一个维数低得多的连续向量空间中,每个单词或词组被映射为实数域上的向量。

336295aeb3f956a72ca75bc92e0c57c6.png

可能存在不在pretrained 的单词, 可以使用numpy 随机生成相同维度的向量。一个句子会有多个单词, 对于模型输入会不一致,可以对一个句子的所有词向量求平均值。

bb3c30b3fe6f6b874265027190ea7f55.png

2c20aa8ddbe0392ca2ae24a5a516be8d.png

七、构建模型与模型评估

分别使用tfidf, word2vec 建立SVM模型, 并对比二者结果。

e156536c90dca144ad1ac51a0fca3094.png

ea65758ab20234b3d56cf3065c10e7e8.png

可以看到,使用embeding特征建立线性SVM模型的效果更好一些。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值