题目内容
你正在开发一套图书管理工具,需要为馆藏书籍的英文简介建立一个相似度查询功能。请根据给定的若干条简介,完成以下任务:
- 对每条简介进行预处理:统一转为小写,按空格和标点分离出词语,并剔除常见英文停用词(如 "the"、"is" 等)。
- 为每条简介生成一个权值向量。向量的每一维对应一个在整个简介集合中出现的词,其权值由两部分决定:
- 词在当前简介中出现的频次;
- 词的稀有程度,即在多少条简介中出现过。出现越少的词,当它出现在某条简介中时,赋予越高的权重。
- 将所有向量做 L2 归一化(使向量的欧几里得长度为 1),然后计算任意两条简介对应向量之间的余弦相似度,定义为 cosθ=∥vi∥∥vj∥vi⋅vj。
- 构建一个 n×n 的相似度矩阵,其中的每个数值保留两位小数并以字符串形式表示(例如
'0.24'),自身与自身的相似度为 '1.00'。