ailia_tokenizer  1.3.0.0
公開メンバ関数 | 静的公開変数類 | 全メンバ一覧
ailiaTokenizer.AiliaTokenizer クラス

公開メンバ関数

static int ailiaTokenizerCreate (ref IntPtr net, int type, int flags)
 トークナイズオブジェクトを作成します。 [詳解]
 
static int ailiaTokenizerOpenModelFile (IntPtr net, string ath)
 モデルファイルを読み込みます。 [詳解]
 
static int ailiaTokenizerOpenDictionaryFile (IntPtr net, string path)
 辞書ファイルを読み込みます。 [詳解]
 
static int ailiaTokenizerOpenVocabFile (IntPtr net, string path)
 単語ファイルを読み込みます。 [詳解]
 
static int ailiaTokenizerOpenMergeFile (IntPtr net, string path)
 マージファイルを読み込みます。 [詳解]
 
static int ailiaTokenizerOpenAddedTokensFile (IntPtr net, string path)
 追加トークンファイルを読み込みます。 [詳解]
 
static int ailiaTokenizerOpenTokenizerConfigFile (IntPtr net, string path)
 コンフィグファイルを読み込みます。 [詳解]
 
static int ailiaTokenizerEncode (IntPtr net, IntPtr utf8)
 エンコードを行います。 [詳解]
 
static int ailiaTokenizerEncodeWithSpecialTokens (IntPtr net, IntPtr utf8)
 スペシャルトークンを含んだエンコードを行います。 [詳解]
 
static int ailiaTokenizerGetTokenCount (IntPtr net, ref uint count)
 トークンの数を取得します。 [詳解]
 
static int ailiaTokenizerGetTokens (IntPtr net, IntPtr tokens, uint count)
 トークンを取得します。 [詳解]
 
static int ailiaTokenizerGetWordIDs (IntPtr net, IntPtr tokens, uint count)
 ワードIDを取得します。 [詳解]
 
static int ailiaTokenizerGetCharStarts (IntPtr net, IntPtr tokens, uint count)
 開始文字位置を取得します。 [詳解]
 
static int ailiaTokenizerGetCharEnds (IntPtr net, IntPtr tokens, uint count)
 終了文字位置を取得します。 [詳解]
 
static int ailiaTokenizerDecode (IntPtr net, IntPtr tokens, uint token_count)
 デコードを行います。 [詳解]
 
static int ailiaTokenizerDecodeWithSpecialTokens (IntPtr net, IntPtr tokens, uint token_count)
 スペシャルトークンを含んだデコードを行います。 [詳解]
 
static int ailiaTokenizerGetTextLength (IntPtr net, ref uint len)
 テキストの長さを取得します。(NULL文字含む) [詳解]
 
static int ailiaTokenizerGetText (IntPtr net, IntPtr text, uint len)
 テキストを取得します。 [詳解]
 
static int ailiaTokenizerGetVocabSize (IntPtr net, ref uint size)
 Vocabの数を取得します。 [詳解]
 
static int ailiaTokenizerGetVocab (IntPtr net, int token, ref IntPtr vocab)
 Vocabの取得を行います。 [詳解]
 
static void ailiaTokenizerDestroy (IntPtr net)
 トークナイズオブジェクトを破棄します。 [詳解]
 
static int ailiaTokenizerUtf8ToUtf32 (ref uint utf32, ref uint processed_byte, IntPtr utf8, uint utf8_len)
 UTF8の文字をUTF32の文字に変換します。 [詳解]
 
static int ailiaTokenizerUtf32ToUtf8 (IntPtr utf8, ref uint processed_byte, uint utf32)
 UTF32の文字をUTF8の文字に変換します。 [詳解]
 

静的公開変数類

const String LIBRARY_NAME ="ailia_tokenizer"
 
const Int32 AILIA_TOKENIZER_TYPE_WHISPER = (0)
 
const Int32 AILIA_TOKENIZER_TYPE_CLIP = (1)
 
const Int32 AILIA_TOKENIZER_TYPE_XLM_ROBERTA = (2)
 
const Int32 AILIA_TOKENIZER_TYPE_MARIAN = (3)
 
const Int32 AILIA_TOKENIZER_TYPE_BERT_JAPANESE_WORDPIECE = (4)
 
const Int32 AILIA_TOKENIZER_TYPE_BERT_JAPANESE_CHARACTER = (5)
 
const Int32 AILIA_TOKENIZER_TYPE_T5 = (6)
 
const Int32 AILIA_TOKENIZER_TYPE_ROBERTA = (7)
 
const Int32 AILIA_TOKENIZER_TYPE_BERT = (8)
 
