Revision: 17477
http://sourceforge.net/p/gate/code/17477
Author: adamfunk
Date: 2014-02-27 15:43:08 +0000 (Thu, 27 Feb 2014)
Log Message:
-----------
app runs again; still working on GUI
Modified Paths:
--------------
gate/branches/termraider-refactoring/plugins/TermRaider/src/gate/termraider/bank/AbstractTermbank.java
gate/branches/termraider-refactoring/plugins/TermRaider/src/gate/termraider/bank/DocumentFrequencyBank.java
gate/branches/termraider-refactoring/plugins/TermRaider/src/gate/termraider/bank/TfIdfTermbank.java
gate/branches/termraider-refactoring/plugins/TermRaider/src/gate/termraider/gui/HyponymyDebugger.java
gate/branches/termraider-refactoring/plugins/TermRaider/src/gate/termraider/gui/TermbankViewer.java
Modified:
gate/branches/termraider-refactoring/plugins/TermRaider/src/gate/termraider/bank/AbstractTermbank.java
===================================================================
---
gate/branches/termraider-refactoring/plugins/TermRaider/src/gate/termraider/bank/AbstractTermbank.java
2014-02-27 15:23:36 UTC (rev 17476)
+++
gate/branches/termraider-refactoring/plugins/TermRaider/src/gate/termraider/bank/AbstractTermbank.java
2014-02-27 15:43:08 UTC (rev 17477)
@@ -40,12 +40,6 @@
protected Map<Term, Set<String>> termDocuments;
public static final String RAW_SUFFIX = ".raw";
- // TODO get rid of this in favour of the default key of scores
- @Deprecated
- protected Map<Term, Double> termScores;
- @Deprecated
- protected Map<Term, Integer> termFrequencies, docFrequencies;
-
private List<Term> termsByDescendingScore;
protected boolean descendingScoresDone = false;
@@ -64,7 +58,7 @@
resetScores();
processCorpora();
calculateScores();
- scanTypesLanguagesDocFreq();
+ scanTypesLanguages();
return this;
}
@@ -80,9 +74,9 @@
public Number getScore(ScoreType type, Term term) {
- Map<Term, Number> mainScores = this.getScores();
- if (mainScores.containsKey(term)) {
- return mainScores.get(term);
+ Map<Term, Number> ss = this.getScores(type);
+ if (ss.containsKey(term)) {
+ return ss.get(term);
}
// implied else
@@ -91,8 +85,7 @@
public Collection<Term> getTerms() {
- Map<Term, Number> mainScores = this.getScores();
- return mainScores.keySet();
+ return this.getDefaultScores().keySet();
}
@@ -120,12 +113,6 @@
}
- @Deprecated
- public Map<Term, Double> getTermScores() {
- return this.termScores;
- }
-
-
public Map<Term, Set<String>> getTermDocuments() {
return this.termDocuments;
}
@@ -140,6 +127,11 @@
}
+ public Map<Term, Number> getScores(ScoreType st) {
+ return this.scores.get(st);
+ }
+
+
public Set<String> getDocumentsForTerm(Term term) {
if (this.termDocuments.containsKey(term)) {
return this.termDocuments.get(term);
@@ -149,24 +141,7 @@
return new HashSet<String>();
}
- // TODO delete when FrequencyTableModel is superseded
- @Deprecated
- public Map<Term, Integer> getTermFrequencies() {
- return this.termFrequencies;
- }
- // TODO delete when FrequencyTableModel is superseded
- @Deprecated
- public Map<Term, Integer> getDocFrequencies() {
- return this.docFrequencies;
- }
-
-
- public Map<Term, Number> getScores() {
- return this.scores.get(this.getDefaultScoreType());
- }
-
-
private void findMinAndMaxDefaultScores() {
Collection<Number> values = this.getDefaultScores().values();
if (values.isEmpty()) {
@@ -245,7 +220,7 @@
}
- protected void scanTypesLanguagesDocFreq() {
+ protected void scanTypesLanguages() {
this.types = new TreeSet<String>();
this.languages = new TreeSet<String>();
for (Term term : this.getDefaultScores().keySet()) {
@@ -264,18 +239,6 @@
protected abstract void calculateScores();
- // TODO: change to use getMainScores()
- @Deprecated
- public Double getScore(Term term) {
- if (termScores.containsKey(term)) {
- return termScores.get(term).doubleValue();
- }
-
- // error code
- return null;
- }
-
-
/* Methods for saving as CSV */
public void saveAsCsv(Number threshold, File outputFile) throws
GateException {
@@ -303,26 +266,6 @@
}
- @Deprecated
- public int getTermFrequency(Term term) {
- if (termFrequencies.containsKey(term)) {
- return termFrequencies.get(term);
- }
- // implied else
- return 0;
- }
-
-
- @Deprecated
- public int getDocFrequency(Term term) {
- if (docFrequencies.containsKey(term)) {
- return docFrequencies.get(term);
- }
- // implied else
- return 0;
- }
-
-
public String getCsvHeader() {
StringBuilder sb = new StringBuilder();
sb.append(StringEscapeUtils.escapeCsv("Term"));
Modified:
gate/branches/termraider-refactoring/plugins/TermRaider/src/gate/termraider/bank/DocumentFrequencyBank.java
===================================================================
---
gate/branches/termraider-refactoring/plugins/TermRaider/src/gate/termraider/bank/DocumentFrequencyBank.java
2014-02-27 15:23:36 UTC (rev 17476)
+++
gate/branches/termraider-refactoring/plugins/TermRaider/src/gate/termraider/bank/DocumentFrequencyBank.java
2014-02-27 15:43:08 UTC (rev 17477)
@@ -52,7 +52,7 @@
processInputBanks();
processCorpora();
calculateScores();
- scanTypesLanguagesDocFreq();
+ scanTypesLanguages();
return this;
}
@@ -82,6 +82,7 @@
languages = new HashSet<String>();
types = new HashSet<String>();
stringLookupTable = new HashMap<String, Set<Term>>();
+ termDocuments = new HashMap<Term, Set<String>>();
}
@@ -127,6 +128,7 @@
protected void processDocument(Document document) {
documentCount++;
+ String documentSource = Utilities.sourceOrName(document);
AnnotationSet candidates =
document.getAnnotations(inputASName).get(inputAnnotationTypes);
Set<Term> documentTerms = new HashSet<Term>();
@@ -135,22 +137,22 @@
}
for (Term term : documentTerms) {
- Utilities.incrementMap(getDefaultScores(), term, 1);
+ Utilities.addToMapSet(termDocuments, term, documentSource);
}
}
protected void calculateScores() {
- // TODO use the termDocuments mapping here
-
for (Term term : this.getTerms()) {
this.types.add(term.getType());
this.languages.add(term.getLanguageCode());
+ int df = termDocuments.get(term).size();
+ Utilities.setScoreTermValue(scores, getDefaultScoreType(), term, df);
storeStringLookup(term);
}
if (debugMode) {
- System.out.println("Termbank: nbr of terms = " + termDocuments.size());
+ System.out.println("Termbank: nbr of terms = " + this.getTerms().size());
}
}
@@ -184,13 +186,6 @@
}
- @Override
- public int getDocFrequency(Term term) {
- return getFrequencyLax(term);
- }
-
-
-
@CreoleParameter(comment = "Other DFBs to compile into the new one")
public void setInputBanks(Set<DocumentFrequencyBank> inputBanks) {
this.inputBanks = inputBanks;
@@ -242,19 +237,6 @@
}
- public String getCsvLine(Term term) {
- StringBuilder sb = new StringBuilder();
- sb.append(StringEscapeUtils.escapeCsv(term.getTermString()));
- sb.append(',');
- sb.append(StringEscapeUtils.escapeCsv(term.getLanguageCode()));
- sb.append(',');
- sb.append(StringEscapeUtils.escapeCsv(term.getType()));
- sb.append(',');
-
sb.append(StringEscapeUtils.escapeCsv(Integer.toString(this.getDocFrequency(term))));
- return sb.toString();
- }
-
-
public String getCsvSubheader() {
StringBuilder sb = new StringBuilder();
sb.append('\n');
Modified:
gate/branches/termraider-refactoring/plugins/TermRaider/src/gate/termraider/bank/TfIdfTermbank.java
===================================================================
---
gate/branches/termraider-refactoring/plugins/TermRaider/src/gate/termraider/bank/TfIdfTermbank.java
2014-02-27 15:23:36 UTC (rev 17476)
+++
gate/branches/termraider-refactoring/plugins/TermRaider/src/gate/termraider/bank/TfIdfTermbank.java
2014-02-27 15:43:08 UTC (rev 17477)
@@ -67,15 +67,10 @@
}
- public int getRefDocFrequency(Term term) {
- return this.docFreqSource.getDocFrequency(term);
- }
-
-
protected void calculateScores() {
for (Term term : scores.get(termFrequencyST).keySet()) {
int tf = scores.get(termFrequencyST).get(term).intValue();
- int df = getRefDocFrequency(term);
+ int df = docFreqSource.getFrequencyLax(term);
Utilities.setScoreTermValue(scores, refDocFrequencyST, term, df);
int localDF = this.termDocuments.get(term).size();
Utilities.setScoreTermValue(scores, localDocFrequencyST, term, localDF);
@@ -92,11 +87,8 @@
}
- // TODO termFrequency incrementation may have been lost in the refactoring
-
protected void resetScores() {
termDocuments = new HashMap<Term, Set<String>>();
- termFrequencies = new HashMap<Term, Integer>();
documentCount = 0;
scores = new HashMap<ScoreType, Map<Term,Number>>();
}
Modified:
gate/branches/termraider-refactoring/plugins/TermRaider/src/gate/termraider/gui/HyponymyDebugger.java
===================================================================
---
gate/branches/termraider-refactoring/plugins/TermRaider/src/gate/termraider/gui/HyponymyDebugger.java
2014-02-27 15:23:36 UTC (rev 17476)
+++
gate/branches/termraider-refactoring/plugins/TermRaider/src/gate/termraider/gui/HyponymyDebugger.java
2014-02-27 15:43:08 UTC (rev 17477)
@@ -126,7 +126,7 @@
result = term.toString();
break;
case 1:
- result = Double.toString(termbank.getScore(term));
+ result = termbank.getDefaultScores().get(term).toString();
break;
case 2:
result = Integer.toString(termDocuments.get(term).size());
Modified:
gate/branches/termraider-refactoring/plugins/TermRaider/src/gate/termraider/gui/TermbankViewer.java
===================================================================
---
gate/branches/termraider-refactoring/plugins/TermRaider/src/gate/termraider/gui/TermbankViewer.java
2014-02-27 15:23:36 UTC (rev 17476)
+++
gate/branches/termraider-refactoring/plugins/TermRaider/src/gate/termraider/gui/TermbankViewer.java
2014-02-27 15:43:08 UTC (rev 17477)
@@ -48,7 +48,6 @@
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
import javax.swing.filechooser.FileNameExtensionFilter;
-import javax.swing.table.AbstractTableModel;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.DefaultTreeModel;
import org.xhtmlrenderer.simple.XHTMLPanel;
@@ -75,8 +74,9 @@
private TermbankTableModel termbankTableModel;
private XHTMLPanel termCloud = new XHTMLPanel();
- private JComboBox cloudType = new JComboBox(new String[]{"Term Score", "Term
Frequency", "Document Frequency"});
+ private JComboBox cloudType;
private JSlider cloudSize = new JSlider();
+ private List<ScoreType> scoreTypes;
private CloudGenerator cloudGenerator = null;
private ColorMenu fontColorMenu, backgroundColorMenu;
@@ -159,36 +159,8 @@
cloudBar.setFloatable(false);
JButton btnExport = new JButton(MainFrame.getIcon("Download"));
- cloudType.addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent arg0) {
- Map<Term, ? extends Number> freq = null;
- switch (cloudType.getSelectedIndex()) {
- case 0:
- freq = termbank.getTermScores();
- break;
- case 1:
- freq = termbank.getTermFrequencies();
- break;
- case 2:
- freq = termbank.getDocFrequencies();
- }
-
- cloudGenerator.setTerms(freq);
- displayCloud();
- }
- });
+ cloudType = new JComboBox();
- cloudSize.addChangeListener(new ChangeListener() {
-
- @Override
- public void stateChanged(ChangeEvent ce) {
- if (!cloudSize.getValueIsAdjusting()) {
- displayCloud();
- }
- }
- });
-
Hashtable<Integer, JLabel> labelTable = new Hashtable<Integer,JLabel>();
labelTable.put(0, new JLabel(MainFrame.getIcon("Sunny")));
labelTable.put(50, new JLabel(MainFrame.getIcon("Cloudy")));
@@ -328,28 +300,38 @@
}
Map<Term, ? extends Number> freq = null;
- switch (cloudType.getSelectedIndex()) {
- case 0:
- freq = termbank.getTermScores();
- break;
- case 1:
- freq = termbank.getTermFrequencies();
- break;
- case 2:
- freq = termbank.getDocFrequencies();
+ scoreTypes = termbank.getScoreTypes();
+ freq = termbank.getScores(scoreTypes.get(cloudType.getSelectedIndex()));
+ menuLanguageButton.setEnabled(termbank.getLanguages().size() > 1);
+
+ for (ScoreType st : scoreTypes) {
+ cloudType.addItem(st);
}
- menuLanguageButton.setEnabled(termbank.getLanguages().size() > 1);
+ cloudType.addActionListener(new ActionListener() {
+ @Override
+ public void actionPerformed(ActionEvent arg0) {
+ Map<Term, ? extends Number> freq = null;
+ freq =
termbank.getScores(scoreTypes.get(cloudType.getSelectedIndex()));
+ cloudGenerator.setTerms(freq);
+ displayCloud();
+ }
+ });
+
+ cloudSize.addChangeListener(new ChangeListener() {
+ @Override
+ public void stateChanged(ChangeEvent ce) {
+ if (!cloudSize.getValueIsAdjusting()) {
+ displayCloud();
+ }
+ }
+ });
ActionListener languageChanger = new ActionListener() {
-
@Override
public void actionPerformed(ActionEvent e) {
-
JCheckBoxMenuItem cb = (JCheckBoxMenuItem)e.getSource();
-
cloudGenerator.includeLanguage(cb.getText(), cb.isSelected());
-
displayCloud();
}
};
@@ -367,14 +349,10 @@
menuTypesButton.setEnabled(termbank.getTypes().size() > 1);
ActionListener typesChanger = new ActionListener() {
-
@Override
public void actionPerformed(ActionEvent e) {
-
JCheckBoxMenuItem cb = (JCheckBoxMenuItem)e.getSource();
-
cloudGenerator.includeTermType(cb.getText(), cb.isSelected());
-
displayCloud();
}
};
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