Skip to content

Commit 07fc177

Browse files
committed
bugfix:修复上次更新引入bug.AlphabetFactory在linear类的继承问题
1 parent 62ae2cb commit 07fc177

File tree

3 files changed

+11
-4
lines changed

3 files changed

+11
-4
lines changed

fnlp-core/src/main/java/org/fnlp/ml/classifier/linear/Linear.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,9 @@ public class Linear extends AbstractClassifier implements Serializable {
5151

5252
private static final long serialVersionUID = -2626247109469506636L;
5353

54-
protected Inferencer inferencer;
54+
protected Inferencer inferencer;
55+
56+
protected AlphabetFactory factory;
5557

5658
protected Pipe pipe;
5759

@@ -141,6 +143,10 @@ public void setPipe(Pipe pipe) {
141143
}
142144
public Pipe getPipe() {
143145
return pipe;
146+
}
147+
148+
public AlphabetFactory getAlphabetFactory() {
149+
return factory;
144150
}
145151

146152
}

fnlp-core/src/main/java/org/fnlp/nlp/pipe/NGram.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,8 @@ public static Set<String> ngramOnCharacter2Set(String data,int[] gramSizes) {
169169
* @param list
170170
*/
171171
private static void ngramOnCharacter(String data, int[] gramSizes, Collection<String> list) {
172-
for (int j = 0; j < gramSizes.length; j++) {
172+
data = data.replaceAll("\\s+", "");
173+
for (int j = 0; j < gramSizes.length; j++) {
173174
int len = gramSizes[j];
174175
if (len <= 0 || len > data.length())
175176
continue;

fnlp-demo/src/main/java/org/fnlp/demo/nlp/tc/TextClassificationCustom1.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ public static void main(String[] args) throws Exception {
5959
AlphabetFactory af = AlphabetFactory.buildFactory();
6060

6161
//使用n元特征
62-
Pipe ngrampp = new NGram(new int[] {1});
62+
Pipe ngrampp = new NGram(new int[] {1,2},true);
6363
//将字符特征转换成字典索引
6464
Pipe indexpp = new StringArray2IndexArray(af);
6565
//将目标值对应的索引号作为类别
@@ -88,7 +88,7 @@ public static void main(String[] args) throws Exception {
8888
* 建立分类器
8989
*/
9090
OnlineTrainer trainer = new OnlineTrainer(af,50);
91-
Linear pclassifier = trainer.train(trainset,testset);
91+
Linear pclassifier = trainer.train(trainset);
9292
pp.removeTargetPipe();
9393
pclassifier.setPipe(pp);
9494
af.setStopIncrement(true);

0 commit comments

Comments
 (0)