コンテンツにスキップ

ng_word テーブル

概要

項目 内容
テーブル名 ng_word
説明 生成テキストの検査に使用するNGワードを管理するテーブル。記事生成・ブログ生成・リライトの各 Lambda が起動時に全件を読み込み、Aho-Corasick オートマトンを構築して生成結果を検査する
主な用途 NGワードの登録・更新・削除、生成結果の検査

カラム定義

カラム名 データ型 PK FK Unique Nullable デフォルト 備考
_id ObjectId ◯ ◯ DocumentDB自動採番
name string NGワード
created_at number
updated_at number
deleted_at number ◯

検査の挙動

  • 検査は packages/ng_word_filter が担当する。誤検出を避けるため、一部の語は検査対象から除外される(詳細は同パッケージの filter.py を参照)
  • NGワードが検出された場合は検出語を差し戻して作り直す(最大2回)。それでも解消しない場合は生成を失敗させ、NGワードを含む記事・ブログは公開しない
  • リライト(blog_rewriter)では、元の過去ブログに既に含まれていた語は検査から除外する。リライトは内容を変えない前提のため、元記事由来の語(例: 騎手名に含まれる語)は作り直しても除去できないため