如何在 Natural Language Processing 中進行 N-gram 語言建模

N-gram 是 NLP 建模中的 n 個單詞的序列。這種技術如何在語言建模中有用?

介紹

語言建模用於確定單詞序列的概率。這種建模有大量的應用,即語音識別、垃圾郵件過濾等[1]。

自然語言處理 (NLP)

自然語言處理 (NLP) 是人工智能 (AI) 和語言學的融合。它用於使計算機理解用人類語言編寫的單詞或語句。NLP 的開發是為了使與計算機的工作和交流變得容易和令人滿意。由於無法通過機器的特定語言了解所有計算機用戶,因此 NLP 更適合沒有時間學習機器新語言的用戶。我們可以將語言定義為一組規則或符號。符號組合起來傳達信息。他們被一套規則所壓制。NLP 分為自然語言理解和自然語言生成兩部分,自然語言生成演變了理解和生成文本的任務。
 

NLP的分類
圖1 NLP的分類

語言建模方法

語言模型分類如下:

統計語言建模:在這種建模中,有概率模型的發展。該概率模型預測序列中的下一個單詞。例如 N-gram 語言建模。該建模可用於消除輸入的歧義。它們可用於選擇可能的解決方案。這種建模依賴於概率論。概率是預測某事發生的可能性。

神經語言建模:對於獨立模型以及將模型合併到具有挑戰性任務(即語音識別和機器翻譯)的更大模型中時,神經語言建模比經典方法提供更好的結果。執行神經語言建模的一種方法是通過詞嵌入 [1]。

NLP 中的 N-gram 建模

N-gram 是 NLP 建模中的 N 個單詞的序列。考慮一個建模語句的例子。“我喜歡看歷史書和看紀錄片”。在 one-gram 或 unigram 中,有一個單詞序列。至於上面的說法,一克可以是“我”、“愛”、“歷史”、“書”、“和”、“看”、“紀錄片”。在二元或二元中,有兩個詞的序列,即“我愛”、“愛閱讀”或“歷史書”。在三元組或三元組中,有三個單詞序列,即“我喜歡閱讀”、“歷史書籍”或“和看紀錄片”[3]。下面的圖 2 [5] 中給出了 N-gram 建模的說明,即 N=1,2,3。

Uni-gram、Bi-gram 和 Tri-gram 模型
圖 2 Uni-gram、Bi-gram 和 Tri-gram 模型

對於 N-1 個單詞,N-gram 模型會預測最常出現的可以遵循序列的單詞。該模型是在文本集合上訓練的概率語言模型。該模型在語音識別和機器翻譯等應用中很有用。一個簡單的模型有一些限制,可以通過平滑、插值和回退來改進。因此,N-gram 語言模型是關於尋找單詞序列的概率分佈。考慮句子,即“有大雨”和“有大洪水”。通過使用經驗,可以說第一種說法是好的。N-gram 語言模型告訴我們,“大雨”比“大洪水”更頻繁地發生。所以,第一個語句更有可能發生,然後將由該模型選擇。在 one-gram 模型中,該模型通常依賴於哪個詞經常出現,而不考慮前面的詞。在 2-gram 中,只考慮前一個詞來預測當前詞。在 3-gram 中,考慮了之前的兩個單詞。在 N-gram 語言模型中,計算以下概率:

P (“There was heavy rain”) = P (“There”, “was”, “heavy”, “rain”) = P (“There”) P (“was” |“There”) P (“heavy”| “There was”) P (“rain” |“There was heavy”).

由於通過使用“馬爾可夫假設”來計算條件概率是不切實際的,因此將其近似為二元模型 [4]:

