来源于Sinx下面的讨论。
所以这个问题有两个难点,一个是如何获取单词数据集,还有lie'chi 同学提到的“学习记忆检测系统”。
这两个点感觉可以通过anki 来解决。因为anki有庞大的记忆库。比如唐诗,或者红宝书...etc
而且anki还自带艾宾斯浩记忆曲线之类的玩意儿
于是我找了api,这个插件会建立一个本地的anki应用服务器,只要请求就能获取单词卡的信息。
但是初步尝试失败,在按其api给出的命令:
curl localhost:8765 -X POST -d "{\"action\": \"deckNames\", \"version\": 6}"
我尝试用RCurl做这个请求的时候
RCurl::postForm("localhost:8765",action="version",version="6")
#> [1] "null"
#> attr(,"Content-Type")
#>
#> "text/json"
<sup>Created on 2019-04-01 by the reprex package (v0.2.1)</sup>
感觉这个发送包的操作没弄对的。
因为正常情况下返回应该是
Sample request:
{
"action": "version",
"version": 6
}
Sample result:
{
"result": 6,
"error": null
}
但是对RCurl不熟所以停止了进一步尝试,不知道能不能抛砖引玉让大神感兴趣。
顺带一提这里应该还有字符串的坑,在terminal下我用curl请求我的anki会出现如下情况:
print('got list of decks: {}'.format(result))
got list of decks: [u'\u9ed8\u8ba4', u'reinforcement learning', u'\u65b0\u7f16\u65e5\u8bed', u'test1', u'\u632f\u4e2d\u4e27\u5fc3\u75c5\u72c2\u7684\u7edf\u8ba1/\u6570\u5b66\u6982\u5ff5']
因为我的单词库都是自己做的中文名,所以命令行工具显示的是乱码不是中文,只有英文正常显示了,所以估计还有坑在前面。。。。
顺带一提挖个坟,本站这个写RCurl的帖子感觉很棒。