추상 위키백과/업데이트/2022-09-23

This page is a translated version of the page Abstract Wikipedia/Updates/2022-09-23 and the translation is 100% complete.
추상 위키백과 업데이트 Translate

메일링 리스트를 통한 추상 위키백과 IRC의 추상 위키백과 텔레그램의 위키함수 마스토돈의 위키함수 트위터의 위키함수 페이스북의 위키함수 유튜브의 위키함수 위키함수 웹사이트 Translate

추상 위키백과 자연어 생성 현황

추상 위키백과의 자연어 생성 워크스트림에서 작성한 이번 주 뉴스레터는 위키미디어 Diff 블로그에서 찾을 수 있습니다. 사본은 아래에 있습니다.

추상 위키백과 팀은 추상 콘텐츠를 자연어로 표현하기 위한 추가 조치를 취했습니다!

데니가 Diff에서 추상 위키백과에 대한 제안을 소개했을 때 그는 "추상 위키백과의 내용을 모든 위키백과의 자연어 텍스트로 번역할 수 있는 기능"의 필요성을 언급했습니다. 이러한 "기능"은 결국 커뮤니티 중심의 자연어 생성 파이프라인을 구성하게 됩니다. 해당 NLG 파이프라인에 대한 연구 및 프로토타입 제작이 이제 시작되었습니다. 이 게시물에서는 NLG 템플릿 시스템(NLG 파이프라인의 일부)의 아키텍처가 다른 구성 요소와 어떻게 연결되는지 간략하게 설명합니다. 또한 토론을 장려하고 커뮤니티에서 더 많은 기여를 할 수 있도록 열린 질문을 강조 표시할 것입니다.

AW 팀이 몇 주 전에 논의한 것처럼 렌더러라고도 하는 계획된 NLG 실현자이자 NLG 시스템의 구성 요소는 틀을 작성하는 데 도움이 되는 틀 언어를 사용하고 틀을 자연어 텍스트로 변환합니다. 틀 언어는 추상 콘텐츠(생성자로 캡처)에서 텍스트 생성을 조정하기 위해 높은 수준의 읽기 가능한 선언적 구문을 제공합니다. 그런 다음 틀 언어 파서는 일련의 함수 구성을 생성하며 자세한 내용은 Google.org 동료 아리엘 구트만과 마리아 키트 교수의 틀 언어 사양에 자세히 설명되어 있습니다. 이제 복잡성을 제한하고 상호 운용성을 보장하기 위해 이러한 함수에 대한 몇 가지 표준을 만들기 시작하는 것이 중요합니다. 따라서 추상 콘텐츠가 실제로 모든 언어에 도움이 될 수 있고 커뮤니티가 위키함수에서 생성자와 렌더러를 비교적 쉽게 작성할 수 있습니다. 8월 취리히에서 열린 회의에서 마리아 키트가 구글 동료들에게 한 테크톡에서 아프리카 언어를 교착하여 NLG를 수행하는 것과 관련된 몇 가지 복잡성에 대해 언급했습니다.

ORM 표기법에서 템플릿 언어의 주요 기능이 포함된 예시 다이어그램
ORM 표기법으로 된 템플릿 언어의 주요 기능이 있는 예시 다이어그램: 실선이 있는 직사각형 = 개체 유형; 점선이 있는 직사각형 = 값 유형(대략: 속성); 구분선과 그 옆에 레이블이 있는 사각형 = 관계; 화살표 = 포섭; 보라색 얼룩 = 필수 제약 조건; 직사각형 위의 보라색 선 = 고유성 제약 조건; 얼룩이 있는 보라색 원 = 둘 중 하나는 필수; 선이 있는 보라색 원 = 외부 고유성

NLG 실현자의 구현이 어떻게 보일지 더 잘 이해하기 위해 아리엘 구트만은 위키함수 구현을 알릴 스크리분토 프로토타입을 만들기 시작했습니다. 마히르 모셰드는 또한 실현자를 프로토타입하기 위해 파이썬으로 나나이우디론 라이브러리를 만들었습니다. 프로토타입에 대한 자세한 내용은 향후 Diff 게시물에서 공유하겠습니다. 동시에 Google.org 펠로우인 샌디 우드럽은 NLG 시스템을 위한 전용 UI에 대해 생각하기 시작했습니다. 앞서 언급한 회의에서 열리는 브레인스토밍 세션에서 그녀의 아이디어 중 일부를 배울 수 있습니다.

