問題タブ [textmatching]
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.
uri - テキスト内の URI を一致させる方法は?
テキスト ブロック内の URI を特定するにはどうすればよいでしょうか。
アイデアは、そのような一連のテキストをリンクに変えることです。http(s) および ftp(s) スキームのみを考慮した場合、これは非常に簡単に実行できます。ただし、一般的な問題 (tel、mailto、およびその他の URI スキームを考慮した場合) は、はるかに複雑であると推測しています (可能であれば)。
可能であれば、C# でのソリューションを希望します。ありがとうございました。
sql - すべてのソースのレコードが同じ人物を表しているかどうかを判断する方法
次のような個人データを含むテーブルのソースがいくつかあります。
したがって、ソース1と2のID 1のレコードが同じ人物であると仮定すると、私の問題は、すべてのソースのレコードが同じ人物を表すかどうかを判断する方法です。さらに、すべてのレコードがすべてのソースに存在するわけではないことを確認してください。すべての名前は、主にスペイン語で書かれています。
この場合、データソースが国の公式識別局に対して厳密にチェックされていないことを前提としているため、正確な一致を緩和する必要があります。また、データを収集するプロセスの性質上、タイプミスが一般的であると想定する必要があります。さらに、レコードの量は、すべてのソースで約200万から300万です...
私たちのチームは次のようなことを考えていました。まず、ID NUMBERやNAMESなどの選択したフィールドで完全一致を強制して、問題がどれほど難しいかを確認します。次に、一致基準を緩和し、一致できるレコードの数を数えますが、ここで問題が発生します。ノイズを生成しすぎず、制限しすぎずに一致基準を緩和するにはどうすればよいでしょうか。
これを処理するためにどのツールがより効果的である可能性がありますか?たとえば、このマッチングをサポートするためのデータベースエンジンの特定の拡張機能について知っていますか?この近似一致を処理するためのsoundexのような巧妙なアルゴリズムについて知っていますが、スペイン語のテキスト用です。
どんな助けでもいただければ幸いです!
ありがとう。
sql-server - データ比較
会社名、住所、連絡先などを含む SQL Server テーブルがあります。
このテーブルとの照合を必要とする外部ソースから定期的にデータ ファイルを受け取ります。残念ながら、データは完全に異なるシステムからのものであるため、わずかに異なります。たとえば、「123 E. Main St.」があります。「123 East Main Street」と表示されます。別の例として、「Acme, LLC」があり、ファイルに「Acme Inc.」が含まれているとします。もう1つは、「エド・スミス」と「エドワード・スミス」です。
これらの一致を処理するために、かなり複雑で CPU を集中的に使用する方法を利用する従来のシステムがあります。純粋な SQL が関係するものもあれば、Access データベースの VBA コードが関係するものもあります。現在のシステムは優れていますが、完璧ではなく、面倒で維持が困難です。
ここの管理者は、その使用を拡大したいと考えています。システムのサポートを継承する開発者は、メンテナンスをあまり必要としない、より機敏なソリューションに置き換えることを望んでいます。
この種のデータ マッチングを処理する一般的に受け入れられている方法はありますか?
regex - メールアドレスの正規表現認識は難しい?
私は最近、標準のすべてのバリエーションと可能性を考慮して、電子メールアドレスに一致する正規表現を書くことは非常に難しく、最初に想定するよりもはるかに複雑であるとどこかで読みました。
何故ですか?
実際にこれを完全に行う既知の証明された正規表現はありますか?
電子メール アドレスの照合に正規表現を使用する代わりに、どのような方法がありますか?
java - Java でテキスト ファイルを 1 つの単位として表現し、テキスト内の文字列を一致させる
テキスト ファイル (または XML ファイル) を文字列全体として表現し、その中の特定の文字列を検索 (または一致) させるにはどうすればよいですか?
BufferedReader オブジェクトを作成しました。
次に、次のように、さまざまな区切り文字を指定するオプションを指定して Scanner クラスを使用しようとしました。
このような Scanner クラスを使用すると、テキストを 1 行ずつ、または単語ごとに読み取ることができますが、処理したいテキストで時々
私が言いたい<review>
のは、テキストのどこかに " " が見つかった場合は、" " が見つかるまで次の行 (またはテキストの一部) で何かを行うことです</review>
。問題は、<review>
and</review>
がテキスト内の別の場所にあり、他のテキストにくっついている場合があることです (したがって、区切り文字としての空白は役に立ちません)。
Javaの正規表現API(PatternクラスとMatcherクラス)を使えばいいのにと思ったのですが、特定の文字列や行にマッチするようで、テキストを1つの連続した文字列にしたい(少なくともこれが私の印象でした)私がそれらについて読んだことから)。この場合、どの構造/メソッド/クラスを使用すればよいか教えていただけますか? ありがとうございました。
perl - Perlで2つのドキュメント間で文字列の順序を一致させるにはどうすればよいですか?
2 つのドキュメントの単語を照合するための PERL プログラムを作成する際に問題が発生しました。文書AとBがあるとします。
したがって、ドキュメント B にないドキュメント A の単語を削除したいと考えています。
例 1 :
A: ピザを食べます
B: 彼女は市場に行ってピザを食べます
結果:ピザを食べる
例 2 : A: ピザを食べます
B: ピザを食べる
result:pizza (語順は関係あるので「食べる」は削除)
システムはPerlを使っていますが、各ドキュメントの文章数が多くないので、SQLは使わないと思います
このプログラムは、インドネシア語 (バハサ語) の作文自動採点のサブプログラムです。
ありがとう、私の質問が少しわかりにくい場合は申し訳ありません。私は「この世界」に本当に慣れていません:)
php - PHPでのstristrテキストマッチングの問題
csvファイルの文字列をmysqlテーブル(照合:ut8_general_ci)で一致する可能性のある文字列と一致させようとする非常に単純なスクリプトを実行しています。csvファイルの各行について、必要な文字列(haystack)を引き出します。これは次のようになります。
「FullCmte。MemberCityof RutlandRutlandVT」
文字列ごとに、データベースから一致のリストを取得し、stristrが一致を見つけるまでそれらを循環します。(正規表現の代わりにstristrを使用しているのは、それがより単純で(私は思う?)より速いからです。)一致する文字列の一部は、このデータセットに固有のエイリアスとして構築されているため、文法的/構文的に意味がありません。そのうちの1つは、「City of Rutland Rutland VT」(「City of Rutland(VT)」の別名)です。これは、上記の文字列と一致する必要がありますが、一致しません。これらの試合の90%以上については、問題はありません。ただし、特定のテキストマッチングが機能していないようです。
一致を生成できないもののリストは次のとおりです。
干し草の山=>針
- "FullCmte。MemberCityof Ocala Ocala FL" => "City of Ocala Ocala FL"
- "フルボードメンバー水と衛生地区アンソニーNM"=>"水と衛生地区アンソニー"
- 「EnergyCleanAir&Climate Change SubcmteMemberConsolInc。」=>「ConsolInc。」
- "フルカウンシルメンバー;シニアVP統合サービスBurkeInc.Cincinnati OH" => "Burke Inc."
- "テキサス州サンアントニオ市"=>"テキサス州サンアントニオ市"
- "フルCmteメンバーUnitedNationalIndian Tribal Youth Inc.(UNITY)" => "United National Indian Tribal Youth Inc."
- 「ECA&CCサブメンバーCyprusAmaxMineralsInc。」=>「CyprusAmaxMineralsInc。」
- 「シリコンバレー製造グループ」=>「シリコンバレー製造グループ」
- 「大統領地球環境資源株式会社ワシントンDC」=>「地球環境資源株式会社」
- 「ランカスターラボラトリーズ株式会社」=>「ランカスターラボラトリーズ株式会社」
私が完全に見逃した非常に基本的なものでない限り、これをどうすればよいかわかりません。ほとんどのエラーには「inc」があるようです。試合中ですが、それが原因かどうかはわかりません。
コードは次のとおりです(ただし、以下の答えは法案に適合します)。
今のところそれほど優雅ではありません。文字列を正規化して照合する方法について、追加の洞察をいただければ幸いです。
php - preg_replaceを使用したテキストマッチング用の文字列の正規化
MySQLデータベースの名前のセットとCSVファイルの文字列のセットの間で非常に単純なテキストマッチングを実行しています。実際の比較の前に、文字列を正規化するためのオプションの配列を指定してpreg_replaceを実行します。重要な置き換えの1つは、不規則な略語を通常の完全な単語に変更することです。でも「株式会社」のような略語はとらえられないようです。および「Inc」、「Corp」。末尾にピリオドがある場合とない場合がある「Corp」。
コードは次のとおりです。
動作していないいくつかの一致は次のとおりです(今後さらに表示されます)。
干し草の山=>針
- 「AriesInternationalInc。」=>「AriesIntl.Inc。」
- "フェルプスドッジコーポレーション"=>"フェルプスドッジコーポレーション"
- "McDermott Incorporated" => "McDermott Inc."
私の知る限り、「株式会社」を捕まえていません。と「Corp.」、少なくとも一貫してではありません。何か助けはありますか?
regex - 正規表現内でif句を使用する
現在、vb.netを使用して.netWindowsアプリをコーディングしています。
Regex.Match
記事から特定のテキストを抽出するために正規表現を渡そうとしています。正規表現内にif条件を記述するにはどうすればよいですか?この正規表現のチートシートを読みました。これによれば、を使用して条件を指定できます<?()>
が、例は示されていません。
たとえば、次のテキストがあります。
banana
次の式を使用して、(1) 、(2)apple
、および(3)を取り出すことができますNO pear
。
mary
しかし、(1)banana
と(2)の果物だけを抽出したい場合はapple
、その部分に条件を追加する必要があると思い(.+?\.)+?
ますよね?正規表現で条件を一覧表示するにはどうすればよいですか?
助けてください、ありがとう!
sql - TSQL を使用して varchar 内の varchar をカウントする方法
varchar 内の varchar の出現を数える最良の方法は何ですか。
特定の組み合わせを見つけるためにテキストをループすることはありません。
この選択は最初のものだけを見つけます
1 を返します
一致の総数を見つける方法が必要です
期待される結果
mssql サーバー 2005 の使用