Thứ Ba, 14 tháng 4, 2015

NHẬN DIỆN THỰC THỂ CÓ TÊN - LITERATURE REVIEW 

(NAMED ENTITY RECOGNIZATION - NER)

1. GIỚI THIỆU CHUNG

  • Nhận diện thực thể có tên (Named Entity Recognition - NER) là một trong các công việc quan trọng và cơ bản trong xử lí ngôn ngữ tự nhiên. NER giúp hỗ trợ dịch máy tự động, truy xuất/truy vấn thông tin, tóm tắt văn bản, trả lời câu hỏi tự động...
  • Nhận diện thực thể có tên gồm 2 tác vụ con sau đây:
    • Nhận diện thực thể có tên trong văn bản đầu vào
    • Gán nhãn cho các thực thể có tên đã nhận diện được 
  • Tầm quan trọng của việc nhận diện thực thể có tên đã được nhận ra từ khá lâu và được áp dụng rộng rãi để cải thiện các kết quả truy vấn thông tin tại cuộc thi MUC (Message Understanding Conference). Khởi đầu, các hệ thống nhận diện thực thể có tên được phát triển trên chỉ một đơn ngữ nhất định. Tuy nhiên, hiện nay các ứng dụng NER đã được mở rộng trên song ngữ, đa ngữ, ... để tăng độ chính xác nhờ vào các yếu tố bổ sung giữa các ngôn ngữ để khử nhập nhằng và tăng độ sửa lỗi lẫn nhau.
  • Nội dung của bài báo cáo này bao gồm các phần:
    • Nhãn thực thể.
    • Nhận diện thực thể có tên trên đơn ngữ.
    • Nhận diện thực thể có tên trên song ngữ.

2. NHÃN THỰC THỂ

  • Sau khi nhận dạng ra được các thực thể có tên, ta sẽ tiến hành gán nhãn cho thực thể. Loại nhãn, số lượng nhãn rất đa dạng, phụ thuộc vào mục đích của ứng dụng. Tuy nhiên, trong báo cáo này, các nhãn được trình bày theo quy ước của MUC-7 [1]. Nhãn thực thể gồm 7 loại sau đây:
    • Con người (PERSON): tên người và họ, bí danh, nghệ danh, ...
    • Tổ chức (ORGANIZATION): tên tổ chức, cơ quan, chính phủ, công ty, các thực thể mang tính tổ chức ...
    • Địa điểm (LOCATION): tỉnh, thành phố, vùng lãnh thổ, vùng nước, núi, quỹ đạo, cấu trúc địa điểm, các loại công trình ...
    • Ngày (DATE): biểu thức về ngày
    • Thời gian (TIME): biểu thức về thời gian trong ngày
    • Tiền tệ (MONEY): biểu thức tiền tệ
    • Phần trăm (PERCENT): phần trăm
  • Tuy nhiên, trong một số bài báo, nghiên cứu chỉ tập trung vào việc nhận diện và gán nhãn 3 loại nhãn: con người, tổ chức, địa điểm [2], [3], [4] bởi vì các nhãn còn lại tương đối dễ nhận dạng dựa vào từ điển, đặc trưng ngôn ngữ, ...

