Word frequency algorithm for natural language processing
虽然这个问题的答案非常好,但我想知道我是否可以利用所有的时间来了解SOLR以获得我的NLP。
我想到了SOLR,因为:
虽然上述原因很好,但我不太了解SOLR,所以我需要知道它是否适合我的要求。
理想情况下,我想配置SOLR,然后能够发送SOLR一些文本,并检索索引的tonkenized内容。
我正在研究更大推荐引擎的一个小组件。
答案 0 :(得分:10)
我猜你可以使用Solr并将其与其他工具结合使用。 标量化,停止单词删除,词干化,甚至同义词都是Solr开箱即用的。 如果您需要命名实体识别或基本名词短语提取,则需要使用OpenNLP或等效工具作为预处理阶段。您可能需要术语向量用于检索目的。 Integrating Apache Mahout with Apache Lucene and Solr可能很有用,因为它讨论了Lucene和Solr与机器学习(包括推荐)引擎的集成。除此之外,请随时提出更具体的问题。
答案 1 :(得分:6)
实际上,您可以将Solr配置为在索引文档和搜索时使用NLP算法。 第一阶段(索引时间)可以使用/编写Solr UpdateRequestProcessor插件来分析字段文本,而第二阶段可以通过编写自定义QParserPlugin来实现,该QParserPlugin分析用户查询的查询。 我在Lucene Eurocon 2011上提出了一种在Solr中实现自然语言搜索的方法,该方法利用Apache UIMA来运行(开源)NLP算法。 您可以查看slides和谈话的video。 希望这可以帮助。 托马索
答案 2 :(得分:3)
有一个特殊的请求处理程序,用于应用解析来过滤不太相关的搜索结果。它基于OpenNLP获得的选区解析树的机器学习。
请参阅博客 http://search-engineering.blogspot.com
和论文 http://dx.doi.org/10.1016/j.datak.2012.07.003
此SOLR搜索请求处理程序将作为OpenNLP相似性组件的一部分提供
答案 3 :(得分:2)
在此Google代码项目中
http://code.google.com/p/relevance-based-on-parse-trees
您可以使用基于语言的请求处理程序 在包opennlp.tools.similarity.apps.solr中 公共类SyntGenRequestHandler扩展了SearchHandler
搜索结果由SearchHandler获取 根据解析树的相似性重新排名。