使用 flairNLP 进行特征提取
Feature extraction using flairNLP
我正在尝试使用 flair 进行情感分析,但我还需要知道每个词对句子得分的影响程度。
我已经按照这个 article 来预测情绪,但它没有说明如何提取给定句子的特征。
我假设有一种方法可以进行这种特征提取,因为它在那篇文章中的呈现方式,但我找不到它。我已经尝试阅读 flair 文档和代码本身,但没有找到这样做的方法。
我正在寻找的是这种功能:
import flair
text = flair.data.Sentence(<string-with-sentiment>)
model = flair.models.TextClassifier.load('en-sentiment')
model.predict(text)
print(s.individual_sentiments)
结果:
[('i', 0.08), ('do', 0.09), ('like', 1.0), ('you', -0.32)]
我不是要训练自己的模型,而是使用像上面代码示例中那样的预训练模型。
注意:我不拘泥于天赋,如果存在具有此功能的不同框架,我也很乐意了解它。我正在尝试使用 flair,因为当我测试它时,它的准确度超过了 Textblob 和 nltk 的 VADER。
这篇文章实际上在底部有一个 link 到一个 colab notebook,我错过了。看起来在那篇文章中实现这一点的方式只是通过对整个句子之外的每个单词进行单独分类。
我正在尝试使用 flair 进行情感分析,但我还需要知道每个词对句子得分的影响程度。
我已经按照这个 article 来预测情绪,但它没有说明如何提取给定句子的特征。 我假设有一种方法可以进行这种特征提取,因为它在那篇文章中的呈现方式,但我找不到它。我已经尝试阅读 flair 文档和代码本身,但没有找到这样做的方法。
我正在寻找的是这种功能:
import flair
text = flair.data.Sentence(<string-with-sentiment>)
model = flair.models.TextClassifier.load('en-sentiment')
model.predict(text)
print(s.individual_sentiments)
结果:
[('i', 0.08), ('do', 0.09), ('like', 1.0), ('you', -0.32)]
我不是要训练自己的模型,而是使用像上面代码示例中那样的预训练模型。
注意:我不拘泥于天赋,如果存在具有此功能的不同框架,我也很乐意了解它。我正在尝试使用 flair,因为当我测试它时,它的准确度超过了 Textblob 和 nltk 的 VADER。
这篇文章实际上在底部有一个 link 到一个 colab notebook,我错过了。看起来在那篇文章中实现这一点的方式只是通过对整个句子之外的每个单词进行单独分类。