3. NHẬN DIỆN THỰC THỂ CÓ TÊN TRÊN ĐƠN NGỮ

  • Nhận diện thực thể có tên trên đơn ngữ là hướng tiếp cận đầu tiên và đa dạng nhất tính đến hiện nay. Sự đa dạng của nó nằm ở việc phát triển trên nhiều ngôn ngữ đặc biệt là các ngôn ngữ khan hiếm tài nguyên như tiếng Việt, Hoa, Bengali, ... Trong khi đó, với các ngôn ngữ như tiếng Anh, việc nhận diện thực thể có tên đã đạt được độ chính xác rất cao. Ví dụ trong MUC-7, hệ thống đạt độ chính xác cao nhất F-measure lên tới 93.39 \%. Một số ứng dụng nhận diện thực thể được công bố như: StandfordNER, OpenNLP, NETTagger, GATE...
  • Một số thuật toán được sử dụng trong việc nhận diện thực thể trên đơn ngữ như:
    • Dựa trên luật - đặc trưng ngôn ngữ: [2]
    • Dựa trên ngữ liệu: bao gồm các phương pháp học giám sát, bán giám sát, không giám sát...
      • Decision Tree: [5]
      • Maximum Entropy: [3]
      • Hidden Markov Model (HMM): [6]
      • Conditional Random Fields (CRFs): [7]
      • N-grams model: [8]
      • Học bán giám sát: [9]
    • Phương pháp kết hợp: là việc kết hợp nhiều phương pháp như kết hợp luật với các thuật toán máy học, kết hợp nhiều thuật toán máy học với nhau hoặc mở rộng ràng buộc dựa trên đặc điểm ngôn ngữ (phần 4) [2], [10], [11].
  • Một số công trình nhận diện thực thể có tên được thực hiện trên tiếng Việt như: Tri Tran Q. - 2007 [18], Nguyen Cam Tu - 2009 [19],... 

4. NHẬN DIỆN THỰC THỂ CÓ TÊN TRÊN ĐA NGỮ

  • Sau khi đạt được những thành công trên ngữ liệu đơn ngữ, các nghiên cứu mới chuyển hướng sang việc dùng các ràng buộc trên dữ liệu song ngữ. Điều này là một khai phá trong lĩnh vực nhận diện thực thể có tên vì có thể tận dụng tốt các đặc trưng đa ngữ cũng như cơ sở đạt được trên các đơn ngữ như tiếng Anh, Pháp, Đức ...
  • Trong việc nhận dạng thực thể có tên trên song ngữ, ta có thể chia làm 2 hướng tiếp cận chính:
    • Bất đối xứng: Nhận diện thực thể có tên trên đơn ngữ A sau đó dựa vào gióng hàng của hai ngôn ngữ để suy ra thực thể cùng nhãn thực thể trên đơn ngữ còn lại. Một số công trình theo hướng tiếp cận này như: Lee - 2006 [12], Ruiji - 2010 [13], Ngo Quoc Hung - 2014 [14]... Tuy nhiên, phương pháp đối xứng mắc phải khá nhiều khuyết điểm. Đầu tiên, do chỉ tiến hành nhận diện trên đơn ngữ trong khi chưa có phương pháp nào đạt được độ chính xác tuyệt đối nên sẽ dẫn tới sai lệch trong việc gióng hàng. Tương tự như vậy, gióng hàng không chính xác cũng là một trong những nguyên nhân làm cho kết quả nhận diện giảm mạnh. Song song đó, còn có một số nguyên nhân khác như: chuyển vị, chuyển tự, ... 
    • Đối xứng: Thực hiện việc nhận diện thực thể độc lập trên cả hai ngôn ngữ. Sau đó, dựa vào ràng buộc gióng hàng để đối chiếu, suy dẫn, và chọn nhãn thích hợp trên các đơn ngữ. Một số công trình theo hướng tiếp cận này như: Huang - 2003 [15], Yufeng [16], [17]
  • Tuy nhiên, trên tiếng Việt, số lượng nghiên cứu vẫn còn khá ít đặc biệt là sử dụng đặc trưng song ngữ. Một số công trình như: Ngo Quoc Hung - 2014 [14],Nguyễn Hồng Bửu Long [21], ... Đặc biệt là nhận diện thực thể có tên trên song ngữ Anh - Việt chỉ mới có một bài báo của Ngo Quoc Hung - 2014 [14] tiến hành bằng phương pháp bất đối xứng và luận văn thạc sĩ của Nguyễn Hồng Bửu Long [20] tiến hành bằng phương pháp đối xứng.

