文章自动生成标签的算法分析与实现

文章自动生成标签的算法分析与实现,第1张

唯有回望,才能发现,我们究竟已经走出多远。

唯有前瞻,才能相信,我们沿着这条航线,一定能抵达梦想的彼岸。

假设有一篇文章,标题和内容如下:

如果要为此文章自动生成标签,该如何做呢?

1、创建一个带指针的字符串对象

2、生成标签字典

21 定义标签节点 TagNode

22 生成字典 TagNode[]

23 在文本中匹配标签

指针从文本的开头,向后遍历,计算当前的位置的headTwoCharMix,即此处的 “Bo” 2个字符,然后计算Hash值定位到字典的位置,字典的位置只会出现如下两种情况:

1、权重问题

标题和内容的权重应该是不同的,所以在匹配出标签的时候,需要给匹配到的标签添加分数,依据得分高低对匹配标签排序

2、英文字符大小写的问题

例如:标签库中有一个标签“Docker”,结果文中出现的是 “docker”,这两个字符串是不相等的,从逻辑上来讲,标签是匹配到的,所以要调整算法,将大写字母全部转换为小写字母来匹配

带指针的字符串 StringPointerjava

标签节点 TagNodejava

标签分数统计类 TagBeanjava

标签匹配工具类 TagToolsjava

人工智能产品的定义较为广泛,智能硬件、机器人、芯片、语音助手等都可以叫做人工智能产品。本文讨论的人工智能产品主要是指在互联网产品中运用人工智能技术。

互联网产品主要着手与解决用户的痛点,对于C端产品来说,痛点就是指的个人想解决而无法解决的问题,如个人想要美化自己的照片,但是他不会复杂的PS软件,于是美图秀秀就可以解决这个痛点。从KANO模型中,就是满足用户的基本需求与期望需求。

人工智能产品(在互联网产品中运用人工智能技术)则是要满足用户的兴奋需求。如将情感分析运用到电商的产品评论中,用户则可以通过可视化的数据展示来大致对产品有个全面、直观的了解,而不再需要自己一页一页的翻看评论内容。

互联网产品主要关注点在于用户需求、流程设计、交互设计、商业模式等。着眼于用户需求,设计满足用户需求的产品,通过合理的流程设计、交互设计达到产品目标,进而实现商业目标。典型的思路是发现用户需求——>设计满足用户需求的产品——>迭代完善、产品运营——>商业变现。

人工智能产品关注点在于模型的构建,它不再是对于布局、交互的推敲,而是通过选择合适的数据,构建合适的模型,最终呈现出来的是好的效果。什么是好的效果呢?这就需要引入评测指标。互联网的评测指标有我们熟知的留存率、转化率、日活跃等,那么人工智能的产品主要是通过一些统计指标来描述,以情感分析为例,把情感分析看成一个分类问题,则可以使用P、R、A、F值来描述。

1)查准率(Precision):P值,衡量某类分类中识别正确的比例,如情感分析中,有10条被分类为“正向”,其中8条是分类正确的(由人工审核),那么P=8/10=80%

2)查全率(Recall):R值,又叫查全率,又叫召回度,指的是某类被被正确分类的比例,同样以情感分析为例,100条数据中有10条是正向的,机器分类后,这10条中有7条被分类为正向,则R=7/10=70%

3)F值,因为P值和R值通常是两个相互矛盾的指标,即一个越高另一个越低,F则是两者综合考虑的指标,不考虑调节P、R权重的情况下,F=2PR/(P+R)

4)精确度(Accuracy):这个最好理解,就是被准确分类的比例,也就是正确率。如100条数据,90条是被正确分类的,则A=90/100=90%。

以上指标越高,说明模型效果越好。

我们从上面内容可以知道,人工智能产品设计关注:数据——>模型——>效果评估。

现在我们以情感分析为例子说明产品设计的过程。

1)数据:

数据的选择对最终模型的结果有直接影响,情感分析,根据不同的目的,选择的数据也不同。如将情感分析运用于**票房预测,则一些更新及时、内容丰富的数据源,如微博,是比较好的选择。如果是应用于商品的评价,如电子产品,很多评测内容是无法在短短几句话内描述清楚的,这时候微博不是个好的选择,选择论坛上更新较慢、但是详细的内容就比较适合。

如果能在产品的早期就有引入人工智能的打算,则可以在产品中事先做好数据采集。

2)模型:

在选择模型中,产品需要了解不同的模型的优缺点,进而选择更加合适的模型。在情感分析中,NB、SVM、N-gram都是常用的模型,其中SVM效果最好(这是已有的结论),如果是其他的智能产品,可能需要算法团队进行实验,给出测试数据,进而选择合适的模型。

3)效果评估:

效果评估在上文中已经描述得比较清楚,具体指标不再赘述。

4)产品呈现:

最后这一步,是将结果展示给用户。在情感分析中,我们可以选择雷达图、词云、情感趋势图来展示结果。取决于产品属性,如电商产品评论挖掘,可以使用词云;

如舆论分析,可以使用情感趋势图。

人工智能产品的设计要关注:数据、模型、评判、呈现。

可以使用snownlp包,也可以用nltk

scikit-learn

结合,或者自己写算法实现。

简单话就是情感词典的匹配,想提高效果的需要考虑特征之间的搭配,语法顺序等,可以查询搜索相关的入门例子和算法详细了解。

欢迎分享,转载请注明来源:浪漫分享网

原文地址:https://hunlipic.com/qinggan/7525118.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-09-06
下一篇2023-09-06

发表评论

登录后才能评论

评论列表(0条)

    保存