title: How to intelligently remove similar parts out of a set of strings?
body: <p>For example, this is what I want to input:</p>
  
  <pre><code>input = [
     '&lt;html&gt;&lt;head&gt;&lt;title&gt;Albert Einstein - Minipedia&lt;/title&gt;&lt;/head&gt;&lt;body&gt;&lt;b&gt;Welcome to Minipedia! You are viewing page 1&lt;/b&gt; Albert Einstein was a scientist&lt;/body&gt;&lt;/html&gt;',
     '&lt;html&gt;&lt;head&gt;&lt;title&gt;Ludwig Van Beethoven - Minipedia&lt;/title&gt;&lt;/head&gt;&lt;body&gt;&lt;b&gt;Welcome to Minipedia! You are viewing page 2&lt;/b&gt; Ludwig van Beethoven was a Musician&lt;/body&gt;&lt;/html&gt;',
     '&lt;html&gt;&lt;head&gt;&lt;title&gt;Red - Minipedia&lt;/title&gt;&lt;/head&gt;&lt;body&gt;&lt;b&gt;Welcome to Minipedia! You are viewing page 3&lt;/b&gt; Red is a color.&lt;/body&gt;&lt;/html&gt;'
  ]
  </code></pre>
  
  <p>and what I'm looking for as output is:</p>
  
  <pre><code>output = [
      ['Albert Einstein', 'Albert Einstein was a scientist'],
      ['Ludwig Van Beethoven', 'Ludwig Van Beethoven was a musician'],
      ['Red', 'Red is a color']
  ]
  </code></pre>
  
  <p>The logic I'm looking for approximately that if there are substrings of each document that have significant overlap (i.e. small enough edit distance), they should be taken out and used to tokenize the remaining strings that have sufficient difference.</p>
  
  <p>Are there any libraries for this?</p>