5. TÀI LIỆU THAM KHẢO

  1. Nancy A. Chinchor, MUC-7 Named Entity Task Definition (Version 3.5), Message Understanding Conference, 1998.
  2. Andrei Mikheev, Marc Moens, Claire Grover, Named Entity recognition without gazetteers, EACL '99 Proceedings of the ninth conference on European chapter of the Association for Computational Linguistics, Page 1-8, USA, 1999.
  3. Hai Leong Chieu, Named entity recognition with a maximum entropy approach, CONLL '03 Proceedings of the seventh conference on Natural language learning at HLT-NAACL 2003 -, Volume 4, Pages 160-163, USA, 2003.
  4.  Zornitsa Kozareva, EACL '06 Proceedings of the Eleventh Conference of the European Chapter of the Association for Computational Linguistics: Student Research Workshop, Pages 15-21, USA, 2006.
  5. Hideki Isozaki, Japanese Named Entity Recognition based on a Simple Rule Generator and Decision Tree Learning, Proceedings of the 39th Annual Meeting of the Association for Computational Linguistics, 2001.
  6. GuoDong Zhou, Proceeding ACL '02 Proceedings of the 40th Annual Meeting on Association for Computational Linguistics, Pages 473-480, USA, 2002.
  7. Aaron L. -F. Han, Derek F. Wong, Lidia S. Chao, Chinese Named Entity Recognition with Conditional Random Fields in the Light of Chinese Characteristics, Language Processing and Intelligent Information Systems, Lecture Notes in Computer Science Volume 7912, Page 57 - 68, 2013.
  8. Faryal Jahangir, N-gram and Gazetteer List Based Named Entity Recognition for Urdu: A Scarce Resourced Language, Proceedings of the 10th Workshop on Asian Language Resources, Page 95 - 104, India, 2012.
  9. Wenhui Liao, Sriharsha Veeramachaneni, A simple semi-supervised algorithm for named entity recognition, Proceeding SemiSupLearn '09 Proceedings of the NAACL HLT 2009 Workshop on Semi-Supervised Learning for Natural Language Processing, Pages 58-65, USA, 2009.
  10. Sujan Kumar Saha, Sanjay Chatterji, A Hybrid Approach for Named Entity Recognition in Indian Languages, Proceedings of the IJCNLP-08 Workshop on NER for South and South East Asian Languages, pages 17–24, India, 2008.
  11. S. Biswas, S. Mohanty, A Two Stage Language Independent Named Entity Recognition for Indian Languages,  International Journal of Computer Science and Information Technologies, Vol. 1, 285-289, 2010.
  12. Lee, C. and Chang, J. S, Acquisition of English-Chinese Transliterated Word Pairs from Parallel-Aligned Texts, HLT-NAACL 2003 Workshop on Data Driven MT, pp. 96-103, 2003
  13. Ruiji Fu, Bing Qin, Ting Liu, Generating Chinese Named Entity Data from Parallel Corpora, Frontiers of Computer Science, Volume 8(4), pages 629 - 641, 2011.
  14. Quoc Hung-Ngo, Dinh Dien, Building English-Vietnamese Named Entity Corpus with Aligned Bilingual News Articles, 5th Workshop on South and Southeast Asian Natural Language Processing, Ireland, 2014
  15. Huang Fei, Stephan Vogel, AlexWaibel, Automatic extraction of named entity translingual equivalence based on multi-feature cost minimization, Proceedings of ACL’03, Workshop on Multilingual and Mixed-language Named Entity Recognition, pages 9–16, 2003.
  16. Yufeng Chen, Chengqing Zong, Keh-Yih Su, On jointly recognizing and aligning bilingual named entities, Proceedings of the 48th Annual Meeting of the Association for Computational Linguistics, pages 631-639, 2010.
  17. Yufeng Chen, Chengqing Zong, Keh-Yih Su, A joint model to identify and align bilingual named entities, Computational Linguistics, 2013.
  18. Tri Tran Q., Nigel COLLIER, Named entity recognition in Vietnamese documents, Progress Informatics, No.4, pages 5 - 13, 2007.
  19. Nguyễn Cẩm Tú, Trần Thị Oanh, Phan Xuân Hiếu, Hà Quang Thụy, Named Entity Recognition in Vietnamese Free-Text and Web Documents Using Conditional Random Fields, the 8th Conference on Some selection problems of Information Technology and Telecommunication, 2005. 
  20. Nguyễn Hồng Bửu Long, Luận văn thạc sĩ: Gióng hàng và nhận diện thực thể có tên trong song ngữ Anh Việt, Đại học KHTN - HCMVNU, 2014.

