SGTY 5 mēneši atpakaļ
vecāks
revīzija
137a563c15

Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 575
src/main/java/com/qizhen/healsphere/common/ai/QizhenAssistant2.java


+ 126 - 124
src/test/java/com/qizhen/healsphere/DataWriteTest.java

@@ -40,11 +40,117 @@ public class DataWriteTest {
     @Autowired
     EntityService entityService;
 
+    private static String diseaseStr = "风湿性心脏病" +
+            ",原发性高血压" +
+            ",急性心肌梗死" +
+            ",急性冠脉综合征" +
+            ",冠状动脉粥样硬化性心脏病" +
+            ",心力衰竭" +
+            ",心源性休克" +
+            ",酒精中毒" +
+            ",咽炎" +
+            ",急性扁桃体炎" +
+            ",变应性鼻炎" +
+            ",慢性鼻窦炎" +
+            ",鼻出血" +
+            ",急性牙髓炎" +
+            ",牙周病" +
+            ",溃疡性口炎" +
+            ",反流性食管炎" +
+            ",胃溃疡" +
+            ",慢性萎缩性胃炎" +
+            ",功能性消化不良" +
+            ",急性阑尾炎" +
+            ",克罗恩病" +
+            ",肠梗阻" +
+            ",肝硬化" +
+            ",急性胰腺炎" +
+            ",过敏性皮炎" +
+            ",湿疹" +
+            ",银屑病" +
+            ",带状疱疹" +
+            ",类风湿性关节炎" +
+            ",系统性红斑狼疮" +
+            ",慢性肾炎" +
+            ",肾病综合征" +
+            ",慢性肾衰竭" +
+            ",肾结石" +
+            ",输尿管结石" +
+            ",膀胱炎" +
+            ",前列腺增生" +
+            ",子宫内膜异位症" +
+            ",卵巢囊肿" +
+            ",痛经" +
+            ",女性更年期综合征" +
+            ",异位妊娠" +
+            ",妊娠剧吐" +
+            ",鼻咽恶性肿瘤" +
+            ",肝恶性肿瘤" +
+            ",乳房恶性肿瘤" +
+            ",宫颈恶性肿瘤" +
+            ",多发性骨髓瘤" +
+            ",急性白血病" +
+            ",血管瘤" +
+            ",子宫平滑肌瘤" +
+            ",新生儿黄疸" +
+            ",新生儿腹泻" +
+            ",缺铁性贫血" +
+            ",地中海贫血" +
+            ",血友病" +
+            ",甲状腺功能减退症" +
+            ",甲状腺功能亢进症" +
+            ",桥本甲状腺炎" +
+            ",2型糖尿病" +
+            ",糖尿病" +
+            ",甲状旁腺功能减退症" +
+            ",卵巢早衰" +
+            ",坏血病" +
+            ",高脂血症" +
+            ",高尿酸血症" +
+            ",精神分裂症" +
+            ",抑郁症" +
+            ",化脓性脑膜炎" +
+            ",帕金森病" +
+            ",癫痫" +
+            ",偏头痛" +
+            ",脑梗死" +
+            ",脑卒中" +
+            ",阻塞性睡眠呼吸暂停综合征" +
+            ",肺栓塞" +
+            ",慢性肺源性心脏病" +
+            ",急性上呼吸道感染" +
+            ",病毒性肺炎" +
+            ",社区获得性肺炎" +
+            ",支气管肺炎" +
+            ",肺炎" +
+            ",支气管哮喘" +
+            ",呼吸衰竭" +
+            ",肺部感染" +
+            ",急性泪腺炎" +
+            ",急性泪囊炎" +
+            ",巩膜炎" +
+            ",角膜炎" +
+            ",中耳炎" +
+            ",风湿性关节炎" +
+            ",颈椎病" +
+            ",颈肩综合征" +
+            ",坐骨神经痛" +
+            ",肩周炎" +
+            ",骨质疏松" +
+            ",锁骨骨折" +
+            ",肱骨骨折" +
+            ",肩关节脱位";
+
+
     @Test
     public void writeNeo4j() {
         String startLabel = "疾病";
         String propertyStr = "并发症\t的并发症有哪些疾病";
         String[] properties = propertyStr.split(",");
+        workbook = new HSSFWorkbook();//这里也可以设置sheet的Name
+        String fileName = "";//
+        HSSFSheet sheet = workbook.createSheet(fileName);
+        int rows = 0;
         for(String property:properties){
             String[] split = property.split("\t");
             if(split.length<2){
@@ -53,7 +159,19 @@ public class DataWriteTest {
             String endLabel = split[0];
             List<Knowlege> data = getData(BaidubceUtil.getAccessToken(), property);
             if(!CollectionUtils.isEmpty(data)) {
-                long startId = -1;
+
+                for (Knowlege temp:data) {
+                    HSSFRow row = sheet.createRow(rows++);
+                    row.createCell(0).setCellValue(temp.getEntity() == null ? "" : temp.getEntity());
+                    row.createCell(1).setCellValue(temp.getProperty() == null ? "" : temp.getProperty());
+                    row.createCell(2).setCellValue(temp.getValue() == null ? "" : temp.getValue());
+                    row.createCell(3).setCellValue(temp.getQuestion() == null ? "" : temp.getQuestion());
+                    row.createCell(4).setCellValue(temp.getAnswer() == null ? "" : temp.getAnswer());
+                    row.createCell(5).setCellValue(temp.getChunk() == null ? "" : temp.getChunk());
+                    row.createCell(6).setCellValue(temp.getRefenrece() == null ? "" : temp.getRefenrece());
+                }
+                save(fileName);
+
                 for (Knowlege temp:data) {
                     String value = temp.getValue();
                     if(StringUtils.isBlank(value)){
@@ -62,7 +180,7 @@ public class DataWriteTest {
                     try{
                         JSONArray jsonArray = JSONArray.parseArray(value);
                         BaseEntity startEntity = createNoExists(startLabel, temp.getEntity());
-                        startId = startEntity.getId();
+                        long startId = startEntity.getId();
                         List<RelationshipVO> relationshipList = new ArrayList<>();
                         for(int i=0;i<jsonArray.size();i++){
                             String name = jsonArray.getString(i);
@@ -101,20 +219,9 @@ public class DataWriteTest {
         return entityService.create(createEntity);
     }
 
-    public void main() {
+    public static void main(String[] args) {
         String accessToken = BaidubceUtil.getAccessToken();
-        String propertyStr = "并发症\t的并发症有哪些疾病"+
-                ",常见并发症\t的常见并发症有哪些疾病" +
-                ",提示病情加重或进展的临床指标\t的诊疗过程或病程中出现哪些指标或情况,可能提示疾病进一步进展、加重或恶化。" +
-                ",早期预警指标\t的早期临床预警指标有哪些" +
-                ",病因\t的病因或常见病因有哪些病因或致病原因" +
-                ",危险因素\t的危险因素或常见危险因素或危险诱发因素有哪些" +
-                ",遗传方式\t的遗传方式有哪些遗传方式(如果该病无遗传方式,可回答“无”)" +
-                ",遗传基因\t的遗传基因名称有哪些遗传基因名称" +
-                ",诱因\t的诱因或诱发因素或常见诱因有哪些诱因" +
-                ",出院标准\t的出院标准有哪些"+
-                ",合并症\t可能合并的疾病有哪些疾病" +
-                ",常合并的疾病\t常见的可能合并的疾病有哪些疾病" +
+        String propertyStr = "常合并的疾病\t常见的可能合并的疾病有哪些疾病" +
                 ",护理操作\t相关的护理操作有哪些护理操作名称" +
                 ",护理方案\t是一种疾病,请为该病做一个简要的护理方案" +
                 ",护理方式\t可能用到的护理方式或护理方法有哪些" +
@@ -150,7 +257,7 @@ public class DataWriteTest {
                 ",前驱症状\t的前驱症状或先兆症状有哪些症状" +
                 ",主要症状\t的主要症状有哪些症状";
 
-        saveExel(propertyStr, accessToken,"前半生");
+        saveExel(propertyStr, accessToken,"上半段");
     }
 
     static HSSFWorkbook workbook;
@@ -195,114 +302,8 @@ public class DataWriteTest {
     private static List<Knowlege> getData(String accessToken,String property) {
         List<Knowlege> list = new ArrayList<>();
         try {
-            QizhenAssistant qizhenAssistant = new QizhenAssistant();
             BaidubceUtil baidubceUtil = new BaidubceUtil();
 
-            String diseaseStr = "风湿性心脏病" +
-                    ",原发性高血压" +
-                    ",急性心肌梗死" +
-                    ",急性冠脉综合征" +
-                    ",冠状动脉粥样硬化性心脏病" +
-                    ",心力衰竭" +
-                    ",心源性休克" +
-                    ",酒精中毒" +
-                    ",咽炎" +
-                    ",急性扁桃体炎" +
-                    ",变应性鼻炎" +
-                    ",慢性鼻窦炎" +
-                    ",鼻出血" +
-                    ",急性牙髓炎" +
-                    ",牙周病" +
-                    ",溃疡性口炎" +
-                    ",反流性食管炎" +
-                    ",胃溃疡" +
-                    ",慢性萎缩性胃炎" +
-                    ",功能性消化不良" +
-                    ",急性阑尾炎" +
-                    ",克罗恩病" +
-                    ",肠梗阻" +
-                    ",肝硬化" +
-                    ",急性胰腺炎" +
-                    ",过敏性皮炎" +
-                    ",湿疹" +
-                    ",银屑病" +
-                    ",带状疱疹" +
-                    ",类风湿性关节炎" +
-                    ",系统性红斑狼疮" +
-                    ",慢性肾炎" +
-                    ",肾病综合征" +
-                    ",慢性肾衰竭" +
-                    ",肾结石" +
-                    ",输尿管结石" +
-                    ",膀胱炎" +
-                    ",前列腺增生" +
-                    ",子宫内膜异位症" +
-                    ",卵巢囊肿" +
-                    ",痛经" +
-                    ",女性更年期综合征" +
-                    ",异位妊娠" +
-                    ",妊娠剧吐" +
-                    ",鼻咽恶性肿瘤" +
-                    ",肝恶性肿瘤" +
-                    ",乳房恶性肿瘤" +
-                    ",宫颈恶性肿瘤" +
-                    ",多发性骨髓瘤" +
-                    ",急性白血病" +
-                    ",血管瘤" +
-                    ",子宫平滑肌瘤" +
-                    ",新生儿黄疸" +
-                    ",新生儿腹泻" +
-                    ",缺铁性贫血" +
-                    ",地中海贫血" +
-                    ",血友病" +
-                    ",甲状腺功能减退症" +
-                    ",甲状腺功能亢进症" +
-                    ",桥本甲状腺炎" +
-                    ",2型糖尿病" +
-                    ",糖尿病" +
-                    ",甲状旁腺功能减退症" +
-                    ",卵巢早衰" +
-                    ",坏血病" +
-                    ",高脂血症" +
-                    ",高尿酸血症" +
-                    ",精神分裂症" +
-                    ",抑郁症" +
-                    ",化脓性脑膜炎" +
-                    ",帕金森病" +
-                    ",癫痫" +
-                    ",偏头痛" +
-                    ",脑梗死" +
-                    ",脑卒中" +
-                    ",阻塞性睡眠呼吸暂停综合征" +
-                    ",肺栓塞" +
-                    ",慢性肺源性心脏病" +
-                    ",急性上呼吸道感染" +
-                    ",病毒性肺炎" +
-                    ",社区获得性肺炎" +
-                    ",支气管肺炎" +
-                    ",肺炎" +
-                    ",支气管哮喘" +
-                    ",呼吸衰竭" +
-                    ",肺部感染" +
-                    ",急性泪腺炎" +
-                    ",急性泪囊炎" +
-                    ",巩膜炎" +
-                    ",角膜炎" +
-                    ",中耳炎" +
-                    ",风湿性关节炎" +
-                    ",颈椎病" +
-                    ",颈肩综合征" +
-                    ",坐骨神经痛" +
-                    ",肩周炎" +
-                    ",骨质疏松" +
-                    ",锁骨骨折" +
-                    ",肱骨骨折" +
-                    ",肩关节脱位";
-
-
-            diseaseStr = "急性心肌梗死" +
-                    ",急性冠脉综合征";
-
             String[] diseases = diseaseStr.split(",");
             for (int i=0;i<diseases.length;i++) {
                 try {
@@ -322,7 +323,7 @@ public class DataWriteTest {
                             "2、知识库里没有找到相应的知识,则返回\"未找到相关知识\"\n" +
                             "\n" +
                             "请回答:"+disease + quetionParty + "?";
-                    Map<String, String> result = qizhenAssistant.getChatResponse(question, QizhenAssistant.getConversationId());
+                    Map<String, String> result = QizhenAssistant.getChatResponse(question, QizhenAssistant.getConversationId());
                     String answer = result.get("answer");
                     String references = result.get("references");
                     String defaultReferences = result.get("defaultReferences");
@@ -365,7 +366,8 @@ public class DataWriteTest {
                                     for(int r=0;r<referenceJA.size();r++){
                                         JSONObject referenceJO = referenceJA.getJSONObject(r);
                                         String content = referenceJO.getString("content");
-                                        if(content.contains(name)){
+                                        String contentFilted = content.replaceAll("\\s+", "");
+                                        if(contentFilted.contains(name)){
                                             //JSONObject clone = referenceJO.clone();
                                             tempReferenceJA.add(referenceJO.getString("title"));
                                         }