keras tokenizer 是否提供词干提取、词形还原等功能?如果是,那么它是如何完成的?需要一个直观的理解。还有,text_to_sequence
是什么意思?在那做什么?
最佳答案
分词器分别做什么和分词是什么可能会有一些混淆。标记化将字符串拆分为更小的实体,例如单词或单个字符。因此,这些也称为 token 。 Wikipedia提供了一个很好的例子:The quick brown fox jumps over the lazy dog
变成:
<sentence>
<word>The</word>
<word>quick</word>
...
<word>dog</word>
</sentence>
词形还原(将单词的屈折形式组合在一起 -> link )或词干提取(将屈折(或有时派生)单词减少为其词干的过程 -> link )是您在预处理期间执行的操作。标记化可以是词形还原和词干提取之前或之后(或两者)的预处理过程的一部分。
无论如何,Keras 不是用于完全文本预处理的框架。因此,您将已经清理过、词形还原等的数据输入到 Keras 中。 关于您的第一个问题:不,Keras 不提供像词形还原或词干提取这样的功能。
Keras 在文本预处理下的理解如 here in the docs是准备数据以便提供给 Keras 模型(如序列模型)的功能。例如,这就是为什么 Keras-Tokenizer做这个:
This class allows to vectorize a text corpus, by turning each text into either a sequence of integers (each integer being the index of a token in a dictionary) or into a vector where the coefficient for each token could be binary, based on word count, based on tf-idf...
例如,通过向量化您的输入字符串并将它们转换为数字数据,您可以将它们作为输入提供给一个神经网络,在 Keras 的情况下。
什么
text_to_sequence
可以从中提取手段:[...]整数序列(每个整数是字典中标记的索引)[...]。这意味着您之前的字符串可以是数字整数序列(例如数组)而不是实际单词。
关于这一点,您还应该看看 Keras Sequential 模型是什么(例如 here ),因为它们将序列作为输入。
此外,
text_to_word_sequence()
( docs ) 也提供了这样的标记化,但不会将您的数据向量化为数字向量并返回您的标记化字符串数组。Converts a text to a sequence of words (or tokens).
关于keras - keras-tokenizer 是否执行词形还原和词干提取的任务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56556837/