Thứ Ba, 22 tháng 1, 2013

TAKE RIST AND THE CHANCE WILL COME


TAKE RIST AND THE CHANCE WILL COME
Some times, you see there are many successful people around you. And you wonder if you are able to success. The answer is in your hand.
To be success, you have to accept the risk, take the chance, faint chance, and change it into valualbe chance. But you wonder when I were a freshman, how can I do to be success. I will tell you a answer. Have you ever heard a start-up project. It’s very intersing and challenging. You can image that though you don’t have any money, you have to earn them. So how??? And the start-up project is an answer.
Earning the little money at the beginning and earning more and more in the future are the key of one.
If you want to know what it is, reading my start-up project in the link and find out three clue:
-          How to earn the money from it.
-          How much money do you need to start.
-          Are you self-confident
Let’s get started
The future is in your hand

Chủ Nhật, 20 tháng 1, 2013

LATEX – CÔNG CỤ SOẠN THẢO DÀNH CHO BẠN


LATEX – CÔNG CỤ SOẠN THẢO DÀNH CHO BẠN
ü  Khuyết điểm:
o   Không trực quan sinh động, không thấy được định dạng của văn bản trong lúc đang soạn thảo
o   Phải thực hiện thao tác chuyển đổi
o   Sẽ rất vất vả nếu muốn kết hợp nhiều kiểu định dạng phức tạp vào trong cùng tập tin LaTeX (như tài liệu hướng dẫn thực hành bạn đang xem)
ü  Ưu điểm:
o   Định dạng văn bản đều, chuyên nghiệp.
o   Định dạng công thức toán, mã nguồn lập trình, chỉ mục, mục lục, phụ lục, tài liệu tham
khảo … dễ dàng
Với những ưu điểm tuyệt vời như trên làm thế nào để bạn có thể bắt đầu làm việc với Latex, hãy cùng đến với những bước rất cơ bản dưới đây và bạn sẽ nhanh chóng làm chủ được Latex.
1.       Cài đặt bộ công cụ Latex:
-    Tải và cài đặt chương trình MiKTeX (miktex.org) để hỗ trợ biên dịch tập tin .tex.
-    Tải và cài đặt gói tiếng Việt (vntex.sourceforge.net/download/vntex/vntex-3.1.9.zip) như sau:
·   Giải nén vào một thư mục nào đó (ví dụ: C:\vntex).
·   Chọn Menu Start > All Program > MikTeX x.x > Setting.
·   Chọn thẻ Roots > Add... rồi chọn thư mục có chứa gói tiếng Việt (C:\vntex) mới tạo.
·   Chọn thẻ Option > General > Refresh FNDB.
-    Tải và  cài đặt  chương  trình TexStudio (texstudio.sourceforge.net). MiKTeX  cũng  có  trình soạn thảo TeXworks để soạn thảo các file .tex nhưng không hỗ trợ nhiều bằng TexStudio.
2.      Bắt đầu làm quen với bộ công cụ Latex:
-    Do các mục soạn thảo quá nhiều chi tiết cho nên trong hạn chế của bài viết này chúng tôi sẽ đính kèm dưới đây một bài giảng về Latex của Th.S Trương Phước Hưng ( ĐH KHTN Tp.HCM) để từ đó bạn có thể nhanh chóng học được những kiến thức chung nhất về Latex.
-    Đồng thời, chúng tôi sẽ đính kèm bài giải gồm các tập tin: *.tex và *.pdf để mọi người tham khảo và đối sánh nếu cần thiết.
Link:
-    Bài giảng trường ĐH KHTN - Th.S Trương Phước Hưng
-    Link bài giải:
*  bài viết có sử dụng các tài liệu tham khảo của khoa Công nghệ thông tin – trường ĐH KHTN Tp.HCM, lớp CTT1 k12 và đặc biệt là sự trợ giúp từ Th.S Trương Phước Hưng.

Thứ Ba, 15 tháng 1, 2013

EXCEL - PHÙ THUỶ TRONG CÔNG VIỆC VĂN PHÒNG

