Текст статьи - Западно-Сибирский научный центр

advertisement
НОВЫЙ ПОДХОД К ПОСТРОЕНИЮ
ИСКУССТВЕННЫХ НЕЙРОННЫХ СЕТЕЙ ДЛЯ РЕШЕНИЯ ЗАДАЧИ
МАРШРУТИЗАЦИИ ВЫЗОВОВ
О.В. Ахтямов, аспирант, Р.Б. Сергиенко, к.т.н.
Научный руководитель – Е.С. Семёнкин, д.т.н., профессор
Сибирский государственный аэрокосмический университет имени академика
М.Ф. Решетнёва
г. Красноярск
E-mail: aht24@mail.ru
Введение
Задача маршрутизации голосовых вызовов является актуальной проблемой при
разработке современных автоматических контакт-центров. Её решение повысит
качество оказываемых контакт-центром услуг и сделает компанию более
конкурентоспособной [1]. В общем случае решение задачи можно разделить на два
этапа: первый – распознавание и представление в текстовом виде голосовых запросов
пользователей, второй – категоризация текстовых запросов. Данное исследование
рассматривает особенности классификации запросов на втором этапе решения задачи с
помощью искусственных нейронных сетей.
С точки зрения векторно-пространственной модели [2] задача текстовой
категоризации может быть представлена как задача машинного обучения. В таком
случае сложность задачи увеличивается, так как перед применением методов
машинного обучения необходимо из текстовой информации выделить числовую. Таким
образом, задача текстовой категоризации состоит из двух подзадач: первая –
предобработка текста, вторая – классификация полученной числовой информации.
Предобработка текста может быть выполнена с помощью процедуры
взвешивания термов. В данном исследовании рассмотрены методы взвешивания термов
Inverse Document Frequency (IDF) [3], Gain Ratio (GR) [4], Confident Weights (CW) [5],
Second Moment of a Term (TM2) [6], Relevance Frequency (RF) [7], Term Relevance Ratio
(TRR) [8] и Novel Term Weighting (NTW) [9], а также метод трансформации признаков
Feature Transformation Method Based on Terms Belonging to Classes [10].
В качестве алгоритма классификации используется искусственная нейронная
сеть (ИНС). Для её обучения применяется алгоритм обратного распространения
ошибки [11], позволяющий адекватно обучить ИНС за приемлемое время. Однако этот
метод никак не учитывает структуру обучаемой ИНС (число, положение и функции
активации нейронов). Подбор структуры имеет существенное значение и способен
улучшить качество обучения ИНС. Существует несколько подходов структурной
оптимизации ИНС, в том числе основанных на эволюционных алгоритмах, например,
на генетическом алгоритме (ГА) [12]. ГА можно использовать и для оптимизации весов
ИНС [13], хотя этот метод требует значительно больших вычислительных ресурсов, чем
метод обратного распространения ошибки, и существенно теряет свою эффективность с
ростом размерности задачи оптимизации.
Также важную роль играет кодировка решения для ГА (представление структуры
ИНС в виде бинарной строки). В данном исследовании рассматриваются различные
кодировки, основанные на структуре нейронной сети Ворда с разным количеством
нейронов в блоке [14]. Также предлагается новая кодировка, сочетающая в себе
достаточную точность представления структуры ИНС и небольшую длину бинарной
строки.
В целом предлагаемый подход к построению ИНС основан на комбинации
детерминированного (метод обратного распространения ошибки для обучения ИНС и
вычисления пригодности отдельного индивида) и стохастического (классический ГА
для оптимизации структуры ИНС) методов оптимизации.
Постановка задачи и описание тестовых данных
Массив тестовых данных содержит 292156 обращений клиентов в
автоматизированную службу поддержки пользователей на английском языке.
Информация предоставлена компанией Speech Cycle (New York, USA). Заявки клиентов
вручную обрабатывались экспертами и разделялись на 20 классов (оператор, счет,
интернет, телефон, техническая поддержка и другие). После удаления всех
неклассифицированных, пустых и повторяющихся заявок в базе осталось 24458
записей.
Далее база данных была случайным образом разбита на 20 блоков, каждый из
которых, в свою очередь, разделен на два множества (обучающее и тестовое) двумя
способами: в пропорциях 7/2 и 9/1 соответственно. Такой подход предотвращает
переобучение классификатора: первое разбиение используется в алгоритме структурной
оптимизации ИНС при вычислении пригодности индивидов, второе - при вычислении
финального значения F-меры ИНС, найденной алгоритмом структурной оптимизации.
Для каждого тренировочного блока был сформирован словарь уникальных слов,
содержащихся в нем. Размер словаря варьируется от 3275 до 3329 по всем разбиениям.
Предобработка текста
После выделения обучающих и тестовых примеров проводится процедура
взвешивания термов. Были реализованы 7 различных методов взвешивания термов,
указанных выше. Результатом работы каждого метода является числовой вектор, длинна
которого равна размеру словаря. В данном исследовании не используются
дополнительные текстовые фильтры на основе экспертных и лингвистических знаний,
поэтому данный подход к предобработке текста инвариантен к языку и решаемой
задаче. Вместо этого применяется вышеупомянутый метод трансформации признаков,
позволяющий радикально сократить размерность входного вектора задачи
классификации с количества слов в словаре до числа классов без потери качества
классификации.
Обучение ИНС фиксированной структуры с помощью алгоритма обратного
распространения ошибки
Различные методы взвешивания термов вместе с методом трансформации
признаков были протестированы на данной задаче с помощью простейшего
нейросетевого классификатора, использующего по умолчанию ИНС фиксированной
структуры и алгоритм обратного распространения ошибки для её обучения, встроенные
в программный пакет RapidMiner [15]. Такая ИНС представляет из себя персептрон с
одним скрытым слоем, количество нейронов в котором определяется по следующему
правилу:
nh 
ni  n o
 1,
