문자열 편집 조작과 차이를 시각화합니다.
5058 단어 NLP파이썬문자열편집 거리Levenshtein
배경
레벤슈타인 거리 등의 편집 거리를 메트릭으로 사용하고 있을 때 어디가 다른지 분석하고 싶은 일이 있었습니다.
그런 배경으로부터 간편하게 편집 조작·차분을 성형·칼라 표시할 수 있는 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
마침내
의견・요망이 있으면, 부담없이 부탁드립니다.
Reference
이 문제에 관하여(문자열 편집 조작과 차이를 시각화합니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ukiuki-satoshi/items/56d99393219b6f01d9e9텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)