N граммы в лингвистике. Улучшение внутренней оптимизации с помощью конкурентов

,

Рассмотрены N -граммы как средство фиксации языковой реальности и как модельный конструкт. Разобрана связь модельных N -грамм и формальных грамматик. Обращено внимание на недостатки и противоречия, связанные с использованием вероятностных моделей .

Введение

Начнем с формального определения. Пусть задан некоторый конечный алфавит VT ={wi }, где wi –отдельный символ. Множество цепочек (строк) конечной длины, состоящих из символов алфавита VT , называется языком на алфавите VT и обозначается L(VT) . Отдельную цепочку из языка L(VT) будем называть высказыванием на этом языке. В свою очередь, N -граммой на алфавите VT называется цепочка длиной N . N -грамма может совпадать с каким-то высказыванием, быть его подстрокой или вообще не входить в L(VT) .

Приведем несколько примеров N -грамм.

3. , N -граммы русского языка. // Настоящий сборник.

4. Гланц С. Медико-биологическая статистика. Пер. с англ. под ред. и. М., 1999.

5. Дескриптивная лингвистика. Предисловие к книге Г. Глисона «Введение в дескриптивную лингвистику». М., 1959.

6. Теоретическая и прикладная лингвистика. М., 1968.

8. , Паузирование при автоматическом синтезе речи. // Теория и практика речевых исследований. М. 1999.

9. Минский М. Остроумие и логика когнитивного бессознательного. // Новое в зарубежной лингвистике. Вып. XXIII. М., 1988.

10. Слобин Д., Грин Дж. Психолингвистика. М., 1976

11. Теория вероятностей. М., 1972.

12. Фу К. Структурные методы в распознавании образов. М., 1977.

13. Харрис Т. Теория ветвящихся случайных процессов. М., 1966.

14. Brill E. et al. Beyond N -grams: Can linguistic sophistication improve language modeling?

15. Booth T. Probability Representation of Formal Languages. // IEEE Annual Symp. Switching and Automata Theory. 1969.

16. Jelinek F. Self-Organized Language Modeling for Speech Recognition. // Readings in Speech Recognition. 1989.

17. Je linek F. , Lafferty J. Computation of the probability of initial substring generation by stochastic context-free grammar. // Computational Linguistics, vol.

18. Harris Z. S. Method in Structural Linguistics. Chicago, 1951.

19. Lashley K. The problem of serial order in behavior. // Psycholinguistics: A book of readings, N. Y. 1961.

20. Schlesinger E. Sentence Structure and the Reading Process. Mouton. 1968.

21. Shieber S. Evidence against the context-freeness of natural language. // Linguistics and Philosophy, vol.

22. Sola Pool I. Trends in Content Analysis Today. // Psycholinguistics: A book of readings, N. Y. 1961

23. Stolcke A., Segal J. Precise n-gram probabilities from stochastic context-free grammars. // Proceedings of the 32th Annual Meeting of ACL. 1994.

Семантическое ядро

Чтобы успешно развиваться и увеличивать видимость сайта в современных реалиях, необходимо постоянно расширять семантическое ядро. Одним из лучших способов расширения является сбор ключевых слов конкурентов.

Сегодня получить семантику конкурентов не составляет труда, т.к. существует множество сервисов, как платных, так и бесплатных.

Список бесплатных:

— megaindex.ru — инструмент «Видимость сайта»

— xtool.ru — всем известный сервис, который также показывает ключевые слова, по которым сайт ранжируется

Список платных:

— spywords.ru — подходит для Яндекс и Google

— semrush.ru — ориентирован только под Google

— prodvigator.ua — украинский аналог spywords.ru

В дополнение к сервисам можно использовать и ручной метод, основанный на разбиении title и description на n-граммы, вследствие чего на выходе получается дополнительный список фраз.

N-грамма — последовательность из n элементов . На практике чаще встречается N-грамма как ряд слов. Последовательность из двух последовательных элементов часто называют биграмма , последовательность из трех элементов называется триграмма . Не менее четырех и выше элементов обозначаются как N-грамма, N заменяется на количество последовательных элементов.

Рассмотрим данную методику по шагам:

— Выгружаем title (description) конкурентов. Можно сделать с помощью программы Screaming Frog SEO.

