簡単な研究論文マネージャーを書こうと思っています。アイデアは、各論文のメタデータを含むリポジトリを持つことです
paper_id -> [title, authors, journal, comments...]
友人の紙のダンプをインポートする可能性があるといいので、私は紙の paper_id を生成する方法を考えています: 私見は pdf のテキストによって生成され、2 つの異なるコレクションが持っていることを保証する必要があります同じ論文にのみ同じ ID を使用します。現時点では、iText ライブラリを使用して最初のページのテキストを抽出し (可能な注釈を削除します)、テキストから simhash フットプリントを計算します。主な問題は、テキストが少し異なる場合があることです (はい、それは起こります! たとえば、 thisとthis )。simhash を使用すると、元のドキュメントとどれだけ似ているかを計算できるため、フットプリントがレポにない場合は、「近い」フットプリントを探してコレクションを反復処理する必要があります。
私はこの方法に納得できません。この種の文書の署名 (短い、数字、または英数字) を生成するためのより良い方法を提案できますか?
更新私はこの考えを持っていました:最初のページを8つ(多かれ少なかれ)重複しない正方形に分割し、すべてのページをカバーし、次に各正方形のテキストを考慮してsimhash署名を生成します。最後に、8x64=512 ビットの署名が得られ、simhash 署名セット間の差の合計が特定のしきい値を下回っている場合、2 つの論文を同じと見なすことができます。