自然语言处理实验报告

合集下载

实验一 文本分类模型

实验一 文本分类模型

《自然语言处理》课程实验报告E282mw9z X_j_ZzQfetch_20ne wsgroup 14MB 9MB 5MB 一个新闻对应一个标签20五、资源以及参考文献列表(对你有帮助的人的名字,也可以列出来)1、(114条消息) sklearn.datasets.fetch_20newsgroups的下载速度极慢采用离线下载导入_寸草心2130的博客-CSDN博客2、(115条消息) 【Python】向量空间模型:TF-IDF实例实现(set.union())_tf*idf 框架构造向量空间模型_Vivid-victory的博客-CSDN博客3、(115条消息) 文本分类(朴素贝叶斯分类)介绍_朴素贝叶斯文本分类_卖山楂啦prss 的博客-CSDN博客4、(115条消息) 文本分类的14种算法_datayx的博客-CSDN博客5、(115条消息) 14种分类算法进行文本分类实战_文本分类算法_txhy2018的博客-CSDN 博客请教过的人:陈浩然、王越六、实验步骤1.加载并处理数据集共有20个新闻类别截取4个新闻类别训练与20个类别训练比较训练结果其中4类别训练集数据有2303条,测试集有1533条20类别训练集数据有11314条,测试集有7532条2.提取特征TFIDF及词频统计3.模型训练及评估模型的评估一般使用PRF(精确率,召回率,F1值)和Acc值(准确值)来评估,使用metrics.classification_report方法可以轻松获取这些信息,同时可以使用这个方法可以比较两个target的差异七、实验结果与分析1.测试数据及结果(运行结果截图)2.对结果的分析(模型的性能,对比,与预期效果的比较)由结果发现随着数据集的增大,准确率都有所下降,有可能在数据量较少、且样本分布不均衡的情况下,数据集扩大使得样本标签更加均衡后,分类难度增加,可能会导致模型性能下降2.实验中遇到的问题及解决办法因为数据集的网站拒绝了访问,所以数据集我只能先下再进行更改读取;对多项式朴素贝叶斯模型、补充朴素贝叶斯模型、伯努利朴素贝叶斯模型等等并不熟悉,只能通过查阅资料了解。

词法分析实验报告

词法分析实验报告

词法分析实验报告词法分析实验报告引言词法分析是自然语言处理中的一个重要环节,它负责将输入的文本分割成一个个的词语,并确定每个词语的词性。

本次实验旨在通过实现一个简单的词法分析器,来探索词法分析的原理和实践。

实验内容本次实验中,我们使用Python编程语言来实现词法分析器。

我们选取了一段简单的英文文本作为输入,以便更好地理解和演示词法分析的过程。

1. 文本预处理在进行词法分析之前,我们首先需要对输入文本进行预处理。

预处理的目的是去除文本中的标点符号、空格和其他无关的字符,以便更好地进行后续的分词操作。

2. 分词分词是词法分析的核心步骤之一。

在这个步骤中,我们将文本分割成一个个的词语。

常见的分词方法包括基于规则的分词和基于统计的分词。

在本次实验中,我们选择了基于规则的分词方法。

基于规则的分词方法通过事先定义一系列的分词规则来进行分词。

这些规则可以是基于语法的,也可以是基于词典的。

在实验中,我们使用了一个简单的基于词典的分词规则,即根据英文单词的常见前缀和后缀来进行分词。

3. 词性标注词性标注是词法分析的另一个重要步骤。

在这个步骤中,我们为每个词语确定其词性。

词性标注可以通过事先定义的规则和模型来进行。

在本次实验中,我们使用了一个简单的基于规则的词性标注方法。

基于规则的词性标注方法通过定义一系列的词性标注规则来进行词性标注。

这些规则可以是基于词法的,也可以是基于语法的。

在实验中,我们使用了一个简单的基于词法的词性标注规则,即根据英文单词的后缀来确定其词性。

实验结果经过实验,我们得到了输入文本的分词结果和词性标注结果。

分词结果如下:- I- love- natural- language- processing词性标注结果如下:- I (代词)- love (动词)- natural (形容词)- language (名词)- processing (名词)讨论与总结通过本次实验,我们深入了解了词法分析的原理和实践。

自然语言处理研究报告

自然语言处理研究报告

自然语言处理研究报告自然语言处理(Natural Language Processing,简称NLP)是计算机科学与人工智能领域的重要分支,旨在让计算机能够理解、处理和生成自然语言。