— В текстовом редакторе чистим получившийся список от служебных частей речи, знаков препинания и прочего мусора. Я использую в текстовом редакторе sublime text функцию «поиск и замена» (горячая клавиша ctrl+H), применяя регулярные выражения:

— Выбираем нужную n-грамму и ставим частоту не менее одного. Самый оптимальный вариант — это триграммы и 4-граммы:

— Получаем следующий результат:

Столбец count показывает количество повторений n -грамм, столбец frequency —частоту n -граммы.

После того как мы получили список фраз, нужно его проанализировать и выбрать подходящие ключевые слова для расширения семантического ядра. Подробнее можно узнать в соответствующем разделе нашего блога.

Группировка запросов

Очень важно понимать, как группируется семантическое ядро у конкурентов, т.к. это помогает правильно распределить ключевые фразы на страницах сайта.

Для этого после того как мы сформировали полный список запросов, нам необходимо получить релевантные страницы и позиции конкурентов (можно с помощью сервиса seolib.ru), а потом сравнить со своей группировкой. Если видно, что конкурент занимает хорошие позиции и при этом его группировка отличается от нашей (например, у конкурента запросы распределены на разные страницы, а у нас такие же запросы сидят на одной), нужно обратить на это внимание и пересмотреть посадочные страницы на своем сайте.

Рассмотрим небольшой пример сравнения группировки условного сайта и его конкурента.

Как видно из таблицы, на сайте site.ru выбрана одна посадочная страница для всех ключевых слов. У конкурента по этим же запросам ранжируются разные страницы и занимают ТОПовые или близкие к ТОПу позиции. Исходя из этого, можно сделать вывод, что группировку на site.ru необходимо пересматривать, в частности необходимо создать отдельную страницу для ключевых фраз со словом «фасад».

Качество текстов

Первое и самое важное, на что следует обращать внимание при анализе текстов конкурентов, это не на количественную составляющую (количество вхождений, объем текста и т.д.), а на качественную или смысловую — насколько полезная информация, что предлагает конкурент и как он это делает.

Рассмотрим несколько примеров.

Допустим, вы занимаетесь доставкой цветов и на главной странице в тексте вы гарантируете их свежесть. Например, так:

Служба доставки цветов site . ru гарантирует сохранность букетов даже в холодное время года.

А вот пример у одного из конкурентов:

Заказывать ароматные композиции выгодно именно у нас, потому что мы гарантируем 100%‑ый возврат денег, если свежесть цветов вызывает сомнение.

У конкурента гарантия подкреплена деньгами, что более существенно, чем абстрактная гарантия.

Рассмотрим еще один пример — текст на странице категории «керамическая плитка» интернет-магазина:

Этот текст не несет никакой полезной смысловой нагрузки, сплошная вода. Скорее всего, человек, который пришел на сайт и принимает решение о покупке, хочет узнать преимущества товара и возможные комплектации, вместо этого он получает бессмысленный набор символов.

Теперь посмотрим на текст у конкурента:

Данный текст более полезен, т.к. лаконично сообщает о различиях плитки и помогает понять, как ее правильно выбрать.

Таким образом, сравнивая тексты конкурентов со своими, вы можете получить много полезной информации, которая поможет при составлении ТЗ копирайтерам.

Релевантность текстов

Продолжая тему качества текстов, нельзя не коснуться их релевантности. Сегодня для того чтобы текст был релевантным, недостаточно только вхождения ключевых слов. Чтобы увеличить релевантность страницы и при этом не сделать текст спамным, нужно использовать слова, связанные с тематикой.

При оценке релевантности текста запросу поисковая система анализирует не только наличие ключевых слов, но и дополнительные слова, определяя таким образом смысл текста. Например, если мы пишем текст про слона, то связанными словами можно считать: «хобот», «бивни», «природа», «зоопарк». Если текст про шахматную фигуру «слон», то такими словами будут: «фигура», «шах», «ферзь» и т.д.

Получить наиболее подходящий список слов под ваши запросы можно в текстах конкурентов. Для этого нужно проделать следующие шаги:

— Копируем все тексты из ТОП-10 по нужному ВЧ запросу в разные текстовые файлы.

— Из текстов удаляем служебные части речи, знаки пунктуации и цифры (рассматривали ранее).

— Выстраиваем слова в строку — используем функцию «поиск и замена» с регулярными выражениями. Заменяем пробел на \n.

