Главное меню
Мы солидарны с Украиной. Узнайте здесь, как можно поддержать Украину.

Частотность словосочетаний и закон Ципфа

Автор Солохин, июля 7, 2012, 21:31

0 Пользователи и 1 гость просматривают эту тему.

Солохин

Взявшись изучать английский язык, я с немалым удивлением обнаружил наличие отсутствия частотного словаря словосочетаний для этого наиболее изученного из всех языков.
Из чего я сделал предварительный вывод, что частотного словаря словосочетаний не найти, вероятно, ни для какого языка. Если уж нет для английского...
Я решился проделать эту небольшую научную работу самостоятельно и быстро понял, почему никто до меня этим делом всерьез не занимался. Прежде всего, для составления такого словаря необходима программа, способная осуществлять синтаксический анализ текста - то есть, выделять эти самые словосочетания. Такие программы либо дорого стоят, либо вообще засекречены - по-видимому, потому, что это напрямую связано с проблемой машинного перевода, где крутятся сейчас большие бабки.
Но все-таки я нашел бесплатную программу - синатксический анализатор для русского и английского языков, причем весьма неплохую по тактико-техническим характеристкам - как ни странно, русского производства. Мы таки в этом оказались почему-то впереди планеты всей.
ООО «Когнитивные технологии»
Россия, Москва, 117312, Проспект 60-летия Октября, 9, офис 709.
Тел. +7(495)135-5510
Факс +7(495)135-5088
e-mail info@cognitive.ru
WWW http://www.cognitive.ru
Условия пользования очень разумные: Недостаток - не совсем удобный для моей конкретной цели формат выдачи результатов анализа. Мне пришлось обрабатывать сравнительно небольшой объем текста, так как в противном случая я увязал в огромных выходных файлах, не имея сил и средств их обработать.
Sinjoro Jesuo Kristo purigu min.


Вне форума.

Солохин

Итак, я взял сравнительно небольшой текст на хорошем английском языке: 20 000 слов, 100 000 знаков.
И обработал его.
Вот что я получил.
Данный текст содержит 3170 различных слов. Программа выявила в нем 10 000 различных словосочетаний, из которых только 1400 словосочетаний встречаются 2 и более раз.
Я отбросил "хвост" из словосочетаний, которые встречаются лишь один раз и получил следующую картину:
номер | словосочетание | частота | квадрат частоты | произведение номера на квадрат частоты
Sinjoro Jesuo Kristo purigu min.


Вне форума.

Солохин

Sinjoro Jesuo Kristo purigu min.


Вне форума.

Солохин

Sinjoro Jesuo Kristo purigu min.


Вне форума.

Солохин

Sinjoro Jesuo Kristo purigu min.


Вне форума.

Солохин

Sinjoro Jesuo Kristo purigu min.


Вне форума.

Солохин

Частотный словарь данного текста (как уже сказано, 3170 слов) имеет стандартное распределение Ципфа, так что частота слова
F ~ 1/N
где N - номер слова в частотном списке.
Это удивительное распределение, открытое в прошлом веке Ципфом, до сих пор не получило удовлетворительного объяснения. По-видимому, оно не сводится к известным законам математической статистики и не выводится из них.
Будучи физиком, я отношусь к этому спокойно. Не важно, почему планеты притягиваются по закону обратных квадратов - важно, что они это всегда делают. Это красиво и удобно для расчетов. Для меня закон Ципфа - это наблюдаемый факт, из которого надо исходить.

Я был уверен, что мои словосочетания окажутся распределенными по тому же самому закону Ципфа, ведь он кажется совершенно универсальным и ему подчиняются самые разные вещи: например, если расположить языки в список в порядке убывания числа говорящих на данном языке, то мы получим тот же самый закон Ципфа:
(число говорящих) ~ 1 / (номер языка в списке)
То же самое  с футболистами по числу забитых голов, с городами по числу жителей и т.д и т.п. Закон Ципфа - это поистине удивительная и универсальная структура, постоянно "всплывающая" при статистических исследованиях окружающего мира.

Так вот, к моему удивлению оказалось, что мои словосочетания распределены НЕ по закону Ципфа!
Sinjoro Jesuo Kristo purigu min.


Вне форума.

Солохин

Я, в натуре, тут же бросился искать закономерность, которой подчиняется построенная мною статистка.

И без труда нашел.
Оказывается, это ПОЧТИ закон Ципфа. Нечто очень близкое, похожее и явно родственное, но все-таки не то.

А именно.

КВАДРАТ частоты словосочетания оказался обратно пропорционален номеру словосочетания в частотном списке.


Скромно назовем это квадратичным законом Ципфа, оставляя мою фамилию в тени.
Напрашивается гипотеза.

