首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python中基于字典的文本CLassification

Python中基于字典的文本CLassification
EN

Stack Overflow用户
提问于 2022-09-13 10:59:27
回答 1查看 93关注 0票数 2

现在,我正在寻找一个基于下降字典的Python文本分类库,这已经有一段时间了。

我的用例如下:我将收到一个长的text,它可能会讨论一些事情,并希望提到一些预定义的entities.。

代码语言:javascript
复制
text = "Yesterday, I ate a Yelow-fruit. It was the longest fruit I ever ate."
entities = {"apple": ["pink", "sphere"], "banana": ["yellow", "tasty", "long"]}

请注意拼写错误是故意的!

我的目标是有一个程序,这样,给定文本和实体dict (这将随着时间的推移而改变),程序应该输出banana.。因此,这个问题可以看作是一个基于字典的文本分类问题,其中人们将根据实体字典对文本进行分类。

最近的问题在我看来是如此标准,但我在Python中找不到下降的实现。

当然,我可以通过文本和计数词的实体发生,并最终输出最频繁的实体。但是这种方法非常简单,在实际的单词场景中,如果发生的是而不是,那么这种方法就无法生存。我希望有一种很好的方法来包含一些文本相似性度量,并允许用户选择哪些预处理是可接受的(小写,词干,停止词删除,.)。应该如何进行标记化?是否存在语义的相似性?如果存在语义相似性,是否提供了dictionay扩展算法?

到目前为止,我已经阅读了这个R博客文章,它为R中基于字典的文本分类提供了一个起点。这个datascience堆栈-exchange问题似乎也与我的相关。但所有这些都没有给出令人满意的结论。

那么,Python中是否有用于这类任务的直接库呢?

谢谢你的答复。

EN

回答 1

Stack Overflow用户

发布于 2022-09-13 11:09:59

您需要一个简单的解决方案,同时断言问题很复杂,相关标记的频率可能不够强,无法始终预测正确的类。您所暗示的是,您需要了解提到相关令牌的上下文,为此,您可能需要一个更复杂的解决方案。

您可以考虑使用的一个解决方案是零镜头NLP分类。

代码语言:javascript
复制
from transformers import pipeline
classifier = pipeline("zero-shot-classification", model="facebook/bart-large-mnli")

text = "Yesterday, I ate a yelow-fruit. It was the longest fruit I ever ate."
candidate_labels = ['banana', 'apple']
classifier(text, candidate_labels)

产出如下:

代码语言:javascript
复制
{'sequence': 'Yesterday, I ate a yelow-fruit. It was the longest fruit I ever ate.', 'labels': ['banana', 'apple'], 'scores': [0.6739664077758789, 0.3260335922241211]}

编辑:要将进一步的信息包含到模型中,我们可以扩展候选标签的描述:

代码语言:javascript
复制
candidate_labels = ['banana yellow tasty long', 'apple pink sphere']

新的产出是:

代码语言:javascript
复制
{'sequence': 'Yesterday, I ate a yelow-fruit. It was the longest fruit I ever ate.', 'labels': ['banana yellow tasty long', 'apple pink sphere'], 'scores': [0.9392997622489929, 0.060700222849845886]}

从描述性词的添加可以看出,我们两个标签的分数之间的差距已经增大了。

注意:这种基于注意力的深度学习模型使用嵌入来理解令牌之间的相似性。在这个高维空间中紧密相连的标记在语义意义上成比例地相似。即使没有指定额外的描述性词汇,模型也应该能够泛化,因为它包含了关于香蕉或苹果是什么的知识,这些知识来自数百万的文本示例。当期望模型泛化为更抽象的示例时,这是值得考虑的,例如,类可能包含产品SKU。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73701800

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档