Статистика использования символов Unicode

Я ищу некоторые статистические данные об использовании символов Unicode в текстовых документах (с любой разметкой). Googling не принес никаких результатов.

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

Кто-нибудь случайно собрал или увидел такую ​​статистику?

(Я не сосредоточен на определенных языках или локалях. Подумайте, как синтаксический анализатор общего назначения, как XML-парсер.)

Ответ 1

Подвести итоги и идеи:

  • Том Кристиансен собрал такую ​​статистику для PubMed Open Access Corpus (см. этот вопрос). Я спросил, может ли он поделиться этими статистическими данными, ожидая ответа.
  • Как предложили @Boldewyn и @nwellnhof, я мог бы запустить анализ полного дампа Википедии или данные CommonCrawl. Я думаю, что это хорошие предложения, я, вероятно, поеду с CommonCrawl.

Так жаль, это не ответ, но хорошее направление исследований.

ОБНОВЛЕНИЕ: Я написал небольшое задание Hadoop и запустил его на одном из сегментов CommonCrawl. Я опубликовал свои результаты в электронной таблице здесь. Ниже приведены первые 50 символов:

0x000020    14627262     
0x000065    7492745 e
0x000061    5144406 a
0x000069    4791953 i
0x00006f    4717551 o
0x000074    4566615 t
0x00006e    4296796 n
0x000072    4293069 r
0x000073    4025542 s
0x00000a    3140215 
0x00006c    2841723 l
0x000064    2132449 d
0x000063    2026755 c
0x000075    1927266 u
0x000068    1793540 h
0x00006d    1628606 m
0x00fffd    1579150 
0x000067    1279990 g
0x000070    1277983 p
0x000066    997775  f
0x000079    949434  y
0x000062    851830  b
0x00002e    844102  .
0x000030    822410  0
0x0000a0    797309  
0x000053    718313  S
0x000076    691534  v
0x000077    682472  w
0x000031    648470  1
0x000041    624279  @
0x00006b    555419  k
0x000032    548220  2
0x00002c    513342  ,
0x00002d    510054  -
0x000043    498244  C
0x000054    495323  T
0x000045    455061  E
0x00004d    426545  M
0x000050    423790  P
0x000049    405276  I
0x000052    393218  R
0x000044    381975  D
0x00004c    365834  L
0x000042    353770  B
0x000033    334689  E
0x00004e    325299  N
0x000029    302497  /
0x000028    301057  (
0x000035    298087  5
0x000046    295148  F

Честно говоря, я понятия не имею, являются ли эти результаты репрезентативными. Как я уже сказал, я анализировал только один сегмент. Выглядит довольно правдоподобно для меня. Можно также легко заметить, что разметка уже отключена - поэтому дистрибутив не подходит для моего XML-парсера. Но он дает ценные подсказки, по которым сначала нужно проверить диапазоны символов.

Ответ 2

Ссылка на http://emojitracker.com/ в почти дублированном вопросе я лично думаю, что это самый перспективный ресурс для этого. Я не изучал источники (я не говорю на Ruby), но из канала частотных символов в режиме реального времени я ожидал вполне другой результат, чем от статических веб-страниц, и, возможно, радикально отличающееся языковое распространение (я вижу больше арабского и турецкого в Twitter, чем в обычной жизни). Это, вероятно, не совсем то, что вы ищете, но если мы просто посмотрим на заголовок вашего вопроса (который, вероятно, большинство посетителей будут следовать, чтобы добраться сюда), то это то, что я бы предложил в качестве ответа.

Конечно, это задает вопрос о том, какое использование вы пытаетесь моделировать. Для статического XML, который вам кажется после, возможно, набор Common Crawl - лучшая отправная точка в конце концов. Текст, выходящий из редакционного процесса (хотя и неформальный), выглядит совершенно иначе, чем самопроизвольный текст.

Из предложенных вариантов до сих пор Википедия (и/или Викисловарь), вероятно, самая легкая, так как она достаточно мала для локального скачать, гораздо более стандартизированный, чем случайный веб-дамп (все UTF-8, все правильно помеченные, большинство из них должным образом помечены языком и корректурой для ошибок разметки, орфографии и иногда фактов), и все же достаточно большой (и, возможно, уже переполненный порядка или более), чтобы дать вам достоверную статистику. Но опять же, если домен отличается от домена, который вы действительно хотите моделировать, они, вероятно, будут, вероятно, ошибаться.