본문 바로가기
SAS/SAS 함수

【SAS 함수】 377. SPEDIS

by 기서무나구물 2021. 10. 11.

포스팅 목차

    o SPEDIS

     


    두 단어 사이의 비대칭적 스펠링 거리로써 표현되는 두 단어 매칭의 가능성을 정의한다.

    Category: 문 자

     


    문 법


    SPEDIS
     (query,keyword)

    Arguments

         query

              는 단어.

     


    참 고

    첫번째 문자는 그대로 반환하고, 첫 글자 이외의 "AEHIOUWY" 단어는 생략한다. 그리고, 아래의 같은 음성 그룹이 연속으로 있을 경우 하나만 반환한다.

    1: B F P V
    2: C G J K Q S X Z
    3: D T 4: L
    5: M N
    6: R

      MATCH 0   완전 일치
      SINGLET 25   두 문자 중에 하나를 지운다.
      DOUBLET 50   문자가 이중
      SWAP 50   2개의 연속된 단어의 순서를 전환한다.
      TRUNCATE 50   끝에서 문자를 지운다.
      APPEND 35   끝에 문자를 추가한다.
      DELETE 50   중간에 문자를 지운다.
      INSRERT 100   중간에 문자를 삽입한다.
      REPLACE 100   중간에 문자를 교체한다.
      FIRSTDEL 100   첫 번째 문자를 지운다.
      FIRSTINS 200   시작에 문자를 삽입한다.
      FIRSTREP 200 첫 번째 문자를 교체한다.

     


    관련 함수

    함수명 함수 내용
    COMPARE 두 문자 차이가 있는 것중 가장 왼편의 위치를 반환한다.
    COMPGED 일반화된 편집 거리 계산에 의해 두 문자 사이의 거리를 계산한다.
    COMPLEV Levenshtein 편집 거리 계산에 의해 두 문자의 거리 계산한다.
    CALL COMPCOST COMPGED 함수에서 사용되는 운영 비용을 정의한다.
    SPEDIS
    두 단어 사이의 비대칭적 스펠링 거리로써 표현되는 두 단어 매칭의 가능성을 정의한다.

     


    예 제

    QUERY와 KEYWORD 사이의 문자 거리를 계산한다.

    SAS Statements
    data SPEDIS;
         input oper $ query $ keyword $;
         dist = spedis(query,keyword);
         cost = dist * length(query);
    
         put oper    $10.
             query   $10.
             keyword $10.
             dist 5.
             cost 5.;
    cards;
    match       fuzzy        fuzzy
    singlet     fuzy         fuzzy
    doublet     fuuzzy       fuzzy
    swap        fzuzy        fuzzy
    truncate    fuzz         fuzzy
    append      fuzzys       fuzzy
    delete      fzzy         fuzzy
    insert      fluzzy       fuzzy
    replace     fizzy        fuzzy
    firstdel    uzzy         fuzzy
    firstins    pfuzzy       fuzzy
    firstrep    wuzzy        fuzzy
    several     floozy       fuzzy
    ;

     

    Results
    oper        query      keyword   dist     cost  
    match       fuzzy      fuzzy       0        0  
    singlet     fuzy       fuzzy       6       24  
    doublet     fuuzzy     fuzzy       8       48  
    swap        fzuzy      fuzzy      10       50  
    truncate    fuzz       fuzzy      12       48  
    append      fuzzys     fuzzy       5       30  
    delete      fzzy       fuzzy      12       48  
    insert      fluzzy     fuzzy      16       96  
    replace     fizzy      fuzzy      20      100  
    firstdel    uzzy       fuzzy      25      100  
    firstins    pfuzzy     fuzzy      33      198
    firstrep    wuzzy      fuzzy      40      200  
    several     floozy     fuzzy      50      300

     


    SAS 함수(SAS Function) 리스트 링크

     

    엑셀(EXCEL)과 SAS 함수(SAS Function) 비교 리스트 링크

     

    SAS 데이터 스텝 구문 리스트(SAS Data Step Statement)
    반응형

    'SAS > SAS 함수' 카테고리의 다른 글

    【SAS 함수】 379. STD  (0) 2021.10.11
    【SAS 함수】 378. SQRT  (0) 2021.10.11
    [SAS 함수] 376. SOUNDEX  (0) 2021.10.11
    【SAS 함수】 375. SMALLEST  (0) 2021.10.11
    [SAS 함수] 374. SLEEP  (0) 2021.10.11

    댓글