MATLAB ヘルプ センター
編集距離による最近傍の検出
idx = knnsearch(eds,words)
[idx,d] = knnsearch(eds,words)
[idx,d] = knnsearch(eds,words,Name,Value)
idx = knnsearch(eds,words) は、words の各要素に対する編集距離探索器 eds で最近傍のインデックスを検出します。
idx
eds
words
例
[idx,d] = knnsearch(eds,words) は、words の要素と最近傍要素の間の編集距離も返します。
d
[idx,d] = knnsearch(eds,words,Name,Value) は、1 つ以上の名前と値のペアの引数を使用して、追加のオプションを指定します。
Name,Value
すべて折りたたむ
編集距離探索器を作成します。
vocabulary = ["Text" "Analytics" "Toolbox"]; eds = editDistanceSearcher(vocabulary,2);
"Test" と "Analysis" に最も近い単語を見つけます。
"Test"
"Analysis"
words = ["Test" "Analysis"]; idx = knnsearch(eds,words)
idx = 2×1 1 2
返されたインデックスを使用してボキャブラリから単語を取得します。
nearestWords = eds.Vocabulary(idx)
nearestWords = 1×2 string "Text" "Analytics"
vocabulary = ["MATLAB" "Text" "Analytics" "Toolbox"]; eds = editDistanceSearcher(vocabulary,2);
"Test" と "Analysis" に最も近い単語とその編集距離を検出します。
words = ["Test" "Analysis"]; [idx,d] = knnsearch(eds,words)
idx = 2×1 2 3
d = 2×1 1 2
"Test" という単語を "Text" に変更するには、1 回の編集 (置換) が必要です。"Analysis" という単語を "Analytics" に変更するには、2 回の編集 (置換と挿入) が必要です。
"Text"
"Analytics"
vocabulary = ["MathWorks" "MATLAB" "Analytics"]; eds = editDistanceSearcher(vocabulary,5);
最も近い 2 つの単語、およびそれらから "Math" と "Analysis" までの編集距離を検出します。
"Math"
words = ["Math" "Analysis"]; idx = knnsearch(eds,words,'K',2)
idx = 2×2 1 2 3 NaN
"Math" に最も近い 2 つの単語を表示します。
idxMath = idx(1,:); newWords = eds.Vocabulary(idxMath)
newWords = 1×2 string "MathWorks" "MATLAB"
"Analysis" からの最大編集距離内に単語が 1 つしかないため、関数は他のインデックスに対して NaN を返します。有効なインデックスをもつ最も近い単語を表示します。
NaN
idxAnalysis = idx(2,:); idxAnalysis(isnan(idxAnalysis)) = []; newWords = eds.Vocabulary(idxAnalysis)
newWords = "Analytics"
editDistanceSearcher
編集距離探索器。editDistanceSearcher オブジェクトとして指定します。
入力単語。string ベクトル、文字ベクトル、または文字ベクトルの cell 配列として指定します。words を文字ベクトルとして指定した場合、関数は引数を 1 つの単語として扱います。
データ型: string | char | cell
string
char
cell
オプションの引数のペアを Name1=Value1,...,NameN=ValueN として指定します。ここで、Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は重要ではありません。
Name1=Value1,...,NameN=ValueN
Name
Value
R2021a より前では、コンマを使用して名前と値をそれぞれ区切り、Name を引用符で囲みます。
例: knnsearch(eds,words,'K',3) は、words の要素に対する 3 つの最近傍を eds 内で見つけます。
knnsearch(eds,words,'K',3)
K
words 内の各要素について検出する最近傍の数。正の整数として指定します。
例: 'K',3
'K',3
データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
single
double
int8
int16
int32
int64
uint8
uint16
uint32
uint64
IncludeTies
false
true
等しい距離値をもつ近傍を返すオプション。true または false として指定します。
'IncludeTies' が false の場合、関数は編集距離が最も短い K 個の近傍を返します。ここで、K は検出する近傍の数です。この場合、関数は N 行 K 列の行列を出力します。ここで、N は入力単語の数です。K を指定するには、名前と値のペアの引数 'K' を使用します。
'IncludeTies'
'K'
'IncludeTies' が true の場合、関数は出力内の下位 K 位の距離に等しい距離をもつ近傍も返します。この場合、関数は N 行 1 列のサイズの cell 配列を出力します。ここで、N は入力単語の数です。cell 配列の要素は、少なくとも K 個の要素をもつベクトルです。この関数は、各ベクトル内の近傍を距離の昇順で並べ替えます。
例: 'IncludeTies',true
'IncludeTies',true
データ型: logical
logical
探索器内の最近傍のインデックス。行列またはベクトルの cell 配列として返されます。
データ型: double | cell
近傍までの編集距離。行列またはベクトルの cell 配列として返されます。
R2019a で導入
correctSpelling | editDistance | editDistanceSearcher | rangesearch | splitGraphemes | tokenizedDocument
correctSpelling
editDistance
rangesearch
splitGraphemes
tokenizedDocument
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
ヨーロッパ
アジア太平洋地域
最寄りの営業オフィスへのお問い合わせ