public void ComputeSmallWindowStatisticByToeflDataSet() throws IOException{

		int correctAnswers = 0;
		
		File testFile = new File(testFileName);
		BufferedReader testReader = new BufferedReader(new FileReader(testFile));
		
		String rdline;
		int LineNo = 0;
		String[] question = new String[6];
		
		while ((rdline = testReader.readLine()) != null){

			if (LineNo % 7 != 6)
				question[LineNo % 7] = rdline;
			
			if (LineNo % 7 == 5){
				
				float autoPMI;
				String questionWord = morpha.stem(new Word(question[0])).value();
				String synonym = morpha.stem(new Word(question[5])).value();
				
				try {
					autoPMI = model2.getPMI(questionWord, questionWord);
					
				} catch (Exception e) {
					// TODO Auto-generated catch block
					autoPMI = 0;
				}
				
				FloatElement[] sortedPMIWords = model2.getSortedPMIWords(questionWord);
				
				float highestPMI = sortedPMIWords[0].value;
				
				int rank = -1;
				for (int i=0; i < sortedPMIWords.length; i++ ){
					if (sortedPMIWords[i].word.equals(questionWord)){
						rank = i;
						break;
					}
				}
				
				float synonymPMI;
				try {
					synonymPMI = model2.getPMI(questionWord, synonym);
				} catch (Exception e) {
					// TODO Auto-generated catch block
					synonymPMI = 0;
				}

				if (questionWord.length() <= 6)
					System.out.println(questionWord + ",\t\t\t" + autoPMI + ",\t" + highestPMI + ",\t" + (highestPMI - autoPMI) + ",\t" + rank + ",\t" + synonymPMI + ",\t" + (autoPMI - synonymPMI));
				else if (questionWord.length() == 7)
					System.out.println(questionWord + ",\t\t" + autoPMI + ",\t" + highestPMI + ",\t" + (highestPMI - autoPMI) + ",\t" + rank + ",\t" + synonymPMI + ",\t" + (autoPMI - synonymPMI));
				else
					System.out.println(questionWord + ",\t\t" + autoPMI + ",\t" + highestPMI + ",\t" + (highestPMI - autoPMI) + ",\t" + rank + ",\t" + synonymPMI + ",\t" + (autoPMI - synonymPMI));
			}
			
			LineNo ++;
		}
		
		System.out.println("total correct answers: " + correctAnswers);
		testReader.close();
	}