CN109299357A - 一种老挝语文本主题分类方法 - Google Patents
一种老挝语文本主题分类方法 Download PDFInfo
- Publication number
- CN109299357A CN109299357A CN201811017181.3A CN201811017181A CN109299357A CN 109299357 A CN109299357 A CN 109299357A CN 201811017181 A CN201811017181 A CN 201811017181A CN 109299357 A CN109299357 A CN 109299357A
- Authority
- CN
- China
- Prior art keywords
- text
- list
- data
- words
- classification
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 27
- 239000013598 vector Substances 0.000 claims description 22
- 238000012549 training Methods 0.000 claims description 18
- 238000012360 testing method Methods 0.000 claims description 9
- 238000006243 chemical reaction Methods 0.000 claims description 6
- 238000003058 natural language processing Methods 0.000 abstract description 3
- 238000000605 extraction Methods 0.000 abstract description 2
- 238000010801 machine learning Methods 0.000 abstract description 2
- 238000013178 mathematical model Methods 0.000 abstract description 2
- 230000006870 function Effects 0.000 description 11
- 238000012545 processing Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013145 classification model Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 235000015170 shellfish Nutrition 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Machine Translation (AREA)
Abstract
本发明公开了一种老挝语文本主题分类方法,属于自然语言处理和机器学习技术领域。本发明结合了N‑gram语言特征提取模型与朴素贝叶斯数学模型实现对老挝文章主题识别,在一定程度上消除了朴素贝叶斯的局限性。它认为条件独立假设,将文本看成是词袋子模型,不考虑词语之间的顺序信息,同时使用的unigram与bigram特征模型,提高了文本的识别率。
Description
技术领域
本发明涉及一种老挝语文本主题分类方法,属于自然语言处理和机器学习技术领域。
背景技术
随着网络的普及,网络的信息以指数级别进行增长。当用户在使用搜索引擎进 行检索自己想要的信息时,网络的页面往往会返回成千上万有关的页面,而用户如 何才能不用去一个个查看这些页面快速有效的定位到想要信息?这时主题识别充当 了重要的角色,它可以利用我们事先训练好的分类器在用户输入有限的信息中定位 到用户想要的内容的主题,来对用户进行有效的回应。朴素贝叶斯分类模型是一个 历史悠久,有着坚实的理论基础的方法,同时处理很多问题时直接而又高效的方法, 并且很多高级自然语言处理模型也可以从它演化而来。它可以将具有某种特征的条 件下属于某类的概率转换为属于某类的条件下具有某种特征的概率,就可以结合我 们的语料库来进行计算,也就是利用先验概率与似然概率来计算后验概率。但它有 自己的不足之处,就是它认为所有的特征属性是条件独立的,相当于它将文本特征 信息放入到一个词袋中不考虑词出现顺序的影响,这往往会忽略了很多的信息,对 文本造成误解。
发明内容
本发明提供了一种老挝语文本主题分类方法,通过该方法识别出未知类别的老挝文章的主题。
本发明的技术方案是:一种老挝语文本主题分类方法,所述方法具体步骤如下:
Step1、利用网络爬虫技术对老挝文本进行爬取,分别收集了五个类别的文本: 旅游、经济、政治、教育、其他,创建以类别命名的五个文件夹来存放每个类别的 文本,然后对这些老挝文本进行文本预处理,去除一些无关分类的干扰词,以此构 建语料库;
Step2、利用python技术对语料库进行遍历,遍历上面创建的五个文件夹,将 文件夹名为标注,里面的文本为待训练数据,将标注与待训练数据分别存放到两个 列表中,命名为class_list与data_list,处理完毕后将这两个列表转换为元组的形式 {class_list,data_list};
Step3、采用sklearn模块里选择了N-gram模式下CountVectorizer方法中的fitting 函数,将data_list中的文本生成词袋模型CountVectorizerModel,通过词袋模型CountVectorizerModel将data_list中的文本转换为文本向量的形式,向量的形式为 (a,b,c),将class_list和处理后的data_list创建新的元组对其进行存放;其中a表示 选取的特征词数,b为每个特征词对应的索引,c为b对应索引位置上每个特征词出 现的次数;
Step4、采用Sklearn提供的train_test_split函数,将Step3的元组划分训练集和测试集,将训练集输入到朴素贝叶斯模型中进行训练;将测试集采用sklearn提供的 朴素贝叶斯模型中的score函数计算预测的准确度,通过该准确度的结果调整步骤 Step3中采用fittting函数时选出的高频词的个数,以此获得训练好的老挝语文章主题 识别模型的分类器。
所述干扰词包括表情符、数字、空格、停用词;其中表情符、数字、空格采用 正则表达式去除,停用词采用停用词表去除。
所述N-gram模式采用unigram与bigram相结合的方式。
所述朴素贝叶斯模型采用sklearn提供的MultinomialNB算法来实现。
本发明的有益效果是:
1、本发明结合了N-gram语言特征提取模型与朴素贝叶斯数学模型实现对老挝 文章主题识别,在一定程度上消除了朴素贝叶斯的局限性。它认为条件独立假设, 将文本看成是词袋子模型,不考虑词语之间的顺序信息,同时使用的unigram与 bigram特征模型,提高了文本的识别率。
2、本发明的的特征值数量选取时,生成一个迭代循环,选取了可以使得分类准 确率最高时候的数量800,将分类的准确率提高到最大。
3、本发明选取了朴素贝叶斯的多项式模型,在多项式模型中考虑重复词语的情况。并且在多项式模型概率计算时如公式(1),加入了拉普拉斯平滑技术,即将λ 值设置为1,避免了不合理的0概率事件。如果训练样本很大时,计算条件概率时将 每个分量加1造成的估计概率变化可以忽略,但这个方法可以方便有效地避免零概 率问题。
4、本发明查找了老挝语的停用词,去除了一些虽然出现频率很高但是对文本类别判断无关的词。这样就更加减少了我们训练模型判断分类的时间,速度非常快, 提高了文本的分类效果。
附图说明
图1是本发明的流程图;
图2为关于CountVectorizer的举例说明。
具体实施方式
下面结合附图和实施例,对本发明作进一步说明,但本发明的内容并不限于所 述范围。
实施例1:如图1-2所示,一种老挝语文本主题分类方法,所述方法步骤如下:Step1、利用网络爬虫技术对老挝文本进行爬取,总共爬取了五个类别的文本分别是: 经济、政治、教育、旅游、一般。将它们分别存放到对应的五个文件夹中,文件夹 以类别命名,以便于后来的检索与处理,然后对爬取的文章进行文本处理,去除一 些无关分类的干扰词,以此构建语料库;进一步地,可以设置所述干扰词包括表情 符、数字、空格、停用词;其中表情符、数字、空格采用正则表达式去除,停用词 采用停用词表去除(即将停止词表中出现的词进行去除)。在去除一些无关分类的干 扰词时使用的是正则表达式编码如下:u"^[\u0000-\u10ff]+$",编码对文本的每个字 符进行匹配,它可以排除除了老挝文本以外的字符。下表1为爬取得老挝文本及每 个类别的数量。
表1:
类别 | 数量 |
经济 | 430 |
政治 | 731 |
教育 | 197 |
旅游 | 145 |
其他 | 28 |
Step2、利用python技术对语料库进行遍历,遍历上面创建的五个文件夹,文件 夹名为标注,里面的文本为待训练的数据,将标注与待训练数据分别存放到两个列 表中,命名为data_list与class_list,处理完毕后将这两个列表转换为元组的形式,以 便对应下一个模块数据接收的类型。下表2为部分data_list(文本)与class_list(标注) 存放形式说明:
表2:
Step3、把文本输入到朴素贝叶斯模型进行概率计算前,需要将文本转换为向量的形式,模型才能对此进行识别。在这里选择了sklearn模块里特征提取的CountVectorizer的方法。CountVectorizer旨在通过计数来将一个文本转换为向量,CountVectorizer提供了N-gram的模式,它有很多模式,在此选择了unigram与bigram 相结合的方式。unigram认为文本的词都是单个出现来构建向量,而bigram认为文 本的词是以两个词为组合出现来构建词向量。这两个方式的结合不仅考虑了单个词 对分类器效果的影响,同时也考虑组合词对文本分类的影响。
在进行转换前需要先使用CountVectorizer中的fitting函数,它可以根据输入训练集中词的词频排序选出前几个高频词生成一个类似于词袋模型CountVectorizerModel,模型将高频词的索引,作为之后需要进行文本到向量转换的 映射标记。我们可以根据Step5计算出来的准确度来相应的调整高频词的选取。根据 多次结果计算,当特征数选择800有一个比较高的准确度。CountVectorizer也就是生 成一个(a,b,c)形式的文本向量。a表示选取的特征词数,b为每个特征词对应的索 引,c为b对应索引位置上每个特征词出现的次数。
CountVectorizer同时也提供了transform方法,它依据前面训练出的词袋模型CountVectorizerModel对接下来输入的文本转换为文本向量,这些文本向量为接下来 进行朴素贝叶斯模型的输入提供了基础。将data_list中的文本输入到CountVectorizer 处理后可以得到一个词袋模型CountVectorizerModel,它就可以对以后想进行朴素贝 叶斯模型预测的文本转换为词向量。如图2为CountVectorizer的举例说明,图左侧 的Array()代表了输入文本,而图右侧代表了经过CountVectorizer处理后的词向量 模型:现在就可以利用这个词袋模型对data_list中每个文本进行转换为对应的词向 量,至此把所有的文本数据转换为了朴素贝叶斯模型可以识别的数据。参照表二经 过Step3处理后的文本将变成如下表3:
表3:
Step4、接下来可以将这些数据输入到朴素贝叶斯模型中进行训练。在训练之前,我们需要对数据进行划分。而Sklearn提供了train_test_split函数,它可以随机将处 理后的data_list数据进行划分为训练集与测试集,我们将data_list数据与对应标注的class_list数据划分为85%的训练集与15%的测试集分别存放。训练集用来进行朴素 贝叶斯模型的训练,测试集是用来验证模型精度的。在这里选择的朴素贝叶斯是 sklearn提供的MultinomialNB算法来实现。MultinomialNB假设特征的先验概率为多 项式分布,即如公式(1):
Y代表了类别、Ck代表第K个类别、xjl代表了j这个词的出现了l次、Xj代表了 这个词,mk代表了K类别中总的词数量、n代表了K类别中所有词的个数(重复词 算出现一次)、λ常常取为1,即拉普拉斯平滑,可以避免得到的概率为0保证每个 n-gram在训练语料中至少出现1次。在MultinomialNB算法中我们考虑重复词语的 情况,也就是说,重复的词语我们视为其出现多次。此公式在本实例视角下可以这 样理解,以计算P(苹果|s)为例:
Step5、之后利用sklearn提供的朴素贝叶斯模型中的score函数进行计算预测的准确度,首先将测试集输入到score函数中就可以得到准确度,它会依据 MultinomialNB模型来对测试集进行预测它的类别,然后根据预测类别与真实类别来 计算准确度,至此老挝语文章主题识别模型的分类器就训练完成。
Step6、当我们需要对一篇老挝文本主题识别分类器进行预测时,可以利用sklearn 的朴素贝叶斯模型提供的predict函数来对文本进行判断属于什么类别,predict函数 会根据已经Step5训练好的MultinomialNB模型来进行预测。
在对待预测文本输入到模型前时依旧先要将文本转换为文本向量,也就是利用特征提取器CountVectorizer,将文本对应到文本向量空间中生成文本向量。然后将文 本向量输入到朴素贝叶斯的predict函数中就可以预测它属于哪个类别。
在将文本向量输入到分类器中时,分类器将根据文本向量计算它在五个类别: 旅游、经济、教育、政治、其他中的条件概率,如公式(2)。
在实例中本公式可以这样理解,以计算Text1属于经济的概率:
X就是要进行判别的文本向量,Yi是类别。类别条件概率P(X|Yi)是所有属性上的联合概率,而又训练的样本有限,因此朴素贝叶斯采用了属性条件独立性假设,因 此对于公式(2)可以改写为如下的公式(3):
其中d为属性数目,xj为x在第j个属性上的取值。在实例中本公式可以这样理 解(xj代表Text1中的第j个词):
而在计算P(xj|c)时使用公式(1)进行。因为计算每个类别的条件概率它们拥有相同的分母,因此只要计算分子,即公式(4)即可。
在公式(3)中分别进行计算旅游、经济、教育、政治、其他中的条件概率,然 后比较谁的概率较大就判别为哪个类别。
上面结合附图对本发明的具体实施方式作了详细说明,但是本发明并不限于上述实施方式,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明 宗旨的前提下作出各种变化。
Claims (4)
1.一种老挝语文本主题分类方法,其特征在于:所述方法具体步骤如下:
Step1、利用网络爬虫技术对老挝文本进行爬取,分别收集了五个类别的文本:旅游、经济、政治、教育、其他,创建以类别命名的五个文件夹来存放每个类别的文本,然后对这些老挝文本进行文本预处理,去除一些无关分类的干扰词,以此构建语料库;
Step2、利用python技术对语料库进行遍历,遍历上面创建的五个件夹,将文件夹名为标注,里面的文本为待训练数据,将标注与待训练数据分别存放到两个列表中,命名为class_list与data_list,处理完毕后将这两个列表转换为元组的形式{class_list,data_list};
Step3、采用sklearn模块里选择了N-gram模式下CountVectorizer方法中的fitting函数,将data_list中的文本生成词袋模型CountVectorizerModel,通过词袋模型CountVectorizerModel将data_list中的文本转换为文本向量的形式,向量的形式为(a,b,c),将class_list和处理后的data_list创建新的元组对其进行存放;其中a表示选取的特征词数,b为每个特征词对应的索引,c为b对应索引位置上每个特征词出现的次数;
Step4、采用Sklearn提供的train_test_split函数,将Step3的元组划分训练集和测试集,将训练集输入到朴素贝叶斯模型中进行训练;将测试集采用sklearn提供的朴素贝叶斯模型中的score函数计算预测的准确度,通过该准确度的结果调整步骤Step3中采用fittting函数时选出的高频词的个数,以此获得训练好的老挝语文章主题识别模型的分类器。
2.根据权利要求1所述的老挝语文本主题分类方法,其特征在于:所述干扰词包括表情符、数字、空格、停用词;其中表情符、数字、空格采用正则表达式去除,停用词采用停用词表去除。
3.根据权利要求1所述的老挝语文本主题分类方法,其特征在于:所述N-gram模式采用unigram与bigram相结合的方式。
4.根据权利要求1所述的老挝语文本主题分类方法,其特征在于:所述朴素贝叶斯模型采用sklearn提供的MultinomialNB算法来实现。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811017181.3A CN109299357B (zh) | 2018-08-31 | 2018-08-31 | 一种老挝语文本主题分类方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811017181.3A CN109299357B (zh) | 2018-08-31 | 2018-08-31 | 一种老挝语文本主题分类方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109299357A true CN109299357A (zh) | 2019-02-01 |
CN109299357B CN109299357B (zh) | 2022-04-12 |
Family
ID=65165992
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811017181.3A Active CN109299357B (zh) | 2018-08-31 | 2018-08-31 | 一种老挝语文本主题分类方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109299357B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110083824A (zh) * | 2019-03-18 | 2019-08-02 | 昆明理工大学 | 一种基于多模型组合神经网络的老挝语分词方法 |
CN111177724A (zh) * | 2019-12-12 | 2020-05-19 | 河北师范大学 | 一种面向多态蠕虫病毒的自动检测方法 |
CN112035657A (zh) * | 2019-05-14 | 2020-12-04 | 四川亚欧瑞智科技有限公司 | 一种基于多项式事件模型的文档分类方法、系统 |
CN112084308A (zh) * | 2020-09-16 | 2020-12-15 | 中国信息通信研究院 | 用于文本类型数据识别的方法、系统及存储介质 |
CN113869356A (zh) * | 2021-08-17 | 2021-12-31 | 杭州华亭科技有限公司 | 一种基于贝叶斯分类的人员脱逃倾向性判断方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050234953A1 (en) * | 2004-04-15 | 2005-10-20 | Microsoft Corporation | Verifying relevance between keywords and Web site contents |
CN105843868A (zh) * | 2016-03-17 | 2016-08-10 | 浙江大学 | 一种基于语言模型的医案搜索方法 |
CN106886578A (zh) * | 2017-01-23 | 2017-06-23 | 武汉翼海云峰科技有限公司 | 一种数据列映射方法及系统 |
CN107423371A (zh) * | 2017-07-03 | 2017-12-01 | 湖北师范大学 | 一种文本正负类情感分类方法 |
CN107506472A (zh) * | 2017-09-05 | 2017-12-22 | 淮阴工学院 | 一种学生浏览网页分类方法 |
CN108199951A (zh) * | 2018-01-04 | 2018-06-22 | 焦点科技股份有限公司 | 一种基于多算法融合模型的垃圾邮件过滤方法 |
-
2018
- 2018-08-31 CN CN201811017181.3A patent/CN109299357B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050234953A1 (en) * | 2004-04-15 | 2005-10-20 | Microsoft Corporation | Verifying relevance between keywords and Web site contents |
CN105843868A (zh) * | 2016-03-17 | 2016-08-10 | 浙江大学 | 一种基于语言模型的医案搜索方法 |
CN106886578A (zh) * | 2017-01-23 | 2017-06-23 | 武汉翼海云峰科技有限公司 | 一种数据列映射方法及系统 |
CN107423371A (zh) * | 2017-07-03 | 2017-12-01 | 湖北师范大学 | 一种文本正负类情感分类方法 |
CN107506472A (zh) * | 2017-09-05 | 2017-12-22 | 淮阴工学院 | 一种学生浏览网页分类方法 |
CN108199951A (zh) * | 2018-01-04 | 2018-06-22 | 焦点科技股份有限公司 | 一种基于多算法融合模型的垃圾邮件过滤方法 |
Non-Patent Citations (5)
Title |
---|
WANG S ET AL.: "Baselines and bigrams: simple, good sentiment and topic classification", 《/PROCEEDINGS OF THE 50TH ANNUAL MEETING OF THE ASSOCIATION FOR COMPUTATIONAL LINGUISTICS》 * |
刘伟朋等: "基于表情符号的中文微博多维情感分类的研究", 《合肥工业大学学报(自然科学版)》 * |
吴桦等: "《新一代互联网流媒体服务及路由关键技术》", 30 November 2017, 东南大学出版社 * |
杨秀璋等: "《Python网络数据爬取及分析从入门到精通(分析篇)》", 30 June 2018, 北京航空航天大学出版社 * |
赵建明等: "基于机器学习的宋词风格识别", 《计算机工程与应用》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110083824A (zh) * | 2019-03-18 | 2019-08-02 | 昆明理工大学 | 一种基于多模型组合神经网络的老挝语分词方法 |
CN112035657A (zh) * | 2019-05-14 | 2020-12-04 | 四川亚欧瑞智科技有限公司 | 一种基于多项式事件模型的文档分类方法、系统 |
CN111177724A (zh) * | 2019-12-12 | 2020-05-19 | 河北师范大学 | 一种面向多态蠕虫病毒的自动检测方法 |
CN112084308A (zh) * | 2020-09-16 | 2020-12-15 | 中国信息通信研究院 | 用于文本类型数据识别的方法、系统及存储介质 |
CN113869356A (zh) * | 2021-08-17 | 2021-12-31 | 杭州华亭科技有限公司 | 一种基于贝叶斯分类的人员脱逃倾向性判断方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109299357B (zh) | 2022-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109299357A (zh) | 一种老挝语文本主题分类方法 | |
CN107861939B (zh) | 一种融合词向量和主题模型的领域实体消歧方法 | |
Moore et al. | Learning to Embed Songs and Tags for Playlist Prediction. | |
CN106960001B (zh) | 一种检索词的实体链接方法及系统 | |
CN104298776B (zh) | 基于lda模型的搜索引擎结果优化系统 | |
Wang et al. | Ptr: Phrase-based topical ranking for automatic keyphrase extraction in scientific publications | |
CN104199965A (zh) | 一种语义信息检索方法 | |
CN105095271B (zh) | 微博检索方法和微博检索装置 | |
CN111061939A (zh) | 基于深度学习的科研学术新闻关键字匹配推荐方法 | |
CN112434164A (zh) | 一种兼顾话题发现和情感分析的网络舆情分析方法及系统 | |
Prokhorov et al. | AI for AI: What NLP techniques help researchers find the right articles on NLP | |
Van et al. | Vietnamese news classification based on BoW with keywords extraction and neural network | |
CN103136221B (zh) | 一种生成需求模板的方法、需求识别的方法及其装置 | |
Feilmayr | Text mining-supported information extraction: an extended methodology for developing information extraction systems | |
Tomer et al. | STV-BEATS: skip thought vector and bi-encoder based automatic text summarizer | |
CN113516202A (zh) | Cbl特征提取与去噪的网页精准分类方法 | |
Zheng et al. | RLTM: an efficient neural IR framework for long documents | |
Preetham et al. | Comparative analysis of research papers categorization using LDA and NMF approaches | |
Bao et al. | HTRM: A hybrid neural network algorithm based on tag-aware | |
Coviello et al. | Multivariate Autoregressive Mixture Models for Music Auto-Tagging. | |
Dong et al. | Cnn-svm with embedded recurrent structure for social emotion prediction | |
Yang et al. | Hierarchical dialog state tracking with unknown slot values | |
Mirylenka et al. | Linking IT product records | |
Calderon Vilca et al. | Music recommender system based on sentiment analysis enhanced with natural language processing technics | |
Tun et al. | Intent Classification on Myanmar Social Media Data in Telecommunication Domain Using Convolutional Neural Network and Word2Vec |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |