파이썬 | 문자열 유사성 메트릭

| | |

방법 # 1: 순진한 접근 방식 사용(sum() + zip() )
함수 sum을 사용하는 순진한 접근 방식을 사용하여 이 특정 작업을 수행할 수 있습니다. 및 zip을 사용하여 두 문자열의 유사성을 계산할 수 있는 유틸리티 함수를 공식화할 수 있습니다.


# Python3 데모 코드
# 행 간의 유사성
# 순진한 방법을 사용하여 (sum() + zip())


# 유사도 계산을 위한 유틸리티 함수

def 유사(str1, str2):

str1 = str1 <코드 클래스 ="키워드 "> + <코드 클래스 = "s 문자열 "> `` <코드 클래스 ="키워드 "> * <코드 클래스 ="일반 "> ( <코드 클래스 ="기능 "> len <코드 클래스 = "일반"> (str2) <코드 C lass = "keyword"> - len (str1) )

<코드 클래스 = "일반"> str2 <코드 클래스 = "키워드"> = <코드 클래스 = "일반"> str2 <코드 클래스 = "키워드"> + < 코드 클래스 = "문자열"> `` <코드 클래스 = "키워드"> * <코드 클래스 = "일반"> ( <코드 클래스 = "함수"> 렌 <코드 클래스 = "일반"> (str1) <코드 클래스 = " 키워드 "> - <코드 클래스 ="기능 "> len <코드 클래스 ="일반 " > (str2))

반환 합계 ( 1 if 나는 <코드 클래스 = "키워드"> = <코드 클래스 = "키워드"> = <코드 클래스 = "일반"> j <코드 클래스 = "keyword"> else <코드 클래스 = "값"> 0

<코드 클래스 s = "keyword"> for i, j in zip (str1, str2)) / float ( <코드 클래스 ="기능 "> 렌 <코드 클래스 ="일반 "> (str1))

<코드 클래스 =" 정의되지 않은 공백 ">
# 문자열 초기화

test_string1 = ` Geeksforgeeks`

test_string2 <코드 클래스 = "키워드 " > = `Geeks4geeks`


# 순진한 방법 사용(sum() + zip())
# 줄 간 유사성

<코드 클래스 = "일반 "> 해상도 <코드 클래스 ="키워드 "> = 유사(test_string1, test_string2)


# 결과 출력

인쇄 ( "두 문자열 간의 유사성은 다음과 같습니다." <코드 클래스 = "키워드"> + <코드 클래스 = " 기능 "> str <코드 클래스 ="일반 "> (res))

출력:

두 문자열 간의 유사성은 다음과 같습니다. 0.38461538461538464 

방법 # 2: 사용 SequenceMatcher.ratio ()
이 특정 작업을 수행하는 데 도움이 되는 기본 제공 메서드가 있으며 이 특정 작업은 특별한 접근 방식이 필요하지 않으므로 수행하는 것이 좋습니다. 작업을 보다 효율적으로 수행하기 위해 내장된 구문을 사용합니다. / p>

<표 테두리 = "0" cellpadding = "0" cellspaci ng = "0">

# Python3 데모 코드
# 줄 간 유사성
# SequenceMatcher.ratio 사용 ()

difflib 가져오기 code> SequenceMatcher


# 유사도 계산을 위한 유틸리티 함수

def 유사(str1, str2):

return SequenceMatcher ( 없음 , str1, str2) .ratio ()


# 라인 초기화

test_string1 = <클래스 코드 = "문자열"> `Geeksforgeeks`

test_string2 = <코드 클래스 = " string"> `괴짜`


# SequenceMatcher.ratio 사용( )
# 행 간의 유사성

res = 유사(test_string1, test_string2)


# 결과 인쇄

인쇄 ( "두 문자열 간의 유사성은 다음과 같습니다." + str (res ))

출력:

두 문자열 간의 유사성은 다음과 같습니다. 0.5555555555555556 

Shop

Learn programming in R: courses

$

Best Python online courses for 2022

$

Best laptop for Fortnite

$

Best laptop for Excel

$

Best laptop for Solidworks

$

Best laptop for Roblox

$

Best computer for crypto mining

$

Best laptop for Sims 4

$

Latest questions

NUMPYNUMPY

psycopg2: insert multiple rows with one query

12 answers

NUMPYNUMPY

How to convert Nonetype to int or string?

12 answers

NUMPYNUMPY

How to specify multiple return types using type-hints

12 answers

NUMPYNUMPY

Javascript Error: IPython is not defined in JupyterLab

12 answers

News


Wiki

Python OpenCV | cv2.putText () method

numpy.arctan2 () in Python

Python | os.path.realpath () method

Python OpenCV | cv2.circle () method

Python OpenCV cv2.cvtColor () method

Python - Move item to the end of the list

time.perf_counter () function in Python

Check if one list is a subset of another in Python

Python os.path.join () method