2
(1)
где ni – количество входов, no – количество выходов. Все нейроны имеют одинаковую
сигмоидальную функцию активации. Каждый выход соответствует определённому
классу. ИНС относит входной вектор к классу, соответствующему выходу с наибольшим
значением. В данном случае nh = 21. Используются следующие настройки алгоритма
обратного распространения ошибки: скорость - 0.5, момент - 0.2, линейное уменьшение
скорости обучения к концу обучающей выборки в 2 раза. Значения скорости и момента
выбирались следующим образом: брались всевозможные пары значений из отрезка [0.1,
0.5] c шагом дискретизации 0.1, выбранная пара значений оказалась наилучшей. В
качестве меры эффективности классификации используется макро F1-мера [16].
Для данного классификатора был проведен t-тест всевозможных пар методов
взвешивания термов. t-тест продемонстрировал статистически значимое преимущество
метода TRR, поэтому было решено продолжать исследование только с этим методом в
целях уменьшения вычислительных затрат.
Все статистические тесты в данной работе проведены при уровне доверительной
вероятности 0.95 и при условии, что участвующие в них случайные величины имеют
нормальное распределение.
Метод взвешивания термов
Средняя F-мера
TRR
0.640
CW
0.630
RF
0.576
NTW
0.573
GR
0.558
TR2
0.476
IDF
0.460
Табл. 1. Результаты тестирования различных методов взвешивания термов с помощью
нейросетевого классификатора, встроенного в RapidMiner
Обучение ИНС фиксированной структуры с помощью ГА
Для решения аналогичной задачи был использован классический ГА, однако
результат обучения нейронной сети оказался хуже, а время, затраченное на обучение –
выше на порядок. В данном случае ИНС имеет 840 синапсов, для которых требуется
найти значения весовых коэффициентов. ГА имеет следующие настройки: ранговая
селекция, равномерное скрещивание, средняя мутация, размер популяции – 300, число
поколений – 300. Средняя F-мера равна 0.585. t-тест выявил, что данный результат
значимо хуже результата, полученного с помощью алгоритма обратного
распространения ошибки. К тому же время работы ГА на данной задаче составляет 4
часа, а алгоритму обратного распространения ошибки требуется 5 минут на
аналогичном компьютере.
Базовая кодировка структуры ИНС
Индивид ГА должен содержать информацию о положении каждого нейрона в
ИНС, а также о типе его активационной функции. Для классического ГА важно, чтобы
бинарные строки, кодирующие структуру ИНС, имели фиксированную длину. Решение
ищется во множестве многослойных нейронных сетей структуры Ворда, в которых
нейроны скрытых слоев разделены на блоки, имеющие одну функцию активации.
Чтобы определить такую структуру, необходимо задать размеры блоков нейронов
скрытого слоя s1 и выходного слоя s2, максимальное количество скрытых слоев n1,
максимальное количество нейронов в скрытом слое a1, количество нейронов в
выходном слое a2, а также вычислить количество битов k для кодирования выбранного
множества функций активации. В каждом блоке присутствует бит существования (если
он равен 1, то блок активен). Тогда общая длина бинарной строки вычисляется
следующим образом:
l  n1
a1
a
(k  1)  2 k .
s1
s2
(2)
Необходимо учесть, что s1 и s2 должны быть делителями a1 и a2 соответственно.
Данная кодировка позволяет гибко настраивать точность представления
структуры ИНС, но при этом обладает избыточностью: имеет место так называемая
«чувствительность к перестановкам». Это означает, что существуют несколько
различных бинарных строк (генотипов), соответствующих одной структуре ИНС
(фенотипу). Этот эффект увеличивает объем поискового пространства и замедляет
алгоритм оптимизации. Также в силу наличия битов существования имеются
множества постоянства, которые являются проблемой для многих алгоритмов
оптимизации, однако не представляют существенных трудностей для ГА.
Предлагаемая кодировка структуры ИНС
Данная кодировка работает с целыми слоями ИНС, а не с отдельными блоками:
все нейроны слоя имеют одинаковую функцию активации. Это уменьшает количество
настраиваемых параметров и делает алгоритм нечувствительным к перестановкам,
однако, ограничивает гибкость представления ИНС. Чтобы компенсировать это, в
кодировку был добавлен параметр функции активации, изменяя который, можно
получать различные формы одной и той же функции. Чтобы определить такую
нейронную сеть, необходимо задать максимальное количество скрытых слоев n,
вычислить число битов m для кодирования максимального количества нейронов в
скрытом слое, число битов k для кодирования выбранного множества функций
активации, а также число битов ka для дискретизации параметра активационной
функции. Тогда общая длина бинарной строки рассчитывается следующим образом:
l  n( m  k  k a )  k  k a .
(3)
Общая схема генетического алгоритма структурной оптимизации
Каждый индивид ГА представляет собой необученную нейронную сеть, и
рассчитать его значение функции пригодности означает обучить её и затем вычислить
F-меру. Для обучения применяется алгоритм обратного распространения ошибки с теми
же настройками, что и в случае фиксированной структуры ИНС. Данный алгоритм
является методом локального поиска, поэтому одного цикла обучения недостаточно,
чтобы адекватно оценить пригодность индивида. Один индивид обучают несколько раз
(3-5), генерируя различные случайные значения начальных весов, а затем вычисляют
пригодность как среднюю F-меру. В силу ограничений алгоритма обратного
распространения ошибки все используемые активационные функции должны быть
непрерывными и иметь производную, отличную от нуля. Используются следующие
функции активации:
- Линейная функция:
f 0 ( x) 
a
x  0 .5 ,
10
- Сигмоидальная функция:
1
f 1 ( x) 
,
1  e  ax
- Гиперболический тангенс:
tanh( ax)
f 2 ( x) 
 0.5 ,
