如題,簡單一點的功能是如何對一份英文 API 開發(fā)文件進行詞頻的統(tǒng)計? (文件可能是多個 html 文件,也可能是 chm 文件,不是簡單的 txt 文字);
複雜一點的需求是,因為開發(fā)文件涉及很多類別名稱、函數(shù)或方法名稱等,單字可能會連在一起,統(tǒng)計時最好能夠分開(這個可以根據(jù)命名規(guī)則來分開);
再複雜一點的需求是,因為單純統(tǒng)計一個文件的詞頻沒多大的實際意義,如何將統(tǒng)計後的單字再加工處理:
剔除一些簡單的,並對開發(fā)來說沒多大意義的單詞,如 the, are, to, is……
分析出裡面涉及電腦的專業(yè)名詞、程式設(shè)計中特定意義的單字或程式語言的關(guān)鍵字(涉及文件對應(yīng)的不同語言);
對最終分析出的單字標(biāo)註出解釋(中文,可以透過第三方 API)…
#如果開發(fā)具有上述功能的軟體,具體需要涉及哪些技術(shù)? 歡迎提供你的想法…
呃,其實我的痛點是,看一份英文文檔時,有太多不懂的單詞,經(jīng)常要去查單詞,效率太低了,如果有一個工具可以統(tǒng)計分析出一份文件的詞彙,就可以在看文檔前大致熟悉詞彙的意思,提高效率;而且對於開發(fā)時,命名也有幫助……
修改備註:
分開連在一起的單字確實不是分詞技術(shù),之前說錯了;
原問題提到的運用機器學(xué)習(xí),我的想法是這樣的:一個具有機器學(xué)習(xí)的軟體大量閱讀編程的開發(fā)文檔,找出裡面的專業(yè)術(shù)語,使整個功能的實現(xiàn)更加智能化……當(dāng)然這是我瞎想的,不一定對,不喜勿噴;
#最後,我提到的看英文文件的問題,誰都有剛開始看不懂,效率低的階段,誰不知道多看,效率就會慢慢提高?道理大家都懂…但是,這個不是我們討論的重點,我只是有這麼個想法,提出來讓大家討??論下而已
#另外,提的問題如果有錯,可以留言,我會修改,能不踩嗎?
業(yè)精于勤,荒于嬉;行成于思,毀于隨。
準(zhǔn)備考研,很久沒寫過程式碼了,不過大概思路應(yīng)該是:
清洗過濾:對於html,先把內(nèi)容過濾出來,你可以自己寫正規(guī)或用找點別人寫好的
單字分詞:先用空格等常見的分隔符號對單字過濾,再根據(jù)不同的語言命名規(guī)範(fàn)找出一個個的單字
過濾常用字:在網(wǎng)路上應(yīng)該可以找到英文常用字的文件,配對
WordCount:可以直接單純的用python自己實現(xiàn)MapReduce的過濾,或是Hadoop、Spark之類的也可以
到此為止就完成了過濾簡單詞的單詞統(tǒng)計了
關(guān)於統(tǒng)計出計算機相關(guān)詞,你需要網(wǎng)上下載計算機相關(guān)詞彙的數(shù)據(jù)文件,直接匹配即可
需要給出解釋的話,調(diào)用有道、百度翻譯的api即可,不過這些API可能有次數(shù)上限,我沒用過。
以上所說步驟都沒有考慮效率的問題,如果需要考慮效率問題,還需要使用到些演算法或直接使用別人寫好的類別庫。
關(guān)於你所說到的機器學(xué)習(xí),這裡的需求暫時不需要、且沒必要使用到。
最後:我還是想說,想讀懂文檔的最快的辦法就是多讀文檔,堅持讀下來,你會發(fā)現(xiàn)讀文檔的速度會越來越快。不過把這個當(dāng)成練手的項目,也算是做了點有趣的事情。
關(guān)於問題修改後的回應(yīng):
你提及的機器學(xué)習(xí),目前大體上是有監(jiān)督式和非監(jiān)督式,但根據(jù)你的提及:
一個具有機器學(xué)習(xí)的軟體大量閱讀程式設(shè)計的開發(fā)文檔,找出裡面的專業(yè)術(shù)語,使整個功能的實現(xiàn)更加智能化…
如果採用監(jiān)督式學(xué)習(xí)那必然需要語料資料的支持,而如果已經(jīng)有語料資料何不直接用字串匹配實現(xiàn)?
當(dāng)採用非監(jiān)督式學(xué)習(xí),目前我也是初學(xué),依我的理解,似乎只能達(dá)到聚類的效果,若想自動識別是計算機術(shù)語,必然還是需要人工標(biāo)註或者數(shù)據(jù)的支持
如果再往下深究,就需要好好研究NLP了
我覺得你好像對機器學(xué)習(xí)感興趣,但我感覺這個不是機器學(xué)習(xí)練手的一個好項目。
這個應(yīng)該不叫英語分詞,分詞應(yīng)該指以句子成分來劃分。連在一次的變數(shù)名稱可以考慮以常見的命名方式識別,例如大小寫的Camel-Case、底線分割的 Underscores 等。
分詞可以找各種 Word Splitting 函式庫,python 應(yīng)該有很多。計算機的專業(yè)名詞下載詞庫,單字提取後跟詞庫匹配得到釋義。
但其實即使做出來也不一定能更方便閱讀,光看單字有點曲線救國的感覺,很可能根本看不進去。電腦文章的詞彙量不多,一回生兩回熟,優(yōu)化查詞體驗比較妥,推薦 collins雙解 結(jié)合 Macmillan ,MDict 或歐路字典都可以載入。 Chrome 也可以裝 Saladict 沙拉查詞。