P (“There was heavy rain”) ~ P (“There”) P (“was” |“'There”) P (“heavy” |“was”) P (“rain” |“heavy”)

N-gram 模型在 NLP 中的應用

在語音識別中,輸入可能是嘈雜的。這種噪音會導致錯誤的語音向文本轉換。N-gram 語言模型通過使用概率知識來糾正噪聲。同樣,該模型用於機器翻譯,以在目標語言和指定語言中生成更自然的語句。對於拼寫錯誤更正,字典有時是無用的。例如,根據字典,“大約十五分鐘”“小步舞曲”是一個有效的詞,但在短語中是不正確的。N-gram 語言模型可以糾正這種類型的錯誤。

N-gram 語言模型通常處於單詞級別。它還用於在字符級別進行詞幹提取,即將根詞與後綴分開。通過查看 N-gram 模型,可以在美國和英國的拼寫之間對語言進行分類或區分。許多應用程序都從 N-gram 模型中受益,包括部分語音的標記、自然語言生成、單詞相似性和情感提取。[4]。

NLP 中 N-gram 模型的局限性

N-gram 語言模型也有一些限制。詞彙量不足的單詞存在問題。這些話是在測試期間,而不是在訓練中。一種解決方案是使用固定詞彙,然後將訓練中的詞彙轉換為偽詞。在情感分析中實施時,二元模型的性能優於一元模型,但特徵數量增加了一倍。因此,將 N-gram 模型擴展到更大的數據集或移動到更高階需要更好的特徵選擇方法。N-gram 模型很難捕捉到長距離上下文。每 6 克後顯示,性能增益有限。 

來源:  https ://www.kdnuggets.com

#ngram #naturallanguageprocessing #nlp 

What is GEEK

Buddha Community

如何在 Natural Language Processing 中進行 N-gram 語言建模
Ray  Patel

Ray Patel

1623250620

Introduction to Natural Language Processing

We’re officially a part of a digitally dominated world where our lives revolve around technology and its innovations. Each second the world produces an incomprehensible amount of data, a majority of which is unstructured. And ever since Big Data and Data Science have started gaining traction both in the IT and business domains, it has become crucial to making sense of this vast trove of raw, unstructured data to foster data-driven decisions and innovations. But how exactly are we able to give coherence to the unstructured data?

The answer is simple – through Natural Language Processing (NLP).

Natural Language Processing (NLP)

In simple terms, NLP refers to the ability of computers to understand human speech or text as it is spoken or written. In a more comprehensive way, natural language processing can be defined as a branch of Artificial Intelligence that enables computers to grasp, understand, interpret, and also manipulate the ways in which computers interact with humans and human languages. It draws inspiration both from computational linguistics and computer science to bridge the gap that exists between human language and a computer’s understanding.

Deep Learning: Dive into the World of Machine Learning!

The concept of natural language processing isn’t new – nearly seventy years ago, computer programmers made use of ‘punch cards’ to communicate with the computers. Now, however, we have smart personal assistants like Siri and Alexa with whom we can easily communicate in human terms. For instance, if you ask Siri, “Hey, Siri, play me the song Careless Whisper”, Siri will be quick to respond to you with an “Okay” or “Sure” and play the song for you! How cool is that?

Nope, it is not magic! It is solely possible because of NLP powered by AI, ML, and Deep Learning technologies. Let’s break it down for you – as you speak into your device, it becomes activated. Once activated, it executes a specific action to process your speech and understand it. Then, very cleverly, it responds to you with a well-articulated reply in a human-like voice. And the most impressive thing is that all of this is done in less than five seconds!

#artificial intelligence #big data #data sciences #machine learning #natural language processing #introduction to natural language processing

Paula  Hall

Paula Hall

1623392820

Structured natural language processing with Pandas and spaCy

Accelerate analysis by bringing structure to unstructured data

Working with natural language data can often be challenging due to its lack of structure. Most data scientists, analysts and product managers are familiar with structured tables, consisting of rows and columns, but less familiar with unstructured documents, consisting of sentences and words. For this reason, knowing how to approach a natural language dataset can be quite challenging. In this post I want to demonstrate how you can use the awesome Python packages, spaCy and Pandas, to structure natural language and extract interesting insights quickly.

Introduction to Spacy

spaCy is a very popular Python package for advanced NLP — I have a beginner friendly introduction to NLP with SpaCy here. spaCy is the perfect toolkit for applied data scientists when working on NLP projects. The api is very intuitive, the package is blazing fast and it is very well documented. It’s probably fair to say that it is the best general purpose package for NLP available. Before diving into structuring NLP data, it is useful to get familiar with the basics of the spaCy library and api.

After installing the package, you can load a model (in this case I am loading the simple Engilsh model, which is optimized for efficiency rather than accuracy) — i.e. the underlying neural network has fewer parameters.

import spacy
nlp = spacy.load("en_core_web_sm")

We instantiate this model as nlp by convention. Throughout this post I’ll work with this dataset of famous motivational quotes. Let’s apply the nlp model to a single quote from the data and store it in a variable.

#analytics #nlp #machine-learning #data-science #structured natural language processing with pandas and spacy #natural language processing

Sival Alethea

Sival Alethea

1624381200

Natural Language Processing (NLP) Tutorial with Python & NLTK

This video will provide you with a comprehensive and detailed knowledge of Natural Language Processing, popularly known as NLP. You will also learn about the different steps involved in processing the human language like Tokenization, Stemming, Lemmatization and more. Python, NLTK, & Jupyter Notebook are used to demonstrate the concepts.

📺 The video in this post was made by freeCodeCamp.org
The origin of the article: https://www.youtube.com/watch?v=X2vAabgKiuM&list=PLWKjhJtqVAbnqBxcdjVGgT3uVR10bzTEB&index=16
🔥 If you’re a beginner. I believe the article below will be useful to you ☞ What You Should Know Before Investing in Cryptocurrency - For Beginner
⭐ ⭐ ⭐The project is of interest to the community. Join to Get free ‘GEEK coin’ (GEEKCASH coin)!
☞ **-----CLICK HERE-----**⭐ ⭐ ⭐
Thanks for visiting and watching! Please don’t forget to leave a like, comment and share!

#natural language processing #nlp #python #python & nltk #nltk #natural language processing (nlp) tutorial with python & nltk

Murray  Beatty

Murray Beatty

1597712044

Natural Language Market To Surpass $40 Billion By 2025

Initial setup costs remain a barrier to market growth, as well as a lack of skilled professionals to implement NLP.

The natural language processing market, which includes machine translation, information extraction, summarization, text classification and sentiment analysis, is expected to reach a $41 billion valuation by 2025.

An increase in demand for analyzing conversations and social media, alongside other customer experience enhancements, are considered key drivers for NLP, according to Adroit Market Research.

#artificial intelligence technologies #trending now #adroit market research #artificial intelligence #natural language #natural language processing

如何在 Natural Language Processing 中進行 N-gram 語言建模

N-gram 是 NLP 建模中的 n 個單詞的序列。這種技術如何在語言建模中有用?

介紹

語言建模用於確定單詞序列的概率。這種建模有大量的應用,即語音識別、垃圾郵件過濾等[1]。

自然語言處理 (NLP)

自然語言處理 (NLP) 是人工智能 (AI) 和語言學的融合。它用於使計算機理解用人類語言編寫的單詞或語句。NLP 的開發是為了使與計算機的工作和交流變得容易和令人滿意。由於無法通過機器的特定語言了解所有計算機用戶,因此 NLP 更適合沒有時間學習機器新語言的用戶。我們可以將語言定義為一組規則或符號。符號組合起來傳達信息。他們被一套規則所壓制。NLP 分為自然語言理解和自然語言生成兩部分,自然語言生成演變了理解和生成文本的任務。
 

NLP的分類
圖1 NLP的分類

語言建模方法

語言模型分類如下:

統計語言建模:在這種建模中,有概率模型的發展。該概率模型預測序列中的下一個單詞。例如 N-gram 語言建模。該建模可用於消除輸入的歧義。它們可用於選擇可能的解決方案。這種建模依賴於概率論。概率是預測某事發生的可能性。

神經語言建模:對於獨立模型以及將模型合併到具有挑戰性任務(即語音識別和機器翻譯)的更大模型中時,神經語言建模比經典方法提供更好的結果。執行神經語言建模的一種方法是通過詞嵌入 [1]。

NLP 中的 N-gram 建模

N-gram 是 NLP 建模中的 N 個單詞的序列。考慮一個建模語句的例子。“我喜歡看歷史書和看紀錄片”。在 one-gram 或 unigram 中,有一個單詞序列。至於上面的說法,一克可以是“我”、“愛”、“歷史”、“書”、“和”、“看”、“紀錄片”。在二元或二元中,有兩個詞的序列,即“我愛”、“愛閱讀”或“歷史書”。在三元組或三元組中,有三個單詞序列,即“我喜歡閱讀”、“歷史書籍”或“和看紀錄片”[3]。下面的圖 2 [5] 中給出了 N-gram 建模的說明,即 N=1,2,3。

Uni-gram、Bi-gram 和 Tri-gram 模型
圖 2 Uni-gram、Bi-gram 和 Tri-gram 模型

對於 N-1 個單詞,N-gram 模型會預測最常出現的可以遵循序列的單詞。該模型是在文本集合上訓練的概率語言模型。該模型在語音識別和機器翻譯等應用中很有用。一個簡單的模型有一些限制,可以通過平滑、插值和回退來改進。因此,N-gram 語言模型是關於尋找單詞序列的概率分佈。考慮句子,即“有大雨”和“有大洪水”。通過使用經驗,可以說第一種說法是好的。N-gram 語言模型告訴我們,“大雨”比“大洪水”更頻繁地發生。所以,第一個語句更有可能發生,然後將由該模型選擇。在 one-gram 模型中,該模型通常依賴於哪個詞經常出現,而不考慮前面的詞。在 2-gram 中,只考慮前一個詞來預測當前詞。在 3-gram 中,考慮了之前的兩個單詞。在 N-gram 語言模型中,計算以下概率:

P (“There was heavy rain”) = P (“There”, “was”, “heavy”, “rain”) = P (“There”) P (“was” |“There”) P (“heavy”| “There was”) P (“rain” |“There was heavy”).

由於通過使用“馬爾可夫假設”來計算條件概率是不切實際的,因此將其近似為二元模型 [4]:

P (“There was heavy rain”) ~ P (“There”) P (“was” |“'There”) P (“heavy” |“was”) P (“rain” |“heavy”)

N-gram 模型在 NLP 中的應用

在語音識別中,輸入可能是嘈雜的。這種噪音會導致錯誤的語音向文本轉換。N-gram 語言模型通過使用概率知識來糾正噪聲。同樣,該模型用於機器翻譯,以在目標語言和指定語言中生成更自然的語句。對於拼寫錯誤更正,字典有時是無用的。例如,根據字典,“大約十五分鐘”“小步舞曲”是一個有效的詞,但在短語中是不正確的。N-gram 語言模型可以糾正這種類型的錯誤。

N-gram 語言模型通常處於單詞級別。它還用於在字符級別進行詞幹提取,即將根詞與後綴分開。通過查看 N-gram 模型,可以在美國和英國的拼寫之間對語言進行分類或區分。許多應用程序都從 N-gram 模型中受益,包括部分語音的標記、自然語言生成、單詞相似性和情感提取。[4]。

NLP 中 N-gram 模型的局限性

N-gram 語言模型也有一些限制。詞彙量不足的單詞存在問題。這些話是在測試期間,而不是在訓練中。一種解決方案是使用固定詞彙,然後將訓練中的詞彙轉換為偽詞。在情感分析中實施時,二元模型的性能優於一元模型,但特徵數量增加了一倍。因此,將 N-gram 模型擴展到更大的數據集或移動到更高階需要更好的特徵選擇方法。N-gram 模型很難捕捉到長距離上下文。每 6 克後顯示,性能增益有限。 

來源:  https ://www.kdnuggets.com

#ngram #naturallanguageprocessing #nlp