Вы столкнулись с 2 проблемами здесь. Я предлагаю несколько способов, которые я нашел полезным.
1. Распознавание пользовательских сущностей: Чтобы решить эту проблему, вам нужно добавить больше обучающих предложений со всеми возможными длинами сущностей. ner_crf
будет лучше предсказывать, когда вокруг сущностей есть идентифицируемые маркеры (например, предлоги)
2. Извлечение сущностей из ответа одним словом: В качестве обходного пути я предлагаю вам выполнить ниже манипуляции на стороне клиента.
Когда вы отправляете вопрос наподобие
What´s your favorite animal?
, добавьте маркер к вопросу, чтобы указать клиенту, что ожидается один ответ. например Вы можете отправить##SINGLE## What´s your favorite animal?
клиенту.Клиент может удалить
##SINGLE##
из вопроса и показать его пользователю. Но когда клиент отправляет ответ пользователя на сервер, он не отправляетDog
, он отправляет что-то вродеUser responded with single answer as Dog
Вы можете обучить вашу модель извлечению сущностей из такого ответа. BLOCKQUOTE>
запустите это и затем попробуйте вставить ...
select * from yourTable with (holdlock,tablockx)
здесь, вы можете заблокировать его на 5 минут:
BEGIN TRANSACTION
SELECT * FROM yourTable WITH (TABLOCKX, HOLDLOCK)
WHERE 0 = 1
WAITFOR DELAY '00:05'
ROLLBACK TRANSACTION
Вы можете просто попросить свой sql-код подождать минуту перед возвратом:
WaitFor Delay '00:01:00'
Check out this blog post. Basically SQL Server doesn't have query timeouts. Clients may enforce a SQL timeout but the engine itself does not.
http://blogs.msdn.com/khen1234/archive/2005/10/20/483015.aspx
С другой стороны: если соединение настраивается, сократите время ожидания строки соединения до 1 секунды - это облегчит задачу. Заполните таблицу кучей данных, и три других процесса будут вращаться в цикле, обновляя фрагменты этой таблицы транзакцией вокруг цикла. Не изменяйте фактическую процедуру, вызываемую приложением (вставляя waitfor). Это делает недействительным интеграционный тест.
Но на самом деле, это тематическое исследование в пользу модульного тестирования и внедрения зависимостей. Некоторые вещи просто сложно проверить интеграцией. Модульный тест + внедрение зависимостей .
Это инъекция «зависимости». Dev может внедрить зависимость в базу данных, подставляя что-то, что имитирует поведение зависимости. Хорошо для всех тестов базы данных. В любом случае, с помощью модульного теста вы знаете, что исправление делает то, что должно, но вам все еще нужно интеграционное тестирование. В этом случае лучше сконцентрироваться на регрессии - это означает, что тестирование не повредило ничего, и эта функция все еще работает.
Вы уже создали свой патч, поэтому я думаю, что мой ответ слишком поздний.
Хорошо для всех тестов базы данных. В любом случае, с помощью модульного теста вы знаете, что исправление делает то, что должно, но вам все еще нужно интеграционное тестирование. В этом случае лучше сконцентрироваться на регрессии - это означает, что тестирование не повредило ничего, и эта функция все еще работает.Вы уже создали свой патч, поэтому я думаю, что мой ответ слишком поздний.
Хорошо для всех тестов базы данных. В любом случае, с помощью модульного теста вы знаете, что исправление делает то, что должно, но вам все еще нужно интеграционное тестирование. В этом случае лучше сконцентрироваться на регрессии - это означает, что тестирование не повредило ничего, и эта функция все еще работает.Вы уже создали свой патч, поэтому я думаю, что мой ответ слишком поздний.