0

テキストの不規則性を見つけるライブラリやソフトウェアを知っている人はいますか? たとえば、私が持っているとしましょう...

1. 名前 1、コメント
2. 名前 2、コメント
3. 名前 3 、コメント
5. 名前 10、コメント

このソフトウェアまたはライブラリは、最初に類似するテキストの部分を切り取ります (圧縮ソフトウェアがテキストの類似した部分を繰り返しエンコードして圧縮するのとよく似ています) が、エラー トレランスのための変数を使用して、テキストの類似した部分を見つけることができます。 、テキスト比較アプリケーションまたは差分/マージツールと非常によく似ており、実際に異なると見なされるものを強調表示できます. このツールを作ることを考えていますが、車輪の再発明はしたくありません。これをリモートで実行できるものがあれば、このプロジェクトに役立つ可能性があるか、少なくとも作成しないことを知りたいです。言うまでもなく、この回答は他の人が同じものを探すのに役立つ可能性があります。需要は供給に対して十分に高いと思います。

4

3 に答える 3

2

Python に興味がある場合は、difflibを試すことができます。

問題の正確な解決策ではありませんが、役立つ場合があります。

于 2009-02-06T08:29:29.003 に答える
2

この問題は、実際にどのような不規則性を発見または修正するかによって、根本的に異なります。

実際のテキストで更新された例を次に示します。

1. Lazarus Long, Get the first shot off fast.
2. Hiro Protagonist, Greatest swordfighter[sic] in the world.
3. Alice , Down the rabbit hole.
5. Orem, Sink of power.

この例では、適切なテキスト エディターで検索と置換を使用してエラーを修正できます。テキスト エディターと 16 進エディターは、ワイルドカードを使って創造力を働かせれば、奇跡を起こすことができます。区切り要素 (. または ,) が存在する限り、問題は単純なままです。おそらくすでにご存知でしょう。それらのいずれかが欠けているとすぐに、問題ははるかに複雑になります。

難しい問題の例:

1. Lazarus Long, Get the first shot off fast.
 2. Hiro Protagonist  Greatest swordfighter[sic] in the world.
3. Alice , Down the rabbit hole.
5 . Orem, , Sink of power.

私はおそらくこれをいくつかのステップで攻撃します。1.余分なスペースをクリーンアップします。2. 行ごとの区切り記号の数や区切り列ごとの単語または文字の平均数などの重要な統計を調べます。ほとんどの名前は 1 つまたは 2 つの単語であり、コメントは不明であるか、入力によって制限されています。3. 統計的にありそうもない数の重要な特徴を持つ行を見つけます。4. それらを修正するために最善を尽くします。

これがあなたの問題を直接解決するものではないことは理解していますが、1 つのアイデアで問題を少し解決できるかもしれません。過去のホイール ライトが設計を完成させなかった可能性があります。

于 2009-02-06T08:54:49.390 に答える
0

基本的に、正規表現を使用して「理想的な応答」を作成し、残りの行をそれと比較したいようです。

または、より複雑なプログラムを作成して、各行を Regex クエリに分解し、それらのクエリを互いに比較して、どのクエリが異なるかを確認することもできます。

于 2009-02-06T13:20:06.887 に答える