当前位置: 首页 > news >正文

牛商网络/优化网站排名软件

牛商网络,优化网站排名软件,北京石景山网站建设,个人网站做导航网站大家好,我是微学AI,今天给大家带来自然语言处理实战项目2-文本关键词抽取和关键词分值评估。关键词抽取是自然语言处理中的重要任务,也是基础任务。 一、关键词抽取传统方法 1.基于统计的方法: 基于统计的方法是通过对一组文本…

大家好,我是微学AI,今天给大家带来自然语言处理实战项目2-文本关键词抽取和关键词分值评估。关键词抽取是自然语言处理中的重要任务,也是基础任务。

一、关键词抽取传统方法

1.基于统计的方法:

基于统计的方法是通过对一组文本进行分析,计算出每个词在文本中出现的频率和权重,然后根据一定的算法计算词语的重要性,从而抽取出关键词。常用的算法有TF-IDF(词频-逆文档频率)算法等。TF-IDF算法是通过计算一个词在文本中的词频和出现文档的逆文档频率来计算一个词的重要性。出现文档的逆文档频率越低,则该词的权重越高,即该词在文本中越关键。

2.基于规则的方法:

基于规则的方法是根据一定的规范和语言学规则,对文本进行词性标注和语法分析,然后从中提取出关键词。通常情况下,利用句子的语法结构,如主语、谓语、定语、状语等,来判断一个词的重要性,并将其作为关键词。此外,还可以结合自定义规则、英文分词等方式进行关键词提取。

3.基于语义的方法:

通过利用自然语言处理和信息检索技术,对文本进行分析,了解文本所表达的含义,从而抽取出关键词。基于语义的方法能够更准确地挖掘文本中的重要信息和隐含含义。例如,可以使用词向量模型(如Word2Vec),通过计算文本中各个词之间的相似度来判断一个词的重要性,并将其作为关键词。还可以使用LDA等主题模型,将文本抽象成一些主题,从而提取关键词。

本项目将要采用KeyBERT模型来实现关键词的抽取。

二、KeyBERT模型介绍

KeyBERT是一个用于关键词抽取和关键短语生成的Python第三方库。它是基于BERT预训练模型和TextRank算法的混合方法,同时结合了分句、词性筛选、主题建模等技术,以提高关键词和短语生成的准确性和有意义性。

KeyBERT的主要特点:

(1)基于BERT:KeyBERT使用预训练的BERT模型来编码和理解文本,从而提高关键词和短语的质量和准确性。

(2)灵活性:KeyBERT支持不同的预训练BERT模型,用户可以根据需求自由选择所需的模型。

(3)多语言支持:KeyBERT支持多种语言的处理,包括英语、汉语、阿拉伯语等,方便用户进行跨语言的应用。

(4)高效性:KeyBERT基于BERT预训练模型,运算效率高,尤其在长文本上处理效率更高。

(5)易用性:KeyBERT使用简单,只需一行代码即可实现文本关键词提取和关键短语生成。

 三、KeyBERT模型的训练

KeyBERT是一个基于BERT模型进行关键词提取的工具,其训练步骤主要是:

1.预处理:对文本进行预处理,包括数据清洗、分词、停用词过滤、词干化等处理。

2.BERT编码:使用预训练的BERT模型对文本进行编码,得到文本的向量表示。

3.句向量构建:将文本中的多个句子的向量进行加权平均或使用类似Pooling的操作,得到文本的处理后的一个向量表示,这个向量称为句向量。

4.基于余弦相似度的关键词提取算法: KeyBERT通过计算文本embedding矩阵中每个句子embedding向量和整个文本embedding向量的相似度,给每个句子打上相应的权重,然后从每个句子中抽取得分最高的几个词作为关键词,计算方式就是用每个词的embedding向量和得分最高的K个句子embedding向量计算余弦相似度,然后加和作为关键词权重得分,最后按照得分排序输出结果。

5.超参数调整:使用验证集对模型进行超参数调整,如句子数量、关键词数量等。

6.模型评估:使用测试数据对模型进行评估,包括准确率、召回率、F1值、AUC等指标。

四、KeyBERT的应用

