精华内容
下载资源
问答
  • 提取文本关键字

    2018-08-03 11:37:52
    提取文本关键字,并附带关键字评分,可以控制提取个数,例如:"我今天很开心,一口气买了好多东西!";提取结果:[一口气/4.471413137990432, 今天/2.37971480120688, 开心/1.1111375260524337]
  • 文本提取最常用的关键字和短语。 它不包括常见的停用词。 它可以配置为提取任意长度的短语(ngram),而不仅仅是关键字。 // Get the top two most commonly used phrases of two more words in the Stream ...
  • 文本关键字提取

    2018-05-21 16:30:33
    文本关键字提取,需要自建知识库,采用文本处理等方式
  • 主要介绍了PHP函数实现从一个文本字符串中提取关键字的方法,涉及php针对字符串的遍历与查找等操作技巧,需要的朋友可以参考下
  • 如何使用TF-IDF和Python的Scikit-Learn从文本提取关键字 (How to extract keywords from text with TF-IDF and Python’s Scikit-Learn) Back in 2006, when I had to use TF-IDF for keywor...

    by Kavita Ganesan

    通过Kavita Ganesan

    如何使用TF-IDF和Python的Scikit-Learn从文本中提取关键字 (How to extract keywords from text with TF-IDF and Python’s Scikit-Learn)

    Back in 2006, when I had to use TF-IDF for keyword extraction in Java, I ended up writing all of the code from scratch. Neither Data Science nor GitHub were a thing back then and libraries were just limited.

    早在2006年,当我不得不在Java中使用TF-IDF进行关键字提取时,我最终从头开始编写了所有代码。 那时,无论是Data Science还是GitHub都没有,而且图书馆也很有限。

    The world is much different today. You have several libraries and open-source code repositories on Github that provide a decent implementation of TF-IDF. If you don’t need a lot of control over how the TF-IDF math is computed, I highly recommend re-using libraries from known packages such as Spark’s MLLib or Python’s scikit-learn.

    今天的世界大不相同。 您在Github上有几个开放源代码存储库,它们提供了TF-IDF的良好实现。 如果您不需要太多控制TF-IDF数学的计算方式,我强烈建议您重用Spark的MLLibPython的scikit-learn等已知软件包中的库。

    The one problem that I noticed with these libraries is that they are meant as a pre-step for other tasks like clustering, topic modeling, and text classification. TF-IDF can actually be used to extract important keywords from a document to get a sense of what characterizes a document. For example, if you are dealing with Wikipedia articles, you can use tf-idf to extract words that are unique to a given article. These keywords can be used as a very simple summary of a document, and for text-analytics when we look at these keywords in aggregate.

    我注意到这些库的一个问题是,它们是作为诸如群集,主题建模和文本分类之类的其他任务的第一步。 TF-IDF实际上可以用于从文档中提取重要的关键字,以了解文档的特征。 例如,如果要处理Wikipedia文章,则可以使用tf-idf提取给定文章所独有的单词。 这些关键字可以用作文档的非常简单的摘要,并且当我们汇总查看这些关键字时,可以用作文本分析。

    In this article, I will show you how you can use scikit-learn to extract keywords from documents using TF-IDF. We will specifically do this on a stack overflow dataset. If you want access to the full Jupyter Notebook, please head over to my repo.

    在本文中 ,我将向您展示如何使用scikit-learn使用TF-IDF从文档中提取关键字。 我们将特别在堆栈溢出数据集上执行此操作。 如果要访问完整的Jupyter Notebook ,请转到我的存储库

    Important note: I’m assuming that folks following this tutorial are already familiar with the concept of TF-IDF. If you are not, please familiarize yourself with the concept before reading on. There are a couple of videos online that give an intuitive explanation of what it is. For a more academic explanation I would recommend my Ph.D advisor’s explanation.

    重要说明:我假设遵循本教程的人们已经熟悉TF-IDF的概念。 如果不是,请在继续阅读之前熟悉一下该概念。 在线上有一些视频 ,直观地解释了它的含义。 有关学术上的更多解释,我将推荐我的博士导师的解释

    数据集 (Dataset)

    In this example, we will be using a Stack Overflow dataset which is a bit noisy and simulates what you could be dealing with in real life. You can find this dataset in my tutorial repo.

    在此示例中,我们将使用一个有点嘈杂的Stack Overflow数据集,并模拟您在现实生活中可能要处理的内容。 您可以在我的教程库中找到此数据集。

    Notice that there are two files. The larger file, stackoverflow-data-idf.json with 20,000 posts, is used to compute the Inverse Document Frequency (IDF). The smaller file, stackoverflow-test.json with 500 posts, would be used as a test set for us to extract keywords from. This dataset is based on the publicly available Stack Overflow dump from Google’s Big Query.

    注意,有两个文件 。 较大的文件stackoverflow-data-idf.json具有20,000个帖子,用于计算反文档频率(IDF)。 较小的文件stackoverflow-test.json具有500个帖子,将用作我们从中提取关键字的测试集。 该数据集基于Google的Big Query公开可用的Stack Overflow转储

    Let’s take a peek at our dataset. The code below reads a one per line json string from data/stackoverflow-data-idf.json into a pandas data frame and prints out its schema and total number of posts.

    让我们来看看我们的数据集。 下面的代码从data/stackoverflow-data-idf.json每行一个json字符串读取到pandas数据框中,并打印出其架构和帖子总数。

    Here, lines=True simply means we are treating each line in the text file as a separate json string.

    在这里, lines=True仅仅意味着我们将文本文件中的每一行视为一个单独的json字符串。

    Notice that this Stack Overflow dataset contains 19 fields including post title, body, tags, dates, and other metadata which we don’t need for this tutorial. For this tutorial, we are mostly interested in the body and title. These will become our source of text for keyword extraction.

    请注意,此Stack Overflow数据集包含19个字段,包括帖子标题,正文,标签,日期和我们在本教程中不需要的其他元数据。 对于本教程,我们主要对正文和标题感兴趣。 这些将成为我们提取关键字的文字来源。

    We will now create a field that combines both body and title so we have the two in one field. We will also print the second text entry in our new field just to see what the text looks like.

    现在,我们将创建一个结合了bodytitle的字段,因此我们将两者body在一个字段中。 我们还将在新字段中打印第二个文本条目,以查看文本的外观。

    Uh oh, this doesn’t look very readable! Well, that’s because of all the cleaning that went on in pre_process(..). You can do a lot more stuff in pre_process(..), such as eliminate all code sections, and normalize the words to its root. For simplicity, we will perform only some mild pre-processing.

    嗯,这看起来不太可读! 好吧,这是因为在pre_process(..)进行了所有清理工作。 您可以在pre_process(..)做更多的事情,例如消除所有代码节,并将单词归一化。 为简单起见,我们将仅执行一些温和的预处理。

    为IDF创建词汇和字数统计 (Creating vocabulary and word counts for the IDF)

    We now need to create the vocabulary and start the counting process. We can use the CountVectorizer to create a vocabulary from all the text in our df_idf['text'] , followed by the counts of words in the vocabulary:

    现在,我们需要创建词汇表并开始计数过程。 我们可以使用CountVectorizerdf_idf['text']所有文本创建词汇表,然后是词汇表中的单词计数:

    The result of the last two lines from the code above is a sparse matrix representation of the counts. Each column represents a word in the vocabulary. Each row represents the document in our dataset, where the values are the word counts.

    上面代码的最后两行的结果是计数的稀疏矩阵表示。 每列代表词汇表中的一个单词。 每行代表我们数据集中的文档,其中值是字数。

    Note that, with this representation, counts of some words could be 0 if the word did not appear in the corresponding document.

    请注意 ,使用此表示形式,如果某个单词未出现在相应的文档中,则某些单词的计数可能为0。

    Here we are passing two parameters to CountVectorizer, max_df and stop_words. The first is just to ignore all words that have appeared in 85% of the documents, since those may be unimportant. The later is a custom stop words list. You can also use stop words that are native to sklearn by setting stop_words='english'. The stop word list used for this tutorial can be found here.

    在这里,我们将两个参数传递给CountVectorizer: max_dfstop_words 。 第一个只是忽略文档中85%出现的所有单词,因为这些单词可能不重要。 后面是自定义停用词列表。 您还可以通过设置stop_words='english'来使用sklearn固有的停用词。 可在此处找到本教程使用的停用词列表。

    The resulting shape of word_count_vector is (20000,124901) since we have 20,000 documents in our dataset (the rows) and the vocabulary size is 124,901.

    由于我们的数据集中有20,000个文档(行),词汇量为124,901,因此word_count_vector的最终形状为(20000,124901)。

    In some text mining applications, such as clustering and text classification, we typically limit the size of the vocabulary. It’s really easy to do this by setting max_features=vocab_size when instantiating CountVectorizer. For this tutorial let’s limit our vocabulary size to 10,000:

    在某些文本挖掘应用程序中,例如聚类和文本分类,我们通常会限制词汇表的大小。 在实例化CountVectorizer时通过设置max_features=vocab_size确实很容易做到这一点。 对于本教程,我们将词汇量限制为10,000:

    Now, let’s look at 10 words from our vocabulary:

    现在,让我们来看一下词汇表中的10个单词:

    ['serializing', 'private', 'struct', 'public', 'class', 'contains', 'properties', 'string', 'serialize', 'attempt']

    Sweet, these are mostly programming-related.

    不错,这些大多与编程有关。

    TfidfTransformer计算IDF (TfidfTransformer to compute the IDF)

    It’s now time to compute the IDF values.

    现在是时候计算IDF值了。

    In the code below, we are essentially taking the sparse matrix from CountVectorizer (word_count_vector) to generate the IDF when you invoke fit(...) :

    在下面的代码中,当调用fit(...)时,我们实际上是从CountVectorizer( word_count_vector )中获取稀疏矩阵来生成IDF:

    Extremely important point: the IDF should always be based on a large corpora, and should be representative of texts you would be using to extract keywords. I’ve seen several articles on the Web that compute the IDF using a handful of documents. You will defeat the whole purpose of IDF weighting if its not based on a large corpora as:

    极其重要的一点 :IDF应该始终基于大型语料库,并且应该代表将用于提取关键字的文本。 我在网络上看到过几篇文章,这些文章使用少量文档来计算IDF。 如果IDF加权不是基于大型语料库的,那么您将无法实现IDF加权的全部目的 ,例如:

    1. your vocabulary becomes too small, and

      您的词汇量太少,并且
    2. you have limited ability to observe the behavior of words that you do know about.

      您观察自己所知道的单词的行为的能力有限。

    计算TF-IDF并提取关键字 (Computing TF-IDF and extracting keywords)

    Once we have our IDF computed, we are ready to compute TF-IDF and then extract top keywords from the TF-IDF vectors.

    一旦计算出IDF,就可以计算TF-IDF,然后从TF-IDF向量中提取顶级关键字。

    In this example, we will extract the top keywords for the questions in data/stackoverflow-test.json. This data file has 500 questions with fields identical to that of data/stackoverflow-data-idf.json as we saw above. We will start by reading our test file, extracting the necessary fields — title and body — and getting the texts into a list.

    在此示例中,我们将在data/stackoverflow-test.json提取问题的顶部关键字。 该数据文件包含500个问题,其字段与我们在上面看到的data/stackoverflow-data-idf.json字段相同。 我们将从读取测试文件开始,提取必要的字段(标题和正文)并将文本放入列表中。

    The next step is to compute the tf-idf value for a given document in our test set by invoking tfidf_transformer.transform(...). This generates a vector of tf-idf scores.

    下一步是通过调用tfidf_transformer.transform(...)计算测试集中给定文档的tf-idf值。 这将生成tf-idf分数的向量。

    Next, we sort the words in the vector in descending order of tf-idf values and then iterate over to extract the top-n keywords. In the example below, we are extracting keywords for the first document in our test set.

    接下来,我们以tf-idf值的降序对向量中的单词进行排序,然后进行迭代以提取top-n关键字。 在下面的示例中,我们为测试集中的第一个文档提取关键字。

    The sort_coo(...) method essentially sorts the values in the vector while preserving the column index. Once you have the column index then it’s really easy to look-up the corresponding word value as you would see in extract_topn_from_vector(...) where we do feature_vals.append(feature_names[idx]).

    sort_coo(...)方法实质上是在保留列索引的同时对向量中的值进行排序。 一旦有了列索引,就可以很容易地找到相应的单词值,就像在extract_topn_from_vector(...)中看到的那样,我们在其中执行feature_vals.append(feature_names[idx])

    一些结果! (Some results!)

    In this section, you will see the stack overflow question followed by the corresponding extracted keywords.

    在本节中,您将看到堆栈溢出问题以及相应的提取关键字。

    关于Eclipse插件集成的问题 (Question about Eclipse Plugin integration)

    From the keywords above, the top keywords actually make sense, it talks about eclipse, maven, integrate, war, and tomcat, which are all unique to this specific question.

    从上面看,上面居然关键词有意义的关键字,它谈论eclipsemavenintegratewartomcat ,这些都是独一无二的这一具体问题。

    There are a couple of keywords that could have been eliminated such as possibility and perhaps even project. You can do this by adding more common words to your stop list. You can even create your own set of stop list, very specific to your domain.

    有几个关键字可能已经被消除,例如possibility甚至project 。 您可以通过在停止列表中添加更多常用词来做到这一点。 您甚至可以创建自己的停止列表集, 非常适合您的域

    Now let’s look at another example.

    现在让我们来看另一个例子。

    有关SQL导入的问题 (Question about SQL import)

    Even with all the html tags, because of the pre-processing, we are able to extract some pretty nice keywords here. The last word appropriately would qualify as a stop word. You can keep running different examples to get ideas of how to fine-tune the results.

    即使使用了所有html标签,由于进行了预处理,我们仍然可以在此处提取一些非常不错的关键字。 最后一个词appropriately将被视为停用词。 您可以继续运行不同的示例,以获取有关如何微调结果的想法。

    Voilà! Now you can extract important keywords from any type of text!

    瞧! 现在,您可以从任何类型的文本中提取重要的关键字!

    翻译自: https://www.freecodecamp.org/news/how-to-extract-keywords-from-text-with-tf-idf-and-pythons-scikit-learn-b2a0f3d7e667/

    展开全文
  • 一个玩具包,用于从纯文本文档中提取关键字。 预处理是使用spaCy进行的(标记化,停用词的去除和去词性化),并且通过使用scikit-learn中的实现通过对句子应用tf-idf来选择关键字。 用法 诗歌用于包装和依赖性管理...
  • 文本关键字提取

    2017-01-12 19:31:31
    tf-idf可以 text rank算法也可以

    tf-idf可以

    text rank算法也可以,text rank是建立图的,在图的基础上确定关键词。这时候形成的关键词就考虑词语之间的关联性了。




    展开全文
  • 找到该文本中的某些特定的关键字,并将这些关键字使用自己窗体中各个textBox中用户输入的数据替换。编程实现文本的解析,并进行相应的替换处理。感觉这是一个好大的工程啊。请大侠们给提供一个大致思路也可以。!...
  • 这篇文章主要介绍了PHP函数实现从一个文本字符串中提取关键字的方法,涉及php针对字符串的遍历与查找等操作技巧,需要的朋友可以参考下本文实例讲述了PHP函数实现从一个文本字符串中提取关键字的方法。分享给大家供...

    这篇文章主要介绍了PHP函数实现从一个文本字符串中提取关键字的方法,涉及php针对字符串的遍历与查找等操作技巧,需要的朋友可以参考下

    本文实例讲述了PHP函数实现从一个文本字符串中提取关键字的方法。分享给大家供大家参考。具体分析如下:

    这是一个函数定位接收一个字符串作为参数(连同其他配置可选参数),并且定位该字符串中的所有关键字(出现最多的词),,返回一个数组或一个字符串由逗号分隔的关键字。功能正常工作,但我正在改进,因此,感兴趣的朋友可以提出改进意见。

    /**

    * Finds all of the keywords (words that appear most) on param $str

    * and return them in order of most occurrences to less occurrences.

    * @param string $str The string to search for the keywords.

    * @param int $minWordLen[optional] The minimun length (number of chars) of a word to be considered a keyword.

    * @param int $minWordOccurrences[optional] The minimun number of times a word has to appear

    * on param $str to be considered a keyword.

    * @param boolean $asArray[optional] Specifies if the function returns a string with the

    * keywords separated by a comma ($asArray = false) or a keywords array ($asArray = true).

    * @return mixed A string with keywords separated with commas if param $asArray is true,

    * an array with the keywords otherwise.

    */

    function extract_keywords($str, $minWordLen = 3, $minWordOccurrences = 2, $asArray = false)

    {

    function keyword_count_sort($first, $sec)

    {

    return $sec[1] - $first[1];

    }

    $str = preg_replace('/[^\\w0-9 ]/', ' ', $str);

    $str = trim(preg_replace('/\s+/', ' ', $str));

    $words = explode(' ', $str);

    $keywords = array();

    while(($c_word = array_shift($words)) !== null)

    {

    if(strlen($c_word) <= $minWordLen) continue;

    $c_word = strtolower($c_word);

    if(array_key_exists($c_word, $keywords)) $keywords[$c_word][1]++;

    else $keywords[$c_word] = array($c_word, 1);

    }

    usort($keywords, 'keyword_count_sort');

    $final_keywords = array();

    foreach($keywords as $keyword_det)

    {

    if($keyword_det[1] < $minWordOccurrences) break;

    array_push($final_keywords, $keyword_det[0]);

    }

    return $asArray ? $final_keywords : implode(', ', $final_keywords);

    }

    //How to use

    //Basic lorem ipsum text to extract the keywords

    $text = "

    Lorem ipsum dolor sit amet, consectetur adipiscing elit.

    Curabitur eget ipsum ut lorem laoreet porta a non libero.

    Vivamus in tortor metus. Suspendisse potenti. Curabitur

    metus nisi, adipiscing eget placerat suscipit, suscipit

    vitae felis. Integer eu odio enim, sed dignissim lorem.

    In fringilla molestie justo, vitae varius risus lacinia ac.

    Nulla porttitor justo a lectus iaculis ut vestibulum magna

    egestas. Ut sed purus et nibh cursus fringilla at id purus.

    ";

    //Echoes: lorem, suscipit, metus, fringilla, purus, justo, eget, vitae, ipsum, curabitur, adipiscing

    echo extract_keywords($text);

    希望本文所述对大家的php程序设计有所帮助。

    本文原创发布php中文网,转载请注明出处,感谢您的尊重!

    展开全文
  • 中文文本关键字提取

    千次阅读 2018-10-23 11:19:04
    # sentence:待提取文本语料; # topK:返回 TF/IDF 权重最大的关键词个数,默认值为 20; # withWeight:是否需要返回关键词权重值,默认值为 False; # allowPOS:仅包括指定词性的词,默认值为空,即不筛选。 ...

    基于 TF-IDF 算法的关键词抽取

    import jieba.analyse
    sentence  = "人工智能(Artificial Intelligence),英文缩写为AI。它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。人工智能从诞生以来,理论和技术日益成熟,应用领域也不断扩大,可以设想,未来人工智能带来的科技产品,将会是人类智慧的“容器”。人工智能可以对人的意识、思维的信息过程的模拟。人工智能不是人的智能,但能像人那样思考、也可能超过人的智能。人工智能是一门极富挑战性的科学,从事这项工作的人必须懂得计算机知识,心理学和哲学。人工智能是包括十分广泛的科学,它由不同的领域组成,如机器学习,计算机视觉等等,总的说来,人工智能研究的一个主要目标是使机器能够胜任一些通常需要人类智能才能完成的复杂工作。但不同的时代、不同的人对这种“复杂工作”的理解是不同的。2017年12月,人工智能入选“2017年度中国媒体十大流行语”。"
    # sentence:待提取的文本语料;
    # topK:返回 TF/IDF 权重最大的关键词个数,默认值为 20;
    # withWeight:是否需要返回关键词权重值,默认值为 False;
    # allowPOS:仅包括指定词性的词,默认值为空,即不筛选。
    keywords = "  ".join(jieba.analyse.extract_tags(sentence , topK=20, withWeight=False, allowPOS=()))
    print(keywords)
    keywords =(jieba.analyse.extract_tags(sentence , topK=10, withWeight=True, allowPOS=(['n','v'])))
    print(keywords)
    

    基于 TextRank 算法进行关键词提取

    import jieba.analyse
    sentence  = "人工智能(Artificial Intelligence),英文缩写为AI。它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。人工智能从诞生以来,理论和技术日益成熟,应用领域也不断扩大,可以设想,未来人工智能带来的科技产品,将会是人类智慧的“容器”。人工智能可以对人的意识、思维的信息过程的模拟。人工智能不是人的智能,但能像人那样思考、也可能超过人的智能。人工智能是一门极富挑战性的科学,从事这项工作的人必须懂得计算机知识,心理学和哲学。人工智能是包括十分广泛的科学,它由不同的领域组成,如机器学习,计算机视觉等等,总的说来,人工智能研究的一个主要目标是使机器能够胜任一些通常需要人类智能才能完成的复杂工作。但不同的时代、不同的人对这种“复杂工作”的理解是不同的。2017年12月,人工智能入选“2017年度中国媒体十大流行语”。"
    result = "  ".join(jieba.analyse.textrank(sentence, topK=20, withWeight=False, allowPOS=('ns', 'n', 'vn', 'v')))
    print(result)
    # 只需要名词和动词
    result = "  ".join(jieba.analyse.textrank(sentence, topK=20, withWeight=False, allowPOS=('n','v')))
    print(result)
    

    结果:
    智能 人工智能 机器 人类 研究 技术 模拟 包括 科学 工作 领域 理论 计算机 年度 需要 语言 相似 方式 做出 心理学
    智能 人工智能 机器 人类 技术 模拟 包括 科学 理论 计算机 领域 年度 需要 心理学 信息 语言 识别 带来 过程 延伸

    基于 LDA 主题模型进行关键词提取

    # 引入库文件
    import jieba.analyse as analyse
    import jieba
    import pandas as pd
    from gensim import corpora, models, similarities
    import gensim
    import numpy as np
    import matplotlib.pyplot as plt
    # % matplotlib inline
    # 设置文件路径
    file_desc = "".join(["D://input_py//day03//",'car.csv'])
    stop_words = "".join(["D://input_py//day03//",'stopwords.txt'])
    # 定义停用词
    stopwords=pd.read_csv(stop_words,index_col=False,quoting=3,sep="\t",names=['stopword'], encoding='utf-8')
    stopwords=stopwords['stopword'].values
    # 加载语料
    df = pd.read_csv(file_desc, encoding='utf-8')
    # 删除nan行
    df.dropna(inplace=True)
    lines=df.content.values.tolist()
    # 开始分词
    sentences=[]
    for line in lines:
        try:
            segs=jieba.lcut(line)
            segs = [v for v in segs if not str(v).isdigit()]#去数字
            segs = list(filter(lambda x:x.strip(), segs))   #去左右空格
            segs = list(filter(lambda x:x not in stopwords, segs)) #去掉停用词
            sentences.append(segs)
        except Exception:
            print(line)
            continue
    # 构建词袋模型
    dictionary = corpora.Dictionary(sentences)
    corpus = [dictionary.doc2bow(sentence) for sentence in sentences]
    # lda模型,num_topics是主题的个数,这里定义了5个
    lda = gensim.models.ldamodel.LdaModel(corpus=corpus, id2word=dictionary, num_topics=10)
    # 我们查一下第1号分类,其中最常出现的5个词是:
    print(lda.print_topic(1, topn=5))
    # 我们打印所有5个主题,每个主题显示8个词
    for topic in lda.print_topics(num_topics=10, num_words=8):
        print(topic[1])
    
    #显示中文matplotlib
    plt.rcParams['font.sans-serif'] = [u'SimHei']
    plt.rcParams['axes.unicode_minus'] = False
    # 在可视化部分,我们首先画出了九个主题的7个词的概率分布图
    num_show_term = 8 # 每个主题下显示几个词
    num_topics  = 10
    for i, k in enumerate(range(num_topics)):
        ax = plt.subplot(2, 5, i+1)
        item_dis_all = lda.get_topic_terms(topicid=k)
        item_dis = np.array(item_dis_all[:num_show_term])
        ax.plot(range(num_show_term), item_dis[:, 1], 'b*')
        item_word_id = item_dis[:, 0].astype(np.int)
        word = [dictionary.id2token[i] for i in item_word_id]
        ax.set_ylabel(u"概率")
        for j in range(num_show_term):
            ax.text(j, item_dis[j, 1], word[j], bbox=dict(facecolor='green',alpha=0.1))
    plt.suptitle(u'9个主题及其7个主要词的概率', fontsize=18)
    plt.show()
    

    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • java tf-idf提取关键字

    千次阅读 2017-12-07 23:04:11
    最近在研究nlp,nlp第一步就是分词,目前开源的工具中,java的有中科院的分词工具nlpir、还有word分词器,ansj_seg等,python的比较火的jieba,ansj_seg5.x版本之后提供了提取关键字的方法,jieba也提供了提取关键字...
  • 自动化提取关键字

    千次阅读 2017-09-22 18:46:11
    http://blog.csdn.net/wy_0928/article/details/73799825 提取关键字
  • 参考 官网文档 1、build.gradle //hanLP 分词 关键字提取 compile 'com.hankcs:hanlp:portable-1.7.8' 2、使用 HanLP.segment(content) 3、效果
  • flashtext:从句子中提取关键字或替换句子中的关键字
  • python提取文本关键字

    千次阅读 2018-02-27 16:38:47
    import jieba.analyse kwords = jieba.analyse.extract_tags(text, 200)
  • 语义分析提取关键字This post is a small abstract of full-scaled research focused on keyword recognition. Technique of semantics extraction was initially applied in field of social media research of ...
  • 文本排名 使用 textrank 算法提取关键字
  • 3.关键字提取: HanLP.extractKeyword(String,index),前一个参数为字符串,后一个参数为关键字的个数。 4.字体的转换: HanLP.convertToTraditionalChinese()//简体转换为繁体 HanLP....
  • 文本摘要(文本关键字提取):https://github.com/AimeeLee77/keyword_extraction TF-IDF、 TextRank、 Word2Vec词聚类 词性标注 情感分析 文本分类(Text Categorization)是指计算机将一篇文章归于预先给定的某一...
  • FlashText 该模块可用于替换句子中的关键字或从句子中提取关键字
  • 使用TextRank提取关键字   将原文本拆分为句子,在每个句子中过滤掉停用词(可选),并只保留指定词性的单词(可选)。由此可以得到句子的集合和单词的集合。 每个单词作为pagerank中的一个节点。设定窗口大小为...
  • 中文分词+自动提取关键字

    热门讨论 2010-04-13 10:51:26
    1:中文分词 2:词频统计 3:罗列出要自动提取关键字 ---------------------------------------- 具有60 万字/秒的高速处理能力。
  • 想请教一下,有一个包含关键字的列表[苹果,梨子,西瓜,葡萄.......],文本类似:苹果...如何只提取关键字对应的价格,得到结果:苹果 5 梨子 3。关键字很多所以pattern只能写list[0]这种类型,不能直接用苹果/梨子...
  • 文本关键字提取算法归纳

    千次阅读 2018-12-21 17:46:52
    关键字提取算法1、基于统计特征的关键词提取算法TF-IDF2、基于词图模型的关键词抽取算法PageRankTextRank算法 1、基于统计特征的关键词提取算法 基于于统计特征的关键词抽取算法的思想是利用文档中词语的统计信息...
  • 通过tfidf 求文本的呃关键字
  • 提取关键字的常规方法包括根据文章内容和作者的判断手动分配关键字,但是这需要花费大量的时间和精力,并且在选择适当的关键字方面也可能不准确。随着NLP的发展,关键字提取也变得更加高效、准确。 在下面的文章中,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 49,996
精华内容 19,998
关键字:

文本提取关键字