問題タブ [matching]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
6 に答える
5144 参照

algorithm - How do I go about building a matching algorithm?

I've never built an algorithm for matching before and don't really know where to start. So here is my basic set up and why I'm doing it. Feel free to correct me if I'm not asking the right questions.

I have a database of names and unique identifiers for people. Several generated identifiers (internally generated and some third party), last name, first name, and birth date are the primary ones that I would be using.

Several times throughout the year I receive a list from a third party that needs to be imported and tied to the existing people in my database but the data is never as clean as mine. IDs could change, birth dates could have typos, names could have typos, last names could change, etc.

Each import could have 20,000 records so even if it's 99% accurate that's still 200 records I'd have to go in manually and match. I think I'm looking for more like 99.9% accuracy when it comes to matching the incoming people to my users.

So, how do I go about making an algorithm that can figure this out?

PS Even if you don't have an exact answer but do know of some materials to reference would also be helpful.

PPS Some examples would be similar to what m3rLinEz wrote:

0 投票する
2 に答える
7863 参照

sql - MySQLの2つの列を一致させる

私はSQLにまったく慣れていないので、テーブル内にある2つの列の名前を一致させることについて質問があります。

2つの列を照合するためにsoundex()関数を使用したいとします。このクエリを使用する場合:

その行内の2つの名前が一致する場合、行が返されます。ここで、同じ行にないcolumn1とcolumn2の間の名前の一致も取得したいと思います。column1のすべての名前がcolumn2のすべての名前と比較される手順を自動化する方法はありますか?

ありがとう :)

ps:誰かが私をn-gram / bi-gramマッチングアルゴリズムの方向に向けることができれば、それはnoobがmysqlに実装するのも簡単です。

0 投票する
1 に答える
770 参照

algorithm - 「(1:k)ツリーマッチング」-多項式時間で解ける?

数ヶ月前、「 1:nマッチングの問題」に関して素晴らしい質問があり、ポリタイムアルゴリズムはないようです。

多項式アルゴリズムを使用した1:nマッチング問題の最大マッチングを見つけるための制約を追加したいと思います。「頂点A1の場合、頂点が別のA頂点からまだ取得されていない場合は、{B1、B2、B5}または{B2、B3}のいずれかを選択します」、つまり、すべての可能な組み合わせを許可しません。

これは、選択ごとにヘルパー頂点Hを導入し、エッジをツリーに置き換えると表現できます=>通常の2部マッチングと同様の問題が発生します。AまたはBのすべての頂点は、マッチングで1つのエッジのみを持つことができます。Hの頂点との間のエッジは、すべてマッチングに含まれるか、いずれもマッチングに存在しません。次の3部グラフを想像してみてください。

代替テキスト

次に、一致を簡単に表現するために、h_ij="H_ijを含むルート化されたツリー"を定義します。

  • 次に、この例では、M = {h12、h22}は1つの「最大」マッチングになりますが、Bのすべての頂点が含まれるわけではありません。
  • セット{h12、h23}は一致しません。これは、B3が2回選択されるためです。

この問題は、多項式時間で解決できるでしょうか?はいの場合、加重(w(h_ij))バリアントのポリタイムソリューションはありますか?いいえの場合、私のような「単純な男」について議論したり、証明したり、1:nマッチングの問題を解決するための他の制約を提案したりできますか?

たとえば、グラフを一般的なグラフに変換して、一般的なグラフの加重マッチングで解くことができますか?それとも、枝分かれや一致する森でさえここで役立つでしょうか?

PS:宿題ではありません;-)

0 投票する
1 に答える
1351 参照

ftp - 何年も機能しているスクリプトを期待して、新しい期待バージョンで予期しない動作をする

最近、FreeBSD 4.x サーバーから FreeBSD 8.0 サーバーに移行しました。現在、expect-5.43.0_3 を使用しています。古いシステムのハード ドライブは、移行が完了してから数分以内にクラッシュしたため、expect の古いバージョンが何であるかを覚えていません。すぐに確認することもできません。(うわー!)

とにかく、圧縮された tar ファイルを作成し、毎晩 FTP 経由で転送するスクリプトを期待しています。このスクリプトは YEARS の間正常に実行されています。突然、移行/アップグレード以降、正常に動作しなくなり、修正することができずに DAYS を見つめていじりました。次のステップに進む前に、各 FTP コマンドが正常に完了したことを確認したいと考えています。次のステップには、リモート サーバー上の選択した古いバージョンのファイルを削除することが含まれているためです。正しく機能していません。

したがって、スクリプトのこの部分は引き続き機能します。

...

... 上記の実行に対応するダイアログ ストリームは次のとおりです。

