diff --git a/vipra-cmd/src/main/java/de/vipra/cmd/lda/DTMAnalyzer.java b/vipra-cmd/src/main/java/de/vipra/cmd/lda/DTMAnalyzer.java index 4e4add26caa1d2bc9d5148a72f2d647e264dcef4..5c9eeef9e68349cf1f1354a07d72030323c43ce9 100644 --- a/vipra-cmd/src/main/java/de/vipra/cmd/lda/DTMAnalyzer.java +++ b/vipra-cmd/src/main/java/de/vipra/cmd/lda/DTMAnalyzer.java @@ -224,6 +224,7 @@ public class DTMAnalyzer extends Analyzer { final double[] relevances = new double[sequencesCount]; double relevanceSum = 0; + double prevRelevance = 0; // for each sequence for (int idxSeq = 0, sequenceOffset = 0; idxSeq < sequencesCount; idxSeq++) { @@ -266,6 +267,7 @@ public class DTMAnalyzer extends Analyzer { newSequenceFull.setWindow(newWindows.get(idxSeq)); newSequenceFull.setWords(newSeqTopicWords); newSequenceFull.setRelevance(relevance); + newSequenceFull.setRelevanceChange(relevance - prevRelevance); newSequenceFull.setTopic(new Topic(newTopic.getId())); newSequences.add(newSequenceFull); newTopicSequences.add(new Sequence(newSequenceFull.getId())); @@ -273,6 +275,7 @@ public class DTMAnalyzer extends Analyzer { sequenceOffset += sequenceSize; relevanceSum += relevance; relevances[idxSeq] = relevance; + prevRelevance = relevance; } // sort topic words and generate topic name diff --git a/vipra-util/src/main/java/de/vipra/util/model/Sequence.java b/vipra-util/src/main/java/de/vipra/util/model/Sequence.java index 770f5e61ef1c87cfbbfcc32c7b861524683647b8..96f9538d1da691221027be1b483a8210b07f5fdf 100644 --- a/vipra-util/src/main/java/de/vipra/util/model/Sequence.java +++ b/vipra-util/src/main/java/de/vipra/util/model/Sequence.java @@ -19,6 +19,8 @@ public class Sequence implements Model<ObjectId>, Comparable<Sequence>, Serializ private Double relevance; + private Double relevanceChange; + public Sequence() {} public Sequence(final ObjectId id) { @@ -51,6 +53,14 @@ public class Sequence implements Model<ObjectId>, Comparable<Sequence>, Serializ this.relevance = relevance; } + public Double getRelevanceChange() { + return relevanceChange; + } + + public void setRelevanceChange(Double relevanceChange) { + this.relevanceChange = relevanceChange; + } + @Override public int compareTo(final Sequence o) { return window.getId() - o.getWindow().getId(); @@ -58,7 +68,8 @@ public class Sequence implements Model<ObjectId>, Comparable<Sequence>, Serializ @Override public String toString() { - return "Sequence [id=" + id + ", window=" + window + ", relevance=" + relevance + "]"; + return "Sequence [id=" + id + ", window=" + window + ", relevance=" + relevance + ", relevanceChange=" + + relevanceChange + "]"; } } diff --git a/vipra-util/src/main/java/de/vipra/util/model/SequenceFull.java b/vipra-util/src/main/java/de/vipra/util/model/SequenceFull.java index e35321bb000c91840c14158cf52172492e0690fe..91b576f8f38cedfc78b9aa32cae51e938d5c3d60 100644 --- a/vipra-util/src/main/java/de/vipra/util/model/SequenceFull.java +++ b/vipra-util/src/main/java/de/vipra/util/model/SequenceFull.java @@ -23,6 +23,8 @@ public class SequenceFull implements Model<ObjectId>, Comparable<SequenceFull>, private Double relevance; + private Double relevanceChange; + @Reference @QueryIgnore(multi = true) private Topic topic; @@ -57,6 +59,14 @@ public class SequenceFull implements Model<ObjectId>, Comparable<SequenceFull>, this.relevance = relevance; } + public Double getRelevanceChange() { + return relevanceChange; + } + + public void setRelevanceChange(Double relevanceChange) { + this.relevanceChange = relevanceChange; + } + public Topic getTopic() { return topic; } @@ -80,8 +90,8 @@ public class SequenceFull implements Model<ObjectId>, Comparable<SequenceFull>, @Override public String toString() { - return "SequenceFull [id=" + id + ", window=" + window + ", relevance=" + relevance + ", topic=" + topic - + ", words=" + words + "]"; + return "SequenceFull [id=" + id + ", window=" + window + ", relevance=" + relevance + ", relevanceChange=" + + relevanceChange + ", topic=" + topic + ", words=" + words + "]"; } }