package com.wlld.myjecs.tools;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.wlld.myjecs.bean.BeanMangerOnly;
import com.wlld.myjecs.config.Config;
import com.wlld.myjecs.entity.business.*;
import org.wlld.entity.KeyWordForSentence;
import org.wlld.entity.SentenceModel;
import org.wlld.entity.WordTwoVectorModel;
import org.wlld.naturalLanguage.languageCreator.CatchKeyWord;
import org.wlld.naturalLanguage.word.MyKeyWord;
import org.wlld.naturalLanguage.word.WordEmbedding;
import org.wlld.rnnJumpNerveCenter.RRNerveManager;
import org.wlld.rnnJumpNerveCenter.RandomModel;
import org.wlld.rnnNerveCenter.ModelParameter;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStreamWriter;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.*;
public class Tools {
private void haveKeyWord(BeanMangerOnly beanMangerOnly, List<MySentence> sentences, boolean init) throws Exception {
File file = new File(Config.onlyKeyWord); //创建文件
Map<Integer, MyKeyWord> haveKeyWords = beanMangerOnly.getMyKeyWord();
if (!file.exists() || init) {//模型文件不存在重新学习
Map<Integer, List<KeyWordForSentence>> keyWordForSentenceMap = new HashMap<>();
for (MySentence sentence : sentences) {
List<KeyWordForSentence> keyWordForSentenceList;
MyKeyWord myKeyWord;
List<MyKeywordStudy> myKeywordStudyList = sentence.getMyKeywordStudyList();//关键词集合
String word = sentence.getWord();
for (MyKeywordStudy myKeywordStudy : myKeywordStudyList) {
int keyword_type_id = myKeywordStudy.getKeyword_type_id();//关键词id
if (haveKeyWords.containsKey(keyword_type_id)) {
keyWordForSentenceList = keyWordForSentenceMap.get(keyword_type_id);
} else {
keyWordForSentenceList = new ArrayList<>();
keyWordForSentenceMap.put(keyword_type_id, keyWordForSentenceList);
myKeyWord = new MyKeyWord(beanMangerOnly.getConfig(), beanMangerOnly.getWordEmbedding());
haveKeyWords.put(keyword_type_id, myKeyWord);
}
if (word != null) {
KeyWordForSentence keyWordForSentence = new KeyWordForSentence();
keyWordForSentence.setSentence(word);
keyWordForSentence.setKeyWord(myKeywordStudy.getKeyword());//不存在关键词也是一种训练,因为该模型的目的是关键词敏感性嗅探
keyWordForSentenceList.add(keyWordForSentence);
}
}
}
HaveAllKeyWord haveAllKeyWord = new HaveAllKeyWord();
List<HaveKey> haveKeyList = new ArrayList<>();
haveAllKeyWord.setHaveKeyList(haveKeyList);
for (Map.Entry<Integer, MyKeyWord> entry : haveKeyWords.entrySet()) {
HaveKey haveKey = new HaveKey();
int key = entry.getKey();
ModelParameter modelParameter = entry.getValue().study(keyWordForSentenceMap.get(key));
haveKey.setKey(key);
haveKey.setModelParameter(modelParameter);
haveKeyList.add(haveKey);
}
writeModel(JSONObject.toJSONString(haveAllKeyWord), Config.onlyKeyWord);
} else {//模型文件存在直接读
List<HaveKey> haveKeyList = readModelParameter().getHaveKeyList();//haveKeyWords
for (HaveKey haveKey : haveKeyList) {
MyKeyWord myKeyWord = new MyKeyWord(beanMangerOnly.getConfig(), beanMangerOnly.getWordEmbedding());
myKeyWord.insertModel(haveKey.getModelParameter());
haveKeyWords.put(haveKey.getKey(), myKeyWord);
}
}
}
private void keyWord(BeanMangerOnly beanMangerOnly, List<MySentence> sentences) throws IOException {//处理关键词
File file = new File(Config.KeyWordModelUrl); //创建文件
Map<Integer, CatchKeyWord> catchKeyWordMap = beanMangerOnly.catchKeyWord();
if (!file.exists()) {//重新学习
List<KeyWordModelMapping> keyWordModelMappings = new ArrayList<>();
Map<Integer, List<KeySentence>> sentenceMap = new HashMap<>();
for (MySentence sentence : sentences) {
List<MyKeywordStudy> myKeywordStudyList = sentence.getMyKeywordStudyList();
String word = sentence.getWord();
for (MyKeywordStudy myKeywordStudy : myKeywordStudyList) {
String keyWord = myKeywordStudy.getKeyword();//关键词
int key = myKeywordStudy.getKeyword_type_id();
if (word != null && keyWord != null) {
KeySentence keySentence = new KeySentence();
keySentence.setWord(word);
keySentence.setKeyword(keyWord);
keySentence.setKeyword_type_id(key);
if (sentenceMap.containsKey(key)) {
sentenceMap.get(key).add(keySentence);
} else {
List<KeySentence> sentenceList = new ArrayList<>();
sentenceList.add(keySentence);
sentenceMap.put(key, sentenceList);
}
}
}
}
for (Map.Entry<Integer, List<KeySentence>> entry : sentenceMap.entrySet()) {
List<KeySentence> sentenceList = entry.getValue();
int key = entry.getKey();
List<KeyWordForSentence> keyWordForSentenceList = new ArrayList<>();
CatchKeyWord catchKeyWord = new CatchKeyWord();
catchKeyWordMap.put(key, catchKeyWord);//TODO 吃内存
System.out.println("key:" + key);
for (KeySentence sentence : sentenceList) {
KeyWordForSentence keyWordForSentence = new KeyWordForSentence();
keyWordForSentence.setSentence(sentence.getWord());
keyWordForSentence.setKeyWord(sentence.getKeyword());
keyWordForSentenceList.add(keyWordForSentence);
}
catchKeyWord.study(keyWordForSentenceList);//耗时的过程
KeyWordModelMapping keyWordModelMapping = new KeyWordModelMapping();
keyWordModelMapping.setKey(key);
keyWordModelMapping.setKeyWordModel(catchKeyWord.getModel());
keyWordModelMappings.add(keyWordModelMapping);
}
MyWordModel model = new MyWordModel();
model.setKeyWordModelMappings(keyWordModelMappings);
//模型写出
writeModel(JSONObject.toJSONString(model), Config.KeyWordModelUrl);
} else {//TODO 读取模型
List<KeyWordModelMapping> keyWordModels = JSONObject.parseObject(readPaper(file), MyWordModel.class).getKeyWordModelMappings();
for (KeyWordModelMapping keyWordModelMapping : keyWordModels) {
int key = keyWordModelMapping.getKey();
CatchKeyWord catchKeyWord = new CatchKeyWord();
catchKeyWordMap.put(key, catchKeyWord);
catchKeyWord.insertModel(keyWordModelMapping.getKeyWordModel());
}
}
}
private void allKeyWord(BeanMangerOnly beanMangerOnly, List<MySentence> sentences) throws IOException {
File file = new File(Config.keyWordIndex);//关键词
AllKeyWords allKeyWords = beanMangerOnly.getAllKeyWords();
if (file.exists()) {
List<KeyWord> keyWords = JSONObject.parseObject(readPaper(file), AllKeyWords.class
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
该项目是基于easyAi引擎的JAVA高性能,低成本,轻量级智能客服。可与用户自动对话,自动捕捉订单信息,分辨用户需求,自动生成订单。也可自动回答用户疑问,提供处理需求的问答服务,是全网速度最快的java开源智能自主客服!
资源推荐
资源详情
资源评论
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
收起资源包目录
![package](https://csdnimg.cn/release/downloadcmsfe/public/img/package.f3fc750b.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/GIF.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/GIF.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/GIF.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/HTML.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/HTML.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/HTML.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/HTML.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/HTML.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/HTML.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/HTML.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/JAR.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
共 150 条
- 1
- 2
资源评论
![avatar-default](https://csdnimg.cn/release/downloadcmsfe/public/img/lazyLogo2.1882d7f4.png)
![avatar](https://profile-avatar.csdnimg.cn/de50ac10e30e41b89db28203f97239be_qq_41701956.jpg!1)
Java程序员-张凯
- 粉丝: 1w+
- 资源: 6821
![benefits](https://csdnimg.cn/release/downloadcmsfe/public/img/vip-rights-1.c8e153b4.png)
下载权益
![privilege](https://csdnimg.cn/release/downloadcmsfe/public/img/vip-rights-2.ec46750a.png)
C知道特权
![article](https://csdnimg.cn/release/downloadcmsfe/public/img/vip-rights-3.fc5e5fb6.png)
VIP文章
![course-privilege](https://csdnimg.cn/release/downloadcmsfe/public/img/vip-rights-4.320a6894.png)
课程特权
![rights](https://csdnimg.cn/release/downloadcmsfe/public/img/vip-rights-icon.fe0226a8.png)
开通VIP
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)