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 matlab求解平差
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制
  • ¥20 usb设备兼容性问题
  • ¥15 错误(10048): “调用exui内部功能”库命令的参数“参数4”不能接受空数据。怎么解决啊
  • ¥15 安装svn网络有问题怎么办
  • ¥15 vue2登录调用后端接口如何实现
  • ¥65 永磁型步进电机PID算法
  • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?