(注 - ハッシュ マークを使用すると、短いタイムアウト値を使用して、スクリプトがハングしているかどうかをすばやく検出できます)

ここまでは順調ですね!過去 6 年間、すべてはまだ機能していますが、次の行は「ftp unexpected prompt 2」で失敗します。探している文字列「\n226」がダイアログ ストリームにあるにもかかわらず、

非常に明確に、「ftp>」の前にダイアログ ストリームに「\n226」があったことに注意してください。「転送」または「完了」に変更してみましたが、それでも同じ効果がありました。現在、正常に完了したことを確認せずにスクリプトを実行していますが、明らかに満足していません。次の手順で選択した古いファイルが削除されるため、事故が発生するのを待っています。これは望ましくありません。これらのファイルが正常に転送されなかった場合、現在テストしていません。

入力ストリームのバッファリング/処理で何かが変更され、「ftp>」文字列を「見る」前に「\n226」または「転送」または「完了」を「見る」ように変更する必要があると思います、 しかし、なぜ?さらに言えば、どのように?:)

0 投票する
1 に答える
2218 参照

exception - 入力チャネルを開くためのOcaml例外処理

Ocamlの初心者として、私はこの現在機能しているコードを持っています:

ここで、存在しない入力ファイルのエラー処理を追加したいので、次のように記述しました。

エラーメッセージが表示されます。このパターンはオプションのタイプ'の値と一致しますが、ここでは最後の行のタイプexnの値と一致するために使用されます。_の代わりにNoneを使用すると、不完全な一致に関するエラーが発生します。

exnが例外タイプであることを読みました。ここで実際に何が起こっているのかわからないと思いますので、正しい方向に向けてください。ありがとう!

0 投票する
2 に答える
1071 参照

django - Unicode文字列と同等のASCII文字列のDjango近似マッチング

私は次のモデルとインスタンスを持っています:

今、私はオブジェクトを検索できるようにしたいのですが、ユニコードではなくアスキー文字を使用して、次のようなものを使用します:

データベース内のUnicode文字にASCIIスタンドインを使用して、この種の近似文字列マッチングを行う方法はDjangoにありますか?

これは関連する質問ですが、Appleのコアデータについてです。

0 投票する
1 に答える
2087 参照

javascript - オブジェクトの代わりに文字列を返す一致

この単純な正規表現マッチングは、すべてのブラウザーでオブジェクトの代わりに文字列を返しますが、最新の firefox...

私が知る限り、一致関数はオブジェクト (配列) を返すと想定されています。誰かがこの問題に遭遇しましたか?

0 投票する
2 に答える
967 参照

perl - Perl 正規表現で肯定的な先読みがキャプチャにつながるのはなぜですか?

このコードが機能する理由がわかりません:

これは幅ゼロの一致であり、一致した文字列が $& に入れられないことはわかっていますが、なぜ $1 に入れられるのでしょうか?

ありがとう!

0 投票する
2 に答える
1588 参照

algorithm - マイクロコントローラで実行する単純なパターン マッチング アルゴリズムのアイデアを探しています

単純な音声パターンを認識するプロジェクトに取り組んでいます。2 つのデータ セットがあり、それぞれが 4 ~ 32 の音符/デュレーションのペアで構成されています。1 つのセットは事前定義されており、もう 1 つは着信データ ストリームからのものです。強く相関する 2 つのデータ セットの長さは異なることがよくありますが、ほぼ同じ "形状" です。私の目標は、2 つのデータセットがどの程度相関/一致しているかについて、何らかのランキングを作成することです。

入力周波数をピッチに変換し、入力データ ストリームのピッチをシフトして、平均ピッチが事前定義されたデータ セットのピッチと一致するようにしました。また、事前定義されたセットの全体的な持続時間と一致するように、着信データ セットの持続時間を伸縮します。強い相関があるとしてランク付けする必要があるデータの 2 つのグラフの例を次に示します。

http://s2.postimage.org/FVeG0-ee3c23ecc094a55b15e538c3a0d83dd5.gif

(申し訳ありませんが、新しいユーザーとして、画像を直接投稿できませんでした)

リソースが最小限になるように、8 ビットのマイクロコントローラーでこれを行っています。速度はさほど問題ではなく、1 秒か 2 秒の処理が問題になることはありません。

明らかな解決策があったとしても、私は驚かないでしょう。私は問題をあまりにも長く見つめていました。何か案は?

前もって感謝します...

0 投票する
2 に答える
3227 参照

c# - 大きなテキストファイルの文字列と一致しますか?

サイズが152MBのテキストファイルに約700万個のアイテムを含む文字列のリストがあります。単一の文字列を受け取り、それがその文字列のリストにあるかどうかを返す関数を実装するための最良の方法は何でしょうか。