QUERY COUNT
"harry potter" 100
"iron man" 93
"harry pott" 32
"harr pott" 5
现在假设大多数用户使用完整单词进行搜索,我认为我可以通过以下方式有效地进行聚合(避免在整个索引上嵌套for循环):
我按字母顺序对查询中的令牌进行排序,并生成一个映射“first\u token”,如:
"h" "harry potter"
"ha" "harry potter"
"har" "harry potter"
"harr" "harry potter"
"harry" "harry potter"
分别是“第二个令牌”等等。。。
"p" "harry potter"
"po" "harry potter"
"pot" "harry potter"
"pott" "harry potter"
"potte" "harry potter"
"potter" "harry potter"
现在我想知道是否有任何Python库可以让我更容易地实现所有这些。来自Java/JS的我还不太熟悉Python,我只知道它有很多用于NLP的工具。
NLTK里有什么能帮我的吗?我认为至少应该有一个工具来矢量化字符串。也许使用它,您可以将“start with”操作作为简单的查找而不必手动生成地图?