const Int32 AILIA_TOKENIZER_TYPE_GPT2 = (9)
 
const Int32 AILIA_TOKENIZER_TYPE_LLAMA = (10)
 
const Int32 AILIA_TOKENIZER_FLAG_NONE = (0)
 
const Int32 AILIA_TOKENIZER_FLAG_UTF8_SAFE = (1)
 

関数詳解

◆ ailiaTokenizerCreate()

static int ailiaTokenizer.AiliaTokenizer.ailiaTokenizerCreate ( ref IntPtr  net,
int  type,
int  flags 
)

トークナイズオブジェクトを作成します。

引数
netトークナイザオブジェクトポインタへのポインタ
typeAILIA_TOKENIZER_TYPE_*
flagAILIA_TOKENIZER_FLAG_*の論理和
戻り値
成功した場合は AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。

トークナイズオブジェクトを作成します。

◆ ailiaTokenizerDecode()

static int ailiaTokenizer.AiliaTokenizer.ailiaTokenizerDecode ( IntPtr  net,
IntPtr  tokens,
uint  token_count 
)

デコードを行います。

引数
netトークナイザオブジェクトポインタ
tokensデコードするトークン
token_countトークンの数
戻り値
成功した場合は AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。

認識した結果はailiaTokenizerGetText APIで取得します。

◆ ailiaTokenizerDecodeWithSpecialTokens()

static int ailiaTokenizer.AiliaTokenizer.ailiaTokenizerDecodeWithSpecialTokens ( IntPtr  net,
IntPtr  tokens,
uint  token_count 
)

スペシャルトークンを含んだデコードを行います。

引数
netトークナイザオブジェクトポインタ
tokensデコードするトークン
token_countトークンの数
戻り値
成功した場合は AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。

デコードした結果はailiaTokenizerGetText APIで取得します。 skip_special_tokens=Falseと同様に、Special Tokenを出力します。

◆ ailiaTokenizerDestroy()

static void ailiaTokenizer.AiliaTokenizer.ailiaTokenizerDestroy ( IntPtr  net)

トークナイズオブジェクトを破棄します。

引数
netトークナイザオブジェクトポインタ

◆ ailiaTokenizerEncode()

static int ailiaTokenizer.AiliaTokenizer.ailiaTokenizerEncode ( IntPtr  net,
IntPtr  utf8 
)

エンコードを行います。

引数
netトークナイザオブジェクトポインタ
textエンコードするテキスト(UTF8)
戻り値
成功した場合は AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。

認識した結果はailiaTokenizerGetTokens APIで取得します。

◆ ailiaTokenizerEncodeWithSpecialTokens()

static int ailiaTokenizer.AiliaTokenizer.ailiaTokenizerEncodeWithSpecialTokens ( IntPtr  net,
IntPtr  utf8 
)

スペシャルトークンを含んだエンコードを行います。

引数
netトークナイザオブジェクトポインタ
textエンコードするテキスト(UTF8)
戻り値
成功した場合は AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。

認識した結果はailiaTokenizerGetTokens APIで取得します。 split_special_tokens=Falseと同様に、Special Tokenを出力します。

◆ ailiaTokenizerGetCharEnds()

static int ailiaTokenizer.AiliaTokenizer.ailiaTokenizerGetCharEnds ( IntPtr  net,
IntPtr  tokens,
uint  count 
)

終了文字位置を取得します。

引数
netトークナイザオブジェクトポインタ
char_ends終了文字位置
count格納先トークン数

◆ ailiaTokenizerGetCharStarts()

static int ailiaTokenizer.AiliaTokenizer.ailiaTokenizerGetCharStarts ( IntPtr  net,
IntPtr  tokens,
uint  count 
)

開始文字位置を取得します。

引数
netトークナイザオブジェクトポインタ
char_starts開始文字位置
count格納先トークン数

◆ ailiaTokenizerGetText()

static int ailiaTokenizer.AiliaTokenizer.ailiaTokenizerGetText ( IntPtr  net,
IntPtr  text,
uint  len 
)

テキストを取得します。

引数
netトークナイザオブジェクトポインタ
textテキスト(UTF8)
lenバッファサイズ
戻り値
成功した場合は AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。

ailiaTokenizerDecode() を一度も実行していない場合は AILIA_STATUS_INVALID_STATE が返ります。

◆ ailiaTokenizerGetTextLength()

static int ailiaTokenizer.AiliaTokenizer.ailiaTokenizerGetTextLength ( IntPtr  net,
ref uint  len 
)

テキストの長さを取得します。(NULL文字含む)

引数
netトークナイザオブジェクトポインタ
lenテキストの長さ
戻り値
成功した場合は AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。

