단어별 의미 점수를 색·굵기·형광으로 바꾸는 JS 라이브러리 semfont, 해커뉴스 토론에서 화제
- semfont는 단어마다 valence(호감도), salience(주목도), surprise, certainty 네 점수를 매겨 색·굵기·형광·기울임으로 자동 변환하는 JS 라이브러리임. 161자 처리에 0.39ms가 걸림
- valence는 -1에서 1 범위로, 앞 3단어 안의 부정어가 부호를 뒤집고 0.74배로 감쇠하며(
not great→ -0.55), 앞 2단어 안의 강조어는 값을 증폭함(really great→ 0.98) - salience는 희귀도만으로는 부족하다고 보고 같은 텍스트 안의 반복 횟수를 함께 반영함. kubelet을 한 번 쓰면 0.23, 세 번 쓰면 0.51이 됨
- 창 규칙만으로는
I would not go so far as to call the new editor great의 great을 놓치므로, 절 단위 두 번째 패스가 부정어를 절 끝까지 확장하고fixed,recovered,avoided가 뒤따르는 대상을 개선된 것으로 표시하며 어떤 단어의 색이 왜 그렇게 나왔는지 notes에 기록함 - 모델 없이 휴리스틱만 쓰는 이유는 스트리밍이나 편집 중인 텍스트를 실시간으로 렌더링하기 위해서임. Firefox에서는 'semfont/analyze'가 bare specifier라는 TypeError로 동작하지 않았고 댓글을 보고 수정이 반영됨
Hacker News opinions
LLM 안 쓴다. 그냥 휴리스틱 규칙 묶음이라서 텍스트가 스트리밍되거나 편집되는 동안에도 빠르게 렌더링할 수 있음. 스트리밍 텍스트를 더 읽기 쉽게 만드는 게 목표임.
Firefox에서는 안 됨. 'semfont/analyze'가 bare specifier인데 아무 데도 리맵되지 않았다는 TypeError가 뜸. Chrome에서는 잘 됨.
나도 Firefox에서 아무 반응이 없길래 그냥 기능이 없는 건가 했다.
나도 Firefox에서 깨짐. 글쓴이가 여기 댓글 보고 고쳤다고 답글 달았더라.
아이디어는 진짜 신선함. 실제로 유용한지는 모르겠지만 재밌음. Jev 같은 걸로도 이걸 빠르게 할 수 있을까 궁금해짐. 토큰값 낼 생각은 없지만.
전제가 좀 잘못된 것 같음. 읽기를 돕는 게 아니라 훑어볼 단어만 골라주니까 결국 읽기를 피하게 만듦. 풍자 감지도 못 할 듯.
영어만 지원되는 게 아쉬움.
결과물이 읽기 불편함. AI가 쓴 나쁜 글처럼 느껴짐. 의미 무게를 미리 걸러내는데 강조가 잡음처럼 붙어서 텍스트가 숨을 안 쉬는 느낌임. 프로젝트 자체는 흥미로움.
난 폰트 자체에서 계산하는 건 줄 알았음. SansBullshitSans나 Chartwell, numderline, fontemon 같은 것들처럼.
재밌지만 퍼지진 않았으면 함. 매니저가 메신저 보내면서 빨간 단어가 너무 많다고 할 게 뻔함.
에이전트가 받아 적은 노트나 내 녹취록에는 유용할 듯. 공개하는 글에는 뜻하지 않은 의미가 실릴까 봐 안 쓰겠음. 내 노트에서는 비용이 크지 않음.
Chrome에서 해봤는데 별로 도움 되는지 모르겠음. 초등학교 문법 수업에서 문장에 단어 표시하던 느낌임.
Safari에서는 잘 됨. Chrome만 된다는 얘기들 많은데 나는 문제 없었음.
자연어용 문법 강조 같은 거라 큰 아이디어라고 봄. 이 구현이 좋은지는 별로 중요하지 않음.
폰트가 아니라 JS 라이브러리임.
코드에 색칠하는 게 왜 문제인지 얘기할 때 항상 드는 예시가 아무도 산문에는 그걸 안 한다는 거였는데, 이게 산문을 10배 더 읽기 어렵게 만든다는 산 증거임.