Cách tiếp cận chung để trích xuất văn bản chính từ câu (nlp)


27

Cho một câu như:

Complimentary gym access for two for the length of stay ($12 value per person per day)

Cách tiếp cận chung nào tôi có thể thực hiện để xác định từ tập thể dục hoặc truy cập phòng tập thể dục?


Nhìn vào Termine và các giấy tờ liên quan đến dự án: nactem.ac.uk/software/termine
MrMeritology 14/03/2015

Câu trả lời:


30

Shallow N atural L anguage P có thể được sử dụng để trích xuất các khái niệm từ câu.

-------------------------------------------

Các bước kỹ thuật NLP nông:

1) Chuyển câu thành chữ thường

2) Xóa từ khóa (đây là những từ phổ biến được tìm thấy trong một ngôn ngữ. Các từ như for, rất, và, của, v.v., là những từ dừng phổ biến)

3) Trích xuất n-gram tức là một chuỗi n mục liên tục từ một chuỗi văn bản đã cho (chỉ cần tăng n, mô hình có thể được sử dụng để lưu trữ nhiều ngữ cảnh hơn)

4) Gán nhãn cú pháp (danh từ, động từ, v.v.)

5) Khai thác kiến ​​thức từ văn bản thông qua phương pháp phân tích ngữ nghĩa / cú pháp, tức là cố gắng giữ lại những từ có trọng số cao hơn trong một câu như Danh từ / Động từ

-------------------------------------------

Hãy kiểm tra kết quả của việc áp dụng các bước trên cho câu đã cho của bạn Complimentary gym access for two for the length of stay ($12 value per person per day).

Kết quả 1 gram: phòng tập thể dục, quyền truy cập, thời lượng, lưu trú, giá trị, người, ngày

Summary of step 1 through 4 of shallow NLP:

1-gram          PoS_Tag   Stopword (Yes/No)?    PoS Tag Description
-------------------------------------------------------------------    
Complimentary   NNP                             Proper noun, singular
gym             NN                              Noun, singular or mass
access          NN                              Noun, singular or mass
for             IN         Yes                  Preposition or subordinating conjunction
two             CD                              Cardinal number
for             IN         Yes                  Preposition or subordinating conjunction
the             DT         Yes                  Determiner
length          NN                              Noun, singular or mass
of              IN         Yes                  Preposition or subordinating conjunction
stay            NN                              Noun, singular or mass
($12            CD                              Cardinal number
value           NN                              Noun, singular or mass
per             IN                              Preposition or subordinating conjunction
person          NN                              Noun, singular or mass
per             IN                              Preposition or subordinating conjunction
day)            NN                              Noun, singular or mass

Step 4: Retaining only the Noun/Verbs we end up with gym, access, length, stay, value, person, day

Hãy tăng n để lưu trữ nhiều ngữ cảnh hơn và loại bỏ các từ khóa.

Kết quả 2 gram: phòng tập thể dục miễn phí, quyền sử dụng phòng tập thể dục, thời gian lưu trú, giá trị lưu trú

Summary of step 1 through 4 of shallow NLP:

2-gram              Pos Tag
---------------------------
access two          NN CD
complimentary gym   NNP NN
gym access          NN NN
length stay         NN NN
per day             IN NN
per person          IN NN
person per          NN IN
stay value          NN NN
two length          CD NN
value per           NN IN

Step 5: Retaining only the Noun/Verb combination we end up with complimentary gym, gym access, length stay, stay value

Kết quả 3 gram: truy cập phòng tập thể dục miễn phí, giá trị thời gian lưu trú, người mỗi ngày

Summary of step 1 through 4 of shallow NLP:

3-gram                      Pos Tag
-------------------------------------
access two length           NN CD NN
complimentary gym access    NNP NN NN
gym access two              NN NN CD
length stay value           NN NN NN
per person per              IN NN IN
person per day              NN IN NN
stay value per              NN NN IN
two length stay             CD NN NN
value per person            NN IN NN


Step 5: Retaining only the Noun/Verb combination we end up with complimentary gym access, length stay value, person per day

Những điều cần nhớ:

  • Tham khảo ngân hàng cây Penn để hiểu mô tả thẻ PoS https://www.ling.upenn.edu/cifts/Fall_2003/ling001/penn_treebank_pose.html
  • Tùy thuộc vào dữ liệu của bạn và bối cảnh kinh doanh, bạn có thể quyết định giá trị n để trích xuất n-gram từ câu
  • Thêm từ dừng cụ thể của tên miền sẽ tăng chất lượng trích xuất khái niệm / chủ đề
  • Kỹ thuật NLP sâu sẽ cho kết quả tốt hơn, thay vì n-gram, phát hiện các mối quan hệ trong các câu và biểu diễn / diễn đạt dưới dạng cấu trúc phức tạp để giữ lại ngữ cảnh. Để biết thêm thông tin, vui lòng tham khảo /stats//a/133680/66708

