使用机器学习算法进行词分类

     2023-03-12     39

关键词:

【中文标题】使用机器学习算法进行词分类【英文标题】:Word Classification using Machine Learning Algorithm 【发布时间】:2018-03-05 14:49:19 【问题描述】:

我是机器学习的新手。我目前想要的是对某些单词是否属于某个类别进行分类..

让我更具体地说,在输入一些单词时,我需要检查这些单词是否属于称为“马拉雅拉姆语”的语言。

例如:enthayi ninakk sugamanno?

这些是一些用英语表达的马拉雅拉姆语单词。在给出这样的输入时,它需要检查经过训练的数据,如果任何输入词属于“马拉雅拉姆语”类别,那么它需要显示它是马拉雅拉姆语。

我试图做的事情..

我尝试使用 NaiveBayesClassifier 对其进行分类,但它始终显示所有输入数据的积极响应。

train = [
('aliya','Malayalam')]
cl = NaiveBayesClassifier(train)
print cl.classify('enthayi ninakk sugamanno')

但是 print 语句给出的输出是 'Malayam'

【问题讨论】:

【参考方案1】:

您需要正数据和负数据来训练分类器。添加一堆英文文本或您的域中可能存在的任何替代文本并不难。但是您需要阅读 nltk 分类器的实际工作原理,否则您将只能处理您在训练数据中看到的单词:您需要选择并提取分类器将用来执行的“特征”它的工作。

因此(来自 cmets)您希望将单个单词归类为是否为马拉雅拉姆语。如果您的“特征”是完整的单词,那么您就是在用分类器浪费时间;只需制作一个 Python set() 马拉雅拉姆语单词,然后检查您的输入是否在其中。要走分类器路线,您必须弄清楚是什么让单词“看起来”马拉雅拉姆语(词尾?长度?音节结构?)并手动将这些属性转换为特征,以便分类器可以确定它们的重要性。

一种更好的语言检测方法是使用字母三元组:每种语言都有不同的常见和不常见三元组“配置文件”。您可以搜索它,或编写自己的代码。我用“余弦相似度”作为样本文本和参考数据之间距离的度量,得到了很好的结果。在this question 中,您将看到如何计算余弦相似度,但对于 unigram 计数;使用三元组进行语言识别。

trigram 方法的两个好处:你不依赖于熟悉的单词,或者想出聪明的特征,你可以将它应用于比单个单词更长的文本段(即使在过滤掉英语之后),这将给你更可靠的结果。 nltk 的langid 语料库提供了数百种常用语言的三元组计数,但编译您自己的统计数据也很容易。 (另见nltk.util.trigrams()。)

【讨论】:

我只是添加了一些替代方案,但事实仍然是系统显示与马拉雅拉姆语相同的输出,即使输入数据不同。 我建议你阅读文档。您没有正确初始化分类器,我很惊讶它甚至可以运行。您应该只创建它而不使用参数 (cl = NaiveBayesClassifier()),然后使用 cl.train(data) 使用 适当 格式的数据对其进行训练。您在哪里看到您使用的设置? stevenloria.com/… 从这里我得到了语法... 哦,那是textblob 接口!我不知道 textblob 对该输入有什么作用——这就是您将 import 语句从您的问题中的代码中删除的结果。但它对短语进行分类,而不是单词,从那个链接看,它看起来像是在做直接的词袋分类,即字典查找。如果它不适合您,请直接使用nltk 并阅读文档。或者(我的建议)使用字母三元组。 你能用训练和测试数据解释一个朴素贝叶斯算法的简单例子吗..

机器学习实践:基于支持向量机算法对鸢尾花进行分类(代码片段)

摘要:Listitem使用scikit-learn机器学习包的支持向量机算法,使用全部特征对鸢尾花进行分类。本文分享自华为云社区《支持向量机算法之鸢尾花特征分类【机器学习】》,作者:上进小菜猪。一.前言1.1本文原理支... 查看详情

机器学习算法决策树-6prism

目录PRISM决策规则算法如何使用分类树来进行分类预测:分类树与分类规则间的关系PRISM决策规则的产生方式我的主页:晴天qt01的博客_CSDN博客-数据分析师领域博主目前进度:第四部分【机器学习算法】PRISM决策规则... 查看详情

机器学习

...结分类与回归分类和回归是监督式学习;监督式学习是指使用有标签的数据(LabeledPoint)进行训练,得到模型后,使用测试数据预测结果。其中标签数据是指已知结果的特征数据。分类和回归的区别:预测结果的变量类型  分... 查看详情

毕业设计之---新闻分类系统(代码片段)

