ElasticSearch 新手在这里。我有一组文本文档,我通过 Python ElasticSearch 客户端使用 ElasticSearch 对其进行了索引。现在我想使用 Python 和 scikit-learn 对文档进行一些机器学习。我需要完成以下工作。
- 使用 ElasticSearch 分析器处理文本(词干、小写等)
- 从索引中检索已处理的文档(或分析的标记)。
- 将处理后的文档转换为 Term-Document Matrix 进行分类(可能使用 scikit-learn 中的 CountVectorizer)。或者,也许有一些方法可以直接从 ElasticSearch 检索 TDM。
我在思考解决此问题的正确方法时遇到了麻烦,而且 ElasticSearch 似乎没有任何简单的实现。
例如,我可以只从 ES 中检索未分析的文档,然后在 Python 中处理这些文档,但我想使用 ES 的分析器。每次我从 ES 查询一组文档时,我都可以使用 ES 的分析器,但这似乎做了两次,因为它应该已经被分析并存储在索引中。或者,我认为我可以告诉 ES 检索每个文档的术语向量,并从每个文档的结果中手动提取标记和计数,然后根据标记和计数手动编码 TDM。这似乎是迄今为止我能想到的最直接的方式。
是否有任何更简单或更直接的途径可以将分析文本的 TDM 从 ES 索引导入 Python 以使用机器学习包?