가능한 모든 문장 조합을 생성하려고합니다. 변수로 두 개의 문자열이 있습니다. 하나의 문자열이 대상이됩니다 (예 : health
이고 하나는 fruit
과 같은 개체가 될 것입니다. 그런 다음 List<String>
의 값이 하나의 "머리"단어와 연결되므로 방금 언급 한 두 구성 요소를 유지하면서 목록 [improve, change, alter, modify]
과 연결됩니다.은 가능한 모든 조합을 생성하여 3 개의 목록 에서 고유 항목 당 한 번만 생성하고 출력합니다.
public Sentence dataPreprocessing(String raw_subject, String raw_object, String raw_verb, List<Sentence> sentences) throws IOException {
WordNet wordnet = new WordNet();
String verb = wordnet.getStem(raw_verb);
String object = wordnet.getStem(raw_object);
String subject = wordnet.getStem(raw_subject);
List<String> verb_hypernym_container = new ArrayList<>();
verb_hypernym_container = wordnet.getHypernyms(verb, POS.VERB);
//wordnet.getHypernyms(this.object, POS.NOUN);
//wordnet.getHypernyms(this.subject, POS.NOUN);
Sentence return_sentence = new Sentence(verb, object, subject);
return return_sentence;
}
을이 걸리는 장소는 다음과 같습니다되는 큰 기능을 지금
Sentence example_sentence = new Sentence(verb, object, subject);
sentences.add(example_sentence);
: 나는이 문장의 모든 가능한 조합을 생성하고 같은과 함께 List<Sentences>
에 각 하나를 추가 할 가능한 모든 문장을 생성하는 목표를 가장 효과적으로 달성하려면 어떻게해야합니까? 필요한 것보다 더 자주 getHypernyms
를 호출하지 않도록
List<Sentence> sentences = new ArrayList<>();
for(String verb_hypernym : wordnet.getHypernyms(verb, POS.VERB))
for(String object_hypernym : wordnet.getHypernyms(object, POS.NOUN))
for(String subject_hypernym : wordnet.getHypernyms(subject, POS.NOUN))
sentences.add(new Sentence(verb_hypernym, object_hypernym, subject_hypernym));
return sentences;
또는 : 당신이 목록의 고정 된 수를 가지고 있기 때문에
같은 문장을리스트마다 두 번 이상 생성하는 비슷한 비슷한 문장을 사용할 수도 있지만 목록 당 한 번만 사용할 수 있습니까? –
@ Joao.da.Silva 목록마다 하나씩 무엇을 의미합니까? – immibis
같이 하나의 목록에 같은 조합으로 동일한 단어를 생성하고 싶지 않다 –