本体数据库

数据挖掘 数据挖掘
2022-02-22 16:51:19

这是我的第一个堆栈交换问题。

我现在正在尝试构建一个工具,该工具的一个功能是能够将产品或服务分解为相关的属性/属性/类/关键字/实体。(选择最适合的词,因为我不知道)。

例如,如果我们有一个相机作为产品。我希望能够生成与相机相关的所有内容的细分。如;

数字、胶片、光学、LCD、玻璃、CCD、CMOS、RGB、镜头、快门、负片、宝丽来、暗房、闪光灯、分辨率、防抖、电池、变焦、角度、长焦、微距、滤镜、内存、CF、SD

这份清单可能会持续很长一段时间,这些只是我脑海中的一些。

我到底怎么能自动检索这些属性?有没有数据库有这样的信息?是否有任何人有任何特殊技巧可以积累数据集,例如上面的示例?

对你的答案很感兴趣。

谢谢 :)

1个回答

在我看来,阅读语义网络似乎是一个很好的起点,可能从DBpedia开始,也可能从LinkedData 开始。您可以从那里开始建立自己的数据库。

从“Camera”的 DBpedia 页面开始的SPARQL 查询示例:

select ?label where {
  ?prod dbpedia-owl:product :Camera .
  ?prod dcterms:subject ?categories .
  ?entity dcterms:subject ?categories.
  ?entity rdf:type yago:PhysicalEntity100001930 .
  ?entity rdfs:label ?label .
  filter langMatches( lang(?label), 'en').
}

生成很多与“相机”相关的词。

...
"Shutter button"@en
"Rangefinder camera"@en
"Still camera"@en
"Lomo LC-A"@en
"Flexaret"@en
"Land Camera"@en
"Robot (camera)"@en
"Speed Graphic"@en
"Ansco Panda"@en
"Image trigger"@en
"Still video camera"@en
"Hidden camera"@en
"Mainichi Shimbun"@en
"Ōhiradai Station"@en
"Depth-of-field adapter"@en
"Banquet camera"@en
"Digital versus film photography"@en
"Fernseh"@en
"Remote camera"@en
"Professional video camera"@en
....

上面的结果只是一个摘录。