From 87e949891dceba38fa9b9d576771aa3732124170 Mon Sep 17 00:00:00 2001
From: Eike Cochu <eike@cochu.com>
Date: Sun, 3 Jul 2016 21:41:04 +0200
Subject: [PATCH] readded entity types option

---
 .../src/main/java/de/vipra/cmd/file/Filebase.java |  5 +++++
 .../de/vipra/cmd/option/EditModelCommand.java     |  2 ++
 .../java/de/vipra/cmd/option/ImportCommand.java   |  3 ++-
 vipra-cmd/src/main/resources/config.json          |  1 +
 vipra-ui/app/html/entities/index.html             |  2 +-
 vipra-ui/app/html/topics/index.html               |  2 +-
 vipra-ui/app/html/words/index.html                |  2 +-
 .../de/vipra/util/model/TopicModelConfig.java     | 15 +++++++++++++--
 8 files changed, 26 insertions(+), 6 deletions(-)

diff --git a/vipra-cmd/src/main/java/de/vipra/cmd/file/Filebase.java b/vipra-cmd/src/main/java/de/vipra/cmd/file/Filebase.java
index 1e713309..bfe00e61 100644
--- a/vipra-cmd/src/main/java/de/vipra/cmd/file/Filebase.java
+++ b/vipra-cmd/src/main/java/de/vipra/cmd/file/Filebase.java
@@ -77,6 +77,11 @@ public class Filebase {
 				else if (modelConfig.isProcessorUseHypernyms())
 					outModel.write(wordIndex.transform(newArticle.hypernyms()));
 
+				outModel.write(" ");
+
+				if (modelConfig.isProcessorUseEntityTypes())
+					outModel.write(wordIndex.transform(newArticle.types()));
+
 				outModel.write(Constants.LINE_SEP);
 			} else {
 				if (in == null) {
diff --git a/vipra-cmd/src/main/java/de/vipra/cmd/option/EditModelCommand.java b/vipra-cmd/src/main/java/de/vipra/cmd/option/EditModelCommand.java
index 67cec416..44e3558f 100644
--- a/vipra-cmd/src/main/java/de/vipra/cmd/option/EditModelCommand.java
+++ b/vipra-cmd/src/main/java/de/vipra/cmd/option/EditModelCommand.java
@@ -70,6 +70,8 @@ public class EditModelCommand implements Command {
 				ConsoleUtils.readBoolean(" " + ConsoleUtils.PATH_T + " processor use text", topicModelConfig.isProcessorUseText()));
 		topicModelConfig.setProcessorUseEntities(
 				ConsoleUtils.readBoolean(" " + ConsoleUtils.PATH_T + " processor use entities", topicModelConfig.isProcessorUseEntities()));
+		topicModelConfig.setProcessorUseEntityTypes(
+				ConsoleUtils.readBoolean(" " + ConsoleUtils.PATH_T + " processor use entity types", topicModelConfig.isProcessorUseEntityTypes()));
 		topicModelConfig.setProcessorUseHypernyms(
 				ConsoleUtils.readBoolean(" " + ConsoleUtils.PATH_T + " processor use hypernyms", topicModelConfig.isProcessorUseHypernyms()));
 		topicModelConfig.setQueryEntityDescriptions(
diff --git a/vipra-cmd/src/main/java/de/vipra/cmd/option/ImportCommand.java b/vipra-cmd/src/main/java/de/vipra/cmd/option/ImportCommand.java
index 7daac5c0..2f1b7e74 100644
--- a/vipra-cmd/src/main/java/de/vipra/cmd/option/ImportCommand.java
+++ b/vipra-cmd/src/main/java/de/vipra/cmd/option/ImportCommand.java
@@ -341,7 +341,8 @@ public class ImportCommand implements Command {
 		if (config.getSpotlightUrl() != null)
 			spotlightAnalyzer = new SpotlightAnalyzer(modelConfig);
 
-		if ((modelConfig.isProcessorUseEntities() || modelConfig.isProcessorUseHypernyms()) && spotlightAnalyzer == null)
+		if ((modelConfig.isProcessorUseEntities() || modelConfig.isProcessorUseEntityTypes() || modelConfig.isProcessorUseHypernyms())
+				&& spotlightAnalyzer == null)
 			throw new ConfigException("spotlight url is empty, but processor requires entity informations");
 
 		buffer = new ArticleBuffer(dbArticles);
diff --git a/vipra-cmd/src/main/resources/config.json b/vipra-cmd/src/main/resources/config.json
index 13236725..b3d7a68f 100644
--- a/vipra-cmd/src/main/resources/config.json
+++ b/vipra-cmd/src/main/resources/config.json
@@ -25,6 +25,7 @@
 		"windowResolution": "MONTH",
 		"processorUseText": true,
 		"processorUseEntities": true,
+		"processorUseEntityTypes": false,
 		"processorUseHypernyms": true,
 		"queryEntityDescriptions": true
 	}
diff --git a/vipra-ui/app/html/entities/index.html b/vipra-ui/app/html/entities/index.html
index 62549943..016aa25f 100644
--- a/vipra-ui/app/html/entities/index.html
+++ b/vipra-ui/app/html/entities/index.html
@@ -13,7 +13,7 @@
         <div class="panel panel-default">
           <div class="panel-heading clearfix">
             Found
-            <ng-pluralize count="entitiesTotal||0" when="{0:'no entities',1:'1 entity',other:'{} entities'}"></ng-pluralize> in the database.
+            <ng-pluralize count="entitiesTotal||0" when="{0:'no entities',1:'1 entity',other:'{} entities'}"></ng-pluralize> in the database
           </div>
           <table class="table table-hover table-condensed table-fixed">
             <tbody>
diff --git a/vipra-ui/app/html/topics/index.html b/vipra-ui/app/html/topics/index.html
index 9472d04a..286ac9ca 100644
--- a/vipra-ui/app/html/topics/index.html
+++ b/vipra-ui/app/html/topics/index.html
@@ -13,7 +13,7 @@
         <div class="panel panel-default">
           <div class="panel-heading clearfix">
             Found
-            <ng-pluralize count="topicsTotal||0" when="{0:'no topics',1:'1 topic',other:'{} topics'}"></ng-pluralize> in the database.
+            <ng-pluralize count="topicsTotal||0" when="{0:'no topics',1:'1 topic',other:'{} topics'}"></ng-pluralize> in the database
           </div>
           <table class="table table-hover table-condensed table-fixed">
             <tbody>
diff --git a/vipra-ui/app/html/words/index.html b/vipra-ui/app/html/words/index.html
index fd6f30eb..9d01eebe 100644
--- a/vipra-ui/app/html/words/index.html
+++ b/vipra-ui/app/html/words/index.html
@@ -13,7 +13,7 @@
         <div class="panel panel-default">
           <div class="panel-heading clearfix">
             Found
-            <ng-pluralize count="wordsTotal||0" when="{0:'no words',1:'1 word',other:'{} words'}"></ng-pluralize> in the database.
+            <ng-pluralize count="wordsTotal||0" when="{0:'no words',1:'1 word',other:'{} words'}"></ng-pluralize> in the database
           </div>
           <table class="table table-hover table-condensed table-fixed">
             <tbody>
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 7a05e040..a1c541d0 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
@@ -46,6 +46,7 @@ public class TopicModelConfig implements Serializable {
 	private double maxSimilarTopicsDivergence = Constants.MAX_SIMILAR_TOPICS_DIVERGENCE;
 	private boolean processorUseText = Constants.PROCESSOR_USE_TEXT;
 	private boolean processorUseEntities = Constants.PROCESSOR_USE_ENTITIES;
+	private boolean processorUseEntityTypes = Constants.PROCESSOR_USE_ENTITY_TYPES;
 	private boolean processorUseHypernyms = Constants.PROCESSOR_USE_HYPERNYMS;
 	private boolean queryEntityDescriptions = Constants.QUERY_ENTITY_DESCRIPTIONS;
 	private WindowResolution windowResolution = Constants.WINDOW_RESOLUTION;
@@ -72,6 +73,7 @@ public class TopicModelConfig implements Serializable {
 		maxSimilarTopicsDivergence = topicModelConfig.getMaxSimilarTopicsDivergence();
 		processorUseText = topicModelConfig.isProcessorUseText();
 		processorUseEntities = topicModelConfig.isProcessorUseEntities();
+		processorUseEntityTypes = topicModelConfig.isProcessorUseEntityTypes();
 		processorUseHypernyms = topicModelConfig.isProcessorUseHypernyms();
 		queryEntityDescriptions = topicModelConfig.isQueryEntityDescriptions();
 		windowResolution = topicModelConfig.getWindowResolution();
@@ -253,6 +255,14 @@ public class TopicModelConfig implements Serializable {
 		this.processorUseEntities = processorUseEntities;
 	}
 
+	public boolean isProcessorUseEntityTypes() {
+		return processorUseEntityTypes;
+	}
+
+	public void setProcessorUseEntityTypes(final boolean processorUseEntityTypes) {
+		this.processorUseEntityTypes = processorUseEntityTypes;
+	}
+
 	public boolean isProcessorUseHypernyms() {
 		return processorUseHypernyms;
 	}
@@ -308,8 +318,9 @@ public class TopicModelConfig implements Serializable {
 				+ "\n spotlightConfidence: " + spotlightConfidence + "\n minTopicShare: " + minTopicShare + "\n minRelativeProbability: "
 				+ minRelativeProbability + "\n risingDecayLambda: " + risingDecayLambda + "\n maxSimilarDocumentsDivergence: "
 				+ maxSimilarDocumentsDivergence + "\n maxSimilarTopicsDivergence: " + maxSimilarTopicsDivergence + "\n processor use text: "
-				+ processorUseText + "\n processor use entities: " + processorUseEntities + "\n processor use hypernyms: " + processorUseHypernyms
-				+ "\n query entity descriptions: " + queryEntityDescriptions + "\n windowResolution: " + windowResolution;
+				+ processorUseText + "\n processor use entities: " + processorUseEntities + "\n processor use entity types: "
+				+ processorUseEntityTypes + "\n processor use hypernyms: " + processorUseHypernyms + "\n query entity descriptions: "
+				+ queryEntityDescriptions + "\n windowResolution: " + windowResolution;
 	}
 
 }
-- 
GitLab