## 中文分词课程设计:
设计实现一个中文分词系统,将任意给定的一段中文切分成一个单独的词。掌握动态存储分配,文件读写等功能。
### 一 基本功能
1. 词典维护:导入,增删查改,保存。
2. 索引维护:提高字典查找比对速度。词典发生变化时,索引需响应更新。需要保存硬盘
3. 待处理中文文本的输入:多个段落,多个句子,字数不限,标点符号。键盘输入/文件导入
4. 输入的中文文本进行分词处理:分割后用“|”分隔,保持原文次序,保存到文本文件
4. 用户界面
### 二 参考算法
#### 基于字符串匹配的分词方法
按照扫描方向的不同分为正向和逆向,按照不同长度优先分配分为最大和最小匹配。
1. 正向
> 要求每一句的切分结果中词组的总数最少。 (减字匹配法)
注意:
1. 字典中最长词汇的长度
之后直接进行匹配即可
2. 逆向,是从句子的结尾开始扫描,直至句首。
3. 最少切分分词法:使每一句中切出的词组数目最小
4. 双向匹配法:将正向最大和逆向最大进行组合
#### hash 或者 Trie 树
用于对字典进行索引,这是两种数据结构状态。
#### 变长数组
由于对于结构体TrieNode中child数组的长度未定,所以需要通过变长数组进行动态的添加。
[c语言变长数组实现](http://blog.csdn.net/loophome/article/details/68940606)
#### 中文分词参考词典
见文件/reference/dict.txt
### 三 设计思路:
1. 对词典建立索引(hash或者Trie)
2. 处理用户输入
* 首先对于输入进行处理(",。、!?")=>["xx","xx"],由于存在段落,所以需要保存`\n`。
* 接着处理数组中的内容,此时使用字符串匹配分词法进行比对。
3. 分词处理后,插入"|",插入"\n",(应当处理段落前的进位符)
用户界面使用qt。
不断从字典中进行查找匹配
4. 对英文、中文、数字的区分
a-z 01100001 - 01111010
A-Z 01000001 - 01011010
0-9 00110000 - 00111001
1
### 四、参考
* [【串和序列处理 3】Trie Tree 串集合查找](http://hxraid.iteye.com/blog/618962)
* [中文分词:之Trie树](http://blog.csdn.net/wzb56_earl/article/details/7902669)
*
(1) 每个结点都是词语中的一个汉字。
(2) 结点中的指针指向了该汉字在某一个词中的下一个汉字。这些指针存放在以汉字为key的hash结构中。
(3) 结点中的"#"表示当前结点中的汉字是从根结点到该汉字结点所组成的词的最后一个字。
没有合适的资源?快使用搜索试试~ 我知道了~
课程设计 - 基于Qt的中文分词系统.zip
共416个文件
png:350个
h:14个
txt:10个
需积分: 5 0 下载量 74 浏览量
2024-03-22
01:04:23
上传
评论 2
收藏 17.31MB ZIP 举报
温馨提示
课程设计 - 基于Qt的中文分词系统.zip课程设计 - 基于Qt的中文分词系统.zip 课程设计 - 基于Qt的中文分词系统.zip课程设计 - 基于Qt的中文分词系统.zip 课程设计 - 基于Qt的中文分词系统.zip课程设计 - 基于Qt的中文分词系统.zip 课程设计 - 基于Qt的中文分词系统.zip课程设计 - 基于Qt的中文分词系统.zip 课程设计 - 基于Qt的中文分词系统.zip课程设计 - 基于Qt的中文分词系统.zip 课程设计 - 基于Qt的中文分词系统.zip课程设计 - 基于Qt的中文分词系统.zip 课程设计 - 基于Qt的中文分词系统.zip课程设计 - 基于Qt的中文分词系统.zip 课程设计 - 基于Qt的中文分词系统.zip课程设计 - 基于Qt的中文分词系统.zip 课程设计 - 基于Qt的中文分词系统.zip课程设计 - 基于Qt的中文分词系统.zip 课程设计 - 基于Qt的中文分词系统.zip课程设计 - 基于Qt的中文分词系统.zip 课程设计 - 基于Qt的中文分词系统.zip课程设计 - 基于Qt的中文分词系统.zip 课程设计
资源推荐
资源详情
资源评论
收起资源包目录
课程设计 - 基于Qt的中文分词系统.zip (416个子文件)
main.c 9KB
trie.c 6KB
matchUserInput.c 4KB
shared.c 2KB
testForFindNode.c 942B
maxLength.c 839B
buildDict.c 736B
test.c 621B
resolveInput.c 331B
mainwindow.cpp 27KB
readfromfile.cpp 1KB
readfrominput.cpp 1KB
addnewword.cpp 1KB
changeword.cpp 1020B
readdict.cpp 772B
removeword.cpp 711B
main.cpp 689B
displaydict.cpp 222B
test.cpp 82B
中文分词系统数据结构参考.docx 36KB
.gitignore 42B
mymain.h 3KB
main.h 3KB
mylib.h 2KB
trieTree.h 2KB
mainwindow.h 1023B
readfromfile.h 526B
readfrominput.h 476B
changeword.h 453B
addnewword.h 433B
removeword.h 427B
readdict.h 407B
displaydict.h 291B
mystd.h 213B
test.h 104B
3.jpg 9.75MB
Emerald Water.jpg 198KB
ddd.jpg 117KB
Hazel.jpg 26KB
README.md 3KB
中文分词系统的设计与实现.pdf 395KB
中文分词系统参考实现思路.pdf 125KB
7.png 199KB
8.png 157KB
10.png 141KB
6.png 27KB
4.png 26KB
5.png 26KB
9.png 26KB
11.png 26KB
kfind.png 1KB
gnome-searchtool.png 1KB
system-search.png 1KB
search.png 1KB
document-open-recent.png 1KB
appointment-new.png 1KB
stock_new-appointment.png 1KB
appointment.png 1KB
stock_new-address-book.png 1KB
address-book-new.png 1KB
zoom-best-fit.png 1KB
viewmagfit.png 1KB
gtk-zoom-fit.png 1KB
stock_zoom-page.png 1KB
zoom-fit-best.png 1KB
system-run.png 1KB
gnome-run.png 1KB
gtk-execute.png 1KB
gnome-shutdown.png 1KB
system-shutdown.png 1KB
gtk-zoom-in.png 1KB
stock_zoom-in.png 1KB
zoom-in.png 1KB
viewmag+.png 1KB
gtk-refresh.png 1KB
stock_refresh.png 1KB
reload3.png 1KB
view-refresh.png 1KB
reload.png 1KB
reload_page.png 1KB
reload_all_tabs.png 1KB
viewmag1.png 1KB
zoom-original.png 1KB
gtk-zoom-100.png 1KB
stock_zoom-1.png 1KB
mail_spam.png 1KB
mail-mark-junk.png 1KB
stock_spam.png 1KB
edit-find-replace.png 1KB
gtk-find-and-replace.png 1KB
stock_search-and-replace.png 1KB
stop.png 1KB
process-stop.png 1KB
gtk-stop.png 1KB
stock_stop.png 1KB
gtk-cancel.png 1KB
zoom-out.png 1KB
viewmag-.png 1KB
stock_zoom-out.png 1KB
gtk-zoom-out.png 1KB
共 416 条
- 1
- 2
- 3
- 4
- 5
资源评论
龙年行大运
- 粉丝: 997
- 资源: 3856
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Screenshot_20240430_144340_com.ss.android.ugc.live.jpg
- 回到山沟沟.mp3
- 111111111111111111
- 基于matlab实现关于语音信号声源定位DOA估计所用的一些传统算法.rar
- 基于ultralytics-yolov8, 将其检测/分类/分割/姿态等任务移植到rk3588上
- Screenshot_2024-04-30-21-47-24-26.jpg
- 基于matlab实现波束形成,包括线阵、平面阵和圆阵
- Python自动生成excel周期报告源码
- 基于matlab实现DOA 估计和自适应波束形成.rar
- 一个基于yolov8的火灾检测部署
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功