基于大dict的Python文本分类字符串:字符串

2024-10-01 15:40:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个数据集,相当于500万个键值的dict,两个字符串。
每个键都是唯一的,但只有几百个不同的值。在

关键词不是自然词,而是技术参考。这些值是“系列”,对类似的技术参考进行分组。“相似”是指“具有相似的正则表达式”、“包括相似的字符”或某种模式。在

键值示例:

ADSF33344 : G1112
AWDX45603 : G1112
D99991111222 : X3334
E98881188393 : X3334
A30-00005-01 : B0007
B45-00234-07A : B0007
F50-01120-06 : B0007

最终目标是为算法提供一个新引用(以前从未见过)的列表,算法将根据从数据集中学到的信息,为每个引用返回一个建议的族,最好是连同置信度百分比一起返回。
建议的族只能来自数据集中找到的现有族。不需要“发明”新的姓氏。在

我不熟悉机器学习,所以我不知道从哪里开始。我通过Sklearn或TextBlob看到了一些解决方案,我知道我正在寻找一个分类器算法,但每个教程都面向大型文本的分析。
不知何故,我找不到如何处理我的问题,尽管这似乎是一个比用自然语言分析报纸文章“简单”的问题。。。在

你能告诉我一些可以帮助我的资源或教程吗?在


Tags: 数据字符串算法示例模式教程字符关键词
1条回答
网友
1楼 · 发布于 2024-10-01 15:40:05

制作训练数据集,训练分类器。大多数分类器都使用您自己定义的一组特性的值。(特征的类型取决于分类器;在某些情况下,它们是数字量,在其他情况下是真/假,在其他情况下,它们可以取几个离散值。)您提供特征,分类器决定每个特征的重要性,以及如何解释它们的组合。在

通过教程,您可以查看NLTK书籍的chapter 6。示例任务“将姓名分为男性和女性”在结构上与您的任务非常相似:根据短字符串(名称)的形式,将其分类(性别)。在

您将把每个零件号翻译成特征字典。既然你没有向我们展示真实的数据,没有人会给你具体的建议,但是你绝对应该像书中那样做一些通用的特性,此外,你还应该根据你所知道的每一条线索,不管是强是弱,做出一个特征。如果一个特征的长度不同,则标识的长度也不同。如果连字符的存在(或者数量或位置)是一个线索,那么就把它变成一个特征。如果一些供应商的零件使用大量的零,同上。然后为其他任何东西制作附加功能,例如可能有用的“前三个字母”。一旦你有了一个可以工作的系统,就可以尝试不同的特征集和不同的分类器引擎和算法,直到你获得可以接受的性能。在

为了使用新数据获得良好的结果,不要忘记将培训数据拆分为培训、测试和评估子集。您可以将所有这些与任何分类器一起使用,但是NLTK的naivebayes分类器训练起来非常快,因此您可以从中开始。(请注意,特征可以是离散值,例如first_letter可以是实际的字母;您不需要坚持使用布尔特征)

相关问题 更多 >

    热门问题