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

问题描述 投票:0回答:1

我具备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. [IdASINtitlegroupsalesranknum_of_similarnum_of_categoriestotal_reviewsdownloaded_reviews avg_rating_reviews

  2. Idcustomer_namecustomer_datecustomer_ratingcustomer_votes customer_helpful

  3. Id category_name

  4. Id similar

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

Id       category_name
1        Books
1        Subjects
1        Religion & Spirituality

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

sql database text nosql text-mining
1个回答
0
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.