diff --git a/ruoyi-biemo/src/main/java/com/ruoyi/biemo/business/controller/DocInfoController.java b/ruoyi-biemo/src/main/java/com/ruoyi/biemo/business/controller/DocInfoController.java
index 4d23d89..5511f83 100644
--- a/ruoyi-biemo/src/main/java/com/ruoyi/biemo/business/controller/DocInfoController.java
+++ b/ruoyi-biemo/src/main/java/com/ruoyi/biemo/business/controller/DocInfoController.java
@@ -11,13 +11,12 @@ import com.hankcs.hanlp.seg.Segment;
 import com.hankcs.hanlp.seg.common.Term;
 import com.ruoyi.biemo.business.domain.Category;
 import com.ruoyi.biemo.business.domain.DocInfo;
-import com.ruoyi.biemo.mongodb.entity.SplitWordDrill;
+import com.ruoyi.biemo.business.domain.WordCloudItem;
 import com.ruoyi.biemo.business.service.CategoryService;
 import com.ruoyi.biemo.business.service.DocInfoService;
 import com.ruoyi.biemo.core.page.Page;
 import com.ruoyi.biemo.core.page.PageFactory;
 import com.ruoyi.biemo.nlp.DependencyParserUtils;
-import com.ruoyi.biemo.nlp.SentimentAnalysisUtils;
 import com.ruoyi.biemo.nlp.TextClassificationUtils;
 import com.ruoyi.biemo.utils.MyObjects;
 import com.ruoyi.common.annotation.Log;
@@ -35,7 +34,10 @@ import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 
 
 /**
@@ -72,6 +74,11 @@ public class DocInfoController extends BaseController {
         return page;
     }
 
+    @GetMapping("/getWordCloudByCateId/{categoryId}")
+    public AjaxResult getWordCloudByCateId(@PathVariable String categoryId){
+        List<WordCloudItem> wordCloudItems = docInfoService.getWordCloudByCateId(categoryId);
+        return AjaxResult.success(wordCloudItems);
+    }
     /**
      * 导出文章管理列表
      */
@@ -414,8 +421,6 @@ public class DocInfoController extends BaseController {
             return AjaxResult.error("格式不正确");
         }
     }
-
-
 //    /**
 //     * 分词结果上传
 //     *
diff --git a/ruoyi-biemo/src/main/java/com/ruoyi/biemo/business/domain/WordCloudItem.java b/ruoyi-biemo/src/main/java/com/ruoyi/biemo/business/domain/WordCloudItem.java
new file mode 100644
index 0000000..61e45e2
--- /dev/null
+++ b/ruoyi-biemo/src/main/java/com/ruoyi/biemo/business/domain/WordCloudItem.java
@@ -0,0 +1,33 @@
+package com.ruoyi.biemo.business.domain;
+
+import java.io.Serializable;
+
+/**
+ * @author hujunbo
+ * @date 2023/6/21
+ */
+public class WordCloudItem implements Serializable {
+
+    private String name;
+
+    private Integer value;
+
+    public WordCloudItem() {
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public Integer getValue() {
+        return value;
+    }
+
+    public void setValue(Integer value) {
+        this.value = value;
+    }
+}
diff --git a/ruoyi-biemo/src/main/java/com/ruoyi/biemo/business/service/DocInfoService.java b/ruoyi-biemo/src/main/java/com/ruoyi/biemo/business/service/DocInfoService.java
index 0486130..2fe2937 100644
--- a/ruoyi-biemo/src/main/java/com/ruoyi/biemo/business/service/DocInfoService.java
+++ b/ruoyi-biemo/src/main/java/com/ruoyi/biemo/business/service/DocInfoService.java
@@ -2,9 +2,12 @@ package com.ruoyi.biemo.business.service;
 
 import com.alibaba.fastjson.JSONObject;
 import com.github.pagehelper.util.StringUtil;
+import com.hankcs.hanlp.seg.common.Term;
+import com.hankcs.hanlp.tokenizer.NLPTokenizer;
 import com.ruoyi.biemo.business.domain.DocInfo;
 import com.ruoyi.biemo.business.domain.Node;
 import com.ruoyi.biemo.business.domain.Relationship;
+import com.ruoyi.biemo.business.domain.WordCloudItem;
 import com.ruoyi.biemo.business.domain.event.DocInfoDeleteEvent;
 import com.ruoyi.biemo.business.domain.event.DocInfoSaveEvent;
 import com.ruoyi.biemo.business.response.MyResultResponse;
@@ -16,6 +19,8 @@ import com.ruoyi.biemo.nlp.SummaryUtils;
 import com.ruoyi.biemo.utils.MyObjects;
 import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.common.utils.StringUtils;
+import org.apache.commons.collections4.CollectionUtils;
+import org.apache.commons.lang3.ObjectUtils;
 import org.elasticsearch.search.SearchHit;
 import org.elasticsearch.search.builder.SearchSourceBuilder;
 import org.elasticsearch.search.sort.SortOrder;
@@ -27,6 +32,7 @@ import org.springframework.stereotype.Service;
 
 import javax.print.Doc;
 import java.util.*;
+import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.atomic.AtomicInteger;
 import java.util.stream.Collectors;
 
@@ -443,5 +449,32 @@ public class DocInfoService extends EsService<DocInfo> {
 //        insertOrUpdateDocInfo(docInfo);
         return response;
     }
-
+    public List<WordCloudItem> getWordCloudByCateId(String categoryId) {
+        Map<String,Integer> temp = new ConcurrentHashMap<>();
+        List<WordCloudItem> wordCloudItemList = new ArrayList<>();
+        DocInfo docInfo = new DocInfo();
+        docInfo.setCateId(categoryId);
+        List<DocInfo> docInfoList = selectDocInfoList(docInfo);
+        if(CollectionUtils.isNotEmpty(docInfoList)){
+            List<Term> termList = docInfoList.parallelStream().filter(ObjectUtils::isNotEmpty).flatMap(_docInfo -> NLPTokenizer.segment(_docInfo.getContent()).stream()).collect(Collectors.toList());
+            if(CollectionUtils.isNotEmpty(termList)){
+                termList.parallelStream().forEach(term -> {
+                    String word = term.word;
+                    Integer value = term.getFrequency();
+                    if(!temp.containsKey(word)){
+                        temp.put(word,1);
+                    }else{
+                        temp.put(word,temp.get(word)+1);
+                    }
+                });
+            }
+        }
+        for(Map.Entry<String,Integer> entry : temp.entrySet()){
+            WordCloudItem wordCloudItem = new WordCloudItem();
+            wordCloudItem.setName(entry.getKey());
+            wordCloudItem.setValue(entry.getValue());
+            wordCloudItemList.add(wordCloudItem);
+        }
+        return wordCloudItemList;
+    }
 }