摘要: 随着互联网的普及和信息技术的快速发展,文本数据呈现出爆炸式增长。中文分词作为自然语言处理的基本任务之一,在信息检索、知识获取、机器翻译等领域具有重要的应用价值。然而,由于汉语的特殊性,如缺乏明确的词语分隔标志、存在大量的歧义和变体等,中文分词面临着许多挑战。传统的中文分词方法主要基于规则和词典,需要大量的人工工作来制定规则和构建词典。这些方法往往依赖于特定的领域和语言环境,缺乏通用性和适应性。因此,研究一种基于词频统计的中文分词系统,可以有效地提高分词的准确性和效率,对于解决中文分词问题具有重要的意义。
基于词频统计的中文分词系统是一种常见的中文文本处理技术。它通过分析大量文本数据中词语出现的频率来实现自动分词。
该系统首先会建立一个词库,其中包含了大量的中文词汇。然后,它会对输入的文本进行遍历,从左到右逐个字符进行扫描。在扫描的过程中,系统会将扫描到的字符逐步组合成词语,并与词库中的词进行匹配。
当扫描到的字符组合成的词与词库中的某个词完全匹配时,系统会将该词作为一个独立的词语输出,并将扫描指针移至下一个字符。如果当前的字符组合在词库中没有匹配项,系统会将该字符作为一个单字词输出,并将扫描指针移至下一个字符。
该系统主要基于词频统计来确定词语边界。在处理大规模文本时,系统会统计每个词语在文本中的出现频率,并根据频率排序。较高频率的词语被认为更可能是有效的词语,而较低频率的词语则可能是噪音或错误识别的结果。
虽然基于词频统计的中文分词系统在一定程度上能够实现自动分词,但也存在一些问题。例如,该系统无法准确处理歧义词、新词或专有名词等情况。因此,在实际应用中,还需要结合其他技术和方法来提高分词的准确性和效果。
关键词:中文分词;Flask; Python;词频统计
Design and Implementation of Chinese Word Segmentation System Based on Word Frequency Statistics
Absrtact: With the popularization of the Internet and the rapid development of information technology, text data shows an explosive growth. Chinese word segmentation, as one of the fundamental tasks of natural language processing, has important application value in fields such as information retrieval, knowledge acquisition, and machine translation. However, due to the particularity of Chinese, such as the lack of clear word separation markers, the existence of a large number of ambiguities and variants, Chinese word segmentation faces many challenges. The traditional Chinese word segmentation method is mainly based on rules and dictionaries, requiring a lot of manual work to formulate rules and build dictionaries. These methods often rely on specific domains and language environments, lacking universality and adaptability. Therefore, studying a Chinese word segmentation system based on word frequency statistics can effectively improve the accuracy and efficiency of word segmentation, which is of great significance for solving Chinese word segmentation problems.
The Chinese word segmentation system based on word frequency statistics is a common Chinese text processing technique. It achieves automatic word segmentation by analyzing the frequency of words appearing in a large amount of text data.
The system will first establish a vocabulary library, which contains a large number of Chinese vocabulary. Then, it will traverse the input text, scanning each character from left to right. During the scanning process, the system will gradually combine the scanned characters into words and match them with the words in the vocabulary library.
When the scanned characters combine to form a word that perfectly matches a word in the vocabulary, the system will output the word as an independent word and move the scanning pointer to the next character. If the current character combination does not have a match in the vocabulary, the system will output the character as a single word and move the scanning pointer to the next character.
The system is mainly based on word frequency statistics to determine word boundaries. When processing large-scale text, the system will count the frequency of each word appearing in the text and sort it based on frequency. Higher frequency words are considered more likely to be effective words, while lower frequency words may be the result of noise or misidentification.
Although the Chinese word segmentation system based on word frequency statistics can achieve automatic segmentation to a certain extent, there are also some problems. For example, the system cannot accurately handle situations such as ambiguous words, new words, or proper nouns. Therefore, in practical applications, it is necessary to combine other technologies and methods to improve the accuracy and effectiveness of word segmentation.
Keywords: Chinese word segmentation; Flask; Python; word frequency count
1.1课题背景及意义
随着互联网的普及和信息技术的快速发展,文本数据呈现出爆炸式增长。中文分词作为自然语言处理的基本任务之一,在信息检索、知识获取、机器翻译等领域具有重要的应用价值。然而,由于汉语的特殊性,如缺乏明确的词语分隔标志、存在大量的歧义和变体等,中文分词面临着许多挑战。传统的中文分词方法主要基于规则和词典,需要大量的人工工作来制定规则和构建词典。这些方法往往依赖于特定的领域和语言环境,缺乏通用性和适应性。因此,研究一种基于词频统计的中文分词系统,可以有效地提高分词的准确性和效率,对于解决中文分词问题具有重要的意义。
基于词频统计的中文分词系统可以通过对大量文本数据进行统计分析,学习到词语的分布规律和模式,从而提高分词的准确性。相比传统的基于规则和词典的方法,基于词频统计的方法更加全面和客观,能够更好地处理歧义和变体。基于词频统计的中文分词系统可以利用计算机的并行处理能力,快速地对大量文本进行分词处理。相比人工制定规则和构建词典的方法,基于词频统计的方法可以大大节省时间和人力资源。基于词频统计的中文分词系统可以通过对不同的文本数据进行训练和调整,适应不同的领域和语言环境。相比传统的基于规则和词典的方法,基于词频统计的方法具有更强的适应性和通用性。同时,这也将对信息检索、知识获取、机器翻译等领域产生积极的影响。
1.2国内外研究现状
中文分词是自然语言处理领域的一项重要任务,它是对中文文本进行切分成有意义的词语的过程。由于中文词语之间没有明显的分隔标志,如英文中的空格,因此中文分词相比英文分词更具挑战性。近年来,基于词频统计的中文分词方法因其较高的准确性和效率而受到广泛关注。本文将对基于词频统计的中文分词系统的国内外研究现状进行综述。
国内研究者们在基于统计的中文分词方法方面进行了大量研究。典型的方法包括基于隐马尔可夫模型(HMM)的分词方法、基于条件随机场(CRF)的分词方法以及基于n-gram语言模型的分词方法等。这些方法通过对大量已标注的中文文本进行学习,建立词语的统计模型,然后利用这些模型对新的中文文本进行分词。国内研究者们还构建了一些基于词频统计的中文分词系统。这些系统通常包括预处理、分词、后处理等模块,其中分词模块采用基于词频统计的方法。例如,研究者们利用词频统计方法对中文文本进行预处理,如停用词去除、词性标注等,然后利用统计模型进行分词,最后对分词结果进行后处理,如词性还原、歧义消解等。近年来,随着深度学习技术的快速发展,国内研究者们开始将深度学习技术应用于中文分词任务。典型的深度学习分词方法包括基于循环神经网络(RNN)的分词方法、基于长短时记忆网络(LSTM)的分词方法以及基于卷积神经网络(CNN)的分词方法等。这些方法通过对大量中文文本进行学习,提取文本的特征,然后利用这些特征进行分词。
国外研究者们在基于统计的中文分词方法方面也进行了大量研究。例如,Chen等人提出了一种基于n-gram语言模型的中文分词方法,通过计算词语的n-gram概率来识别词语边界。Li等人提出了一种基于CRF的中文分词方法,通过学习词语的转移概率和发射概率来识别词语边界。国外研究者们也将深度学习技术应用于中文分词任务。例如,Liu等人提出了一种基于深度神经网络的中文分词方法,通过学习词语的嵌入表示来识别词语边界。Zhang等人提出了一种基于注意力机制的中文分词方法,通过关注文本中的重要信息来识别词语边界。
综上所述,基于词频统计的中文分词系统在国内外研究现状方面取得了一定的进展。国内外研究者们提出了多种基于统计和深度学习的中文分词方法,并构建了一些中文分词系统。然而,中文分词仍然面临着一些挑战,如歧义消解、词性标注等。未来,我们可以从以下几个方面进一步研究:
1. 结合多种方法的优点:目前,基于词频统计的中文分词方法已经取得了一定的成果,但仍然存在一些问题。我们可以尝试将多种方法进行融合,如统计方法与深度学习方法的结合,以进一步提高分词的准确性和效率。
2. 深入研究中文词语的分布规律:通过对大量中文文本进行统计分析,我们可以更深入地研究中文词语的分布规律和模式。这有助于我们更好地构建词频统计模型,提高分词的准确性。
3. 适用于不同领域的中文分词系统:目前,一些中文分词系统主要针对特定领域进行优化。我们可以尝试构建适用于不同领域的中文分词系统,以提高分词的通用性和适应性。
4. 利用外部知识库:在中文分词过程中,我们可以利用外部知识库,如词典、百科等,来辅助分词。这有助于提高分词的准确性和效率。
总之,基于词频统计的中文分词系统在国内外研究现状方面取得了一定的进展。随着技术的不断发展,我们有理由相信,在不久的将来,中文分词系统将会取得更大的突破。
1.3研究的主要内容
基于Python和大数据技术,设计和实现一个中文分词词频统计系统,该系统通过收集和分析中文数据等,运用机器学习算法或统计模型进行统计,为分析提供可靠 的决策依据。
2.1功能需求分析
中文分词分析系统中主要有两类用户:管理员、普通人员。每一类用户都有自己的权限,不同用户登陆系统后显示的菜单栏是不同的,显示每一类用户所对应的模块。
管理员用例主要包括注册登录、基本信息管理、分词管理、词频统计等模块,如图2.1所示。
表2-1 管理员登陆
项 | 描述 |
描述 | 用户输入用户名和密码之后,系统判断是管理员角色,登录中文分词分析系统 |
基本流程 |
|
返回数据 | 管理员登陆结果集 |
表2-2基本信息管理
项 | 描述 |
描述 | 登录成功,进入系统的基本信息管理界面,可以对基本信息管理进行操作 |
基本流程 |
|
返回数据 | 基本信息结果集 |
表2-3 中文分词管理
项 | 描述 |
描述 | 管理员可以进入天气管理界面,可以对中文分词信息管理进行操作 |
基本流程 |
|
返回数据 | 天气结果集 |
表2-4 词频统计
项 | 描述 |
描述 | 管理员可以进入词频统计界面,可以对词频统计进行操作 |
基本流程 |
|
返回数据 | 词频统计结果集 |
用户主要包括注册登录、基本信息查询、分词查询、词频统计等模块,如图2.5所示。
表2-5 用户登陆
项 | 描述 |
描述 | 用户输入用户名和密码之后,系统判断是管理员角色,登录中文分词分析系统 |
基本流程 |
|
返回数据 | 管理员登陆结果集 |
表2-6个人基本信息管理
项 | 描述 |
描述 | 登录成功,进入系统的基本信息管理界面,可以对基本信息管理进行操作 |
基本流程 |
|
返回数据 | 基本信息结果集 |
表2-7 分词查询
项 | 描述 |
描述 | 管理员可以进入天气管理界面,可以对中文分词信息管理进行操作 |
基本流程 |
|
返回数据 | 天气结果集 |
表2-8 词频统计
项 | 描述 |
描述 | 管理员可以进入词频统计界面,可以对词频统计进行操作 |
基本流程 |
|
返回数据 | 词频统计结果集 |
2.2 所需技术分析
Flask是一个开放源代码的Web应用框架,由Python写成。采用了MTV的框架模式,即模型M,视图V和模版T。它最初是被开发来用于管理劳伦斯网络IP 集团旗下的一些以新闻内容为主的网站的,即是CMS(内容管理系统)软件。并于2005年7月在BSD许可证下发布。这套框架是以比利时的吉普赛爵士吉他手Flask Reinhardt来命名的。2019年12月2日,Flask 3. 0发布 。
Flask是高水准的Python编程语言驱动的一个开源模型.视图,控制器风格的Web应用程序框架,它起源于开源社区。使用这种架构,程序员可以方便、快捷地创建高品质、易维护、数据库驱动的应用程序。这也正是OpenStack的Horizon组件采用这种架构进行设计的主要原因。另外,在Dj ango框架中,还包含许多功能强大的第三方插件,使得Flask具有较强的可扩展性。Flask 项目源自一个在线新闻 Web 站点,于 2005 年以开源的形式被释放出来。其工作流程主要可划分为以下几步:
1.用manage .py runserver 启动Flask服务器时就载入了在同一目录下的settings .py。该文件包含了项目中的配置信息,如前面讲的URLConf等,其中最重要的配置就是ROOT_URLCONF,它告诉Flask哪个Python模块应该用作本站的URLConf,默认的是urls .py。
2.当访问url的时候,Flask会根据ROOT_URLCONF的设置来装载URLConf。
3.然后按顺序逐个匹配URLConf里的URLpatterns。如果找到则会调用相关联的视图函数,并把HttpRequest对象作为第一个参数(通常是request)。
4.最后该view函数负责返回一个HttpResponse对象。
TF-IDF(term frequency–inverse document frequency,词频-逆向文件频率)是一种用于信息检索(information retrieval)与文本挖掘(text mining)的常用加权技术。
TF-IDF是一种统计方法,用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。
TF-IDF的主要思想是:如果某个单词在一篇文章中出现的频率TF高,并且在其他文章中很少出现,则认为此词或者短语具有很好的类别区分能力,适合用来分类。
TF-IDF 采用文本逆频率 IDF 对 TF 值加权取权值大的作为关键词,但 IDF 的简单结构并不能有效地反映单词的重要程度和特征词的分布情况,使其无法很好地完成对权值调整的功能,所以 TF-IDF 算法的精度并不是很高,尤其是当文本集已经分类的情况下。
在本质上 IDF 是一种试图抑制噪音的加权,并且单纯地认为文本频率小的单词就越重要,文本频率大的单词就越无用。这对于大部分文本信息,并不是完全正确的。IDF 的简单结构并不能使提取的关键词, 十分有效地反映单词的重要程度和特征词的分布情 况,使其无法很好地完成对权值调整的功能。尤其是在同类语料库中,这一方法有很大弊端,往往一些同类文本的关键词被盖。
TF-IDF算法实现简单快速,但是仍有许多不足之处:
(1)没有考虑特征词的位置因素对文本的区分度,词条出现在文档的不同位置时,对区分度的贡献大小是不一样的。
(2)按照传统TF-IDF,往往一些生僻词的IDF(反文档频率)会比较高、因此这些生僻词常会被误认为是文档关键词。
(3)传统TF-IDF中的IDF部分只考虑了特征词与它出现的文本数之间的关系,而忽略了特征项在一个类别中不同的类别间的分布情况
(4)对于文档中出现次数较少的重要人名、地名信息提取效果不佳。
2.3系统可行性
在深入了解一个中文分词的运行状况和管理方式之后,为了更好的对中文分词运作进行分析。从经济可行性、技术可行性和操作可行性三个角度对中文分词分析系统进行了探讨。
基于词频统计的中文分词系统在经济上是可行的,它具有以下几个方面的优势:
低成本: 该系统不需要复杂的算法和大量的训练数据,因此开发和维护成本相对较低。
高效性: 基于词频统计的中文分词系统通常具备较高的处理速度,能够在短时间内对大量的文本进行分词操作。
可定制性: 开发者可以根据特定需求对分词规则进行自定义调整,以适应不同领域和语境下的分词需求。
实用性: 词频统计分词系统在一些应用场景中已经被广泛采用,如搜索引擎、文本挖掘和自然语言处理等领域。
然而,基于词频统计的中文分词系统也存在一些局限性:
歧义问题: 中文存在很多词语之间的歧义,单纯依靠词频统计无法解决所有的歧义情况,可能会导致分词错误。
命名实体识别问题: 词频统计分词系统难以有效地识别人名、地名、机构名等命名实体,需要额外的处理方法来解决。
因此,在实际应用中,基于词频统计的中文分词系统常常需要与其他技术手段相结合,以提高分词的准确性和效果。
本系统应用的开发使用了MySQL作为中文分词分析系统相关数据的存储中心。采用的语言是稳定的Python语言,整体开发架构是:后端使用的是:Flask框架,Flask目前被许多大公司使用,是一个可靠的技术框架,前端使用的echarts组件等,操作流畅、运行速度快。因此,该系统在技术上是足够可行的。
- 此系统的界面设计简洁明了、美观大方,各个组件操作起来比较流畅,对操作人员来说,页面的提示通俗易懂。
- 此系统,对有计算机经验或者经过简单培训的操作人员来说,易于使用。
- 对于操作人员十分友好,只需查看操作手册或者程序说明便可灵活使用,同时,也能满足不同操作人员的需求。
3.1设计目标
本管理系统是为了深入研究中文分词等业务模块,基于Python和大数据技术,设计和实现一个中文分词词频统计,旨在预测未来中文分词。该系统通过收集和分析文字数据、历史中文分词数据等,运用机器学习算法或统计模型进行词频统计,为防汛部门提供可靠的决策依据。
3.2中文分词程序设计
中文分词是将连续的中文文本切分成一个个独立的词语的过程。在自然语言处理中,中文分词是一个重要的预处理步骤。
以下是一些常见的中文分词算法:
词典匹配法(最大正向匹配法、最大逆向匹配法):基于预先构建好的字典,在待分词的文本中从左到右(或从右到左)扫描,找到最长匹配的词作为切分点。
基于规则的方法:通过制定一些分词规则,如基于词性、标点符号等,来进行分词。
基于统计的方法:使用统计模型学习分词规则,如隐马尔可夫模型(HMM)、条件随机场(CRF)等。这些模型会根据已标注的语料库学习词语的出现概率和上下文信息,从而进行分词。
基于深度学习的方法:使用神经网络模型,如循环神经网络(RNN)、长短时记忆网络(LSTM)、Transformer等,通过大规模语料的训练来学习分词模型。
需要注意的是,不同的分词算法在不同的场景中可能有不同的表现,选择适合具体任务需求的分词算法是很重要的。
表3-1 分词程序代码
# -*- coding: utf-8 -*- from collections import defaultdict import math import operator """ 函数说明:创建数据样本 Returns: dataset - 实验样本切分的词条 classVec - 类别标签向量 """ def loadDataSet(): dataset = [ ['my', 'dog', 'has', 'flea', 'problems', 'help', 'please'], # 切分的词条 ['maybe', 'not', 'take', 'him', 'to', 'dog', 'park', 'stupid'], ['my', 'dalmation', 'is', 'so', 'cute', 'I', 'love', 'him'], ['stop', 'posting', 'stupid', 'worthless', 'garbage'], ['mr', 'licks', 'ate', 'my', 'steak', 'how', 'to', 'stop', 'him'], ['quit', 'buying', 'worthless', 'dog', 'food', 'stupid'] ] classVec = [0, 1, 0, 1, 0, 1] # 类别标签向量,1代表好,0代表不好 return dataset, classVec """ 函数说明:特征选择TF-IDF算法 Parameters: list_words:词列表 Returns: dict_feature_select:特征选择词字典 """ def feature_select(list_words): #总词频统计 doc_frequency=defaultdict(int) for word_list in list_words: for i in word_list: doc_frequency[i]+=1 #计算每个词的TF值 word_tf={} #存储没个词的tf值 for i in doc_frequency: word_tf[i]=doc_frequency[i]/sum(doc_frequency.values()) #计算每个词的IDF值 doc_num=len(list_words) word_idf={} #存储每个词的idf值 word_doc=defaultdict(int) #存储包含该词的文档数 for i in doc_frequency: for j in list_words: if i in j: word_doc[i]+=1 for i in doc_frequency: word_idf[i]=math.log(doc_num/(word_doc[i]+1)) #计算每个词的TF*IDF的值 word_tf_idf={} for i in doc_frequency: word_tf_idf[i]=word_tf[i]*word_idf[i] # 对字典按值由大到小排序 dict_feature_select=sorted(word_tf_idf.items(),key=operator.itemgetter(1),reverse=True) return dict_feature_select if __name__=='__main__': data_list,label_list=loadDataSet() #加载数据 features=feature_select(data_list) #所有词的TF-IDF值 print(features) print(len(features)) |
3.3词频统计程序设计
中文词频统计是对一段中文文本中每个词语出现的次数进行统计分析的过程。通过词频统计可以了解到不同词语在文本中的重要程度或者特征,有助于理解文本的主题、情感倾向或者作者的表达方式。
词频统计的步骤一般包括以下几个方面:
分词:将原始文本按照一定的规则切分成一个个词语的序列。常用的分词工具有jieba、HanLP等。
统计:统计每个词语在文本中出现的次数,并记录下来。
排序:按照词语出现次数的大小排序,常见的排序方式有按照频次降序排列或者按照字典序排列。
可视化:根据排序结果,可以使用柱状图、词云等图表形式展示词频统计结果,使得信息更加直观可见。
词频统计可以应用于各种文本分析任务中,如情感分析、文本分类、关键词提取等。通过分析高频词和低频词,我们可以对文本的特点和内容进行初步的了解并进行进一步的深入分析。
表3-4 TF-IDF词频统计代码
from sklearn.feature_extraction.text import TfidfVectorizer # 将文本集合转换为TF-IDF特征矩阵 corpus = [ "This is the first document.", "This document is the second document.", "And this is the third one.", "Is this the first document?", ] vectorizer = TfidfVectorizer() tfidf_matrix = vectorizer.fit_transform(corpus) # 打印单词列表print(vectorizer.get_feature_names()) # 打印TF-IDF特征矩阵print(tfidf_matrix.toarray()) |
基于Flask的中文分词分析可视化分析平台的基本业务功能是采用Flask框架实现的, 在本文的第四章将详细介绍后台系统的实现部分,包括详细阐述了系统功能模块的具体实现,并展示说明了部分模块的功能界面。
4.1 开发环境与配置
本系统设计基于B/S架构,其中服务器包括应用服务器和数据库服务器。这种架构模式,使用户只需要在有网络的地方即可通过浏览器访问,而不需要再安装天气端软件,交互性更强。基于Flask的中文分词分析可视化分析平台使用Pycharm集成开发工具。而系统运行配置时,选择应用本地来部署Web服务器来保障平台的正常运行,本地 是Apache的核心项目,其技术先进、性能稳定并且开源免费,因而被普遍应用。本系统的主要开发环境以及开发工具如表4-1所示。
表4-1 系统开发环境和工具
项目 | 系统环境及版本 |
硬件环境 | Windows 64 位操作系统 |
Python | Python2.6 |
数据库 | MySql |
开发工具 | Pycharm |
项目架构 | Flask |
本系统使用集成开发工具Pycharm进行开发,由于 Pycharm 中本地配置详细资料有很多,不做详细赘述, 本文主要介绍 Flask框架,首先需要在项目中中引入各框架以及数据库连接等所需要工具包。
图4-1 后台的配置文件
4.2 数据库的设计
数据库设计是系统设计中特别重要的一部分。数据库的好坏决定着整个系统的好坏,并且,在之后对数据库的系统维护、更新等功能中,数据库的设计对整个程序有着很大的影响。
根据功能模块的划分结果可知,本系统的用户由于使用账号和密码进行登录,因此在本系统中需要分别进行数据记录。首先根据如下6个数据实体:用户、中文分词分析可视化等数据库表。
用户的属性包括用户编号、用户名、密码和性别、注册账号的时间。用户实体属性图如图4-2所示:
图4-2 用户实体属性图
根据以上分析,各个实体之间有一定的关系,使实体与实体可以联系起来,建立成整个系统的逻辑结构,本系统中,普通用户通过对中文分词分析可视化的管理,使中文分词分析可视化与用户实体存在对应关系。
4.3 系统功能模块实现
用户登录时需要在登录界面输入用户名、密码进行身份认证,要求必须是表单认证、校验。具体流程如时序图如4-2所示。
图4-3登录界面图
图4-2登录认证流程图
4.3.2 中文分词数据功能
中文分词管理功能是对中文分词进行查询,删除等操作的功能集合,中文分词管理功能使用到了中文分词表中文分词分析可视化分析系统的中文分词分析管理功能界面如下图所4-4所示:
图4-4 分词数据管理
中文分词分析管理功能流程功能图如图4-5所示:
图4-5 分词管理功能流程图
通过“中文分词分析可视化分析”按钮,进入中文分词分析可视化分析界面,用户可以看到中文分词分析可视化列表,例如:中文分词分析可视化名称、所属类别、长度、中文分词分析可视化目的地、中文分词分析可视化源、中文分词分析可视化时间的详细信息。通过此界面,用户可以对中文分词分析可视化进行删除管理操作。
4.3.3中文分词分析功能
数据可视化模块就是对我们采集和计算的分析结果的展示。数据分析模块的
数据进行一个精美而又直接的展示,我们采用大屏的方式进行展示,展示数据结
构分明,背景具有科技感,把相对复杂的、抽象的数据通过可视的、交互的方式
进行展示,从而形象直观地表达数据蕴含的信息和规律。
图4-6 中文分词分析可视化界面
中文分词可视化分析开发的难点并不在于图表类型的多样化,而在于如何能在简单的一页之内让用户读懂中文分词分析可视化数据之间的层次与关联,这就关系到布局、色彩、图表、动效的综合运用。如排版布局应服务于业务,避免为展示而展示;配色一般以深色调为主,注重整体背景和单个视觉元素背景的一致性。本文使用Echarts中地图、线条等组件,将分析结果较为直观的展示给平台用户,使得用户能够简便的获取有效的信息。
4.4 本章小结
本章主要分析了基于Flask的中文分词分析可视化分析系统开发过程中使用到的技术和具体的实现步骤,这其中主要介绍了基于Flask框架的中文分词分析可视化分析系统的搭建环境和开发步骤,包括程序中的一些数据库配置等。前端页面采用的是html实现。
5.1后台登录页面
该功能是用于用户登陆中文分词分析系统,当用户输入用户名和密码之后,经过数据校验,成功则进入主页面。
该后台登录功能,通过向后台登录接口发送请求,如图5.1是后台登录界面。登陆成功,则提示登陆成功,并跳转到天气管理信息界面,如图5.2所示。
图 5. 1 后台登录页面截图
图 5. 2 登录成功页面
5.2信息管理
中文分词信息管理功能:实现中文分词信息的相关操作。如图5.3是天气管理详情界面,进入天气管理界面,加载完毕则显示所有的中文分词信息。
添加中文分词信息:进行添加操作后,会弹出一个dialog让用户输入中文分词信息。表单带*号的需要验证输入合法性,如图5.4所示。
图 5. 3 中文分词信息管理
数据分类预测模块就是对我们采集和计算的分析结果的展示。数据分析模块的
数据进行一个精美而又直接的展示,我们采用大屏的方式进行展示,展示数据结
构分明,背景具有科技感,把相对复杂的、抽象的数据通过可视的、交互的方式
进行展示,从而形象直观地表达数据蕴含的信息和规律。中文分词大数据看板界面如图5-4所示。
图5-7中文分词大数据分析平台界面
第6章 总结与展望
6.1 系统开发遇到的问题
由于基于Python的中文分词分析平台是由本人独立开发,因此在系统设计和业务逻辑方面更多地借鉴了目前市场上较为流行的框架和技术点,包括大数据技术,很多是不熟悉没接触过的,在开发过程中不断学习新知识。另外由于本人的时间和精力的原因,在系统开发过程中有很多地方可能并不能够完全尽如人意,还有许多需要补充的功能与模块。
由于时间有限,中文分词分析系统在满足基本功能的同时,也存在着一些不足。如功能和安全性不够完善,页面的布局与市场上的一些信息管理系统还是有很大的差距等。因此,在系统需求分析与系统设计初期,必须进行更多的研究,对文字局的具体经营状况进行更深入的探讨。这样,才能开发出一个真正能满足中文分词业务需求的中文分词分析系统。存在的不足和后续需要改进的地方如下几个方面:
1)确保数据真实性和美化界面,在整个系统 UI 界面的样式和配色应该进行更详细的设计的美化,改善用户体验。
2)在登陆时采用更安全的加密方法,确保系统的安全。
当我的毕业论文接近尾声时,我意识到我很快就会进入社会。这次经历让我体会到如何自己发现和解决问题,以及会去思考更优解。在未来,我会朝自己选择的方向不断努力。
[1] 缪梓敬,梅欣.基于多词汇特征增强的中文事件检测方法[J].计算机与现代化, 2022(009):000.
[2] 曹丹阳,赵俊生,李尽辉,等.基于Jieba分词的青城旅游景点本体构建研究与应用[J].内蒙古工业大学学报:自然科学版, 2021, 40(3):8.DOI:10.3969/j.issn.1001-5167.2021.03.009.
[3] 郑国兴.面向航天领域的中文分词算法研究与实现[D].西安电子科技大学,2020.
[4] 李舰.中文分词中的统计学[J].中国统计, 2020.
[5] 高毅.基于长短时神经网络的古汉语分词系统[J].自动化与仪器仪表, 2020(2):4.DOI:CNKI:SUN:ZDYY.0.2020-02-034.
[6] 李杰,孙仁诚.基于词频统计算法的中英文词频分布研究[J].青岛大学学报:工程技术版, 2020, 35(1):5.DOI:CNKI:SUN:QDDX.0.2020-01-002.
[7] 杨鹏、张利强、贺斯慧.基于Word的中文词频分析系统设计与实现[J].企业科技与发展, 2020(10):3.
[8] 陈志锋.基于数据挖掘的网络检索自动分词系统设计[J].湖北科技学院学报, 2022(042-003).
[9] 俞颖,林振通,林燕玲,等.基于词频统计的旅游出行资讯推荐[J].哈尔滨师范大学自然科学学报, 2020, 36(2):5.DOI:CNKI:SUN:HEBY.0.2020-02-010.
[10] 刘洋,余甜,丁艺.一种新的基于最大概率路径的中文分词[J].计算机与数字工程, 2022(003):050.
[11] 凤丽洲,杨贵军,徐雪,等.基于N-gram的双向匹配中文分词方法[J].数理统计与管理, 2020, 39(4):11.DOI:10.13860/j.cnki.sltj.20200512-002.
[12] 淦亚婷,安建业,苗漉欣.基于R-Shiny的中文文本可视化系统设计研究[J].现代信息科技, 2023, 7(7):24-27.
[13] Pei J .A Dictionary-based Maximum Match Algorithm Via Statistical Information for Chinese Word Segmentation[J].International Journal of Electronics and Information Engineering, 2020, 12(1):24-33.DOI:P20160419002-202003-202003100006-202003100006-24-33.
[14] Kai,Zhao,Na,et al.Text Mining and Analysis of Treatise on Febrile Diseases Based on Natural Language Processing[J].World Journal of Traditional Chinese Medicine, 2020, v.6(01):73-79.DOI:CNKI:SUN:WJTC.0.2020-01-008.
[15] Kai ZhaoNa ShiZhen SaHua-Xing WangChun-Hua LuXiao-Ying Xu.Text Mining and Analysis of Treatise on Febrile Diseases Based on Natural Language Processing[J].世界中医药杂志:英文版, 2020, 006(001):P.67-73.