문자열 편집 조작과 차이를 시각화합니다.

배경



레벤슈타인 거리 등의 편집 거리를 메트릭으로 사용하고 있을 때 어디가 다른지 분석하고 싶은 일이 있었습니다.
그런 배경으로부터 간편하게 편집 조작·차분을 성형·칼라 표시할 수 있는 Python 라이브러리를 작성했으므로 소개합니다.

할 수 있는 일


すももも桃も桃のうち
すもももももももものうち

이러한 수정 전·수정 후 문자열 쌍의 편집 차이를 다음과 같이 표시할 수 있습니다.
삭제·치환 전의 문자를 빨강으로,
삽입·치환 후의 문자를 파랑으로,
조작할 필요가 없는 문자를 녹색으로 표시하고 있습니다.

HTML 출력





Console 컬러 출력





설치


$ pip install visedit쓰기 시 현재 Python3 이후에만 대응.

코드 예



코드 예(콘솔의 컬러 출력)


from visedit import StringEdit

# 修正前の文字列
source_str = "すももも桃も桃のうち"

# 修正後の文字列
target_str = "すもももももももものうち"

se = StringEdit(source_str, target_str)

# コンソール出力する場合
print(se.generate_text())
# 色変更も可能
se = StringEdit(source_str, target_str, text_color_settings={
    "wrong": "YELLOW", # 削除・置換前文字を黄に
    "correct": "GREEN", # 挿入・置換後文字を緑に
    "base": "WHITE", # 操作なし文字を白に
})
print(se.generate_text())

코드 예제 (IPython의 HTML 출력)



from visedit import StringEdit
from IPython.display import HTML

# 修正前の文字列
source_str = "すももも桃も桃のうち"

# 修正後の文字列
target_str = "すもももももももものうち"

se = StringEdit(source_str, target_str)
HTML(se.generate_html())
# HTMLも色変更も可能
se = StringEdit(source_str, target_str, html_color_settings={
    "wrong": "YELLOW", # 削除・置換前文字を黄に
    "correct": "GREEN", # 挿入・置換後文字を緑に
    "base": "BLACK", # 操作なし文字を黒に
})
HTML(se.generate_html())

색상은 다음을 지원합니다.
BLACK
RED
GREEN
YELLOW
BLUE
PURPLE
CYAN
WHITE

마침내



의견・요망이 있으면, 부담없이 부탁드립니다.

좋은 웹페이지 즐겨찾기