mdq.Similarity
의 결과를 두 단어가 일치하는 데 필요한 number of edits으로 변환하려면 어떻게해야합니까?MS SQL Server에서 mdq.Similarity 점수를 MDS의 편집 작업 수로 변환하는 방법은 무엇입니까?
USE [mds]
ALTER FUNCTION [mdq].[Similarity](@input1 [nvarchar](4000), @input2 [nvarchar](4000), @method [tinyint], @containmentBias [float], @minScoreHint [float])
RETURNS [float] WITH EXECUTE AS CALLER, RETURNS NULL ON NULL INPUT
AS EXTERNAL NAME [Microsoft.MasterDataServices.DataQuality].[Microsoft.MasterDataServices.DataQuality.SqlClr].[Similarity]
서로 그 길이를 설명하는 것 같다 다른 Levenshtein 거리를 생산에서 1 편집 떨어져있는 두 단어를 (번호 :이 함수는 다음과 같이 정의 마이크로 소프트 SQL 서버의 마스터 데이터 서비스 (MDS)의 일부입니다).
SELECT a=mds.mdq.Similarity('a','',0,0,0),
ab=mds.mdq.Similarity('ab','a',0,0,0),
abc=mds.mdq.Similarity('abc','ab',0,0,0),
ac=mds.mdq.Similarity('ac','ab',0,0,0)
a ab abc ac
0 0.5 0.67 0.5
반면에 각 쌍마다 단일 편집 (삽입, 삭제, 대체)으로 다른 두 단어가 있기 때문에 각 경우마다 1을 반환해야합니다.
나는 이것으로 놀고 싶지만 아직 기회가 없다. 그럼에도 불구하고, 당신이 한 일은 절대적으로 똑똑한 올렉을 닮았습니다. –