WaniKani上下文句子闪卡-CRX插件使用技巧

需积分: 5 0 下载量 83 浏览量 更新于2024-12-16 收藏 94KB ZIP 举报
资源摘要信息:"WaniKani: Context Sentence Flash Cards -crx插件是一个适用于英语用户的学习辅助工具,它主要帮助用户通过上下文句子来记忆和理解日语汉字或词汇。该插件的特点是能够隐藏单词或汉字旁边的英文翻译,迫使用户通过上下文来推断含义,从而加强语言学习的实践性和语境理解能力。 该插件被归类为扩展程序(Extension),通常这类工具是为浏览器设计的,用户可以通过在浏览器中添加此类扩展,来增强或改变浏览器的基本功能。WaniKani的这款插件可能是为了支持其网站WaniKani.com的用户,让用户可以在浏览网页时,使用该插件来提高学习效率。 WaniKani是一个专注于日语学习的在线平台,提供了一套系统化的方法来教授汉字和词汇,通过重复间隔记忆法(spaced repetition)来加强记忆。该平台拥有自己的学习体系和路径,因此该插件可能是专为该平台设计,以便用户在使用WaniKani进行学习的同时,能够通过网页环境中的实际语境来加深记忆。 该插件的文件名称为_WaniKani__Context_Sentence_Flash_Cards_.crx。CRX是Chrome扩展程序的文件格式,这表明该插件是专门为了Chrome浏览器所设计的。用户可以通过Chrome浏览器的扩展程序商店下载并安装该插件,或者直接下载CRX文件后手动安装到Chrome浏览器中。 由于描述中提到该插件隐藏了汉字或词汇旁边的英文翻译,它可能具有的功能包括: - 为日语学习者提供一个无需翻译的纯日语语境,以提升用户根据上下文猜测词义的能力。 - 通过遮蔽翻译,强迫用户集中注意力在语境上,提高语境分析能力。 - 可能具有点击功能,允许用户在需要时查看翻译,从而提供即时的学习反馈。 - 可能还提供复习和测试机制,以巩固通过上下文学到的词汇或汉字。 WaniKani的用户群体主要是对学习日语有兴趣的人士,特别是对于那些希望通过上下文来提高自己日语理解和应用能力的学习者来说,这款插件会是一个非常有用的学习工具。"

把这段代码import math from collections import defaultdict corpus =["二价 二价 二价 四价 预约", "四价 四价 四价 九价 预约", "九价 九价 九价 九价 预约"] words = [] for sentence in corpus: words.append(sentence.strip().split()) # 进行词频统计 def Counter(words): word_count = [] for sentence in words: word_dict = defaultdict(int) for word in sentence: word_dict[word] += 1 word_count.append(word_dict) return word_count word_count = Counter(words) # 计算TF(word代表被计算的单词,word_dict是被计算单词所在句子分词统计词频后的字典) def tf(word, word_dict): return word_dict[word] / sum(word_dict.values()) # 统计含有该单词的句子数 def count_sentence(word, word_count): return sum([1 for i in word_count if i.get(word)]) # i[word] >= 1 # 计算IDF def idf(word, word_count): return math.log((len(word_count) / (count_sentence(word, word_count) + 1)),10) # 计算TF-IDF def tfidf(word, word_dict, word_count): return tf(word, word_dict) * idf(word, word_count) p = 1 for word_dict in word_count: print("part:{}".format(p)) p += 1 for word, cnt in word_dict.items(): print("word: {} ---- TF-IDF:{}".format(word, tfidf(word, word_dict, word_count))) print("word: {} ---- TF:{}".format(word, tf(word, word_dict))) print("word: {} ---- IDF:{}".format(word, idf(word, word_count))) print("word: {} ---- count_sentence:{}".format(word, count_sentence(word, word_count)))中计算idf的def idf(word, word_count)部分改成自定义输入权重[1,2,3]得到最终的改进后的TF-IDF值,请帮我改进一下代码

2023-06-06 上传

在下面这段代码的基础上进行修改import math from collections import defaultdict corpus =["二价 二价 二价 四价 预约", "四价 四价 四价 九价 预约", "九价 九价 九价 九价 预约"] words = [] for sentence in corpus: words.append(sentence.strip().split()) # 进行词频统计 def Counter(words): word_count = [] for sentence in words: word_dict = defaultdict(int) for word in sentence: word_dict[word] += 1 word_count.append(word_dict) return word_count word_count = Counter(words) # 计算TF(word代表被计算的单词,word_dict是被计算单词所在句子分词统计词频后的字典) def tf(word, word_dict): return word_dict[word] / sum(word_dict.values()) # 统计含有该单词的句子数 def count_sentence(word, word_count): return sum([1 for i in word_count if i.get(word)]) # i[word] >= 1 # 计算IDF def idf(word, word_count): return math.log((len(word_count) / (count_sentence(word, word_count) + 1)),10) # 计算TF-IDF def tfidf(word, word_dict, word_count): return tf(word, word_dict) * idf(word, word_count) p = 1 for word_dict in word_count: print("part:{}".format(p)) p += 1 for word, cnt in word_dict.items(): print("word: {} ---- TF-IDF:{}".format(word, tfidf(word, word_dict, word_count))) print("word: {} ---- TF:{}".format(word, tf(word, word_dict))) print("word: {} ---- IDF:{}".format(word, idf(word, word_count))) print("word: {} ---- count_sentence:{}".format(word, count_sentence(word, word_count))),将IDF进行改进,其中自定义热度权重文件weight.txt中我想存入的是每一个文档的热度权重,改进的idf值就是总文档热度权重总和除以包含某词所在的文档的热度权重之和然后再取对数,请写出改进后的python代码

2023-06-07 上传