文字摘要技術就是你可能以後的事情。但是,作爲一個粗略的啓發式方法,只要你不總是在100%完美的結果上,你可以用一些相對簡單的步驟來做到這一點。
只要您不需要支持在單詞(中文,日文)之間沒有空格的書寫系統,您可以通過查找連續單詞序列的第一對一個任意的閾值,你會花幾天時間調整。 (除了這種啓發式之外,中文和日文將需要合理的分詞識別算法)。
我會從一個HTML解析器(Dotnet中的HTML敏捷包,或者類似於Ruby的Nokogiri或Python的BeautifulSoup,如果您想在提交C#解決方案之前在更多交互式環境中嘗試算法)開始的。
爲了減少搜索空間,使用HTML解析器的功能來減少周圍文本很少或沒有的鏈接序列。這應該會消除大多數導航面板和某些類型的廣告。你可以進一步擴展它來尋找鏈接後面有文字但沒有標點的鏈接;這將消除描述性鏈接。
如果您開始看到文本後面跟着「。」。或者「,」用5個或更多的單詞(你可以稍後嘗試調整),你會開始將它評分爲潛在句子或句子片段。當你連續發現多次運行時,這個頁面最重要的部分具有相當好的可能性。你可以用它周圍的<p>
標籤評分得高一點。一旦你有相當數量的這些類型的序列,你有「內容」而不是佈局鑲邊的可能性很大。
這不是完美的,您可能需要添加一種機制來根據您經常掃描的有問題的頁面結構調整試探法。但是,如果您基於這種方法構建了某些內容,則應該爲您的內容的80%左右提供相當合理的結果。
如果您發現這種方法不足,您可能需要查看貝葉斯概率或隱馬爾可夫模型作爲改進結果的一種方式。
HTML敏捷包在這裏有幫助嗎? – 2010-02-13 02:48:58