2
(4)
(5)
(6)
- Рациональная сигмоидальная функция:
f 3 ( x) 
x
 0.5 ,
2( x  1 / a )
(7)
где a – параметр, присутствующий в предлагаемой кодировке. В базовой кодировке он
постоянен и равен 1.
ГА для оптимизации структуры ИНС включает в себя те же генетические
операторы, что и ГА, использованный для обучения ИНС фиксированной структуры.
Самонастройка ГА может быть реализована с помощью коэволюционного подхода [17].
Численный эксперимент
Нейронная сеть имеет 20 входов и 20 выходов (по одному на каждый класс).
Опытным путем было установлено, что для приемлемого решения данной задачи
достаточно, чтобы ИНС имела один скрытый слой, содержащий не более 32 нейронов.
Получаем a1=32 и a2=20. Для определения s1 и s2 найдем различные делители a1 и a2
соответственно и объединим их в пары по возрастанию.
Кодировка (для ИНС Ворда в скобках
указаны s1 и s2 соответственно)
Длина
бинарной
строки
19
136
68
34
20
10
5
-
Ресурс ГА
Средняя
F-мера
Предлагаемая кодировка ИНС
2500
0.684
ИНС Ворда (1,1)
12100
0.673
ИНС Ворда (2,2)
8100
0.670
ИНС Ворда (4,4)
4900
0.678
ИНС Ворда (8,5)
2500
0.684
ИНС Ворда (16,10)
Полный перебор 0.675
ИНС Ворда (32,20)
Полный перебор 0.675
ИНС фиксированной структуры,
0.640
обученная алгоритмом обратного
распространения ошибки
Табл. 2. Результаты сравнения различных нейросетевых классификаторов
Для каждой кодировки на каждом из 20 разбиений базы данных была получена и
протестирована оптимальная структура ИНС. Результаты, обработанные с помощью tтеста, показывают, что оптимизация структуры ИНС позволяет значимо повысить
эффективность классификации, а эффективность классификации с помощью ИНС
Ворда значимо зависит от размера блока. При этом лишь одна ИНС Ворда с блоками
(8;5) показала результат, значимо не отличающийся от результата, достигнутого с
помощью предлагаемой кодировки. Результаты других вариантов ИНС Ворда значимо
хуже.
Выводы
Выбор метода взвешивания термов значимо влияет на эффективность
классификации текста. Для данной задачи был выбрал лучший метод взвешивания
термов TRR.
Структурная оптимизация ИНС позволяет значимо повысить эффективность
классификации. Предлагаемая кодировка работает гарантированно не хуже кодировки
ИНС Ворда, при этом имеет меньше настраиваемых параметров и требует меньшие
вычислительные затраты.
Список литературы:
1.
Suhm B., Bers J., McCarthy D., Freeman B., Getty D., Godfrey K., and
Peterson P. A comparative study of speech in the call center: Natural language call routing vs.
touch-tone menus// In Proceedings of the SIGCHI conference on Human Factors in
Computing Systems, ACM, 2002. – P. 283–290.
2.
Sebastiani, F. Machine learning in automated text categorization// ACM
computing surveys (CSUR), 2002. – Vol. 34, No.1. – P. 1-47.
3.
Salton, G. and Buckley, C. Term-weighting approaches in automatic text
retrieval// Information processing & management, 1988. – Vol. 24, No. 5. – P. 513-523.
4.
Debole, F. and Sebastiani, F. Supervised term weighting for automated text
categorization// Text mining and its applications, Springer Berlin Heidelberg, 2004. – P. 8197.
5.
Soucy P. and Mineau G. W. Beyond TFIDF Weighting for Text Categorization
in the Vector Space Model// Proceedings of the 19th International Joint Conference on
Artificial Intelligence (IJCAI 2005), 2005. – P. 1130-1135.
6.
Xu, H. and Li, C. A Novel term weighting scheme for automated text
Categorization// Intelligent Systems Design and Applications (ISDA 2007), IEEE, 2007. - P.
759-764.
7.
Lan, M., Tan, C. L., Su, J., and Lu, Y. Supervised and traditional term
weighting methods for automatic text categorization// Pattern Analysis and Machine
Intelligence, IEEE, 2009. Vol. 31, No. 4. – P. 721-735.
8.
Ko, Y. A study of term weighting schemes using class information for text
classification// Proceedings of the 35th international ACM SIGIR conference on Research and
development in information retrieval, ACM, 2012. – P. 1029-1030.
9.
Akhmedova S., Semenkin E., Sergienko R. Automatically generated classifiers
for opinion mining with different term weighting schemes // ICINCO 2014 - Proceedings of
the 11th International Conference on Informatics in Control, Automation and Robotics 11.
2014. – P. 845-850.
10.
Gasanova, T., Sergienko, R., Semenkin, E., and Minker, W. Dimension
Reduction with Coevolutionary Genetic Algorithm for Text Classification// Proceedings of the
11th International Conference on Informatics in Control, Automation and Robotics (ICINCO),
2014. Vol.1. – P. 215–222.
11.
Hecht-Nielsen, R. Theory of the backpropagation neural network// In Neural
Networks (IJCNN), International Joint Conference, IEEE, 1989. – P. 593-605.
12.
Bukhtoyarov, V. and Semenkina, O. Comprehensive evolutionary approach for
neural network ensemble automatic design// In Evolutionary Computation (CEC), IEEE
Congress, 2010.
13.
Whitley, D., Starkweather, T., and Bogart, C. Genetic algorithms and neural
networks: Optimizing connections and connectivity// Parallel computing, 1990. Vol. 14, No.
3. – P. 347-361.
14.
WARD SYSTEMS GROUP, INC. NeuroShell 2 User’s Manual, 1996.
15.
Shafait F., Reif M., Kofler C., and Breuel T. M. Pattern Recognition
Engineering// RapidMiner Community Meeting and Conference, 9, 2010.
16.
Manning C., Raghavan P., Schütze H. Introduction to Information Retrieval. —
Cambridge University Press, 2008.
17.
Семенкин Е.С., Сергиенко Р.Б. Коэволюционный алгоритм для задач
условной и многокритeриальной оптимизации // Программные продукты и системы,
2010, № 4. - С. 23.
Download