标签: document-classification

NLTK - 多标记分类

我正在使用NLTK来对文档进行分类 - 每个文档有1个标签,有10种类型的文档.

对于文本提取,我正在清理文本(标点删除,html标记删除,小写),删除nltk.corpus.stopwords,以及我自己的停用词集合.

对于我的文档功能,我查看所有50k文档,并按频率(frequency_words)收集前2k个单词,然后为每个文档识别文档中哪些单词也在全局frequency_words中.

然后我将每个文档作为hashmap传递{word: boolean}到nltk.NaiveBayesClassifier(...)中,我对文档总数的测试训练比率为20:80.

我遇到的问题:

  1. 这是NLTK的分类器,适用于多标记数据吗?- 我所看到的所有例子都更多地是关于2级分类,例如某些事物被宣告为正面还是负面.
  2. 这些文件应该具备一套关键技能 - 不幸的是,我没有这些技能所在的语料库.所以我采取了理解的方法,每个文件的字数不是一个好的文件提取器 - 这是正确的吗?每份文件都是由个人撰写的,因此我需要为文件中的个别变化留出让路.我知道SkLearn MBNaiveBayes处理字数.
  3. 是否有我应该使用的替代库,或者此算法的变体?

谢谢!

python nlp nltk document-classification

7
推荐指数
1
解决办法
1753
查看次数

Python - tf-idf预测新文档的相似性

受到这个答案的启发,我试图在经过训练的训练有素的tf-idf矢量化器和新文档之间找到余弦相似性,并返回类似的文档.

下面的代码找到第一个向量的余弦相似度,而不是新的查询

>>> from sklearn.metrics.pairwise import linear_kernel
>>> cosine_similarities = linear_kernel(tfidf[0:1], tfidf).flatten()
>>> cosine_similarities
array([ 1.        ,  0.04405952,  0.11016969, ...,  0.04433602,
    0.04457106,  0.03293218])
Run Code Online (Sandbox Code Playgroud)

由于我的火车数据很大,循环遍历整个训练过的矢量器听起来像个坏主意.如何推断新文档的向量,并找到相关文档,与下面的代码相同?

>>> related_docs_indices = cosine_similarities.argsort()[:-5:-1]
>>> related_docs_indices
array([    0,   958, 10576,  3277])
>>> cosine_similarities[related_docs_indices]
array([ 1.        ,  0.54967926,  0.32902194,  0.2825788 ])
Run Code Online (Sandbox Code Playgroud)

python machine-learning tf-idf document-classification scikit-learn

7
推荐指数
1
解决办法
1823
查看次数

如何在分类中包含单词作为数字特征

什么是使用单词本身作为任何机器学习算法中的功能的最佳方法?

我必须从特定段落中提取单词相关功能的问题.我应该使用字典中的索引作为数字特征吗?如果是这样,我将如何规范这些?

一般来说,单词本身如何在NLP中用作特征?

nlp classification machine-learning document-classification

6
推荐指数
2
解决办法
2228
查看次数

下载的字典单词

有人可以提供关于在何处查找包含频率信息的字典单词列表的建议吗?

理想情况下,来源将是北美品种的英语单词.

nlp document-classification

6
推荐指数
1
解决办法
6107
查看次数

新闻文章数据集

我正在做一个新闻分类项目.基本上,该系统将基于预定义的主题(例如体育,政治,国际)对新闻文章进行分类.为了构建系统,我需要免费的数据集来训练系统.

到目前为止,经过几个小时的谷歌搜索和链接这里只适合数据集,我能找到的就是这个.虽然这很有希望,但我想我会尝试找到更多.

请注意我想要的数据集:

  1. 包含完整的新闻文章,而不仅仅是标题
  2. 是英文的
  3. 以.txt格式,而不是XML或db

有谁能够帮我?

text project dataset document-classification

6
推荐指数
1
解决办法
3075
查看次数

文本分类分类器

有谁知道好的开源文本分类模型?我知道斯坦福分类器,Weka,Mallet等,但所有这些都需要培训.

我需要将新闻文章分类为体育/政治/健康/游戏/等.那里有训练有素的模特吗?

Alchemy,OpenCalais等不是选项.我需要开源工具(最好是Java).

