列内のテキストが検索文字列とどの程度厳密に一致するかを示す浮動小数点の関連性スコアを返します。
Syntax
TEXTSIMILARITY(<within_text_column>, <search_text>[, <match_mode>])
Parameters
| 任期 | Definition |
|---|---|
within_text_column |
検索するテキスト値を含む列。 列には文字列データ型が必要です。 |
search_text |
検索条件を定義するテキスト文字列。 |
match_mode |
(省略可能)使用する一致する動作。 サポートされている値は、 TEXTMATCHING、 FUZZYMATCHING、および PHRASEMATCHINGです。 既定値は TEXTMATCHING です。 |
値を返す
浮動小数点字句の関連性スコア。 1 つの評価内では、スコアが高いほど一致が強いことを示し、0 は一致がないことを示します。
スコアは、パーセンテージ、確率、または正規化された類似性メジャーではなく、不透明なランク付け値です。 同じ検索コンテキスト内でのみスコアを比較します。
スコアは、個別のクエリ実行、検索文字列、列、フィルター コンテキスト、データ ソースまたはストレージ モード、インデックスの内容または生成、または実行プラン間で同等または安定することが保証されません。 これらの要因により、表示されるテキスト値が変更されていない場合でも、スコア付けコーパスまたはスコアリングの実装が変更される可能性があります。
一致モード
| モード | Behavior |
|---|---|
TEXTMATCHING |
search_textトークン化し、検索トークンに一致するテキストをスコア付けします。 |
FUZZYMATCHING |
小さな編集距離内の検索トークンに似たトークンをスコア付けします。 このモードでは、入力ミストレラントな照合がサポートされます。 |
PHRASEMATCHING |
分析されたトークンが隣り合って指定した順序で表示されるときに、テキストをスコア付けします。 句読点はトークン シーケンスに影響しません。 |
注釈
- 検索では大文字と小文字が区別されません。
- この関数は、モデル カルチャに基づいて言語固有のステミングとストップワードの削除を適用します。 たとえば、ステミングを使用すると、
running、runs、およびrunnerと一致するrunを検索できます。 単語の削除を停止すると、the、and、of、inなどの一般的な入力者の単語が無視されます。 - 列ごとの照合順序では、アナライザー言語は制御されません。 モデル カルチャによって制御されます。 Power BIデスクトップで、File>Options と settings>Options>Current file>Regional settings>Model 言語を選択してモデル言語を設定します。 詳細については、FORMATを参照してください。
- サポートされているモデル カルチャは次のとおりです。
- 英語 (
en) - フランス語 (
fr) - ドイツ語 (
de) - スペイン語 (
es) - ポルトガル語 (
pt) - ロシア語 (
ru) - アラビア語 (
ar) - トルコ語 (
tr) - デンマーク語 (
da) - オランダ語 (
nl) - フィンランド語 (
fi) - ギリシャ語 (
el) - ハンガリー語 (
hu) - イタリア語 (
it) - ノルウェー語 (
no、nb、nn) - ルーマニア語 (
ro) - スウェーデン語 (
sv) - タミル語 (
ta)
- 英語 (
- サポートされていないカルチャの場合、
TEXTSIMILARITYでは、ステミングやストップ ワードの削除を行わずに汎用の小文字トークナイザーを使用します。 - アクセント 折りたたみはサポートされていません。 たとえば、
caféはcafeと一致しません。 - この関数には、
within_text_columnに永続化されたフルテキスト インデックスが必要です。 インポート、デュアル、および Direct Lake ストレージ モードでサポートされています。 その他のストレージ モードではエラーが返されます。 - 関数は行ごとに評価されます。 非常に大きなテーブルの計算列で使用する前に、代表的なワークロードでパフォーマンスをテストします。
- 関連性スコアではなくブール一致結果が必要な場合は、 TEXTCONTAINS を使用します。
Examples
最も関連性の高い行を返す
次のクエリは、 great refrigeratorの関連性スコアが最も高い 5 つのレビューを返します。
EVALUATE
TOPN (
5,
FactReviews,
TEXTSIMILARITY ( FactReviews[Text], "great refrigerator" ), DESC
)
| テキストの例 | Score |
|---|---|
This is a great refrigerator, keeps everything cold and quiet. |
3.42 |
Fantastic fridge! Great cooling performance and very spacious. |
2.98 |
Our old refrigerator broke and this new one works great. |
2.54 |
Refrigerator is decent, not great but gets the job done. |
1.72 |
The refrigerator section is large, freezer is okay. |
1.10 |
行のフィルター処理とランク付け
次のクエリでは、結果が refrigeratorに一致するレビューに制限され、 great refrigeratorとの関連性によってランク付けされます。
EVALUATE
TOPN (
5,
FILTER (
FactReviews,
TEXTCONTAINS ( FactReviews[Text], "refrigerator" )
),
TEXTSIMILARITY ( FactReviews[Text], "great refrigerator" ), DESC
)
TEXTCONTAINS と TEXTSIMILARITY は独立して実行されます。
TEXTCONTAINSを使用して行をフィルター処理しても、スコアの計算に使用されるインデックス スコープTEXTSIMILARITY変更されません。
| テキストの例 | Score |
|---|---|
This is a great refrigerator - quiet, spacious, and keeps food fresh. |
3.42 |
Fantastic fridge. Cooling performance is excellent and build quality is great. |
3.01 |
Our old refrigerator died, but this new one works great and runs silently. |
2.67 |
The refrigerator section is huge. Would be great if the freezer were larger. |
1.94 |
Solid refrigerator. Not the best, but overall a great value for the price. |
1.65 |
関連性スコアを表示する
次のクエリでは、各製品の説明の関連性スコアが結果に追加されます。
EVALUATE
ADDCOLUMNS (
Products,
"Relevance score", TEXTSIMILARITY ( Products[Description], "wireless bluetooth" )
)
| テキストの例 | Score |
|---|---|
Wireless headphones with Bluetooth |
2.35 |
Wired headphones |
0 |