主题:正在做一个wordman
euc
[专家分:4310] 发布于 2006-06-13 19:05:00
突然冒出来一个点子,可以统计一下所有英文单词里两个相邻字母的频率,比如apple,相邻的字母对有ap,pp,pl,le四个.然后就可以根据这个概率(每个字母后接各个字母的概率)构造新的词。就用altab[26][26]的邻接矩阵存储。然后我又联想到还可以用这个表产生一个单词的缩写。比如把单词缩为3个,怎么取这3个字母最能代表这个词呢?就是用altab表,分析出每个字母邻接的邻接值,它们组成了一个链表。我们把值最小的三个结点断开,取每个段的首字母即可。当然,要是真的缩写单词好像还有讲究的,这个方法差不多应该可以。
可以到http://euclidwang.googlepages.com/WORDMAN.C看代码。还没写完。
回复列表 (共9个回复)
沙发
hohohaha [专家分:580] 发布于 2006-06-13 19:20:00
可以统计一下所有英文单词里两个相邻字母的频率,比如apple,相邻的字母对有ap,pp,pl,le四个
我觉得这样不好吧,至少英文单词也是根据音节来的,不如根据音节来构造新的词
板凳
euc [专家分:4310] 发布于 2006-06-13 21:41:00
是从词形的角度考虑的,只要统计的足够,就会很有代表性。这好像就是一种马尔可夫链。[google数学之美]上有介绍。
3 楼
hohohaha [专家分:580] 发布于 2006-06-13 21:57:00
如果这样的话你应该去看一本书,很符合你的思路,而且也利于你学习
《英语词汇的奥秘》
是从类似于你的词根角度出发的
4 楼
euc [专家分:4310] 发布于 2006-06-14 11:06:00
其实这个方法根本不用考虑词的形或音这些特点,真不知道该怎么解释...
现在缩写功能已经做好
到这里下载,里面有使用说明:
http://euclidwang.googlepages.com/wordman.rar
5 楼
iAkiak [专家分:8460] 发布于 2006-06-14 18:23:00
有意思:)
wordman -l china 3
wordman -l healthpower 2
6 楼
euc [专家分:4310] 发布于 2006-06-14 22:07:00
又更新了一下扫描器
下载地址不变,我会努力更新的。
7 楼
euc [专家分:4310] 发布于 2006-06-16 11:46:00
完成了!试试吧。
8 楼
rickone [专家分:15390] 发布于 2006-09-13 11:17:00
我们现在的《信息论导论》就搞了一次这个作业!那个(a,b)的字频表示互信息。今天突然想到这东西还有个用处,就是起名字,现在各大网站注个ID是最难的事了,自己用的名字不想太‘随机’,又想好记,就难起,可以借助于这个工具起名,用一些互信息小的字连起来,没有被别人注的概率就大。
9 楼
euc [专家分:4310] 发布于 2006-09-13 16:25:00
不错:-] 做wordman是由于想化简函数名,因为俺非常喜欢unix的命名风格,简洁又不失原意. 所以就产生了用关键字母代替单词的想法. 另一个原因就是给自己起名了,这也属于我的爱好吧.
我来回复