我是一名Python開發人員,目前正在從事一項與NLP和NLTK相關的項目。在這個項目中,需要大量用於事件分析的數據。因此,我給了2個問題報廢維基百科,使用集羣管理此數據
我在哪裏尋找如此高的數據量。我的首選是維基百科,但我不知道如何從中訪問數據?我是否需要取消維基百科?
我應該如何組織這些數據,這樣我可以有更好的搜索結果? K均值聚類是否有用?
我是一名Python開發人員,目前正在從事一項與NLP和NLTK相關的項目。在這個項目中,需要大量用於事件分析的數據。因此,我給了2個問題報廢維基百科,使用集羣管理此數據
我在哪裏尋找如此高的數據量。我的首選是維基百科,但我不知道如何從中訪問數據?我是否需要取消維基百科?
我應該如何組織這些數據,這樣我可以有更好的搜索結果? K均值聚類是否有用?
我不知道你的第二個問題的答案。但是對於你的第一個問題,你可以獲得維基百科數據的快照。您可以查看這link,其中維基百科自己根據您要構建的應用程序描述了不同的方式來使用他們的數據。請注意,維基百科不建議運行時抓取網站。
特別是,我的感覺是,你使用的情況下,你可以下載自己的數據的XML轉儲。
回答你的第一個問題:
除了BeautifulSoup或Scrapy刮使用封裝像有一些API的像wikipeidia in python可用於從維基百科獲取數據
如果你想下載整個英文維基百科,得到[dump](https://dumps.wikimedia.org/)要好得多。 – tripleee
你的問題有點有點過於寬泛,在這裏討論,但我可以給你關於你問什麼了(根據我自己的經驗):
首先,你可能需要設計(或使用)的Web爬行RO機器人或從你想要的網站中提取文本。爲了事件分析的目的,也許維基百科不太好。也許新聞網絡在您的案例中效果更好,因爲它們可以更好地對事件進行分類,包括事件。我對Pythonic網絡抓取工具知之甚少,但我曾經使用BeautifulSoup從weblogs中提取文本,這足以滿足我的教育目的。其次,聚類本身是一個討論的重要問題,你不能簡單地在這裏提問,但是有一些算法可以用Python進行聚類(或者你必須自己實現一個)K-Means,基於神經的算法,EM算法等等。我曾經使用SOM ANN(又名Kohonen的神經網絡)實現。你應該考慮哪一個適合你的需要。
「事件分析的目的」 - 什麼讓你覺得維基百科對此有幫助? 太多不相關的數據是更糟比沒有「大」數據。流行的錯誤:假設你可以通過向其中扔入隨機數據來解決所有問題。
維基百科數據可以下載 - 只需看看他們的網站。您仍然需要了解Wiki標記,但至少您不必與抓取工具發生衝突,因爲您可以獲取數據庫轉儲。
對文本的聚類分析特別困難。文本非常多樣化,很少有聚類算法可以很好地處理嘈雜和稀疏的數據。但是爲了什麼? 「更好的搜索結果」 - 這不是聚類的目的。
一些一般性的建議:
對不起,但你的問題太廣泛了SO。 SO主要針對與代碼相關的特定編程問題。 –
查看https://github.com/alvations/SeedLing來處理維基百科轉儲。 – alvas
僅供參考這個詞是「刮」。 – alexis