java - 使用神经网络进行文本分类

标签 java text machine-learning neural-network feature-selection

<分区>

有人能告诉我如何使用神经网络对一些短信进行分类吗? 有没有例子?如何预处理文本消息以训练神经网络?

谢谢

最佳答案

虽然你的问题很模糊,但我会试一试,但这实际上取决于你想做什么。如果您只是想提取特征并确定是否:

  • 你的特征选择很好
  • 使用什么机器学习算法/结构

那么,Weka 是一个很棒的选择。这是一组教程的链接:https://www.youtube.com/watch?v=gd5HwYYOz2U

基本上,您需要编写一个程序来提取您认为相关的特征以及数据的可能“类”是什么,然后输出一个 .arff 文件。就类别而言,我的意思是,如果您要确定一个句子是关于水果还是蔬菜,那么您的两个类别将是水果和蔬菜。一开始可能看起来很复杂,但实际上并不太难。生成 .arff 文件后,您可以将其提供给 Weka 并在其上运行无数不同的分类器以确定最适合您的数据的模型。如有必要,您可以对该模型进行编程以对您的数据进行操作。

Weka 还包括交叉验证,这将实质上确保您的结果质量将超出您提供给程序的测试数据。如果您不熟悉这个概念,很容易过度训练您的模型并使用一组特定的训练数据获得良好的结果,但是当对其他数据进行测试时会得到更糟糕的结果。

Weka .arff 文件(供引用:加拿大工业劳资谈判的最终解决):

@relation 'labor-neg-data'
@attribute 'duration' real
@attribute 'wage-increase-first-year' real
@attribute 'wage-increase-second-year' real
@attribute 'wage-increase-third-year' real
@attribute 'cost-of-living-adjustment' {'none','tcf','tc'}
@attribute 'working-hours' real
@attribute 'pension' {'none','ret_allw','empl_contr'}
@attribute 'standby-pay' real
@attribute 'shift-differential' real
@attribute 'education-allowance' {'yes','no'}
@attribute 'statutory-holidays' real
@attribute 'vacation' {'below_average','average','generous'}
@attribute 'longterm-disability-assistance' {'yes','no'}
@attribute 'contribution-to-dental-plan' {'none','half','full'}
@attribute 'bereavement-assistance' {'yes','no'}
@attribute 'contribution-to-health-plan' {'none','half','full'}
@attribute 'class' {'bad','good'}
@data
1,5,?,?,?,40,?,?,2,?,11,'average',?,?,'yes',?,'good'
2,4.5,5.8,?,?,35,'ret_allw',?,?,'yes',11,'below_average',?,'full',?,'full','good'
?,?,?,?,?,38,'empl_contr',?,5,?,11,'generous','yes','half','yes','half','good'
2,2,2,?,'none',40,'none',?,?,'no',11,'average','yes','none','yes','full','bad'
1,2,?,?,'tc',40,'ret_allw',4,0,'no',11,'generous','no','none','no','none','bad'
1,2.8,?,?,'none',38,'empl_contr',2,3,'no',9,'below_average','yes','half',?,'none','bad'

在哪里?识别丢失/未知的数据点。

关于java - 使用神经网络进行文本分类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16454726/

相关文章:

java - Appengine 自定义身份验证

python - 如何旋转 vtkVectorText 使其面向某个方向?

matlab - 读取文本文件并通过 Matlab 绘制它

python - 有没有一种方法可以使用一步预测器模型来预测 future 的多步?

python - 使用 Azure AI 训练自定义语音

java - 好吧,我本来想做一棵圣诞树,但它奏效了,但我想了解我的第二个 for 循环的基础知识

java - 无法将 JOptionPane 设置为不可见然后再次恢复可见

java - Junit Mockito 模拟没有按预期工作

c++ - 如何根据区域设置为文件中的所有单词添加软连字符?

machine-learning - 蛋白质相互作用数据集和MLN脚本解释