Если закон Ципфа для одиночных слов 1/N,
а для ПАР слов - 1/N1/2,
не окажется ли, что словосочетания из трех слов распределены по кубическому принципу 1/N1/3,
а сочетания из k слов - 1/N1/k
???????????

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

Может, кто из профессионалов загорится идеей и соблаговолит проделать эту работу?
Sinjoro Jesuo Kristo purigu min.


Вне форума.

ostapenkovr

Это ещё зависит от добросовестности автора текста.
Однажды я встретил в одном боевике фразу "Сидит, как мышь под веником" три раза.(Источник не помню).
В другой раз (конкретно, автор Влодавец) попалась одна и та же глава, дважды вмонтированная в текст.

Солохин

Это понятно. К примеру, текст, состоящий из одного предложения, многократно повторенного, может разрушить и закон Ципфа, и мой "квадратичный закон Ципфа". И что угодно.

Но суть в том, что когда люди ПРОСТО говорят и пишут, как им удобно, у них выходят эти таинственные закономерности. Сами собой.
Sinjoro Jesuo Kristo purigu min.


Вне форума.

vfaronov

Цитата: Солохин от июля  7, 2012, 21:40
Программа выявила в нем 10 000 различных словосочетаний, из которых только 1400 словосочетаний встречаются 2 и более раз.

Что это значит? Как определяется словосочетание?

Солохин

Чисто по-школьному. Пара слов.

Я бы предпочел программу, которая разбивала бы предложение на синтаксические группы - грубо говоря, расставляла бы скобки.
Но такой программы нет.

Создатели анализатора, которым я пользовался, хотели сделать для русского и английского языка ОДНОВРЕМЕННО, но русский с его свободным порядком слов не совсем удобен для теории синтаксических групп (слишком часто можно наблюдать непроективные струтуры предложения, особенно в разговорной речи!) И они сделали по-простому, по-рабочекрестьянски.
Но зато добротно.
Sinjoro Jesuo Kristo purigu min.


Вне форума.

wangjhenbai

Цитата: Солохин от июля  7, 2012, 22:49
Чисто по-школьному. Пара слов.
:o

Тогда говорите биграммы, а не словосочетания, что ли... :donno:
Если я кому-то нужен, д м игрек м д собака яндекс точка ру.

Солохин

Зачем говорить мудреными терминами? И так понятно, что я называю словосочетанием. В школе все учились.
Там словосочетанием называли именно пару.
Я не стремлюсь выглядеть умным или оригинальным.
Мне кажется, мой результат интересен сам по себе, без красивой обертки.
Sinjoro Jesuo Kristo purigu min.


Вне форума.

wangjhenbai

Цитата: Солохин от июля  7, 2012, 22:58
Зачем говорить мудреными терминами? И так понятно, что я называю словосочетанием. В школе все учились.
Там словосочетанием называли именно пару.
:uzhos:
Не знаю, как Вас, а меня в школе учили, что подлежащее+сказуемое не является словосочетанием. Как и подлежащее+предлог, etc.

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

Цитата: Солохин от июля  7, 2012, 22:58
Я не стремлюсь выглядеть умным или оригинальным.
Мне кажется, мой результат интересен сам по себе, без красивой обертки.
Да тут не в обёртке дело, тут «на клетке со слоном написано буйвол».

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

vfaronov