— Далее необходимо привести все словоформы к нормальной словарной форме (леме). Для этого можно воспользоваться сервисом https://tools.k50project.ru/lemma/ . В поле надо внести список слов из каждого файла по отдельности и нажать кнопку «лемметизировать и вывести в виде csv‑таблицы». В итоге должно получиться 10 файлов с лемметизированными словами.

— В каждом файле удаляем дубликаты слов.

— Объединяем слова из файлов в один список.

— Теперь нужно создать частотный словарь. Для этого полученный список добавляем в сервис https://tools.k50project.ru/lemma/ и нажимаем «построить частотный словарь в виде CSV».

— Наш список слов готов:

Если частота 10, значит, данное слово использовалось на всех 10-ти сайтах, если 8, то только у 8‑ми и т.д. Рекомендуем использовать наиболее частотные слова, однако и среди редко встречающихся слов можно найти интересные решения.

Вот таким простым способом вы можете получить список тематических слов для составления ТЗ копирайтерам.

Как видно, конкуренты являются очень важным источником информации, которая может помочь лучше оптимизировать ваши сайты. В данной статье я охватил далеко не все аспекты, и в будущем буду продолжать писать о том, что полезного и как можно извлечь у ваших конкурентов.

Подписаться на рассылку

Определение Примеры прикладных задач Создание языковой модели n-грамм Подсчет вероятности n-грамм Устранение разреженности обучающего корпуса o Add-one Smoothing o Witten-Bell Discounting o Good-Turing Discounting o Katzs Backoff o Deleted Interpolation Оценка языковой модели n-грамм с помощью энтропии Содержание


N-грамма (англ. N-gram) подпоследовательность из N элементов некоторой последовательности. Рассмотрим последовательности слов. Юниграммы cat, dog, horse,... Биграммы little cat, big dog, strong horse,... Триграммы little cat eats, big dog barks, strong horse runs,... Определение


Примеры прикладных задач Распознавание речи. Некоторые различные по написанию слова произносятся одинаково. Задача выбрать в контексте правильное слово. Генерация текстов заданной тематики. Пример: Яндекс.Рефераты. Поиск семантических ошибок. He is trying to fine out - с точки зрения синтаксиса верно, с точки зрения семантики нет. He is trying to find out – верно. trying to find out встречается в английских текстах гораздо чаще, чем trying to fine out, значит при наличии статистики можно найти и устранить ошибку подобного рода


Создание языковой модели n- грамм Для решения перечисленных прикладных задач, нужно создать языковую модель N- грамм. Для создания модели необходимо: 1. Посчитать вероятности n-грамм в обучающем корпусе. 2. Устранить проблему разреженности корпуса с помощью одного из методов сглаживания. 3. Оценить качество полученной языковой модели n-грамм с помощью энтропии.


Подсчет вероятности N-грамм (1) В обучающем корпусе те или иные n- граммы встречаются с разной частотой. Для каждой n-граммы мы можем посчитать, сколько раз она встретилась в корпусе. На основе полученных данных можно построить вероятностную модель, которая затем может быть использована для оценки вероятности n-грамм в некотором тестовом корпусе.


Подсчет вероятности N-грамм (2) Рассмотрим пример. Пусть корпус состоит из одного предложения: They picnicked by the pool, then lay back on the grass and looked at the stars Выделим n-граммы. Юниграммы: They, picknicked, by, … Биграммы: They picnicked, picknicked by, by the, … Триграммы They picknicked by, picknicked by the, by the pool, …


Подсчет вероятности N-грамм (3) Теперь можно посчитать n-граммы. Все выделенные би- и три- граммы встречаются в корпусе по одному разу. Все юниграммы, за исключением слова the, также встречаются единожды. Слово the встречается трижды. Теперь, когда известно, сколько раз встречается каждая n-грамма, можно построить вероятностную модель n-грамм. В случае юниграмм, вероятность слова u может быть вычислена по формуле: Например, для слова the вероятность будет равна 3/16 (т.к. в корпусе 16 слов, 3 из которых – слово the). Число вхождений слова u в обучающем корпусе They picnicked by the pool, then lay back on the grass and looked at the stars


