[脑洞] 一边学英语一边玩游戏(undertale)

有没有认识 3dm 汉化组的?求一份铲子骑士的文本。铲子骑士有不少古英语。



很久以前就有的想法。我们可以把游戏里面出现过的单词全部找出来,然后导入背单词软件。等单词背完了就可以玩游戏了。
基本上来说就没有词汇的障碍了。而且也可以在玩游戏的过程中复习单词。

下面就开始动手了

1 找出undertale里全部的剧情文本,已经有人做好了。
https://pastebin.com/SkG4SMHP

2 提取出全部的英文词汇并且去重复。 这个简单,正则提取一下就好了。

3 因为有些词是名词的复数,或者动词的各种进行时。所以需要把它还原
用了 stanford 的 nlp 工具。再排除一下非英语词汇的词。例如 zzzzzzzzz 这种字符组合

4 把全部单词导入到被单词软件,例如扇贝单词

分析以及导入的代码如下。源码就20行。


过滤单词用的是github上的词汇列表 https://github.com/dolph/dictionary


因为switch已经那个啥了,所以八方旅人的词汇应该也全部可以导出了。到时候先过一遍单词,就可以熟练玩游戏了。
微博 微信 diamondyuan 2018-06-27 13:03   16回复
评论
你没遇见过每个字都认识但是组成句子就不认识的吗
ptwxhq 2018-06-27 13:06
一个游戏所有的词都导出来么,这样会有大部分是认识的词吧。最后还是提高了劳动量
makisama_ 2018-06-27 13:07
@ptwxhq 游戏中应该很少出现比较复杂的语法句式吧 最要命的还是词汇量的不足
luanwu1997 2018-06-27 13:08
之前买过一款3DS上的学英语软件...日语英语一起学
dt_psvita 2018-06-27 13:10
@luanwu1997 八方旅人还有古语
qjs1994 2018-06-27 13:10
File wordsFile = new File("/Users/diamondyuan/Downloads/words_alpha.txt");
List<String> words = FileUtil.toLines(wordsFile);
File file = new File("/Users/diamondyuan/Downloads/undertale.txt");
List<String> wordsList = FileUtil.toLines(file);
Set<String> wordsSet = new HashSet<>();
wordsList.forEach(o -> {
String[] split = o.toLowerCase().split("([^a-z]+)'*\\1*");
wordsSet.addAll(Arrays.asList(split));
});
Lemmatization lemmatization = new Lemmatization();
Set<String> result = new HashSet<>();
wordsSet.forEach(o -> {
result.addAll(lemmatization.lemmatize(o).stream().filter(
words::contains
).collect(Collectors.toList()));
});
result.forEach(System.out::println);
System.out.println(result.size());
diamondyuan 2018-06-27 13:14
所以大概有多少词,每天背50个的话要多久吼?
mogennju 2018-06-27 13:16
最主要的难度是游戏破解提取文字。如果有人能认识汉化组把汉化之前的文本要出来就好了。


另外其实之前以及有人造好类似的轮子了,叫 爱英阅。可以把一本书里的全部词汇全部提取。
还可以排除认识的单词。排除 生僻度高的单词。建立自己的词库。
diamondyuan 2018-06-27 13:16
完全没明白 玩日版不就好了
wyyu 2018-06-27 13:19
@mogennju 用墨墨背单词可以导入 一共4701个单词。
diamondyuan 2018-06-27 13:19
我觉得不如把语法捋清楚遇到不会的词现查一下就好,把障碍降低到只是这个词不知道
4701个词里面视英语水平不同熟识的就不同呀
gymepc 2018-06-27 13:39
@gymepc 这样很影响游戏体验的
rain7zr 2018-06-27 13:44
@gymepc 这个词表不能直接用的。我背单词用的是扇贝。我是把自己会的单词导出,然后从4701个中排除,然后再导入扇贝的生词库,这样以后才开始背单词的。
diamondyuan 2018-06-27 13:44
在汉化组干过的表示文本不可能给别人的
zcllzzx 2018-06-27 13:52
@zcllzzx 英文文本也不行吗。
diamondyuan 2018-06-27 14:03
我个人觉得语言的应用是需要语境的,单纯的把单词挑出来然后翻译成(并不那么贴切的)中文,或许不如把它放进具体一段话中去理解。当然这只是我自己惯用的方法

如果语法知识和语感比较好,并且不强求每个词都要认得的话,读大部分句子应该是不需要查词的,因为可以根据上下文去理解然后猜词。这样去学单词可能认词效率会更高,因为加入了自己的认知过程

最恶心心的是自创词汇,一些奇幻作品比如DA里到处都是。这种词儿可能查都查不到意思,得直接去查词根…… 还有阿瓦隆这种大神负责写剧本的CRPG,异域镇魂曲和永恒之柱之类的,一个句子七八行,里面五六个状语从句,省略主语是家常便饭,真实专八备考软件
megurined 2018-06-27 16:04修改
回复不能
T