하나의 열린 질문은 생성자 자체에 관한 것입니다. 생성자는 추상 콘텐츠를 나타냅니다. 틀 언어 사양의 예를 적용해 보겠습니다:

Age(
   entity: Malala Yousafzai (Q32732)
   age_in_years: 25 
)

이것은 글을 쓰는 시점에 사실인 사실, 즉 말랄라 유사프자이의 나이를 나타내는 생성자이며, 영어로 "Malala Yousafzai is 25 years old."로 렌더링됩니다. 실제로 "age_in_years"는 함수 호출에 의해 정의될 가능성이 높습니다. 생년월일과 현재 날짜를 기준으로 나이를 계산하지만 명확성을 위해 여기서는 생략합니다.

우리의 많은 열린 질문은 이 예제 생성자가 얼마나 대표적인지에 관한 것입니다. 이 예제는 단일 명제를 나타내며 대부분의(아마도 모두?) 자연어에서 문장으로 실현될 수 있지만 모든 생성자에 해당할까요? 일부 생성자가 여러 명제를 포함하면 어떻게 될까요? 생성자가 불완전한 명제에 대응할 수 있습니까?

또 다른 질문 집합은 생성자와 해당 참여자 개체 간의 관계가 얼마나 일반적이어야 하는지에 관한 것입니다. "필승(Bi Sheng)이 1040년에 활자를 발명했습니다.(Bi Sheng invented movable type in 1040 AD.)"라는 문장의 생성자를 상상할 수 있습니다. 생성자를 여러 언어와 여러 명제에 재사용할 수 있도록 하기 위해 위의 "나이" 또는 이 경우 "발명"과 같은 보다 일반적인 장면이나 프레임을 보관하고자 합니다. 이 목적을 위해 어떤 언어적 형식화를 채택해야 합니까? FrameNet이 하나의 가능성이지만 다른 것이 더 잘 작동할 수 있습니까? 아니면 추상 위키백과가 "임시" 솔루션을 요구합니까? 문장에 속하지만 본질적으로 명제의 일부가 아닌 정보를 어떻게 처리합니까? 주어진 예에서 "in 1040 AD", 이것은 발명가와 발명자가 있는 방식으로 무언가를 발명한다는 개념의 "핵심" 부분이 아닙니까? 구글의 쿠츠 아리에타는 이러한 질문에 대해 생각하기 시작했습니다.

생성자가 작업을 완료하면 렌더러의 작업이 시작됩니다. 작업 중인 NLG 제안은 위키데이터의 어휘 형식이 문법적 특징(예, 명사와 동사의 경우 수, 실체의 경우 성별 또는 클래스, 동사의 경우 측면 및 시제 및 분위기 등)으로 표시될 것이라고 가정합니다. 마히르 모르셰드와 나머지 NLG 기고자들은 위키데이터의 사전 콘텐츠에서 이러한 표현을 표준화하는 작업을 시작했지만 우리 NLG 시스템은 데이터가 항상 존재하거나 완전할 것이라고 가정할 수 없습니다. 따라서 여기서 우리의 질문은 누락된 어휘 데이터를 해결하는 방법에 관한 것입니다. 시스템이 문장을 생성할 때 불확실한 단어에 대해 여러 가능성을 제공할 수 있습니까? 이때 사용자가 새 용어를 추가할 수 있어야 합니까? 그렇다면 다른 프로젝트의 맥락에서 위키데이터에 기여하도록 어떻게 안내할까요?

이것들은 큰 질문이지만 그들이 제시하는 도전이 위협적이기보다는 흥미진진해 보이기를 바랍니다. 언제나처럼 여러분의 기여를 환영합니다. 커뮤니티에 존재하는 광범위한 경험과 순수한 수의 언어가 가능한 가장 공평한 솔루션을 찾는 데 도움이 되기를 바랍니다.