查询相似句子的有效方法
efficient way to query similar sentences
我有一个任务需要从记忆中找到类似的句子。任务读取的输入文件包含:
a b c
c d e f
f h g w
.............
然后,给定一个新的查询,ex
h g w
回报应该是
f h g w
这是输入文件中包含所有查询词的行。
我想知道如何有效地存储输入句子,以便可以有效地将其用于查询。
您可以将单词字典存储为字符串向量:
vector<string> dict;
所以在你的例子中,你会把"a"
、"b"
、"c"
等放在字典里。
然后你可以将一个句子表示为整数的向量,其中整数是字典中单词的索引:
vector<int> sentence;
例如,第一句将是{0, 1, 2}
。
您可以将所有句子存储在一个向量中:
vector<vector<int>> sentences;
此时,检查子短语是否在短语中与子字符串搜索算法完全相同(前提是您还将短语查询转换为整数向量)。
相关文章:
- 在C++中初始化向量映射的最有效方法
- 将此布尔值传递给此函数的最有效方法是什么?
- 比较C++变量的最有效方法
- 在 c++ 中解决段树以外的范围查询的有效方法是什么?
- 存储变量的更有效方法是什么?
- 确保套装新鲜度的有效方法
- 当映射包含字符串向量作为值时,从值中获取键的有效方法
- 映射唯一值和重复值的有效方法.可以访问键或值的位置
- 在C++事务之间存储大量字符数据的有效方法
- 在unordered_multimap中精确迭代一次每个键的有效方法
- 一种将 Dart 中的字节数据转换为 C++ 中的无符号字符*的有效方法?
- 检查两个向量是否并行的最有效方法
- 从浮点数中删除小数部分但保留类型的有效方法
- 传递非泛型函数的最有效方法是什么?
- 按升序打印矢量的所有元素直到它为空而没有重复项的最有效方法是什么?
- 创建字符串数组的有效方法
- 返回一个引用C++中另一个类对象的对象的有效方法
- C++去除前x个元素的有效方法,在不改变向量大小的情况下将第x+1个元素推到第一个
- 将一种数据类型的向量复制到同一数据类型的结构向量中的有效方法是什么
- 从std::map值中获取密钥的有效方法