gpt4 book ai didi

python - Word2vec Gensim 准确度分析

转载 作者:行者123 更新时间:2023-12-03 14:10:33 29 4
gpt4 key购买 nike

我正在开发一个 NLP 应用程序,其中有一个文本文件语料库。我想使用 创建词向量Gensim word2vec 算法 .

我做了 90% 的训练和 10% 的测试拆分。我在适当的集上训练了模型,但我想评估模型在测试集上的准确性。

我在互联网上浏览过任何关于准确性评估的文档,但我找不到任何允许我这样做的方法。有谁知道进行精度分析的函数?

我处理测试数据的方式是从测试文件夹中的文本文件中提取所有句子,并将其变成一个巨大的句子列表。在那之后,我使用了一个我认为是正确的函数(事实证明它不是因为它给了我这个错误: TypeError: 不知道如何处理 uri )。这是我如何去做的:

test_filenames = glob.glob('./testing/*.txt')

print("Found corpus of %s safety/incident reports:" %len(test_filenames))

test_corpus_raw = u""
for text_file in test_filenames:
txt_file = open(text_file, 'r')
test_corpus_raw += unicode(txt_file.readlines())
print("Test Corpus is now {0} characters long".format(len(test_corpus_raw)))

test_raw_sentences = tokenizer.tokenize(test_corpus_raw)

def sentence_to_wordlist(raw):
clean = re.sub("[^a-zA-Z]"," ", raw)
words = clean.split()
return words

test_sentences = []
for raw_sentence in test_raw_sentences:
if len(raw_sentence) > 0:
test_sentences.append(sentence_to_wordlist(raw_sentence))

test_token_count = sum([len(sentence) for sentence in test_sentences])
print("The test corpus contains {0:,} tokens".format(test_token_count))


####### THIS LAST LINE PRODUCES AN ERROR: TypeError: don't know how to handle uri
texts2vec.wv.accuracy(test_sentences, case_insensitive=True)

我不知道如何解决这最后一部分。请帮忙。提前致谢!

最佳答案

accuracy() gensim的方法词向量模型(与 evaluate_word_analogies() 相比现在不受欢迎)不会将您的文本作为输入 - 它需要一个特定格式的词类比挑战文件。这个文件通常被命名为 questions-words.txt .

这是一种测试通用词向量的流行方法,可以追溯到 Google 的原始 Word2Vec 论文和代码发布。

但是,此评估并不一定表明哪些词向量最适合您的需求。 (例如,一组词向量可能在这些类比上得分更高,但对于特定分类或信息检索目标则更糟。)

为了您自己的目的的良好向量,您应该设计一些特定于任务的评估,它给出与您的最终目标的成功相关的分数。

另请注意,作为无监督算法,词向量不一定需要保留测试集才能进行评估。您通常希望使用尽可能多的数据来训练词向量——确保最大的词汇覆盖率,每个词的示例最多。然后,您可能会根据某个外部标准测试词向量——比如类比问题,它们根本不是训练集的一部分。

或者,您只需将词向量用作您正在测试的某些下游任务的附加输入,并且在该下游任务中,您将保留用于训练某些监督算法的测试集。这确保您的监督方法不仅仅是记住/过度拟合标记的输入,并且为您提供关于该词向量集是否有助于下游任务的间接质量信号。 (而且,该词向量集可以根据它们对其他监督任务的帮助程度与其他词向量集进行比较,而不是与它们自己相同的无监督训练步骤进行比较。)

关于python - Word2vec Gensim 准确度分析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52734146/

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