Python-Tf-idf算法

Python-Tf-idf算法,python,tf-idf,words,word-embedding,Python,Tf Idf,Words,Word Embedding,我想在一套文件中找到最相关的词语 我想在3个文档上调用Tf Idf算法,并返回包含每个单词及其频率的csv文件 在那之后,我将只拿那些数字高的,我将使用它们 我发现这个实现满足了我的需要 我使用子流程库调用这个jar。但这段代码有一个巨大的问题:它在分析单词时犯了很多错误。它混合了一些词,它有“和-我想”的问题。我在《哈利波特》3本书的文本中使用了它,例如,我在csv文件中获得了赫敏、赫敏、里德尔、赫敏等词,而不仅仅是赫敏 我做错什么了吗?你能给我一个Tf idf算法的工作实现吗?有一个pyth

我想在一套文件中找到最相关的词语

我想在3个文档上调用Tf Idf算法,并返回包含每个单词及其频率的csv文件

在那之后,我将只拿那些数字高的,我将使用它们

我发现这个实现满足了我的需要

我使用子流程库调用这个jar。但这段代码有一个巨大的问题:它在分析单词时犯了很多错误。它混合了一些词,它有“和-我想”的问题。我在《哈利波特》3本书的文本中使用了它,例如,我在csv文件中获得了赫敏、赫敏、里德尔、赫敏等词,而不仅仅是赫敏


我做错什么了吗?你能给我一个Tf idf算法的工作实现吗?有一个python库可以做到这一点吗?

这里是Tf idf算法的一个实现,使用。 在应用它之前,你可以使用你的语言

import pandas as pd
from sklearn.feature_extraction.text import TfidfVectorizer
from nltk import word_tokenize
from nltk.stem.porter import PorterStemmer

def tokenize(text):
    tokens = word_tokenize(text)
    stems = []
    for item in tokens: stems.append(PorterStemmer().stem(item))
    return stems

# your corpus
text = ["This is your first text book", "This is the third text for analysis", "This is another text"]
# word tokenize and stem
text = [" ".join(tokenize(txt.lower())) for txt in text]
vectorizer = TfidfVectorizer()
matrix = vectorizer.fit_transform(text).todense()
# transform the matrix to a pandas df
matrix = pd.DataFrame(matrix, columns=vectorizer.get_feature_names())
# sum over each document (axis=0)
top_words = matrix.sum(axis=0).sort_values(ascending=False)

下面是Tf idf算法的一个实现,使用。 在应用它之前,你可以使用你的语言

import pandas as pd
from sklearn.feature_extraction.text import TfidfVectorizer
from nltk import word_tokenize
from nltk.stem.porter import PorterStemmer

def tokenize(text):
    tokens = word_tokenize(text)
    stems = []
    for item in tokens: stems.append(PorterStemmer().stem(item))
    return stems

# your corpus
text = ["This is your first text book", "This is the third text for analysis", "This is another text"]
# word tokenize and stem
text = [" ".join(tokenize(txt.lower())) for txt in text]
vectorizer = TfidfVectorizer()
matrix = vectorizer.fit_transform(text).todense()
# transform the matrix to a pandas df
matrix = pd.DataFrame(matrix, columns=vectorizer.get_feature_names())
# sum over each document (axis=0)
top_words = matrix.sum(axis=0).sort_values(ascending=False)

如何将文本变量放入文档中?我有两本txt格式的书,6000多个单词,还有一本txt格式的维基百科语料库,非常大。请检查这些文档@J.Doe,你发送的链接不起作用。你能为Camilla8的问题发送一个工作链接吗ThanksHow我可以将文本变量放入文档中吗?我有两本txt格式的书,6000多个单词,还有一本txt格式的维基百科语料库,非常大。请检查这些文档@J.Doe,你发送的链接不起作用。你能为Camilla8的问题发送一个工作链接吗谢谢