gpt4 book ai didi

python - 识别文本中的重要单词和短语

转载 作者:太空狗 更新时间:2023-10-30 00:18:09 26 4
gpt4 key购买 nike

我将文本存储在 python 字符串中。

我想要什么

  1. 识别该文本中的关键词。
  2. 识别该文本中的 N-gram(理想情况下不仅仅是 bi 和 tri gram)。

记住...

  • 文本可能很小(例如推文大小)
  • 文本可能居中(例如新闻文章大小)
  • 文本可能很大(例如书籍或章节大小)

我有什么

我已经在使用 nltk将语料库分解为标记并删除停用词:

    # split across any non-word character
tokenizer = nltk.tokenize.RegexpTokenizer('[^\w\']+', gaps=True)

# tokenize
tokens = tokenizer.tokenize(text)

# remove stopwords
tokens = [w for w in tokens if not w in nltk.corpus.stopwords.words('english')]

我知道 BigramCollocationFinder 和 TrigramCollectionFinder 完全符合我对这两种情况的要求。

问题

我需要有关高阶 n-gram 的建议,改进来自 BCF 和 TCF 的结果类型,以及有关识别最独特的单个关键字的最佳方法的建议。

非常感谢!

最佳答案

至于识别最独特的单个关键词的最佳方法,tfidf 是总度量。因此,您必须以某种方式集成一个搜索引擎(或制作一个简单的自定义倒排索引,该索引是动态的并保存术语频率、文档频率),以便高效且即时地计算 tfidf。

至于您的 N-gram,您为什么不使用“窗口”方法(窗口的长度为 N)创建一个自定义解析器来标识它们中出现频率最高的语法分析器? (只需将每个 N-gram 作为字典中的键,其值可以是频率或分数(基于单个术语的 tfidf))

关于python - 识别文本中的重要单词和短语,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7677201/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com