java classification machine-learning categorization document-classification

6
推荐指数
1
解决办法
4986
查看次数

如何使用csr_matrix初始化gensim语料库变量?

我有X作为csr_matrix,我使用scikit的tfidf矢量化器获得,y是一个数组

我的计划是使用LDA创建功能,但是,我没有找到如何使用X作为csr_matrix初始化gensim的语料库变量.换句话说,我不想下载gensim文档中显示的语料库,也不想将X转换为密集矩阵,因为它会消耗大量内存并且计算机可能会挂起.

简而言之,我的问题如下,

  1. 如果我有一个代表整个语料库的csr_matrix(稀疏),你如何初始化gensim语料库?
  2. 你如何使用LDA提取功能?

python document-classification lda gensim scikit-learn

6
推荐指数
1
解决办法
1450
查看次数

仅当#terms> 3000时,DocumentTermMatrix才会出现奇怪的错误

我的下面的代码工作正常,除非我使用创建一个超过3000个术语的DocumentTermMatrix.这一行:

movie_dict <- findFreqTerms(movie_dtm_train, 8)
movie_dtm_hiFq_train <- DocumentTermMatrix(movie_corpus_train, list(dictionary = movie_dict))
Run Code Online (Sandbox Code Playgroud)

失败:

Error in simple_triplet_matrix(i = i, j = j, v = as.numeric(v), nrow = length(allTerms),  : 
  'i, j, v' different lengths
In addition: Warning messages:
1: In mclapply(unname(content(x)), termFreq, control) :
  all scheduled cores encountered errors in user code
2: In simple_triplet_matrix(i = i, j = j, v = as.numeric(v), nrow = length(allTerms),  :
  NAs introduced by coercion
Run Code Online (Sandbox Code Playgroud)

有什么方法可以解决这个问题吗?对于DocumentTermMatrix,3000*60000矩阵是否太大了?这对于文档分类来说似乎相当小..

完整代码段:

n1 <- 60000
n2 <- 70000
#******* loading the …
Run Code Online (Sandbox Code Playgroud)

r document-classification sentiment-analysis tm

6
推荐指数
0
解决办法
1985
查看次数

如何使用rpart中的所有功能?

我正在使用rpart包进行决策树分类.我有一个包含大约4000个功能(列)的数据框.我想rpart()为我的模型使用所有功能.我怎样才能做到这一点?基本上,rpart()会要求我以这种方式使用该功能:

dt <- rpart(class ~ feature1 + feature2 + ....)
Run Code Online (Sandbox Code Playgroud)

我的功能是文档中的单词,所以我有超过4k的功能.每个功能都由一个单词表示.是否有可能在不编写所有功能的情况下使用它们?

r decision-tree document-classification rpart

6
推荐指数
1
解决办法
882
查看次数

ModuleNotFoundError:没有名为“milvus”的模块

目标:在 AWS SageMaker Jupyter Labs 上运行此自动标签笔记本。

内核尝试过:conda_pytorch_p36, conda_python3, conda_amazonei_mxnet_p27


! pip install farm-haystack -q
# Install the latest master of Haystack
!pip install grpcio-tools==1.34.1 -q
!pip install git+https://github.com/deepset-ai/haystack.git -q
!wget --no-check-certificate https://dl.xpdfreader.com/xpdf-tools-linux-4.03.tar.gz
!tar -xvf xpdf-tools-linux-4.03.tar.gz && sudo cp xpdf-tools-linux-4.03/bin64/pdftotext /usr/local/bin
!pip install git+https://github.com/deepset-ai/haystack.git -q
Run Code Online (Sandbox Code Playgroud)
! pip install farm-haystack -q
# Install the latest master of Haystack
!pip install grpcio-tools==1.34.1 -q
!pip install git+https://github.com/deepset-ai/haystack.git -q
!wget --no-check-certificate https://dl.xpdfreader.com/xpdf-tools-linux-4.03.tar.gz
!tar -xvf xpdf-tools-linux-4.03.tar.gz && sudo cp xpdf-tools-linux-4.03/bin64/pdftotext /usr/local/bin …
Run Code Online (Sandbox Code Playgroud)

nlp document-classification elasticsearch haystack milvus

6
推荐指数
2
解决办法
5915
查看次数