File: MatchDataTeacher.java

package info (click to toggle)
libsecondstring-java 0.1~dfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 764 kB
  • sloc: java: 9,592; xml: 114; makefile: 6
file content (52 lines) | stat: -rw-r--r-- 1,256 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
package com.wcohen.ss.expt;

import com.wcohen.ss.*;
import com.wcohen.ss.api.*;
import java.util.Collections;

/**
 * Train a StringDistanceLearner using MatchData and a Blocker. 
 *
 */
public class MatchDataTeacher extends StringDistanceTeacher
{
	private Blocker blocker;
	private MatchData data;

	public MatchDataTeacher(MatchData data,Blocker blocker) {
		this.blocker = blocker;
		this.data = data;
	}

	public StringWrapperIterator stringWrapperIterator() 
	{
		return data.getIterator();
	}

	public DistanceInstanceIterator distanceInstancePool()
	{
		return new BasicDistanceInstanceIterator(Collections.EMPTY_SET.iterator() );
	}

	public DistanceInstanceIterator distanceExamplePool() 
	{
		blocker.block(data);
		return new DistanceInstanceIterator() {
				private int cursor=0;
				public boolean hasNext() { return cursor<blocker.size(); }
				public Object next() { return blocker.getPair( cursor++ ); }
				public void remove() { throw new UnsupportedOperationException(); }
				public DistanceInstance nextDistanceInstance() { return (DistanceInstance)next();}
			};
	}

	public DistanceInstance labelInstance(DistanceInstance distanceInstance) 
	{	
		return distanceInstance;
	}

	public boolean hasAnswers() 
	{ 
		return true; 
	}
}