|
ailia_tokenizer
1.5.0.0
|
ailia Tokenizer NLP TOKENIZER ライブラリ [詳解]
#include "ailia.h"
関数 | |
| int AILIA_API | ailiaTokenizerCreate (struct AILIATokenizer **net, int type, int flags) |
| トークナイズオブジェクトを作成します。 [詳解] | |
| int AILIA_API | ailiaTokenizerOpenModelFileA (struct AILIATokenizer *net, const char *path) |
| モデルファイルを読み込みます。 [詳解] | |
| int AILIA_API | ailiaTokenizerOpenModelFileW (struct AILIATokenizer *net, const wchar_t *path) |
| int AILIA_API | ailiaTokenizerOpenDictionaryFileA (struct AILIATokenizer *net, const char *path) |
| 辞書ファイルを読み込みます。 [詳解] | |
| int AILIA_API | ailiaTokenizerOpenDictionaryFileW (struct AILIATokenizer *net, const wchar_t *path) |
| int AILIA_API | ailiaTokenizerOpenVocabFileA (struct AILIATokenizer *net, const char *path) |
| 単語ファイルを読み込みます。 [詳解] | |
| int AILIA_API | ailiaTokenizerOpenVocabFileW (struct AILIATokenizer *net, const wchar_t *path) |
| int AILIA_API | ailiaTokenizerOpenMergeFileA (struct AILIATokenizer *net, const char *path) |
| マージファイルを読み込みます。 [詳解] | |
| int AILIA_API | ailiaTokenizerOpenMergeFileW (struct AILIATokenizer *net, const wchar_t *path) |
| int AILIA_API | ailiaTokenizerOpenAddedTokensFileA (struct AILIATokenizer *net, const char *path) |
| 追加トークンファイルを読み込みます。 [詳解] | |
| int AILIA_API | ailiaTokenizerOpenAddedTokensFileW (struct AILIATokenizer *net, const wchar_t *path) |
| int AILIA_API | ailiaTokenizerOpenTokenizerConfigFileA (struct AILIATokenizer *net, const char *path) |
| コンフィグファイルを読み込みます。 [詳解] | |
| int AILIA_API | ailiaTokenizerOpenTokenizerConfigFileW (struct AILIATokenizer *net, const wchar_t *path) |
| int AILIA_API | ailiaTokenizerEncode (struct AILIATokenizer *net, const char *utf8) |
| エンコードを行います。 [詳解] | |
| int AILIA_API | ailiaTokenizerEncodeWithSpecialTokens (struct AILIATokenizer *net, const char *utf8) |
| スペシャルトークンを含んだエンコードを行います。 [詳解] | |
| int AILIA_API | ailiaTokenizerGetTokenCount (struct AILIATokenizer *net, unsigned int *count) |
| トークンの数を取得します。 [詳解] | |
| int AILIA_API | ailiaTokenizerGetTokens (struct AILIATokenizer *net, int *tokens, unsigned int count) |
| トークンを取得します。 [詳解] | |
| int AILIA_API | ailiaTokenizerGetWordIDs (struct AILIATokenizer *net, int *word_ids, unsigned int count) |
| ワードIDを取得します。 [詳解] | |
| int AILIA_API | ailiaTokenizerGetCharStarts (struct AILIATokenizer *net, int *char_starts, unsigned int count) |
| 開始文字位置を取得します。 [詳解] | |
| int AILIA_API | ailiaTokenizerGetCharEnds (struct AILIATokenizer *net, int *char_ends, unsigned int count) |
| 終了文字位置を取得します。 [詳解] | |
| int AILIA_API | ailiaTokenizerDecode (struct AILIATokenizer *net, const int *tokens, unsigned int token_count) |
| デコードを行います。 [詳解] | |
| int AILIA_API | ailiaTokenizerDecodeWithSpecialTokens (struct AILIATokenizer *net, const int *tokens, unsigned int token_count) |
| スペシャルトークンを含んだデコードを行います。 [詳解] | |
| int AILIA_API | ailiaTokenizerGetTextLength (struct AILIATokenizer *net, unsigned int *len) |
| テキストの長さを取得します。(NULL文字含む) [詳解] | |
| int AILIA_API | ailiaTokenizerGetText (struct AILIATokenizer *net, char *text, unsigned int len) |
| テキストを取得します。 [詳解] | |
| int AILIA_API | ailiaTokenizerGetVocabSize (struct AILIATokenizer *net, unsigned int *size) |
| Vocabの数を取得します。 [詳解] | |
| int AILIA_API | ailiaTokenizerGetVocab (struct AILIATokenizer *net, int token, const char **vocab) |
| Vocabの取得を行います。 [詳解] | |
| int AILIA_API | ailiaTokenizerAddSpecialTokens (struct AILIATokenizer *net, const char **tokens, unsigned int count) |
| SpecialTokenの追加を行います。 [詳解] | |
| void AILIA_API | ailiaTokenizerDestroy (struct AILIATokenizer *net) |
| トークナイズオブジェクトを破棄します。 [詳解] | |
| int AILIA_API | ailiaTokenizerUtf8ToUtf32 (unsigned int *utf32, unsigned int *processed_byte, const char *utf8, unsigned int utf8_len) |
| UTF8の文字をUTF32の文字に変換します。 [詳解] | |
| int AILIA_API | ailiaTokenizerUtf32ToUtf8 (char *utf8, unsigned int *processed_byte, unsigned int utf32) |
| UTF32の文字をUTF8の文字に変換します。 [詳解] | |
ailia Tokenizer NLP TOKENIZER ライブラリ
| #define AILIA_API __stdcall |
| #define AILIA_TOKENIZER_FLAG_NONE (0) |
フラグを設定しません
| #define AILIA_TOKENIZER_FLAG_UTF8_SAFE (1) |
UTF8として有効な文字のみ出力します
| #define AILIA_TOKENIZER_TYPE_BERT (8) |
BERT向けのトークナイザ
| #define AILIA_TOKENIZER_TYPE_BERT_JAPANESE_CHARACTER (5) |
Japanese BERT向けのトークナイザ
入力されたテキストは内部でNFKC形式でUnicode正規化を行います。
| #define AILIA_TOKENIZER_TYPE_BERT_JAPANESE_WORDPIECE (4) |
Japanese BERT向けのトークナイザ
入力されたテキストは内部でNFKC形式でUnicode正規化を行います。
| #define AILIA_TOKENIZER_TYPE_CLIP (1) |
Clip向けのトークナイザ
| #define AILIA_TOKENIZER_TYPE_GPT2 (9) |
GPT2向けのトークナイザ
| #define AILIA_TOKENIZER_TYPE_LLAMA (10) |
LLAMA向けのトークナイザ
| #define AILIA_TOKENIZER_TYPE_MARIAN (3) |
MARIAN向けのトークナイザ
| #define AILIA_TOKENIZER_TYPE_ROBERTA (7) |
RoBERTa向けのトークナイザ
| #define AILIA_TOKENIZER_TYPE_T5 (6) |
T5向けのトークナイザ
add_special_tokens=Trueと同様に末尾にEOSシンボルを挿入します。 japanese_clipなど、add_special_tokens=Falseと同様の動作にする場合は、出力の末尾のEOSシンボルを削除してください。
| #define AILIA_TOKENIZER_TYPE_WHISPER (0) |
Whisper向けのトークナイザ
| #define AILIA_TOKENIZER_TYPE_XLM_ROBERTA (2) |
XLM_ROBERTA向けのトークナイザ
| #define ailiaTokenizerOpenAddedTokensFile ailiaTokenizerOpenAddedTokensFileA |
| #define ailiaTokenizerOpenDictionaryFile ailiaTokenizerOpenDictionaryFileA |
| #define ailiaTokenizerOpenMergeFile ailiaTokenizerOpenMergeFileA |
| #define ailiaTokenizerOpenModelFile ailiaTokenizerOpenModelFileA |
| #define ailiaTokenizerOpenTokenizerConfigFile ailiaTokenizerOpenTokenizerConfigFileA |
| #define ailiaTokenizerOpenVocabFile ailiaTokenizerOpenVocabFileA |
| int AILIA_API ailiaTokenizerAddSpecialTokens | ( | struct AILIATokenizer * | net, |
| const char ** | tokens, | ||
| unsigned int | count | ||
| ) |
SpecialTokenの追加を行います。
| net | トークナイザオブジェクトポインタ |
| tokens | トークン(UTF8) |
| count | 追加する個数 |
AILIA_TOKENIZER_TYPE_ROBERTAおよびAILIA_TOKENIZER_TYPE_GPT2の場合のみ有効です。
| int AILIA_API ailiaTokenizerCreate | ( | struct AILIATokenizer ** | net, |
| int | type, | ||
| int | flags | ||
| ) |
トークナイズオブジェクトを作成します。
| net | トークナイザオブジェクトポインタへのポインタ |
| type | AILIA_TOKENIZER_TYPE_* |
| flag | AILIA_TOKENIZER_FLAG_*の論理和 |
トークナイズオブジェクトを作成します。
| int AILIA_API ailiaTokenizerDecode | ( | struct AILIATokenizer * | net, |
| const int * | tokens, | ||
| unsigned int | token_count | ||
| ) |
デコードを行います。
| net | トークナイザオブジェクトポインタ |
| tokens | デコードするトークン |
| token_count | トークンの数 |
デコードした結果はailiaTokenizerGetText APIで取得します。 skip_special_tokens=Trueと同様に、Special Tokenは出力しません。
| int AILIA_API ailiaTokenizerDecodeWithSpecialTokens | ( | struct AILIATokenizer * | net, |
| const int * | tokens, | ||
| unsigned int | token_count | ||
| ) |
スペシャルトークンを含んだデコードを行います。
| net | トークナイザオブジェクトポインタ |
| tokens | デコードするトークン |
| token_count | トークンの数 |
デコードした結果はailiaTokenizerGetText APIで取得します。 skip_special_tokens=Falseと同様に、Special Tokenを出力します。
| void AILIA_API ailiaTokenizerDestroy | ( | struct AILIATokenizer * | net | ) |
トークナイズオブジェクトを破棄します。
| net | トークナイザオブジェクトポインタ |
| int AILIA_API ailiaTokenizerEncode | ( | struct AILIATokenizer * | net, |
| const char * | utf8 | ||
| ) |
エンコードを行います。
| net | トークナイザオブジェクトポインタ |
| text | エンコードするテキスト(UTF8) |
認識した結果はailiaTokenizerGetTokens APIで取得します。 split_special_tokens=Trueと同様に、Special Tokenは分割して文字列として扱われます。
| int AILIA_API ailiaTokenizerEncodeWithSpecialTokens | ( | struct AILIATokenizer * | net, |
| const char * | utf8 | ||
| ) |
スペシャルトークンを含んだエンコードを行います。
| net | トークナイザオブジェクトポインタ |
| text | エンコードするテキスト(UTF8) |
認識した結果はailiaTokenizerGetTokens APIで取得します。 split_special_tokens=Falseと同様に、Special Tokenを出力します。
| int AILIA_API ailiaTokenizerGetCharEnds | ( | struct AILIATokenizer * | net, |
| int * | char_ends, | ||
| unsigned int | count | ||
| ) |
終了文字位置を取得します。
| net | トークナイザオブジェクトポインタ |
| char_ends | 終了文字位置 |
| count | 格納先トークン数 |
| int AILIA_API ailiaTokenizerGetCharStarts | ( | struct AILIATokenizer * | net, |
| int * | char_starts, | ||
| unsigned int | count | ||
| ) |
開始文字位置を取得します。
| net | トークナイザオブジェクトポインタ |
| char_starts | 開始文字位置 |
| count | 格納先トークン数 |
| int AILIA_API ailiaTokenizerGetText | ( | struct AILIATokenizer * | net, |
| char * | text, | ||
| unsigned int | len | ||
| ) |
テキストを取得します。
| net | トークナイザオブジェクトポインタ |
| text | テキスト(UTF8) |
| len | バッファサイズ |
ailiaTokenizerDecode() を一度も実行していない場合は AILIA_STATUS_INVALID_STATE が返ります。
| int AILIA_API ailiaTokenizerGetTextLength | ( | struct AILIATokenizer * | net, |
| unsigned int * | len | ||
| ) |
テキストの長さを取得します。(NULL文字含む)
| net | トークナイザオブジェクトポインタ |
| len | テキストの長さ |
| int AILIA_API ailiaTokenizerGetTokenCount | ( | struct AILIATokenizer * | net, |
| unsigned int * | count | ||
| ) |
トークンの数を取得します。
| net | トークナイザオブジェクトポインタ |
| count | オブジェクト数 |
| int AILIA_API ailiaTokenizerGetTokens | ( | struct AILIATokenizer * | net, |
| int * | tokens, | ||
| unsigned int | count | ||
| ) |
トークンを取得します。
| net | トークナイザオブジェクトポインタ |
| tokens | トークン |
| count | 格納先トークン数 |
| int AILIA_API ailiaTokenizerGetVocab | ( | struct AILIATokenizer * | net, |
| int | token, | ||
| const char ** | vocab | ||
| ) |
Vocabの取得を行います。
| net | トークナイザオブジェクトポインタ |
| token | トークン |
| vocab | Vocabのテキスト(UTF8) |
vocabを解放する必要はありません。 vocabの有効期間は次にailiaTokenizer APIを呼び出すまでになります。
| int AILIA_API ailiaTokenizerGetVocabSize | ( | struct AILIATokenizer * | net, |
| unsigned int * | size | ||
| ) |
Vocabの数を取得します。
| net | トークナイザオブジェクトポインタ |
| size | Vocabの要素数 |
| int AILIA_API ailiaTokenizerGetWordIDs | ( | struct AILIATokenizer * | net, |
| int * | word_ids, | ||
| unsigned int | count | ||
| ) |
ワードIDを取得します。
| net | トークナイザオブジェクトポインタ |
| word_ids | ワードID |
| count | 格納先トークン数 |
| int AILIA_API ailiaTokenizerOpenAddedTokensFileA | ( | struct AILIATokenizer * | net, |
| const char * | path | ||
| ) |
追加トークンファイルを読み込みます。
| net | トークナイザオブジェクトポインタへのポインタ |
| path | スペシャルトークンファイルのパス |
追加トークンファイル (json) を読み込みます。AILIA_TOKENIZER_TYPE_WHISPERの場合のみ有効です。
| int AILIA_API ailiaTokenizerOpenAddedTokensFileW | ( | struct AILIATokenizer * | net, |
| const wchar_t * | path | ||
| ) |
| int AILIA_API ailiaTokenizerOpenDictionaryFileA | ( | struct AILIATokenizer * | net, |
| const char * | path | ||
| ) |
辞書ファイルを読み込みます。
| net | トークナイザオブジェクトポインタへのポインタ |
| path | Mecabの辞書ファイルのパス |
Mecabの辞書ファイルを読み込みます。AILIA_TOKENIZER_TYPE_BERT_JAPANESE_XXXの場合のみ必要です。
| int AILIA_API ailiaTokenizerOpenDictionaryFileW | ( | struct AILIATokenizer * | net, |
| const wchar_t * | path | ||
| ) |
| int AILIA_API ailiaTokenizerOpenMergeFileA | ( | struct AILIATokenizer * | net, |
| const char * | path | ||
| ) |
マージファイルを読み込みます。
| net | トークナイザオブジェクトポインタへのポインタ |
| path | マージファイルのパス |
マージファイル (txt) を読み込みます。AILIA_TOKENIZER_TYPE_ROBERTAもしくはAILIA_TOKENIZER_TYPE_WHISPERもしくはAILIA_TOKENIZER_TYPE_GPT2の場合のみ有効です。
| int AILIA_API ailiaTokenizerOpenMergeFileW | ( | struct AILIATokenizer * | net, |
| const wchar_t * | path | ||
| ) |
| int AILIA_API ailiaTokenizerOpenModelFileA | ( | struct AILIATokenizer * | net, |
| const char * | path | ||
| ) |
モデルファイルを読み込みます。
| net | トークナイザオブジェクトポインタへのポインタ |
| path | SentencePieceのモデルファイルのパス |
SentencePieceのモデルファイルを読み込みます。AILIA_TOKENIZER_TYPE_XLM_ROBERTAもしくはAILIA_TOKENIZER_TYPE_MARIANの場合のみ必要です。
| int AILIA_API ailiaTokenizerOpenModelFileW | ( | struct AILIATokenizer * | net, |
| const wchar_t * | path | ||
| ) |
| int AILIA_API ailiaTokenizerOpenTokenizerConfigFileA | ( | struct AILIATokenizer * | net, |
| const char * | path | ||
| ) |
コンフィグファイルを読み込みます。
| net | トークナイザオブジェクトポインタへのポインタ |
| path | コンフィグファイルのパス |
トークナイザコンフィグファイル (json) を読み込みます。AILIA_TOKENIZER_TYPE_BERTの場合のみ有効です。
| int AILIA_API ailiaTokenizerOpenTokenizerConfigFileW | ( | struct AILIATokenizer * | net, |
| const wchar_t * | path | ||
| ) |
| int AILIA_API ailiaTokenizerOpenVocabFileA | ( | struct AILIATokenizer * | net, |
| const char * | path | ||
| ) |
単語ファイルを読み込みます。
| net | トークナイザオブジェクトポインタへのポインタ |
| path | 単語ファイルのパス |
単語ファイル (ROBERTAとWHISPERとGPT2はjson、それ以外はtxt) を読み込みます。
| int AILIA_API ailiaTokenizerOpenVocabFileW | ( | struct AILIATokenizer * | net, |
| const wchar_t * | path | ||
| ) |
| int AILIA_API ailiaTokenizerUtf32ToUtf8 | ( | char * | utf8, |
| unsigned int * | processed_byte, | ||
| unsigned int | utf32 | ||
| ) |
UTF32の文字をUTF8の文字に変換します。
| utf8 | UTF8の文字(4byte以上必要) |
| processed_byte | 書き込んだ文字数(UTF8) |
| utf32 | UTF32の文字 |
| int AILIA_API ailiaTokenizerUtf8ToUtf32 | ( | unsigned int * | utf32, |
| unsigned int * | processed_byte, | ||
| const char * | utf8, | ||
| unsigned int | utf8_len | ||
| ) |
UTF8の文字をUTF32の文字に変換します。
| utf32 | UTF32の文字 |
| processed_byte | 消費したバイト数(UTF8) |
| utf8 | UTF8の文字 |
| utf8_len | バッファサイズ |