我从老师那里了解到了 ROST (下载) 。 但我发现 ROST 太老了,它提供的一些文件和界面有乱码问题。 经过我的测试,它即使有乱码的显示问题,但主功能都还是可用的。
我不满足于此。我想要自己写一个文本分析工具出来。 用 Python 调包实现非常简单且教程丰富,没有意思,纯是工程量。 所以我不想用 Python 去写。 恰好我最近在学习 Dear ImGui, 就想着用 C++ 结合 ImGui 的方式实现。
为了减少我自己的工程量,我现在 GitHub 上找了几个可以直接调用的库。 这样我只需要简单改改就可以完成了。
注意:这个项目只是一次尝试而已,没想把它做完善, 所以目前只支持 Linux 系统和中文一种语言。
- CppJieba:“结巴(Jieba)”中文分词的 C++ 版本
- Dear ImGui:C++ 即时 GUI 库
- ImPlot:ImGUI 插件,提供二维绘图的功能
- ImGuiFileDialog:ImGUI 插件,提供文件选择对话功能(我简单修改了一下,让它显示中文)
- 多种分词方式,并且可处理大达几十 MB 的文件(我尝试过 13.5 MB 的斗破苍穹内容,没有问题)
- 关键词分析:提供两种算法
- 词性标注
- 词频统计
- 结果可输出为文件保存
- 词频 CSV 简易编辑器:除基本的编辑功能还提供快速合并几个同义词为一个词进行统计的功能
- 词频可视化图表绘制
- 共四个可执行文件,每个可执行文件仅有几百 KB(不含字典数据)。三个可执行文件各管一个功能,第四个可执行文件整个三个到一个上。
注:示例文件内容是从 http://politics.people.com.cn/n1/2026/0510/c1001-40716785.html 复制粘贴下来的。
- 从 Github 上下载 CppJieba,Dear ImGui 和 ImPlot
- 将
CMakeLists.txt的路径设置部分改为你自己下载的位置,比如在我电脑上是:
# Path setting
set(imgui_SOURCE_DIR /home/l/projects/imgui-1.92.7)
set(IMPLOT_SOURCE_DIR /home/l/projects/implot-v1.0)
set(cppjieba_SOURCE_DIR /home/l/projects/cppjieba)
-
如果没有安装
GLFW,请安装sudo apt-get install libglfw3-dev libgl1-mesa-dev -
赋予
build.sh执行权限并运行它。初次运行会显示测试错误,不用管。 -
运行之后会生成
build文件夹,里面有四个可执行文件。还需最后一步即可使用。 -
将 CppJieba 项目下的
dict文件夹复制到我们项目的build。(上面报测试错误就是因为少了这个文件数据) -
现在就可以点击可执行文件使用了。