近年来,随着深度学习和大数据技术的发展,NLP取得了显著的进展,应用范围不断扩大,对社会生产生活带来了深远影响。

一、NLP的基本任务NLP的基本任务包括文本分类、文本生成、情感分析、词性标注、问答系统等。

文本分类指通过训练模型将文本归类到相应的类别;文本生成指根据给定的上下文生成新的文本;情感分析用于分析文本中的情感倾向;词性标注用于给文本中的词汇标注相应的词性等。

二、NLP的主要技术1. 分词技术分词是将一段连续的文本切分成若干个词语的过程,是NLP的基础环节。

传统的分词方法主要基于规则和词典匹配,而近年来,基于深度学习的分词方法也取得了显著的进展。

2. 词向量表示词向量表示是将文本中的词语转化为向量形式,以便计算机能够处理。

传统的词向量表示方法,如词袋模型(Bag-of-Words)和TF-IDF方法,存在维度灾难和语义鸿沟等问题。

而Word2Vec、GloVe和BERT等算法的出现,使得词向量表示更加准确和有意义。

3. 语言模型语言模型的目标是估计一段给定文本的概率分布,以便用于文本生成和预测等任务。

传统的语言模型采用n-gram模型,而近年来,基于循环神经网络(RNN)和Transformer等结构的语言模型取得了突破性进展。

4. 神经网络模型神经网络模型在NLP中的应用越来越广泛,尤其是基于深度学习的神经网络模型。

例如,卷积神经网络(CNN)在文本分类和情感分析中取得了优秀的效果;长短期记忆网络(LSTM)和门控循环单元(GRU)则在机器翻译和语言生成等任务上表现出色。

三、NLP的应用领域NLP的应用领域非常广泛,覆盖了教育、医疗、金融、社交媒体等众多领域。

例如,在教育领域,NLP可以应用于智能教育系统,帮助学生进行作文评测和语法纠错;在医疗领域,NLP可以用于医疗文书的自动化处理和疾病预测等;在金融行业,NLP可以用于情感分析判断股市的涨跌情况。

基于深度学习的自然语言生成模型实验报告

基于深度学习的自然语言生成模型实验报告

基于深度学习的自然语言生成模型实验报告一、引言自然语言处理一直是人工智能领域的重要研究方向,而自然语言生成作为其中的关键任务,旨在让计算机能够像人类一样生成自然流畅的文本。

深度学习技术的出现为自然语言生成带来了巨大的突破,本实验旨在深入研究基于深度学习的自然语言生成模型,并对其性能进行评估和分析。

二、实验目的本次实验的主要目的是构建一个基于深度学习的自然语言生成模型,并通过实验评估其在不同任务和数据集上的性能表现,分析影响模型性能的关键因素,为进一步优化和改进模型提供依据。

三、实验环境与数据(一)实验环境本次实验使用了以下硬件和软件环境:1、硬件:配备 NVIDIA GPU 的服务器,具有足够的内存和计算能力。

2、软件:Python 编程语言,TensorFlow 和 PyTorch 深度学习框架,以及相关的自然语言处理库,如 NLTK、SpaCy 等。

(二)数据集为了评估模型的性能,我们使用了以下公开数据集:1、新闻数据集:包含了大量的新闻文章,用于训练和评估模型的文本生成能力。

2、小说数据集:包含了各种类型的小说文本,用于测试模型在生成富有想象力和创造性的文本方面的表现。

四、模型架构(一)循环神经网络(RNN)RNN 是一种常见的序列模型,能够处理变长的输入序列。

然而,RNN 存在梯度消失和梯度爆炸的问题,限制了其对长序列的建模能力。

(二)长短时记忆网络(LSTM)LSTM 通过引入门控机制,有效地解决了 RNN 的梯度问题,能够更好地捕捉长序列中的依赖关系。

(三)门控循环单元(GRU)GRU 是 LSTM 的一种简化版本,在保持性能的同时,减少了参数数量,提高了训练效率。

(四)注意力机制注意力机制通过动态地分配权重,能够聚焦于输入序列中的关键部分,提高模型的生成质量。

五、实验过程(一)数据预处理1、对原始数据进行清洗,去除噪声和无效字符。

2、进行分词、词干提取和词向量化等操作,将文本转换为数值表示。

(完整word版)自然语言处理实验报告

(完整word版)自然语言处理实验报告

