有什么好的姓氏数据库吗?
发布时间:2020-12-12 06:53:09 所属栏目:MsSql教程 来源:网络整理
导读:我想生成一些数据库测试数据,特别是包含人名的表列.为了更好地指示索引在基于名称的搜索方面的工作情况,我希望尽可能接近真实世界名称及其真实频率分布,例如:许多不同的名称,其频率分布在某些幂律分布上. 理想情况下,我正在寻找一个免费提供的数据文件,其名
我想生成一些数据库测试数据,特别是包含人名的表列.为了更好地指示索引在基于名称的搜索方面的工作情况,我希望尽可能接近真实世界名称及其真实频率分布,例如:许多不同的名称,其频率分布在某些幂律分布上.
理想情况下,我正在寻找一个免费提供的数据文件,其名称后跟每个名称的单个频率值(或等效概率). 基于盎格鲁撒克逊语的名字会很好,尽管来自其他文化的名字也会有用. 解决方法我发现了一些符合要求的美国人口普查数据.唯一需要注意的是它只列出了至少出现100次的名字……> Genealogy Data: Frequently Occurring Surnames from Census 2000 通过此博客条目找到,也显示了幂律分布曲线 > Power law curve in surnames(blog entry) 此外,您可以使用轮盘赌轮选择从列表中进行采样,例如: (未测试) struct NameEntry { public string _name; public int _frequency; } int _frequencyTotal; // Precalculate this. public string SampleName(NameEntry[] nameEntryArr,Random rng) { // Throw the roulette ball. int throwValue = rng.NextDouble() * frequencyTotal; int accumulator = 0.0; for(int i=0; i<nameEntryArr.Length; i++) { accumulator += nameEntryArr[i]._frequency; if(throwValue <= accumulator) { return nameEntryArr[i]._name; } } // If we get here then we have an array of zero fequencies. throw new ApplicationException("Invalid operation. No non-zero frequencies to select."); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |