Mathematica實現個性化閱讀之搜索感興趣的句子
個性化閱讀之搜索感興趣的句子
Background
在記憶複習單詞時,我希望看到的都是感興趣的句子,比如出自某一本精讀的書、課本,來加深印象。
曾經考慮過如果我去一家英相關的公司,那麼可以做一個內容推薦系統,給我推薦的學習材料都是我感興趣的,當然只是隨便想想。
搜索畢竟是一個主動的過程,雖然好多年前就實現類似的功能,但是自己也沒有形成規律地去使用這種方式,而推薦、推送則是一種被動的過程。
實現方式
假如你把文章全部放在印象筆記中,這不現實,內容太多,同步受限,少量的還行。 假如你不創建索引,搜索還是為慢。
Mathematica比較方便實現這個,以下內容幾分鐘就能實現。
Case
files = Select[FileNames["*.txt", "/Users/hypergroups/堅果雲/DocumentsFinal/ReadingDataBase", [Infinity]], StringFreeQ[#, "Matlab"] &];
index = CreateSearchIndex@files;
stringTrim := StringReplace[#, {"n" -> "", "----------" ~~ ___ ~~ "Page" ~~ ___ ~~ "-----------" -> ""}] &searchWord[word_] := Block[{},resSearch = TextSearch[index, word];resFile = Normal[resSearch][[1]][[1]]@"Location";data = Import@resFile;
sentences = TextSentences@data;stringTrim /@ Select[sentences, StringContainsQ[#, word] &]]wordList = Import["/Users/hypergroups/堅果雲/常用文檔/Anki/wordlist/WordList-337@2017-11-02.txt", "Data"][[All, 1]];words10 = wordList[[1 ;; 10]]
{bleak,brim,brisk,brittle,cathedral,cement,client,clip,competent,concede}
result = searchWord /@ words10[[1 ;; 10]];
highlightWord[str_, word_] := StringReplace[str, word -> ToString[Style[word, Red, FontSize -> 20], FormatType -> StandardForm]]
Framed /@ MapThread[highlightWord, {result[[All, 1]], words10}]<< "/Users/hypergroups/Documents/Wolfram Mathematica/DeployProjects/MyMarkDown.m"
推薦閱讀:
※如何評價謝孟媛老師的kk音標和文法?
※英文和中文的邏輯性哪個更強,為什麼?
※英語一詞多義現象是怎麼產生的?現狀如何?有哪些有效途徑來提高理解效率?
※英語語言學中的音素,音位,音位變體有什麼區別和聯繫?
TAG:WolframMathematica | 搜索引擎 | 英语 |