1, вероятность считается несколько иначе. Рассмотрим случай биграмм: пусть необходимо вычислить вероятность биграммы the pool. Если рассматривать каждое слово биграммы как некоторое событие, то вероя" title="Подсчет вероятности N-грамм (4) Для n-грамм, где n>1, вероятность считается несколько иначе. Рассмотрим случай биграмм: пусть необходимо вычислить вероятность биграммы the pool. Если рассматривать каждое слово биграммы как некоторое событие, то вероя" class="link_thumb"> 9 Подсчет вероятности N-грамм (4) Для n-грамм, где n>1, вероятность считается несколько иначе. Рассмотрим случай биграмм: пусть необходимо вычислить вероятность биграммы the pool. Если рассматривать каждое слово биграммы как некоторое событие, то вероятность совокупности событий может быть вычислена по формуле: Таким образом, вероятность биграммы the pool:, где 1, вероятность считается несколько иначе. Рассмотрим случай биграмм: пусть необходимо вычислить вероятность биграммы the pool. Если рассматривать каждое слово биграммы как некоторое событие, то вероя"> 1, вероятность считается несколько иначе. Рассмотрим случай биграмм: пусть необходимо вычислить вероятность биграммы the pool. Если рассматривать каждое слово биграммы как некоторое событие, то вероятность совокупности событий может быть вычислена по формуле: Таким образом, вероятность биграммы the pool:, где"> 1, вероятность считается несколько иначе. Рассмотрим случай биграмм: пусть необходимо вычислить вероятность биграммы the pool. Если рассматривать каждое слово биграммы как некоторое событие, то вероя" title="Подсчет вероятности N-грамм (4) Для n-грамм, где n>1, вероятность считается несколько иначе. Рассмотрим случай биграмм: пусть необходимо вычислить вероятность биграммы the pool. Если рассматривать каждое слово биграммы как некоторое событие, то вероя"> title="Подсчет вероятности N-грамм (4) Для n-грамм, где n>1, вероятность считается несколько иначе. Рассмотрим случай биграмм: пусть необходимо вычислить вероятность биграммы the pool. Если рассматривать каждое слово биграммы как некоторое событие, то вероя">


Подсчет вероятности N-грамм (5) Теперь рассмотрим подсчет вероятности произвольной n- граммы (или предложения длины n). Расширяя случай биграмм, получаем формулу вероятности для n-грамм: Вычислить вероятность по такой формуле непросто, поэтому вводится упрощение – использовать историю фиксированной длины, т.е. Таким образом, вычисление вероятности предложения сводится к вычислению условной вероятности N-грамм, из которых состоит это предложение:




Устранение разреженности корпуса (1) Проблема простой (unsmoothed) языковой модели n- грамм: у некоторых n-грамм вероятность может быть сильно занижена (либо вовсе равна нулю), хотя в действительности (в тестовом корпусе) эти n-граммы могут встречаться довольно часто. Причина: ограниченность обучающего корпуса и его специфика. Решение: за счет понижения вероятности некоторых n-грамм, повысить вероятность тех n-грамм, которые не встречались (либо встречались достаточно редко) в обучающем корпусе.




Устранение разреженности корпуса (3) В алгоритмах устранения разреженности используются следующие понятия: Типы (types) – различные слова (последовательности слов) в тексте. Токены (tokens) – все слова (последовательности слов) в тексте. They picnicked by the pool, then lay back on the grass and looked at the stars – 14 типов, 16 токенов





Add-one smoothing (4) Метод провоцирует сильную погрешность в вычислениях (так, на предыдущем слайде было показано, что для слова Chinese кол-во биграмм сократилось в 8 раз). Тесты показали, что unsmoothed-модель часто показывает более точные результаты. Следовательно, метод интересен только с теоретической точки зрения.


Witten-Bell Discounting (1) Основан на простой идее: использовать данные об n- граммах, встречающихся в обучающем корпусе, для оценки вероятности отсутствующих n-грамм. Идея метода взята из алгоритмов сжатия: рассматриваются два типа событий - встретили новый символ (тип) ивстретили символ (токен). Формула вероятности для всех отсутствующих n-грамм (т.е. вероятность встретить в тестовом корпусе n-грамму, которой не было в обучающем корпусе): N – число токенов в обучающем корпусе, T – число типов, которые уже встречались в обучающем корпусе






