回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我有一个3列的大数据集,列是文本、短语和主题。
我想找到一种基于主题提取关键短语(短语列)的方法。
关键短语可以是文本值的一部分,也可以是整个文本值</p>
<pre><code>import pandas as pd
text = ["great game with a lot of amazing goals from both teams",
"goalkeepers from both teams made misteke",
"he won all four grand slam championchips",
"the best player from three-point line",
"Novak Djokovic is the best player of all time",
"amazing slam dunks from the best players",
"he deserved yellow-card for this foul",
"free throw points"]
phrase = ["goals", "goalkeepers", "grand slam championchips", "three-point line", "Novak Djokovic", "slam dunks", "yellow-card", "free throw points"]
topic = ["football", "football", "tennis", "basketball", "tennis", "basketball", "football", "basketball"]
df = pd.DataFrame({"text":text,
"phrase":phrase,
"topic":topic})
print(df.text)
print(df.phrase)
</code></pre>
<p>我很难找到这样做的路径,因为我的数据集中有50000多行,约48000个短语的唯一值,以及3个不同的主题</p>
<p>我想建立一个包含所有足球、篮球和网球主题的数据集并不是最好的解决方案。因此,我曾考虑为此制作某种ML模型,但这同样意味着我将有两个特性(文本和主题)和一个结果(短语),但我的结果中将有48000多个不同的类,这不是一个好方法</p>
<p>我正在考虑使用文本列作为特征,并应用分类模型来发现情感。之后,我可以使用预测情绪来提取关键特征,但我不知道如何提取它们</p>
<p>还有一个问题是,当我尝试使用<code>CountVectorizer</code>或<code>TfidfTransformer</code>随机森林、决策树或任何其他分类算法对情绪进行分类时,我的准确率仅为66%,如果我使用<code>TextBlob</code>进行情绪分析,则准确率也只有66%</p>
<p>有什么帮助吗</p>