【发布时间】:2012-11-04 09:28:55
【问题描述】:
寻找有关如何标记文本以进行搜索的策略,以及有关如何实施它们的一些想法。
具体来说,我们正在尝试对用户生成的业务评论进行标记,以帮助我们的业务搜索引擎。所有代码都是 Python。
我认为我们至少需要做以下事情:
复数名词转单数
我找到了一个名为 inflect 的库,它似乎做得很好,有没有人有这方面的经验?去掉所有非字母数字字符
对我来说,这似乎是正则表达式的工作,但我很想听听任何其他建议基于空格进行分词,将连续的空格转换为单个空格
我认为这可以通过 Python 中的一些自定义字符串操作来实现,但可能有更好的方法。
对于我需要做些什么来标记文本,是否有人有任何其他想法?另外,您对上述用于实施上述策略的技术和工具有何看法?
背景信息:(从 cmets 到 Dough T 对 Solr 或 Elastic 搜索的建议)
我们正在使用 ElasticSearch,并使用它的工具进行基本的标记化。我们想单独进行上面描述的标记化,因为在标记化之后,我们将需要应用一些非常复杂的语义分析来从文本中提取含义。我们希望能够灵活地准确地按照我们指定的方式进行标记化,以及以我们自己的格式存储标记并附上我们自己的数据注释的便利性。
我们绝对需要的一件事是每个令牌的单个(大型)数据库记录,可以随时访问和修改,其中包含与该令牌使用相关的所有内容。我认为这排除了在文档被索引时仅使用 ES 标记化来处理它们。我们也许可以使用 ES 的分析模块来分析文本而不对其进行索引,然后单独处理每个令牌以构建/更新令牌的数据库记录......我们寻求有关此方法的建议。
【问题讨论】:
标签: python string search elasticsearch tokenize