“自然语言处理”实验报告专业:智能科学与技术班级:1501学号:0918150102姓名:宋晓婷日期:2018/4/16目录实验1 (3)1、实验目的: (3)2、实验原理和内容: (3)3、实验环境和编程语言: (3)4、主要功能及实现: (3)5、实验结论 (8)实验2 中文分词 (8)1、实验目的和内容 (8)2、实验原理 (9)3、实验平台及语言 (10)4、主要功能及实现 (11)4.1 算法流程图 (11)4.2实验结果 (11)5、实验结论 (13)实验三中文文本分类 (13)1、小组成员以及分工 (13)2、实验目的和内容 (13)3、实验原理以及数据处理 (14)4、实验平台和语言 (16)5、实验结果 (16)6、实验结论 (16)四、实验1-3 代码 (17)实验11、实验目的:本实验学习如何在利用NLTK进行分词\词性分析与句法分析,。

通过次实验项目的练习,增强学生对课堂理论知识的理解,帮助学生以知识获取与自主实践相结合,学习对英文自然语言信息的处理的实践。

2、实验原理和内容:NLTK自然语言处理工具包,里面包含了许多处理自然语言的库可以直接调用,本实验利用NLTK对obama。

txt语料库进行对应的分词和词频统计,再对布朗语料库进行词性和句法分析。

3、实验环境和编程语言:windows下anaconda3 spyder(python3.6)4、主要功能及实现:4.1 怎样载入自己的英文语料库(obama.txt),在自己的语料库中找出responsibility,education和working出现的频率及其他们词干出现的频率。

(使用nltk的英文分词函数tokenize和stem)。

①使用open以及read函数读取obama.txt文档,调用nltk里面的word_tokenize()函数,先把文档进行分词,再调用nltk中的FreDist()函数进行词频统计。

统计responsibility,education和working出现的频率。

自然语言处理实训课程学习总结文本分类与情感分析技术研究

自然语言处理实训课程学习总结文本分类与情感分析技术研究

自然语言处理实训课程学习总结文本分类与情感分析技术研究近年来,随着互联网时代的来临,大量的文本数据在网络上不断涌现。

而有效地进行文本分类和情感分析,对于理解用户需求、产品推荐以及舆情分析等方面都具有重要意义。

自然语言处理实训课程为我们提供了学习这些技术的机会。

在本次自然语言处理实训课程中,我们系统地学习了文本分类和情感分析技术。

首先,我将介绍文本分类技术的研究内容和学习经历。

一、文本分类技术的研究内容在文本分类技术的学习中,我们首先学习了基本的文本预处理技术,包括数据清洗、分词、词向量表示等。

通过对文本数据进行清洗和分词,可以将多篇文本处理成计算机能够理解和处理的形式。

而词向量表示则可以将每个词语表示为一个向量,从而更方便地进行后续的计算和分析。

其次,我们学习了常见的文本分类算法,包括朴素贝叶斯、支持向量机、深度学习等。

这些算法具有不同的特点和适用场景,通过学习它们的原理和应用,我们可以更好地选择适合的算法来进行文本分类任务。

最后,我们进行了实际的文本分类实验,实践了从数据准备到模型训练和评估的全过程。

通过实验,我们深入了解了文本分类技术的实际应用和不同算法的性能对比,进一步提升了我们的实践能力和问题解决能力。

二、情感分析技术的研究内容在情感分析技术的学习中,我们首先了解了情感分析的基本概念和应用场景。

情感分析是一种通过自然语言处理技术来识别和分析文本中蕴含的情感倾向的方法,可以帮助我们了解用户的情感态度和情绪变化。

接着,我们学习了情感分析的主要方法和模型,包括基于规则的方法、基于机器学习的方法和基于深度学习的方法。

不同的方法适用于不同的情感分析场景,我们通过学习它们的原理和实际应用案例,进一步了解了情感分析技术的发展和应用前景。

最后,我们进行了情感分析的实践项目,通过实际的文本数据,构建情感分析模型,并对其进行评估和优化。

这个实践项目不仅提升了我们的实践能力,还加深了我们对情感分析技术的理解和掌握程度。

自然语言处理技术实验报告

自然语言处理技术实验报告

自然语言处理技术实验报告自然语言处理(Natural Language Processing, NLP)是一门涉及语言、计算机科学和人工智能的交叉领域,致力于使计算机能够理解、分析、操作人类语言。

在本实验报告中,我们将重点关注自然语言处理技术在实际应用中的表现和效果。

通过对实验结果的详细分析,我们希望能够深入了解自然语言处理技术的优势和局限性。

一、实验背景自然语言处理技术近年来取得了长足的发展,在语音识别、机器翻译、文本分类等方面有着广泛的应用。

