CN112699242A - 一种中文文本作者识别方法 - Google Patents
一种中文文本作者识别方法 Download PDFInfo
- Publication number
- CN112699242A CN112699242A CN202110031440.3A CN202110031440A CN112699242A CN 112699242 A CN112699242 A CN 112699242A CN 202110031440 A CN202110031440 A CN 202110031440A CN 112699242 A CN112699242 A CN 112699242A
- Authority
- CN
- China
- Prior art keywords
- word
- frequency
- chinese text
- constructing
- participle
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000001914 filtration Methods 0.000 claims abstract description 42
- 239000013598 vector Substances 0.000 claims abstract description 13
- 238000013145 classification model Methods 0.000 claims abstract description 8
- 238000010801 machine learning Methods 0.000 claims abstract description 7
- 230000011218 segmentation Effects 0.000 claims description 37
- 238000012545 processing Methods 0.000 claims description 8
- 238000007477 logistic regression Methods 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000012549 training Methods 0.000 description 5
- 238000003058 natural language processing Methods 0.000 description 3
- 238000012706 support-vector machine Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000004140 cleaning Methods 0.000 description 2
- 238000003066 decision tree Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000007637 random forest analysis Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000036651 mood Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
- G06F16/353—Clustering; Classification into predefined classes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/216—Parsing using statistical methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Databases & Information Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Probability & Statistics with Applications (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Machine Translation (AREA)
Abstract
本发明公开了一种中文文本作者识别方法,包括:学习方法和分类方法,学习方法的步骤包括:对作者已知的中文文本集合进行分词,构建每一个文本的动态过滤词库并进行过滤,统计每一个分词的词频、文件频率、逆向文件频率和词频‑逆向文件频率,构建文本的特征向量,基于特征向量构建机器学习分类模型。分类方法包括:对待识别的中文文本进行分词得到分词词组,构建动态过滤词库并进行过滤,得到待识别文本的特征向量,应用分类模型对待识别文本进行分类。本发明的中文文本作者识别方法,能够提高中文文本作者识别的效率和准确率。
Description
技术领域
本发明涉及自然语言处理领域,尤其涉及一种中文文本作者识别方法。
背景技术
每一个作者都有其写作风格和特点,而这些写作风格和特点并不是都是显式的,要确定其写作风格和特点时,需要通过阅读作者的多篇文本,会耗费大量的人力和时间。确定中文文本的作品风格和特点是自然语言处理的一种,而目前基于TF-IDF进行中文分词语料处理的自然语言处理中,多使用基本的TF-IDF算法,其中去掉停用词部分多是从固定词汇库中取得,比如地名、语气词等。这是一种静态提取停用词的方法,对于不同作者的中文文本,若都是从固定词汇库中去掉停用词,其产生的作用有限,同时,对于中文文本内容较多时,进行分词后从中去掉固定词汇库中的分词,依然会有大量的分词,如果不对分词进一步处理,在进行文本作者识别时,识别的效率和准确率就会很低。本发明通过对不同作者的不同文本动态确定过滤词库,从而动态确定分词的数量,进行中文文本作者识别时能够提高效率和准确率。
发明内容
本发明提供一种中文文本作者识别方法,以克服上述技术问题。
一种中文文本作者识别方法,包括学习方法和分类方法。
学习方法包括以下步骤:
步骤一、获取作者已知的中文文本集合,对每一个中文文本进行分词,得到分词词组集合。
步骤二、对分词词组集合中的每一个分词词组,依次执行:统计分词词组中每一个分词出现的次数和频率,构建动态过滤词库,将过滤词库中的每一个分词,都从分词词组中删除。
步骤三、使用词袋模型BOW将每一个分词词组处理成机器可以识别的结构化的机器语言,并计算每一个中文文本中的每一个分词的词频、文件频率、逆向文件频率和词频-逆向文件频率。
步骤四、构建每一个中文文本特征向量,基于特征向量分别构建机器学习分类模型。
分类方法包括以下步骤:
步骤一、输入作者待识别的中文文本,进行中文分词,得到分词词组。
步骤二、统计分词词组中每一个分词出现的次数和频率,构建动态过滤词库,将过滤词库中的每一个分词,都从分词词组中删除。
步骤三、使用词袋模型BOW将分词词组处理成机器可以识别的结构化的机器语言,并计算每一个分词的词频、文件频率、逆向文件频率、统计词频-逆向文件频率。
步骤四、构建作者待识别中文文本的特征向量,应用学习方法步骤四得到的机器学习分类模型对作者待识别中文文本进行分类得到分类结果。
优选地,构建动态过滤词库,包括停用词和出现次数低于某一阈值的分词,阈值小于分词词组中含有分词的数量。
优选地,构建动态过滤词库,包括停用词和出现次数高于某一阈值的分词,阈值小于分词词组中含有分词的数量。
优选地,构建动态过滤词库,包括停用词和出现频率低于k的分词,0<k<1。
优选地,构建动态过滤词库,包括停用词和出现频率高于k的分词,0<k<1。
本发明可以动态的确定各种中文文本中的过滤词库,提高中文文本作者分类的效率和准确率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明学习方法流程图;
图2是本发明分类方法流程图;
图3是本发明采用逻辑回归算法进行模拟的实验结果图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
一种中文文本作者识别方法,包括学习方法和分类方法。
学习方法包括以下步骤:
步骤一、获取作者已知的中文文本集合,对每一个中文文本进行分词,得到分词词组集合。
输入的中文文本集合中每一个中文文本的作者已知,对每一个中文文本进行数据清洗,去掉中文文本中的标签和空格。
对于中文文本,可通过常用的汉字词库对输入的中文文本进行分词,例如,可通过jieba、SnowNLP、PKUseg、THULAC、HanLP、FoolNLTK、LTP、CoreNLP、BaiduLac等分词工具对输入的中文文本进行分词。
步骤二、对分词词组集合中的每一个分词词组,依次执行:统计分词词组中每一个分词出现的次数和频率,构建动态过滤词库,将过滤词库中的每一个分词,都从分词词组中删除。
构建动态过滤词库,包括停用词和出现次数低于某一阈值的分词,阈值小于分词词组中含有分词的数量。
构建动态过滤词库,包括停用词和出现次数高于某一阈值的分词,阈值小于分词词组中含有分词的数量。
构建动态过滤词库,包括停用词和出现频率低于k的分词,0<k<1。
构建动态过滤词库,包括停用词和出现频率高于k的分词,0<k<1。
对于停用词可通过哈工大停用词表、百度停用词表、四川大学机器智能实验室停用词库获得。
步骤三、使用词袋模型BOW将分词词组处理成机器可以识别的结构化的机器语言,并计算每一个中文文本中的每一个分词对应的词频、文件频率、逆向文件频率、统计词频-逆向文件频率。
一个分词在中文文本中出现的频率,即词频,表示为TF(Term Frequency),计算方法为公式(1);
一个分词在不同中文文本中出现的频率,即文件频率,表示为DF(DocumentFruquency),
一个分词的逆向文件频率IDF(Inverse Document Frequency)。具体公式如下:
统计词频-逆向文件频率,表示为TFIDF,评估一个分词对于一份文本的重要程度,TFIDF越大,该词在文本分类中起的作用越大,其计算公式为:
TFIDF=TF×IDF (4)
步骤四、构建每一个中文文本特征向量,基于特征向量分别构建机器学习分类模型,包括逻辑回归、支持向量机、K近邻、朴素贝叶斯、随机森林、决策树、神经网络模型。
分类方法包括以下步骤:
步骤一、输入作者待识别的中文文本,进行中文分词,得到分词词组。
步骤二、统计分词词组中每一个分词出现的次数,构建动态过滤词库,将过滤词库中的每一个分词,都从分词词组中删除。
可选的,构建动态过滤词库,包括停用词和出现次数低于某一阈值的分词,阈值小于分词词组中含有分词的数量。
可选的,构建动态过滤词库,包括停用词和出现次数高于某一阈值的分词,阈值小于分词词组中含有分词的数量。
可选的,构建动态过滤词库,包括停用词和出现频率低于k的分词,0<k<1。
可选的,构建动态过滤词库,包括停用词和出现频率高于k的分词,0<k<1。
对于停用词可通过哈工大停用词表、百度停用词表、四川大学机器智能实验室停用词库获得。
步骤三、使用词袋模型BOW将分词词组处理成机器可以识别的结构化的机器语言,并计算每一个分词对应的词频、文件频率、逆向文件频率、统计词频-逆向文件频率。
步骤四、构建作者待识别中文文本的特征向量,应用学习方法步骤四得到的模型对作者待识别中文文本进行分类得到分类结果。
下面通过具体实施例,对本申请的中文文本作者识别方法进行说明。
(1)数据获取
以作者为标签进行文本分类,为了不影响测试效果,选择7名作者共164篇文章。选择爬虫框架Scrapy爬取数据,并按照8:2的比率分成训练集和测试集,具体数据如表1。
表1中文文本数据
从网络爬取的数据包括Html标签和空行等,首先进行数据清洗;在使用jieba分词工具进行中文分词。遍历中文文本集合的所有分词词组集合时,即统计所有分词出现的次数,设定阈值为2,即如果该分词出现的次数为小于等于2,则将该分词加入过滤词库,并将停用词加入过滤词库,删除分词词组中包含的过滤词库中的分词。
使用词袋模型BOW处理成机器可以识别的结构化的机器语言(如139863、52411等索引词),选择的词袋模型代码如下:
bunch=Bunch(target_name=[],lable=[],filenames=[],contents=[])
计算每一个分词对应的词频、文件频率、逆向文件频率、统计词频-逆向文件频率。构建每一个中文文本的特征向量,选择scikit-learn模块,分别使用逻辑回归、支持向量机、K近邻、朴素贝叶斯、随机森林、决策树、神经网络算法进行建模,本实施例采用的逻辑回归算法建模的代码如下:
model=LogisticRegression(soler=’saga’,multi_class=’multinomial’)
model.fit(train_set.tdm,train_set.lable)
predicted=model.predict(test_set.tdm)
使用不同模型建模时只是调用的方法不同,比如朴素贝叶斯算法MultinomialNB()、支持向量机是svm.SVC()等等。建模后,为了防止欠拟合和过拟合等现象,使用精确率(precision)、召回率(recall)、f1-score、准确率(accuracy)等性能指标对于训练集和测试集数据进行评估。
实验结果表明,调整后的逻辑回归算法模型的准确率有了很大提高(如图3),去掉分词出现次数为1次的分词词组准确率提高了2.6%,而去掉出现分词出现次数为2次的分词词组,准确率提高了11.4%,可以达到92.7%,训练集也没有出现过拟合等现象。
整体有的有益效果:
使用TF-IDF进行语料处理时,对比以前只能静态去除停用词的方式,本发明增加了动态去除分词,针对不同文本进行选择设置,增加了灵活性和准确性;这样可以提高训练效率,也提高了训练时间。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (5)
1.一种中文文本作者识别方法,其特征在于,包括学习方法和分类方法,
学习方法包括以下步骤:
步骤一、获取作者已知的中文文本集合,对每一个中文文本进行分词,得到分词词组集合;
步骤二、对分词词组集合中的每一个分词词组,依次执行:统计分词词组中每一个分词出现的次数和频率,构建动态过滤词库,将动态过滤词库中的每一个分词,都从分词词组中删除;
步骤三、使用词袋模型BOW将每一个分词词组处理成机器可以识别的结构化的机器语言,并计算每一个中文文本中的每一个分词的词频、文件频率、逆向文件频率、词频-逆向文件频率;
步骤四、构建每一个中文文本的特征向量,基于特征向量分别构建机器学习分类模型;
分类方法包括以下步骤:
步骤一、输入作者待识别的中文文本,进行中文分词,得到分词词组;
步骤二、统计分词词组中每一个分词出现的次数和频率,构建动态过滤词库,将动态过滤词库中的每一个分词,都从分词词组中删除;
步骤三、使用词袋模型BOW将分词词组处理成机器可以识别的结构化的机器语言,并计算每一个分词的词频、文件频率、逆向文件频率和词频-逆向文件频率;
步骤四、构建作者待识别中文文本的特征向量,应用学习方法步骤四得到的机器学习分类模型对作者待识别中文文本进行分类得到分类结果。
2.根据权利要求1所述的一种中文文本作者识别方法,其特征在于,所述构建动态过滤词库,包括停用词和出现次数低于某一阈值的分词,阈值小于分词词组中含有分词的数量。
3.根据权利要求1所述的一种中文文本作者识别方法,其特征在于,所述构建动态过滤词库,包括停用词和出现次数高于某一阈值的分词,阈值小于分词词组中含有分词的数量。
4.根据权利要求1所述的一种中文文本作者识别方法,其特征在于,所述构建动态过滤词库,包括停用词和出现频率低于k的分词,0<k<1。
5.根据权利要求1所述的一种中文文本作者识别方法,其特征在于,所述构建动态过滤词库,包括停用词和出现频率高于k的分词,0<k<1。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110031440.3A CN112699242A (zh) | 2021-01-11 | 2021-01-11 | 一种中文文本作者识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110031440.3A CN112699242A (zh) | 2021-01-11 | 2021-01-11 | 一种中文文本作者识别方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112699242A true CN112699242A (zh) | 2021-04-23 |
Family
ID=75513872
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110031440.3A Pending CN112699242A (zh) | 2021-01-11 | 2021-01-11 | 一种中文文本作者识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112699242A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113326347A (zh) * | 2021-05-21 | 2021-08-31 | 四川省人工智能研究院(宜宾) | 一种句法信息感知的作者归属方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170039174A1 (en) * | 2015-08-07 | 2017-02-09 | Google Inc. | Text classification and transformation based on author |
CN107086952A (zh) * | 2017-04-19 | 2017-08-22 | 中国石油大学(华东) | 一种基于tf‑idf中文分词的贝叶斯垃圾邮件过滤方法 |
CN109791767A (zh) * | 2016-09-30 | 2019-05-21 | 罗伯特·博世有限公司 | 用于语音识别的系统和方法 |
CN110717326A (zh) * | 2019-09-17 | 2020-01-21 | 平安科技(深圳)有限公司 | 基于机器学习的文本信息作者的识别方法及其装置 |
-
2021
- 2021-01-11 CN CN202110031440.3A patent/CN112699242A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170039174A1 (en) * | 2015-08-07 | 2017-02-09 | Google Inc. | Text classification and transformation based on author |
CN109791767A (zh) * | 2016-09-30 | 2019-05-21 | 罗伯特·博世有限公司 | 用于语音识别的系统和方法 |
CN107086952A (zh) * | 2017-04-19 | 2017-08-22 | 中国石油大学(华东) | 一种基于tf‑idf中文分词的贝叶斯垃圾邮件过滤方法 |
CN110717326A (zh) * | 2019-09-17 | 2020-01-21 | 平安科技(深圳)有限公司 | 基于机器学习的文本信息作者的识别方法及其装置 |
Non-Patent Citations (1)
Title |
---|
肖亮: "中文现代小说的作者识别研究", 中国硕士期刊, 15 September 2019 (2019-09-15), pages 1 - 32 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113326347A (zh) * | 2021-05-21 | 2021-08-31 | 四川省人工智能研究院(宜宾) | 一种句法信息感知的作者归属方法 |
CN113326347B (zh) * | 2021-05-21 | 2021-10-08 | 四川省人工智能研究院(宜宾) | 一种句法信息感知的作者归属方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109960724B (zh) | 一种基于tf-idf的文本摘要方法 | |
CN109190117B (zh) | 一种基于词向量的短文本语义相似度计算方法 | |
CN111859961B (zh) | 一种基于改进TopicRank算法的文本关键词抽取方法 | |
CN111104510B (zh) | 一种基于词嵌入的文本分类训练样本扩充方法 | |
CN109492105B (zh) | 一种基于多特征集成学习的文本情感分类方法 | |
CN112434164B (zh) | 一种兼顾话题发现和情感分析的网络舆情分析方法及系统 | |
CN112507711A (zh) | 文本摘要抽取方法及系统 | |
CN111191442A (zh) | 相似问题生成方法、装置、设备及介质 | |
CN115952292B (zh) | 多标签分类方法、装置及计算机可读介质 | |
CN116304020A (zh) | 一种基于义原分析和跨度特征的工业文本实体抽取方法 | |
CN114491062B (zh) | 一种融合知识图谱和主题模型的短文本分类方法 | |
CN115578137A (zh) | 一种基于文本挖掘与深度学习模型的农产品期货价格预测方法及系统 | |
CN115146062A (zh) | 融合专家推荐与文本聚类的智能事件分析方法和系统 | |
CN111898375B (zh) | 一种基于词向量句子链的文章论点论据自动检测划分方法 | |
CN114722198A (zh) | 产品分类编码确定方法、系统及相关装置 | |
CN112862569B (zh) | 基于图像和文本多模态数据的产品外观风格评价方法和系统 | |
CN110888983B (zh) | 一种正负面情感分析方法、终端设备及存储介质 | |
CN112699242A (zh) | 一种中文文本作者识别方法 | |
CN116933782A (zh) | 一种电商文本关键词提取处理方法及系统 | |
CN111178080A (zh) | 一种基于结构化信息的命名实体识别方法及系统 | |
CN110348497A (zh) | 一种基于WT-GloVe词向量构建的文本表示方法 | |
CN115827871A (zh) | 互联网企业分类的方法、装置和系统 | |
CN115269833A (zh) | 基于深度语义和多任务学习的事件信息抽取方法及系统 | |
CN113312903B (zh) | 一种5g移动业务产品词库的构建方法及系统 | |
CN109344397A (zh) | 文本特征词语的提取方法及装置、存储介质及程序产品 |
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 |