2013-09-23 150 views
0

我的問題非常簡單,我花了幾個小時搜索現有生成主題/單詞關鍵字的方法。 例如,如果我輸入的是:生成與單詞相關的單詞

面向對象程序設計

我想我要輸出的線沿線:

類,對象,友元函數,靜態變量等

我目前的解決方案的想法是谷歌我感興趣的特定主題生成關鍵字,抓住第一個X(許多)結果頁面,刪除所有標籤,並從他們停止的話,傳遞每個單詞通過Python nltk lemmatizer得到它的基本形式,所以我不計算的話意味着基本上是相同的硫不止一次(「表演」和「表演者」都會變成「表演」),然後統計每個單詞的出現次數,並將最高的x%作爲我搜索主題中最相關的單詞。

這個問題的第一個問題是它不會生成任何短語,因爲它會單獨處理每個單詞,第二個問題是必須有一些東西已經在這個領域完成了,而我在研究過程中提出的結果是:上下文向量(看起來和我想要的非常相似,但實際上它們並不是真的......我認爲......)第二件事是Porter stemmer算法,但後來我意識到,因爲我的原因,後綴化更好......我還看到很多「關鍵字生成器」用於網站增加流量,但我非常懷疑我可以使用任何這些來實現我試圖做的事情。

如果任何人都可以在這個算法或現有的研究,或任何的方向指向我的人,身份證是真的心存感激:)

回答

1

你所尋找的是一個focused crawler。看看BootCat。 BootCat將關鍵字提取爲n-gram,但您可以使用自己的算法從網頁中提取關鍵字(而不是將空格分隔的字符串提取爲單詞)。您也可以使用一些庫或REST API來提取關鍵字,這會爲您提取多個關鍵字。 Here,在「外部鏈接」部分中,您可以找到一些關鍵字提取器的列表。