JksNdY 2019-10-21 18:21 采纳率: 0%
浏览 816

JAVA根据给定语料构建一个词云。

1.读取分词文件
2.统计每个词及词频
2.1 构建词及词频的存储结构WordFreq
2.2 构建元素类型为WordFreq的线性表
2.3 将分词文件中的词及词频存入线性表
2.3.1 如何将fileContent按照词切分
提示:利用String 类的split方法
2.3.2 如何统计词的频次
提示:
如果一个词word不在线性表中,则插入(word,1);
  否则在线性表中找到这个词,将它的频次加一;
  这里涉及三个方法:insert,find,set
3. 构建停用词表(20分)
3.1 停用词,即对生成词云无用的词,比如“的”、“地”、“得”、“。”等
3.2 可以构建一个停用词文件,然后通过读取文件构建停用词表
3.3 将在停用词表中的词从词频统计线性表中删除
4.输出词频统计线性表信息到屏幕或者文件中(5分)
5.生成词云(10分)
5.1利用https://www.sohu.com/a/162276896_165070生成词云
5.2利用github中开源的代码生成词云(选作;加分项;)

  • 写回答

1条回答 默认 最新

  • 张彦峰ZYF Java领域优质创作者 2024-04-13 20:42
    关注

    给你一个大致的框架,然后你可以根据自己的需求和具体情况进行细化和实现。
    1.读取分词文件:使用Java的文件读取功能读取分词文件。你可以使用FileReader和BufferedReader类来实现。
    2.统计每个词及词频:
    2.1 构建词及词频的存储结构WordFreq:创建一个WordFreq类,用于存储每个词及其频次。
    2.2 构建元素类型为WordFreq的线性表:可以使用Java集合类中的ArrayList来实现。
    2.3 将分词文件中的词及词频存入线性表:
    2.3.1 使用String类的split方法将fileContent按照词切分。
    2.3.2 统计词的频次:遍历切分后的词列表,对于每个词进行如下操作:
    如果该词不在线性表中,则插入(word,1);
    否则在线性表中找到这个词,将它的频次加一。
    3.构建停用词表:
    3.1 创建一个停用词文件,列出对生成词云无用的词,如“的”、“地”、“得”、“。”等。
    3.2 读取停用词文件,将停用词存入一个HashSet或者其他合适的数据结构中。
    3.3 从词频统计线性表中删除停用词。
    4.输出词频统计线性表信息:将词频统计线性表信息输出到屏幕或者文件中,可以使用System.out.println()来输出到屏幕,使用FileWriter来输出到文件中。
    5.生成词云:
    5.1 可以利用提供的链接,或者使用第三方库来生成词云。例如,可以使用Apache Commons Collections中的WordCloud类。
    5.2 如果选择使用开源代码生成词云,可以在GitHub上搜索相关的Java库或者工具。

    评论

报告相同问题?

悬赏问题

  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3