当前位置: 首页 > 面试题库 >

从文本内容生成标签

仇经武
2023-03-14
问题内容

我很好奇是否存在通过使用一些权重计算,出现率或其他工具从给定文本生成关键字/标签的算法/方法。

此外,如果您为此提出了任何基于Python的解决方案/库,我将不胜感激。

谢谢


问题答案:

一种方法是提取文档中出现频率比您偶然期望的单词高的单词。例如,在大量文档中说“马尔科夫”一词几乎从未见过。但是,在同一收藏集中的特定文档中,Markov经常出现。这表明Markov可能是与文档关联的很好的关键字或标记。

为了识别这样的关键字,您可以使用关键字和文档的逐点相互信息。由给出PMI(term, doc) = log [ P(term, doc) / (P(term)*P(doc)) ]。这将大致告诉您,在大型文档中遇到该术语时,您对特定文档中的术语感到惊讶的程度是多少(或更多)。

要确定与文档相关联的5个最佳关键字,您只需按其在文档中的PMI得分对术语进行排序,然后选择得分最高的5个。

从我对这个问题的回答中借用的NLTK搭配方法介绍了如何使用n-
gram PMI在大约7行代码中提取有趣的多字表达式,例如:

import nltk
from nltk.collocations import *
bigram_measures = nltk.collocations.BigramAssocMeasures()

# change this to read in your data
finder = BigramCollocationFinder.from_words(
   nltk.corpus.genesis.words('english-web.txt'))

# only bigrams that appear 3+ times
finder.apply_freq_filter(3)

# return the 5 n-grams with the highest PMI
finder.nbest(bigram_measures.pmi, 5)


 类似资料:
  • 问题内容: 我正在使用HTML Purifier(http://htmlpurifier.org/) 我只想删除标签。我不想删除内联格式或任何其他内容。 我该如何实现? 还有一件事,它还有其他方法可以从HTML删除脚本标签 问题答案: 因为这个问题是用正则表达式标记的,所以在这种情况下,我将用穷人的解决方案来回答: 但是,正则表达式不是用于解析HTML / XML的,即使您编写了一个 完美的 表达

  • 这是Web开发人员的完整参考指南,其中列出了与万维网联盟推荐的层叠样式表规范2级中定义的生成内容相关的所有CSS属性。 单击任何属性以查看其描述的示例 - Sr.No. 财产和描述 1 content 在元素周围插入生成的内容。 2 counter-increment 将计数器增加1; value是一个计数器名称列表,每个名称后面跟一个值递增的值。 3 counter-reset 将计数器重置为零

  • 如何通过内容插入超文本标记语言标签:e::bef伪元素的属性,我正在尝试一个 但这行不通。是否有其他方法将超文本标记语言插入到伪元素CSS中? 谢谢,

  • 本文向大家介绍python根据文章标题内容自动生成摘要的实例,包括了python根据文章标题内容自动生成摘要的实例的使用技巧和注意事项,需要的朋友参考一下 text.py 方法一:根据标题内容生成摘要 方法二:根据内容生成摘要 以上这篇python根据文章标题内容自动生成摘要的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。

  • 我有以下代码: 当我运行它时,我看到Fiddler中的Content-Type头:

  • X1.0新增 sp_content_page($content,$pagetpl') 功能: 对文本内容进行分页处理,返回当前页的内容,和分页html 参数: $content:要处理的文本内容;里面含有百度编辑器的分页标记; $pagetpl:分页模板;默认值{first}{prev}{list}{next}{last} 返回: 类型数组 array( "content"=>"",//