Content uploaded by Vadym Slyusar
Author content
All content in this area was uploaded by Vadym Slyusar on Nov 30, 2020
Content may be subject to copyright.
УДК 004.89
Слюсар В.И.
ПРИМЕНЕНИЕ ТОРЦЕВОГО ПРОИЗВЕДЕНИЯ МАТРИЦ В ЗАДАЧАХ
ОБРАБОТКИ ЕСТЕСТВЕННОГО ЯЗЫКА
Рассмотрены варианты применения торцевого произведения матриц инцидентности для решения
задач анализа текстов, в частности, определения частоты встречаемости трех, четырех и более слов в
предложениях отдельно взятого корпуса текста.
Variants of using the face-splitting product of incidence matrices for solving problems of text analysis, in
particular, determining the frequency of occurrence of three, four or more words in sentences of a separate text
corpus are considered.
Обработка естественного языка (Natural Language Processing, NLP) в последнее
время стала одним из важных направлений применения технологий искусственного
интеллекта. При этом многие варианты NLP базируются на использовании теории
графов. В последнее время такой подход получил дальнейшее развитие на основе
применения предложенного автором в 1996 году торцевого произведения матриц [1 -
4]. Первой публикацией такого рода применительно к NLP стал препринт [5], в котором
для уменьшения количества вычислений при анализе текстов была описана общая идея
замены кронекеровского произведения матриц на торцевое. Такой метод позволил
получить в [5] достаточно обнадеживающие результаты, хотя некоторые важные
аспекты применения торцевого произведения остались за пределами указанной
публикации. К тому же, допущенная автором [5] опечатка в примере с матрицей
совместной встречаемости (co-occurrence matrix) может стать причиной заблуждений
читателей в контексте правильного использования соответствующего математического
аппарата.
Целью работы является изложение результатов применения торцевого
произведения матриц для решения задач анализа текстов естественного языка.
Чтобы сохранить преемственность в демонстрации соответствующих
возможностей торцевого произведения матриц, ограничимся для примера
использованием данной матричной операции применительно к решению задачи
анализа текстового фрагмента из трех предложений, рассмотренных в [5]:
1) I like math; 2) You like math; 3) I like you.
Составим для этого набора предложений так называемую матрицу
инцидентности. Ее строки будут соответствовать конкретному предложению, а
столбцы - отдельно взятому слову. При этом числовые элементы в каждой строке
будут указывать на то, сколько раз то или иное слово встречается в данном
предложении.
Количество столбцов должно соответствовать максимальному количеству слов в
отдельно взятом предложении рассматриваемого текста. В указанном фрагменте
наибольшее количество слов – четыре, – имеет второе предложение. Прежде чем
непосредственно перейти к матрице инцидентности, составим с учетом сказанного для
наглядности таблицу, ей соответствующую.
Таблица 1
Порядковый номер
предложения
X1=I
X2=like
X3=math
X4=you
1
1
1
1
0
2
0
1
1
1
3
1
1
0
1
Как видно, все слова в указанном корпусе текста встречаются в предложениях не
более одного раза. Отсюда, получим матрицу инцидентности вида:
1011
1110
0111
G
.
Квадратичная форма на основе указанной матрицы типа GTG именуется
матрицей совместной встречаемости (co-occurrence matrix) [5]. Для
рассматриваемого примера она будет следующей:
2121
1221
2232
1122
1011
1110
0111
1011
1110
0111 T
TGG
.
Данная матрица симметрична относительно своей главной диагонали. Согласно
теории NLP, элементы на главной диагонали полученной матрицы показывают,
сколько раз отдельно взятое слово встречается в анализируемом тексте. Кстати,
получить эту информацию можно, сложив все строки инцидентной матрицы, что
эквивалентно операции умножения ее на вектор-строку единиц
2232
1011
1110
0111
111111
GG
T
1
,
или аналогично, умножив транспонированную матрицу G на вектор единиц
2
2
3
2
1
1
1
1011
1110
0111
1
1
1T
TT GG T
1
Таким образом, для получения информации об элементах главной диагонали
матрицы совместной встречаемости можно обойтись без формирования самой
матрицы, что упрощает дело. Однако необходимость в формировании такой матрицы
обусловлена наличием в ней дополнительной информации. Чтобы пояснить это,
перейдем от матрицы GTG к эквивалентной таблице, с помощью которой можно
наглядно представить назначение полученных матричных элементов (табл. 2).
Таблица 2
X1=I
X2=like
X3=math
X4=you
X1=I
2
2
1
1
X2=like
2
3
2
2
X3=math
1
2
2
1
X4=you
1
2
1
2
Нетрудно заметить, что элементы строк и столбцов указывают, сколько раз
конкретное слово встречается в тексте в сочетании с другим отдельно взятым словом
(отсюда происходит название матрицы совместной встречаемости). Например, из
первой строки следует, что слово X1=I дважды совместно присутствует в тексте в
одном предложении со словом X2=like и по одному разу – с остальными. Это можно
также трактовать как количество соответствующих пар слов (биграмм) в тексте.
Числа на пересечениях одноименных столбцов и строк соответствуют, как уже
отмечалось, частоте появления того или иного слова в анализируемом фрагменте. Это
свойство рассматриваемой матрицы позволяет применять ее для расшифровки текстов
по частоте появления слов, сопоставляя полученный результат со специальным
словарем наиболее встречающихся слов данного языка. Аналогичная процедура может
быть проделана и для букв (символов), использованных в тексте.
След от квадратичной формы tr(GTG), равный сумме диагональных элементов
квадратной матрицы, соответствует полному числу слов в тексте (без учета их
содержания). В данном случае эта величина равна 9. Чтобы получить распределение
общего количества слов по отдельным предложениям, следует рассчитать другую
квадратичную форму - GGT. В рассматриваемом примере она имеет вид:
322
232
223
1011
1110
0111
1011
1110
0111 T
T
GG
Таким образом, элементы на главной диагонали матрицы GGT соответствуют
количеству слов в предложениях, равному в данном случае 3. Элементы в строках или
столбцах указывают на количество одинаковых слов, используемых в паре
соответствующих предложений. Например, из первой строки следует, что первое
предложение имеет два слова, совпадающих со вторым предложением (пересечение
первой строки и второго столбца) и два слова – с третьим из предложений
(соответственно первый элемент третьего столбца матрицы GGT).
Разобравшись с основными возможностями классического матричного аппарата,
применяемого для анализа текстов, перейдем далее к более сложной задаче анализа
большего количества сочетаний слов. Как указано в [5], для этого необходимо
воспользоваться торцевым произведением матриц. В частности, для анализа парных
сочетаний слов отправной точкой должна стать вторичная матрица инцидентности,
сформированная из исходной матрицы G для отдельно взятых слов с помощью
выражения: I2=G □ G,
где □ – символ торцевого произведения матриц.
Применительно к рассматриваемому случаю получим:
1011
1110
0111
1011
1110
0111
2^^ GGI
1011000010111011
1110111011100000
0000011101110111
.
Для пояснения смысла элементов полученной матрицы снова обратимся к
табличной форме представления данных (см. табл. 3).
Таблица 3
№
предл
X1
X2
X3
X4
X1
X2
X3
X4
X1
X2
X3
X4
X1
X2
X3
X4
X1
X2
X3
X4
1
1
1
1
0
1
1
1
0
1
1
1
0
0
0
0
0
2
0
0
0
0
0
1
1
1
0
1
1
1
0
1
1
1
3
1
1
0
1
1
1
0
1
0
0
0
0
1
1
0
1
Строка таблицы, а соответственно и матрицы инцидентности, показывает в
данном случае, сколько раз та или иная пара слов встречается в конкретном
предложении. При этом по паре, образованной дублированием одного и того же слова
(XmXm, m= 1; 2; 3; 4), по–прежнему можно судить о том, сколько раз такое слово
включено в разные предложения.
Согласно [5], матрица совместной встречаемости для анализа парных
словосочетаний может быть сформирована на основе исходной матрицы
инцидентности и ее версии в виде торцевого произведения:
1011000010111011
1110111011100000
0000011101110111
1011
1110
0111 T
TGGGC ^
2121111021211011
1110122112210111
2121122122321122
1011011111221122
Полученная в результате матрица имеет размерность 16×4 и может быть
представлена в виде 4 блоков, каждый из которых соответствует одному из слов в
парных словосочетаниях (см. табл. 4). На главной диагонали каждого из этих блоков
расположены числа, показывающие, сколько раз во всем тексте в отдельно взятом
предложении встречается та или иная пара слов. Например, из первого блока видно,
что слово I (X1X1) представлено в тексте дважды. Также 2 раза встречается пара слов I
like (X1X2), а по одному разу в предложениях присутствуют словосочетания I math
(X1X3) и I you (X1X4). При этом необязательно, чтобы указанные слова в паре
располагались подряд. Кроме того, повторяющиеся слова в комбинации засчитываются
как одно слово, например X1X2X2
Таблица 4
X1=I
X2=like
X3=math
X4=you
X1
X2
X3
X4
X1
X2
X3
X4
X1
X2
X3
X4
X1
X2
X3
X4
X1
2
2
1
1
2
2
1
1
1
1
1
0
1
1
0
1
X2
2
2
1
1
2
3
2
2
1
2
2
1
1
2
1
2
X3
1
1
1
0
1
2
2
1
1
2
2
1
0
1
1
1
X4
1
1
0
1
1
2
1
2
0
1
1
1
1
2
1
2
Существенно, что элементы 4-го квартета столбцов табл. 4 и соответствующей
блочной матрицы отличается от приведенного в [5] выражения, содержащего опечатки.
Цифры вне главной диагонали матрицы С характеризуют частоту появления
конкретных троек слов в исследуемом тексте без учета их порядка в
последовательности. Например, из первого блока матрицы следует, что набор слов I
like math (X1X2X3) встречается однажды, равно как и I like you (X1X2X4). Кроме того,
повторяющиеся слова в комбинации засчитываются как одно слово, например, набор
X1X2X2 эквивалентен сочетанию X1X2, а XmXmXm= Xm для любого m.
След, взятый для каждого из блоков как сумма элементов на их главной
диагонали, показывает, сколько парных сочетаний образует слово в данном тексте с
другими словами и с самим собой. К примеру, согласно первому блоку, след которого
равен 6, слово I образует 6 парных сочетаний, из которых две пары соответствуют
непосредственно этому слову в первом и третьем предложениях.
Альтернативой формированию матрицы совместной встречаемости при анализе
парных словосочетаний является расчёт квадратичной формы I2TI2:
GGGGGGGGII TT
T
T^%^^ 22
При этом получаем квадратную матрицу размерностью 16×16, элементы которой
представлены в табл. 5. След данной матрицы tr(I2TI2)=27 соответствует полному
количеству пар во всех предложениях с учетом взаимной обратимости порядка
следования слов в паре и сочетания слова с самим собой. Особенностью этой блочной
матрицы является расположение на ее главной диагонали блоков рассмотренной выше
матрицы С. Кроме того, блоки, расположенные симметрично по обе стороны
относительно главной диагонали, совпадают. Эти блоки вне главной диагонали
позволяют получить информацию о квартетах слов, что является важнейшим
преимуществом данной квадратичной формы. При этом элементы главной диагонали
блока, расположенного на главной диагонали блочной матрицы, характеризуют частоту
появления одного слова и их пары, остальные элементы этих боков характеризуют
распространенность в тексте пар и троек слов. Блоки, расположенные вне главной
диагонали блочной матрицы, на своей главной диагонали содержат элементы,
описывающие количество тех или иных троек слов в тексте, а остальные элементы этих
блоков охватывают квартетные комбинации слов. Например, как следует из табл. 5,
дублирующей в удобном виде содержимое матрицы I2TI2, в рассматриваемом
фрагменте текста отсутствуют комбинации X1X2X3X4, X1X3X4Xm (элементы матрицы,
находящиеся на пересечении соответствующих строк, столбцов, блок-строк и блок-
столбцов равны нулю). След от блока, расположенного вне главной диагонали
матрицы, также указывает на общее количество соответствующих комбинаций
символов с учетом их повторяемости.
Таблица 5
X1=I
X2=like
X3=math
X4=you
X1
X2
X3
X4
X1
X2
X3
X4
X1
X2
X3
X4
X1
X2
X3
X4
X1
X1
2
2
1
1
2
2
1
1
1
1
1
0
1
1
0
1
X2
2
2
1
1
2
2
1
1
1
1
1
0
1
1
0
1
X3
1
1
1
0
1
1
1
0
1
1
1
0
0
0
0
0
X4
1
1
0
1
1
1
0
1
0
0
0
0
1
1
0
1
X2
X1
2
2
1
1
2
2
1
1
1
1
1
0
1
1
0
1
X2
2
2
1
1
2
3
2
2
1
2
2
1
1
2
1
2
X3
1
1
1
0
1
2
2
1
1
2
2
1
0
1
1
1
X4
1
1
0
1
1
2
1
2
0
1
1
1
1
2
1
2
X3
X1
1
1
1
0
1
1
1
0
1
1
1
0
0
0
0
0
X2
1
1
1
0
1
2
2
1
1
2
2
1
0
1
1
1
X3
1
1
1
0
1
2
2
1
1
2
2
1
0
1
1
1
X4
0
0
0
0
0
1
1
1
0
1
1
1
0
1
1
1
X4
X1
1
1
0
1
1
1
0
1
0
0
0
0
1
1
0
1
X2
1
1
0
1
1
2
1
2
0
1
1
1
1
2
1
2
X3
0
0
0
0
0
1
1
1
0
1
1
1
0
1
1
1
X4
1
1
0
1
1
2
1
2
0
1
1
1
1
2
1
2
Другая квадратичная форма имеет вид:
944
494
449
22 TTTT
T
TGGGGGGGGGGGGII %^^^
.
Ее след совпадает со следом предыдущей квадратичной формы, т. е.
27 GGGGtrGGGGtrGGGGtr TTTT
T^%%^^^
При этом отдельно взятый элемент главной диагонали соответствует количеству
всевозможных парных сочетаний слов, которые могут быть образованы внутри данного
предложения с учетом взаимной перестановки порядка слов и сочетания слова с самим
собой. В данном случае эта величина становит 9. Цифры вне главной диагонали
указывают общее количество таких словопар для двух сравниваемых предложений
(равно 4). Чтобы получить лишь значения элементов главной диагонали матрицы
совместной встречаемости, достаточно умножить слева матрицу инцидентности на
вектор строку единиц:
1011
1110
0111
1011
1110
0111
11111121112 ^^ GGGG
T
1
1011000010111011
1110111011100000
0000011101110111
111
2121122122321122
Аналогично с помощью торцевого произведения можно выйти на подсчет
количества совпадений сразу трех, четырех и более слов в фразах.
Дальнейшее расширение функциональных возможностей обработки текста в
рассматриваемом контексте задач позволяет получить переход к тройному торцевому
произведению матриц инцидентности:
I3=G □ G □ G,
где □ – символ торцевого произведения матриц.
Для анализируемого фрагмента текста такое произведение приводит к 16-блочной
матрице, состоящей из 4 четвёрок блоков:
1011
1110
0111
1011
1110
0111
1011
1110
0111
3^^^^ GGGI
1011000010111011
0000000000000000
0000011101110111
1011000010111011
1110111011100000
0000011101110111
0000000000000000
1110111011100000
0000011101110111
1011000010111011
1110111011100000
0000000000000000
Значения элементов матрицы I3 соответствуют количеству троек символов,
присутствующих в конкретном предложении. Например, нулевая первая строка в
последней четверке блоков обусловлена отсутствием в первом из предложений слова
you. Аналогично нулевая третья срока в третьем квартетном блоке, расположенном
выше предыдущего, соответствует отсутствию слова math в третьем из предложений.
Существенно, что в полученной структуре блочной матрицы при индексации столбцов
внешнее слева число в нижнем индексе меняется наиболее медленно:
X1X1X1 ... X1X1X4 ... X1X2X1 ... X1X2X4 ... X1X4X1 ... X1X4X4 ...
X2X1X1 ... X2X1X4 ... X2X2X1 ... X2X2X4 ... X2X4X1 ... X2X4X4 ... и т.д.
Подробно это пояснено в табл. 6.
Таблица 6
№
предл
X1=I (словосочетания X1XnXm)
X1=I
X2=like
X3=math
X4=you
X1
X2
X3
X4
X1
X2
X3
X4
X1
X2
X3
X4
X1
X2
X3
X4
1
1
1
1
0
1
1
1
0
1
1
1
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
1
0
1
1
1
0
1
0
0
0
0
1
1
0
1
Продолжение таблицы 5
№
предл
X2=like (словосочетания X2XnXm)
X1=I
X2=like
X3=math
X4=you
X1
X2
X3
X4
X1
X2
X3
X4
X1
X2
X3
X4
X1
X2
X3
X4
1
1
1
1
0
1
1
1
0
1
1
1
0
0
0
0
0
2
0
0
0
0
0
1
1
1
0
1
1
1
0
1
1
1
3
1
1
0
1
1
1
0
1
0
0
0
0
1
1
0
1
№
предл
X3=math (словосочетания X3XnXm)
X1=I
X2=like
X3=math
X4=you
X1
X2
X3
X4
X1
X2
X3
X4
X1
X2
X3
X4
X1
X2
X3
X4
1
1
1
1
0
1
1
1
0
1
1
1
0
0
0
0
0
2
0
0
0
0
0
1
1
1
0
1
1
1
0
1
1
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
№
предл
X4=you (словосочетания X4XnXm)
X1=I
X2=like
X3=math
X4=you
X1
X2
X3
X4
X1
X2
X3
X4
X1
X2
X3
X4
X1
X2
X3
X4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
1
1
1
0
1
1
1
0
1
1
1
3
1
1
0
1
1
1
0
1
0
0
0
0
1
1
0
1
Чтобы получить собственно матрицу совместной встречаемости, следует
сформировать матричное произведение GTI3 размерностью 64×4. Его результат
позволяет охватить не только тройки, но и четверки слов (символов).
Важный вывод, который следует сделать из представленных результатов, состоит
в возможности понижения размерности анализируемого набора данных за счет
применения свойств торцевого произведения:
GGGGGGdiag TTT ^^% 1
;
GGGGGGGbdiag TTT ^^%
;
GGGGGGGGGdiag TTTT ^^^^%% 1
;
GGGGGGGGGGbdiag TTTT ^^^^%%
;
GGGGGGGGGGGGGGGGbbdiag TT
T
TTT ^^%^^^^^%%
.
ВЫВОДЫ
В целом можно заключить, что максимальное количество слов N, доступное для
анализа с помощью квадратичных форм типа I2TI2, I3TI3 и т.д. равно удвоенной
величине кратности торцевого произведения, использованного для формирования
матрицы инцидентности, то есть: N=2K,
где K - количество сомножителей в торцевом произведении первичных матриц
инцидентности.
Для совместного анализа нескольких корпусов текста может быть использовано
блочное торцевое произведение [2 - 4].
Литература
1. Слюсар В.И. Торцевые произведения матриц в радиолокационных приложениях // Известия
высших учебных заведений. Радиоэлектроника.- 1998. - Том 41, № 3.- С. 71 - 75.
2. Слюсар В.И. Семейство торцевых произведений матриц и его свойства// Кибернетика и системный
анализ. – 1999.- Том 35; № 3.- С. 379-384.- DOI: 10.1007/BF02733426
3. Слюсар В.И. Обобщенные торцевые произведения матриц в моделях цифровых антенных решеток
с неидентичными каналами.//Известия высших учебных заведений. Радиоэлектроника.- 2003. - Том 46, №
10. - C. 15 - 26.
4. Основы военно-технических исследований. Теория и приложения. Том. 2. Синтез средств
информационного обеспечения вооружения и военной техники. / А.И. Миночкин, В.И. Рудаков, В.И.
Слюсар. – Киев:«Гранмна, 2012. – С. 7 – 98; 354 – 521.
5. Bryan Bischof. Higher order co-occurrence tensors for hypergraphs via face-splitting. Published 15
February, 2020, Mathematics, Computer Science, - https://arxiv.org/abs/2002.06285 ArXiv.