完成NLP第一版优化

This commit is contained in:
wulin 2023-10-08 21:23:57 +08:00
parent 7bf3121c3b
commit 1fb7296fa7
6 changed files with 3751 additions and 167 deletions

View File

@ -2,8 +2,10 @@ package com.qiuguo.iot.third.enums;
import com.qiuguo.iot.base.utils.StringUtils;
import com.qiuguo.iot.data.entity.device.DeviceUserBindEntity;
import com.qiuguo.iot.data.entity.system.SystemTalkAnswerConfigEntity;
import com.qiuguo.iot.third.nlp.action.Action;
import com.qiuguo.iot.third.nlp.action.ActionTime;
import com.qiuguo.iot.third.nlp.action.Actions;
import java.util.ArrayList;
@ -23,7 +25,14 @@ public enum ChinesePartSpeechEnum implements IChinesePartSpeech{
String key,
Actions actions,
Action action,
List<SystemTalkAnswerConfigEntity> systemTalkAnswerConfigEntities){
List<SystemTalkAnswerConfigEntity> systemTalkAnswerConfigEntities,
List<DeviceUserBindEntity> includs){
action.setAction(key);
SystemTalkAnswerConfigEntity entity = getSystemTalkWithKey(action.getAction(), keyGroup);
if(entity != null){
systemTalkAnswerConfigEntities.add(entity);
}
actions.setA(1);
return action;
}
},
@ -33,7 +42,8 @@ public enum ChinesePartSpeechEnum implements IChinesePartSpeech{
String key,
Actions actions,
Action action,
List<SystemTalkAnswerConfigEntity> systemTalkAnswerConfigEntities){
List<SystemTalkAnswerConfigEntity> systemTalkAnswerConfigEntities,
List<DeviceUserBindEntity> includs){
return action;
}
},
@ -43,7 +53,8 @@ public enum ChinesePartSpeechEnum implements IChinesePartSpeech{
String key,
Actions actions,
Action action,
List<SystemTalkAnswerConfigEntity> systemTalkAnswerConfigEntities){
List<SystemTalkAnswerConfigEntity> systemTalkAnswerConfigEntities,
List<DeviceUserBindEntity> includs){
return action;
}
},
@ -56,7 +67,8 @@ public enum ChinesePartSpeechEnum implements IChinesePartSpeech{
String key,
Actions actions,
Action action,
List<SystemTalkAnswerConfigEntity> systemTalkAnswerConfigEntities){
List<SystemTalkAnswerConfigEntity> systemTalkAnswerConfigEntities,
List<DeviceUserBindEntity> includs){
return action;
}
},
@ -66,7 +78,8 @@ public enum ChinesePartSpeechEnum implements IChinesePartSpeech{
String key,
Actions actions,
Action action,
List<SystemTalkAnswerConfigEntity> systemTalkAnswerConfigEntities){
List<SystemTalkAnswerConfigEntity> systemTalkAnswerConfigEntities,
List<DeviceUserBindEntity> includs){
return action;
}
},//LAC PER
@ -76,7 +89,8 @@ public enum ChinesePartSpeechEnum implements IChinesePartSpeech{
String key,
Actions actions,
Action action,
List<SystemTalkAnswerConfigEntity> systemTalkAnswerConfigEntities){
List<SystemTalkAnswerConfigEntity> systemTalkAnswerConfigEntities,
List<DeviceUserBindEntity> includs){
return action;
}
},
@ -86,7 +100,8 @@ public enum ChinesePartSpeechEnum implements IChinesePartSpeech{
String key,
Actions actions,
Action action,
List<SystemTalkAnswerConfigEntity> systemTalkAnswerConfigEntities){
List<SystemTalkAnswerConfigEntity> systemTalkAnswerConfigEntities,
List<DeviceUserBindEntity> includs){
return action;
}
},
@ -96,7 +111,9 @@ public enum ChinesePartSpeechEnum implements IChinesePartSpeech{
String key,
Actions actions,
Action action,
List<SystemTalkAnswerConfigEntity> systemTalkAnswerConfigEntities){
List<SystemTalkAnswerConfigEntity> systemTalkAnswerConfigEntities,
List<DeviceUserBindEntity> includs){
action.getLbs().add(key);
return action;
}
},
@ -106,7 +123,8 @@ public enum ChinesePartSpeechEnum implements IChinesePartSpeech{
String key,
Actions actions,
Action action,
List<SystemTalkAnswerConfigEntity> systemTalkAnswerConfigEntities){
List<SystemTalkAnswerConfigEntity> systemTalkAnswerConfigEntities,
List<DeviceUserBindEntity> includs){
return action;
}
},
@ -116,7 +134,8 @@ public enum ChinesePartSpeechEnum implements IChinesePartSpeech{
String key,
Actions actions,
Action action,
List<SystemTalkAnswerConfigEntity> systemTalkAnswerConfigEntities){
List<SystemTalkAnswerConfigEntity> systemTalkAnswerConfigEntities,
List<DeviceUserBindEntity> includs){
return action;
}
},
@ -126,7 +145,8 @@ public enum ChinesePartSpeechEnum implements IChinesePartSpeech{
String key,
Actions actions,
Action action,
List<SystemTalkAnswerConfigEntity> systemTalkAnswerConfigEntities){
List<SystemTalkAnswerConfigEntity> systemTalkAnswerConfigEntities,
List<DeviceUserBindEntity> includs){
return action;
}
},
@ -136,7 +156,8 @@ public enum ChinesePartSpeechEnum implements IChinesePartSpeech{
String key,
Actions actions,
Action action,
List<SystemTalkAnswerConfigEntity> systemTalkAnswerConfigEntities){
List<SystemTalkAnswerConfigEntity> systemTalkAnswerConfigEntities,
List<DeviceUserBindEntity> includs){
//匹配到关键词就不能作为名词加入未匹配到的分割前的都加入名词
SystemTalkAnswerConfigEntity entity = getSystemTalkWithKey(key, keyGroup);
if(entity != null){
@ -181,7 +202,8 @@ public enum ChinesePartSpeechEnum implements IChinesePartSpeech{
String key,
Actions actions,
Action action,
List<SystemTalkAnswerConfigEntity> systemTalkAnswerConfigEntities){
List<SystemTalkAnswerConfigEntity> systemTalkAnswerConfigEntities,
List<DeviceUserBindEntity> includs){
return action;
}
},
@ -192,7 +214,8 @@ public enum ChinesePartSpeechEnum implements IChinesePartSpeech{
String key,
Actions actions,
Action action,
List<SystemTalkAnswerConfigEntity> systemTalkAnswerConfigEntities){
List<SystemTalkAnswerConfigEntity> systemTalkAnswerConfigEntities,
List<DeviceUserBindEntity> includs){
return action;
}
},
@ -202,7 +225,36 @@ public enum ChinesePartSpeechEnum implements IChinesePartSpeech{
String key,
Actions actions,
Action action,
List<SystemTalkAnswerConfigEntity> systemTalkAnswerConfigEntities){
List<SystemTalkAnswerConfigEntity> systemTalkAnswerConfigEntities,
List<DeviceUserBindEntity> includs){
if(StringUtils.isNotEmpty(actions.getName())){
//action.setName(name);//.add(name);
SystemTalkAnswerConfigEntity entity = getSystemTalkWithKey(actions.getName(), keyGroup);
if(entity != null){
systemTalkAnswerConfigEntities.add(entity);
actions.setA(1);//a = 1;
}else{
if(actions.getB() == 1 && actions.getA() == 0){
//本名称没有找到对应的动作
action.setSystemTalkAnswerConfigEntity(actions.getLastSystemTalkAnswerConfigEntity());
action.setAction(action.getSystemTalkAnswerConfigEntity().getAskKey());
action.setDeviceUserBindEntity(actions.getLastDeviceUserBindEntity());
actions.getActions().add(action);
actions.setLastName(action.getName());//lastName = action.getName();
actions.setLastDeviceUserBindEntity(action.getDeviceUserBindEntity());
action = new Action();
actions.setName("");//name = "";
//action.setName(new ArrayList<>());
action.setLbs(new ArrayList<>());
action.setAsk(actions.getRecordText());
}
action.setName(actions.getName());//.add(name);//加入分割前的名词
//name = "";
actions.setB(1);//b = 1;
}
}
actions.setName("");//name = "";
return action;
}
},
@ -212,7 +264,8 @@ public enum ChinesePartSpeechEnum implements IChinesePartSpeech{
String key,
Actions actions,
Action action,
List<SystemTalkAnswerConfigEntity> systemTalkAnswerConfigEntities){
List<SystemTalkAnswerConfigEntity> systemTalkAnswerConfigEntities,
List<DeviceUserBindEntity> includs){
return action;
}
},
@ -222,7 +275,8 @@ public enum ChinesePartSpeechEnum implements IChinesePartSpeech{
String key,
Actions actions,
Action action,
List<SystemTalkAnswerConfigEntity> systemTalkAnswerConfigEntities){
List<SystemTalkAnswerConfigEntity> systemTalkAnswerConfigEntities,
List<DeviceUserBindEntity> includs){
return action;
}
},
@ -232,7 +286,8 @@ public enum ChinesePartSpeechEnum implements IChinesePartSpeech{
String key,
Actions actions,
Action action,
List<SystemTalkAnswerConfigEntity> systemTalkAnswerConfigEntities){
List<SystemTalkAnswerConfigEntity> systemTalkAnswerConfigEntities,
List<DeviceUserBindEntity> includs){
return action;
}
},
@ -242,7 +297,8 @@ public enum ChinesePartSpeechEnum implements IChinesePartSpeech{
String key,
Actions actions,
Action action,
List<SystemTalkAnswerConfigEntity> systemTalkAnswerConfigEntities){
List<SystemTalkAnswerConfigEntity> systemTalkAnswerConfigEntities,
List<DeviceUserBindEntity> includs){
return action;
}
},
@ -252,7 +308,8 @@ public enum ChinesePartSpeechEnum implements IChinesePartSpeech{
String key,
Actions actions,
Action action,
List<SystemTalkAnswerConfigEntity> systemTalkAnswerConfigEntities){
List<SystemTalkAnswerConfigEntity> systemTalkAnswerConfigEntities,
List<DeviceUserBindEntity> includs){
return action;
}
},
@ -262,7 +319,8 @@ public enum ChinesePartSpeechEnum implements IChinesePartSpeech{
String key,
Actions actions,
Action action,
List<SystemTalkAnswerConfigEntity> systemTalkAnswerConfigEntities){
List<SystemTalkAnswerConfigEntity> systemTalkAnswerConfigEntities,
List<DeviceUserBindEntity> includs){
return action;
}
},//LAC t
@ -272,7 +330,8 @@ public enum ChinesePartSpeechEnum implements IChinesePartSpeech{
String key,
Actions actions,
Action action,
List<SystemTalkAnswerConfigEntity> systemTalkAnswerConfigEntities){
List<SystemTalkAnswerConfigEntity> systemTalkAnswerConfigEntities,
List<DeviceUserBindEntity> includs){
return action;
}
},//LAC vn
@ -282,7 +341,8 @@ public enum ChinesePartSpeechEnum implements IChinesePartSpeech{
String key,
Actions actions,
Action action,
List<SystemTalkAnswerConfigEntity> systemTalkAnswerConfigEntities){
List<SystemTalkAnswerConfigEntity> systemTalkAnswerConfigEntities,
List<DeviceUserBindEntity> includs){
return action;
}
},
@ -292,7 +352,8 @@ public enum ChinesePartSpeechEnum implements IChinesePartSpeech{
String key,
Actions actions,
Action action,
List<SystemTalkAnswerConfigEntity> systemTalkAnswerConfigEntities){
List<SystemTalkAnswerConfigEntity> systemTalkAnswerConfigEntities,
List<DeviceUserBindEntity> includs){
return action;
}
},
@ -302,7 +363,8 @@ public enum ChinesePartSpeechEnum implements IChinesePartSpeech{
String key,
Actions actions,
Action action,
List<SystemTalkAnswerConfigEntity> systemTalkAnswerConfigEntities){
List<SystemTalkAnswerConfigEntity> systemTalkAnswerConfigEntities,
List<DeviceUserBindEntity> includs){
return action;
}
},
@ -312,7 +374,9 @@ public enum ChinesePartSpeechEnum implements IChinesePartSpeech{
String key,
Actions actions,
Action action,
List<SystemTalkAnswerConfigEntity> systemTalkAnswerConfigEntities){
List<SystemTalkAnswerConfigEntity> systemTalkAnswerConfigEntities,
List<DeviceUserBindEntity> includs){
action.setStatus(key);
return action;
}
},
@ -322,7 +386,8 @@ public enum ChinesePartSpeechEnum implements IChinesePartSpeech{
String key,
Actions actions,
Action action,
List<SystemTalkAnswerConfigEntity> systemTalkAnswerConfigEntities){
List<SystemTalkAnswerConfigEntity> systemTalkAnswerConfigEntities,
List<DeviceUserBindEntity> includs){
return action;
}
},
@ -332,7 +397,8 @@ public enum ChinesePartSpeechEnum implements IChinesePartSpeech{
String key,
Actions actions,
Action action,
List<SystemTalkAnswerConfigEntity> systemTalkAnswerConfigEntities){
List<SystemTalkAnswerConfigEntity> systemTalkAnswerConfigEntities,
List<DeviceUserBindEntity> includs){
return action;
}
},
@ -343,7 +409,8 @@ public enum ChinesePartSpeechEnum implements IChinesePartSpeech{
String key,
Actions actions,
Action action,
List<SystemTalkAnswerConfigEntity> systemTalkAnswerConfigEntities){
List<SystemTalkAnswerConfigEntity> systemTalkAnswerConfigEntities,
List<DeviceUserBindEntity> includs){
return action;
}
},
@ -353,7 +420,8 @@ public enum ChinesePartSpeechEnum implements IChinesePartSpeech{
String key,
Actions actions,
Action action,
List<SystemTalkAnswerConfigEntity> systemTalkAnswerConfigEntities){
List<SystemTalkAnswerConfigEntity> systemTalkAnswerConfigEntities,
List<DeviceUserBindEntity> includs){
return action;
}
},
@ -363,7 +431,8 @@ public enum ChinesePartSpeechEnum implements IChinesePartSpeech{
String key,
Actions actions,
Action action,
List<SystemTalkAnswerConfigEntity> systemTalkAnswerConfigEntities){
List<SystemTalkAnswerConfigEntity> systemTalkAnswerConfigEntities,
List<DeviceUserBindEntity> includs){
return action;
}
},
@ -373,7 +442,11 @@ public enum ChinesePartSpeechEnum implements IChinesePartSpeech{
String key,
Actions actions,
Action action,
List<SystemTalkAnswerConfigEntity> systemTalkAnswerConfigEntities){
List<SystemTalkAnswerConfigEntity> systemTalkAnswerConfigEntities,
List<DeviceUserBindEntity> includs){
//解析时间关键字
action.setTime(new ActionTime());
action.getTime().setTime(key);
return action;
}
},//LAC TIME
@ -383,7 +456,8 @@ public enum ChinesePartSpeechEnum implements IChinesePartSpeech{
String key,
Actions actions,
Action action,
List<SystemTalkAnswerConfigEntity> systemTalkAnswerConfigEntities){
List<SystemTalkAnswerConfigEntity> systemTalkAnswerConfigEntities,
List<DeviceUserBindEntity> includs){
return action;
}
},//LAC TIME
@ -393,7 +467,8 @@ public enum ChinesePartSpeechEnum implements IChinesePartSpeech{
String key,
Actions actions,
Action action,
List<SystemTalkAnswerConfigEntity> systemTalkAnswerConfigEntities){
List<SystemTalkAnswerConfigEntity> systemTalkAnswerConfigEntities,
List<DeviceUserBindEntity> includs){
return action;
}
},
@ -403,7 +478,8 @@ public enum ChinesePartSpeechEnum implements IChinesePartSpeech{
String key,
Actions actions,
Action action,
List<SystemTalkAnswerConfigEntity> systemTalkAnswerConfigEntities){
List<SystemTalkAnswerConfigEntity> systemTalkAnswerConfigEntities,
List<DeviceUserBindEntity> includs){
return action;
}
},
@ -414,7 +490,8 @@ public enum ChinesePartSpeechEnum implements IChinesePartSpeech{
String key,
Actions actions,
Action action,
List<SystemTalkAnswerConfigEntity> systemTalkAnswerConfigEntities){
List<SystemTalkAnswerConfigEntity> systemTalkAnswerConfigEntities,
List<DeviceUserBindEntity> includs){
return action;
}
},
@ -424,7 +501,8 @@ public enum ChinesePartSpeechEnum implements IChinesePartSpeech{
String key,
Actions actions,
Action action,
List<SystemTalkAnswerConfigEntity> systemTalkAnswerConfigEntities){
List<SystemTalkAnswerConfigEntity> systemTalkAnswerConfigEntities,
List<DeviceUserBindEntity> includs){
return action;
}
},
@ -434,7 +512,8 @@ public enum ChinesePartSpeechEnum implements IChinesePartSpeech{
String key,
Actions actions,
Action action,
List<SystemTalkAnswerConfigEntity> systemTalkAnswerConfigEntities){
List<SystemTalkAnswerConfigEntity> systemTalkAnswerConfigEntities,
List<DeviceUserBindEntity> includs){
return action;
}
},
@ -444,7 +523,8 @@ public enum ChinesePartSpeechEnum implements IChinesePartSpeech{
String key,
Actions actions,
Action action,
List<SystemTalkAnswerConfigEntity> systemTalkAnswerConfigEntities){
List<SystemTalkAnswerConfigEntity> systemTalkAnswerConfigEntities,
List<DeviceUserBindEntity> includs){
return action;
}
},
@ -454,8 +534,9 @@ public enum ChinesePartSpeechEnum implements IChinesePartSpeech{
String key,
Actions actions,
Action action,
List<SystemTalkAnswerConfigEntity> systemTalkAnswerConfigEntities){
return action;
List<SystemTalkAnswerConfigEntity> systemTalkAnswerConfigEntities,
List<DeviceUserBindEntity> includs){
return c.getAction(keyGroup, key, actions, action, systemTalkAnswerConfigEntities, includs);
}
},
x(30, "非语素词"){
@ -464,7 +545,8 @@ public enum ChinesePartSpeechEnum implements IChinesePartSpeech{
String key,
Actions actions,
Action action,
List<SystemTalkAnswerConfigEntity> systemTalkAnswerConfigEntities){
List<SystemTalkAnswerConfigEntity> systemTalkAnswerConfigEntities,
List<DeviceUserBindEntity> includs){
return action;
}
},
@ -474,7 +556,8 @@ public enum ChinesePartSpeechEnum implements IChinesePartSpeech{
String key,
Actions actions,
Action action,
List<SystemTalkAnswerConfigEntity> systemTalkAnswerConfigEntities){
List<SystemTalkAnswerConfigEntity> systemTalkAnswerConfigEntities,
List<DeviceUserBindEntity> includs){
return action;
}
},//LAC xc
@ -484,7 +567,8 @@ public enum ChinesePartSpeechEnum implements IChinesePartSpeech{
String key,
Actions actions,
Action action,
List<SystemTalkAnswerConfigEntity> systemTalkAnswerConfigEntities){
List<SystemTalkAnswerConfigEntity> systemTalkAnswerConfigEntities,
List<DeviceUserBindEntity> includs){
return action;
}
},//LAC xc
@ -494,7 +578,8 @@ public enum ChinesePartSpeechEnum implements IChinesePartSpeech{
String key,
Actions actions,
Action action,
List<SystemTalkAnswerConfigEntity> systemTalkAnswerConfigEntities){
List<SystemTalkAnswerConfigEntity> systemTalkAnswerConfigEntities,
List<DeviceUserBindEntity> includs){
return action;
}
},
@ -504,31 +589,65 @@ public enum ChinesePartSpeechEnum implements IChinesePartSpeech{
String key,
Actions actions,
Action action,
List<SystemTalkAnswerConfigEntity> systemTalkAnswerConfigEntities){
List<SystemTalkAnswerConfigEntity> systemTalkAnswerConfigEntities,
List<DeviceUserBindEntity> includs){
return action;
}
},
zd(99, "自定义"){
@Override
public Action getAction(ConcurrentHashMap<String, SystemTalkAnswerConfigEntity> keyGroup,
String key,
Actions actions,
Action action,
List<SystemTalkAnswerConfigEntity> systemTalkAnswerConfigEntities){
public Action getAction(ConcurrentHashMap<String, SystemTalkAnswerConfigEntity> keyGroup,
String key,
Actions actions,
Action action,
List<SystemTalkAnswerConfigEntity> systemTalkAnswerConfigEntities,
List<DeviceUserBindEntity> includs){
return action;
}
},
qg(100, "在查找字符串时用来临时替换用户命名的设备目前最多同时支持20个见LAC字典"){
@Override
public Action getAction(ConcurrentHashMap<String, SystemTalkAnswerConfigEntity> keyGroup,
String key,
Actions actions,
Action action,
List<SystemTalkAnswerConfigEntity> systemTalkAnswerConfigEntities){
public Action getAction(ConcurrentHashMap<String, SystemTalkAnswerConfigEntity> keyGroup,
String key,
Actions actions,
Action action,
List<SystemTalkAnswerConfigEntity> systemTalkAnswerConfigEntities,
List<DeviceUserBindEntity> includs){
if(actions.getB() == 1 && actions.getA() == 0){
//本名称没有找到对应的动作
action.setSystemTalkAnswerConfigEntity(actions.getLastSystemTalkAnswerConfigEntity());
action.setAction(action.getSystemTalkAnswerConfigEntity().getAskKey());
action.setDeviceUserBindEntity(actions.getLastDeviceUserBindEntity());
actions.getActions().add(action);
actions.setLastName(action.getName());// lastName = action.getName();
actions.setLastDeviceUserBindEntity(action.getDeviceUserBindEntity());
action = new Action();
actions.setName("");//name = "";
//action.setName(new ArrayList<>());
action.setLbs(new ArrayList<>());
action.setAsk(actions.getRecordText());
}
int index = Integer.parseInt(key.replace(">", "").replace("<", ""));
action.setDeviceUserBindEntity(includs.get(index));
actions.setName("");//name = "";
action.setName(action.getDeviceUserBindEntity().getBindName());//.add(action.getDeviceUserBindEntity().getBindName());
actions.setB(1);//b = 1;
return action;
}
},
DEFAULT(1000, "默认"){
@Override
public Action getAction(ConcurrentHashMap<String, SystemTalkAnswerConfigEntity> keyGroup,
String key,
Actions actions,
Action action,
List<SystemTalkAnswerConfigEntity> systemTalkAnswerConfigEntities,
List<DeviceUserBindEntity> includs){
return action;
}
}
;
ChinesePartSpeechEnum(Integer c, String n){
code = c;
@ -552,7 +671,7 @@ public enum ChinesePartSpeechEnum implements IChinesePartSpeech{
return e;
}
}
return null;
return DEFAULT;
}
public static ChinesePartSpeechEnum getEnumWithName(String name){
@ -562,11 +681,11 @@ public enum ChinesePartSpeechEnum implements IChinesePartSpeech{
return e;
}
}
return null;
return DEFAULT;
}
private static SystemTalkAnswerConfigEntity getSystemTalkWithKey(String key, ConcurrentHashMap<String, SystemTalkAnswerConfigEntity> keyGroup){
if(keyGroup.contains(key)){
if(keyGroup.containsKey(key)){
return keyGroup.get(key);
}
return null;

View File

@ -1,5 +1,6 @@
package com.qiuguo.iot.third.enums;
import com.qiuguo.iot.data.entity.device.DeviceUserBindEntity;
import com.qiuguo.iot.data.entity.system.SystemTalkAnswerConfigEntity;
import com.qiuguo.iot.third.nlp.action.Action;
import com.qiuguo.iot.third.nlp.action.Actions;
@ -12,5 +13,6 @@ public interface IChinesePartSpeech {
String key,
Actions actions,
Action action,
List<SystemTalkAnswerConfigEntity> systemTalkAnswerConfigEntities);
List<SystemTalkAnswerConfigEntity> systemTalkAnswerConfigEntities,
List<DeviceUserBindEntity> includs);
}

