Source code: marf/Stats/StatisticalEstimators/IStatisticalEstimator.java
1 package marf.Stats.StatisticalEstimators;
2
3 import marf.Stats.ProbabilityTable;
4 import marf.nlp.util.NLPStreamTokenizer;
5
6
7 /**
8 * <p>Implements generic Statistical Estimator routines.
9 * Must be subclasses by concrete implemenations of statistical estimators.</p>
10 *
11 * $Id: IStatisticalEstimator.java,v 1.1 2005/06/12 23:09:37 mokhov Exp $
12 *
13 * @author Serguei Mokhov
14 * @version $Revision: 1.1 $
15 * @since 0.3.0
16 */
17 public interface IStatisticalEstimator
18 {
19 /**
20 * Interface source code revision.
21 */
22 String MARF_INTERFACE_CODE_REVISION = "$Revision: 1.1 $";
23
24 /**
25 * Classification.
26 * @return calculated probability value
27 */
28 double p();
29
30 /**
31 * Every estimator needs to implement its specific training method.
32 * @return <code>true</code> if training was successful
33 */
34 boolean train();
35
36 /**
37 * Sets desired StreamTokenizer.
38 * @param poStreamTokenizer StreamTokenizer or a derivative to use for tokens
39 * @see marf.nlp.util.NLPStreamTokenizer
40 */
41 void setStreamTokenizer(NLPStreamTokenizer poStreamTokenizer);
42
43 /**
44 * Retrieves current StreamTokenizer.
45 * @return oStreamTokenizer beeing used
46 */
47 NLPStreamTokenizer getStreamTokenizer();
48
49 /**
50 * Retrieves current ProbabilityTable.
51 * @return oStreamTokenizer beeing used
52 * @see ProbabilityTable
53 */
54 ProbabilityTable getProbabilityTable();
55
56 /**
57 * Allows altering current language being processed.
58 * @param pstrLang desired language
59 */
60 void setLanguage(String pstrLang);
61
62 /**
63 * Retrieves current language.
64 * @return language name of language being processed
65 */
66 String getLanguage();
67 }
68
69 // EOF