簡體   English   中英

在 python 的文本中查找具有特定條件的單詞

[英]Finding words with specific criteria in a text in python

我有一段文字,想找例如

  • 所有動物
  • 所有最高級

有沒有“簡單”的方法來做到這一點?

我對 NLP 完全陌生。 我什至不確定這是否首先是 NLP 問題。 或者這聽起來很簡單,實際上非常復雜?

如果您有關於在此問題上添加/刪除標簽的提示,歡迎所有反饋。

你不需要任何復雜的東西來做到這一點。 它可以通過簡單的字符串匹配來實現,但有一些注意事項:

  1. 動物 - 只需創建您想要識別的動物列表。 您可能可以在 web、Wikipedia 或類似網站上找到動物列表。 復雜之處在於您可能需要修剪復數標記( horse / horses - 我在這里假設是英語)。 您可以簡單地查找列表中的每個單詞,如果它不在列表中並且以-s 結尾,則在剪掉最后的 s后再次查看。 存在不規則復數( ox / oxen ),但其中很少。

  2. 最高級 - 您可以再次創建一個列表。 最高級的 forms 通常以-est結尾,所以只要得到一個英文單詞列表,扔掉所有不以-est結尾的東西,然后 go 通過剩下的單詞去除諸如nest等誤報。還會有一些不規則的。 你想如何對待組合的,比如最美麗的? 在這種情況下,您可能會檢查most后跟一個形容詞。

對於最高級,還有第二個更復雜的選項,那就是使用詞性標注器。 標記您的文本,然后獲取所有已標記為最高級形容詞的單詞。 在大多數英語標簽集中,這將是JJS 但在准確性方面,標注器不一定比單詞列表好,所以這取決於你想在上面花費多少精力。

你舉了這些例子。 對於許多其他類別的單詞,有類似的方法可以相當容易地提取它們,而不需要復雜的機器學習系統。 但不要忘記,創建列表可能是一種技術含量低的解決方案,它可能是最快、最簡單、最准確的解決方案。

是的,有很多方法可以做到這一點。 但我更喜歡使用 Spacy。 你必須訓練自己的 Spacy model 來實現這個 Spacy 有很好的文檔說明如何做到這一點。 這是Spacy的鏈接

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM