問題タブ [fuzzyjoin]

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 投票する
1 に答える
46 参照

r - Fuzzyjoin / stringdist_join 大文字と小文字の重み (大文字と小文字) の不一致 (stringdist)

R を使用して、大文字と小文字 (つまり、大文字と小文字) を区別する方法を探しています。string_dist_left_join()

再現可能な例を次に示します。

上記は、いくつかのティブルで fuzzyjoin を使用した stringidt_left_join を再現するコードです。出力は次のようになります。

Bedford と B ED ford を比較するなど、大文字の重みを付ける方法が必要です。Bedford と Bedford よりは悪いが、Bedford と Bed s ford よりは良い一致になるようにしたいと思います。このオプションignore_case = TRUEは、BEDford を Bedford と完全に一致するものとして扱います。

私は fuzzyjoin パッケージが好きで、削除、挿入、置換、転座のそれぞれについて stringdist に渡すことができるカスタムの重み付けを発見しました。これは素晴らしいです。遊ぶおもちゃ、調整するパラメーター。

私ができるようにしたいのは、大文字と小文字の一致を調整することです。ignore_case = TRUEstringdist_left_join にオプションがあります(実際には、重みのケースは 0 または 1 です)。

私が見逃しているオプションがどこかにあるかどうか誰かが知っていますか?

それとも答えですか:それは難しい方法ですか?実行前後の距離を比較したり、 と比較しtolower()て加重距離を計算したりするなど、長い道のりがあると思いますが、それを行うために使用できるよりエレガントな方法またはパッケージを知っている人はいますか?ignore_case = TRUEignore_case = FALSE

ありがとう

0 投票する
0 に答える
80 参照

r - Rで文字列マッチングの「ルール」を設定する方法はありますか?

私は、NLP に入ってモデルのトレーニングを開始することなく、この問題を解決する方法を見つけようとして頭を悩ませてきました。名前で一致させることができる 2 つのかなり大きなデータ セットがありますが、それらのスペルと構文はわずかに異なり、人間が理解するのは簡単ですが、あいまい一致とレーベンシュタイン編集距離ができないほど複雑です。データセットには大量の重複がありますが、手動でマッピングできないほど十分であるため、何を一致させるかについて「ルール」を作成しようとしています。FuzzyWuzzy などのパッケージを使用すると、より多くのオーダーメイド要素でこれを解決できますか? 以下の例、ありがとう!

これまでのところ、データセットの照合で最も近いのはファジー文字列照合ですが、これはうまく機能するだけであり、最大編集距離を増やすと、大きなチャンクを見逃したり、かなりのエラーが発生したりします.

それよりも少し深いデータセット。「The City of New York」は常に「New York City」に等しいというある種の「ルール」を作りたいと思っていましたが、これを行うためのよりスマートな方法があるかどうかはわかりません. この特定のテキストの例がお役に立てば幸いです。本当にありがとう!

0 投票する
0 に答える
173 参照

r - stringdist_left_join を使用して複数の列で結合しますが、すべてがあいまいではありません

出版物の 130 万行のデータセットがあり、レコードごとに、860 万行の 2 番目のデータセットから paper_id を取得したいと考えています。アイデアは、両方のテーブルから複数の列を使用して、次の機能的でありながら単純化されたスクリプトに示すように、データセット 2 内のデータセット 1 の一致を見つけることです。

ここで 2 つの問題があります。1 つ目は、あいまい一致を必要とするバリエーション (タイプミス、略語、特殊文字など) があるのは "タイトル" だけですが、コードは使用されている 3 つのフィールドすべてでバリエーションを受け入れます。これにより、類似したタイトルが異なる年や出版物に表示されるため、一致する可能性のある不正確なタイトルの数が膨らみます。

この最初の問題を解決すると思われる解決策は次のとおりです。

これで最初の問題は解決しますが、2 つ目の問題があります。スクリプトはサンプル データに対しては正常に実行されますが、データセット全体に対してスクリプトを使用しようとすると、「ベクター メモリが使い果たされました (制限に達しましたか?)」というエラーが表示されます。

だから、私の質問は次のとおりです。

  1. どの列を同一にする必要があり、どの列をあいまいにする必要があるかを判断することは可能でしょうか。これにより、スクリプトが軽くなる可能性がありますか?

  2. 同一の変数に従って両方のデータセットをサブセット化し、サブセット内のタイトルであいまい一致を実行して、すべてを元に戻す可能性はありますか? (これが機能するかどうかはわかりません。180,000 のサブセットがあるため、6 年間で 30,000 の出版物があります)。

どんな助けでも大歓迎です。

一番

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

r - 複数のデータフレームを `interval_left_join` する関数

したいデータフレームがいくつかありinterval_left_joinます。理論的には、データフレームを段階的に結合できますが、一度に結合を実行する関数を好むでしょう。

データ:

間隔にdf1基づいstartて注ぎ込みたい変数は、、、です。私がこれまでに試したのは以下のコードです: それは部分的に間違ったデータを出力し、完全に失敗します- ここで何が欠けているか間違っていますか?endv2v3v4v2v3v4

望ましい結果は次のとおりです。