Улучшить подсчет word_count для постов на CJK языках или использовать подсчет символов

Колонка word_count в таблицах Post и Topic, по-видимому, рассчитывается напрямую на основе количества пробелов, что совершенно неприемлемо для языков, таких как китайский, японский и корейский, где пробелы не используются.

Это не является большой проблемой, поскольку word_count используется редко, но я столкнулся с трудностями в функции AI summary backfill minimum word count. Длинные посты на китайском языке будут отфильтровываться, тогда как короткие посты со смешанным китайским и английским языком (с множеством пробелов) будут суммироваться.

Я считаю, что нам следует использовать сегментатор слов, поддерживающий несколько языков, или просто использовать подсчет символов в таких функциях, как AI summary backfill minimum word count.

2 лайка

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

Например, если проверить количество слов в этом посте в Data Explorer, окажется, что там всего одно слово.

Это явно неверно и могло влиять на расчёт времени чтения пользователя, так как read_time_word_count зависит от количества слов.

Хм, если мы будем умны в отношении нашего пайплайна, мы могли бы использовать cppjieba.

Для этого потребовалось бы, чтобы метод update_index! занимался этим:


Подсчёт символов, вероятно, самое простое решение, учитывая, что чтение слова bla происходит гораздо быстрее, чем чтение supercalifragilisticexpialidocious.

Интересно, можно ли создать PR, который изменит логику так, чтобы мы опирались на подсчёт символов? Тогда мы могли бы делить количество символов на 4, скажем, для английского языка, и на 2 для китайского (через какое-то настройку).

@lindsey, это интересная тема для тебя.

1 лайк

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

1 лайк