Revision: 17436
http://sourceforge.net/p/gate/code/17436
Author: adamfunk
Date: 2014-02-26 14:52:59 +0000 (Wed, 26 Feb 2014)
Log Message:
-----------
Adding as much as I can without breaking existing code...
Modified Paths:
--------------
gate/trunk/plugins/TermRaider/src/gate/termraider/bank/AbstractTermbank.java
gate/trunk/plugins/TermRaider/src/gate/termraider/bank/AnnotationTermbank.java
gate/trunk/plugins/TermRaider/src/gate/termraider/bank/DocumentFrequencyBank.java
gate/trunk/plugins/TermRaider/src/gate/termraider/bank/HyponymyTermbank.java
gate/trunk/plugins/TermRaider/src/gate/termraider/bank/TfIdfTermbank.java
gate/trunk/plugins/TermRaider/src/gate/termraider/util/AbstractBank.java
Added Paths:
-----------
gate/trunk/plugins/TermRaider/src/gate/termraider/gui/TermbankTableModel.java
Modified:
gate/trunk/plugins/TermRaider/src/gate/termraider/bank/AbstractTermbank.java
===================================================================
---
gate/trunk/plugins/TermRaider/src/gate/termraider/bank/AbstractTermbank.java
2014-02-26 14:47:17 UTC (rev 17435)
+++
gate/trunk/plugins/TermRaider/src/gate/termraider/bank/AbstractTermbank.java
2014-02-26 14:52:59 UTC (rev 17436)
@@ -18,7 +18,6 @@
import gate.*;
import java.io.*;
import java.util.*;
-
import gate.termraider.output.*;
import gate.termraider.util.*;
import gate.termraider.gui.*;
@@ -46,9 +45,15 @@
public static final String freqProperty = "frequency";
+ protected List<ScoreType> scoreTypes;
+
public Resource init() throws ResourceInstantiationException {
prepare();
+ initializeScoreTypes();
+ if (this.scoreTypes.size() == 0) {
+ throw new ResourceInstantiationException("No score types found in " +
this.toString());
+ }
resetScores();
processCorpora();
scanTypesLanguagesDocFreq();
@@ -62,6 +67,30 @@
}
+ public List<ScoreType> getScoreTypes() {
+ return this.scoreTypes;
+ }
+
+ // TODO : make this abstract and implement it
+ // everywhere as part of the overhaul
+ public Number getScore(ScoreType type, Term term) {
+ return 0.0;
+ }
+
+ // TODO : make this abstract and implement it
+ // everywhere as part of the overhaul
+ public Collection<Term> getTerms() {
+ return new HashSet<Term>();
+ }
+
+
+ public ScoreType getDefaultScoreType() {
+ return this.scoreTypes.get(0);
+ }
+
+ protected abstract void initializeScoreTypes();
+
+
public List<Term> getTermsByDescendingScore() {
return this.termsByDescendingScore;
}
@@ -267,6 +296,13 @@
}
+ public abstract String getCsvHeader();
+
+
+ public abstract String getCsvLine(Term term);
+
+
+
/***** CREOLE PARAMETERS *****/
@CreoleParameter(comment = "input AS name",
@@ -288,11 +324,5 @@
public Set<String> getInputAnnotationTypes() {
return this.inputAnnotationTypes;
}
-
-
- public abstract String getCsvHeader();
-
-
- public abstract String getCsvLine(Term term);
}
Modified:
gate/trunk/plugins/TermRaider/src/gate/termraider/bank/AnnotationTermbank.java
===================================================================
---
gate/trunk/plugins/TermRaider/src/gate/termraider/bank/AnnotationTermbank.java
2014-02-26 14:47:17 UTC (rev 17435)
+++
gate/trunk/plugins/TermRaider/src/gate/termraider/bank/AnnotationTermbank.java
2014-02-26 14:52:59 UTC (rev 17436)
@@ -139,6 +139,17 @@
}
+ protected void initializeScoreTypes() {
+ this.scoreTypes = new ArrayList<ScoreType>();
+ this.scoreTypes.add(new ScoreType(scoreProperty));
+ // TODO Do we need any of this stuff here?
+ //this.termFrequencyST = new ScoreType("termFrequency");
+ //this.scoreTypes.add(termFrequencyST);
+ //this.localDocFrequencyST = new ScoreType("localDocFrequency");
+ //this.scoreTypes.add(localDocFrequencyST);
+ }
+
+
/***** CREOLE PARAMETERS *****/
@CreoleParameter(comment = "annotation feature containing the score to
index",
Modified:
gate/trunk/plugins/TermRaider/src/gate/termraider/bank/DocumentFrequencyBank.java
===================================================================
---
gate/trunk/plugins/TermRaider/src/gate/termraider/bank/DocumentFrequencyBank.java
2014-02-26 14:47:17 UTC (rev 17435)
+++
gate/trunk/plugins/TermRaider/src/gate/termraider/bank/DocumentFrequencyBank.java
2014-02-26 14:52:59 UTC (rev 17436)
@@ -13,11 +13,8 @@
import java.io.File;
import java.util.*;
-
import javax.swing.Action;
-
import org.apache.commons.lang.StringEscapeUtils;
-
import gate.Annotation;
import gate.AnnotationSet;
import gate.Corpus;
@@ -43,9 +40,7 @@
private Set<DocumentFrequencyBank> inputBanks;
- private boolean debugMode;
- protected String inputASName;
- protected Set<String> inputAnnotationTypes;
+ // note: corpora inherited from AbstractBank
private int documentTotal;
private Map<Term, Integer> documentFrequencies;
@@ -268,40 +263,6 @@
}
- @CreoleParameter(comment = "print debugging information during
initialization",
- defaultValue = "false")
- public void setDebugMode(Boolean debug) {
- this.debugMode = debug;
- }
-
- public Boolean getDebugMode() {
- return this.debugMode;
- }
-
-
- @CreoleParameter(comment = "input AS name",
- defaultValue = "")
- public void setInputASName(String name) {
- this.inputASName = name;
- }
- public String getInputASName() {
- return this.inputASName;
- }
-
-
- @CreoleParameter(comment = "input annotation types",
- defaultValue = "SingleWord;MultiWord")
- public void setInputAnnotationTypes(Set<String> names) {
- this.inputAnnotationTypes = names;
- }
-
- public Set<String> getInputAnnotationTypes() {
- return this.inputAnnotationTypes;
- }
-
-
-
-
private void increment(Term term, int i) {
int count = i;
if (documentFrequencies.containsKey(term)) {
@@ -332,8 +293,23 @@
public int getTotalDocs() {
return this.documentTotal;
}
+
+ protected void initializeScoreTypes() {
+ // Whatever this is called, it must be the reference
+ // document frequency, so we will only meed
+ // getDefaultScoreType()
+ this.scoreTypes = new ArrayList<ScoreType>();
+ this.scoreTypes.add(new ScoreType(scoreProperty));
+ }
+
+ @CreoleParameter(comment = "name of main score",
+ defaultValue = "documentFrequency")
+ public void setScoreProperty(String name) {
+ this.scoreProperty = name;
+ }
+
public String getCsvLine(Term term) {
StringBuilder sb = new StringBuilder();
sb.append(StringEscapeUtils.escapeCsv(term.getTermString()));
Modified:
gate/trunk/plugins/TermRaider/src/gate/termraider/bank/HyponymyTermbank.java
===================================================================
---
gate/trunk/plugins/TermRaider/src/gate/termraider/bank/HyponymyTermbank.java
2014-02-26 14:47:17 UTC (rev 17435)
+++
gate/trunk/plugins/TermRaider/src/gate/termraider/bank/HyponymyTermbank.java
2014-02-26 14:52:59 UTC (rev 17436)
@@ -168,6 +168,20 @@
}
+ protected void initializeScoreTypes() {
+ this.scoreTypes = new ArrayList<ScoreType>();
+ this.scoreTypes.add(new ScoreType(scoreProperty));
+ // TODO this TB needs a whole different kettle of fish
+ //this.termFrequencyST = new ScoreType("termFrequency");
+ //this.scoreTypes.add(termFrequencyST);
+ //this.localDocFrequencyST = new ScoreType("localDocFrequency");
+ //this.scoreTypes.add(localDocFrequencyST);
+ //this.refDocFrequencyST = new ScoreType("refDocFrequency");
+ //this.scoreTypes.add(refDocFrequencyST);
+ }
+
+
+
public String getCsvHeader() {
StringBuilder sb = new StringBuilder();
sb.append(StringEscapeUtils.escapeCsv("Term"));
Modified:
gate/trunk/plugins/TermRaider/src/gate/termraider/bank/TfIdfTermbank.java
===================================================================
--- gate/trunk/plugins/TermRaider/src/gate/termraider/bank/TfIdfTermbank.java
2014-02-26 14:47:17 UTC (rev 17435)
+++ gate/trunk/plugins/TermRaider/src/gate/termraider/bank/TfIdfTermbank.java
2014-02-26 14:52:59 UTC (rev 17436)
@@ -18,9 +18,7 @@
import gate.termraider.bank.modes.IdfCalculation;
import gate.termraider.bank.modes.TfCalculation;
import gate.termraider.util.*;
-
import java.util.*;
-
import org.apache.commons.lang.StringEscapeUtils;
@@ -41,6 +39,7 @@
/* EXTRA DATA */
private int documentCount;
+ private ScoreType termFrequencyST, localDocFrequencyST, refDocFrequencyST;
protected void processDocument(Document document) {
@@ -64,6 +63,18 @@
}
+ protected void initializeScoreTypes() {
+ this.scoreTypes = new ArrayList<ScoreType>();
+ this.scoreTypes.add(new ScoreType(scoreProperty));
+ this.termFrequencyST = new ScoreType("termFrequency");
+ this.scoreTypes.add(termFrequencyST);
+ this.localDocFrequencyST = new ScoreType("localDocFrequency");
+ this.scoreTypes.add(localDocFrequencyST);
+ this.refDocFrequencyST = new ScoreType("refDocFrequency");
+ this.scoreTypes.add(refDocFrequencyST);
+ }
+
+
public int getRefDocFrequency(Term term) {
return this.docFreqSource.getDocFrequency(term);
}
Added:
gate/trunk/plugins/TermRaider/src/gate/termraider/gui/TermbankTableModel.java
===================================================================
---
gate/trunk/plugins/TermRaider/src/gate/termraider/gui/TermbankTableModel.java
(rev 0)
+++
gate/trunk/plugins/TermRaider/src/gate/termraider/gui/TermbankTableModel.java
2014-02-26 14:52:59 UTC (rev 17436)
@@ -0,0 +1,77 @@
+/*
+ * Copyright (c) 2010--2014, The University of Sheffield. See the file
+ * COPYRIGHT.txt in the software or at http://gate.ac.uk/gate/COPYRIGHT.txt
+ *
+ * This file is part of GATE (see http://gate.ac.uk/), and is free
+ * software, licenced under the GNU Library General Public License,
+ * Version 2, June 1991 (in the distribution as file licence.html,
+ * and also available at http://gate.ac.uk/gate/licence.html).
+ *
+ * $Id$
+ */
+package gate.termraider.gui;
+
+import gate.termraider.bank.AbstractTermbank;
+import gate.termraider.util.*;
+import java.util.*;
+import javax.swing.table.AbstractTableModel;
+
+public class TermbankTableModel extends AbstractTableModel {
+ private static final long serialVersionUID = 3477026307772675813L;
+
+ private List<Term> terms;
+ private AbstractTermbank termbank;
+ private List<ScoreType> scoreTypes;
+
+
+ public TermbankTableModel(AbstractTermbank termbank) {
+ this.termbank = termbank;
+ this.terms = new ArrayList<Term>(termbank.getTerms());
+ // Is this necessary? The table will have autosort wedges
+ Collections.sort(this.terms, new TermComparator());
+ this.scoreTypes = termbank.getScoreTypes();
+ }
+
+
+ public int getColumnCount() {
+ // 1 column for the Term itself
+ return this.scoreTypes.size() + 1;
+ }
+
+
+ public int getRowCount() {
+ return this.terms.size();
+ }
+
+
+ public Object getValueAt(int row, int col) {
+ Term term = this.terms.get(row);
+ if (col == 0) {
+ return term.toString();
+ }
+
+ // Implied else: look the score up;
+ // remember that the scoreType index is off by 1 from the column
+ ScoreType type = scoreTypes.get(col - 1);
+ return this.termbank.getScore(type, term);
+ }
+
+
+ public Class<?> getColumnClass(int col) {
+ if (col == 0) {
+ return String.class;
+ }
+ // implied else
+ return Number.class;
+ }
+
+
+ public String getColumnName(int col) {
+ if (col == 0) {
+ return "term";
+ }
+
+ return this.scoreTypes.get(col - 1).toString();
+ }
+
+}
Property changes on:
gate/trunk/plugins/TermRaider/src/gate/termraider/gui/TermbankTableModel.java
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified:
gate/trunk/plugins/TermRaider/src/gate/termraider/util/AbstractBank.java
===================================================================
--- gate/trunk/plugins/TermRaider/src/gate/termraider/util/AbstractBank.java
2014-02-26 14:47:17 UTC (rev 17435)
+++ gate/trunk/plugins/TermRaider/src/gate/termraider/util/AbstractBank.java
2014-02-26 14:52:59 UTC (rev 17436)
@@ -81,7 +81,7 @@
/* Default value is overridden in the implementations */
- @CreoleParameter(comment = "name of score property",
+ @CreoleParameter(comment = "name of main score",
defaultValue = "score")
public void setScoreProperty(String name) {
this.scoreProperty = name;
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
------------------------------------------------------------------------------
Flow-based real-time traffic analytics software. Cisco certified tool.
Monitor traffic, SLAs, QoS, Medianet, WAAS etc. with NetFlow Analyzer
Customize your own dashboards, set traffic alerts and generate reports.
Network behavioral analysis & security monitoring. All-in-one tool.
http://pubads.g.doubleclick.net/gampad/clk?id=126839071&iu=/4140/ostg.clktrk
_______________________________________________
GATE-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/gate-cvs