From 4f96d1ccd969958d08b009aa7c4653948415b410 Mon Sep 17 00:00:00 2001 From: inter Date: Thu, 4 Sep 2025 14:09:32 +0800 Subject: [PATCH] Add File --- .../easyai/naturalLanguage/Sentence.java | 62 +++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 src/main/java/org/dromara/easyai/naturalLanguage/Sentence.java diff --git a/src/main/java/org/dromara/easyai/naturalLanguage/Sentence.java b/src/main/java/org/dromara/easyai/naturalLanguage/Sentence.java new file mode 100644 index 0000000..d0d10c8 --- /dev/null +++ b/src/main/java/org/dromara/easyai/naturalLanguage/Sentence.java @@ -0,0 +1,62 @@ +package org.dromara.easyai.naturalLanguage; + + +import java.util.ArrayList; +import java.util.List; + +/** + * @author lidapeng + * @description + * @date 8:01 上午 2020/2/23 + */ +public class Sentence { + private Word firstWord; + private final List waitWords = new ArrayList<>();//词 + private List keyWords;//分词结果下标按照时间序列排序 + private final List features = new ArrayList<>();//时序特征 + + public List getFeatures() { + return features; + } + + public List getKeyWords() { + return keyWords; + } + + public void setKeyWords(List keyWords) { + this.keyWords = keyWords; + } + + public List getWaitWords() { + return waitWords; + } + + public Word getFirstWord() { + return firstWord; + } + + public Sentence() { + + } + + private void lineWord(Word word, Word wordSon) {//给词连线 + if (firstWord != null) { + if (word.getSon() != null) {//右连接不是空的 + lineWord(word.getSon(), wordSon); + } else {//右连接是空的 + wordSon.setLv(word.getLv() + 1); + word.setSon(wordSon); + } + } else { + firstWord = wordSon; + firstWord.setLv(1); + } + } + + public void setWord(String word) {//编号 + Word word1 = new Word(); + word1.setWord(word); + lineWord(firstWord, word1);//词之间做连线 + waitWords.add(word1); + } +}