View File

@ -122,114 +122,13 @@ public class NlpService {
}
if(key.getType().equals(ChinesePartSpeechEnum.v.getCode())){
action.setAction(key.getKey());
SystemTalkAnswerConfigEntity entity = systemTalkAnswerConfigService.getSystemTalkWithKey(action.getAction());
if(entity != null){
systemTalkAnswerConfigEntities.add(entity);
}
actions.setA(1);//a = 1;
}else if(key.getType().equals(ChinesePartSpeechEnum.n.getCode())){
//匹配到关键词就不能作为名词加入未匹配到的分割前的都加入名词
SystemTalkAnswerConfigEntity entity = systemTalkAnswerConfigService.getSystemTalkWithKey(key.getKey());
if(entity != null){
systemTalkAnswerConfigEntities.add(entity);
actions.setA(1);//a = 1;
if(StringUtils.isNotEmpty(actions.getName())){//已记录的加进去
//
entity = systemTalkAnswerConfigService.getSystemTalkWithKey(actions.getName());
if(entity != null){
systemTalkAnswerConfigEntities.add(entity);
actions.setA(1);//a = 1;
}else{
//这里会走到a+b=2
action.setName(actions.getName());//.add(name);//加入分割前的名词
actions.setB(1);//b = 1;
actions.setName("");//name = "";
}
}
}else{
if(actions.getB() == 1 && actions.getA() == 0){
//本名称没有找到对应的动作
action.setSystemTalkAnswerConfigEntity(actions.getLastSystemTalkAnswerConfigEntity());
action.setAction(action.getSystemTalkAnswerConfigEntity().getAskKey());
action.setDeviceUserBindEntity(actions.getLastDeviceUserBindEntity());
actions.getActions().add(action);
actions.setLastName(action.getName());//lastName = action.getName();
actions.setLastDeviceUserBindEntity(action.getDeviceUserBindEntity());
action = ChinesePartSpeechEnum.getEnumWithCode(key.getType()).getAction(systemTalkAnswerConfigService.getSystemTalkWithKeyGroup(),
key.getKey(),
actions,
action,
systemTalkAnswerConfigEntities,
includs);
action = new Action();
actions.setName("");//name = "";
//action.setName(new ArrayList<>());
action.setLbs(new ArrayList<>());
action.setAsk(actions.getRecordText());
}
actions.setName(actions.getName() + key.getKey());//name += key.getKey();
//b = 1;
}
}else if(key.getType().equals(ChinesePartSpeechEnum.m.getCode())){
action.setStatus(key.getKey());
}else if(key.getType().equals(ChinesePartSpeechEnum.c.getCode()) ||
key.getType().equals(ChinesePartSpeechEnum.w.getCode())){//标点符号连接词
if(StringUtils.isNotEmpty(actions.getName())){
//action.setName(name);//.add(name);
SystemTalkAnswerConfigEntity entity = systemTalkAnswerConfigService.getSystemTalkWithKey(actions.getName());
if(entity != null){
systemTalkAnswerConfigEntities.add(entity);
actions.setA(1);//a = 1;
}else{
if(actions.getB() == 1 && actions.getA() == 0){
//本名称没有找到对应的动作
action.setSystemTalkAnswerConfigEntity(actions.getLastSystemTalkAnswerConfigEntity());
action.setAction(action.getSystemTalkAnswerConfigEntity().getAskKey());
action.setDeviceUserBindEntity(actions.getLastDeviceUserBindEntity());
actions.getActions().add(action);
actions.setLastName(action.getName());//lastName = action.getName();
actions.setLastDeviceUserBindEntity(action.getDeviceUserBindEntity());
action = new Action();
actions.setName("");//name = "";
//action.setName(new ArrayList<>());
action.setLbs(new ArrayList<>());
action.setAsk(actions.getRecordText());
}
action.setName(actions.getName());//.add(name);//加入分割前的名词
//name = "";
actions.setB(1);//b = 1;
}
}
actions.setName("");//name = "";
}else if(key.getType().equals(ChinesePartSpeechEnum.nt.getCode())){
action.getLbs().add(key.getKey());
}else if(key.getType().equals(ChinesePartSpeechEnum.t.getCode())){
//解析时间关键字
action.setTime(new ActionTime());
action.getTime().setTime(key.getKey());
}else if(key.getType().equals(ChinesePartSpeechEnum.qg.getCode())){
//替换成对应的设备
if(actions.getB() == 1 && actions.getA() == 0){
//本名称没有找到对应的动作
action.setSystemTalkAnswerConfigEntity(actions.getLastSystemTalkAnswerConfigEntity());
action.setAction(action.getSystemTalkAnswerConfigEntity().getAskKey());
action.setDeviceUserBindEntity(actions.getLastDeviceUserBindEntity());
actions.getActions().add(action);
actions.setLastName(action.getName());// lastName = action.getName();
actions.setLastDeviceUserBindEntity(action.getDeviceUserBindEntity());
action = new Action();
actions.setName("");//name = "";
//action.setName(new ArrayList<>());
action.setLbs(new ArrayList<>());
action.setAsk(actions.getRecordText());
}
int index = Integer.parseInt(key.getKey().replace(">", "").replace("<", ""));
action.setDeviceUserBindEntity(includs.get(index));
actions.setName("");//name = "";
action.setName(action.getDeviceUserBindEntity().getBindName());//.add(action.getDeviceUserBindEntity().getBindName());
actions.setB(1);//b = 1;
}
}
//下面判断最后一个名词
if(StringUtils.isNotEmpty(actions.getName())){

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff