From 68ba42d708d46d306787f6d221dfde1c1e0d3986 Mon Sep 17 00:00:00 2001 From: Eike Cochu <eike@cochu.com> Date: Wed, 22 Jun 2016 09:21:14 +0200 Subject: [PATCH] added topic model groups --- vipra-cmd/runcfg/CMD.launch | 2 +- .../vipra/cmd/option/CreateModelCommand.java | 15 +++++++++------ .../java/de/vipra/cmd/text/ProcessedText.java | 5 ++--- .../de/vipra/util/model/TopicModelConfig.java | 9 +++++++++ .../de/vipra/util/model/TopicModelFull.java | 19 +++++++++++++++++-- 5 files changed, 38 insertions(+), 12 deletions(-) diff --git a/vipra-cmd/runcfg/CMD.launch b/vipra-cmd/runcfg/CMD.launch index a1304e44..345beb2a 100644 --- a/vipra-cmd/runcfg/CMD.launch +++ b/vipra-cmd/runcfg/CMD.launch @@ -11,7 +11,7 @@ </listAttribute> <stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.eclipse.m2e.launchconfig.classpathProvider"/> <stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="de.vipra.cmd.Main"/> -<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-S test -I /home/eike/repos/master/ma-impl/docker/data/test-1.json"/> +<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-eC bbc:test"/> <stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="vipra-cmd"/> <stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.m2e.launchconfig.sourcepathProvider"/> <stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-ea"/> diff --git a/vipra-cmd/src/main/java/de/vipra/cmd/option/CreateModelCommand.java b/vipra-cmd/src/main/java/de/vipra/cmd/option/CreateModelCommand.java index a4235dfd..ba1bc1f0 100644 --- a/vipra-cmd/src/main/java/de/vipra/cmd/option/CreateModelCommand.java +++ b/vipra-cmd/src/main/java/de/vipra/cmd/option/CreateModelCommand.java @@ -27,14 +27,16 @@ public class CreateModelCommand implements Command { this.names = names; } - private void createModel(final String name, final TopicModelConfig modelConfig, final File modelDir) + private TopicModelFull createModel(final String name, final TopicModelConfig modelConfig, final File modelDir) throws JsonGenerationException, JsonMappingException, IOException, DatabaseException { - modelConfig.setName(name); - modelConfig.saveToFile(modelDir); final TopicModelFull topicModel = new TopicModelFull(name, modelConfig); topicModel.setColorSeed(random.nextLong()); + modelConfig.setName(topicModel.getName()); + modelConfig.setGroup(topicModel.getGroup()); + modelConfig.saveToFile(modelDir); dbTopicModels.createSingle(topicModel); - config.getTopicModelConfigs().put(name, modelConfig); + config.getTopicModelConfigs().put(topicModel.getName(), modelConfig); + return topicModel; } @Override @@ -64,8 +66,9 @@ public class CreateModelCommand implements Command { if (!modelDir.mkdirs()) throw new Exception("could not create model directory: " + modelDir.getAbsolutePath()); - createModel(name, modelConfig, modelDir); - ConsoleUtils.info("model created: " + name); + final TopicModelFull topicModel = createModel(name, modelConfig, modelDir); + ConsoleUtils + .info("model created: " + topicModel.getName() + (topicModel.getGroup() == null ? "" : " in group: " + topicModel.getGroup())); } } diff --git a/vipra-cmd/src/main/java/de/vipra/cmd/text/ProcessedText.java b/vipra-cmd/src/main/java/de/vipra/cmd/text/ProcessedText.java index e6c2eea2..8646b9c9 100644 --- a/vipra-cmd/src/main/java/de/vipra/cmd/text/ProcessedText.java +++ b/vipra-cmd/src/main/java/de/vipra/cmd/text/ProcessedText.java @@ -33,11 +33,10 @@ public class ProcessedText { for (final String word : words) wordCounts.count(word); - final List<ArticleWord> articleWords = new ArrayList<>(wordCounts.size()); + articleWords = new ArrayList<>(wordCounts.size()); for (final Entry<String, Integer> entry : wordCounts.entrySet()) articleWords.add(new ArticleWord(entry.getKey(), entry.getValue())); - this.articleWords = articleWords; - Collections.sort(this.articleWords, Comparator.reverseOrder()); + Collections.sort(articleWords, Comparator.reverseOrder()); } public String[] getWords() { diff --git a/vipra-util/src/main/java/de/vipra/util/model/TopicModelConfig.java b/vipra-util/src/main/java/de/vipra/util/model/TopicModelConfig.java index a6c8ba78..7acef4d7 100644 --- a/vipra-util/src/main/java/de/vipra/util/model/TopicModelConfig.java +++ b/vipra-util/src/main/java/de/vipra/util/model/TopicModelConfig.java @@ -25,6 +25,7 @@ public class TopicModelConfig implements Serializable { public static final String FILE_NAME = "config.json"; private String name; + private String group; private String description; private int kTopics = Constants.K_TOPICS; private int kTopWords = Constants.K_TOP_WORDS; @@ -86,6 +87,14 @@ public class TopicModelConfig implements Serializable { this.name = name; } + public String getGroup() { + return group; + } + + public void setGroup(String group) { + this.group = group; + } + public String getDescription() { return description; } diff --git a/vipra-util/src/main/java/de/vipra/util/model/TopicModelFull.java b/vipra-util/src/main/java/de/vipra/util/model/TopicModelFull.java index 017d04f3..623f8396 100644 --- a/vipra-util/src/main/java/de/vipra/util/model/TopicModelFull.java +++ b/vipra-util/src/main/java/de/vipra/util/model/TopicModelFull.java @@ -25,6 +25,8 @@ public class TopicModelFull implements Model<ObjectId>, Comparable<TopicModelFul private String name; + private String group; + private Long topicCount; private Long articleCount; @@ -62,7 +64,7 @@ public class TopicModelFull implements Model<ObjectId>, Comparable<TopicModelFul } public TopicModelFull(final String name, final TopicModelConfig modelConfig) { - this.name = name; + setName(name); this.modelConfig = modelConfig; } @@ -81,7 +83,20 @@ public class TopicModelFull implements Model<ObjectId>, Comparable<TopicModelFul } public void setName(final String name) { - this.name = name; + if (name != null && name.contains(":")) { + final String[] parts = name.split(":"); + this.group = parts[0]; + this.name = parts[1]; + } else + this.name = name; + } + + public String getGroup() { + return group; + } + + public void setGroup(String group) { + this.group = group; } public Long getTopicCount() { -- GitLab