我有一个评论列表,列表中的每个元素都是对kaggle中IMDB数据集的审查。总共有25000篇评论。我有每个评论的标签+1表示肯定,-1表示否定。
我想用这些评论和标签来训练隐马尔可夫模型。
我应该给出的顺序是什么?是像一袋单词,还是像我需要计算的概率?什么样的特征提取方法是合适的?我被告知要在复习清单上使用单词袋,但是当我搜索一些东西时,我发现HMM关心单词的顺序,但是单词袋并不能维持单词的顺序。我应该如何准备这个评论列表,以便能够将其输入到HMM模型中?
2-这是否有一个框架?我知道学习,我认为我应该使用MultinomialHMM,如果我错了就纠正我。但是它没有监督,它的模型在我训练它的时候不把标签作为输入,我遇到一些有趣的错误,我不知道如何解决,因为我问的第一个问题是我应该给它正确的输入类型。seqlearn是我最近发现的,它是好的还是有一个更好的使用?
我很感激任何的指导,因为我对NLP几乎一无所知。
发布于 2018-11-10 23:53:34
以某种方式,我能够以令人惊讶的精确性完成这件事,但我不知道到底发生了什么,我使用了seqlearn框架,它有一个令人悲伤的文档。我真的建议用MATLAB代替python来实现HMM。
我使用sklearn 进行特征提取,然后进行了如下操作:
vectorizer = TfidfVectorizer(norm=None)
x_train = vectorizer.fit_transform(train_review)
x_test = vectorizer.transform(test_review)
len_train_seq = np.array([[1,1]]*(len(train_review)/2))
len_test_seq = np.array([1]*len(test_review))
model = seqlearn.hmm.MultinomialHMM()
HMM_Classifier = model.fit(x_train, Y, lengths = len_train_seq)
y_predict = HMM_Classifier.predict(x_test, lengths=len_test_seq)如果一个对HMM有知识的人在使用HMM进行情感分析时能给出更有力和清晰的指导,我还是会很感激的。
https://stackoverflow.com/questions/53238402
复制相似问题