すべてのプロダクト
Search
ドキュメントセンター

Platform For AI:N-gram カウント

最終更新日:Apr 01, 2026

N-gram カウントは、コーパス全体にわたる N-gram の頻度を生成し、カウントします。このコンポーネントは、入力されたすべての文をスキャンし、n 個の連続する単語のすべてのシーケンス (N-gram) を識別し、各シーケンスの出現回数を集計します。結果は、ドキュメントごとではなく、コーパス全体のグローバルな頻度カウントとなり、言語モデルのトレーニングへの入力として直接使用できます。

仕組み

  1. 指定した入力テーブルの列から各文を読み取ります。

  2. 各文に対して、幅 1 から order (N-gram の最大長) までのウィンドウをスライドさせ、その長さまでのすべての N-gram を生成します。たとえば、order=3 の場合、コンポーネントはユニグラム、バイグラム、トライグラムを生成します。

  3. すべての文にわたってカウントを蓄積します。Bag-of-Words テーブルが提供されている場合、語彙にない単語はカウント前に <unk> に置き換えられます。

  4. 蓄積された N-gram カウントを出力テーブルに書き込みます。各行には、1 つの N-gram とコーパス全体でのその総頻度が含まれます。

コンポーネントの設定

Machine Learning Designer (ビジュアルモデリング) のビジュアルパイプラインエディター、または SQL スクリプトコンポーネントを介した PAI コマンドの 2 つのメソッドが利用可能です。

メソッド 1:パイプラインページでの設定

Platform for AI (PAI) の Machine Learning Designer (ビジュアルモデリング、旧 Machine Learning Studio) で、N-gram カウントコンポーネントをキャンバスにドラッグし、右側のパネルでパラメーターを設定します。

フィールド設定

パラメーター説明
[入力テーブルの文を含む列]プロセスする文を含む列。
[Bag-of-Words の単語を含む列]語彙の単語を含む列。この語彙にない単語は、出力で <unk> に置き換えられます。
[入力カウント結果テーブルの単語列]出力にマージする既存の N-gram カウントテーブルの単語列。
[入力カウント結果テーブルのカウント列]出力にマージする既存の N-gram カウントテーブルのカウント列。
[文の重み列]文ごとの重みを含む列。すべての文に均一な重み 1 を適用するには、空白のままにします。

パラメーター設定

パラメーター説明デフォルト
[N-gram の最大長]生成する N-gram の最大長。たとえば、これを 3 に設定すると、ユニグラム、バイグラム、トライグラムが生成されます (1 から設定値までのすべての次数)。3

チューニング

パラメーター説明
[(オプション) コア数]割り当てるコア数。空白のままにすると、システムが自動的に決定します。
[(オプション) コアあたりのメモリサイズ]コアあたりのメモリ (MB)。空白のままにすると、システムが自動的に決定します。

メソッド 2:PAI コマンドの使用

SQL スクリプトコンポーネントを使用して、algo_public プロジェクトから ngram_count アルゴリズムを実行します。詳細については、「SQL スクリプト」をご参照ください。

PAI -name ngram_count
    -project algo_public
    -DinputTableName=pai_ngram_input
    -DoutputTableName=pai_ngram_output
    -DinputSelectedColNames=col0
    -DweightColName=weight
    -DcoreNum=2
    -DmemSizePerCore=1000;
パラメーター必須デフォルト説明
inputTableNameはい入力テーブルの名前。
outputTableNameはい出力テーブルの名前。出力の各行には、1 つの N-gram とコーパス全体でのその総頻度が含まれます。
inputSelectedColNamesいいえ最初の STRING 型の列入力テーブルから読み取る列。
weightColNameいいえ1重み列。値 1 は、すべての文に均一な重みを適用します。
inputTablePartitionsいいえすべてのパーティション入力テーブルから読み取るパーティション。
countTableNameいいえ出力にマージする既存の N-gram カウントテーブル。
countWordColNameいいえ2 番目の列countTableName で指定されたカウントテーブルの単語列。
countCountColNameいいえ3 番目の列countTableName で指定されたカウントテーブルのカウント列。
countTablePartitionsいいえカウントテーブルから読み取るパーティション。
vocabTableNameいいえBag-of-Words テーブル。このテーブルにない単語は <unk> に置き換えられます。
vocabSelectedColNameいいえ最初の STRING 型の列Bag-of-Words テーブルの語彙列。
vocabTablePartitionsいいえBag-of-Words テーブルから読み取るパーティション。
orderいいえ3N-gram の最大長。たとえば、order=3 は、ユニグラム、バイグラム、トライグラムを生成します (1 から設定値までのすべての次数)。
lifecycleいいえ出力テーブルのライフサイクル (日数)。
coreNumいいえ割り当てるコア数。
memSizePerCoreいいえコアあたりのメモリ (MB)。