# coding=utf-8/gbk
from sklearn.feature_extraction.text import CountVectorizer
import jiebadef tokenize_zh(text):words = jieba.lcut(text)return words
vectorizer = CountVectorizer(tokenizer=tokenize_zh)from keybert import KeyBERTdoc = """AI生成视频是利用人工智能技术生成视频的过程,通常,这种技术基于图像识别、语音合成等算法,从各种不同来源的数据中获取信息,然后自动生成视频。 AI生成视频技术的优势是可以快速生成高质量视频,同时还可以自动完成各种冗长的编辑工作,提高工作效率。此外,还可以实现一些人类不可能完成的任务,例如在极端天气、危险环境下进行拍摄。
"""kw_model = KeyBERT()keywords = kw_model.extract_keywords(doc, vectorizer=vectorizer,top_n=6)
#print(keywords)keys = [x for x in keywords if len(x[0])>1]
print(keys)

运行结果:

[('完成', 0.5415), ('生成', 0.4935), ('人工智能', 0.4928), ('进行', 0.4882), ('合成', 0.3963), ('高质量', 0.3836)]

关键词抽取的可视化代码:

colorlist =['#7aebec','#e3e7d2','#ab9cfc','#bfe1d9','#c2e19d','#d423d2','#f423d2']
with open("keyword2.html", "w", encoding="utf8") as f:head = '''<div class="entities" style="line-height: 3.5; direction: ltr"> <h3>关键词抽取结果:</h3></div>'''f.write(head)mainhtml =''textlist = doc.split('\n')for tex in textlist:mainhtml= mainhtml+ '''<div class="entities" style="line-height: 2.5; direction: ltr">''' + tex + '''</div>'''for sch,color in zip(keylist,colorlist[0:len(keylist)]):mainhtml =mainhtml.replace(sch,'''<mark class="entity" style="background: '''+color+'''; padding: 0.45em 0.6em; margin: 0 0.25em; line-height: 1; border-radius: 0.35em;">'''+sch+'''<span style="font-size: 0.5em; font-weight: bold; line-height: 1; border-radius: 0.35em; vertical-align: middle; margin-left: 0.5rem">'''+'keyword'+'''</span></mark>''')f.write(mainhtml)keys =''for key in keylist:keys = keys+key+'; 'keyword_show = '''<div class="entities" style="line-height: 2.5; direction: ltr"><h4>''' + '关键词:'+keys + '''</h4></div>'''f.write(keyword_show)

最后会生成keyword2.html网页文件,我们打开网页文件就可以看到:

 我们可以清晰地看到关键词的位置,以及出现的频次。

http://www.lbrq.cn/news/759367.html

相关文章:

  • 网站建设和程序开发哪个好/谷歌搜索引擎免费入口镜像
  • 网站开发方案论文/seo是什么味
  • 邢台做网站名列前茅/今日最新国内新闻
  • 餐饮公司网站建设的特点/百度收录域名
  • 团购做的比较好的网站/seo实战培训
  • 域名注册网站制作/南宁网站推广营销
  • 模板网站设计报价/小程序开发哪家好
  • 公司网站建设应注意什么/餐饮培训
  • 如何利用互联网进行宣传推广/杭州专业seo服务公司
  • 网站开发前景好吗/百度问答官网
  • 关于网站建设案例/十大管理培训课程
  • 制作外贸网站开发/百度在线客服
  • 凉山建设机械网站/网站怎么优化关键词排名
  • 微信网站搭建/口碑营销的经典案例
  • 南宁伯才网络公司做网站好吗/口碑seo推广公司
  • 四川建设行政主管部门官方网站/风云榜小说排行榜
  • 珠海正规网站制作哪家强/百度贴吧广告投放价格
  • dede可以做视频网站/谷歌搜索引擎优化
  • 桂林象鼻山离哪个高铁站近/台州关键词优化服务
  • 手机主页网站/免费下载官方百度
  • 兰州做网站怎么样/微信怎么推广
  • wordpress双语版/现在学seo课程多少钱
  • 30g月流量网站/网站优化排名资源
  • 免费的个人空间建网站/广告投放都有哪些平台
  • 青羊区建设网站/新软件推广
  • 设计一款网页需要多少钱/百家港 seo服务
  • 现在公司一般用什么邮箱/网站优化策略分析论文
  • 品牌网站设计方案/百度竞价排名背后的伦理问题
  • 建设网站公司是什么/百度云盘网页版
  • 做网站排名推广效果怎么样/手机优化大师哪个好
  • linux-数据链路层
  • redis-sentinel基础概念及部署
  • 第十八讲:哈希2
  • 【Golang】:流程控制语句
  • 考研408《计算机组成原理》复习笔记,第五章(3)——CPU的【数据通路】
  • 企业智脑正在构建企业第二大脑,四大场景引擎驱动数字化转型新范式