Giới thiệu các công cụ Xử lý ngôn ngữ tự nhiên

NLP tools
NLP tools

Nếu bạn đang làm việc và nghiên cứu trên ngôn ngữ tiếng Anh thì ta có thể sử dụng các thư viện/module NLP của Python được liệt kê bên dưới. Mục đích của bài viết này được dùng để liệt kê những thư viện/module và những chức năng hữu ích trong NLP. Các bạn có thể tham khảo danh sách các thuật ngữ liên quan đến các chức năng ở bài viết này.

NLTK

  • classification
  • tokenization
  • stemming
  • tagging
  • parsing
  • semantic reasoning

Pattern

  • part-of-speech taggers
  • n-gram search
  • sentiment analysis
  • WordNet
  • vector space model
  • clustering
  • classification (KNN, SVM, Perceptron)

TextBlob

  • Noun phrase extraction
  • Part-of-speech tagging
  • Sentiment analysis
  • Classification (Naive Bayes, Decision Tree)
  • Language translation and detection powered by Google Translate
  • Tokenization (splitting text into words and sentences)
  • Word and phrase frequencies
  • Parsing
  • n-grams
  • Word inflection (pluralization and singularization) and lemmatization
  • Spelling correction
  • Add new models or languages through extensions
  • WordNet integration

GenSim

  • All algorithms are memory-independent w.r.t. the corpus size (can process input larger than RAM, streamed, out-of-core),
  • Intuitive interfaces
    • easy to plug in your own input corpus/datastream (trivial streaming API)
    • easy to extend with other Vector Space algorithms (trivial transformation API)
  • Efficient multicore implementations of popular algorithms, such as online Latent Semantic Analysis (LSA/LSI/SVD), Latent Dirichlet Allocation (LDA), Random Projections (RP), Hierarchical Dirichlet Process (HDP) or word2vec deep learning.
  • Distributed computing: can run Latent Semantic Analysis and Latent Dirichlet Allocation on a cluster of computers.
  • Extensive HTML documentation and tutorials.

PyNLPl

  • extraction of n-grams and frequency lists, and to build simple language model
  • complex data types, such as Priority Queues
  • search algorithms, such as Beam Search

spaCy

  • Labelled dependency parsing (91.8% accuracy on OntoNotes 5)
  • Named entity recognition (82.6% accuracy on OntoNotes 5)
  • Part-of-speech tagging (97.1% accuracy on OntoNotes 5)
  • Easy to use word vectors
  • All strings mapped to integer IDs
  • Export to numpy data arrays
  • Alignment maintained to original string, ensuring easy mark up calculation
  • Range of easy-to-use orthographic features.
  • No pre-processing required. spaCy takes raw text as input, warts and newlines and all.

MontyLingua

  • information retrieval and extraction
  • request processing
  • question answering
  • MontyTokenizer – Tokenizes raw English text (sensitive to abbreviations), and resolve contractions, e.g. “you’re” ==> “you are”
  • MontyTagger – Part-of-speech tagging based on Brill94, enriched with common sense.
  • MontyChunker – Lightning fast regular expression chunker
  • MontyExtractor – Extracts phrases and subject/verb/object triplets from sentences
  • MontyLemmatiser – Strips inflectional morphology, i.e. changes verbs to infinitive form and nouns to singular form
  • MontyNLGenerator – Uses MontyLingua’s concise predicate-arg representation to generate naturalistic English sentences and text summaries

Others

Tham khảo thêm các module khác của Python

Advertisement

Một suy nghĩ 4 thoughts on “Giới thiệu các công cụ Xử lý ngôn ngữ tự nhiên

      1. anh có thể chỉ dẫn em được không. Hiện em đang dùng weka để phân lớp các quan điểm bằng tiếng việt. Em không biết cách convert string to word vector như thế nào để weka nhận theo các từ ví dụ :”tuyệt vời” mà không phải “tuyệt” và “vời”

        Thích

Trả lời

Điền thông tin vào ô dưới đây hoặc nhấn vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Đăng xuất /  Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Đăng xuất /  Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Đăng xuất /  Thay đổi )

Connecting to %s