◆ ailiaTokenizerGetTokenCount()

static int ailiaTokenizer.AiliaTokenizer.ailiaTokenizerGetTokenCount ( IntPtr  net,
ref uint  count 
)

トークンの数を取得します。

引数
netトークナイザオブジェクトポインタ
countオブジェクト数
戻り値
成功した場合は AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。

◆ ailiaTokenizerGetTokens()

static int ailiaTokenizer.AiliaTokenizer.ailiaTokenizerGetTokens ( IntPtr  net,
IntPtr  tokens,
uint  count 
)

トークンを取得します。

引数
netトークナイザオブジェクトポインタ
tokensトークン
count格納先トークン数

◆ ailiaTokenizerGetVocab()

static int ailiaTokenizer.AiliaTokenizer.ailiaTokenizerGetVocab ( IntPtr  net,
int  token,
ref IntPtr  vocab 
)

Vocabの取得を行います。

引数
netトークナイザオブジェクトポインタ
tokenトークン
vocabVocabのテキスト(UTF8)
戻り値
成功した場合は AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。

vocabを解放する必要はありません。 vocabの有効期間は次にailiaTokenizer APIを呼び出すまでになります。

◆ ailiaTokenizerGetVocabSize()

static int ailiaTokenizer.AiliaTokenizer.ailiaTokenizerGetVocabSize ( IntPtr  net,
ref uint  size 
)

Vocabの数を取得します。

引数
netトークナイザオブジェクトポインタ
sizeVocabの要素数
戻り値
成功した場合は AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。

◆ ailiaTokenizerGetWordIDs()

static int ailiaTokenizer.AiliaTokenizer.ailiaTokenizerGetWordIDs ( IntPtr  net,
IntPtr  tokens,
uint  count 
)

ワードIDを取得します。

引数
netトークナイザオブジェクトポインタ
word_idsワードID
count格納先トークン数

◆ ailiaTokenizerOpenAddedTokensFile()

static int ailiaTokenizer.AiliaTokenizer.ailiaTokenizerOpenAddedTokensFile ( IntPtr  net,
string  path 
)

追加トークンファイルを読み込みます。

引数
netトークナイザオブジェクトポインタへのポインタ
pathスペシャルトークンファイルのパス
戻り値
成功した場合は AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。

追加トークンファイル (json) を読み込みます。AILIA_TOKENIZER_TYPE_WHISPERの場合のみ有効です。

◆ ailiaTokenizerOpenDictionaryFile()

static int ailiaTokenizer.AiliaTokenizer.ailiaTokenizerOpenDictionaryFile ( IntPtr  net,
string  path 
)

辞書ファイルを読み込みます。

引数
netトークナイザオブジェクトポインタへのポインタ
pathMecabの辞書ファイルのパス
戻り値
成功した場合は AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。

Mecabの辞書ファイルを読み込みます。AILIA_TOKENIZER_TYPE_BERT_JAPANESE_XXXの場合のみ必要です。

◆ ailiaTokenizerOpenMergeFile()

static int ailiaTokenizer.AiliaTokenizer.ailiaTokenizerOpenMergeFile ( IntPtr  net,
string  path 
)

マージファイルを読み込みます。

引数
netトークナイザオブジェクトポインタへのポインタ
pathマージファイルのパス
戻り値
成功した場合は AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。

マージファイル (txt) を読み込みます。AILIA_TOKENIZER_TYPE_ROBERTAもしくはAILIA_TOKENIZER_TYPE_WHISPERもしくはAILIA_TOKENIZER_TYPE_GPT2の場合のみ有効です。

◆ ailiaTokenizerOpenModelFile()

static int ailiaTokenizer.AiliaTokenizer.ailiaTokenizerOpenModelFile ( IntPtr  net,
string  ath 
)

モデルファイルを読み込みます。

引数
netトークナイザオブジェクトポインタへのポインタ
pathSentencePieceのモデルファイルのパス
戻り値
成功した場合は AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。

SentencePieceのモデルファイルを読み込みます。AILIA_TOKENIZER_TYPE_XLM_ROBERTAもしくはAILIA_TOKENIZER_TYPE_MARIANの場合のみ必要です。

◆ ailiaTokenizerOpenTokenizerConfigFile()

static int ailiaTokenizer.AiliaTokenizer.ailiaTokenizerOpenTokenizerConfigFile ( IntPtr  net,
string  path 
)

コンフィグファイルを読み込みます。

引数
netトークナイザオブジェクトポインタへのポインタ
pathコンフィグファイルのパス
戻り値
成功した場合は AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。

