Вы можете написать пользовательские функции, чтобы переопределить встроенный препроцессор и токенизатор.
Из документов:
Препроцессор - вызываемый, который принимает весь документ как ввод ( как одна строка) и возвращает возможно преобразованную версию документа, все еще как целую строку. Это можно использовать для удаления тэгов HTML, строчного документа и т. Д.
Tokenizer - вызываемый, который выводит результат из препроцессора и разбивает его на токены, а затем возвращает список из них.
blockquote>В этом случае предварительная обработка не выполняется (потому что нет необработанных документов). Токенизация также не нужна, потому что у нас уже есть массивы функций. Поэтому мы можем сделать следующее:
tfidf = TfidfVectorizer(preprocessor=lambda x: x, tokenizer=lambda x: x) tfidf_matrix = tfidf.fit_transform(corpus)
Мы пропускаем как препроцессор, так и шаги токенизатора, просто передавая весь корпус с
lambda x: x
. Когда встроенный анализатор получает массивы функций, он строит сам словарь и выполняет TF-IDF на «токенизированном» корпусе как обычно.
Эквивалентом команды nvl
в HQL является команда coalesce
. coalesce(a,b)
вернет a
, если a
не равно нулю, в противном случае b
.
Итак, вы бы хотели что-то вроде:
from Table where col1 = coalesce(:par1, 'asdf')