我有一个书籍数据库。每本书都有描述书的类型/主题的分类列表(我使用Python模型)。
列表中的类别大部分是由1到3个单词组成的。
图书类别列表的例子:
['Children', 'Flour mills', 'Jealousy', 'Nannies', 'Child labor', 'Conduct of life'],
["Children's stories", 'Christian life'],
['Children', 'Brothers and sisters', 'Conduct of life', 'Cheerfulness', 'Christian life'],
['Fugitive slaves', 'African Americans', 'Slavery', 'Plantation life', 'Slaves', 'Christian life', 'Cruelty']我希望创建/使用一种算法来比较书籍,并使用NLP/机器学习模型查找两本书之间的相似性。
这些类别没有得到很好的界定,而且往往会发生变化。例如,可以有一个类别'story'和另一个名为'stories'的类别,因为系统中的文本不使用保存的类别,而是使用一个打开的文本框。到目前为止,我尝试了两种算法:
nlp模型检查相似度。到目前为止,我使用了来自nltk包和spacy的D11模型。我对这两种算法有问题,因为当算法比较包含2到3个单词的类别时,结果并不准确,而且每个算法都有特定的问题。
哪种算法/Python模型可以处理包含2个或3个单词的字符串,我可以用它来比较书籍吗?
这是我第一次在这里问。如果您需要更多关于数据库的详细信息,或者我到目前为止做了什么,请告诉我。
发布于 2022-02-27 21:30:52
您的问题可以被描述为多标号分类,每个实例可以有多个标签。对于一本书,预测哪些标签是可能的。
在Python中,scikit多重学习是针对多标签分类问题而设计的.
此外,您可能希望合并类似的标签(例如,“故事”和“故事”)。合并可以通过查找和替换来完成。
https://datascience.stackexchange.com/questions/108563
复制相似问题