如何从自然语言的描述中对对象进行分类

数据挖掘 机器学习 分类 nlp
2022-02-23 22:02:15

我的目标是根据人类对这些对象的文字描述,对所有属于某个类别的对象进行分类。我的问题不是特定于某个类别的对象,但为了清楚起见,我将给出示例,就好像我要分类的对象是电影一样。

准确地说:

  • 描述既包含对对象的判断,也包含对对象各个部分的更客观的描述。例如:“这部电影的台词很棒,而且场景也很好。它抵消了糟糕的演员表演。不过,总的来说,我认为这是一部非常好的电影”。这既包含有关电影不同方面的信息,又提供了主观评论。
  • 我想要的是:
    1. 每个对象的分数(如电影评分),基于它的欣赏程度;
    2. 对于给定的对象,“相似”对象(即,如果您喜欢这部电影,您可能也会喜欢这些),基于每个对象具有的相似“特征”。例如,一部也写得很好的电影可能被认为与前一个例子“相似”。
  • 我还可以访问这些对象的预先存在的分类。例如,一部电影可能被标记为“动作/惊悚片”。这个分类对于我的目的来说太宽泛了(即并非所有的“动作/惊悚”电影都是相似的),但这可能是一个好的开始。

我认为要解决我的问题,我可以使用情感分析来给每个对象打分,而自然语言处理与特征空间相结合可以对对象进行分类。

关键是我不确定如何继续,因为我对机器学习、自然语言处理和一般数据科学都是新手。尽管如此,我还是有 CS 和数学背景的。

你能提供一些关于从哪里开始的见解吗?是否有已经提供此类功能的库?

这是这个问题的转发,因为它不够集中,这个论坛似乎更合适。它已被重写。

1个回答

文本向量化是获得可靠分类的好方法。

您有几个库,例如 doc2vec,您可以将它们与逻辑回归或降维技术(例如 tSNE 或 UMAP)一起使用。 https://radimrehurek.com/gensim/auto_examples/tutorials/run_doc2vec_lee.html

另一方面,您也可以使用 BERT 或 TF-IDF 等库:

https://pypi.org/project/bert-document-classification/

https://medium.com/swlh/text-classification-using-tf-idf-7404e75565b8