我想從200個單詞的列表中創建一些排列 - 這顯然會產生一個問題,因爲這會導致一些可能的巨大數量的可能排列(短語中最多5個單詞)。爲了有效地限制這個號碼我有一個雙管齊下的攻擊:如何篩選單詞排列以僅查找語義正確的ngrams? (Python 3,NLTK)
- 通過POS濾波器通的話,這樣只在語言聲音短語創建和
- 過濾器由那些實際的n-gram的排列 - 即有很高的PMI /可能性分數。
這一概念的第二部分有我不知道 - 我知道,NLTK提供找n元語法的能力,但我每次看到示例分析語料庫,因爲需要一個freqdist這是有道理的。 但是,是否有可能找到單詞置換的PMI?
基於在自定義語料庫中找到的常見搭配,是否可以找到我的單詞排列的PMI分數?可以手動完成嗎?
例如,雖然置換(詳細的茶)在語言上是合理的,但它不是一個上下文良好的置換。
我知道在一段文本/語料庫中找到常見搭配的代碼,但這是一個非常獨特的問題,我希望有人可以提供一些建議。至少,幫我把頭繞在這!
例
**KW**
Ball
Bat
Pinch
Home
Run
Base
Hitter
Pitcher
Call
etc...
更多的背景: 現在,有許多可從該列表中進行排列的,但只有少數是實際上是有意義的。通過POS過濾器傳遞此列表可以讓我創建具有語言意義的關鍵字 - 但不是那些語義上正確的關鍵字,即「Call Ball Hitter」。這是我的努力,以某種方式創建基於某種評分標準(如PMI)的語義正確排列。現在我的想法是刮掉一個網站,即http://en.wikipedia.org/wiki/Baseball,在它內部找到常見的ngram,然後基於該語料庫以某種方式判斷關鍵字排列的相對語義強度。但是我很難將這個概念化,並且我不確定它是否可能。但是,真的,我很想聽聽有關如何有效查找ngram排列的其他想法!這裏的練習歸結爲有效地消除無意義的排列,而無需手動對所有內容進行分類/評分!
你能舉一些這個問題的例子嗎? – 2014-09-07 05:21:56
你能定義PMI嗎? – 2014-09-07 13:10:04