【问题标题】:How to parse and extract price-related information from unstructured text data using NLP techniques in Python?如何在 Python 中使用 NLP 技术从非结构化文本数据中解析和提取价格相关信息?
【发布时间】:2018-06-21 14:53:23
【问题描述】:

我想从非结构化文本中提取实际价格和折扣价格;以下是该输入文本的一些(模拟)示例:

  1. 根据用户评分,我们建议为该产品提供 2500 卢比的折扣,从 10000 卢比的初始价格开始。这是 用于与客户建立长期关系。
  2. 为了更好的关系,我们建议将客户的产品价格从 20000 卢比降低到 15000 卢比。总折扣 案例是 5000 卢比
  3. 如前所述,成本可以从初始价格 Rs.22000 降低 5%。这导致整体折扣 1100 卢比

我想要的上述 3 个文本的输出是这样的:

No ActualPrice  Discount
1 10000         2500
2 20000         5000
3 22000         1100

我使用了一些正则表达式来提取数量,但由于数据是非结构化的,正则表达式并没有太大帮助,因为模式不一致。 是否有任何 NLP 方法可以在 Python 中处理这些场景?我了解基本的 NLP 技术(标记化、ngram、POS 标记、停用词删除、词干提取等)

【问题讨论】:

  • 错误,“写我的电子商务刮板”不是一个可接受的问题。你需要表现出更多的努力。您尝试了哪些代码,为什么它不符合您的要求?无论如何,这只是返回数字的正则表达式,然后您对其进行算术运算……这不是 NLP。 (除非我们应该自动解释 Discount 等字段的真正含义并将其与 ActualPrice 相关联。但即便如此,那是数据挖掘,而不是 NLP)
  • 啊,你的 input 是非结构化文本,该表是你想要的输出(每个输入句子一条记录)。我重写了这个问题以明确这一点。无论如何,就像任何特定任务的应用程序一样,没有这样的 NLP 库,您只需要编写自己的包和函数,并在足够的样本数据上对其进行训练,以使其健壮和有用。这将非常简单。

标签: python nlp nltk text-processing information-retrieval


【解决方案1】:
s = 'Based on the user rating we recommend to offer the product with a discount of Rs.2500 from an initial price of Rs.10000.This was provided to establish long term relationship with the customers." I want to extract Rs.10000 and Rs.2500. from next text "For better relationship we recommend to reduce the product price for the customer to Rs.15000 from Rs.20000. Total discount for the case is Rs.5000" I want to extract Rs.20000 and Rs.5000'

import re
results = re.findall('\d+',s)

从此文本“根据用户评分,我们建议以 10000 卢比的初始价格为产品提供 2500 卢比的折扣。这是为了与客户建立长期关系而提供的。”我想提取 Rs.10000 和 Rs.2500。从下一个文本“为了更好的关系,我们建议将客户的产品价格从 Rs.20000 降低到 Rs.15000。案例的总折扣是 Rs.5000”我想提取 Rs.20000 和 Rs.5000

【讨论】:

  • 嗨。我的问题是从文本中而不是从表格中提取金额信息。该表是最终输出
  • 要提取 10000,25000 然后 20000,5000
  • 来自此文本“根据用户评分,我们建议从初始价格 10000 卢比开始提供 2500 卢比的折扣。这是为了与客户建立长期关系而提供的。”我想提取 Rs.10000 和 Rs.2500。从下一个文本“为了更好的关系,我们建议将客户的产品价格从 Rs.20000 降低到 Rs.15000。案例的总折扣是 Rs.5000”我想提取 Rs.20000 和 Rs.5000
  • @Haroldo_OK 这将获取所有金额值。但是我怎么知道哪个是实际金额,哪个是折扣金额?
  • @chandru 折扣一词后面的任何数字都可以是折扣吗?
猜你喜欢
  • 2014-05-01
  • 1970-01-01
  • 2016-02-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-09
  • 1970-01-01
  • 2017-03-29
相关资源
最近更新 更多