Не знаю, как Вы искали — наверное, по-русски, раз английский только начали учить? Но при гуглении «english three-word frequency» по первой же ссылке вылезает wordfrequency.info, а там w3_.zip (5,4 М) на 1 020 009 сочетаний (правда, n't они считают как отдельное слово). Если отсортировать, то вот первые 20:


199110 i do n't
167285 one of the
143368 a lot of
125280 the united states
81097 do n't know
78526 out of the
75459 as well as
73736 going to be
68687 some of the
67941 you do n't
61930 to be a
61519 i did n't
60849 part of the
58462 the end of
57015 it was a
51446 do n't think
49051 be able to
47566 i think that
47357 the fact that
47260 n't want to

Солохин

Цитата: wangjhenbai от июля  7, 2012, 23:02Вообще говоря, то, что Вы тут сделали, называется биграммная модель языка. Словарём словосочетаний тут и не пахло.
Да хоть горшком назовите.
Дело не в названиях.
Я полагаю, что подлежащее+сказуемое - это тоже словосочетание. И я не одинок.
Тестелец тоже так полагает. А его, я думаю, Вы профаном не назовете.

Для меня словосочетание - это группа слов, синтаксически связанных между собой.
Я составил словарь ПАР просто потому, что у меня не было мощностей, чтобы сделать для ТРОЕК и прочее. Были бы - сделал бы.
Так что БИ - это вовсе не суть дела.
Sinjoro Jesuo Kristo purigu min.


Вне форума.

wangjhenbai

Цитата: Солохин от июля  7, 2012, 23:08
Тестелец тоже так полагает. А его, я думаю, Вы профаном не назовете.
Тут не в подлежащем и сказуемом дело (хотя если считать их словосочетаниями, то это уже никак не по-школьному), а в целом в подходе. Словосочетание предполагает синтаксическую связь, биграмма предполагает два элемента, идущих подряд.

Цитата: Солохин от июля  7, 2012, 23:08
Так что БИ - это вовсе не суть дела.
Тогда можно сказать n-граммы.
Если я кому-то нужен, д м игрек м д собака яндекс точка ру.

Солохин

Да нет же!
Не подряд, а именно синтаксически связанных!

Я говорю именно о словосочетаниях, а не просто о парах слов, стоящих рядом!

Иначе зачем бы мне был синтаксический анализатор?!
Sinjoro Jesuo Kristo purigu min.


Вне форума.

Солохин

Цитата: vfaronov от июля  7, 2012, 23:02Не знаю, как Вы искали — наверное, по-русски, раз английский только начали учить? Но при гуглении «english three-word frequency» по первой же ссылке вылезает wordfrequency.info, а там w3_.zip (5,4 М) на 1 020 009 сочетаний (правда, n't они считают как отдельное слово). Если отсортировать, то вот первые 20:


199110 i do n't
167285 one of the
143368 a lot of
125280 the united states
81097 do n't know
78526 out of the
75459 as well as
73736 going to be
68687 some of the
67941 you do n't
61930 to be a
61519 i did n't
60849 part of the
58462 the end of
57015 it was a
51446 do n't think
49051 be able to
47566 i think that
47357 the fact that
47260 n't want to

Огромное спасибо!
Да, я плохо искал. Теперь я могу воспользоваться этим материалом для дальнейшей работы.
Вы мне очень помогли. Я благодарен Вам!
Sinjoro Jesuo Kristo purigu min.


Вне форума.

vfaronov

Цитата: Солохин от июля  7, 2012, 23:23
Я говорю именно о словосочетаниях, а не просто о парах слов, стоящих рядом!

Цитата: Солохин от июля  7, 2012, 22:49
Чисто по-школьному. Пара слов.

Цитата: Солохин от июля  7, 2012, 23:23
Иначе зачем бы мне был синтаксический анализатор?!

Цитата: Солохин от июля  7, 2012, 22:49
Я бы предпочел программу, которая разбивала бы предложение на синтаксические группы - грубо говоря, расставляла бы скобки.
Но такой программы нет.

Вы меня теряете...

wangjhenbai

Что-то я совсем запутался. Где можно посмотреть сам этот анализатор? Сайт большой, я не сориентировался.

Цитата: Солохин от июля  7, 2012, 21:41
304 | s | 4 | 16 | 4864
Цитата: Солохин от июля  7, 2012, 21:44
1266 | the + u | 2 | 4 | 5064
Цитата: Солохин от июля  7, 2012, 21:44
1252 | the + s | 2 | 4 | 5008
А это что такое? :what:
Если я кому-то нужен, д м игрек м д собака яндекс точка ру.

Солохин

Sinjoro Jesuo Kristo purigu min.


Вне форума.

Солохин

Цитата: wangjhenbai от июля  7, 2012, 23:30А это что такое? :what:
Это глюки. Лес рубят - щепки летят.
Синатксический анализатор - он таки тупой. Притом в процессе обработки могли быть глюки.
Sinjoro Jesuo Kristo purigu min.


Вне форума.

Солохин

Итак, я взял список http://www.ngrams.info/coca/download/w3_.zip и после сортировки проверил, выполняется ли на нем моя гипотеза насчет куба частоты.
Я обрезал длинный хвост списка, оставив первые 16 000. На большее прото не хватило мощностей.
Оказалось - не выполняется.
Зато, как ни странно, почти выполняется все тот же квадратный закон Ципфа!
Там есть какой-то систематический дрейф - частота к концу обработанного списка раза в полтора меньше, чем надо.
Соответственно, квадрат частоты - раза в три.

Однако эта тройка - согласитесь! - ничтожна в масштабе обрабатываемых значений. Ведь речь идет о числах порядка десятка миллиардов. То есть, закономерность явно прослеживается, хотя и с явным намеком, что я чего-то не учитываю.
Sinjoro Jesuo Kristo purigu min.


Вне форума.

Быстрый ответ

Обратите внимание: данное сообщение не будет отображаться, пока модератор не одобрит его.

Имя:
Имейл:
Проверка:
Оставьте это поле пустым:
Наберите символы, которые изображены на картинке
Прослушать / Запросить другое изображение

Наберите символы, которые изображены на картинке:

√36:
ALT+S — отправить
ALT+P — предварительный просмотр