#nlp #text #traits #analysis #gender #age #lexica

bin+lib ragegun

对文本进行基于词汇的分析(即年龄、性别、PERMA、OCEAN人格特质等)

4 个版本

0.2.2 2022年11月26日
0.2.1 2022年11月26日
0.2.0 2022年11月26日
0.1.0 2022年11月25日

#789文本处理

MITLGPL-3.0

56KB
1.5K SLoC

ragegun

基于词汇的文本分析。

由于 crates.io 令人痛苦,此模块将在构建时从 GitHub 下载词汇。

API

年龄(默认功能,age)

mod ragegun;

fn main() {
    let rg = ragegun::RageGun::new("foo");
    
    dbg!(rg.age()); // value like 30.00
}

性别(默认功能,gender)

mod ragegun;

fn main() {
    let rg = ragegun::RageGun::new("foo");
    
    rg.gender() // value like GenderInterpretation::Female
}

压力(默认功能,distress)

mod ragegun;

fn main() {
    let rg = ragegun::RageGun::new("foo");
    
    dbg!(rg.distress()); // value like 1.00
}

PERMA(默认功能,perma)

mod ragegun;

fn main() {
    let rg = ragegun::RageGun::new("foo");
    
    dbg!(rg.perma());
    
    // PERMAAnalysis {
    //  positive_emotion: Negative,
    //  engagement: Negative,
    //  relationships: Postive,
    //  meaning: Negative,
    //  accomplishment: Negative,
    // }
}

EmoLex(emolex_all_languages,20MB+)

mod ragegun;

fn main() {
    let rg = ragegun::RageGun::new("foo");

    dbg!(rg.emolex_all_languages());

    // EmoLexEmotions {
    // anger: Neutral,
    // anticipation: Neutral,
    // disgust: Neutral,
    // fear: Neutral,
    // joy: Neutral,
    // negative: Neutral,
    // positive: Neutral,
    // sadness: Neutral,
    // surprise: Neutral,
    // trust: Neutral,
    // }
}

EmoLex(emolex_english,~2MB)

mod ragegun;

fn main() {
    let rg = ragegun::RageGun::new("foo");

    dbg!(rg.emolex_english());

    // EmoLexEmotions {
    // anger: Neutral,
    // anticipation: Neutral,
    // disgust: Neutral,
    // fear: Neutral,
    // joy: Neutral,
    // negative: Neutral,
    // positive: Neutral,
    // sadness: Neutral,
    // surprise: Neutral,
    // trust: Neutral,
    // }
}

参考文献

年龄 & 性别预测

个人压力预测

展望词汇:时间取向

暗黑三联

同理心关注

EmoLex / NRC 词-情感关联词汇表

影响强度 / NRC 情感强度词汇表

NRC 估值、唤醒、支配词汇表

PERMA(积极情绪、参与度、关系、意义、成就感)

来源

依赖关系

~9–12MB
~185K SLoC