• 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 

         

  • 相关阅读:
    C++从零开始(day50)——RBTree模拟实现
    电脑出现“此驱动器存在问题请立即扫描”该怎么办?
    通信世界扫盲基础二(原理部分)
    sklearn.metrics模块重要API总结(待更新)
    【Python】读取文件的名字和文件后缀名
    JAVA计算机毕业设计信管专业毕业生就业管理信息系统Mybatis+源码+数据库+lw文档+系统+调试部署
    【Vue面试题十二】、说说你对双向绑定的理解?
    自定义Mybatis-plus插件(限制最大查询数量)
    Vue3学习(十八) - TreeSelect 树选择
    数据库内核面试中我不会的问题(6)
  • 原文地址:https://blog.csdn.net/weixin_45647721/article/details/126759793