@Test public void testSimilarity() { LexRankRanker summarizer = new LexRankRanker(); Sentence sentence1 = text.getSentences().get(0); Sentence sentence2 = text.getSentences().get(1); Map<String, Double> idf = summarizer.inverseDocumentFrequency(text); double similarity = summarizer.similarity(sentence1, sentence2, idf); Assert.assertEquals(0.2340, similarity, 0.0001); }
@Test public void testGetSimilarities() { LexRankRanker summarizer = new LexRankRanker(); double[][] similarities = filter(summarizer.getSimilarities(text), THRESHOLD); for (int i = 0; i < similarities.length; i++) { for (int j = 0; j < similarities[i].length; j++) { Assert.assertEquals(sim[i][j], similarities[i][j], 0.001); } } }
@Test public void testInverseDocumentFrequency() { LexRankRanker summarizer = new LexRankRanker(); Map<String, Double> wordFrequencies = summarizer.inverseDocumentFrequency(text); Assert.assertEquals(1.0116, wordFrequencies.get("not"), 0.0001); Assert.assertEquals(1.7047, wordFrequencies.get("president"), 0.0001); Assert.assertEquals(1.2992, wordFrequencies.get("refuses"), 0.0001); Assert.assertEquals(2.3978, wordFrequencies.get("strike"), 0.0001); }
@Test public void testRanks() { LexRankRanker summarizer = new LexRankRanker(); double[][] similarities = summarizer.getSimilarities(text); similarities = summarizer.filter(similarities, THRESHOLD); double[] actual = summarizer.calcRanks(similarities); double[] expected = { 0.8471, 0.9784, 0.0, 1.0, 0.1905, 0.9262, 0.1263, 0.3689, 0.7811, 0.5691, 0.1248 }; for (int i = 0; i < expected.length; i++) { Assert.assertEquals(expected[i], actual[i], 0.0001); } }