Results of Various Tests of K-Nearest-Neighbour to Recognise a Paraphrased Statement
Tags: knn, paraphrasing, essayhelper
Published: 2020-05-13 11:15:34

---
title: Results of Various Tests of K-Nearest-Neighbour to Recognise a Paraphrased Statement
published: true
description: Results of various tests of K-Nearest-Neighbour to recognise a paraphrased statement
tags: KNN, paraphrasing, essay-helper
---

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/2y0x5hkq5s7ogvoh3op7.jpg)

I wanted an algorithm that could recognise a paraphrased version of a statement. 
 This was part of my <a href="https://github.com/luciangreen/Essay-Helper">Essay Helper</a> GitHub Repository, which recognises reused statements while questioning the user to write a humanities-style essay.

The point of paragraph 2 is to introduce KNNs...  I found them after querying "Prolog machine learning" on YouTube.  K-Nearest-Neighbour was the successful candidate to select the best answer using machine learning while not sacrificing rule writing with the result.  (They produce a list of results, i.e. 0 for exact match and increase with "greater distance" away from this.)

In the tests, I wanted to test for success in finding that a statement contains a paraphrased statement.

First, Control: this test should return true if the statement is exactly the paraphrased statement:

?- Phrase="I'd like that very much",downcase_and_split(Phrase,Key_Phrase),get_string("",either,one,"",Key_Phrase,String).

|: I'd like that very much
Attempt 1
[found,[i,d,like,that,very,much],[i]]
Success

Good!  Now on to the tests.


I tested for paraphrased statements in 6 word statements (surrounded by other words), where the replacement, addition or deletion of word(s) occurred at the start, middle or end of the 6 word paraphrased version of the statements.

Replacing 1 word with 1 word	

- Find "I'd like that very much." in "It goes unsaid that you'd like that very much my dear."
  [found,[i,d,like,that,very,much],[you,d,like,that,very,much]]

- Find "I'd like that very much." in "It goes unsaid that I'd like those very much my dear."
  [found,[i,d,like,that,very,much],[i]]

- Find "I'd like that very much." in "It goes unsaid that I'd like that very happily my dear."
  [found,[i,d,like,that,very,much],[i]]

Replacing 1 word with 2 words	

- Find "I'd like that very much." in "It goes unsaid that you will like that very much my dear."
  Failed

- Find "I'd like that very much." in "It goes unsaid that I'd like those greatly much my dear."
  [found,[i,d,like,that,very,much],[i]]

- Find "I'd like that very much." in "It goes unsaid that I'd like that very happily most dear."
  [found,[i,d,like,that,very,much],[i]]

Replacing 2 words with 1 word	

- Find "I'd like that very much." in "It goes unsaid that you like that very much my dear."
  Failed

- Find "I'd like that very much." in "It goes unsaid that I'd like those much my dear."
  [found,[i,d,like,that,very,much],[i]]

- Find "I'd like that very much." in "It goes unsaid that I'd like that very happily dear."
  [found,[i,d,like,that,very,much],[i]]

Adding 1 word						

- Find "I'd like that very much." in "It goes unsaid that nevertheless I'd like that very much my dear."
  [found,[i,d,like,that,very,much],[i]]

- Find "I'd like that very much." in "It goes unsaid that I'd like that one very much my dear."
  [found,[i,d,like,that,very,much],[i]]

- Find "I'd like that very much." in "It goes unsaid that I'd like that very much love my dear."
  [found,[i,d,like,that,very,much],[i]]

Adding 2 words						

- Find "I'd like that very much." in "It goes unsaid that in time I'd like that very much my dear."
  [found,[i,d,like,that,very,much],[i]]

- Find "I'd like that very much." in "It goes unsaid that I'd like that one there very much my dear."
  [found,[i,d,like,that,very,much],[i]]

- Find "I'd like that very much." in "It goes unsaid that I'd like that very much loved one my dear."
  [found,[i,d,like,that,very,much],[i]]

Deleting 1 word						

- Find "I'd like that very much." in "It goes unsaid that I like that very much my dear."
  [found,[i,d,like,that,very,much],[i]]

- Find "I'd like that very much." in "It goes unsaid that I'd like very much my dear."
  [found,[i,d,like,that,very,much],[i]]

- Find "I'd like that very much." in "It goes unsaid that I'd like that much my dear."
  [found,[i,d,like,that,very,much],[i]]

Deleting 2 words					

- Find "I'd like that very much." in "It goes unsaid that like that very much my dear."
  Failed

- Find "I'd like that very much." in "It goes unsaid that I'd like much my dear."
  [found,[i,d,like,that,very,much],[i]]

- Find "I'd like that very much." in "It goes unsaid that I'd like that my dear."
  [found,[i,d,like,that,very,much],[i]]


Combinations

Replacing 1 word with 1 word at start
and adding 2 words in middle	
- Find "I'd like that very much." in "It goes unsaid that you'd like, indubitably so, that very much my dear."
  Failed

Replacing 1 word with 1 word in middle
and adding 2 words at start
- Find "I'd like that very much." in "It goes unsaid that in time I'd like those very much my dear."
  [found,[i,d,like,that,very,much],[i]]

Adding 1 word in middle and						
Deleting 2 words at start			
- Find "I'd like that very much." in "It goes unsaid that like that, timely, very much my dear."
  Failed

Replacing 1 word with 2 words at start and
Deleting 1 word at end
- Find "I'd like that very much." in "It goes unsaid that I definitely equally like that very my dear."
  [found,[i,d,like,that,very,much],[i]]

Replacing 1 word with 2 words at end,
adding 1 word at start and
deleting 2 words in middle					
- Find "I'd like that very much." in "It goes unsaid that timelily I'd like definitely so my dear."
  [found,[i,d,like,that,very,much],[i]]

Replacing 1 word with 2 words at start,
adding 1 word at middle and
deleting 2 words in end					
- Find "I'd like that very much." in "It goes unsaid that I definitely nonequally like that infinitesimally my dear."
  [found,[i,d,like,that,very,much],[i]]

In summary, the best result came from replacing the first word of the statement with another word.  The failures came from doing these at the start:
- replacing 1 word with 2 words	
- replacing 2 words with 1 word	
- deleting 2 words
(but not always, as the combinations show).

See my <a href="https://github.com/luciangreen/Essay-Helper"Essay Helper</a> GitHub Repository.

Photo by Ralph Dupoux (krezi-32471) <a href="https://freeimages.com/">FreeImages</a>