首页 > 解决方案 > "美国" 不是 ["United","States"]

问题描述

我在弹性搜索中有文本字段,我想在 kibana 上可视化它的词云...

第一步我们需要对它们进行标记,我使用了“标准标记器”... 带有这种形式的词云可视化结果图片如下所示: 你看到untied states分为美国和美国

但我需要的是像“美国”、“联合国”、“安全理事会”和......这样的专有名词不能分开,我想要这样的词云: 在此处输入图像描述 *专有名词或短语可能在 2-5 之间话差不多。(如“中华人民共和国”)

我应该怎么办?这与 N-Gram 有关吗?

示例文本:

美利坚合众国是联合国的创始会员国,也是联合国安理会五个常任理事国之一。

美国是联合国总部的东道国,该总部包括纽约市的大会通常会议地点、安理会和联合国多个机构的所在地。美国是联合国最大的财政捐助国,提供了 2017 年整个联合国预算的 22%(相比之下,第二大捐助国是日本,几乎为 10%,而欧盟国家总共支付了 30% 以上) . 1从 2016 年 7 月到 2017 年 6 月,用于维和行动的预算的 28.6% 由美国提供。2美国在建立联合国方面发挥了关键作用。

标签: elasticsearchkibanaword-cloud

解决方案


此任务是NER任务,而不是标准标记化任务。有一些插件可以用弹性来做到这一点,但没有一个是有希望的。

要完成这项工作,您需要在应用程序端对数据进行预处理。使用 NLP 解析器(Standford Core NLP、Spacy...)并提取命名实体。在您的映射中创建一个关键字字段(例如称为实体),您将从每个文档中提取的实体保存为一个数组,然后您可以使用该字段生成您的词云。

祝你好运。


推荐阅读