在我开始花费大量时间学习这些概念之前,我想知道NLP和Python的NLTK是否可以通过简单地提供文本并告诉它适用哪些类别来帮助我训练系统.
假设我有大约一百个文本,我想在他们描述的业务中对它们进行分类.有没有办法只是向每个文本系统指示正在描述的业务,然后让该系统从长远来看越来越准确地对新文本进行分类?
解决方法:
你所描述的是一个classification问题.要训练分类模型,您需要使用NLTK自己的NaiveBayesClassifier或scikit-learn中最先进和可定制的模型之一.
Here is the documentation example for NLTK’s NB classifier.
Here is an example for the Multinomial NB classifier from scikit-learn
这两个软件包都可以为您的问NLTK为您提供了所有工具,可以在将文本提供给培训师或将其投入训练模型进行分类之前自行对文本进行正确的标记化和词形化,并为您提供训练算法. Scikit-learn也可以做到这一点,略有不同:如果您需要做的只是令牌化,预处理部分会更加自动化,并且您有更多选项来训练您的模型. See for yourself in this example.
有了这个,你应该有工具来完成工作.但是,如果您是新手,请参考以下提示:
>确保无论您对培训文本进行任何预处理,您都要对之后要分类的文本进行处理.
>考虑获得更大的训练集,因为100篇文章并不完全是“大数据”
>如果您不熟悉pickle模块,请熟悉它,这样可以让您在计算机上保存模型.
>如果您选择使用scikit-learn,请尝试用SVM替换MultinomialNB分类器并比较结果. SVM通常更好.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。