Witten-Bell Discounting (4) =>=> =>"> =>"> =>" title="Witten-Bell Discounting (4) =>=>"> title="Witten-Bell Discounting (4) =>=>">




Good-Turing Discounting (1) Идея: для n-грамм, которые встретились ноль раз (с раз), оценка пропорциональна кол-ву n-грамм, встретившихся один раз (с + 1 раз). Рассмотрим пример: Пусть было поймано 18 рыб. Всего поймано разных видов – 6, причем у трех видов поймано лишь по одному представителю. Нужно найти вероятность того, что следующая рыба будет принадлежать новому виду. Всего возможных видов – 7 (6 видов уже поймано).








Katzs Backoff (2) Коэффициент α необходим для корректного распределения остаточной вероятности N- грамм в соответствии с распределением вероятности (N-1)-грамм. Если не вводить α, оценка будет ошибочной, т.к. не будет выполняться равенство: Вычисление α приведено в конце доклада. Оценка языковой модели с помощью энтропии (1) Энтропия – мера неопределенности. При помощи энтропии можно определить наиболее подходящую языковую модель N-грамм для данной прикладной задачи. Формула двоичной энтропии: Пример: посчитать энтропию испытания, заключающегося в бросании монеты. Ответ: 1 бит, при условии, что результаты опыта равновероятны (любая сторона выпадает с вероятностью 1/2).




Оценка языковой модели с помощью энтропии (3) Для сравнения различных языковых моделей используется кросс-энтропия: Чем ближе значение кросс-энтропии H(p,m) к реальной энтропии H(p), тем лучше языковая модель: В нашем случае H(p) – энтропия тестового корпуса. m(w) – языковая модель (например, модель N-грамм)


Оценка языковой модели с помощью энтропии (4) Есть другой метод оценки качества языковой модели, основанный на т.н. показателе связности (perplexity). Идея: посчитать вероятность всего тестового корпуса. Более качественная модель покажет большую вероятность. Формула perplexity: Таким образом, чем меньше perplexity, тем лучше модель. Можно трактовать perplexity как среднее кол-во слов, которые могут идти после некоторого слова (т.е. чем больше perplexity, тем выше неоднозначность, и следовательно, тем хуже языковая модель). Связь perplexity и двоичной энтропии:


Оценка языковой модели с помощью энтропии (5) В качестве примера рассмотрим значения perplexity для некоторого корпуса, полученные с помощью обученных моделей юниграмм, биграмм и триграмм: В случае триграмм perplexity наименьшее, т.к. устранению неоднозначности способствует самая большая из всех моделей длина истории (равная 2) при вычислении условных вероятностей триграмм. UnigramBigramTrigram Perplexity


Использование N-грамм

Общее использование N-грамм

  • извлечение данных для кластеризации серии спутниковых снимков Земли из космоса, чтобы затем решить, какие конкретные части Земли на изображении,
  • поиск генетических последовательностей,
  • в области генетики используются для определения того, с каких конкретных видов животных собраны образцы ДНК ,
  • в компьютерном сжатии ,
  • с использованием N-грамм, как правило, индексированы данные, связанные со звуком.

Также N-граммы широко применяются в обработке естественного языка.

Использование N-грамм для нужд обработки естественного языка

В области обработки естественного языка, N-граммы используется в основном для предугадывания на основе вероятностных моделей. N-граммная модель рассчитывает вероятность последнего слова N-грамма если известны все предыдущие. При использовании этого подхода для моделирования языка предполагается, что появление каждого слова зависит только от предыдущих слов.

Другое применение N-граммов является выявление плагиата . Если разделить текст на несколько небольших фрагментов, представленных n-граммами, их легко сравнить друг с другом, и таким образом получить степень сходства контролируемых документов. N-грамм, часто успешно используется для категоризации текста и языка. Кроме того, их можно использовать для создания функций, которые позволяют получать знания из текстовых данных. Используя N-грамм можно эффективно найти кандидатов, чтобы заменить слова с ошибками правописания.

Научно-исследовательские проекты Google

Исследовательские центры Google использовали N-граммные модели для широкого круга исследований и разработок. К ним относятся такие проекты, как статистический перевод с одного языка на другой, распознавание речи, исправление орфографических ошибок, извлечение информации и многое другое. Для целей этих проектов были использованы тексты корпусов, содержащих несколько триллионов слов.

