詞性標注 – 除了語法關系,句中單詞的位置(詞性)標記也蘊含着信息,詞的位置定義了它的用途和功能。賓夕法尼亞大學提供了一個完整的位置標記列表。下方代碼則使用了NLTK庫來對輸入的文本進行詞性標注。
from nltk import word_tokenize, pos_tag
text = "I am learning Natural Language Processing on Analytics Vidhya"
tokens = word_tokenize(text)
print pos_tag(tokens)
>>> [('I', 'PRP'), ('am', 'VBP'), ('learning', 'VBG'), ('Natural',
'NNP'),('Language', 'NNP'),('Processing', 'NNP'), ('on', 'IN'),
('Analytics', 'NNP'),('Vidhya', 'NNP')]
在NLP中,詞性標注有個很多重要用途:
A.消除歧義: 一些詞的不同用法代表不同的意思. 如下列兩句:
I. “Please book my flight for Delhi”
II. “I am going to read this book in the flight”
“Book” 在這里代表不同的意義, 好在它在兩句的位置也不同. 第一句“book”是的動詞, 第二句中它是個名詞。 (Lesk Algorithm也被用於類似目的)
B.強化基於單詞的特征: 一個機器學習模型可以從一個詞的很多方面提取信息,但如果一個詞已經標注了詞性,那么它作為特征就能提供更精准的信息。 例如:
句子 -“book my flight, I will read this book”
單詞 – (“book”, 2), (“my”, 1), (“flight”, 1), (“I”, 1), (“will”, 1), (“read”, 1), (“this”, 1)
帶標注的單詞 – (“book_VB”, 1), (“my_PRP$”, 1), (“flight_NN”, 1), (“I_PRP”, 1), (“will_MD”, 1), (“read_VB”, 1), (“this_DT”, 1), (“book_NN”, 1)
譯者注:如果不帶詞性標注,兩個“book”就被認為是同義詞,詞頻為2。這會在后續分析中引入誤差。
C.標准化與詞形還原: 位置標注是詞形還原的基礎步驟之一,可以幫助把單詞還原為基本形式.
D.有效移除停用詞 : 利用位置標記可以有效地去除停用詞。
