ailia_tokenizer  1.3.0.0
公開メンバ関数 | 限定公開メンバ関数 | 全メンバ一覧
ailiaTokenizer.AiliaTokenizerModel クラス
ailiaTokenizer.AiliaTokenizerModel の継承関係図
Inheritance graph
[凡例]
ailiaTokenizer.AiliaTokenizerModel 連携図
Collaboration graph
[凡例]

公開メンバ関数

bool Create (int type, int flag)
 インスタンスを作成します。 [詳解]
 
bool Open (string model_path=null, string dictionary_path=null, string vocab_path=null)
 モデルファイルを開きます。 [詳解]
 
virtual void Close ()
 インスタンスを破棄します。 [詳解]
 
virtual void Dispose ()
 リソースを解放します。 [詳解]
 
int[] Encode (string utf8)
 エンコードを実行します。 [詳解]
 
int[] EncodeWithSpecialTokens (string utf8)
 スペシャルトークンを含んだエンコードを実行します。 [詳解]
 
string Decode (int[] tokens)
 デコードを実行します。 @pram tokens 入力トークン [詳解]
 
string DecodeWithSpecialTokens (int[] tokens)
 スペシャルトークンを含んだデコードを実行します。 @pram tokens 入力トークン [詳解]
 
int GetVocabSize ()
 Vocabの数を取得します。 [詳解]
 
string GetVocab (int token)
 Vocabの取得を行います。 [詳解]
 

限定公開メンバ関数

virtual void Dispose (bool disposing)
 

関数詳解

◆ Close()

virtual void ailiaTokenizer.AiliaTokenizerModel.Close ( )
inlinevirtual

インスタンスを破棄します。

インスタンスを破棄し、初期化します。

110  {
111  if (net != IntPtr.Zero){
112  AiliaTokenizer.ailiaTokenizerDestroy(net);
113  net = IntPtr.Zero;
114  }
115  }

◆ Create()

bool ailiaTokenizer.AiliaTokenizerModel.Create ( int  type,
int  flag 
)
inline

インスタンスを作成します。

引数
typeタイプ(AiliaTokenizer.AILIA_TOKENIZER_TYPE_*)
flagフラグの論理和(AiliaTokenizer.AILIA_TOKENIZER_FLAG_*)
戻り値
成功した場合はtrue、失敗した場合はfalseを返す。
36  {
37  if (net != null){
38  Close();
39  }
40 
41  int status = AiliaTokenizer.ailiaTokenizerCreate(ref net, type, flag);
42  if (status != 0){
43  return false;
44  }
45 
46  return true;
47  }

◆ Decode()

string ailiaTokenizer.AiliaTokenizerModel.Decode ( int[]  tokens)
inline

デコードを実行します。 @pram tokens 入力トークン

戻り値
成功した場合は文字列、失敗した場合は空文字列を返す。
261  {
262  return DecodeCore(tokens, false);
263  }

◆ DecodeWithSpecialTokens()

string ailiaTokenizer.AiliaTokenizerModel.DecodeWithSpecialTokens ( int[]  tokens)
inline

スペシャルトークンを含んだデコードを実行します。 @pram tokens 入力トークン

戻り値
成功した場合は文字列、失敗した場合は空文字列を返す。
279  {
280  return DecodeCore(tokens, true);
281  }

◆ Dispose() [1/2]

virtual void ailiaTokenizer.AiliaTokenizerModel.Dispose ( )
inlinevirtual

リソースを解放します。

125  {
126  Dispose(true);
127  }

◆ Dispose() [2/2]

virtual void ailiaTokenizer.AiliaTokenizerModel.Dispose ( bool  disposing)
inlineprotectedvirtual
130  {
131  if (disposing){
132  // release managed resource
133  }
134  Close(); // release unmanaged resource
135  }

◆ Encode()

int [] ailiaTokenizer.AiliaTokenizerModel.Encode ( string  utf8)
inline

エンコードを実行します。

引数
utf8入力文字列
戻り値
成功した場合はトークン列、失敗した場合は空配列を返す。
225  {
226  return EncodeCore(utf8, false);
227  }

◆ EncodeWithSpecialTokens()

int [] ailiaTokenizer.AiliaTokenizerModel.EncodeWithSpecialTokens ( string  utf8)
inline

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

引数
utf8入力文字列
戻り値
成功した場合はトークン列、失敗した場合は空配列を返す。
243  {
244  return EncodeCore(utf8, true);
245  }

◆ GetVocab()

string ailiaTokenizer.AiliaTokenizerModel.GetVocab ( int  token)
inline

Vocabの取得を行います。

引数
tokenトークン
戻り値
成功した場合は string 、そうでなければnullを返す。
318  {
319  IntPtr ptr = IntPtr.Zero;
320  int status = AiliaTokenizer.ailiaTokenizerGetVocab(net, token, ref ptr);
321  if (status != 0){
322  return null;
323  }
324  return Marshal.PtrToStringAnsi(ptr);
325  }

◆ GetVocabSize()

int ailiaTokenizer.AiliaTokenizerModel.GetVocabSize ( )
inline

Vocabの数を取得します。

戻り値
成功した場合は 0以上の数値 、そうでなければ-1を返す。
295  {
296  uint len = 0;
297  int status = AiliaTokenizer.ailiaTokenizerGetVocabSize(net, ref len);
298  if (status != 0){
299  return -1;
300  }
301  return (int)len;
302  }

◆ Open()

bool ailiaTokenizer.AiliaTokenizerModel.Open ( string  model_path = null,
string  dictionary_path = null,
string  vocab_path = null 
)
inline

モデルファイルを開きます。

引数
model_pathモデルファイルへのパス。(nullの場合は読み込まない)
dictionary_path辞書ファイルへのパス。(nullの場合は読み込まない)
vocab_pathVocabファイルへのパス。(nullの場合は読み込まない)
戻り値
成功した場合はtrue、失敗した場合はfalseを返す。
66  {
67  if (net == null){
68  return false;
69  }
70 
71  int status = 0;
72 
73  if (model_path != null){
74  status = AiliaTokenizer.ailiaTokenizerOpenModelFile(net, model_path);
75  if (status != 0){
76  return false;
77  }
78  }
79  if (dictionary_path != null){
80  status = AiliaTokenizer.ailiaTokenizerOpenDictionaryFile(net, dictionary_path);
81  if (status != 0){
82  return false;
83  }
84  }
85  if (vocab_path != null){
86  status = AiliaTokenizer.ailiaTokenizerOpenVocabFile(net, vocab_path);
87  if (status != 0){
88  return false;
89  }
90  }
91 
92  return true;
93  }

このクラス詳解は次のファイルから抽出されました:
ailiaTokenizer.AiliaTokenizerModel.Dispose
virtual void Dispose()
リソースを解放します。
Definition: AiliaTokenizerModel.cs:124
ailiaTokenizer.AiliaTokenizerModel.Close
virtual void Close()
インスタンスを破棄します。
Definition: AiliaTokenizerModel.cs:109