2011-11-27 50 views
1

這看起來像是尋找有價值的資產,但由於我們對許多事情有免費的替代選擇,所以我對此感到樂觀。有沒有免費的數據庫存儲關鍵字與其他相關的關鍵字,爲應用程序來確定語義相關性?

存儲像

鍵值

關鍵上下文值

兩個關鍵 - 值對的數據庫可以爲Web開發人員非常有用誰收集數據並想要標記它們或搜索可能相關的記錄。

這樣的數據表甚至會成爲他們想要存儲的規範化形式。

如果您曾聽說過可用免費拷貝數據表這樣,請分享。謝謝。

回答

3

你可以使用WordNet:它含有(英文)字樣(分爲名詞,動詞,形容詞和副詞)之間的一般關係。這些關係是同義詞集合(同義詞集合)並且描述了這種關係,例如「公共汽車」是「車輛」,「車輪」是部分「汽車」。

:要查詞需要使用引理(這個詞的基本形式)WordNet的字典,所以,如果你想從一個自由文本(如網站)看的話,你將不得不首先計算詞的引理。你可以通過應用一些自然語言處理(NLP)技術或者創建你自己的啓發式來做到這一點。

除了同義詞集關係,共發現還包含同義詞集,你可以用它來獲得更多的上下文的短defintions(光澤)。另外,Sense Disambiguation技術可以幫助您決定使用多義詞的哪種感覺,這也是提供上下文的一種形式。

如果你需要比共發現提供什麼(英語單詞的一般含義之間的關係一般)更多的情況下,你會發現,描述概念之間的語義關係的合適的本體。你將不得不映射文本是有關的概念(再次,NLP技術可以幫助這一點)

例子本體:SUMOMSOetc.

1

你可以使用Lucene(或任何text-search engine)來存儲您的文檔,使用自定義stemmer結合,指數您的文檔中的文本基礎上意味着(而不是字的變化)。

通常,詞幹用於一個字的所有變化轉換爲基本詞幹。例如,儘管該文檔存儲和檢索文本原樣,任何字「唱,唱歌,唱,唱」將使用搜索是索引爲「唱」,所以,當進行檢索長期的「唱歌」,你會打擊所有包含唱歌,唱歌,唱歌或唱歌的文件。

類似地,搜索詞也可以被抑制,因此搜索「唱歌,唱歌,唱歌或唱歌」中的任何一個將搜索就好像「唱歌」是搜索詞語一樣。

標準詞幹分析處理的是單詞的常見英語變體,但您可以創建一個基於含義的詞幹。例如,你可以創建一個詞幹分析器來阻止你想要「鏈接」的所有單詞的「問題,問題或抱怨」或「問題」等。

使用stemmer的好處是所有與搜索相關的繁重工作都是由文本搜索引擎完成的(此外,文本搜索引擎的速度非常快)。

文中提到了實現,您可以創建鏈接數據驅動,或者根據數據庫中的數據爲stemmer生成代碼,或者使其成爲動態的,並在搜索/索引操作完成時查找數據庫或者介於兩者之間 - 緩存值並定期刷新它們。

0

根據您的要求,您可以查找map-reduce範式的不同實現。最着名的是Hadoop,特別是Hadoop MapReduce。儘管這是一個框架而不是數據庫,但它完全符合您的要求 - 以key=value對方式存儲和處理數據。這是構建大型可擴展系統的產品。如果你需要更簡單的東西,那就存在一些較小的實現,比如基於PHP(在MySQL之上),甚至是一個「簡單的」MySQL聚合,在大多數情況下它可以模仿MapReduce,你不需要分佈式系統大量的數據。

0

這聽起來很像你在談論本體論。請參閱What is an Ontology (Database?)?

在我看來,本體提供了一種非常強大的方式,以自然和有機的方式構建真實世界實體和關係的複雜模型。實體/概念之間的關係可以在模型中捕獲,隨着關係類型數量的增加,越來越複雜的規則可以被編碼以利用這種知識體系。

0

格式聽起來像JSON對象=>所以我看着wikipedia,發現CouchDB - 一個開源使用JSON來存儲數據

數據庫
相關問題