PHP: функция подсчёта слов в тексте

10.05.2011

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

[организаций] => 3
[сфере] => 2
[питания] => 2
[данной] => 2
[общественного] => 2
[облегчает] => 1
[учетом] => 1

То есть сортировка от максимальной встречаемости и далее убывает. Для моей задачи, правда, надо ещё слова с общим корнем приводить к одной форме, но это уже слишком специфично.

Добавил AND !is_numeric($word), чтобы в списке «слов» не было чисел.

Комментарии

  1. # tulvit

    Хм, оказывается «\W» считает словом не только буквы-цифры, но и нижнее подчеркивание. Не знал) Может быть багом, если на вход кто-нибудь захочет дать строчку с таким разделителем.

    Плюс слова «как-нибудь» и аналогичные считаются за два.

  2. # Тормоз

    Да, с дефисом будет обломс… но, можно маленько переделать выражение. Для меня не критично.

  3. # tulvit

    надо ещё слова с общим корнем приводить к одной форме

    Собираешься решение сам писать или готовое использовать? Самому скоро придется аналогичным заниматься, пока смотрю только в сторону phpMorphy (хотя еще не юзал), т. к. велосипед изобретать не особо хочется, да и муторно это слишком.

  4. # Тормоз

    Свой лисапед буду делать на основе similar_text(). Не особо сложно на самом деле. А тебе для чего? :)

  5. # tulvit

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

    Ну и да, все еще хочу свой мега дорген написать. Первый интеллектуальный тм =)

  6. # Бутылк.Ус

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

  7. # homakov

    я кстати в посте на хабре делал похожее (Ищи Фишки для изучающих англ язык

  8. # Тормоз

    Домен пробакланил?

Комментирование этой статьи закрыто.

Интересное Покупки ТехникаРазное Отдых Статьи Строительство Услуги Общество Хобби Культура Советы Уют