WPS OfficeにAIを搭載したライティング・アシスタントを構築
WPS Officeは、世界中で1億5000万人以上のユーザーを持つキングソフトが開発した生産性ツールである。同社の人工知能(AI)部門は、意図認識やテキストクラスタリングなどのセマンティックマッチングアルゴリズムを使用して、スマートなライティングアシスタントをゼロから構築した。このツールはウェブアプリケーションとWeChatミニプログラムの両方があり、ユーザーはタイトルを入力し、最大5つのキーワードを選択するだけで、アウトライン、個々の段落、文書全体を素早く作成することができる。
このライティング・アシスタントのレコメンデーション・エンジンは、オープンソースの類似検索エンジンであるMilvusを、そのコアとなるベクトル処理モジュールに使用している。以下では、非構造化データからどのように特徴を抽出するのか、また、データの保存やツールのレコメンデーションエンジンでMilvusが果たす役割など、WPS Officeのスマート・ライティング・アシスタントの構築プロセスを紹介する。
ジャンプする
- 非構造化テキストデータの意味を理解する](#making-sense-of-unstructured-textual-data)
- 特徴抽出を最大化するためのTFIDFモデルの使用](#using-the-tfidf-model-to-maximize-feature-extraction)
- 双方向LSTM-CNNs-CRFディープラーニングモデルによる特徴抽出](#extracting-features-with-the-bi-directional-lstm-cnns-crf-deep-learning-model)
- Infersentを使った埋め込み文の作成](#creating-sentence-embeddings-using-infersent)
- Milvusによるベクトルの保存とクエリ](#storing-and-query-vectors-with-milvus)
構造化されていないテキストデータの意味を理解する
解決する価値のある現代的な問題と同様に、WPSライティングアシスタントの構築は、厄介なデータから始まる。正確には、意味のある特徴を抽出しなければならない何千万もの高密度なテキスト文書です。この問題の複雑さを理解するために、異なる報道機関の2人のジャーナリストが同じトピックについてどのように報道するかを考えてみましょう。
両者とも、文章構造を支配するルール、原則、プロセスを遵守する一方で、異なる単語を選択し、様々な長さの文章を作成し、独自の記事構造を使って、類似した(あるいはおそらくは異なる)ストーリーを伝えるだろう。固定された次元数を持つ構造化されたデータセットとは異なり、テキスト本文は、それらを支配する構文が非常に柔軟であるため、本質的に構造を欠いている。意味を見つけるためには、構造化されていない文書コーパスから機械可読な特徴を抽出しなければならない。しかしその前に、データをクリーニングしなければならない。
テキストデータのクリーニングには様々な方法があるが、この記事ではどれも深く取り上げない。タグの除去、アクセント記号の除去、短縮形の展開、特殊文字の除去、ストップワードの除去などが含まれる。テキストデータの前処理とクリーニングの方法については、こちらに詳しい説明がある。
特徴抽出を最大化するためにTFIDFモデルを使う
非構造化テキストデータの意味を理解し始めるために、用語頻度-逆文書頻度(TFIDF)モデルがWPSライティングアシスタントが取り出すコーパスに適用された。このモデルは、用語頻度と逆文書頻度という2つのメトリクスの組み合わせを使用して、文書内の各単語にTFIDF値を与える。用語頻度(TF)は、文書内の用語数を文書内の用語総数で割ったものであり、逆文書頻度(IDF)は、コーパス内の文書数を用語が出現する文書数で割ったものである。
TFとIDFの積は、ある用語が文書に出現する頻度に、その単語がコーパス内でどの程度ユニークであるかを掛け合わせた指標となる。最終的にTFIDF値は、ある単語が文書の集まりの中でどれだけ文書に関連しているかの尺度である。用語はTFIDF値によってソートされ、値が低いもの(つまり一般的な単語)は、コーパスから特徴を抽出するためにディープラーニングを使用する際に、あまり重要視されない。
双方向LSTM-CNN-CRF深層学習モデルによる特徴抽出
双方向長短期記憶(BLSTM)、畳み込みニューラルネットワーク(CNN)、条件付き確率場(CRF)を組み合わせることで、コーパスから単語レベルと文字レベルの表現を抽出することができる。WPS Officeライティングアシスタントの構築に使用されたBLSTM-CNNs-CRFモデルは以下のように動作する:
1.CNN:文字埋め込みがCNNへの入力として使用され、次に意味的に関連する単語構造(接頭辞や接尾辞など)が抽出され、文字レベルの表現ベクトルにエンコードされる。 2.文字レベルのベクトルは単語埋め込みベクトルと連結され、BLSTM ネットワークに入力される。各シーケンスは、過去と未来の情報を捕捉するために、2つの別々の隠れ状態に前後して提示される。 3.CRF:**BLSTMからの出力ベクトルはCRF層に供給され、最適なラベル列を共同で解読する。
これでニューラルネットワークは、構造化されていないテキストから名前付き実体を抽出して分類できるようになった。このプロセスは名前付きエンティティ認識(NER)と呼ばれ、人名、機関、地理的位置などのカテゴリを探し、分類する。これらのエンティティは、データの並べ替えや想起に重要な役割を果たす。ここから、コーパスから重要な文章、段落、要約を抽出することができる。
Infersentを使ったセンテンスエンベッディングの作成
Infersentは、完全な文をベクトル空間に埋め込むFacebookによって設計された教師付き文埋め込み手法で、Milvusデータベースに入力するベクトルを作成するために使用される。Infersentはスタンフォード自然言語推論(SNLI)コーパスを用いて学習された。SNLIコーパスには、人間によって書かれラベル付けされた570k組の文が含まれている。Infersentがどのように機能するかについての詳細はこちらを参照。
Milvusによるベクトルの格納とクエリ
Milvusはオープンソースの類似検索エンジンで、1兆バイト規模のエンベッディングの追加、削除、更新、およびほぼリアルタイムの検索をサポートしています。クエリのパフォーマンスを向上させるために、Milvusは各ベクトルフィールドにインデックスタイプを指定することができます。WPS OfficeスマートアシスタントはIVF_FLATインデックスを使用します。IVF_FLATは最も基本的なInverted File (IVF)インデックスタイプで、"Flat "はベクトルが圧縮や量子化されずに保存されていることを意味します。クラスタリングは、L2距離の厳密探索を使用するIndexFlat2に基づいています。
IVF_FLATは100%のクエリ想起率を持つが、圧縮がないためクエリ速度は比較的遅い。Milvusのパーティショニング機能は、事前に定義されたルールに基づいてデータを物理ストレージの複数の部分に分割するために使用され、クエリをより高速かつ正確にする。ベクトルがMilvusに追加されるとき、タグはデータをどのパーティションに追加すべきかを指定する。ベクターデータに対するクエリは、タグを使ってクエリを実行するパーティションを指定する。データを各パーティション内のセグメントに分割することで、さらに高速化することができます。
インテリジェント・ライティング・アシスタントはまた、Kubernetesクラスタを使用しており、アプリケーション・コンテナを複数のマシンや環境で実行できるほか、メタデータ管理にはMySQLを使用している。
AIはライターに取って代わるのではなく、ライターの執筆を支援するのだ。
キングソフトのWPS Office向けライティング・アシスタントは、Milvusを利用して200万以上の文書のデータベースを管理し、クエリを実行している。このシステムは非常に柔軟で、1兆スケールのデータセットをほぼリアルタイムで検索することができる。クエリーは平均0.2秒で完了するため、タイトルや数個のキーワードだけで文書全体をほぼ瞬時に生成できる。AIがプロのライターに取って代わるわけではないが、現在存在するテクノロジーは、斬新で興味深い方法で執筆プロセスを補強することができる。未来は未知数だが、少なくともライターは、より生産的で、ある種の困難さを軽減した "紙にペンを置く "方法に期待できるだろう。
この記事には以下の情報源を使用した:
- "End-to-end Sequence Labeling via Bi-directional LSTM-CNNs-CRF," Xuezhe Ma and Eduard Hovy.
- "Traditional Methods for Text Data," Dipanjan (DJ) Sarkar.
- "TF-IDF Associating Semanticに基づくテキスト特徴抽出," Qing Liu, Jing Wang, Dehai Zhang, Yun Yang, NaiYao Wang.
- "Understanding Sent Embeddings using Facebook's Infersent," Rehan Ahmad.
- "Supervised Learning of Universal Sentence Representations from Natural Language Inference Data," Alexis Conneau, Douwe Kiela, Holger Schwenk, LoÏc Barrault, Antoine Bordes.V1。
他のuser storiesを読んで、Milvusを使ったものづくりについてもっと知ってください。
読み続けて

Vector Databases vs. Key-Value Databases
Use a vector database for AI-powered similarity search; use a key-value database for high-throughput, low-latency simple data lookups.

Top 5 AI Search Engines to Know in 2025
Discover the top AI-powered search engines of 2025, including OpenAI, Google AI, Bing, Perplexity, and Arc Search. Compare features, strengths, and limitations.

Long List of Awesome DeepSeek Integrations You Should Know
Discover how DeepSeek's affordable AI ecosystem challenges Silicon Valley giants with powerful integrations for developers and businesses—from RAG systems to productivity tools, all at 90% lower cost.
