完成NLP第一版优化
This commit is contained in:
parent
7bf3121c3b
commit
1fb7296fa7
@ -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;
|
||||
|
||||
@ -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);
|
||||
}
|
||||
|
||||
@ -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
Loading…
x
Reference in New Issue
Block a user