• openXBOW的使用(2)


    1. 示例4:使用词袋在推文(纯文本)中进行情绪分析
      1. 可设置最小词频降低词向量空间,也可设置最大词频来排除常见词
      2. 手动将csv文件切分成训练和测试部分:
        1. def split_csv(train_num):
        2. data=pd.read_csv(r"F:\openXBOW\openXBOW-master\Sentiment Analysis Dataset.csv",error_bad_lines=False) # error_bad_lines忽略报错行 ,delimiter="\t"
        3. train_data=data.iloc[0:train_num] # iloc:索引从0开始
        4. train_file_path=r"F:\openXBOW\openXBOW-master\Sentiment analysis Dataset - train.csv"
        5. train_data.to_csv(train_file_path,index=False) # index 设置为false表示不写行序号
        6. test_data=data.iloc[train_num+1:]
        7. test_file_path=r"F:\openXBOW\openXBOW-master\Sentiment Analysis Dataset - test.csv"
        8. test_data.to_csv(test_file_path,index=False)
      3. 将切分出来的训练集生成codebook,然后用于分析测试集 :

        1. java -Xmx12000m -jar openXBOW.jar -i "Sentiment Analysis Dataset - train.csv" -attributes ncr0 -o bowTwitter-train.arff -minTermFreq 2000 -B dictionaryTwitter
        2. java -Xmx12000m -jar openXBOW.jar -i "Sentiment Analysis Dataset - test.csv" -attributes ncr0 -o bowTwitter-test.arff -b dictionaryTwitter
        3.     
        4. 解析:“-Xmx12000m”增加堆空间。-minTermFreq 设置最小词频
      4. 使用2-gram:

        1. java -Xmx12000m -jar openXBOW.jar -i "Sentiment Analysis Dataset - train.csv" -attributes ncr0 -o bowTwitter-train.arff -nGram 2 -minTermFreq 2000 -B dictionaryTwitter
        2. 解析:-nGrams 指定n grams
        3. java -Xmx12000m -jar openXBOW.jar -i "Sentiment Analysis Dataset - test.csv" -attributes ncr0 -o bowTwitter-test.arff -nGram 2 -b dictionaryTwitter
    2. 示例5:在音频分类任务中应用openXBOW
      1. 预处理:
        1. 使用opensmilec抽取LLDs(ComParE),opensmile不支持EmoDB中的32位 wav文件,需要使用sox将文件转为16位的
        2. 要求说话人独立的训练和测试,为实现可信的对未知说话人的估计:使用id为03,08,09,10作为测试集剩余的6个说话人作为训练集。需要一个每个示例都带有标签的测试文件。
        3. 情感缩写对应:A=fear,E=disgust,F=happiness,L=boredom,N=neutral,T=sadness,W=anger
      2. 实践:(具体路径根据实际修改)
        1. IOTRAIN="-i examples/example5/audio_llds_train.csv -o examples/example5/xbow_train.arff -l examples/example5/labels_train.csv -B examples/example5/codebook"
        2. IOTEST="-i examples/example5/audio_llds_test.csv -o examples/example5/xbow_test.arff -l examples/example5/labels_test.csv -b examples/example5/codebook"
        3. # java -jar openXBOW.jar $IOTRAIN
        4. # 优化 :增加参数:-standardizeInput 从34%提升到73%
        5. java -jar openXBOW.jar $IOTRAIN -standardizeInput
        6. # 增加codebook大小:精度:0.792
        7. java -jar openXBOW.jar $IOTRAIN -standardizeInput -log -size 1000
        8. # 精度降低了?变成了0.354
        9. java -jar openXBOW.jar $IOTRAIN -standardizeInput -log -size 1000 -a 5 -attributes nt1[65]2[65]
        10. # 使用 weka判断精度:
        11. java -classpath "E:\Weka-3-8-5\weka.jar" weka.classifiers.functions.SMO -t examples/example5/xbow_train.arff
        12. # 解析:选择分类器SMO并进行10倍交叉验证(CV)进行评估
        13. # 测试集:
        14. java -jar openXBOW.jar $IOTEST
        15. # 计算测试集的精度:0.742
        16. java -classpath "E:\Weka-3-8-5\weka.jar" weka.classifiers.functions.SMO -t examples/example5/xbow_test.arff
        1. 测试时不学习codebook 

         

  • 相关阅读:
    数据结构与算法-Hash算法
    ACM新手入门之杭电150题使用指南及C语言学习推荐
    【Python】深入理解NumPy数组中的一维向量
    在本地与服务器之间拷贝数据
    如何使用webgl(three.js)实现煤矿隧道、井下人员定位、掘进面、纵采面可视化解决方案——第十九课(一)
    Linux中for循环
    爆肝整理 JVM 十大模块知识点总结,不信你还不懂
    大数据必学Java基础(九十二):JDBC初识
    一站式BI解决方案:从数据采集到处理分析,全面满足决策支持需求
    华为OD机试真题- 关联子串-2023年OD统一考试(B卷)
  • 原文地址:https://blog.csdn.net/weixin_45647721/article/details/126759793