WPS Office를 위한 AI 기반 글쓰기 도우미 구축
WPS Office는 전 세계 1억 5천만 명 이상의 사용자를 보유한 Kingsoft가 개발한 생산성 도구입니다. 이 회사의 인공지능(AI) 부서는 의도 인식 및 텍스트 클러스터링과 같은 의미 매칭 알고리즘을 사용해 스마트 글쓰기 도우미를 처음부터 구축했습니다. 이 도구는 웹 애플리케이션과 WeChat 미니 프로그램으로 모두 제공되며, 사용자가 제목을 입력하고 최대 다섯 개의 키워드를 선택하기만 하면 개요, 개별 단락, 전체 문서를 빠르게 작성할 수 있도록 도와줍니다.
글쓰기 도우미의 추천 엔진은 오픈 소스 유사도 검색 엔진인 Milvus를 사용해 핵심 벡터 처리 모듈을 구동합니다. 아래에서는 비정형 데이터에서 특징을 추출하는 방법과 Milvus가 데이터를 저장하고 도구의 추천 엔진을 구동하는 데 수행하는 역할을 포함해 WPS Office의 스마트 글쓰기 도우미 구축 과정을 살펴보겠습니다.
바로가기:
- 비정형 텍스트 데이터 이해하기
- TFIDF 모델을 사용해 특징 추출 극대화하기
- 양방향 LSTM-CNNs-CRF 딥러닝 모델로 특징 추출하기
- Infersent를 사용해 문장 임베딩 생성하기
- Milvus로 벡터 저장 및 쿼리하기
비정형 텍스트 데이터 이해하기
해결할 가치가 있는 현대의 모든 문제와 마찬가지로, WPS 글쓰기 도우미 구축은 지저분한 데이터에서 시작됩니다. 좀 더 정확히 말하자면, 의미 있는 특징을 추출해야 하는 수천만 개의 밀도 높은 텍스트 문서입니다. 이 문제의 복잡성을 이해하려면 서로 다른 뉴스 매체의 두 기자가 같은 주제에 대해 어떻게 보도할 수 있는지 생각해 보십시오.
두 기자 모두 문장 구조를 지배하는 규칙, 원칙, 과정은 따르겠지만, 서로 다른 단어를 선택하고, 다양한 길이의 문장을 만들며, 유사한(또는 어쩌면 서로 다른) 이야기를 전달하기 위해 각자의 기사 구조를 사용할 것입니다. 고정된 차원 수를 가진 구조화된 데이터셋과 달리, 텍스트 본문은 이를 지배하는 구문이 매우 유연하기 때문에 본질적으로 구조가 부족합니다. 의미를 찾기 위해서는 비정형 문서 코퍼스에서 기계가 읽을 수 있는 특징을 추출해야 합니다. 하지만 먼저 데이터를 정제해야 합니다.
텍스트 데이터를 정제하는 방법은 다양하며, 이 글에서는 그중 어느 것도 깊이 다루지 않습니다. 그럼에도 불구하고 이는 데이터 처리를 선행하는 중요한 단계이며, 태그 제거, 악센트 문자 제거, 축약형 확장, 특수 문자 제거, 불용어 제거 등을 포함할 수 있습니다. 텍스트 데이터 전처리 및 정제 방법에 대한 자세한 설명은 여기에서 확인할 수 있습니다.
TFIDF 모델을 사용해 특징 추출 극대화하기
비정형 텍스트 데이터를 이해하기 시작하기 위해, WPS 글쓰기 도우미가 참조하는 코퍼스에 단어 빈도-역문서 빈도(TFIDF) 모델을 적용했습니다. 이 모델은 단어 빈도와 역문서 빈도라는 두 가지 지표의 조합을 사용해 문서 내 각 단어에 TFIDF 값을 부여합니다. 단어 빈도(TF)는 문서 내 특정 용어의 원시 개수를 해당 문서의 전체 용어 수로 나눈 값을 나타내며, 역문서 빈도(IDF)는 코퍼스의 문서 수를 해당 용어가 나타나는 문서 수로 나눈 값입니다.
TF와 IDF의 곱은 한 용어가 문서에 얼마나 자주 나타나는지에 말뭉치에서 해당 단어가 얼마나 고유한지를 곱한 척도를 제공합니다. 궁극적으로 TFIDF 값은 문서 모음 내에서 단어가 문서와 얼마나 관련이 있는지를 나타내는 척도입니다. 용어는 TFIDF 값에 따라 정렬되며, 값이 낮은 용어(즉, 일반적인 단어)는 딥 러닝을 사용하여 말뭉치에서 특징을 추출할 때 더 낮은 가중치를 부여할 수 있습니다.
양방향 LSTM-CNNs-CRF 딥 러닝 모델로 특징 추출하기
양방향 장단기 메모리(BLSTM), 합성곱 신경망(CNN), 조건부 랜덤 필드(CRF)의 조합을 사용하면 말뭉치에서 단어 및 문자 수준 표현을 모두 추출할 수 있습니다. WPS Office 글쓰기 도우미를 구축하는 데 사용된 BLSTM-CNNs-CRF 모델은 다음과 같이 작동합니다:
- CNN: 문자 임베딩이 CNN의 입력으로 사용된 다음, 의미적으로 관련 있는 단어 구조(즉, 접두사 또는 접미사)가 추출되어 문자 수준 표현 벡터로 인코딩됩니다.
- BLSTM: 문자 수준 벡터가 단어 임베딩 벡터와 연결된 다음 BLSTM 네트워크에 입력됩니다. 각 시퀀스는 과거와 미래 정보를 포착하기 위해 두 개의 별도 은닉 상태에 순방향과 역방향으로 제시됩니다.
- CRF: BLSTM의 출력 벡터는 최상의 레이블 시퀀스를 공동으로 디코딩하기 위해 CRF 계층에 입력됩니다.
이제 신경망은 비정형 텍스트에서 명명된 개체를 추출하고 분류할 수 있습니다. 이 과정은 명명된 개체 인식(NER)이라고 하며, 사람 이름, 기관, 지리적 위치 등과 같은 범주를 찾아 분류하는 것을 포함합니다. 이러한 개체는 데이터를 정렬하고 검색하는 데 중요한 역할을 합니다. 여기서 말뭉치로부터 핵심 문장, 문단 및 요약을 추출할 수 있습니다.
Infersent를 사용하여 문장 임베딩 생성하기
전체 문장을 벡터 공간에 임베딩하는 Facebook이 설계한 지도 학습 문장 임베딩 방법인 Infersent는 Milvus 데이터베이스에 입력될 벡터를 생성하는 데 사용됩니다. Infersent는 인간이 작성하고 레이블을 지정한 57만 개의 문장 쌍을 포함하는 Stanford Natural Language Inference(SNLI) 말뭉치를 사용하여 학습되었습니다. Infersent의 작동 방식에 대한 추가 정보는 여기에서 확인할 수 있습니다.
Milvus로 벡터 저장 및 쿼리하기
Milvus는 1조 바이트 규모에서 임베딩의 추가, 삭제, 업데이트 및 거의 실시간 검색을 지원하는 오픈 소스 유사도 검색 엔진입니다. 쿼리 성능을 향상시키기 위해 Milvus는 각 벡터 필드에 인덱스 유형을 지정할 수 있도록 합니다. WPS Office 스마트 도우미는 IVF_FLAT 인덱스를 사용하며, 이는 “flat”이 벡터가 압축이나 양자화 없이 저장됨을 의미하는 가장 기본적인 Inverted File(IVF) 인덱스 유형입니다. 클러스터링은 L2 거리에 대한 정확 검색을 사용하는 IndexFlat2를 기반으로 합니다.
IVF_FLAT은 100% 쿼리 재현율을 갖지만, 압축이 없기 때문에 상대적으로 쿼리 속도가 느립니다. Milvus의 파티셔닝 기능은 사전 정의된 규칙에 따라 데이터를 물리적 저장소의 여러 부분으로 나누는 데 사용되어 쿼리를 더 빠르고 정확하게 만듭니다. 벡터가 Milvus에 추가될 때 태그는 데이터를 어느 파티션에 추가해야 하는지를 지정합니다. 벡터 데이터의 쿼리는 태그를 사용하여 쿼리를 실행할 파티션을 지정합니다. 각 파티션 내에서 데이터를 세그먼트로 더 세분화하여 속도를 더욱 향상시킬 수 있습니다.
지능형 글쓰기 도우미는 또한 Kubernetes 클러스터를 사용하여 애플리케이션 컨테이너가 여러 머신과 환경에서 실행될 수 있게 하며, 메타데이터 관리를 위해 MySQL도 사용합니다.
AI는 작가를 대체하는 것이 아니라, 작가가 글을 쓰도록 돕고 있습니다
Kingsoft의 WPS Office용 글쓰기 도우미는 Milvus를 활용해 200만 개 이상의 문서로 이루어진 데이터베이스를 관리하고 쿼리합니다. 이 시스템은 매우 유연하여 조 단위 규모의 데이터셋에서 거의 실시간 검색을 실행할 수 있습니다. 쿼리는 평균 0.2초 안에 완료되며, 이는 제목이나 몇 개의 키워드만으로도 전체 문서를 거의 즉시 생성할 수 있음을 의미합니다. AI가 전문 작가를 대체하고 있는 것은 아니지만, 오늘날 존재하는 기술은 새롭고 흥미로운 방식으로 글쓰기 과정을 보강할 수 있습니다. 미래는 알 수 없지만, 적어도 작가들은 더 생산적이고, 일부에게는 덜 어려운 “글을 써 내려가는” 방법을 기대할 수 있습니다.
이 글에는 다음 출처가 사용되었습니다:
- “양방향 LSTM-CNNs-CRF를 통한 엔드투엔드 시퀀스 레이블링,” Xuezhe Ma and Eduard Hovy.
- “텍스트 데이터를 위한 전통적 방법,” Dipanjan (DJ) Sarkar.
- “의미 연관 TF-IDF 기반 텍스트 특징 추출,” Qing Liu, Jing Wang, Dehai Zhang, Yun Yang, NaiYao Wang.
- “Facebook의 Infersent를 사용한 문장 임베딩 이해,” Rehan Ahmad
- “자연어 추론 데이터로부터 보편적 문장 표현의 지도 학습,” Alexis Conneau, Douwe Kiela, Holger Schwenk, LoÏc Barrault, Antoine Bordes.V1
Milvus로 무언가를 만드는 방법에 대해 더 알아보려면 다른 사용자 사례를 읽어보세요.
계속 읽기

Introducing Customer-Managed Encryption Keys (CMEK) on Zilliz Cloud
We're announcing the general availability of Customer-Managed Encryption Keys (CMEK) on Zilliz Cloud.

Expanding Our Global Reach: Zilliz Cloud Launches in Azure Central India
Zilliz Cloud expands to Azure Central India. This new region helps customers meet compliance, reduce latency, and optimize cloud costs when building AI applications.

Why Deepseek is Waking up AI Giants Like OpenAI And Why You Should Care
Discover how DeepSeek R1's open-source AI model with superior reasoning capabilities and lower costs is disrupting the AI landscape and challenging tech giants like OpenAI.



