首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从字符串中提取2条信息--使用什么?

从字符串中提取2条信息--使用什么?
EN

Data Science用户
提问于 2016-09-26 09:52:12
回答 3查看 237关注 0票数 4

首先,在数据科学方面,我是一个完全的新手,我不是要求完整的解决方案,而是关于我应该阅读什么来完成我的任务的一些指导(使用什么算法、技术等来解决类似的问题)。

我有不同的字符串列表,其中包含我想要提取的一两条有用的信息。在下面的示例中,我需要从每一行中提取粗体和斜体部分。不过,这只是一个例子,最终我将需要一个可以应用于具有不同上下文的不同列表的过程。以下是500份清单中的一个小样本:

  • 50“索尼KDL 50W756CSAEP智能LED全高清
  • 55英寸三星UE55JU6400智能LED高清
  • LG 55LF652V55“智能3D全高清
  • 日立55HGW69 55‘LED超智能WIFI
  • 电视65“三星UE65KS7500 4K LED智能

在我的完整列表中,我已经手动提取了品牌和模型。因此,我现在需要的是一种方法,自动化的过程中,一个新的清单,包含更多的品牌和型号。我想我可以这样做,但由于我不只是为这类数据这样做,它将不能很好地工作。

有人能给我一些建议吗?

谢谢!

EN

回答 3

Data Science用户

发布于 2016-09-29 10:35:30

也许您可以在字典中使用Python。

您可以在字典中设置一组单词,每次都可以用您找到的新单词填充。

要找到新单词(如果模式与您的示例相同),您可以获取“品牌”(三星),下一个单词将是模型(UE65KS7500)。

这是一个很好的资源

票数 1
EN

Data Science用户

发布于 2017-03-06 16:14:10

我喜欢做简单的事情首先,然后增加更多的复杂性,如果需要的话。我首先简单地删除我们不关心的电视功能,然后返回剩下的东西,假设品牌总是先于模型。例如,在Python中:

代码语言:javascript
运行
复制
def get_brand_model(input):
  """
  Returns the brand and model number from a TV description

  >>> get_brand_model('50" Sony KDL 50W756CSAEP Smart LED Full HD')
  ('SONY', 'KDL 50W756CSAEP')

  >>> get_brand_model('55" Samsung UE55JU6400 Smart LED HD')
  ('SAMSUNG', 'UE55JU6400')

  >>> get_brand_model('LG 55LF652V 55" SMART 3D FULL HD')
  ('LG', '55LF652V')

  >>> get_brand_model("HITACHI 55HGW69 55'' LED ULTRA SMART WIFI")
  ('HITACHI', '55HGW69')

  >>> get_brand_model('TV 65" SAMSUNG UE65KS7500 4K LED Smart')
  ('SAMSUNG', 'UE65KS7500')
  """

  def filter(word):
    # Basic filter to remove TV features from the input string
    skip_words = ['3d', '720p', '1080p', 'hd', '4k', 'smart', 'wifi',
                  'led', 'full', 'tv', 'ultra', 'inch']

    is_measurement = '"' in word or "'" in word

    return not word.lower() in skip_words and not is_measurement 

  words = [w.upper() for w in input.split(' ') if filter(w)]

  # Return a tuple of (brand, model number)
  return (words[0], ' '.join(words[1:]))

这可能需要一些调整,但问题中的5个示例在运行包含的doctest时都通过了。

票数 0
EN

Data Science用户

发布于 2017-09-20 22:57:01

你也可以加入TF-以色列国防军,看看是否有共同的词频率与你想要提取的元素,或那些元素,你可以删除。

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

https://datascience.stackexchange.com/questions/14222

复制
相关文章

相似问题

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