私は現在、テキストの本文を読み取り、それを検索エンジンの結果(特定のテキストのサブストリングの検索から)と比較するプログラムを作成しています。たとえば、学術論文で盗作を検出することを目的としています。
比較される2つの文字列は、元の紙とWebページのプレーンテキストです(ページのFloki.text/2
で <body>
によって返されます)。どちらの場合も、句読点と書式はすべて削除され、スペースに置き換えられています。
これに使用する編集距離アルゴリズムの種類はわかりません。私はすべてのものを調べました Wikipediaにリストされています 、そして...
これはXYの答えですが、
テキストの本文を読み取り、それを検索エンジンの結果(特定のテキストの部分文字列の検索から)と比較します。たとえば、学術論文で盗作を検出することを目的とします。
テキスト検索自体が問題に対する適切で実用的な答えのようです。盗用を検出する基本的な方法は次のとおりです。
このアプローチには、文字列を比較するよりもいくつかの利点があります。
ターンイットインについて考える場合、彼らのアプローチは彼らがそうであるようにこれと同様でなければなりません
Turn-it-inなどがこのようなシステムを自分で設定するだけで追加できる値(正直言ってそれほど難しくありません)
あなたの意図は、テキスト本文を検索エンジンの結果と比較して盗用を検出することです。
残念ながら、検討するアルゴリズムは文字レベルで機能します。テキストが長くなると時間がかかり、反転したテキストのブロックや段落の検出にはあまり適していません。
Wordのアプローチを選択しないのはなぜですか。テキストと検索結果で一意の単語の並べ替えられたリストを作成し、類似性(一般的な単語の割合)を探します。これは非常に効率的です。類似性が特定のクォータを超える場合は、文字レベルでアルゴリズムを使用するか、個々の文字ではなく単語の文字列を使用して同様のアルゴリズムを使用するかにかかわらず、より時間のかかる比較を行うことができます