本次实验将利用一些经典的自然语言处理技术模型和算法,通过对大规模文本数据的处理和分析,来评估这些技术在真实场景中的效果和性能。

二、实验数据在实验中,我们使用了包括中文新闻文本、英文文本和多语种文本在内的大规模数据集,用于测试和验证自然语言处理技术在不同语言和领域中的适用性。

数据集经过预处理和清洗,确保数据的质量和准确性,以提高实验结果的可信度和可靠性。

三、实验方法我们采用了一系列经典的自然语言处理技术和算法,包括但不限于以下几种:1. 词袋模型(Bag of Words):将文本数据转换为向量表示,忽略词语的顺序和语法结构,用于文本分类和情感分析等任务。

2. 递归神经网络(Recurrent Neural Network, RNN):通过记忆和迭代的方式来处理序列数据,适用于语言模型和机器翻译等任务。

3. 卷积神经网络(Convolutional Neural Network, CNN):利用卷积操作来提取文本中的局部特征,用于文本分类和情感分析等任务。

4. 词嵌入技术(Word Embedding):将词语映射到连续向量空间,有效捕捉词语之间的语义信息,提高模型的表达能力和泛化能力。

四、实验结果基于以上方法和技术,我们对实验数据进行了处理和分析,得出了以下结论:1. 词袋模型在文本分类和情感分析等任务中表现出了不错的效果,但在处理语义和语法信息方面存在一定局限性。

自然语言处理实验报告

自然语言处理实验报告

自然语言处理实验报告一、实验背景自然语言处理(Natural Language Processing, NLP)是人工智能领域的一个重要分支,旨在使计算机能够理解、解释和生成人类语言。

在本次实验中,我们将探讨NLP在文本分类任务上的应用。

二、实验数据我们选取了一个包含新闻文本的数据集作为实验数据,共包括数千条新闻文本样本,每个样本均有对应的类别标签,如政治、经济、体育等。

三、实验步骤1. 数据预处理:首先对文本数据进行清洗,如去除标点符号、停用词和数字等干扰项,然后对文本进行分词处理。

2. 特征提取:选取TF-IDF(Term Frequency-Inverse Document Frequency)作为特征提取方法,将文本表示为向量形式。

3. 模型选择:本次实验中我们选择了朴素贝叶斯分类器作为文本分类的基本模型。

4. 模型训练:将数据集按照8:2的比例划分为训练集和测试集,用训练集对模型进行训练。

5. 模型评估:使用测试集对训练好的模型进行评估,计算准确率、召回率和F1值等指标。

四、实验结果经过多次实验和调优,我们最终得到了一个在文本分类任务上表现良好的模型。

在测试集上,我们的模型达到了90%以上的准确率,表现优异。

五、实验总结通过本次实验,我们深入了解了自然语言处理在文本分类任务上的应用。

同时,我们也发现了一些问题和改进空间,如模型泛化能力不足、特征选择不合适等,这些将是我们未来研究的重点方向。

六、展望未来在未来的研究中,我们将进一步探索不同的特征提取方法和模型结构,以提升文本分类的准确率和效率。

同时,我们还将探索深度学习等新领域的应用,以更好地解决自然语言处理中的挑战和问题。

七、参考文献1. Jurafsky, D., & Martin, J. H. (2019). Speech and Language Processing (3rd ed.). Pearson.2. Manning, C. D., Raghavan, P., & Schütze, H. (2008). Introduction to Information Retrieval. Cambridge University Press.以上为自然语言处理实验报告的内容,希望对您有所帮助。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

“自然语言处理”实验报告专业:智能科学与技术班级:1501学号:**********姓名:***日期:2018/4/16目录实验1 (3)1、实验目的: (3)2、实验原理和内容: (3)3、实验环境和编程语言: (3)4、主要功能及实现: (3)5、实验结论 (8)实验2 中文分词 (8)1、实验目的和内容 (8)2、实验原理 (9)3、实验平台及语言 (10)4、主要功能及实现 (11)4.1 算法流程图 (11)4.2实验结果 (11)5、实验结论 (13)实验三中文文本分类 (13)1、小组成员以及分工 (13)2、实验目的和内容 (13)3、实验原理以及数据处理 (14)4、实验平台和语言 (16)5、实验结果 (16)6、实验结论 (16)四、实验1-3 代码 (17)实验11、实验目的:本实验学习如何在利用NLTK进行分词\词性分析与句法分析,。

