인용 정확도 개선

안녕하세요. 저는 디스코스를 비교적 최근에 시작한 사용자입니다. 이전에 겪었던 문제에 대해 제가 만든 스레드가 있습니다:

이것이 버그인지 아닌지는 잘 모르겠습니다. 제가 요청하는 기능은 누군가의 일부 텍스트를 인용할 때 인용 레벨을 정확히 유지하는 것입니다. 예를 들어,
이것을 사용한다고 가정해 보겠습니다: A History of Pizza | History Today :

Pizza is the world’s favourite fast food. We eat it everywhere – at home, in restaurants, on street corners. Some three billion pizzas are sold each year in the United States alone, an average of 46 slices per person. But the story of how the humble pizza came to enjoy such global dominance reveals much about the history of migration, economics and technological change.

이렇게 인용하면:


인용 버튼을 누르면 이렇게 됩니다:

이 부분만 인용하면:

이렇게 됩니다:

제 말을 인용한 것처럼 표시됩니다. 이는 잘못된 것입니다. 인용된 텍스트를 인용한 것으로 표시되지 않습니다.

5개의 좋아요

하지만 이것은 인용된 사용자의 인용구입니다. 이것이 오류이거나 잘못된 것인지 확신이 서지 않습니다. 앞선 문장(여기서는 링크)도 함께 인용해야 합니다.

일반적으로 그렇습니다. 네, 맞는 말인 것 같습니다. 제가 해결하려고 하는 일반적인 시나리오를 하나 소개해 드리겠습니다:

피자는 전 세계적으로 가장 인기 있는 패스트푸드입니다. 우리는 어디서나 피자를 먹습니다 – 집에서, 레스토랑에서, 길거리에서. 미국에서만 매년 약 30억 장의 피자가 판매되며, 1인당 평균 46조각에 해당합니다. 그러나 겸손한 피자가 어떻게 이러한 전 세계적 지배력을 얻게 되었는지에 대한 이야기는 이민, 경제, 기술 변화의 역사에 대해 많은 것을 보여줍니다.

여기서 30억 장의 피자라는 부분에 대해서만 언급/토론/지적하고 싶다면 이렇게 합니다:


그 결과 다음과 같이 나옵니다:

저는 이렇게 나오기를 원합니다:

이렇게 하면 인용된 텍스트를 다시 인용하고 있음을 보여줄 수 있습니다.

이미 다른 시나리오에서는 이렇게 작동합니다:

1개의 좋아요

즉, 질문하신 내용은 인용 기능이 컨텍스트를 포함해야 한다는 것이며, 이를 위해 선택 영역의 시작 부분을 실제로 이전 텍스트를 복사하지 않고 재귀적으로 확장하여 컨텍스트의 시작점까지 도달하도록 해야 한다는 뜻입니다.
예를 들어, 선택된 텍스트는 <b> 안에 있고, 그 <b><a> 안에 있으며, 그 <a>는 인용 블록 안에 있고, 그 인용 블록은 상위 인용 블록 안에 있는 식으로 중첩될 수 있습니다.

말씀하신 문제는 인용 기능이 전반적으로 어떻게 작동하는지에 관한 것입니다. A History of Pizza | History Today 링크의 일부만 선택하면, 텍스트는 인용되지만 링크(그리고 인용 블록 자체)는 생략됩니다.

이러한 종류의 컨텍스트를 포함하는 것이 좋은 아이디어라고 생각하지만, 구현하기가 복잡할 것 같습니다 :thinking:

2개의 좋아요

저는 그런 동작을 원치 않습니다. 제가 선택한 것이 바로 인용하고 싶은 부분인데, 소프트웨어가 그것을 함부로 바꾸어서는 안 됩니다. 소프트웨어, 즉 개발자가 사용자를 더 잘 안다고 생각하고 멋대로 고치기 시작하는 것은 항상 나쁜 생각입니다. 그런 일은 마이크로소프트와 윈도우가 하는 일입니다 :joy:

이것은 둘 중 무엇이 더 바람직한지에 관한 문제입니다. 왜냐하면 우리는 양쪽의 장점을 동시에 가질 수 없기 때문입니다. 맥락을 함께 인용하면 가치가 있을 수 있지만, 맥락을 생략하면 손해를 볼 수도 있습니다. :person_shrugging:

대부분의 경우, 내가 인용할 때 선택한 부분의 전체 맥락을 포함하는 것이 더 나았을 것이라고 생각합니다.

약간의 오해가 있는 것 같습니다. 제가 표현하는 방식 때문일까요? 위에서 드린 예시를 들어볼게요:

