First of all, you need to build your model with the softmax activation as its own layer, so you can take the output before it:
x = Dense(1, activation='linear')(x)
x = Activation('softmax')(x)
model = Model(inputs=..., outputs=x)
Now, for the actual extraction you'll have to do something like this (untested):
model = keras.models.load_model('trained_model.h5')
output_layer = model.layers_by_depth[1][0] # Adjust appropriately
features_out = K.function(model.inputs + [K.learning_phase()], (output_layer.output,))