如何从产品名称中提取品牌

我有两个网站,现在手上有数据,我想用这些数据进行分析

我有两个产品名称(品牌 + 产品名称),我想只提取品牌名称

http://www.thehut.com/jeans-clothing/men/clothing/brave-soul-men-s-cardiff-jeans-denim/10741907.html

在上面的网站中,产品名称是

Brave Soul Men's Swansea Jeans - Denim

品牌名称是

Brave Soul

所以我只想要

Brave Soul

Amazon网址

http://www.amazon.in/gp/product/B00L8WT2UI

同样,在上面的网站中,产品名称是

Apple iPhone 5c (White, 8GB)

品牌名称是

Apple

所以我想要的输出像这样

Brave SoulApple

回答:

你试图获取的信息实际上并不存在。

如果你拿两个字符串,这两个字符串可能包含任意数量的空格,然后用一个空格将它们连接起来,就无法明确区分哪个空格是用来连接两个字符串的,哪些空格是字符串本身的一部分。

因此,你有几种选择:

首先,每个产品中的空格数量并不多,所以你可以尝试所有可能的情况:品牌Brave和产品Soul Men's Swansea Jeans - Denim,然后是品牌Brave Soul和产品Men's Swansea Jeans - Denim,接着是品牌Brave Soul Men's和产品Swansea Jeans - Denim,依此类推,另外还有3种可能的情况。

其次,如果你能从其他地方抓取所有品牌名称的列表,并将它们存储在一个set(或数据库表或其他任何东西)中,你可以在尝试所有可能性之前进行预筛选,以避免相对较慢的Amazon网络请求。例如,如果你有一份所有品牌的列表,只需检查BraveBrave SoulBrave Soul Men'sBrave Soul Men's Swansea等哪些是实际的品牌,然后只测试这些品牌。

与此同时,这仍然不会是完美的,因为几乎肯定会有一些模糊的情况。例如,有一个品牌Apple,还有一个品牌Apple Records,那么当你试图拆分Apple Records Master Collection时会发生什么?你有两个有效的可能性,而不仅仅是一个。你所能做的就是设计你的代码以某种方式处理这种情况(并进行单元测试以确保你正确处理了这些情况)。

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注