python関数-Keras分詞器Tokenizer
文書ディレクトリ 0. 前言 1. 構文 1.1構造パラメータ 1.2戻り値 1.3類方法 1.4属性 2. 簡単な例 3. 共通例 python関数シリーズディレクトリ:python関数-ディレクトリ
0.はじめに
1.構文
公式文法は次の1つです.
Code.1.1分詞器Tokenizer構文
1.1構築パラメータ 1.2戻り値
文字列リスト
1.3種類の方法
次のセクションでは、関連するクラスメソッドについて説明します.
方法
パラメータ
戻り値
fit_on_texts(texts)
texts:訓練に使用するテキストリスト
-
texts_to_sequences(texts)
texts:シーケンスに変換するテキストリスト
各シーケンスが入力テキストに対応するシーケンスのリスト
texts_to_sequences_generator(texts)
texts:シーケンスに変換するテキストリスト
この関数はtexts_to_sequencesのジェネレータ関数版は、呼び出しのたびに入力テキストに対応するシーケンスを返す
texts_to_matrix(texts, mode)
texts:量子化されるテキストのリスト;mode:『binary』,『count』,『tfidf』,『freq』の1つで、デフォルトは『binary』
形は(len(texts)、nb_words)のnumpy array
fit_on_sequences(sequences)
sequences:トレーニングに使用するシーケンスのリスト
-
sequences_to_matrix(sequences)
sequences:量子化されるシーケンスのリスト;mode:『binary』,『count』,『tfidf』,『freq』の1つで、デフォルトは『binary』
戻り値:たとえば(len(sequences)、nb_words)のnumpy array
1.4属性
2.簡単な例
Code.2.1簡単な例
3.一般的な例
また、上記の
Code.3.1一般的な例
https://keras-cn.readthedocs.io/en/latest/preprocessing/text/#_1 ↩︎
0.はじめに
Tokenizer
は、テキストを量子化したり、テキストをシーケンス(すなわち、単一の単語および対応する下付き文字からなるリスト)に変換したりするためのクラスである.は、テキストの前処理に使用される最初のステップです.分詞です.簡単なイメージの例を組み合わせるともっと理解しやすくなります.1.構文
公式文法は次の1つです.
Code.1.1分詞器Tokenizer構文
keras.preprocessing.text.Tokenizer(num_words=None,
filters='!"#$%&()*+,-./:;<=>?@[\]^_`{|}~\t
',
lower=True,
split=" ",
char_level=False)
1.1構築パラメータ
num_words
:デフォルトではNone
がすべての単語を処理しますが、整数に設定すると、最も一般的で、最も頻度の高いnum_words
の単語が最後に返されます.filters
:いくつかの特殊な文字をフィルタして、デフォルトの上記の書き方でいいです.lower
:すべて小文字に変換split
:文字列、単語の区切り記号、例えばスペース文字列リスト
1.3種類の方法
次のセクションでは、関連するクラスメソッドについて説明します.
方法
パラメータ
戻り値
fit_on_texts(texts)
texts:訓練に使用するテキストリスト
-
texts_to_sequences(texts)
texts:シーケンスに変換するテキストリスト
各シーケンスが入力テキストに対応するシーケンスのリスト
texts_to_sequences_generator(texts)
texts:シーケンスに変換するテキストリスト
この関数はtexts_to_sequencesのジェネレータ関数版は、呼び出しのたびに入力テキストに対応するシーケンスを返す
texts_to_matrix(texts, mode)
texts:量子化されるテキストのリスト;mode:『binary』,『count』,『tfidf』,『freq』の1つで、デフォルトは『binary』
形は(len(texts)、nb_words)のnumpy array
fit_on_sequences(sequences)
sequences:トレーニングに使用するシーケンスのリスト
-
sequences_to_matrix(sequences)
sequences:量子化されるシーケンスのリスト;mode:『binary』,『count』,『tfidf』,『freq』の1つで、デフォルトは『binary』
戻り値:たとえば(len(sequences)、nb_words)のnumpy array
1.4属性
word_counts
:辞書は、単語(文字列)を訓練中に現れる回数にマッピングします.fit_on_texts
が呼び出された後にのみ設定されます.word_docs
:単語(文字列)をトレーニング中に表示されるドキュメントまたはテキストの数にマッピングする辞書.fit_on_texts
が呼び出された後にのみ設定されます.word_index
:辞書は、単語(文字列)をランキングまたはインデックスにマッピングします.fit_on_texts
が呼び出された後にのみ設定されます.document_count
:整数.分詞器が訓練されたドキュメント(テキストまたはシーケンス)の数.fit_on_texts
またはfit_on_sequences
が呼び出された後にのみ設定されます.2.簡単な例
Code.2.1簡単な例
>>>from keras.preprocessing.text import Tokenizer
Using TensorFlow backend.
# Tokenizer
>>>tokenizer = Tokenizer()
# text
>>>text = [" ", " "]
# fit_on_texts
>>>tokenizer.fit_on_texts(text)
# word_counts
>>>tokenizer.word_counts
OrderedDict([(' ', 2),
(' ', 1),
(' ', 1),
(' ', 1),
(' ', 2),
(' ', 1),
(' ', 1)])
# word_docs
>>>tokenizer.word_docs
defaultdict(int, {' ': 1, ' ': 1, ' ': 2, ' ': 1, ' ': 2, ' ': 1, ' ': 1})
# word_index
>>>tokenizer.word_index
{' ': 1, ' ': 2, ' ': 3, ' ': 4, ' ': 5, ' ': 6, ' ': 7}
# document_count
>>>tokenizer.document_count
2
3.一般的な例
また、上記の
tokenizer
のオブジェクトに基づいて、texts_to_sequences()
メソッドとシーケンス前処理メソッドkeras.preprocessing.sequence.pad_sequences
とを併用することが多いpad_sequences
の使用方法についてはpython関数-シーケンス前処理pad_を参照してください.シーケンスパディングCode.3.1一般的な例
>>>tokenizer.texts_to_sequences([" "])
[[4, 5, 6, 7]]
>>>keras.preprocessing.sequence.pad_sequences(tokenizer.texts_to_sequences([" "]), maxlen=20)
array([[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 5, 6, 7]],dtype=int32)
https://keras-cn.readthedocs.io/en/latest/preprocessing/text/#_1 ↩︎