elasticsearch - "美国" 不是 ["United","States"]
问题描述
我在弹性搜索中有文本字段,我想在 kibana 上可视化它的词云...
第一步我们需要对它们进行标记,我使用了“标准标记器”... 带有这种形式的词云可视化结果图片如下所示:
但我需要的是像“美国”、“联合国”、“安全理事会”和......这样的专有名词不能分开,我想要这样的词云: *专有名词或短语可能在 2-5 之间话差不多。(如“中华人民共和国”)
我应该怎么办?这与 N-Gram 有关吗?
示例文本:
美利坚合众国是联合国的创始会员国,也是联合国安理会五个常任理事国之一。
美国是联合国总部的东道国,该总部包括纽约市的大会通常会议地点、安理会和联合国多个机构的所在地。美国是联合国最大的财政捐助国,提供了 2017 年整个联合国预算的 22%(相比之下,第二大捐助国是日本,几乎为 10%,而欧盟国家总共支付了 30% 以上) . 1从 2016 年 7 月到 2017 年 6 月,用于维和行动的预算的 28.6% 由美国提供。2美国在建立联合国方面发挥了关键作用。
解决方案
此任务是NER任务,而不是标准标记化任务。有一些插件可以用弹性来做到这一点,但没有一个是有希望的。
要完成这项工作,您需要在应用程序端对数据进行预处理。使用 NLP 解析器(Standford Core NLP、Spacy...)并提取命名实体。在您的映射中创建一个关键字字段(例如称为实体),您将从每个文档中提取的实体保存为一个数组,然后您可以使用该字段生成您的词云。
祝你好运。
推荐阅读
- mysql - 获取当前周的记录,不包括当前周的未来日期
- java - 在 Webfilter 中更改 Rememberme-Cookie
- r - 将相关矩阵转换为R中的协方差矩阵?
- special-characters - 使用 Preg_Match 提取特殊字符之间的两个值
- css - React Datepicker - 内联样式不起作用
- javascript - 如何在 HTML 中打印 javascript 值?
- server - 如何找到在 Windows 后台运行的服务器类型(在服务中看到。)
- php - Laravel Dusk - NoSuchElementException:没有这样的元素:无法找到元素
- python - 从正则表达式匹配中提取时留下子字符串
- gzip - GZip 在 IIS 8.5 godaddy windows 共享主机上无法正常工作