인터넷 아카이브 봇

From Meta, a Wikimedia project coordination wiki
Jump to navigation Jump to search
This page is a translated version of the page InternetArchiveBot and the translation is 100% complete.
Other languages:
Deutsch • ‎English • ‎Esperanto • ‎dansk • ‎español • ‎français • ‎galego • ‎italiano • ‎magyar • ‎polski • ‎português • ‎português do Brasil • ‎shqip • ‎suomi • ‎беларуская (тарашкевіца) • ‎русский • ‎اردو • ‎العربية • ‎مصرى • ‎हिन्दी • ‎বাংলা • ‎ไทย • ‎中文 • ‎日本語 • ‎ꯃꯤꯇꯩ ꯂꯣꯟ • ‎한국어
Coolest Tool Award 2019 square logo.svg
InternetArchiveBot
2019 Coolest Tool Award Winner
in the category
Impact

인터넷아카이브봇(IABot)이 무엇인가요?

인터넷아카이브봇(InternetArchiveBot)은 Cyberpower678의 글로벌 커뮤니티 요청에 따라 주로 WMF 위키용으로 설계된 강력한 PHP 겸 프레임워크 독립적인 OAuth 봇입니다. 추상적 클래스의 위키 특정 함수를사용하여 다른 규칙을 가진 다른 위키에서 실행되는 전역 봇입니다. 유연성을 극대화하기 위해 운영자 및/또는 위키 커뮤니티에 맞게 변경할 수있는 온/오프 사이트 구성 값을 제공합니다. 그 기능은 깨진 링크의 여러 측면을 해결하는 것입니다. 대규모 사이트의 경우 작업을 더 빨리 완료하기 위해 지정된 수의 작업자가 있는 다중 스레드로 설정할 수 있습니다. 각 작업자는 자신의 페이지를 분석하고 나중에 통계와 함께 마스터에게 보고합니다.

어떤 일을 하나요?

IABot에는 페이지를 분석할 때 수행할 수 있는 기능 모음이 있습니다. 목표는 가능한 한 완벽하게 깨진 링크를 처리하는 것이므로 다음과 같은 방법으로 링크를 분석합니다.

  1. DB가 아닌 페이지에서 URL을 찾습니다. 이를 통해 봇은 URL이 인용 틀, 참조에서 사용되는지 또는 링크가 없는 지 감지하는 것과 같이 URL이 사용되는 방식을 파악할 수 있습니다. 이를 통해 봇은 거의 사람처럼 다양한 방식으로 형식이 지정된 출처를 지능적으로 처리할 수 있습니다.
  2. 링크가 이미 존재하고 웨이백 머신(Wayback Machine)에 보관을 요청하지 않는 경우 아카이브를 확인합니다.
  3. 웨이백 머신의 아카이브를 조사하여 죽은 링크에 대한 페이지의 작업 복사본을 가져 오거나 위키백과의 URL에 이미 사용중인 아카이브를 사용합니다.
  4. 태그가 지정되지 않은 데드 링크가 죽었는 지 그렇지 않은 지 확인합니다. 이것은 0.1 %의 거짓 양성 비율을 가집니다.
  5. 인용 틀에서 URL로 확인되는 틀을 자동으로 해결하고 그곳에서 작업합니다. 접근일과 같은 틀에도 동일하게 적용됩니다.
  6. 모든 정보를 DB에 저장하면 이 정보를 사용할 수있는 인터페이스를 사용할 수 있으며 봇이 학습하고 서비스를 개선할 수 있습니다.
  7. 활성화된 경우 기존 아카이브 URL을 긴 형식으로 변환합니다.
  8. 아카이브 틀의 부적절한 사용 또는 잘못된 형식의 URL 수정.

작동 방식