通过次实验项目的练习,增强学生对课堂理论知识的理解,帮助学生以知识获取与自主实践相结合,学习对英文自然语言信息的处理的实践。

2、实验原理和内容:NLTK自然语言处理工具包,里面包含了许多处理自然语言的库可以直接调用,本实验利用NLTK对obama。

txt语料库进行对应的分词和词频统计,再对布朗语料库进行词性和句法分析。

3、实验环境和编程语言:windows下anaconda3 spyder(python3.6)4、主要功能及实现:4.1 怎样载入自己的英文语料库(obama.txt),在自己的语料库中找出responsibility,education和working出现的频率及其他们词干出现的频率。

(使用nltk的英文分词函数tokenize和stem)。

①使用open以及read函数读取obama.txt文档,调用nltk里面的word_tokenize()函数,先把文档进行分词,再调用nltk中的FreDist()函数进行词频统计。

统计responsibility,education和working出现的频率。

结果见表一。

②提取词干的时候,NLTK中提供了三种最常用的词干提取器接口,即 Porter stemmer, Lancaster Stemmer 和Snowball Stemmer。

统计词干频率时,先对全文提取词干(whole_stems),然后在提取的词干中统计三者词干出现的频率,结果见表二。

表一原词以及对应词干频率统计(全文总词数:3066 全文总词干数:3066)表二三种词干提取器提取结果4.2 写程序处理布朗语料库,找到以下答案:4.2.1 哪些名词常以他们复数形式而不是它们的单数形式出现?(只考虑常规的复数形式,-s后缀形式的)。

①先查看布朗语料库里面包含的类别(如图一)图一布朗语料库包含类别②选取其中一个类别的语料库adventure,提取里面的所有NNS标注的复数词放入word_double;提取NN标注而非NNS标注的单数词放入word_single;然后对这两个词表提取词干,比较两个词干表里面相同的词干,同时去除里面重复出现的词干,然后再在复数词表里面找出这些词。

可得常以复数不以单数出现的词有:4.2.2选择布朗语料库的不同部分(其他目录),计数包含wh的词:此处我查找新闻(news)类别里面包含wh的词,结果如图二图二布朗语料库新闻类别中包含wh的词4.3、输出brown文本集名词后面接的词性,结果如图三图三brown文本集名词后面接的词性由统计可知:名词后面出现频率最高的是ADP(介词和后置词)第二是标点第三是动词依次是名词、连接词、副词、限定词、PRT 、形容词、数量词、代名词、以及其他。

4.4 句法分析演示使用nltk的句法分析器parser (自底向上)nltk.app.srparser() 后打开以下窗口,运行step 会逐步演示对my dog saw a man in the park with a statue这句话进行文法分析。

结果见图四、图五图四parser句法分析器nltk.app.rdparser() 使用递归下降解析器(自顶向下),进行文法分析文法=词法+句法图五rdparser递归下降解析器4.5 对话框系统nltk里面一共有5个对话框系统,我选择1,情绪分析。

结果如图六、图七图六图七5、实验结论掌握了对语料库的基本操作,分词分句、统计词频以及对词性分析。

句法分析的自顶向上以及自底向下思路简单但是实现起来比较麻烦,回溯会出现多次。

实验中掌握了两种不同的句法分析的流程。

nltk的对话框经测试后觉得有点基础,分析以及人机对话的可用性不是很强。

实验2 中文分词1、实验目的和内容a.用最大匹配算法设计分词程序实现对文档分词,并计算该程序分词召回率。

b.可以输入任意句子,显示分词结果。