...毕业设计中比较热门的,本质上是属于自然语言分类,可以使用机器学习算法去处理,也可以使用深度学习算法去处理.基本步骤如下:文本数据采集-->选择训练算法(机器学习/深度学习)-->进行训练-->检效果.本文章博主将介绍:... 查看详情

毕业设计之---新闻分类系统(代码片段)

...毕业设计中比较热门的,本质上是属于自然语言分类,可以使用机器学习算法去处理,也可以使用深度学习算法去处理.基本步骤如下:文本数据采集-->选择训练算法(机器学习/深度学习)-->进行训练-->检效果.本文章博主将介绍:... 查看详情

机器学习------分类

...选择实际可用的算法,要考虑以下两个方面的问题:1、使用机器学习算法的目的,想要算法完成何种任务;2、需要分析和收集的数据是什么;主要了解数据的以下特征:特征值是离散型变量还是连续型变量,特征值是否存在缺... 查看详情

文本分类(机器学习方法)

文本分类实现步骤:定义阶段:定义数据以及分类体系,具体分为哪些类别,需要哪些数据数据预处理:对文档做分词、去停用词等准备工作数据提取特征:对文档矩阵进行降维、提取训练集中最有用的特征模型训练阶段:选择... 查看详情

机器学习:k-近邻分类

...,这也就是K-近邻算法的核心。对于一个待分类的样本,使用K-近邻算法将其 查看详情

关于用啥机器语言算法对用户登录时间进行分类的建议

...述】:我目前正在尝试用C#做一个项目,在该项目中我将使用机器学习来学习和预测用户登录的正确时间。将记录并捕获到数据库中以进行学习 查看详情

人工智能机器学习之用python使用id3算法实例及使用sklearn的决策树算法对葡萄酒数据集进行分类

查看详情

机器学习算法原理与编程实践之朴素贝叶斯分类

在介绍朴素贝叶斯分类之前,首先介绍一下大家都比较了解的贝叶斯定理,即已知某条件概率,如何得到两个时间交换后的概率,也就是在已知P(A|B)的情况下如何求得P(B|A)?可以通过如下公式求得:而朴素贝叶斯分类是一种简单... 查看详情

如何解释机器学习分类算法中的得分概率?

...rithm?【发布时间】:2018-05-0310:23:19【问题描述】:我正在使用两个神经网络进行两类文本分类。我在测试数据上获得了90%的准确率。还使用不同的性能指标,如准确率、召回率、f分数和混淆矩阵,以确保模型按预期执行。在使... 查看详情

机器学习决策树

...进行处理,利用归纳算法生成可读的规则和决策树,然后使用决策对新数据进行分析。本质上决策树是通过一系列规则对数据进行分类的过程。决策树是一种监督学习,因此需要提前给出类别标签和数据集合。决策树的原理:每... 查看详情

机器学习算法--svm实战

1、不平衡数据分类问题对于非平衡级分类超平面,使用不平衡SVC找出最优分类超平面,基本的思想是,我们先找到一个普通的分类超平面,自动进行校正,求出最优的分类超平面测试代码如下:importnumpyasnpimportmatplotlib.pyplotaspltf... 查看详情

使用 createML 创建文本分类器模型时使用啥机器学习算法?

】使用createML创建文本分类器模型时使用啥机器学习算法?【英文标题】:whatmachinelearningalgorithmisusedwhilecreatingatextclassifiermodelusingcreateML?使用createML创建文本分类器模型时使用什么机器学习算法?【发布时间】:2021-06-0310:09:03【... 查看详情

机器学习算法学习---处理分类问题常用算法

k-近邻算法采用测量不同特征值之间的距离方法进行分类。优点:精度高、对异常值不敏感、无数据输入假定。缺点:计算复杂度高、空间复杂度高。适用范围:数值型、标称型。工作原理:存在一个样本数据集合(训练样本集... 查看详情

机器学习11-分类与监督学习,朴素贝叶斯分类算法(代码片段)

1.理解分类与监督学习、聚类与无监督学习。简述分类与聚类的联系与区别。简述什么是监督学习与无监督学习。分类与聚类的区别:是否有已知分类的条件。分类没有,聚类有。监督学习:已知某些类别的情况下,即具有事先... 查看详情

机器学习——11.分类与监督学习,朴素贝叶斯分类算法

1.理解分类与监督学习、聚类与无监督学习。简述分类与聚类的联系与区别。联系:都是对数据进行划分的方法区别:分类就是“贴标签”,在事先已有的类中按这些类的性质来进行划分,要做的就是将每一条记录分别属... 查看详情