Быстрый лёгкий надёжный форумный движок
Вы не вошли.
Страницы 1
В процессе работы над переводом наткнулся на проблему шумовых слов. По какому принципу слова признаются шумовыми? Для примера взял список PunBB. Два основных вопроса:
Почему в список включены и английские слова тоже? Может, стоит как-то изменить логику движка? Дублирование — нехорошо.
Местоимения, наречия и междометия считаются шумом. Это понять можно. А почему туда попадают числа или направления (вверх, вниз)?
Зато в списке нет популярных на некоторых форумах «ага», «угу» и «мну». Последнее — ваще главное шумовое слово, ага.
Offline
Мой вариант
без
более
был
была
были
было
быть
вам
вас
весь
вот
все
всего
всех
где
даже
для
его
если
есть
еще
здесь
или
как
когда
кто
либо
мне
может
надо
наш
него
нее
нет
нибудь
них
однако
она
они
оно
очень
под
при
так
также
такой
там
тем
того
тоже
той
только
том
уже
хотя
чего
чей
чем
что
чтобы
чье
чья
эта
эти
это
the
and
you
that
was
for
are
with
his
they
have
this
Почему в список включены и английские слова тоже? Может, стоит как-то изменить логику движка? Дублирование — нехорошо.
Предлагаешь завести один список на все языки?
Зато в списке нет популярных на некоторых форумах «ага», «угу» и «мну».
Себе добавлю
Моя сборка FluxBB 1.5, ForkBB · сообщество
Offline
Хорошо, что поднял эту тему. Поиск один на все языки и непонятно почему индексатор использует stopwords для текущего пользователя. Я пишу по русски, но ведь могу процитировать английский текст. Помоему логично было бы использовать объеденённый массив слов всех языков в системе.
There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.
Offline
могу процитировать английский текст
И не только английский. Не знаю, мож боятся, что шумовое слово в одном языке будет значащим в другом? Первое что приходит в голову — английский и немецкий die. С другой стороны, если на форуме установлен некоторый набор языков, подразумевается наличие их носителей. Такое сообщество должно с пониманием отнестись к тому, что die не ищется.
Опять же, это можно сделать галкой в настройках.
По-моему, ещё не все разработчики осознали качественные последствия перехода к единой кодировке. Заметил, что на FluxBB.org есть арабы и много китайцев. Представить, что их слова будут друг с другом пересекаться, смешно. Уж мы-то, русские, это знаем. И никого не интересуют их внутренние европейские проблемы.
Offline
Freeman, данный словарь составляет админ форума, а не разработчики.
Во всяком случае русский словарь
Моя сборка FluxBB 1.5, ForkBB · сообщество
Offline
А все ли админы его составляют? Английский stopwords.txt в оригинале Flux непустой. Значит, и русский должен быть заполнен. Иначе льём воду на мельницу невероятной глючности русифицированных программ.
Offline
Freeman, тогда предлагаю сообща составить stopwords.txt для русского языка!
Моя сборка FluxBB 1.5, ForkBB · сообщество
Offline
Ну что.
За основу для русского языка берем это:
без
более
был
была
были
было
быть
вам
вас
весь
вот
все
всего
всех
где
даже
для
его
если
есть
ещё
здесь
или
как
когда
кто
либо
мне
может
надо
наш
него
нее
неё
нет
нибудь
них
однако
она
они
оно
очень
под
при
так
также
такой
там
тем
того
тоже
той
только
том
уже
хотя
чего
чей
чем
что
чтобы
чьё
чья
эта
эти
это
Добавляем это:
ага
мну
угу
И вот это я предлагаю:
будет
буду
ваш
ваще
всю
ему
кем
кому
кроме
миня
меня
многа
нету
ним
нуно
оных
тожа
тош
тут
чаво
чему
чём
чтоб
чье
этого
этой
этому
эту
Что из них может считаться шумовыми словами, а что нет?
Моя сборка FluxBB 1.5, ForkBB · сообщество
Offline
Фух, вроде наколбасил. Внушительный список получился. На форуме выкладывать бессмысленно, допиливать будем уже бету через SVN, как писал выше.
Попутно выяснились две вещи:
Лексический анализатор выкидывает из слов дефисы, и слова становятся слитными: ктото, когданибудь. Поскольку частицу «то» можно добавить ко многим словам, список почти удваивается. Ничего не поделаешь. Велик и могуч, как говорится.
Не распознаётся Unicode-пунктуация, вроде «русских кавычек».
Offline
Freeman, выложи пожалуйста свой список
Моя сборка FluxBB 1.5, ForkBB · сообщество
Offline
По поводу единого словаря для всех языков.
В файле search_idx.php меняем блок
if (file_exists(PUN_ROOT.'lang/'.$language.'/stopwords.txt'))
{
$stopwords = file(PUN_ROOT.'lang/'.$language.'/stopwords.txt');
на
if (file_exists(PUN_ROOT.'lang/stopwords.txt'))
{
$stopwords = file(PUN_ROOT.'lang/stopwords.txt');
и ложим общий файл stopwords.txt в папку lang форума.
Моя сборка FluxBB 1.5, ForkBB · сообщество
Offline
По поводу методики составления словаря. Ещё на форуме PunBB предлагалось выполнить в базе тематического форума вот такой запрос:
SELECT sw.word, COUNT(sm.post_id) AS hits FROM search_words AS sw INNER JOIN search_matches AS sm ON sw.id = sm.word_id GROUP BY sw.id ORDER BY hits DESC LIMIT 100;
(осторожно - грузит базу по полной, лимит подобрать по вкусу)
Вот, что получается у меня (форум по радиотехнике):
+---------------+-------+
| word | hits |
+---------------+-------+
| можно | 10068 |
| просто | 5962 |
| лучше | 5125 |
| раз | 4966 |
| нужно | 4627 |
| про | 4331 |
| больше | 4179 |
| вообще | 3920 |
| один | 3830 |
| через | 3460 |
| вопрос | 3442 |
| после | 3339 |
| кстати | 3282 |
| этот | 3222 |
| тогда | 3197 |
| потом | 3095 |
| стоит | 2995 |
| время | 2914 |
| думаю | 2907 |
| сделать | 2901 |
| именно | 2882 |
| конечно | 2873 |
| например | 2827 |
| усилитель | 2792 |
| ток | 2769 |
| много | 2751 |
| случае | 2729 |
| тока | 2638 |
| хорошо | 2614 |
| работает | 2576 |
| делать | 2562 |
| усилителя | 2464 |
| что-то | 2375 |
| умзч | 2348 |
| знаю | 2342 |
| звук | 2317 |
| питания | 2288 |
| дело | 2284 |
| 100 | 2256 |
| меньше | 2254 |
| которые | 2215 |
| два | 2199 |
| выходе | 2171 |
| могу | 2156 |
| несколько | 2135 |
| нас | 2117 |
| имеет | 2108 |
| схема | 2040 |
| ведь | 2031 |
| правда | 2008 |
| оос | 2006 |
| теперь | 1978 |
| интересно | 1969 |
| схему | 1951 |
| другой | 1948 |
| между | 1945 |
| выше | 1937 |
| напряжения | 1921 |
| сигнала | 1903 |
| правильно | 1870 |
| схеме | 1856 |
| достаточно | 1840 |
| лет | 1806 |
| себя | 1791 |
| понял | 1758 |
| точно | 1754 |
| возможно | 1752 |
| себе | 1746 |
| сколько | 1737 |
| напряжение | 1735 |
| схемы | 1726 |
| получается | 1703 |
| сигнал | 1699 |
| мощности | 1626 |
| сказать | 1623 |
| jpg | 1592 |
| сильно | 1589 |
| html | 1579 |
| сразу | 1569 |
| работы | 1553 |
| php | 1541 |
| около | 1540 |
| сопротивление | 1533 |
| звука | 1525 |
| поводу | 1508 |
| действительно | 1463 |
| должен | 1449 |
| мало | 1445 |
| давно | 1429 |
| вполне | 1427 |
| тех | 1402 |
| найти | 1401 |
| немного | 1391 |
| вместо | 1386 |
| такого | 1371 |
| проблема | 1370 |
| транзисторы | 1365 |
| времени | 1364 |
| одной | 1355 |
| платы | 1354 |
+---------------+-------+
100 rows in set (3 min 52.10 sec)
Это и будет основой для списка исключений данного конкретного форума. Разумеется из него нужно убрать некоторые специфические тематические термины.
Offline
полезно
There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.
Offline
Страницы 1