我有一段存储在Python字符串中的文本。
我想要:
1. 识别文本中的关键词。 2. 识别文本中的N-gram(最好不仅限于二元组和三元组)。
需要注意的是:
- 文本可能很小(例如推文大小)。 - 文本可能中等大小(例如新闻文章大小)。 - 文本可能很大(例如书籍或章节大小)。
我已经使用nltk将语料库分成标记并删除了停用词。
我知道BigramCollocationFinder和TrigramCollectionFinder可以完美解决这两种情况,但我需要针对更高级别的n-grams提供建议,改进BCF和TCF产生的结果,并提供有关确定最独特的个体关键字的最佳方法的建议。非常感谢!
我想要:
1. 识别文本中的关键词。 2. 识别文本中的N-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-grams提供建议,改进BCF和TCF产生的结果,并提供有关确定最独特的个体关键字的最佳方法的建议。非常感谢!