实验数据:(1)word_freq_list.txt 分词词典(2)pku_test.txt 未经过分词的文档文件(3)pku_test_gold.txt 经过分词的文档文件2、实验原理核心思想:最大匹配算法算法描述:正向最大匹配法算法如下所示:逆向匹配法思想与正向一样,只是从右向左切分,这里举一个例子:输入例句:S1="计算语言学课程有意思" ;定义:最大词长MaxLen = 5;S2= " ";分隔符= “/”;假设存在词表:…,计算语言学,课程,意思,…;最大逆向匹配分词算法过程如下:(1)S2="";S1不为空,从S1右边取出候选子串W="课程有意思";(2)查词表,W不在词表中,将W最左边一个字去掉,得到W="程有意思";(3)查词表,W不在词表中,将W最左边一个字去掉,得到W="有意思";(4)查词表,W不在词表中,将W最左边一个字去掉,得到W="意思"(5)查词表,“意思”在词表中,将W加入到S2中,S2=" 意思/",并将W从S1中去掉,此时S1="计算语言学课程有";(6)S1不为空,于是从S1左边取出候选子串W="言学课程有";(7)查词表,W不在词表中,将W最左边一个字去掉,得到W="学课程有";(8)查词表,W不在词表中,将W最左边一个字去掉,得到W="课程有";(9)查词表,W不在词表中,将W最左边一个字去掉,得到W="程有";(10)查词表,W不在词表中,将W最左边一个字去掉,得到W="有",这W是单字,将W加入到S2中,S2=“/有/意思”,并将W从S1中去掉,此时S1="计算语言学课程";(11)S1不为空,于是从S1左边取出候选子串W="语言学课程";(12)查词表,W不在词表中,将W最左边一个字去掉,得到W="言学课程";(13)查词表,W不在词表中,将W最左边一个字去掉,得到W="学课程";(14)查词表,W不在词表中,将W最左边一个字去掉,得到W="课程";(15)查词表,“意思”在词表中,将W加入到S2中,S2=“课程/ 有/ 意思/”,并将W从S1中去掉,此时S1="计算语言学";(16)S1不为空,于是从S1左边取出候选子串W="计算语言学";(17)查词表,“计算语言学”在词表中,将W加入到S2中,S2=“计算语言学/ 课程/ 有/ 意思/”,并将W从S1中去掉,此时S1="";(18)S1为空,输出S2作为分词结果,分词过程结束。

3、实验平台及语言windows anconda3 spyder(python3.6)4、主要功能及实现4.1 算法流程图图八正向最大匹配算法实验流程图4.2实验结果a、基于上述算法,写代码实现。

实现前对词典中的词的最大长度进行计算,可得词典里面词最大词长为4。

于是初始化三个空列表来存放词长为2、3、4的词。

把原词典里面的词分成三份,这样匹配时可以加快匹配速度。

匹配完之后计算召回率(R)、准确率(P)、F测度,准确率:P=系统输出正确词的个数/系统输出词的个数(词典词的个数)*100% 召回率:R=系统输出正确词的个数/金标词典中词的个数(词典词的个数)*100% F-测度:F=2*P*R/(P+R)以下是实现结果,如图九。

图九最大匹配算法性能值整理成表之后可得表三表三正向最大匹配算法评价b、将文本文件改成外部输入,对输入的词自动分词,以下是测试结果:图十实验2-b测试5、实验结论正向最大匹配算法是汉语分词的一个重要算法,思路简单,实验中我将词顺序存储,但是把词长不同的词分开,比较的时候在对应词长的列表里面进行比较,这样大大提高了算法的运行效率。

对于逆向匹配算法,虽然思路和正向差不多,但是对我而言实践起来比正向要困难。

同时我最后分词的准确率不高,对分词歧义并没有进行消除,这可能是导致歧义的原因之一。

实验三中文文本分类1、小组成员以及分工宋晓婷、陈曦分工:陈曦数据预处理宋晓婷数据预处理(去html标签以及分词)、特征提取以及分类2、实验目的和内容对语料库进行数据预处理,利用朴素贝叶斯算法或SVM完成对测试集的文本进行分类。

语料库主要包括健康、财经、教育三个类别,每个类别里面各有6篇文档以及一篇test.txt待测试的文档。

3、实验原理以及数据处理自然语言处理文本分类的主要步骤如图十一图十一实验5流程图预处理部分:去除文档中的html标签,删除文档中多余的空格和换行。

这里没有去除停用词,因为在后续调用sklearn中的算法的时候可以直接利用其中的算法进行停用词去除。

分词:这里调用的是结巴中文分词系统(import jieba)。

结构和表示-构建词向量空间:对于分好词的文档,利用sklearn里面的bunch数据结构,由于给的test.txt测试集没有标签,在后续对算法测评的时候无法测评,于是把每篇文档中的第五篇5.txt分出来作为测试集。

用这三篇文档作为测试集来进行算法测评。

Bunch化后训练集以及测试集数据如表四、表五所示。

TF-IDF算权重、提取特征:去除测试集和训练集中的停用词,计算数据集里面的词频,把词频大于50%的去掉,因为这些高频词对分类的特异性没有多大作用,而后根据词频,计算每个词的权重,得到权重矩阵(tdm),,并把这些词统一到同一个词向量空间里面提取特征。

分类:此处是多分类,调用sklearn中的朴素贝叶斯函数中的伯努利模型和多项式模型,以及svm中的SVC算法,用训练集数据进行训练,利用训练好的算法预测类别。

相关文档
最新文档