检测自然文本中的(预定义)主题

Posted

技术标签:

【中文标题】检测自然文本中的(预定义)主题【英文标题】:Detect (predefined) topics in natural text 【发布时间】:2015-08-23 02:51:30 【问题描述】:

是否有可以检测自然文本主题的库或数据库?

我不是在谈论从提取的关键字中生成主题,而是关于分析使用的词汇并将其与预定义的主题进行匹配。例如搜索烹饪或某些运动中使用的字词(例如足球俱乐部的名称或技术术语)。

更新说明:

示例文本 sn-p:一个关于足球的句子,然后是另一个关于活动餐饮的句子。

库可以分配类别“运动”、“足球”、“烹饪”。

我正在寻找可以分配这些类别(或可能是“感兴趣的主题”)的东西,而无需使用 TB 的手动分类文档来训练数千个模型。例如,这可以通过匹配关键字而不是统计分析来工作(这就是我之前提到数据库的原因)。

我正在搜索这个,因为我没有人力自己建立这么大的数据库。

【问题讨论】:

【参考方案1】:

你描述的任务是经典的text document classification。我建议通读这篇文章,然后按已知关键字搜索。

简而言之,最流行的方法是使用 tf-idf 处理单词或有时使用单词 n-gram 的监督机器学习(例如 SVM)。

Scikit-learn tutorial 描述了这个任务;还有像LibShortText 这样的库。

对于数据集(比“数据库”更常用的术语),请查看 Reuters-21578 Text Categorization Collection 或 here。一般来说,从预定义的类别中收集文本并不难。例如,如果您想按运动类型对文本进行分类,请访问新闻网站 - 可能是专业网站 - 如体育。

另请参阅*** 或quora 上的相关问题。

【讨论】:

我知道如何自己解决,但这不是问题所在。我正在寻找具有此类现实世界主题(如体育)的数据库或数据库的图书馆。我不想自己建立数千个类别。为什么我会为此投反对票?【参考方案2】:

有多种方法可以解决这个问题,并且围绕相同的基本主题是在语义 Web 领域。

    使用像 dbpedia 这样的知识库,dbpedia 本质上是三元组格式的***数据(主语谓词宾语)。在谓词 rdfs:label 上使用 sparql 查询 dbpedia,如果它是 dbpedia 的一部分,这将返回一个令牌的 URI,并且一个名为 dcterms:subject 的谓词将具有与该主题相关的类别。您可能需要遍历三重存储以获得更抽象的关系。类似的知识库——ConceptNet、freebase、yago。

    检查,http://www.cyc.com/

如果您希望我详细说明,请告诉我

最好的 Ankit

【讨论】:

谢谢。我需要仔细看看这个。可能需要一段时间。

以上是关于检测自然文本中的(预定义)主题的主要内容,如果未能解决你的问题,请参考以下文章

如何使用自定义主题更改默认文本颜色?

自然语言处理-主题模型

pencv_contrib里的Text(自然场景图像中的文本检测与识别)

LDA主题建模

使用c ++实现EAST文本检测时出现未定义的cv :: dnn :: experimental_dnn错误

如何定义阈值以仅检测图像中的绿色对象:Opencv [重复]