Công cụ:

Bạn có thể xem xét sử dụng OpenNLP / StanfordNLP cho việc gắn thẻ Bài phát biểu. Hầu hết các ngôn ngữ lập trình đều có thư viện hỗ trợ cho OpenNLP / StanfordNLP. Bạn có thể chọn ngôn ngữ dựa trên sự thoải mái của bạn. Dưới đây là mã R mẫu mà tôi đã sử dụng để gắn thẻ PoS.

Mã R mẫu:

Sys.setenv(JAVA_HOME='C:\\Program Files\\Java\\jre7') # for 32-bit version
library(rJava)
require("openNLP")
require("NLP")

s <- paste("Complimentary gym access for two for the length of stay $12 value per person per day")

tagPOS <-  function(x, ...) {
  s <- as.String(x)
    word_token_annotator <- Maxent_Word_Token_Annotator()
    a2 <- Annotation(1L, "sentence", 1L, nchar(s))
    a2 <- annotate(s, word_token_annotator, a2)
    a3 <- annotate(s, Maxent_POS_Tag_Annotator(), a2)
    a3w <- a3[a3$type == "word"]
    POStags <- unlist(lapply(a3w$features, `[[`, "POS"))
    POStagged <- paste(sprintf("%s/%s", s[a3w], POStags), collapse = " ")
    list(POStagged = POStagged, POStags = POStags)
  }

  tagged_str <-  tagPOS(s)
  tagged_str

#$POStagged
#[1] "Complimentary/NNP gym/NN access/NN for/IN two/CD for/IN the/DT length/NN of/IN stay/NN $/$ 12/CD value/NN per/IN     person/NN per/IN day/NN"
#
#$POStags
#[1] "NNP" "NN"  "NN"  "IN"  "CD"  "IN"  "DT"  "NN"  "IN"  "NN"  "$"   "CD" 
#[13] "NN"  "IN"  "NN"  "IN"  "NN" 

Bài đọc thêm về Shallow & Deep NLP:

  • Xử lý NLP nông và sâu cho việc học bản thể học: Tổng quan nhanh Bấm vào đây

  • Tích hợp nông và sâu NLP để khai thác thông tin Bấm vào đây


Câu trả lời xuất sắc (+1). Chỉ cần một đề xuất: nếu có thể, hãy cung cấp tài liệu hoặc, ít nhất, các tài liệu tham khảo chung cho kỹ thuật NLP nông mà bạn đã đề cập.
Alexanderr Blekh

1
Cảm ơn bạn rất nhiều. Hai câu hỏi, tôi có thể làm điều này với nltk không? Tôi có thể sử dụng tf-idf để làm tương tự không, sau đó lấy những từ độc đáo nhất (điểm cao nhất) làm từ khóa của tôi?
William Falcon

@ Alexanderr Blekh, cảm ơn. Tôi đã thêm các liên kết đọc bổ sung để tìm hiểu thêm về NLP nông và sâu. Hy vọng điều này sẽ giúp
Manohar Swamynathan

@ William Falcon, cảm ơn. 1) Có, bạn có thể sử dụng nltk 2) Hoàn toàn có thể sử dụng TF-IDF Nếu bạn đang cố gắng tìm khái niệm hoặc chủ đề ở cấp độ tài liệu.
Manohar Swamynathan

3

Bạn cần phân tích cấu trúc câu và trích xuất các loại cú pháp quan tâm tương ứng (trong trường hợp này, tôi nghĩ đó sẽ là cụm danh từ , là một phạm trù ). Để biết chi tiết, xem bài viết Wikipedia tương ứng và chương "Phân tích cấu trúc câu" của cuốn sách NLTK.

Liên quan đến các công cụ phần mềm có sẵn để thực hiện cách tiếp cận nêu trên và hơn thế nữa, tôi khuyên bạn nên xem xét NLTK (nếu bạn thích Python) hoặc phần mềm StanfordNLP (nếu bạn thích Java). Đối với nhiều khung NLP khác, thư viện và lập trình hỗ trợ các ngôn ngữ khác nhau, hãy xem các phần tương ứng (NLP) trong danh sách giám tuyển tuyệt vời này .


0

Nếu bạn là người dùng R, có rất nhiều thông tin thiết thực tại http://www.rdatamining.com . Nhìn vào các ví dụ khai thác văn bản của họ.
Ngoài ra, hãy xem gói tm.
Đây cũng là một trang tổng hợp tốt- http://www.tapor.ca/


Liên kết không được coi là câu trả lời hợp lệ trên trang web này. Vui lòng trả lời câu hỏi ban đầu trong bài đăng của bạn và sử dụng các liên kết để bổ sung cho câu trả lời của bạn.
sheldonkreger
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.