2012-03-12 28 views
6

Tôi muốn giải quyết vấn đề chia tách từ (phân tích các từ từ chuỗi dài không có dấu cách). Để kiểm tra, chúng tôi muốn trích xuất các từ từ somelongword thành [some, long, word].Từ tách phương pháp thống kê tách

Chúng tôi có thể đạt được điều này bằng một số cách tiếp cận năng động với từ điển, nhưng một vấn đề khác mà chúng tôi gặp phải là phân tích sự mơ hồ. I E. orcore =>or core hoặc orc ore (Chúng tôi không tính đến nghĩa của cụm từ hoặc một phần của lời nói). Vì vậy, tôi nghĩ về cách sử dụng một số phương pháp thống kê hoặc ML.

Tôi thấy rằng thuật toán Naive Bayes và Viterbi có tập huấn có thể được sử dụng để giải quyết vấn đề này. Bạn có thể chỉ cho tôi một số thông tin về việc áp dụng các thuật toán này cho vấn đề chia tách từ không?

UPD: Tôi đã thực hiện phương pháp này trên Clojure, sử dụng một số lời khuyên từ Peter Norvig code

Trả lời

4

Tôi nghĩ rằng slideshow Peter Norvig và Sebastian Thurn là một điểm tốt để bắt đầu. Nó trình bày công việc thực tế của google.

+0

Cảm ơn, điểm tốt để bắt đầu. Tôi tìm thấy rất nhiều đoạn mã hữu ích trên trang web của Peter Norvig. – mishadoff

+3

Trình chiếu có một số lý do được đưa ra. –

3

Sự cố này hoàn toàn phân tích thành phân đoạn từ bằng nhiều ngôn ngữ Châu Á không mã hóa rõ ràng ranh giới từ (ví dụ: tiếng Trung, tiếng Thái). Nếu bạn muốn nền tảng về các phương pháp tiếp cận vấn đề, tôi khuyên bạn nên xem Google Scholar để biết các phương pháp phân đoạn từ tiếng Trung hiện tại.

Bạn có thể bắt đầu bằng cách xem xét một số phương pháp cũ hơn: Sproat, Richard và Thomas Emerson. 2003. Công cụ phân đoạn từ Trung Quốc quốc tế đầu tiên (http://www.sighan.org/bakeoff2003/paper.pdf)

Nếu bạn muốn có giải pháp làm sẵn, tôi khuyên bạn nên dùng hướng dẫn của LingPipe (http: // alias-i.com/lingpipe/demos/tutorial/chineseTokens/read-me.html). Tôi đã sử dụng nó trên văn bản tiếng Anh chưa được phân tích với kết quả tốt. Tôi đã đào tạo mô hình ngôn ngữ ký tự cơ bản trên một vài triệu từ văn bản mới, nhưng tôi nghi ngờ rằng đối với tác vụ này, bạn sẽ có được hiệu suất hợp lý bằng cách sử dụng bất kỳ văn bản tiếng Anh tương đối bình thường nào.

Họ đã sử dụng hệ thống sửa lỗi chính tả để đề xuất 'sửa đổi' của ứng cử viên (nơi chỉnh sửa ứng viên giống với đầu vào nhưng với khoảng trống được chèn). Công cụ sửa lỗi chính tả dựa trên khoảng cách chỉnh sửa Levenshtein; họ chỉ không cho phép thay thế và chuyển vị, và hạn chế việc chèn chỉ cho phép vào một không gian duy nhất.