問題タブ [soundex]
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.
machine-learning - メタフォン対サウンデックス対NYSIIS
私は、入力単語のある種のより一般的な音声表現へのマッピングを使用して、発生する可能性のあるタイプミスを説明する暗黙のスペルチェッカーを考え出そうとしています。基本的には、ある程度まで自動的にスペルを修正する検索バーです。 。私が調べているのは、metaphone、nysiis、soundexの2つですが、このアプリケーションにどちらが適しているかはわかりません。
一致数を少なくするよりも優先的に多くしたいので、もう少し一般的な一致をしたいので、元のメタフォンよりも近似的なマッピングのように見えるsoundexを使用することを考えていました。でも曖昧さの違いがどれだけ大きいのかはよくわかりません。nysiisがsoundexにかなり似ていることは知っていますが、それらがどれほど似ているか、またはnysiisがmetaphoneとどのように比較されているかについてはよくわかりません。
また、実行が最も速いソリューションを探しています。これらのふりがなは通常かなり速いことは知っていますが、検索時間を長くせずにスペルをチェックできるようにしたいことを考えると、どちらが最も速いかはわかりません。速度が考慮されます。考え?
mysql - Mysql GROUP BY 類似フィールド
顧客の注文を含む次のテーブルがあるとします。
(私たちにとって)送料を節約するために、複数の注文を同じ人に、同じ住所に 1 つの印刷伝票で送ることができれば理想的です。このためには、ID 1、3、4 の一意のレコードが必要です。
City
およびZip
コードは、ユーザーが入力することはできません (ドロップダウンから選択) 。
理想的には、クエリによって次のものが返されることを望みます。
基本的に、SQL アルゴリズムは次の列で同様のグループ化を行っています: Name
, Email
, concat(Address_1 and Address_2)
.
アドバイスや解決策をいただければ幸いです。
する方法があれば
(絶望的な疑似コードについては本当に申し訳ありません..私の考えを伝えようとしているだけです)。
oracle - 文字列パラメータとして数値を使用するSoundex
SOUNDEXがNUMBERSを文字列として使用しない理由を知っていますか?
これらのクエリは正常に機能します。
しかし、これはそうではありません:
ドキュメントhttp://docs.oracle.com/cd/E11882_01/server.112/e26088/functions167.htm#SQLRF06109を読んでいましたが、それについて役立つ情報については触れていません。
java - Java:文字列のリストから最も可能性の高い文字列を見つける方法は?
スペルが異なる(完全に異なるわけではない)人の名を含むJavaの文字列のリストがあります。たとえば、JohnはJon、Jawn、Jaunなどのスペルである可能性があります。このリストで最も適切な文字列を取得するにはどうすればよいですか。この場合、Soundexの使用方法を誰かが提案できれば、非常に役立ちます。
tsql - SQLServerのテキストフィールドで名前を検索する方法
SQLServerのテキストフィールドから固有名を編集する必要があります。次の表があるとしましょう。
私はこれを行うことができます:
これは完全一致条件では問題なく機能するはずですが、誰かが[メモ]フィールドで名前または名前のスペルを間違えた場合、またはさらに悪いことに、ジムのようなニックネームを使用した場合はどうなりますか?
含むを使用した全文検索は、偏差が意味または派生ベースであるこの種のことには適していると思いますが、名前に対しては機能しますか?Notesに名前が含まれている行を検索するために機能したとしても、置換シナリオでは機能しないと思います。
SOUNDEXも検討しましたが、テキストフィールドにReplaceを使用してこれを行う方法もわかりません。Soundexなどを使用して確認できる唯一の方法は、テキストフィールドを単語に分割し、各単語を比較することです。非常に人口の多いテーブルの多くのテキストフィールドでこれを実行する必要があるため、より良い方法があれば、これを実行することに興奮していません。
誰かがこのようなことをした経験がありますか?
ありがとう
java - Java: 巨大なデータベースに Soundex アルゴリズムを使用する
私は、Java http://introcs.cs.princeton.edu/java/31datatype/Soundex.java.htmlで準備ができているSoundex Algorithmを使用しています。このプログラムの主な用途は、.cvs ファイルを準備し、そのエントリを配列に保存した後、このアルゴリズムを使用してこれらの配列の 1 つに音声上の類似性がないかチェックすることです。(soundex アルゴリズムの詳細はhttp://en.wikipedia.org/wiki/Soundex )。
私の .cvs ファイルには 200.000 エントリが多かれ少なかれ含まれているため、30.000 エントリをチェックするのに 5 時間かかります。これはかなり遅いと思います。[私のアルゴリズムは、既にチェックされているものを除いて、配列のすべてのエントリを他のすべてのエントリと一緒にチェックします - したがって、ここに問題があるとは思いません]。
だから、私の質問は次のとおりです。この時間を短縮する方法はありますか?
SQL を使用してデータベースをプログラムに直接接続することを考えていましたが、それを行う別の方法があるかどうかはわかりません。
どんな提案でも非常に役に立ちます。
java - カスタムの珍しい単語マッチングを使用した Android での音声テキスト変換
Android の Speech-To-Text エンジンを使用して、文中のさまざまな珍しい単語を認識できるようにしたいと考えています。
例を挙げると、「electroencephalograph」という言葉は、STT から「electronics supply graph」として出てきます。Soundex または Metaphone を使用して、話されている内容をハードコードされた値と比較すると、値がまったく一致しないか、ランダムに一致するように見えます。しきい値 (たとえば、Math.abs(str1.compareTo(str2)) <= 1) を使用すると、一致が非常に緩くなり、ほとんどすべてが一致します。
本質的に、私がやりたいことは、引用を暗唱して引用データベースから引用を検索することに似ています。問題は、Google の Speech-To-Text エンジンで使用される限られた単語セットにあるようです。
何か案は?
android - Android の phonegap 用の Soundex/Metaphone
次のようなものを使用して sql-searches を作成する必要があります:soundex
またはmetaphone
for android
over phonegap
。
しかし、どちらsoundex
もmetaphone
機能しません。
例:
SELECT * FROM customers WHERE soundex(surname) = soundex('Mayer');
soundex
これは、知られていないというメッセージをもたらします。
( )soundex
のようなものsoundex
を使用する方法を知っている人はいますか?phonegap
android