トークナイザコンフィグファイル (json) を読み込みます。AILIA_TOKENIZER_TYPE_BERTの場合のみ有効です。

◆ ailiaTokenizerOpenVocabFile()

static int ailiaTokenizer.AiliaTokenizer.ailiaTokenizerOpenVocabFile ( IntPtr  net,
string  path 
)

単語ファイルを読み込みます。

引数
netトークナイザオブジェクトポインタへのポインタ
path単語ファイルのパス
戻り値
成功した場合は AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。

単語ファイル (ROBERTAとWHISPERとGPT2はjson、それ以外はtxt) を読み込みます。

◆ ailiaTokenizerUtf32ToUtf8()

static int ailiaTokenizer.AiliaTokenizer.ailiaTokenizerUtf32ToUtf8 ( IntPtr  utf8,
ref uint  processed_byte,
uint  utf32 
)

UTF32の文字をUTF8の文字に変換します。

引数
utf8UTF8の文字(4byte以上必要)
processed_byte書き込んだ文字数(UTF8)
utf32UTF32の文字
戻り値
成功した場合は AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。

◆ ailiaTokenizerUtf8ToUtf32()

static int ailiaTokenizer.AiliaTokenizer.ailiaTokenizerUtf8ToUtf32 ( ref uint  utf32,
ref uint  processed_byte,
IntPtr  utf8,
uint  utf8_len 
)

UTF8の文字をUTF32の文字に変換します。

引数
utf32UTF32の文字
processed_byte消費したバイト数(UTF8)
utf8UTF8の文字
utf8_lenバッファサイズ
戻り値
成功した場合は AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。

メンバ詳解

◆ AILIA_TOKENIZER_FLAG_NONE

const Int32 ailiaTokenizer.AiliaTokenizer.AILIA_TOKENIZER_FLAG_NONE = (0)
static

◆ AILIA_TOKENIZER_FLAG_UTF8_SAFE

const Int32 ailiaTokenizer.AiliaTokenizer.AILIA_TOKENIZER_FLAG_UTF8_SAFE = (1)
static

◆ AILIA_TOKENIZER_TYPE_BERT

const Int32 ailiaTokenizer.AiliaTokenizer.AILIA_TOKENIZER_TYPE_BERT = (8)
static

◆ AILIA_TOKENIZER_TYPE_BERT_JAPANESE_CHARACTER

const Int32 ailiaTokenizer.AiliaTokenizer.AILIA_TOKENIZER_TYPE_BERT_JAPANESE_CHARACTER = (5)
static

◆ AILIA_TOKENIZER_TYPE_BERT_JAPANESE_WORDPIECE

const Int32 ailiaTokenizer.AiliaTokenizer.AILIA_TOKENIZER_TYPE_BERT_JAPANESE_WORDPIECE = (4)
static

◆ AILIA_TOKENIZER_TYPE_CLIP

const Int32 ailiaTokenizer.AiliaTokenizer.AILIA_TOKENIZER_TYPE_CLIP = (1)
static

◆ AILIA_TOKENIZER_TYPE_GPT2

const Int32 ailiaTokenizer.AiliaTokenizer.AILIA_TOKENIZER_TYPE_GPT2 = (9)
static

◆ AILIA_TOKENIZER_TYPE_LLAMA

const Int32 ailiaTokenizer.AiliaTokenizer.AILIA_TOKENIZER_TYPE_LLAMA = (10)
static

◆ AILIA_TOKENIZER_TYPE_MARIAN

const Int32 ailiaTokenizer.AiliaTokenizer.AILIA_TOKENIZER_TYPE_MARIAN = (3)
static

◆ AILIA_TOKENIZER_TYPE_ROBERTA

const Int32 ailiaTokenizer.AiliaTokenizer.AILIA_TOKENIZER_TYPE_ROBERTA = (7)
static

◆ AILIA_TOKENIZER_TYPE_T5

const Int32 ailiaTokenizer.AiliaTokenizer.AILIA_TOKENIZER_TYPE_T5 = (6)
static

◆ AILIA_TOKENIZER_TYPE_WHISPER

const Int32 ailiaTokenizer.AiliaTokenizer.AILIA_TOKENIZER_TYPE_WHISPER = (0)
static

◆ AILIA_TOKENIZER_TYPE_XLM_ROBERTA

const Int32 ailiaTokenizer.AiliaTokenizer.AILIA_TOKENIZER_TYPE_XLM_ROBERTA = (2)
static

◆ LIBRARY_NAME

const String ailiaTokenizer.AiliaTokenizer.LIBRARY_NAME ="ailia_tokenizer"
static

このクラス詳解は次のファイルから抽出されました: