首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我将如何对常用单词列表进行排序,以找到使用最独特的单词的有效组合?

我将如何对常用单词列表进行排序,以找到使用最独特的单词的有效组合?
EN

Stack Overflow用户
提问于 2013-02-14 05:28:14
回答 1查看 139关注 0票数 0

我有最常用的单词列表,这些单词来自谷歌的公开ngram数据。

我有:

6800频2克4800频3克2500频4克1100频5克

示例2 ngram类似于:

“狗”、“一本书”、“三把椅子”等等。

例如5ngram是这样的:“曾几何时在那里”“在一段时间上”“它是一个黑暗的和”等等。

我还有一个包含2000个常用单词的列表。

1)我想从我的各种列表中找出最少数量的ngram的哪个组合包含来自频繁词列表的最多数量的单词。

例如,如果我发现200个2克、40个3克、50个4克和20个5克使用了1800个常用单词,那就成功了。我编造了这些比率,但我希望找到不到500个使用大多数单词的组合。

2)我还想从列表中找到包含最高单词总数的各种ngram的最小数量的组合。

例如,如果我能找到500个ngram,使用超过2000个不同的单词,那就太好了。

我遇到的问题是,我不知道如何去做这件事。我认为hadoop和mapreduce的方向是正确的。但任何帮助都将不胜感激!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-02-14 08:20:12

你有大约15k克的重量。这是一个非常小的数据集。它很可能适合1MB的内存,可能不到您机器上总内存的1/5000。你不需要hadoop来解决这样的问题。此外,这根本不是一个真正的机器学习问题,它只是一个优化问题。

您可以将n-gram视为(小)单词集合,而将频繁单词列表视为较大的集合。对于第一个问题,您希望选择最少数量的n-gram,这样您就可以用这些n-gram覆盖(或尽可能接近覆盖)频繁出现的单词列表。这就是一个set cover problem。你可能不会得到一个确切的解决方案,但有一些简单的启发式方法做得很好。

然而,我并不完全清楚你的第一个问题和第二个问题有什么不同。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14863479

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档