기본 텍스트:
A History of Pizza | History Today 에서 가져온 내용:

피자는 전 세계에서 가장 인기 있는 패스트푸드입니다. 우리는 어디서나 피자를 먹습니다 – 집에서, 식당에서, 거리 모퉁이에서. 미국에서만 매년 약 30억 장의 피자가 판매되며, 1인당 평균 46조각에 해당합니다. 그러나 평범한 피자가 어떻게 전 세계적으로这么大的 지배력을 갖게 되었는지에 대한 이야기는 이주, 경제, 기술 변화의 역사에 대해 많은 것을 보여줍니다.

이제 여러분이나 다른 누군가가 제가 공유한 내용을 토론을 위해 인용하고 싶다고 합시다. 제가 언급했듯이, 예를 들어 ‘10억 장의 피자’ 부분에 대해서만 저의 인용을 직접적으로 인용하면, 인용 버튼을 누를 때 다음과 같이 나옵니다:

Discourse를 사용할 때 주의를 기울이지 않으면, 마치 제가 그 말을 한 것처럼 보입니다. 이것은 기술적으로 잘못된 인용입니다. 기술적 실현 가능성이 어떻게 되는지 모르겠지만, 가 그 말을 한 것이 아님을 보여주기 위해 > 표시와 함께 인용되어야 합니다.

2개의 좋아요

실제 동작:

원하는 동작:

이 경우 "이 사용자의 게시물에 있는 인용문 안에 있는 링크 안에 있는 세계"라는 컨텍스트를 유지합니다.

2개의 좋아요

현재 기능의 문제는 잘못된 인용을 초래한다는 것입니다. 여러 번 제 포럼에서 사람들이 제가 작성한 텍스트인 것처럼 인용했지만, 실제로는 제가 인용한 책의 텍스트인 경우가 있었습니다. 인용 수준이 정확했다면, 사람들이 저자가 인용된 것이 아니라 제가 그 텍스트를 작성한 것으로 오해하지 않았을 것입니다.

비기술적이고 정확하지 않은 사용자들이 임의의 텍스트를 선택하고 인용 버튼을 클릭했을 때, 명백히 잘못된 인용이 생성되지 않도록 하는 것이 안전하다고 생각합니다.

이메일 목록은 이 문제를 더 잘 처리합니다. 맥 메일에서 인용 수준 3의 텍스트를 선택한 후 답장 버튼을 누르는 것을 관찰해 보세요:

사용자가 인용문 외에도 항상 출처를 인용하도록 기대하는 것은 효과적이지 않습니다. 사용자가 그렇게 해야 한다는 것을 알지 못할 수 있습니다. 추가 텍스트로 게시물을 지저분하게 하고 싶지 않을 수도 있습니다. 인용문의 중간 부분만 인용하는 경우, 정확히 하려면 출처와 인용하려는 부분 사이의 텍스트를 수동으로 삭제하고 생략호를 입력해야 합니다. 또한 인용문의 여러 섹션을 별도로 답장하기 위해 인용하는 경우, 게시물에 출처를 여러 번 포함하고 싶지 않을 것입니다.

예를 들어 굵게 표시된 문구를 인용했는데 굵게 표시된 텍스트의 시작이나 끝을 인용하지 않아서 굵게 표시되지 않은 인용문이 생성되는 경우에도 문제가 있다고 생각합니다. 하지만 이는 인용 블록 내부의 누락된 인용 수준보다 게시자가 미리보기에서 시각적으로 훨씬 더 쉽게 알아차릴 수 있으며, 여기서 발생하는 오류의 해로움은 잘못된 인용 출처보다 작습니다.

전반적으로 이 문제를 어떻게 처리하든, 사용자가 수동으로 실수를 하지 않는 한 인용 수준과 출처는 절대 잘못되어서는 안 된다고 생각합니다.

4개의 좋아요

이 예를 한번 살펴보세요:

나는 굵게 표시된 단어를 선택했지만, 결과가 그렇지 않았습니다.

왜일까요? 내부적으로 원본은 before **Bold sentence with words.** after처럼 보이지만, 인용하는 사용자에게는 이것이 표시되지 않기 때문입니다. 사용자는 리치 텍스트를 보고 리치 텍스트에서 굵게 표시된 단어를 선택했으며, 결과가 굵게 표시되기를 기대했습니다. 그들은 별표(*)가 포함되지 않은 마크다운 텍스트의 일부 선택한 것으로 자신을 인식하지 않았습니다.

또한, 이것을 관찰해 보세요:

당신은 이것이 소프트웨어가 선택 사항을 변경하지 않고 단순히 문자 그대로 따르는 것이라고 말합니다. 하지만 이러한 결과는 리치 텍스트의 관점에서만 의미가 있습니다. 기초 마크다운의 관점에서 보면, 소프트웨어는 제 선택 사항을 변경했습니다. 제 선택 사항에는 닫는 **가 포함되지 않았지만, 포럼 소프트웨어가 그것을 추가했습니다.

사람들이 원시 마크다운에서 인용하도록 하려면, 마크다운을 표시하고 직접 선택하여 인용할 수 있게 하면 되겠죠. 리치 텍스트를 선택했는데 마크다운(의 일부)을 기반으로 인용이 생성되는 것은 혼란스럽고, 사용자가 의도하지 않은 결과를 초래합니다.

2개의 좋아요

어떤 주제를 논의하고 싶으신가요:

  • 사람들이 인용을 올바르게 하지 못하므로, 소프트웨어가 인용으로 사용할 텍스트의 양을 추측해야 한다는 것
  • 인용에 마크다운이 누락되는 것

첫 번째는 현재 여기에서 가지고 있는 문제입니다. 두 번째는 Contribute > Bug, Support 또는 #contribute:ux에서 새로운 주제로 가치가 있습니다.

같은 문제입니다. 제가 드린 첫 번째 예시에서 "with"를 굵게 표시해야 한다는 말씀이신가요? 이는 표시된 리치 텍스트 측면에서 선택된 텍스트에 적용되었던 기본 마크다운의 > 기호가, 선택된 텍스트에는 포함되지 않았다는 점과 동일한 것입니다(기본 원시 마크다운 측면에서).

그리고 사용자가 일부 텍스트를 강조 표시한 뒤 “인용” 버튼을 누르고 그 아래로 답글을 작성하는 경우, 그것은 사용자 오류가 아닙니다. 사람들이 인용을 제대로 못 하는 문제가 아닙니다. 제공된 사용자 인터페이스를 완전히 합리적인 방식으로 사용한 것입니다. 하지만 때때로 부정확한 인용이 생성됩니다.

이것들은 완전히 다른 문제입니다.

첫 번째는 사용자가 인용하고 싶은 인용문을 얻기 위해 선택해야 할 줄들을 전혀 선택하지 않는 경우입니다. 마치 게시글의 왼쪽 절반만 복사해 놓고도 여전히 붙여넣기를 원하는 것과 같은 상황입니다.

두 번째는 인용된 부분이 유일한 경우 마크다운으로 처리되지 않는 버그입니다. 텍스트 자체는 인용되어 있습니다.

같은 문제입니다:

사용자는 리치 텍스트로 표시된 텍스트를 선택합니다. 이 때 사용자는 그것이 인용 블록의 일부임을 명확히 볼 수 있습니다(굵게 표시되어 있는 것과 마찬가지입니다). 그런 다음 사용자가 이를 인용하면, 원본 마크다운에서 해당 > 기호가 있는 위치를 선택하지 않았기 때문에 마크다운(이 경우 **이 아닌 >)이 생략됩니다. 사용자가 선택한 텍스트는 사용자에게 인용된 텍스트처럼 보였음에도 불구하고, 실제 인용된 텍스트가 아닌 일반 텍스트로 인용됩니다. 그 결과, 사용자는 디킨스의 텍스트를 엘리엇이 쓴 것처럼 잘못 제시하게 됩니다. 이 스레드가 다루는 문제가 바로 이것입니다.

제가 생각하기에 Discourse가 취해야 할 올바른 인용 방식은 다음과 같습니다. 이메일 클라이언트가 수십 년 전에 작동했던 방식처럼, 인용 수준을 한 단계 높인 형태입니다:

이것은 엘리엇이 그 텍스트를 인용한 것이지, 본인이 직접 쓴 것이 아님을 보여줍니다.

3개의 좋아요

동의합니다. 같은 문제입니다.

컨텍스트를 포함한다고 해서 소프트웨어가 인용할 텍스트의 양을 추측하는 것은 아니라고 생각합니다.
텍스트는 우리가 선택한 그대로입니다. 더 적지도 더 많지도 않습니다. 컨텍스트를 추가하는 것은 텍스트를 추가하는 것이 아니라, 서식을 추가하는 것이며, 오직 서식만 추가하는 것입니다.

4개의 좋아요

OP가 요청한 내용이 아닙니다.

게시판 작성자가 제시한 예시에서, 실제로 발생하는 결과와 원하는 결과를 비교해 보면 추가 텍스트 없이 포맷만 다릅니다:

6개의 좋아요