Nlp 文档分析和标记

Nlp 文档分析和标记,nlp,tagging,classification,bayesian,Nlp,Tagging,Classification,Bayesian,假设我有一大堆文章(数千篇),我想对它们进行标记、分类等。理想情况下,我想通过手动对几百篇文章进行分类/标记来训练一些东西,然后让它们自由发挥 你会推荐哪些资源(书籍、博客、语言)来完成这项任务?我的一部分人认为,这将是一个很好的适合一个或甚至,但我不是真的很熟悉,除了我从一些发现 这样的问题可以用贝叶斯分类器解决吗?我应该更多地关注语义分析/自然语言处理吗?或者,我应该只是从那里寻找关键字密度和映射吗 任何建议都将不胜感激(如果需要的话,我不介意挑选几本书) 我过去也曾使用一些向量聚类算法做过

假设我有一大堆文章(数千篇),我想对它们进行标记、分类等。理想情况下,我想通过手动对几百篇文章进行分类/标记来训练一些东西,然后让它们自由发挥

你会推荐哪些资源(书籍、博客、语言)来完成这项任务?我的一部分人认为,这将是一个很好的适合一个或甚至,但我不是真的很熟悉,除了我从一些发现

这样的问题可以用贝叶斯分类器解决吗?我应该更多地关注语义分析/自然语言处理吗?或者,我应该只是从那里寻找关键字密度和映射吗


任何建议都将不胜感激(如果需要的话,我不介意挑选几本书)

我过去也曾使用一些向量聚类算法做过类似的事情(尽管是针对短新闻文章)。我现在不记得了,这是谷歌在婴儿期使用的。 使用他们的论文,我能够在一两天内用PHP运行一个原型,然后为了提高速度,我将其移植到Java


哇,这是一个非常大的话题,你正在冒险进入:) 肯定有很多关于它的书和文章你可以读,但我会尽量提供一个简短的介绍。我不是一个大的专家,但我在这方面的一些工作

首先,您需要决定是要将论文分类为预定义的主题/类别(分类问题),还是希望算法自己决定不同的组(聚类问题)。根据您的描述,您似乎对分类感兴趣

现在,在进行分类时,首先需要创建足够的训练数据。你需要有许多文章被分成不同的组。例如5篇物理论文、5篇化学论文、5篇编程论文等等。一般来说,您需要尽可能多的训练数据,但足够多少取决于特定的算法。您还需要验证数据,它基本上与培训数据相似,但完全独立。这些数据将用于判断算法的质量(或数学性能)

最后是算法本身。我熟悉的两种是基于Bayes的和基于TF-IDF的。对于Bayes,我目前正在用ruby为自己开发类似的东西,我已经在我的博客中记录了我的经历。如果你感兴趣,就看这篇文章——如果你有任何后续问题,我会尽力回答

TF-IDF是术语频率-反向文件频率的缩写。基本上,这个想法是让任何给定的文档在训练集中找到一些与它最相似的文档,然后根据这些文档找出它的类别。例如,如果文档D与T1相似,T1是物理,T2是物理,T3是化学,那么您猜D很可能是关于物理和一点化学


这样做的方式是,你把最重要的应用于稀有词,而不是普通词。例如,“原子核”是一个罕见的物理词,但“工作”是一个非常常见的不感兴趣的词。(这就是为什么它被称为逆项频率)。如果您可以使用Java,那么有一个非常好的Lucene库,它提供了大部分现成的内容。寻找“类似文档”的API,并研究它是如何实现的。如果你想在这方面实现自己的

,也可以通过谷歌搜索“TF-IDF”,NLP在“标记化”方面最为有用,即将输入文档切割成单个单词。然而,一个简单的方法(单词是字母,其他的都是空白)通常足以进行分类,所以我不会太在意。关于其他内容,请参见下面的答案:)谢谢您提供的信息!今天我将开始深入探讨其中的一些链接。对于分类(我现在更感兴趣的是分类),基于贝叶斯和基于TF-IDF的算法是否都允许分类为多个类别,或者它们更倾向于识别一个主要类别?谢谢你的帮助!是的,两种方法都允许多个类别。事实上,这两种方法都可以得到一个有序的类别列表,并附上分数。由您选择前n个类别,或高于阈值的类别或任何其他方法