Dadatでデータ処理の99.99%の精度に年間200万ドルを費やす理由

たとえば、住所や名前などのテキストデータのエラーやタイプミスを一般に修正できるのはなぜだろうと思ったことはありますか? なぜテルスカヤトヴェルスカヤ通りであり、素晴らしいヴァシリヤトリアスキー通りではないと思うのですか? コムソモルスキー通りで、タイプミスが20個ある場合はどうなりますか?







私たちの人生の経験は、秩序だった低エントロピー状態は、高エントロピーの無秩序状態よりも起こりにくいことを示唆しています。 つまり、Terskayaは、誤字が20個あるコムソモルスキープロスペクトよりも、1つのタイプミスがあるTverskayaです。 しかし、人生では、確率がそれほど明確でない多くの物議を醸すケースがあります。





たとえば、「 3月8、12 」は「 1st Street March 8、house 12」または「 street March 8、house 1、apartment 12」ですか? 両方のアドレスが存在し、正しいですが、どちらがソースに対応していますか?







グレーエリア



住所を処理する場合、結果には3つのグループがあります。





品質をめぐる戦いの最前線は、できるだけ多くの緑のアドレスを持つことですが、同時に、赤のアドレスはそれらの間で遭遇しません。


スパムメーリングの場合、通常、より多くのスパムがその宛先に届くだけで十分ですが、非常に明白な「ブラックホール」には電子メールを送信しません。 つまり、処理後のベースが以前よりも良くなることが重要です。 または、少なくとも悪化することはありませんでした。 これはおそらく、認識されたデータの割合に独立した価値がある唯一のケースです。







それ以外の場合は、エラーがまったくない「グリーン」データのサブセットをすばやく取得し、すぐに実行する必要があります。ローンの発行、商品の送付、スコアリングの使用、保険証書の作成です。 50%のグリーンデータを取得しましたか? 悪いが、ビジネスにとってはすでに価値がある。 80%? スーパー、手作りの量が5倍に削減されました! 95%?







そして、残りの「灰色」は後で扱うことができます。 妄想的にデータベース全体を100%にすることは、ビジネスの観点からはあまり意味がありません。そのため、価値のある関連する顧客を強制的に修正します(通常、従業員の肉体労働または主要な文書の支援により)。 そして、クライアント自身が会社に連絡するまで、残りは「グレーゾーン」のままです。







緑の肌の赤



しかし、これはすべて、「グリーン」なものが本当にグリーンである場合にのみ意味があります。 そのように、私たちは彼らを自分自身として、さらにもっと信じています。 チェックする必要がない場合。







20個のりんごが入ったバスケットがあるとします。 私たちはそれらの間で毒されていることを知っています。 かむ-死ぬ。 しかし、それらの数は不明です。 たぶん誰もが毒されており、たぶん一人ではありません。







そのようなバスケットの消費者価値はゼロに近い。 合理的な人は、飢vが代替手段である場合にのみ、少なくとも1つのリンゴを取ることを決定します。







ここで、20個のうち5個のリンゴに「このリンゴは間違いなく毒されていない」というサインがあるとします。 リンゴは同じですが、タブレットもあります。 もう一つ。 はい、リンゴ20個のうち5個はそれほど多くありませんが、食べることができます。 そして、5ではなく15がある場合は? 値は3倍です!







そして、それらのうちの19が存在するが、プレート上では「正確に毒されていない」のではなく、「95%、どちらが毒されていない」のでしょうか? 危険ですか? 明らかに、このようなバスケットの消費者価値は急激に低下します。









不十分な構造のデータの分析におけるこれらのラベルは、品質コードと呼ばれます。 実際、これらは同じ錠剤です:「間違いなく無毒」、「妊娠中および授乳中」、「シアン化カリウム、100 mg」。







修正する



10年前のDadatには、タイプミス、秩序の乱れ、名前の変更、再従属など、非常に複雑な住所でも修正する優れたアルゴリズムがすでにありました。







各変換はプログラムロジックで十分に説明されていましたが、人間の観点からは、結果のクリアされたアドレスが元のアドレスと完全に異なっていた野sなケースが多くありました。 実際、アブラカダブラは、fzvsch8g2z98oaz9でさえ、多くのタイプミスのあるアドレスになる可能性があります。 しかし、これはプログラムの論理によるものであり、常識のある人によるものではありません。







したがって、解析済みデータを検証するプロセスを追加しました。 検証は、特に良いデータを破壊し、悪いデータを排除します。 検証には、解析とはまったく異なるアルゴリズムが使用されます。これらは、ソースアドレスが再度取得されるように解析されたデータを歪めようとします。 したがって、いくつかのことが一度にチェックされます。









この方法で検証されたデータは非常にグリーンです。 検証済みのデータについては、99.99%の精度、つまり10,000レコードあたり1エラー以下を達成しました。 この精度は、数千万の例から毎日更新されるテストによって保証されています。 これは超人的なレベルの品質です。 それ自体に対する人間の心の素晴らしい勝利!







ここでの主なことは、「数千万の例の毎日更新されるテスト」です。 テストの作成は一度きりの作業ではなく、参考書が変更され、新しいケースが生まれる現在進行中のプロセスです。 テストがなければ、「グリーン」データが本当に「グリーン」であることを保証することは不可能です。これがないと、ほとんどの実際のアプリケーションでは、すべてが無意味になります。







「ナイン」の魔法



99.99%と99.98%の品質の違いは2倍です。 前者の場合、10,000あたり1エラー、2番目の場合-10,000レコードあたり2エラー。


保証された各「9」の達成および継続的なメンテナンスは、以前のすべての「9」を組み合わせた場合よりも高価です。 これらは、非常に複雑なアルゴリズムであるだけでなく、大幅に拡張されたテストでもあり、実際のデータのさまざまなケースや、これらのより複雑なアルゴリズムのさまざまな分岐を代表的に反映します。







10,000のテストペア(送信元アドレスと予想されるクリアされたテストペア)の代表的なテストで90%を保証できる場合、99%の場合は約10万、99.99%の場合は少なくとも1,000万のテストが必要になります。 ランダムな記録、つまりテストではなく、実際のデータでの問題の発生を反映する各ケースの代表性。









そのようなボリュームで発生の分布を達成することは非常に難しいため、すべてが確実に満たされるように、さらに大きなボリュームを使用する必要があります。 その結果、ロシアの住所の最小テストケースは約5,000万のテストペアであり、スペシャリストによって年間数パーセント更新されます。 これは、毎月数万から数十万のアドレスが手動でチェックされることを意味します。 徐々に、プロセスのデバッグが行われ、そのようなケースのメンテナンスは削減されますが、初期の段階では期待する価値はほとんどありません。







Dadataの精度には、年間約200万ドルかかります。


パーサーは、才能のある愛好家や小さなチームで開発できますが、任意のデータに関する高い品質保証指標は、実際には達成できません。 同じ理由で、時間と費用の大部分はアルゴリズムではなく品質テストであるため、ある国と言語から別の言語に技術を移転することはゼロから開発することとほぼ同等です。







結論



説明されている現象は、住所だけでなく、実際のビジネスで使用される不十分に構造化されたデータを使用した作業の結果にも特徴的です。 ディープマシンラーニング、ビッグデータ、テキスト、音声、写真、ビデオ用-これらのパターンはどこにでもあります。







  1. 正確な品質コードは、データ処理の精度よりも重要です。
  2. 品質コードは、データを処理するアルゴリズムによって割り当てられてはなりません。
  3. 精度は、適切なテストなしでは達成できません。
  4. 優れたテストは構築に時間がかかり、維持に費用がかかります。



All Articles