IABot의 함수는 수행하는 함수에 따라 여러 클래스에 있습니다. 통신 관련 함수와 위키 구성 값은 API 클래스에 저장됩니다. DB 클래스의 DB 관련 함수, 정적 코어 클래스의 기타 핵심 함수, CheckIfDead 클래스의 데드 링크 검사 함수, 스레드 클래스의 스레드 엔진, 추상 파서 클래스의 전역 및 위키 관련 구문 분석 함수가 있습니다. 마지막 함수를 제외한 모든 함수가 모든 위키에서 균일하게 실행될 수 있지만 파서 클래스는 추상적인 특성으로 인해 클래스 확장이 필요합니다. 클래스 확장에는 봇이 주어진 규칙에 따라 주어진 위키에서 제대로 작동할 수 있도록하는 함수가 포함되어 있습니다. 봇이 시작되면 파서 클래스의 적절한 확장을 로드하고 이를 파싱 클래스로 초기화합니다.

환경 설정

v2.0부터 IABot 구성을 위한 위키 페이지는 더 이상 사용되지 않습니다. 대신 봇은 IABot 관리 인터페이스로 구성됩니다. 모든 전역 키워드는 계속 사용됩니다.

여러분이 InternetArchiveBot을 직접 실행하는 경우 위키 구성 페이지에서 동일한 디렉토리에 새로운 deadlink.config.local.inc.php 파일을 생성하여 구성할 수 있습니다. 만일 누군가 InternetArchiveBot을 실행 중이고 특정 위키에 대해 구성해야하는 경우 "Dead-links.js"라는 봇 사용자 페이지의 하위 페이지를 설정하고 구성할 수 있습니다. 예를 들어, User:InternetArchiveBot/Dead-links.js. 구성 값은 아래에 설명되어 있습니다:

  • link_scan – 페이지를 분석 할 때 스캔 할 대상을 결정합니다. 문서의 모든 외부 URL을 처리하려면 0으로 설정합니다. 참조 태그 내에 있는 URL만 스캔하려면 1으로로 설정하세요.
  • page_scan – 실행할 때 스캔할 페이지를 결정합니다. 모든 주요 공간을 스캔하려면 0으로 설정하세요오. 데드 링크 태그가 있는 페이지만 검색하려면 1으로 설정합니다.
  • dead_only – 접하거나 수정할 수 있는 URL을 결정합니다. 봇이 모든 링크를 수정할 수 있도록 하려면 0으로 설정합니다. 봇이 죽은 것으로 태그가 지정된 URL만 수정할 수 있도록 하려면 1로 설정합니다. 2로 설정하면 봇이 데드(dead)로 태그가 지정된 모든 URL과 태그가 지정되지 않은 모든 데드 URL을 수정할 수 있습니다.
  • tag_override – URL에 대한 자체 판단을 무시하도록 봇에 지시합니다. 만일 봇이 URL이 살아 있다고 판단할 때 사람이 URL을 죽은 것으로 태그를 지정하면 이 값을 1로 설정하면 태그가 봇의 판단을 무시할 수 있습니다. 비활성화하려면 0으로 설정하세요.
  • archive_by_accessdate – 이 값을 1로 설정하면 봇이 가능한 한 URL 원본 접근 데이터에 가까운 아카이브 스냅 샷을 제공하도록 지시합니다. 이것을 0으로 설정하면 봇은 단순히 최신 작업 아카이브를 찾게됩니다. 이에 대한 예외는 이미 검색된 URL에 대해 이미 검색되어 DB에 저장된 아카이브 스냅 샷입니다.
  • touch_archive – 이 설정은 봇이 이미 연결된 아카이브 스냅 샷이 있는 URL을 건드릴 수 있는지 여부를 결정합니다. 1로 설정하면 이 기능이 활성화됩니다. 0으로 설정하면 이 기능이 비활성화됩니다. 유효하지 않은 아카이브가 존재하거나 아카이브 URL 형식이 잘못 감지되는 경우 봇은 이 설정을 무시하고 해당 URL을 건드립니다.
  • notify_on_talk – 이 설정은 봇이 해당 토론 페이지의 페이지에 적용된 변경 사항에 대한 메시지를 남기도록 지시합니다. 주요 페이지를 편집할 때 새 아카이브가 URL에 추가되거나 기존 아카이브가 변경된 경우에만 토론 페이지 메시지가 남습니다. 주요 페이지를 편집하지 않고 토론 페이지 메시지만 남길 때, URL이 죽은 것으로 감지되거나 주어진 URL에 대한 아카이브 스냅 샷이 발견되면 메시지가 남습니다. 1로 설정하면 이 기능이 활성화됩니다. 0으로 설정하면 비활성화됩니다.
  • notify_error_on_talk – 이렇게하면 봇이 각 토론 페이지에 보관되지 않은 문제적 소스에 대한 메시지를 남기도록 지시합니다. 1로 설정하면 이 기능이 활성화됩니다.
  • talk_message_headernotify_on_talk가 1로 설정되어 있을 때 남겨진 토론 페이지 메시지의 섹션 헤더를 설정합니다.
    사용 가능한 매직 워드는 #전역 매직 워드 하위 섹션을 참조하세요.
  • talk_messagenotify_on_talk가 1로 설정되었을 때 남겨진 토론 페이지 메시지의 본문입니다.
    사용 가능한 매직 워드는 #전역 매직 워드 하위 섹션을 참조하세요.
  • talk_message_header_talk_only – 봇이 주요 문서를 편집하지 않을 때 남는 토론 페이지 메시지의 섹션 헤더를 설정합니다.
    사용 가능한 매직 워드는 #전역 매직 워드 하위 섹션을 참조하세요.
  • talk_message_talk_only – 봇이 본문을 편집하지 않을 때 남겨진 토론 페이지 메시지의 본문입니다.
    사용 가능한 매직 워드는 #전역 매직 워드 하위 섹션을 참조하세요.
  • talk_error_message_headernotify_error_on_talk가 1로 설정된 경우 남겨진 토론 페이지 오류 메시지의 섹션 헤더를 설정합니다.
  • talk_error_messagenotify_error_on_talk가 1로 설정되었을 때 남겨진 토론 페이지 오류 메시지의 본문입니다.
    다음 매직 워드를 지원합니다:
    1. {problematiclinks}: 아카이브 절차 중에 발생한 오류 목록을 생성한 글 머리 기호입니다.
  • deadlink_tags – 찾을 데드 링크 태그 모음입니다. 넘겨주기를 자동으로 해결하므로 넘겨주기가 필요하지 않습니다. 매개 변수없이 문서에서와 같이 틀 형식을 지정합니다.
  • citation_tags – URL을 지원하는 검색할 인용 태그 모음입니다. 넘겨주기를 자동으로 해결하므로 넘겨주기가 필요하지 않습니다. 매개 변수없이 문서에서와 같이 틀 형식을 지정합니다.
  • archive#_tags – IABot이 사용하는 보관 서비스를 지원하는 검색을 위한 일반 보관 태그 모음입니다. 넘겨주기를 자동으로 해결하므로 넘겨주기가 필요하지 않습니다. 매개 변수없이 문서에서와 같이 틀 형식을 지정합니다. "#"은 숫자입니다. 서로 다른 고유한 보관 틀을 처리하기 위해 여러 범주를 구현할 수 있습니다. 이는 봇이 주어진 위키에서 이를 처리하도록 설계된 방법에 따라 다르며 위키별로 다릅니다.
  • talk_only_tags – 찾을 IABot 태그 모음으로, 봇에게 토론 페이지 메시지만 남기라는 신호를 보냅니다. 이러한 태그는 활성 구성을 재정의합니다.
  • no_talk_tags – 찾을 IABot 태그 모음으로, 봇에게 토론 페이지 메시지를 남기지 말 것을 알립니다. 이러한 태그는 활성 구성을 재정의합니다.
  • ignore_tags – 찾을 봇별 태그 모음입니다. 이러한 태그는 태그가 첨부된 소스를 무시하도록 봇에 지시합니다. 넘겨주기를 자동으로 해결하므로 넘겨주기가 필요하지 않습니다. 매개 변수없이 문서에서와 같이 틀 형식을 지정합니다.
  • verify_dead – 데드 링크 검사기 알고리즘을 활성화합니다. 봇은 태그가 지정되지 않고 아직 데드 URL로 플래그가 지정되지 않은 모든 정보를 확인하고 해당 정보에 대해 조치를 취합니다. 활성화하려면 1로 설정하세요. 비활성화하려면 0으로 설정하세요.
  • archive_alive – 웨이백 머신에 보관하기 위해 아직 웨이백 머신에 없는 살아있는 URL을 제출합니다. 활성화하려면 1로 설정하세요. 웨이백 머신 개발자의 허가가 필요합니다.
  • notify_on_talk_only – 주요 문서 편집을 비활성화하고 토론 페이지에만 메시지를 남깁니다. 이것은 notify_on_talk보다 우선합니다. 활성화하려면 1로 설정하세요.
  • convert_archives – 이 선택 사항은 가능한 경우 인식된 모든 아카이브를 HTTPS로 변환하도록 봇에 지시하고 가능한 경우 긴 형식의 스냅 샷 URL에 디코딩 가능한 타임 스탬프와 원래 URL을 포함하도록 합니다.
  • convert_to_cites – 이 선택 사항은 봇이 제목이 없는 참조 내부의 일반 링크를 인용 틀로 변환하도록 지시합니다. 비활성화하려면 0으로 설정하세요.
  • mladdarchive{modifiedlinks} 매직 워드의 일부로, URL에 아카이브를 추가하는 것을 설명하는 데 사용됩니다:
    다음 매직 워드를 지원:
    1. {link}: 원래 URL.
    2. {newarchive}: 원래 URL의 새 아카이브.
  • mlmodifyarchive{modifiedlinks} 매직 워드의 일부로, 원래 URL에 대한 아카이브 URL의 수정을 설명하는 데 사용됩니다:
    다음 매직 워드를 지원합니다:
    1. {link}: 원래 URL.
    2. {oldarchive}: 원래 URL의 옛 아카이브.
    3. {newarchive}: 원래 URL의 새 아카이브.
  • mlfix{modifiedlinks} 매직 워드의 일부로, URL의 형식 변경 또는 수정 사항을 설명하는 데 사용됩니다.
    다음 매직 워드를 지원합니다:
    1. {link}: 원래 URL.
  • mltagged{modifiedlinks} 매직 워드의 일부로, 원래 URL이 죽은 것으로 태그가 지정되었음을 설명하는 데 사용됩니다.
    다음 매직 워드를 지원합니다:
    1. {link}: 원래 URL.
  • mltagremoved{modifiedlinks} 매직 워드의 일부로, 원래 URL이 죽은 것으로 태그가 지정되지 않았음을 설명하는 데 사용됩니다.
    다음 매직 워드를 지원합니다:
    1. {link}: 원래 URL.
  • mldefault{modifiedlinks} 매직 워드의 일부로, {modifiedlinks} 매직 워드를 생성할 때 내부 오류가 발생할 경우 기본 텍스트로 사용됩니다.
    다음 매직 워드를 지원합니다:
    1. {link}: 원래 URL.
  • mladdarchivetalkonly{modifiedlinks} 매직 워드의 일부로, URL에 아카이브를 추가하는 것이 좋습니다. 본문이 편집되지 않았을 때 사용됩니다.
    다음 매직 워드를 지원합니다:
    1. {link}: 원래 URL.
    2. {newarchive}: 원래 URL의 새 아카이브.
  • mltaggedtalkonly{modifiedlinks} 매직 워드의 일부로, 원래 URL이 죽은 것으로 확인되어 태그가 지정되어야함을 설명하는 데 사용됩니다. 본문이 편집되지 않았을 때 사용됩니다.
    다음 매직 워드를 지원합니다:
    1. {link}: 원래 URL.
  • mltagremovedtalkonly{modifiedlinks} 매직 워드의 일부로, 원래 URL이 죽은 것으로 태그가 지정되었지만 살아있는 것으로 확인되어 태그 제거를 권장하는 것을 설명하는 데 사용됩니다. 본문이 편집되지 않았을 때 사용됩니다.
    다음 매직 워드를 지원합니다:
    1. {link}: 원래 URL.
  • plerror{problematiclinks} 매직 워드의 일부로, 보관 중에 웨이백 머신에서 발생한 문제를 설명하는 데 사용됩니다.
    다음 매직 워드를 지원합니다:
    1. {problem}: 문제 URL.
    2. {error}: 아카이브 절차 중에 URL에 대해 발생한 오류입니다.
  • maineditsummary – 이것은 봇이 주요 문서를 편집할 때 사용할 편집 요약을 설정합니다.
    사용 가능한 매직 워드는 #전역 매직 워드 하위 섹션을 참조하세요. (항목 11과 12, 13은 지원되지 않습니다)
  • errortalkeditsummary – 이것은 문서의 토론 페이지에 오류 메시지를 게시할 때 봇이 사용할 편집 요약을 설정합니다.
  • talkeditsummary = 이것은 문서의 토론 페이지에 분석 정보를 게시할 때 봇이 사용할 편집 요약을 설정합니다.
    사용 가능한 매직 워드는 #전역 매직 워드 하위 섹션을 참조하세요.

