基础文本分析项目

本文介绍了一个基础的文本分析项目,包括分词和分类两大功能。使用Python的jieba库进行精确分词,并结合停用词表进行处理。分类部分涉及NBC和LDA算法,对文本进行主题分布预测。项目要求分词和分类的正确率在85%以上,最终以UTF-8文本格式提供结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

文本分析概述

  文本分析常应用于:翻译,搜索引擎,文章推荐,人物-事物-事件关系图,智能输入法等领域

因此文本分析通常是作为一些项目的子项目来进行的

文本分析包含很多内容如:分词,分类,错别字纠正,输入预测等

需求分析

【功能需求】

对于分词:算法以一段文本作为输入,算法输出分词后的文本,如:输入"基础文本分析项目"  算法会输出"基础/文本/分析/项目"

对于分类:算法以一段文本作为输入,算法输出文本的主题分布

通过是否含有标记,在分类时选择不同的算法,含有标记则选择NBC(朴素贝叶斯),否则使用LDA(隐含狄利克雷分布)

(暂时只有这两种功能。。。后续会添加功能)

【性能需求】

响应时间:和搜索引擎类似

信息量速率:未知

主存容量:未知

。。。

【可靠性和可用性需求】

ps:系统在一个时间段出错的次数不大于多少

未知

【出错处理需求】

ps:这类需求说明系统对于环境错误应该怎样响应

未知

【接口需求】

ps:数据的格式

用户接口需求:用户输入UTF-8形式的文本文件,每一篇文章前有序号,序号后面有一个#号,结果将会以.txt文本的形式输出给用户

【约束】

ps:在设计或实现应用系统时应遵守的限制条件,如:精度,工具和语言约束,设计约束,应该使用的标准,应该使用的硬件平台

精度: 分词和文本分类的正确率在85%以上

         分词正确率 = (分词正确数)/(真实分词数),因为文本是没有提前分词的,因此采用抽样法进行人工检查

使用python语言,需要的库有:

【逆向需求】

ps:软件系统不应该做什么

【将来可能提出的需求】

翻译,搜索引擎,文章推荐,人物-事物-事件关系图

语言及数据结构选择

语言:Python , 因为包含了大量的机器学习的第三方开源库

数据结构:以UTF-8文本保存在数据库中

详细过程

1.通过python的jieba分词对文本进行精确分词

原理 (jiebao)

  • 基于前缀词典实现高效的词图扫描,生成句子中汉字所有可能成词情况所构成的有向无环图 (DAG)
  • 采用了动态规划查找最大概率路径, 找出基于词频的最大切分组合
  • 对于未登录词,采用了基于汉字成词能力的 HMM 模型,使用了 Viterbi 算法

2.自定义停用词文本(也可网上下载),然后编写代码对分词后的文本进行停用词清理 

原理:

  • 遍历分词后的词袋(未向量化),对于出现在停用词文本中的词进行删除,然后得到新的词袋(未向量化)

3.词频统计

原理:

  • 遍历文本得到,词-词频的键值对(key:词, value:词在某一文本出现的次数)

4.向量化

原理:

  • 将词频统计得到的词袋(未向量化)中的中文转换为数值,需要注意的是,不同文本的相同的词转换得到的数值是相同的,既相同的词会映射到相同的数值

5.NBC(Naive Bayes Classifier

对于NBC分类,需要先对模型进行训练,然后生成主题-词条的概率向量,然后再通过python中的朴素贝叶斯分类器对文本进行分类

原理:

  •  

5.LDA(Latent Dirichlet Allocation

对于LDA分类,

 

编码

 

 

测试与修改

通过对测试集进行测试,得到模型的准确度,然后判断是否需要对算法进行优化处理

 

 

还在更新中。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值