我有一个问题需要解决,这看起来对我很有挑战性,但我无法找到如何解决这个问题。我试过谷歌搜索,但没有找到任何具体的方向继续。
我正在寻找一些指针,想法,相关材料,某些算法的名称等。
建立书名列表。例如。给出一个文字“如果我可以,我会笑和生活,像王子的魅力” 可能的书籍清单是
希望有一个像上面这样的简短列表,而不是像。
这样的长列表Available是库的API,提供查找和搜索服务。查找根据书的标题执行特定搜索,其中搜索提供了给定关键字的书籍列表。
由于
答案 0 :(得分:0)
一个天真的解决方案可能如下:
对于搜索中的每个单词,搜索所有匹配的书名。
然后,对于每个候选人,计算标记化书名与搜索中所有单词之间的相关分数。
基本相关函数可能类似于:
public double correlation(String[] a, String[] b, int offset)
{
double ret = 0.;
int maxI = Math.min(a.length, b.length - offset);
for(int i = 0 ; i < maxI ; i++)
{
ret += a[i].equals(b[i+offset]) / maxI;
}
}
偏移参数用于移位稳健。
然后,您可以使用此分数对书名进行排序。
干杯