- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我的目标是在搜索引擎项目(如 LinkedIn)中提供一个搜索框的所有模型。
我试着用一个类比来表达我的问题。
假设每个结果都是一篇文章,并且具有多个维度,例如作者、主题、 session (如果是出版物)、托管网站等。
一些示例查询:
“authorXYZ 在 IEEE 的信息检索论文”:三个维度{topic、conf-name、authorname}
“authoABC 关于设计模式的 ACM 论文”:三个维度{conf-name、作者、主题}
“javaranch 的多线程编程”:二维{主题、网站}
在从数据库中检索最终结果之前,我必须在大型查询中识别这些维度和相应的关键字。
积分
我的方法(幼稚)
使用 Lucene,使用名为“维度”的专用字段和另一个具有实际值的字段为每个维度中的所有关键字编制索引。 例如:
1) {name:IEEE, dimension:conference}等
2) {name:ooad, dimension:topic}等
3) {name:xyz, dimension:author}等
问题
引用论文、文章或指出描述我的问题领域的正确术语等肯定会有所帮助。
非常感谢任何指导。
最佳答案
解决方案 1:如何使用自然语言处理命名实体识别 (NER) 来解决您的问题。现在 NER 可以使用简单的正则表达式来完成(以防数据过于静态),或者您可以使用一些机器学习技术,如隐马尔可夫模型来实际找出序列数据集中的命名实体。与其他机器学习监督算法相比,我强调 HMM 的原因是因为你有顺序数据,每个状态都依赖于前一个或下一个状态。 NER 会为您输出维度以及相应的名称。之后,您的搜索就变成了垂直搜索问题,您只需在不同的 Solr/Lucene 字段中搜索已识别的词,并相应地设置您的提升。
现在进入实现部分,我假设您在使用 Lucene 时了解 Java,因此 Mahout 是一个不错的选择。 Mahout 内置了一个 HMM,您可以在您的数据集上训练和测试模型。我还假设您有大数据集。
解决方案 2:尝试将此问题建模为属性图问题。查看 Neo4j 之类的东西。我建议这样做,因为您的问题属于无模式域。您的架构不固定,问题可以很好地建模为图形,其中每个节点都是一组键值对。
解决方案 3:正如您所说,您拥有所有可能的维度值,为什么不使用正则表达式将所有非结构化数据从文本简单地转换为结构化数据,然后再次使用没有固定模式,因此将数据存储在任何 NoSQL 键值数据库中。他们中的大多数都提供了用于全文搜索的 Lucene 集成,然后只需在这些数据库上进行搜索即可。
关于在一个搜索框的所有模型查询中识别关键字类别的算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19175328/
关闭。这个问题是opinion-based .它目前不接受答案。 想改善这个问题吗?更新问题,以便可以通过 editing this post 用事实和引文回答问题. 9 个月前关闭。 Improve
我使用 partykit打包并遇到以下错误消息: Error in matrix(0, nrow = mi, ncol = nl) : invalid 'nrow' value (too large
我一直在尝试寻找一个量表或分类指标,为 VADER 情绪分析分配一些情感程度,而不仅仅是积极、消极或中性。如果有人可以分享他们的观点或资源来帮助按以下方式对 VADER 复合分数进行分类,我将非常感激
伙计们,我想自动循环..但我不知道是我放错了 while 还是循环错了? 我的数据库 标签:kt_barang kd_kategori | nama_kategori 1
我正在创建一个列出本地企业并按类别、子类别和关键字对它们进行分组的应用程序。以下是企业排序规则: 一个企业可以属于多个类别和子类别 一个企业可以有多个关键字 并非每个类别都有子类别,但有子类别的只有两
我有一系列单词 - 我的刺激 - 它们显示在屏幕上。然而,每个词都有另一个“条件”,即它们是类别 A、类别 B 或类别 C。这可能很简单,但我找不到答案并坚持下去。我的最终目标是在每次运行脚本时将类别
我正在使用 Laravel 5.5 和 MySql。如果不向 Services 表中添加 subCategoryID 列,我无法弄清楚如何将类别和子类别与服务相关联。 目前这是我的表结构 服务类别 i
我有两个部分/类别结构的链接表。 the section table structure id sec_title 1 section 1 2 section 2 the category str
我有一个类层次结构如下 @interface PTLDatasource : NSObject ... @interface PTLFetchedDatasource : PTLDatasource
我有一个 DataFrame df 一列,category 使用以下代码创建: import pandas as pd import random as rand from string import
我经常在多个类中设置获取请求以从核心数据(加上一些其他结果)中检索“allRecipes”或“lastModifiedDate”。 为此使用专门的类别 NSManagedObjectContext+R
可以在 Objective C 中创建类别之间的依赖关系吗?也在类别和它们的基类之间? 我知道在运行时应该没有区别,它们可能只是在编译时合并在一起。例如,假设我将 B 类分解为: B(base cla
这个问题在这里已经有了答案: 关闭 10 年前。
example img of a category selection by user 嘿,我正在尝试设置一个选择,用户必须选择一个类别和第二个类别,但我不知道如何获取他单击的信息。用户单击类别后,它
尝试将投资组合库添加到我正在制作的自定义 wp 主题中。我已经筋疲力尽地试图寻找甚至可以修改一些的解决方案和插件。我认为我在寻找解决方案时遇到的一个问题是我不完全确定哪些搜索词可以帮助我找到与我想要实
当我查看 Cocoa Touch API 时,我可以在同一个头文件中找到一些与类别一起声明的类,例如 @interface NSArray : NSObject @property (readonl
我的 log4j.properties 中有以下内容 log4j.rootLogger = debug, stdout, fileLog log4j.appender.stdout = org.apa
如果我在类中添加类别方法,比如NSXMLNode: @interface NSXMLNode (mycat) - (void)myFunc; @end NSXMLNode 的子类,例如 NSXMLEl
先说场景,wordpress的分类结构是这样的 Level 1: Top Level 2: -Nextme_1 Level 3: --Nextme_2 --Nextme_3 Leve
我有一个解析网络,现在我想浏览标签,或显示图表。我怎样才能得到图表?或者在树中导航。显示第一步然后其他等。并了解这棵树是如何 build 的。 import urllib from lxml impo
我是一名优秀的程序员,十分优秀!