因此,對於一個側面的愛好,我正在做一些基本的元數據收集使用項目Gutenberg版本的希羅多德文本挖掘,但我堅持把標記文本字符串轉移到Excel中。基本上我想要做的是創建一個所有人物,地點和團體/組織在希羅多德中提到的主要清單,並在文中提到每個人多少次。然後,我想使用此列表填充Tableau和/或Powerview中的一些數據可視化對象,我都有。記事本+ +將標記文本字符串移動到excel
我已經通過斯坦福大學的NER運行了這個文本,它至少確定了幾乎所有的人員,組織和位置。然後我使用notepad ++來手動檢查文檔,以解決NER在分析古希臘名稱和地點時所犯的大量錯誤。我也從文本中刪除了腳註,因爲我不關心它們,只是原文。如果您下載附件.txt,您會看到每個專有名詞都被標記爲/ PERSON,/ LOCATION或/ ORGANIZATION。
現在,我被困在試圖讓標記的文本字符串變爲Excel,所以我可以使用這些數據。一個簡單的ctr + f揭示了在book1中有880/PERSON標記的單詞。基本上我想要做的是抓住/ PERSON,/ LOCATION或/ ORGANIZATION之前的每一個字符串,並將它們複製到excel中。
我查看了記事本++的Regex表達式,看看我是否可以選擇字符串以/ PERSON結尾的所有文本字符串,但我似乎無法弄清楚。我可以得到正則表達式來選擇所有的「/ PERSON」,但我不明白正則表達式足以讓它選擇所有的「name/PERSON」或「place/LOCATION」字符串,如果這是合理的話。
編輯:我忘了問使用SQL或Python來幫助我解決這個問題。從我的工作中我很熟悉在數據庫上使用SQL查詢。所以這是一個愚蠢的問題,但你甚至可以使用SQL來直接查詢一個.txt文件?如果是這樣,那麼我可以很容易地編寫一個SQL語句來提取標記的文本字符串。
我對Python不太熟悉,但可以通過一些python腳本提取我正在尋找的信息嗎?
最後,我應該問原來的問題。我是否全部錯了?我認爲使用記事本++來糾正斯坦福NER標籤是必要的,但也許直接從標籤.txt到excel是錯誤的方法。
https://www.dropbox.com/s/k5m8yag6tpae05w/HerodotusB1NER.txt
2ND編輯:所以,我終於可以和你們兩個人提供的正則表達式表達玩,他們幾乎完美的工作。但是,我認爲它實際上修剪了一些結果集。
一個完美的例子是在運行正則表達式搜索後,人物「Deïokes」被修剪成「okes/PERSON」。我認爲正則表達式的a-z部分忽略了特殊字母,例如Deïokes中的變音符號。
我該如何調整正則表達式來容忍這些特殊字符?如果正則表達式不能適應這些特殊字符,那麼我認爲它不會過於人力密集地進入並修復它們在這裏和那裏顯示的特殊字符。
歡迎來到Stack Overflow!這是一個相當完善的問題,但與編程本身無關。不過,它與正則表達式和解決問題有很大關係。有人可能會說,它更適合[超級用戶。因爲它是關於工具的。我希望你不介意我的編程方法的答案。 – simbabque
爲了解決您的編輯問題:如果您擁有正確的驅動程序(有時Perl可以做到,Python也可以),可以使用SQL查詢'.csv'文件。但是你沒有CSV,或者你可以在Excel中打開它。我相信你可以很容易地將我的Perl代碼翻譯成Python。或JavaScript,並在瀏覽器中運行它。這是重要的方法。 :) – simbabque