obsidian-language-learner
obsidian-language-learner copied to clipboard
【功能建议】增加单词的词形还原功能
一篇文章中名词的复数和动词的各种形态占了单词中很大的一部分,请问大佬能否增加对单词形态变化的识别功能呢?比如在阅读模式中点击单词,搜索框搜索的是单词原型;或者添加单词原型到单词数据库,它的其他各种形态也能在文中被识别标记
我有考虑过这个问题,因为这个涉及到数据库怎么存这些单词。现在的方式是直接把字母有差别的都当做不同的词。
- 如果只记录原型,那么在解析文章中已有词的时候,其他形式的同样解析不到
- 如果把原型、各种变形都当做不同的词分别记录,一个是notes部分就会有很多冗余数据,第二是后面改动某个变形的信息时,难以同步修改其他形式的信息。同时,会不会有某个单词的某个变形,还有其他含义或词性呢,这样的话强行维持所有变形的释义相同就不太适当了。
- 或者只记录原型,然后把其他形式作为
alias
记录在原型的某个字段上。这样冗余数据少,但是解析文章、检索数据库的过程就要复杂一些
是的,如果记录原型其他形式能被解析到就好了,感觉把其他形式作为 alias 记录在原型的某个字段上这个想法不错;翻了一下之前的issues,有人提到过他用nltk 库进行词形还原,这方面我不太懂不知道怎么做到的😂;还有就是请问有什么办法能从数据库中把单个单词删除呢?看了一下,单词列表中只能按照熟练度分类批量删除
现在应该还不能删除单词吧,还没做这个功能。
一般在什么时候会想删掉一个单词的记录呢
哈哈是这样的,一开始测试了几个简单单词还有一些单复数导致重复了,不过我后面注意避免添加就行了😄
目前的话,可以把想要删除的单词,重新以无视
类型重新添加一次,这样这些单词基本上和被删除了差不多,会在下次刷新的时候从wordDB和reviewDB里面去掉,单词列表里面也不会再显示,和删了差不多。
我对删除功能的想法是会不会有某些情况下,想把无视
状态的单词从数据库完全删除掉?但是又感觉不删也不影响功能。
原来是这样,那删除功能可以做成能在单词列表中把单词状态变成无视状态,而且当想把单词从列表删除的时候肯定说明熟悉到可以无视。 或者可以进一步做成可以多选单词,然后批量改变它们的状态,其中无视状态就相当于删除了,但把无视状态的单词从数据库完全删除掉这个确实没很大必要😂,反正无视状态和把数据库完全删除掉都相当于掌握了这个单词,不删确实也不影响功能。