问题标签 [match-phrase]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
54 浏览

elasticsearch - elasticsearch中的短语查询考虑每个组成词的docFreq?

我正在包含年度公司报告的文档语料库(使用 elasticsearch 5.5.1)中搜索一个短语。我正在搜索一个短语,查询上下文如下所示:

在查看返回结果的解释时,看起来术语频率是以正确(或我期望的)方式计算的,即它返回短语在文档中出现的次数。但是,idf 计算将短语的每个组成词的结果相加。例如,在短语“计算机视觉”中,它分别计算“计算机”的 docFreq 和“视觉”的 docFeq,并将每个的 log(1 + (docCount - docFreq + 0.5) / (docFreq + 0.5)) 相加单词。这不是我所期望的——我原以为像 docFreq 这样的词频将基于确切短语的出现次数。任何帮助将非常感激。

0 投票
1 回答
187 浏览

ruby-on-rails - 在 Elastic Search 中使用“或”运算符执行多“匹配短语”查询

我想匹配包含与输入的短语之一完全相同的所有文档。

0 投票
2 回答
2751 浏览

elasticsearch - 多个字段的 Elasticsearch match_phrase

我是 Elasticsaerch 的新手,我现在正在苦苦挣扎。我正在尝试搜索在字段 eset 中有确切短语的所有数据。我的查询看起来像这样,它的工作原理:

现在,我还需要多个字段来获得准确的值,例如在 eset 和 registries 字段中,因此理论上它应该如下所示:

但显然,您不能在 Elasticsearch 中执行此操作。匹配似乎不适用于多个字段。有什么办法吗?我需要保留大小写。只是确切的值。术语似乎不起作用,因为我的数据中使用了大写和小写以及斜线。

我尝试了所有我发现的东西,但没有任何效果。如果重要的话,我会在 5.6.6 版上使用 Python API 版本 6.1.1 和 Elasticsearch。

0 投票
1 回答
365 浏览

elasticsearch - elasticsearch 短语前缀搜索

query_string用于全文搜索并type用于定义全文搜索的行为方式,我必须使用的类型之一是phrase_prefix返回具有确切术语的文档...

这是我的问题:

当我想搜索一个单词术语时..例如tea返回的大多数文档是因为teacher,我知道要解决这个问题我必须使用phrase类型...但是当我将这种类型用于一个单词术语时,我会达到另一个问题,例如ui..因为大多数文档都包含UI/UX单词,在phrase类型搜索中这些文档不会返回..

所以我有一个查询必须表现得像一个短语前缀,但不是所有的时间......问题是我不知道确切的时间!

如果有人对我的问题有任何解决方案。我将非常感谢与我分享。

0 投票
0 回答
213 浏览

python - 空间 | 是否可以删除短语匹配器中对长度的硬编码限制?

我在 python3.6 上使用 Spacy 库,我有一个包含 700 个术语的数组和一个可以使用它的 PharseMatcher。

当我有 10-12 个术语时效果很好,但是当我使用很多术语时它会抛出错误:

当我在网上查找时,我发现的只是 Github项目中的这个问题

但似乎它在项目中没有进行任何更改就关闭了,在我尝试自己编写分类而不使用 Spacy PhraseMatcher 之前,有谁知道如何解决这个错误并在构建一个巨大的术语列表时PharseMatcher,或者也许可以通过 Spacy 或任何其他 python nlp/非 nlp 库推荐一种更好的方法来做这样的事情(将文本分类为主题)?

谢谢!

0 投票
3 回答
3855 浏览

elasticsearch - 如何在弹性搜索中进行精确的短语匹配?

我正在尝试在弹性搜索中实现完全匹配搜索。但我没有得到所需的结果。这是解释我面临的问题和我尝试过的事情的代码。

查询 1

查询 2

因此,当我运行查询 1 时,我得到 doc2 作为最高结果,而我希望 doc1 成为最高结果。

当我尝试使用相同的过滤器(将搜索长度限制为查询长度)时,如查询 2 中一样,我没有得到任何结果。

如果我能在解决这个问题上得到任何帮助,我将不胜感激。我想要给定查询的完全匹配,而不是包含该查询的匹配。

谢谢

0 投票
0 回答
167 浏览

elasticsearch - ElasticSearch Match_Phrase 查询不是全文匹配

我使用 match_phrase 查询来搜索全文匹配。

但它并没有像我想象的那样工作。

match_phrase 查询是否不适用于文本类型?

我的查询:

搜索结果:

我的映射:

帮助。

0 投票
1 回答
3299 浏览

elasticsearch - 弹性搜索 match_phrase + fuzziness

我正在使用 ElasticSearch,我正在尝试实现 match_phrase/string + fuzziness,但似乎不可能(在线示例不多,文档中没有此类案例)。

我需要的是:词组/字符串匹配 + 模糊性 + slop,分别基于字段的每个值。

到目前为止我已经尝试过(我仍然没有我需要的解决方案):

query_string - 它包含模糊性和倾斜性。但是,它通过一个文档通过该字段的所有值收集一个字符串。

match_phrase - 它包含 slop,但没有模糊性。有什么好处 - 它在字段的至少一个值中查找短语匹配,而不是通过文档字段的所有值收集字符串。

我需要的:

任何人都有短语匹配的经验,包括 ElasticSearch 上的模糊性?

提前致谢。

0 投票
2 回答
1545 浏览

python - 使用 python 及其库从给定的短文本中提取关键字/短语

从用户给定的工作描述输入中,我需要使用 python 及其库来提取关键字或短语。我愿意接受社区的建议和指导,了解哪些图书馆最有效,如果以防万一,它很简单,请指导。

用户输入示例:

user_input = "i want a full stack developer. Specialization in python is a must".

预期输出:

keywords = ['full stack developer', 'python']

0 投票
1 回答
369 浏览

python-3.x - 如何使用 Spacy PhraseMatcher 解决内存错误?

高级背景

我正在做一个项目,第一步是在大型文本语料库中搜索关键字和短语。我想确定这些关键字出现的段落/句子。稍后我想通过我本地的 postgres db 使这些段落可以访问,以便用户查询信息。数据存储在 Azure Blob 存储中,我正在使用 Minio Server 连接我的 Django 应用程序。

实际问题

首先,我的 shell 被杀死,在运行我的脚本时,经过一些尝试和错误的重构/调试内存错误:

  1. 从 blob 存储中采样 30 个(我想采样 10000 个,但它已经在低数字时中断)随机文本文档,
  2. 预处理 nlp 任务的原始文本,
  3. 通过 spacy 的 nlp.pipe 流式传输文本以获取文档列表和
  4. 将文档列表流式传输到 PhraseMatcher(它将 on_match 规则 ID、句子的开始标记(匹配)、句子、hash_id 传递到 match_list)。

起初,炮弹被杀死。我查看了日志文件,发现这是一个内存错误,但老实说,我对这个话题还很陌生。

重新排列代码后,我直接在 shell 内得到了 MemoryError 。在将文本流式传输到 spaCy 的 language.pipe() 步骤中。

代码摘录

功能

问题步骤:

错误信息

...