Google решила создать свой ​​учебный корпус. Проект называется Google teracorpus и он содержит 1 024 908 267 229 слов, собраных с общедоступных веб-сайтов.

Методы для извлечения n-граммов

В связи с частым использованием N-граммов для решения различных задач, необходим надежный и быстрый алгоритм для извлечения их из текста. Подходящий инструмент для извлечения n-граммов должен быть в состоянии работать с неограниченным размером текста, работать быстро и эффективно использовать имеющиеся ресурсы. Есть несколько методов извлечения N-граммов из текста. Эти методы основаны на разных принципах:

Примечания

См. также


Wikimedia Foundation . 2010 .

  • n-tv
  • N-кадгерин

Смотреть что такое "N-грамм" в других словарях:

    ГРАММ - (фр. gramme, от греч. gramma черта). Единица франц. веса = весу 1 кубического сантиметра дистиллированной воды = 22,5 русск. долям. Словарь иностранных слов, вошедших в состав русского языка. Чудинов А.Н., 1910. ГРАММ единица меры веса во Франции … Словарь иностранных слов русского языка

    грамм - грамм, род. мн. граммов и допустимо (в устной речи после числительных) грамм. Сто граммов (грамм). В защиту новой формы род. падежа мн. числа грамм выступил знаток русского языка писатель К. Чуковский. Вот что он писал в книге «Живой как жизнь»:… … Словарь трудностей произношения и ударения в современном русском языке

    ГРАММ - ГРАММ, грамма, муж. (от греч. gramma знак, буква). Основная единица веса в метрической системе мер, равная весу 1 кубического сантиметра воды. Грамм весит около 1/400 фунта. ❖ Грамм атом (физ.) число граммов вещества, равное его атомному весу.… … Толковый словарь Ушакова

    грамм-рентген - грамм рентге/н, грамм рентге/на, род. мн. грамм рентген и грамм рентгенов … Слитно. Раздельно. Через дефис.

    грамм - Грамм, это простое слово можно было бы и не приводить в словаре ошибок, если бы не два обстоятельства; во первых, если хотите блеснуть абсолютно верным языком, то, придя в магазин, огорошьте продавца правильным: Взвесьте мне двести граммов (не… … Словарь ошибок русского языка

    ГРАММ-ATOM - ГРАММ ATOM, количество элемента, масса которого, в граммах, равна его АТОМНОЙ МАССЕ. Его заменила единица системы СИ моль. Например, один грамм атом водорода (Н, атомная масса = 1) равен одному грамму. b>ГРАММ ЭКВИВАЛЕНТ, вес в граммах того… … Научно-технический энциклопедический словарь

    ГРАММ - ГРАММ, а, род. мн. грамм и граммов, муж. Единица массы в десятичной системе мер, одна тысячная доля килограмма. Ни грамма (нет) чего (разг.) нисколько, нет совсем. У этого человека (нет) ни грамма совести. | прил. граммовый, ая, ое. Толковый… … Толковый словарь Ожегова

    грамм - а; мн. род. граммов и грамм; м. [франц. gramme] Единица массы в метрической системе мер, одна тысячная доля килограмма. ◊ Ни (одного) грамма нет. Нисколько, нет совсем. В ком л. ни грамма фальши. Нет ни грамма совести у кого л. * * * грамм (франц … Энциклопедический словарь

    Грамм Зеноб Теофиль - (Gramme) (1826 1901), электротехник. Родился в Бельгии, работал во Франции. Получил патент на практически пригодный электрический генератор с кольцевым якорем (1869). Основал промышленное производство электрических машин. * * * ГРАММ Зеноб… … Энциклопедический словарь

    грамм-атом - количество вещества в граммах, численно равное его атомной массе. Термин не рекомендуется к употреблению. В СИ количество вещества выражают в молях. * * * ГРАММ АТОМ ГРАММ АТОМ, количество вещества в граммах, численно равное его атомной массе (см … Энциклопедический словарь

    грамм-молекула - количество вещества в граммах, численно равное его молекулярной массе. Термин не рекомендуется к употреблению. В СИ количество вещества выражают в молях. * * * ГРАММ МОЛЕКУЛА ГРАММ МОЛЕКУЛА, количество вещества в граммах, численно равное его… … Энциклопедический словарь



error: Content is protected !!