Skip to content

Commit 2690b88

Browse files
authored
OPENNLP-1694: Enhance JavaDoc in util.featuregen package (#739)
1 parent d3921d6 commit 2690b88

File tree

50 files changed

+266
-61
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

50 files changed

+266
-61
lines changed

opennlp-tools/src/main/java/opennlp/tools/util/featuregen/AdditionalContextFeatureGenerator.java

-1
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@ public class AdditionalContextFeatureGenerator implements AdaptiveFeatureGenerat
3434
public void createFeatures(List<String> features, String[] tokens, int index, String[] preds) {
3535

3636
if (additionalContext != null && additionalContext.length != 0) {
37-
3837
String[] context = additionalContext[index];
3938

4039
for (String s : context) {

opennlp-tools/src/main/java/opennlp/tools/util/featuregen/AggregatedFeatureGenerator.java

+14-10
Original file line numberDiff line numberDiff line change
@@ -25,16 +25,17 @@
2525

2626
/**
2727
* The {@link AggregatedFeatureGenerator} aggregates a set of
28-
* {@link AdaptiveFeatureGenerator}s and calls them to generate the features.
28+
* {@link AdaptiveFeatureGenerator feature generators} and calls them
29+
* to generate the features.
2930
*/
3031
public class AggregatedFeatureGenerator implements AdaptiveFeatureGenerator {
3132

3233
private Collection<AdaptiveFeatureGenerator> generators;
3334

3435
/**
35-
* Initializes the current instance.
36+
* Initializes an {@link AggregatedFeatureGenerator} via specified {@code generators}.
3637
*
37-
* @param generators array of generators, null values are not permitted
38+
* @param generators A collection of generators, {@code null} values are not permitted.
3839
*/
3940
public AggregatedFeatureGenerator(AdaptiveFeatureGenerator... generators) {
4041

@@ -49,25 +50,29 @@ public AggregatedFeatureGenerator(AdaptiveFeatureGenerator... generators) {
4950
this.generators = Collections.unmodifiableCollection(this.generators);
5051
}
5152

53+
/**
54+
* Initializes an {@link AggregatedFeatureGenerator} via specified {@code generators}.
55+
*
56+
* @param generators A collection of generators, {@code null} values are not permitted.
57+
*/
5258
public AggregatedFeatureGenerator(Collection<AdaptiveFeatureGenerator> generators) {
5359
this(generators.toArray(new AdaptiveFeatureGenerator[0]));
5460
}
5561

5662
/**
5763
* Calls the {@link AdaptiveFeatureGenerator#clearAdaptiveData()} method
58-
* on all aggregated {@link AdaptiveFeatureGenerator}s.
64+
* on all aggregated {@link AdaptiveFeatureGenerator feature generators}.
5965
*/
6066
@Override
6167
public void clearAdaptiveData() {
62-
6368
for (AdaptiveFeatureGenerator generator : generators) {
6469
generator.clearAdaptiveData();
6570
}
6671
}
6772

6873
/**
6974
* Calls the {@link AdaptiveFeatureGenerator#createFeatures(List, String[], int, String[])}
70-
* method on all aggregated {@link AdaptiveFeatureGenerator}s.
75+
* method on all aggregated {@link AdaptiveFeatureGenerator feature generators}.
7176
*/
7277
@Override
7378
public void createFeatures(List<String> features, String[] tokens, int index,
@@ -80,20 +85,19 @@ public void createFeatures(List<String> features, String[] tokens, int index,
8085

8186
/**
8287
* Calls the {@link AdaptiveFeatureGenerator#updateAdaptiveData(String[], String[])}
83-
* method on all aggregated {@link AdaptiveFeatureGenerator}s.
88+
* method on all aggregated {@link AdaptiveFeatureGenerator feature generators}.
8489
*/
8590
public void updateAdaptiveData(String[] tokens, String[] outcomes) {
86-
8791
for (AdaptiveFeatureGenerator generator : generators) {
8892
generator.updateAdaptiveData(tokens, outcomes);
8993
}
9094
}
9195

9296
/**
9397
* Retrieves a {@link Collections} of all aggregated
94-
* {@link AdaptiveFeatureGenerator}s.
98+
* {@link AdaptiveFeatureGenerator feature generators}.
9599
*
96-
* @return all aggregated generators
100+
* @return All aggregated generators in use.
97101
*/
98102
public Collection<AdaptiveFeatureGenerator> getGenerators() {
99103
return generators;

opennlp-tools/src/main/java/opennlp/tools/util/featuregen/AggregatedFeatureGeneratorFactory.java

+3
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,9 @@
2424
import opennlp.tools.util.InvalidFormatException;
2525

2626
/**
27+
* A {@link GeneratorFactory} that produces {@link AggregatedFeatureGenerator} instances
28+
* when {@link #create()} is called.
29+
*
2730
* @see AggregatedFeatureGenerator
2831
*/
2932
public class AggregatedFeatureGeneratorFactory

opennlp-tools/src/main/java/opennlp/tools/util/featuregen/BigramNameFeatureGenerator.java

+5
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,11 @@
1919

2020
import java.util.List;
2121

22+
/**
23+
* Adds bigram features based on tokens and token classes.
24+
*
25+
* @see AdaptiveFeatureGenerator
26+
*/
2227
public class BigramNameFeatureGenerator implements AdaptiveFeatureGenerator {
2328

2429
@Override

opennlp-tools/src/main/java/opennlp/tools/util/featuregen/BigramNameFeatureGeneratorFactory.java

+6
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,12 @@
1919

2020
import opennlp.tools.util.InvalidFormatException;
2121

22+
/**
23+
* A {@link GeneratorFactory} that produces {@link BigramNameFeatureGenerator} instances
24+
* when {@link #create()} is called.
25+
*
26+
* @see BigramNameFeatureGenerator
27+
*/
2228
public class BigramNameFeatureGeneratorFactory
2329
extends GeneratorFactory.AbstractXmlFeatureGeneratorFactory {
2430

opennlp-tools/src/main/java/opennlp/tools/util/featuregen/BrownBigramFeatureGenerator.java

+7-2
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,9 @@
2121

2222
/**
2323
* Generates Brown cluster features for token bigrams.
24+
*
25+
* @see AdaptiveFeatureGenerator
26+
* @see BrownCluster
2427
*/
2528
public class BrownBigramFeatureGenerator implements AdaptiveFeatureGenerator {
2629

@@ -31,8 +34,10 @@ public class BrownBigramFeatureGenerator implements AdaptiveFeatureGenerator {
3134
private final BrownCluster brownCluster;
3235

3336
/**
34-
* Creates a new Brown Cluster bigram feature generator.
35-
* @param brownCluster A {@link BrownCluster}.
37+
* Initializes a {@link BrownBigramFeatureGenerator} generator via a specified
38+
* {@link BrownCluster}.
39+
*
40+
* @param brownCluster The token {@link BrownCluster dictionary} to use.
3641
*/
3742
public BrownBigramFeatureGenerator(BrownCluster brownCluster) {
3843
this.brownCluster = brownCluster;

opennlp-tools/src/main/java/opennlp/tools/util/featuregen/BrownCluster.java

+4-5
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,7 @@
3434
import opennlp.tools.util.model.SerializableArtifact;
3535

3636
/**
37-
*
38-
* Class to load a Brown cluster document: word\tword_class\tprob
37+
* Class to load a Brown cluster document in the format: {@code word\tword_class\tprob}.
3938
* <p>
4039
* Originally available at: <a href="http://metaoptimize.com/projects/wordreprs/">
4140
* http://metaoptimize.com/projects/wordreprs/</a>.
@@ -69,8 +68,8 @@ public void serialize(BrownCluster artifact, OutputStream out)
6968
/**
7069
* Instatiates a {@link BrownCluster} and its related token to cluster map
7170
* via an {@link InputStream}.
72-
* <p>
73-
* <b>Note:</b>
71+
*
72+
* @implNote
7473
* Only tokens with frequency bigger than {@code 5} will be added.
7574
*
7675
* @param in A valid, open {@link InputStream} to read from.
@@ -101,7 +100,7 @@ else if (lineArray.length == 2) {
101100
* Check if a token is in the Brown:paths, token map.
102101
*
103102
* @param string the token to look-up
104-
* @return the brown class if such token is in the brown cluster map
103+
* @return the brown class if such token is in the brown cluster map.
105104
*/
106105
public String lookupToken(String string) {
107106
return tokenToClusterMap.get(string);

opennlp-tools/src/main/java/opennlp/tools/util/featuregen/BrownClusterBigramFeatureGeneratorFactory.java

+4-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,10 @@
2424
import opennlp.tools.util.model.ArtifactSerializer;
2525

2626
/**
27-
* Generates Brown clustering features for token bigrams.
27+
* A {@link GeneratorFactory} that produces {@link BrownBigramFeatureGenerator} instances
28+
* when {@link #create()} is called.
29+
*
30+
* @see BrownBigramFeatureGenerator
2831
*/
2932
public class BrownClusterBigramFeatureGeneratorFactory
3033
extends GeneratorFactory.AbstractXmlFeatureGeneratorFactory {

opennlp-tools/src/main/java/opennlp/tools/util/featuregen/BrownClusterTokenClassFeatureGeneratorFactory.java

+4-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,10 @@
2424
import opennlp.tools.util.model.ArtifactSerializer;
2525

2626
/**
27-
* Generates Brown clustering features for token classes.
27+
* A {@link GeneratorFactory} that produces {@link BrownTokenClassFeatureGenerator} instances
28+
* when {@link #create()} is called.
29+
*
30+
* @see BrownTokenClassFeatureGenerator
2831
*/
2932
public class BrownClusterTokenClassFeatureGeneratorFactory
3033
extends GeneratorFactory.AbstractXmlFeatureGeneratorFactory {

opennlp-tools/src/main/java/opennlp/tools/util/featuregen/BrownClusterTokenFeatureGeneratorFactory.java

+4-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,10 @@
2424
import opennlp.tools.util.model.ArtifactSerializer;
2525

2626
/**
27-
* Generates Brown clustering features for current token.
27+
* A {@link GeneratorFactory} that produces {@link BrownTokenFeatureGenerator} instances
28+
* when {@link #create()} is called.
29+
*
30+
* @see BrownTokenFeatureGenerator
2831
*/
2932
public class BrownClusterTokenFeatureGeneratorFactory
3033
extends GeneratorFactory.AbstractXmlFeatureGeneratorFactory {

opennlp-tools/src/main/java/opennlp/tools/util/featuregen/BrownTokenClassFeatureGenerator.java

+6-1
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,14 @@
2121

2222
/**
2323
* Generates {@link BrownCluster} features for current token and token class.
24+
*
25+
* @see AdaptiveFeatureGenerator
26+
* @see BrownCluster
2427
*/
2528
public class BrownTokenClassFeatureGenerator implements AdaptiveFeatureGenerator {
2629

30+
private static final String PREFIX = "c,browncluster=";
31+
2732
private final BrownCluster brownLexicon;
2833

2934
/**
@@ -44,7 +49,7 @@ public void createFeatures(List<String> features, String[] tokens, int index,
4449
List<String> wordClasses = BrownTokenClasses.getWordClasses(tokens[index], brownLexicon);
4550

4651
for (String wordClass : wordClasses) {
47-
features.add("c," + "browncluster" + "=" + wordShape + "," + wordClass);
52+
features.add(PREFIX + wordShape + "," + wordClass);
4853
}
4954
}
5055

opennlp-tools/src/main/java/opennlp/tools/util/featuregen/BrownTokenClasses.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,9 @@ public class BrownTokenClasses {
3535
* It provides a list containing the pathLengths for a token if found
3636
* in the Map:token,BrownClass.
3737
*
38-
* @param token the token to be looked up in the brown clustering map
39-
* @param brownLexicon the Brown clustering map
40-
* @return the list of the paths for a token
38+
* @param token The token to be looked up in the brown clustering map
39+
* @param brownLexicon The {@link BrownCluster} clustering map
40+
* @return A list of the paths for a token.
4141
*/
4242
public static List<String> getWordClasses(String token, BrownCluster brownLexicon) {
4343
if (brownLexicon.lookupToken(token) == null) {

opennlp-tools/src/main/java/opennlp/tools/util/featuregen/BrownTokenFeatureGenerator.java

+12-1
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,22 @@
2121

2222
/**
2323
* Generates {@link BrownCluster} features for current token.
24+
*
25+
* @see AdaptiveFeatureGenerator
26+
* @see BrownCluster
2427
*/
2528
public class BrownTokenFeatureGenerator implements AdaptiveFeatureGenerator {
2629

30+
private static final String PREFIX = "browncluster=";
31+
2732
private final BrownCluster brownLexicon;
2833

34+
/**
35+
* Instantiates a {@link BrownTokenFeatureGenerator} via a specified
36+
* {@link BrownCluster}.
37+
*
38+
* @param dict The token {@link BrownCluster dictionary} to use.
39+
*/
2940
public BrownTokenFeatureGenerator(BrownCluster dict) {
3041
this.brownLexicon = dict;
3142
}
@@ -37,7 +48,7 @@ public void createFeatures(List<String> features, String[] tokens, int index,
3748
List<String> wordClasses = BrownTokenClasses.getWordClasses(tokens[index], brownLexicon);
3849

3950
for (String wordClass : wordClasses) {
40-
features.add("browncluster" + "=" + wordClass);
51+
features.add(PREFIX + wordClass);
4152
}
4253
}
4354

opennlp-tools/src/main/java/opennlp/tools/util/featuregen/CachedFeatureGenerator.java

+2
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@
2525

2626
/**
2727
* Caches features of the aggregated {@link AdaptiveFeatureGenerator generators}.
28+
*
29+
* @see Cache
2830
*/
2931
public class CachedFeatureGenerator implements AdaptiveFeatureGenerator {
3032

opennlp-tools/src/main/java/opennlp/tools/util/featuregen/CachedFeatureGeneratorFactory.java

+3
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,9 @@
2121
import opennlp.tools.util.InvalidFormatException;
2222

2323
/**
24+
* A {@link GeneratorFactory} that produces {@link CachedFeatureGenerator} instances
25+
* when {@link #create()} is called.
26+
*
2427
* @see CachedFeatureGenerator
2528
*/
2629
public class CachedFeatureGeneratorFactory

opennlp-tools/src/main/java/opennlp/tools/util/featuregen/CharacterNgramFeatureGenerator.java

+5-3
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@
2626
/**
2727
* The {@link CharacterNgramFeatureGenerator} uses character ngrams to
2828
* generate features about each token.
29+
*
30+
* @see AdaptiveFeatureGenerator
2931
*/
3032
public class CharacterNgramFeatureGenerator implements AdaptiveFeatureGenerator {
3133

@@ -35,7 +37,7 @@ public class CharacterNgramFeatureGenerator implements AdaptiveFeatureGenerator
3537
private final int maxLength;
3638

3739
/**
38-
* Initializes a {@link CharacterNgramFeatureGenerator}.
40+
* Initializes a {@link CharacterNgramFeatureGenerator} with the specified parameters.
3941
*
4042
* @param minLength The minimum length to use. Must not be negative.
4143
* @param maxLength The maximum length to use. Must not be negative.
@@ -46,8 +48,8 @@ public CharacterNgramFeatureGenerator(int minLength, int maxLength) {
4648
}
4749

4850
/**
49-
* Initializes a {@link CharacterNgramFeatureGenerator} with
50-
* min length of {@code 2} and max length of {@code 5} for ngrams.
51+
* Initializes a {@link CharacterNgramFeatureGenerator} with default values for ngrams.
52+
* The minimal length is set to {@code 2} and maximum length to a value of {@code 5}.
5153
*/
5254
public CharacterNgramFeatureGenerator() {
5355
this(2, 5);

opennlp-tools/src/main/java/opennlp/tools/util/featuregen/CharacterNgramFeatureGeneratorFactory.java

+3
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,9 @@
2020
import opennlp.tools.util.InvalidFormatException;
2121

2222
/**
23+
* A {@link GeneratorFactory} that produces {@link CharacterNgramFeatureGenerator} instances
24+
* when {@link #create()} is called.
25+
*
2326
* @see CharacterNgramFeatureGenerator
2427
*/
2528
public class CharacterNgramFeatureGeneratorFactory

opennlp-tools/src/main/java/opennlp/tools/util/featuregen/DefinitionFeatureGeneratorFactory.java

+4-3
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,14 @@
2020
import opennlp.tools.util.InvalidFormatException;
2121

2222
/**
23-
* @see DefinitionFeatureGeneratorFactory
23+
* A {@link GeneratorFactory} that produces {@link OutcomePriorFeatureGenerator} instances
24+
* when {@link #create()} is called.
25+
*
26+
* @see OutcomePriorFeatureGenerator
2427
*/
2528
public class DefinitionFeatureGeneratorFactory
2629
extends GeneratorFactory.AbstractXmlFeatureGeneratorFactory {
2730

28-
private static final String ELEMENT_NAME = "definition";
29-
3031
public DefinitionFeatureGeneratorFactory() {
3132
super();
3233
}

opennlp-tools/src/main/java/opennlp/tools/util/featuregen/DictionaryFeatureGenerator.java

+16-5
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@
2424
import opennlp.tools.namefind.DictionaryNameFinder;
2525

2626
/**
27-
* The {@link DictionaryFeatureGenerator} uses the {@link DictionaryNameFinder}
28-
* to generated features for detected names based on the {@link InSpanGenerator}.
27+
* The {@link DictionaryFeatureGenerator} uses a {@link DictionaryNameFinder}
28+
* to generate features for detected names based on the {@link InSpanGenerator}.
2929
*
3030
* @see Dictionary
3131
* @see DictionaryNameFinder
@@ -35,16 +35,27 @@ public class DictionaryFeatureGenerator implements AdaptiveFeatureGenerator {
3535

3636
private InSpanGenerator isg;
3737

38+
/**
39+
* Initializes a {@link DictionaryFeatureGenerator} with the specified {@link Dictionary}.
40+
*
41+
* @param dict The {@link Dictionary} to use. Must not be {@code null}.
42+
*/
3843
public DictionaryFeatureGenerator(Dictionary dict) {
39-
this("",dict);
44+
this("", dict);
4045
}
4146

47+
/**
48+
* Initializes a {@link DictionaryFeatureGenerator} with the specified parameters.
49+
*
50+
* @param prefix The prefix to set. Must not be {@code null} but may be empty.
51+
* @param dict The {@link Dictionary} to use. Must not be {@code null}.
52+
*/
4253
public DictionaryFeatureGenerator(String prefix, Dictionary dict) {
43-
setDictionary(prefix,dict);
54+
setDictionary(prefix, dict);
4455
}
4556

4657
public void setDictionary(Dictionary dict) {
47-
setDictionary("",dict);
58+
setDictionary("", dict);
4859
}
4960

5061
public void setDictionary(String name, Dictionary dict) {

0 commit comments

Comments
 (0)