Unicode字符使用统计信息

时间:2014-03-04 22:35:26

标签: unicode

我正在寻找一些关于文本文档中Unicode字符用法的统计数据(带有任何标记)。谷歌搜索没有结果。

背景:我目前正在开发一种基于有限状态机的文本处理工具。字符的统计数据可能有助于搜索正确的过渡。例如拉丁字符可能是最常用的,因此首先检查它们是否有意义。

有没有人偶然收集或看到过这样的统计数据?

(我不专注于特定的语言或语言环境。认为通用解析器就像XML解析器一样。)

2 个答案:

答案 0 :(得分:4)

总结当前的发现和想法:

  • Tom Christiansen收集了PubMed Open Access语料库的统计数据(见this question)。我问他是否可以分享这些统计数据,等待答案。
  • 正如@Boldewyn和@nwellnhof建议的那样,我可以对完整的维基百科转储或CommonCrawl data进行分析。我认为这些都是很好的建议,我可能会选择CommonCrawl。

很抱歉,这不是一个答案,而是一个很好的研究方向。

更新:我编写了一个小型Hadoop作业,并在其中一个CommonCrawl段上运行。我已将结果发布在电子表格here中。以下是前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解析器。但它提供了有关首先检查哪个字符范围的有价值的提示。

答案 1 :(得分:1)

我个人认为http://emojitracker.com/near-duplicate question的链接是最有希望的资源。我没有检查sources(我不会说Ruby)但是从实时的Twitter字符频率提要中,我预计会有一些与静态网页截然不同的结果,并且可能完全不同语言分布(我在推特上看到的阿拉伯语和土耳其语比在我平常的生活中要多得多)。它可能不完全是你想要的,但如果我们只看你的问题的标题(这可能是大多数访问者将会跟随到这里),那么这就是我建议的答案。

当然,这引出了一个问题,即您尝试建模的用途。对于你似乎追求的静态XML,也许Common Crawl set毕竟是一个更好的起点。来自编辑过程的文本(无论是非正式的)与自发文本看起来完全不同。

到目前为止,在建议的选项中,维基百科(和/或维基词典)可能是最简单的,因为它对于本地download来说足够小,比随机网络转储(所有UTF)更加标准化。 -8,所有正确标记的,大部分正确标记语言和校对错误,拼写错误,偶然事件),但足够大(并且可能已经超过一个数量级或更多),为您提供可靠的统计数据。但同样,如果域名与您实际想要建模的域名不同,那么它们可能会出错。