A.      Lời nói đầu: đôi khi bạn gặp các bài toán rất thực tế liên quan đến sổ sách như quản lí lương , quản lí học sinh,… Những lúc đó, Excel xuất hiện như một cứu cánh không gì thích hợp bằng. với những hỗ trợ tối đa từ Microsoft, MS Excel đã dần dần trở thành người bạn đồng hành của bất kỳ ai làm việc trong lĩnh vực văn phòng. Trong nội dung bài này, chúng tôi sẽ không nói lại với các bạn cách sử dụng, các hàm… bởi chỉ cần một cú click bạn có thể tìm thấy trên bất cứ trang web nào về tin học văn phòng mà sẽ đưa ra một bài toán cực thú vị để bạn thấy được “phép màu” của Excel
B.      Bài toán đặt ra:
-          Bạn A muốn dùng Excel để tạo cho mình một cuốn lịch theo tháng. Nhưng bạn lại cần một cuốn lịch mà có cả ngày can chi bên dưới ô ngày.
-          Dữ liệu vào:
o   ô thứ 1 nhập năm bất kỳ ( 1990< year)
o   ô thứ 2 nhập 1 tháng bất kỳ ( 0< month<13 o:p="o:p">
-          Dữ liệu ra: một bảng lịch gồm nhiều dòng trong đó dòng i chứa ngày dương lịch phù hợp, và dòng i+1 chứa ngày theo can chi âm lịch. ( i=2k)
C.   Gợi ý cách giải:
-          Cách hàm sử dụng: weekday(), datevalue(), và cách hàm cơ bản, bạn có thể xem trên các web về cách sử dụng cũng như khuôn mẫu hàm.
-          Cách làm chủ đạo là tạo ra một số bảng dữ liệu phụ rồi từ đó so sánh để chép dữ liệu vào các ô trong bản chính.
-          Hướng dẫn chi tiết bạn có thể xem trong file lichtudong.xlsx



Thứ Sáu, 11 tháng 1, 2013

Có đam mê bạn sẽ có tất cả


Có đam mê bạn sẽ có tất cả
              Nhiều khi tôi tự nghĩ học xong bốn năm đại học, tôi sẽ làm nghề gì, làm việc gì khi mà ngoài kia chỉ cho tôi thấy được một điều thành công là điều không thể nếu bạn muốn theo nghiệp này suốt đời. Nhưng khi vừa rời khỏi buổi Open Talk tại trường ĐH KHTN với ba diễn giả: Nguyễn Tuấn Anh, Phạm Quốc Đăng Khoa, Trần Bằng Việt, ngọn lửa đam mê lại một lần nữa đang sục sôi trong tôi.
              Sau đây, tôi sẽ kể lại cho các bạn những điều thật thú vị tôi được nghe từ ba diễn giả “đẹp trai” “năng động” này.
              Đầu tiên là anh Trần Bằng Việt, người có tuổi đời lớn nhất nhưng cũng không kém phần “nhí nhảnh” và “trẻ trung”, điều duy nhất mà tôi cảm thấy thú vị về anh là câu chuyện về cuộc đời anh bởi ẩn hiện trong đó là hình ảnh của tôi. “nghèo” từ làm ai cũng phải ám ảnh và vươn lên từ đó. Tôi từ nhỏ đã được ăn no học hành và chẳng cần quan tâm đến tiền mình có như thế nào. Thế nhưng bạn có biết rằng, ngay từ khi có ý thức tôi đã tự nhủ trong lòng, tôi phải giàu và phải thật giàu. Nhìn những giọt mồ hôi của cha mẹ rơi khó nhọc mà tôi không khỏi chạnh lòng. Mỗi lúc nghĩ về mẹ tôi dường như chỉ muốn chạy đến ôm chầm lấy mẹ và khóc, hãy chờ con rồi con sẽ giàu có và mẹ sẽ không còn phải khổ nhọc như thế nữa đâu. Sau những tâm sự của anh Việt, tôi chợt nhớ đến một câu danh ngôn hay đúng hơn là châm ngôn của tôi cho đến bây giờ: “ bạn không có lỗi khi sinh ra trong nghèo khó, nhưng bạn sẽ là tội đồ muôn thuở nếu để chết trong nghèo đói”
               Thứ hai là anh Nguyễn Tuấn Anh, một chàng trai mập mạp và dễ thương. Đến với anh bạn sẽ biết thế nào là sự thay đổi và năng động. Động lực duy nhất giúp tôi để còn nghe anh là về việc làm sao để có thể đi du lịch nước ngoài trong vòng một năm. Liệu bạn có biết làm thế nào. Tôi cũng không biết diễn tả ra sao chỉ nhớ rằng lúc đó mình thích thú lắm và còn mang máng 2 chứ có “quyết tâm” có tất cả.
                Và cuối cùng là người tôi thích thú nhất, anh Phạm Trần Đăng Khoa với câu nói :” nếu … thì đời tôi đã không bi đát thế này”. Nhưng bạn đường tưởng bở, anh ta là một cựu học sinh KHTN đang làm việc cho Apple tại Mỹ đấy. đám chúng tôi ngồi nghe mà cứ ngồi cười cái chữ “bi đát” ấy, thật là lạ lùng khi chúng tôi mơ còn chưa thấy. Câu chuyện về chàng sinh viên nhà quê đi du học làm tôi cứ nhớ mãi có lẽ đó chính là tôi. Bạn có biết rằng ước mơ trong bốn năm đại học là tốt nghiệp với tấm bằng loại giỏi và quan trọng hơn là được du học tại các đại học và viện nghiên cứu hàng đầu trong lĩnh vực này. Đó có lẽ cũng là ước mơ của rất nhiều bạn đang là sinh viên. Ước mơ ấy càng cháy bỏng khi tôi được gặp Prof. Vu Duong ( Giáo sư, Tiến sĩ Dương Nguyên Vũ) một người thầy tôi sẽ mãi không bao giờ quên và không bao giờ quên biết ơn thầy.
                Bạn thấy đấy đâu phải ai cũng thất bại trong lĩnh vực này. Ngoài kia cũng còn rất nhiều cơ hội. đừng đợi cơ hội tìm đến mình hãy tự mình nắm lấy nó và chuẩn bị sẵn sàng từ bây giờ để cơ hội không chỉ là cơ hội

Thứ Tư, 21 tháng 11, 2012

VẤN ĐỀ Ở ĐÂY LÀ GÌ (bài 3 - đề án)


Lời nói đầu: có những vấn đề nhìn vào rất phức tạp và hoàn toàn không thể tìm ra một hướng đi phù hợp nhưng khi bạn chịu khó đầu tư vào mặt “chất xám” cho vấn đề ấy bạn sẽ tìm ra những nhận xét dễ đến ngỡ ngàng. Trong lập trình cũng vậy, người lập trình càng đầu tư cho việc tối ưu hoá thuật toán cũng như tìm ra những “ bí quyết độc môn” cho bài toán ấy thì chương trình chạy càng nhanh và hiệu quả. Sau đây mình xin xét lại hàm f(x) mà trong bài đăng VÒNG LẶP WHILE TRONG C/C++ mình đã từng đề  cập đến chỉ là ở đâu bài toán sẽ phức tạp hơn nhiều lần.
Bài toán đặt ra:
                                   Tính F(x)
Cho hàm F(x), x ≥ 0 được định nghĩa như sau:
F(x) = x, nếu x ≤ 9
F(x) = F(S(x)), nếu x > 9
     Trong đó S(x): tổng các chữ số của x và x=n!   1≤   n  ≤ 500

Giải quyết vấn đề:

Như các bạn thấy ở đây x= n! nếu n nhỏ thì ta có thể dễ dàng tính n! bằng nhiều cách thế nhưng khi n=500 thì 500! Vượt xa tất cả cách kiểu lưu trữ chúng ta có trong ngôn ngữ C/C++ như vậy ở đây chúng ta có 2 cách lựa chọn:
-          Tạo ra một kiểu số mới với miền giá trị đủ sức chứa 500!
-          Suy nghĩ một giải thuật đặc biệt mà mọi người thường gọi là “mẹo”.