RASA文本特征生成器分为两个不同类别:稀疏特征生成器如One-hot和密集特征生成器如Bert。稀疏特征生成器会返回具大量缺失值(例如零)的特征向量。但是由于这些特征向量通常会占用大量内存,因此我们将它们存储为稀疏特征,稀疏特征仅存储非零值及其在向量中的位置,能够在更大的数据集上进行训练。
所有特征生成器都可以返回两种不同类型的特征:序列特征和句子特征。序列特征是 维度为number-of-tokens x feature-dimension 的矩阵。该矩阵包含序列中每个标记的特征向量。我们用这个特征去训练序列模型,如实体识别。句子特征是纬度为(1 x feature-dimension) 的矩阵,包含完整话语的特征向量,可以用来做意图分类。句子特征可用于任何词袋模型。具体使用哪种特征方法由使用的分类器决定。注意:feature-dimensionfor 序列和句子的特征不必相同。
MitieFeaturizer
该特征生成器输出为稠密向量,可以用作实体提取、意图分类和响应分类的特征使用。需要在pipeline中引入MitieNLP语言模型。但是有意思的是,该特征器并没有被MitieIntentClassifier使用,因为MitieIntentClassifier里面实现了所有分词,特征提取功能。
MitieFeaturizer是对每个Token输出一个feature-dimension维度的向量,那么生成句子向量的做法是通过pooling技术,这里可以选择max pooling和mean pooling,这个参数可以在配置文件中指定。最终会生成一个1 x feature-dimension的句子向量。max pooling算法就是取每个token中相同维度,最大的值作为句子向量的这个维度的值,那么mean pooling就好理解了,句子向量是每个token的均值。
MitieFeaturizer主要是在pipline里面进行配置,配置方式如下:
pipeline:
- name: "MitieFeaturizer"
# Specify what pooling operation should be used to calculate the vector of
# the complete utterance. Available options: 'mean' and 'max'.
"pooling": "mean"
SpacyFeaturizer
该特征生成器输出为稠密向量,可以用作实体提取、意图分类和响应分类的特征使用。需要在pipeline中引入SpacyNLP语言模型。
SpacyFeaturizer是对每个Token输出一个feature-dimension维度的向量,那么生成句子向量的做法是通过pooling技术,这里可以选择max pooling和mean pooling,这个参数可以在配置文件中指定。最终会生成一个1 x feature-dimension的句子向量。max pooling算法就是取每个token中相同维度,最大的值作为句子向量的这个维度的值,那么mean pooling就好理解了,句子向量是每个token的均值。
&nb

最低0.47元/天 解锁文章
743

被折叠的 条评论
为什么被折叠?



