首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何区分结构化数据和非结构化数据?

如何区分结构化数据和非结构化数据?
EN

Stack Overflow用户
提问于 2011-03-18 22:05:41
回答 3查看 5.3K关注 0票数 8

结构化数据和非结构化数据有什么区别?这种差异如何影响各自的数据挖掘方法?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-03-19 00:23:26

我熟悉的术语是结构化数据和非结构化数据(除了后缀之外,与Q中的数据相同)。

我在机器学习中处理这两种类型的数据,我不知道任何正式的定义;但是,我怀疑几乎每个需要区分这两种类型的数据的人都可以毫不费力地区分它们。

结构化数据的示例:发送电子邮件的日期/时间;电子邮件是否有附件或电子邮件发件人。非结构化数据:电子邮件的正文。

是否有稳定的规则或一组规则来区分这两种类型的数据?我也这么想。首先,如果可以为数据元素构建一个解析器,那么它就是结构化的。

另一条经验法则是查看数据库中存储数据所需的字段的数据类型。如果是文本类型--用于MySQL、文本、文本、中文本或长文本。或者不太可能是VARCHAR(255)--那么该数据可能是非结构化的。

这种区别对数据挖掘的主要意义可能是:结构化数据一旦从文档中提取并解析,就可以用作统计/机器学习模型中的变量。然而,非结构化数据需要进一步的解析--即,在使用它进行建模之前,首先必须将其分解为一组结构化数据元素--例如,单词数等。

例如,假设您想要为一家制作在线MMORPG的公司内的服务器组构建一个知识管理(KM)系统。您可以从该组成员之间交换的大量电子邮件消息开始。

因此,您可以为该源创建一个数据模型--例如,由“发件人”、“收件人”、“发送日期/时间”等字段组成,收件人和发件人是否都是服务器组的员工,邮件是否被复制到其他人,等等。数据库的行是单独的电子邮件。

然后编写一个由一组解析器组成的脚本,从每个电子邮件消息中提取每个字段。对于许多字段,这很简单,例如,对于“cc:”字段,您可以编写一个解析器来扫描电子邮件消息的该部分,并检查它是否为空--如果为空,则数据库中该行的该字段可能会填充“False”(表示没有人员被复制),否则为“True”。同样,数据/时间,可能采用类似于: 16 Mar 2011 18:45:39.0319 (UTC)的形式。提取和解析这些数据同样很简单;实际上,您的脚本语言几乎肯定有一个模块来完成这项工作。

但是,当您看到电子邮件的正文时,虽然从电子邮件消息的其余部分中提取并不困难,但解析它并不简单。您的数据模型可能有"NumberOfWords“、”Keyword“等字段,构建一个解析器来填充这些字段很简单。然而,最有用的信息更难--即,电子邮件消息对收件人是否有帮助?主题是什么?它是权威的吗?

票数 6
EN

Stack Overflow用户

发布于 2011-03-19 01:19:56

非结构化数据的数据挖掘通常属于“文本挖掘”的范畴。关于这一点有两种不同的观点。一种观点认为,您需要专门的工具来执行自然语言处理( Natural Language Processing,NLP),因为这是您获得语义含义的唯一方法。另一种方法将非结构化数据转换为单词矩阵,然后使用标准统计技术执行数据挖掘(“词袋”)。在这种情况下,一切都变成了数据,单词的顺序并不重要。

-Ralph Winters

票数 1
EN

Stack Overflow用户

发布于 2018-03-18 04:43:52

Structured Data

结构化数据可以看作是数据的数据库。在结构化数据中,每个特征(字段)都有很好的文档记录。例如,可以将bank_transaction数据集或class_attendance数据集视为结构化数据集。

代码语言:javascript
复制
----------------------------------------------------------------------
|      student_id      |     student_name    |   student_attendance  |
|----------------------|---------------------|-----------------------|
|          2123        |         Jo          |           45          |
|----------------------|---------------------|-----------------------|
|          2175        |         Mark        |           10          |
|---------- -----------|---------------------|-----------------------|

非结构化数据

诸如图像、音频/视频片段、文本等被计算机认为难以解释的数据类型被称为非结构化数据。通常,非结构化数据也称为Raw data。计算机很难将这样的数据可视化。

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

https://stackoverflow.com/questions/5353124

复制
相关文章

相似问题

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