16 November 2022

scala 生成词云图片

近来整理个人的历史文件发现以前上大学时做的笔记,发现以前将专业名词做成图片非常适合对于学术名词解释的复习和记忆提取非常有价值.之前使用adobe AI 手动排版坐的桌面背景.现在想到可以用简单的程序来实现这个过程. 便开始探索整个自动化流程 首先看了网络词云图片的工具,发现渲染速度慢支持的图片大小有限,高级功能需要收费.边打开github 找到了 java 的词云生产库kumo,非常符合我的需求,于是我参考指引文档开始了个人的开发.

在sbt 中引入依赖的库

# 解析xml 文件
libraryDependencies ++= Seq("org.scala-lang.modules" % "scala-xml_2.13" % "2.1.0")
# 生成词云的库
libraryDependencies ++= Seq("com.kennycason" % "kumo-core" % "1.28")
# 支持词云中文的库
libraryDependencies ++= Seq("com.kennycason" % "kumo-tokenizers" % "1.28")

解析以前的笔记数据的xml 文件,scala 解析xml 非常的优美简介

   val dict = XML.loadFile(path) \ "Phrases" \ "Phrase" \\ "Eng"
   val dictSeq:Seq[String]=  dict.map(_.text)

生成词云的代码太多,直接参考kumo 的示例即可