전역 매직 워드

위의 각 구성 선택 사항에서 언급한 경우 다음 매직 워드를 사용할 수 있습니다.

  1. {namespacepage}: 분석된 주요 문서사의 페이지 이름입니다.
  2. {linksmodified}: 본문에서 태그가 지정되거나 복구된 링크 수입니다.
  3. {linksrescued}: 본문에서 복구된 링크의 수입니다.
  4. {linksnotrescued}: 본문에서 복구할 수 없는 링크 수입니다.
  5. {linkstagged}: 본문에서 죽은 태그가 붙은 링크의 수입니다.
  6. {linksarchived}: 본문에서 웨이백 머신에 보관된 링크 수입니다.
  7. {linksanalayzed}: 본문에서 전체적으로 분석된 링크 수입니다.
  8. {pageid}: 분석된 본문의 페이지 ID입니다.
  9. {title}: 분석된 본문 이름의 URL로 인코딩된 변형입니다.
  10. {logstatus}: 봇이 본문을 편집하도록 설정되어 있으면 "수정"을 반환합니다. 봇이 토론 페이지에만 메시지를 남기도록 설정되어있는 경우 "게시 됨"을 반환합니다.
  11. {revid}: 본문에 대한 편집의 개정 ID입니다. 본문에 대한 편집이 없으면 비어 있습니다.
  12. {diff}: 본문 편집의 개정 비교 페이지 URL입니다. 본문에 대한 편집이 없으면 비어 있습니다.
  13. {modifedlinks}: 다른 변수의 사용자 정의 텍스트를 사용하여 본문에 대해 수행되었거나 수행할 작업의 글머리 기호 생성 목록입니다.

소스 코드

현재 소스 코드는 https://github.com/Internetarchive/internetarchivebot에서 찾을 수 있습니다.

로드맵

1 단계 (완료) – InternetArchiveBot은 분류:문서에 죽은 외부 링크가 있는 영어 위키백과의 모든 페이지를 처리하고 가능한 많은 죽은 링크를 웨이백 머신의 아카이브 링크로 대체합니다.

2 단계 (완료) – InternetArchiveBot이 영어 위키백과의 모든 페이지를 처리하도록하여 태그가 지정되지 않은 죽은 링크를 찾고 아카이브 링크로 대체하세요.

3단계 (진행중) - 영어 위키백과 외에 다른 위키에 인터넷 아카이브 봇을 사용 (커뮤니티의 동의 하에 진행)

관리

깨진 링크에 대한 오탐지를 보고하고 봇이 단일 페이지를 수정하도록 지시하는 등 InternetArchiveBot의 여러 측면을 https://iabot.toolforge.org/에서 관리할 수 있습니다.