我为 Android 制作了一个词汇应用程序,其中有一个存储在本地数据库 (SQLite) 中的约 5000 个单词的列表,我想找出哪些单词比其他单词更难。
为了找出答案,我正在考虑添加一个非常简单的功能,将两个随机单词放在屏幕上,让用户选择更难的单词。然后将显示另一对随机单词,并且可以根据用户的需要重复此过程。参与这个“更难的词”的用户越多,理论上应用程序就能区分难词和易词。
由于难度取决于所有用户的输入,我知道我需要在线跟踪它,以便每个应用程序都可以从我网站上的数据库(即 MySQL)中获取它们。我不确定跟踪难度的最有效方法是什么,但我想出了两种可能的解决方案:
1) 将difficulty
包含整数值的列添加到 words 表中。那么对于用户每看一个词并进行排名,他/她选择的较难的词的难度会增加一个,而没有选择的词的难度会降低一个。我可以简单地order by
使用整数值来获得最困难的值。
2) 创建一个difficulty
包含两列的表,more
和less
,根据用户所做的每个选择的结果保存单词(或ID's
单词以节省空间)。我仍然不确定如何获得最困难的单词 -group by
和的一些组合order by
?
我的第二个解决方案的好处是我可以知道每个单词被看到了多少次(包含单词的more
列中的行数 + 包含单词的less
列中的行数)。这有助于统计数据,例如如果我想找出哪个单词的more
/比率最高less
。但它也会比我第一个建议的解决方案占用更多的空间,并且不知道它如何扩展。
您认为哪个是更好的解决方案,或者我应该考虑哪些其他解决方案?