V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
miaoblyat
V2EX  ›  程序员

如何从句子提取关键词

  •  
  •   miaoblyat · 15 天前 via iPhone · 1275 次点击

    需求是从句子中提取指定关键词或者关键词近似的词语;目前用 jieba 提取效果不是很理想.可能我用法不对;有人做过类似的关键词提取吗

    15 条回复    2024-06-05 00:26:10 +08:00
    miaoblyat
        1
    miaoblyat  
    OP
       15 天前
    # 提取句子中的关键词及其近似词
    def extract_keywords_and_similars(sentence, custom_keywords, similarity_threshold=0.5):
    words = jieba.lcut(sentence)
    result = {}

    for keyword in custom_keywords:
    extracted_words = [word for word in words if is_similar(keyword, word, similarity_threshold) or keyword == word]
    if extracted_words:
    result[keyword] = extracted_words

    return result
    MelodYi
        2
    MelodYi  
       15 天前
    先用大模型试试?
    murmur
        3
    murmur  
       15 天前
    少量的句子连人都看不懂怎么提取关键字
    BiChengfei
        4
    BiChengfei  
       15 天前
    前提:你要有一个关键字字典
    指定关键词:使用上面的字典,构建字典树,进行语句提取,或者循环比较
    相似关键字:循环字典,求相似度
    miaoblyat
        5
    miaoblyat  
    OP
       15 天前 via iPhone
    现在用了 Chinese-word- vector 作关键词字典
    miaoblyat
        6
    miaoblyat  
    OP
       15 天前
    @BiChengfei sentence: 这里发生车辆碰撞,有人受伤
    keyword: {'车祸': ['受伤']}--0.5
    sentence: 这里有条狗被撞了,无人受伤
    keyword: {'车祸': ['撞', '受伤']}--0.5
    sentence: 高速上塞车了,不知道什么原因
    keyword: {}--0.5
    miaoblyat
        7
    miaoblyat  
    OP
       15 天前
    @miaoblyat 感觉近似词不是很准,就想着怎么能更精准
    BiChengfei
        8
    BiChengfei  
       15 天前
    {'车祸': ['受伤']}--0.5
    {'车祸': ['撞', '受伤']}--0.5
    你这不能使用相似度算法了,需要根据语义,进行文本分类吧(这个我不懂,等有缘人解惑吧)
    BiChengfei
        9
    BiChengfei  
       15 天前
    miaoblyat
        10
    miaoblyat  
    OP
       15 天前 via iPhone
    好的感谢🙏
    meshell
        11
    meshell  
       15 天前
    czfy
        12
    czfy  
       15 天前   ❤️ 1
    你应该把最原始的需求/最终的目的说出来,而不是这个经过解读后的需求

    中文 NLP 过去绝大部分的做法,在大语言模型出来之后基本上都失去了意义,还用老套路来做只是缘木求鱼
    rabbbit
        13
    rabbbit  
       14 天前
    同有这个需求,也许可以解决模型知识库命中率低的问题。
    macaodoll
        14
    macaodoll  
       14 天前 via Android
    我们也有文本提取的需求,之前 NLP 错的太多了,这些文本提取类的交给大模型很舒服的
    miaoblyat
        15
    miaoblyat  
    OP
       13 天前 via iPhone
    @macadoll 用了哪个大模型,方便说吗;目前我用了 bert-Chinese 感觉还是差点意思
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2996 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 13:54 · PVG 21:54 · LAX 06:54 · JFK 09:54
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.