将非结构化文本数据管理到DBMS中

时间:2019-03-12 09:30:44

标签: sql database text nosql text-mining

我精通R和C ++,并且了解有关SQL查询的方法,但对于数据库却不了解,因此需要一些建议。假设我有一个文本文件,如下所示:

# Full information about Amazon Share the Love products 
    Total items: 548552

    Id:   0
    ASIN: 0771044445
      discontinued product

    Id:   1
    ASIN: 0827229534
      title: Patterns of Preaching: A Sermon Sampler
      group: Book
      salesrank: 396585
      similar: 5  0804215715  156101074X  0687023955  0687074231  082721619X
      categories: 2
       |Books[283155]|Subjects[1000]|Religion & Spirituality[22]|Christianity[12290]|Clergy[12360]|Preaching[12368]
       |Books[283155]|Subjects[1000]|Religion & Spirituality[22]|Christianity[12290]|Clergy[12360]|Sermons[12370]
      reviews: total: 2  downloaded: 2  avg rating: 5
        2000-7-28  cutomer: A2JW67OY8U6HHK  rating: 5  votes:  10  helpful:   9
        2003-12-14  cutomer: A2VE83MZF98ITY  rating: 5  votes:   6  helpful:   5

500,000+个ID。我想提取查询,例如“ xxx类别下最受欢迎的书是什么?”或“哪个客户的平均有用评论最高”?甚至建议“客户xxx喜欢哪些书?”

但是,我不知道该如何处理此类数据。我在想四个数据库/表(什么是适当的术语!):

  1. Id ASIN title group salesrank num_of_similar num_of_categories total_reviews {{1} } downloaded_reviews

  2. avg_rating_reviews Id customer_name customer_date customer_rating customer_votes

  3. customer_helpful Id

  4. category_name Id

这是第三张桌子的摘要(因此您可以推断出我想象的第四张桌子的样子):

similar

但是,我没有将非结构化文本转换为数据库的经验,并且正在寻找一些指导。我从哪里开始!我应该看看NoSQL!或MS Access!我是否使用for循环提取信息(例如category_name)?如果是这样,怎么办!我使用正则表达式吗?我还没有找到任何关于如何将非结构化文本结构化为可管理数据库的入门教程,因此我们将不胜感激任何指导。

1 个答案:

答案 0 :(得分:0)

查看Entity-Attribute-Value model和三元组存储(如RDF)。

在类似的用例中,我最终构建了hoply