Skip to content

Commit

Permalink
Merge pull request #113 from ivanov660/#112_доработка_обработки_анали…
Browse files Browse the repository at this point in the history
…за_текста_сценария

#112 доработка обработки анализа текста сценария
  • Loading branch information
TestingTool-3 authored Mar 14, 2021
2 parents 99ca8f3 + 2f503d7 commit ef7b38f
Show file tree
Hide file tree
Showing 10 changed files with 613 additions and 148 deletions.
2 changes: 1 addition & 1 deletion TestingToolPlugins/DT-INF/PROJECT.PMF
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Manifest-Version: 1.0
Runtime-Version: 8.3.14
Runtime-Version: 8.3.17
Store-Version: 1.0.0
Base-Project: TestingTool_3-0
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@
// СуждениеОсновной,СуждениеВторичный,СуждениеТретичный - три суждения в человеческой форме (совпадает, возможно, сомнительно, скорее случайность, нет)
//
&НаКлиенте
Функция ВыполнитьКлассификациюТекста(Текст,мНастройка) Экспорт
Функция ВыполнитьКлассификациюТекста(Текст,мНастройка,ИмяШаблона="") Экспорт
РезультатКлассификации = новый Структура("КлассОсновной,КлассВторичный,КлассТретичный,ОценкаОсновная,ОценкаВторичная,ОценкаТретичная,СуждениеОсновной,СуждениеВторичный,СуждениеТретичный","","","",-999999999,-999999999,-999999999,"нет","нет","нет");

ТаблицаРезультатаБлизости.Очистить();
Expand Down Expand Up @@ -138,6 +138,10 @@
//Получим вероятность
Для каждого класс из ТаблицаКлассов Цикл

Если ЗначениеЗаполнено(ИмяШаблона) И НЕ класс.Класс=ИмяШаблона Тогда
Продолжить;
КонецЕсли;

МаксКласса = 0;

// пройдемся из входного запроса по позициям
Expand Down Expand Up @@ -761,6 +765,65 @@

КонецПроцедуры

&НаКлиенте
Процедура ВыполнитьТестКачетваОбучающихТекстов(мНастройка) Экспорт

СоотвествиеРезультатовАнализа = Новый Соответствие;

Для каждого Класс из ТаблицаКлассов Цикл

РезультатАнализа = СоотвествиеРезультатовАнализа.Получить(Класс.Класс);
Если РезультатАнализа=Неопределено Тогда
РезультатАнализа = Новый Структура();
КонецЕсли;

мОтбор = Новый Структура("Класс",Класс.Класс);
н_строки = ТаблицаВекторовВероятностиСловКлассов.НайтиСтроки(мОтбор);
МассивОпорныхСлов = новый Массив;

// пройдемся и поищем слова с вероятностью 1
Для каждого стр из н_строки Цикл
Если стр.Слово="*" Тогда
Продолжить;
КонецЕсли;
//Ищем на частоту полную
Вероятность = стр.Вектор.Получить(ШиринаСегментнойЛинии+1).Значение.ВероятностьЧастотная;
Если Вероятность>=1 Тогда
МассивОпорныхСлов.Добавить(Новый Структура("Слово,Вероятность",стр.Слово,Вероятность));
КонецЕсли;
КонецЦикла;

Если МассивОпорныхСлов.Количество()=0 Тогда
Сообщить("Для класса '"+Класс.Класс+"' не обнаружено опорных токенов/слов!");
Иначе
ЕстьНормальныеОпорныеСлова = Ложь;
Для каждого стр из МассивОпорныхСлов Цикл
Если Найти(стр.Слово,"команда") ИЛИ
Найти(стр.Слово,"найти_кнопку_формы_найти") ИЛИ
Найти(стр.Слово,"найти_окно_найти") ИЛИ
Найти(стр.Слово,"найти_поле_формы_что_искать") ИЛИ
Найти(стр.Слово,"найти_кнопку_формы_выбрать") ИЛИ
Найти(стр.Слово,"найти_форму_найти") ИЛИ
Найти(стр.Слово,"найти_кнопку_формы_расширенный_поиск")
Тогда
Продолжить;
КонецЕсли;
ЕстьНормальныеОпорныеСлова = Истина;
Прервать;
КонецЦикла;
Если НЕ ЕстьНормальныеОпорныеСлова=Истина Тогда
Сообщить("Для класса '"+Класс.Класс+"' не обнаружено хороших опорных токенов/слов. Команды не являются хорошими опорными точками.!");
КонецЕсли;
КонецЕсли;


КонецЦикла;

Сообщить("Проверка завершена!");


КонецПроцедуры

#КонецОбласти


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,13 @@
</edit>
<main>true</main>
</attributes>
<parameters>
<name>ПутьКФайлу</name>
<valueType>
<types>String</types>
<stringQualifiers/>
</valueType>
</parameters>
<commandInterface>
<navigationPanel/>
<commandBar/>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,3 @@
Процедура ПриОткрытии(Отказ)
Отказ = Истина; // форма не предназначена для открытия
КонецПроцедуры

Loading

0 comments on commit ef7b38f

Please sign in to comment.