gpt4 book ai didi

python - 在未标记的文本语料库上训练 Spacy 以提取 "important phrases"

转载 作者:行者123 更新时间:2023-12-03 17:09:37 25 4
gpt4 key购买 nike

我正在寻找一种从文本文档中提取“重要短语”的方法。希望使用 Spacy 做到这一点,但有一个警告:我的数据主要包含产品信息,因此重要的短语与自然口语中的短语不同。出于这个原因,我想在我自己的语料库上训练 spacy,但我能找到的唯一信息是 training spacy using labeled data .
有谁知道我想做的事情是否可行?

最佳答案

如果您正在寻找一种根据“重要性”对短语进行加权而没有任何标记数据的方案,您可以尝试使用 TF-IDF .
对于这个答案,我将引用术语 - 这些可以是短语或单词。它只代表一个文本实体。
TF-IDF 简介

  • TF-IDF 代表(词频)x(逆文档频率)。
  • 它衡量一个词在单个文档中出现的频率与该词在整个文档语料库中出现的频率。
  • 它通常用作统计量度,以确定术语在语料库中的重要性。
  • 如需更长但易读的解释,请查看维基:https://en.wikipedia.org/wiki/Tf%E2%80%93idf .

  • 代码实现
  • 查看 Scikit-Learn 的 TfidfVectorizer .
  • 这有一个 fit_transform将原始文本作为输入并输出单词和/或 n-gram 的适当 TF-IDF 权重的函数。
  • 如果您更喜欢使用 spaCy 进行自己的标记化,或者仅包含 doc.noun_chunksdoc.ents满足 len(span) >= 2 (即短语),TfidfVectorizer 有一个小技巧.
  • 要使用您自己的标记化,请执行以下操作:
    dummy = lambda x: x

    vectorizer = TfidfVectorizer(analyzer=dummy)
    tfidf = vectorizer.fit_transform(list_of_tokenized_docs)
    这会覆盖默认标记化并允许您使用自己的标记列表。


  • 从那里您可以找到所有文档中平均 TF-IDF 得分最高的术语,并将它们视为重要的。您可以尝试将它们用作 PhraseMatcher 的输入: https://spacy.io/usage/rule-based-matching#phrasematcher .
    或者您可以找到一些方法来使用这些来自动标记文档。如果在确定它们很重要后可以在文档中找到它们,则可以添加适当的标签并将其用作某些训练管道的训练数据。

    关于python - 在未标记的文本语料库上训练 Spacy 以提取 "important phrases",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66462413/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com