Tải bản đầy đủ (.doc) (78 trang)

Đồ án tốt nghiệp đại học kỹ thuật text mining và ứng dụng

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.29 MB, 78 trang )

Đồ án tốt nghiệp Kỹ thuật Text Mining và ứng dụng
LỜI NÓI ĐẦU
Hệ thống cơ sở dữ liệu đã đánh dấu một bước thành công lớn trong hơn hai
thập kỷ qua. Tìm kiếm các thông tin hữu ích trong các CSDL đã trở thành một điểm
quan trọng trong hoạt động kinh doanh và ngày càng có nhiều sự chú ý tới việc khai
phá dữ liệu - Data Mining, đó như là một thành phần mấu chốt để khám phá thông
tin. Các thuật toán khai phá dữ liệu và các công cụ mô phỏng nó đã và đang đựơc sử
dụng để tìm kiếm các hình mẫu quan trọng ẩn chứa trong dữ liệu và tạo ra các dự
báo hữu ích. Khoa học này đã và đang được chấp nhận trong hầu hết tất cả các bộ
phận kinh doanh như ngân hàng, viễn thông, sản xuất, tiếp thị và thương mại điện
tử. Data Mining trong SQL 2005 là một bước tiến lớn trong hệ thống Data Mining
và công nghệ cao nhất về CSDL. Các kỹ sư và nhà nghiên cứu từ rất nhiều tổ chức
nghiên cứu đã làm việc cùng nhau để mang cả hai trường phái cổ điển và công nghệ
mới, mổ xẻ các khía cạnh công cụ Data Mining.
Trong hệ thống các dạng Data Mining thì có một kiểu khai phá dữ liệu rất đặc biệt
chỉ thực hiện trên các dữ liệu định dạng Text đó là Text Mining. Trong thời điểm hiện
nay, phân tích các tài liệu dạng Text trở nên rất quan trọng. Và các dự án Textmining
thực sự là một công cụ hổ trợ đắc lực trong việc phân nhóm, phân loại và phân đoạn các
dữ liệu không cấu trúc này nhằm thực hiện các vấn đề thiết thực trong cuộc sống cũng
như hoạt động kinh doanh thương mại. Các lĩnh vực cần sử dụng Text Mining vào thực
hiện các công việc trong thực tế rất nhiều, như thực hịên phân nhóm các thông tin phản
hồi của khách hàng, thăm dò các ý kiến thông qua các Topic, Blog; phân loại các dạng
bài post của một trang Web…Với SQL 2005, Data Mining nói chung và Text Mining
nói riêng thực sự đã trở thành các công cụ xây dựng các ứng dụng thông minh, hổ trợ
đắc lực và thiết thực cho mọi người trong việc giải quyết các vấn đề thực tế.
Những vấn đề này được em phân tích và xây dựng chi tiết trong nội dung đề tài:
Tìm hiểu kỹ thuật Text Mining và ứng dụng
Em xin chân thành cảm ơn đã giúp đỡ em hoàn thành nội dung đề tài này.
GVHD: TS. Nguyễn Mạnh Hùng - 1 - HVTH: Đậu Hoài Nam
Đồ án tốt nghiệp Kỹ thuật Text Mining và ứng dụng
MỤC LỤC


GVHD: TS. Nguyễn Mạnh Hùng - 2 - HVTH: Đậu Hoài Nam
Đồ án tốt nghiệp Kỹ thuật Text Mining và ứng dụng
Chương I: Data Mining và Text Mining
1. Data Mining
1.1 Giới thiệu Data Mining.
Data Minning là một bộ phận quan trọng trong gia đình sản phẩm của kinh tế tri
thức Business Intelligence (BI), với xữ lý phân tích thông tin trên mạng Online
Analytical Processing (OLAP), cùng với báo cáo kinh doanh và ETL (Extraction
Transformation Loading).
Data Mining là phân tích dữ liệu và tự động tìm các phần mẫu còn ẩn hoặc các
tiềm lực chung quan trọng, có ý nghĩa thực tế trong việc giải quyết một vấn đề thực
tế. Trong suốt hàng thập kỹ qua các dữ liệu đã làm giàu thêm và đã được lưu trữ
trong các cơ sở dữ liệu lớn. Phần lớn những dòng dữ liệu đó là từ các phần mềm
thương mại như là các ứng dụng về tài chính,viễn thông, quản lý nguồn dự án
(ERP), quản lý liên hệ khách hàng (CRM), và các trang Web trợ giúp. Và kết quả
của quá trình kết hợp dữ liệu đó là một tổ chức giàu dữ liệu và nghèo tri thức. Sự kết
hợp các dữ liệu trở thành rộng lớn và ngày càng tăng mạnh về dung lượng mà thực
tế sử dụng điều này trong lưu trử các dữ liệu thì có hạn. Mục đích chính của Data
Mining là khai phá các vấn đề từ các nguồn dữ liệu có sẵn, tăng giá trị bên trong của
nó, và chuyển nó thành tri thức. Chúng ta gặp rất nhiều khó khăn bởi vì không thể
đào bới thêm ngoài các truy vấn SQL thông thường.
Data Mining cung cấp rất nhiều giá trị giao dịch cho công việc kinh doanh.
Dưới đây là số các lý do mà chúng ta quan tâm đến Data Mining:
- Một số lượng lớn dữ liệu sẳn dùng: Qua các thập kỹ qua, giá của phần cứng,
đặc biệt là các ổ cứng có dung lượng lớn đã hạ đột ngột. Đi cùng với nó, nhà kinh
doanh thu thập được con số rất lớn dữ liệu qua các ứng dụng kinh doanh. Với tất cả
các dữ liệu sẳn có đó, nhà kinh doanh rất mong muốn có một cách nào đó để tìm các
phần tiềm ẩn để trợ giúp định hướng công việc kinh doanh của họ.
- Sự cạnh tranh ngày càng tăng: Sự cạnh tranh ngày càng cao là kết quả của rất
nhiều hình thức tiếp thị và các kênh phân phối thông tin như Internet và truyền thông.

Các nhà kinh doanh phải đối phó với sự cạnh tranh khốc liệt và rộng khắp và chìa
GVHD: TS. Nguyễn Mạnh Hùng - 3 - HVTH: Đậu Hoài Nam
Đồ án tốt nghiệp Kỹ thuật Text Mining và ứng dụng
khóa cho sự thành công là sự tài tình trong việc giữ lại các khách hàng hiện tại và lôi
kéo được các khách hàng mới về phía mình. Data Mining là công nghệ tích hợp mà
cho phép nhà kinh doanh có thể phân tích các nhân tố mà ảnh hưởng đến kết quả đó.
- Sẳn sàng về mặt công nghệ: Công nghệ Data Mining trước đó chỉ tồn tại
trong phạm vi nghiên cứu ở các viện, nhưng hiện nay rất nhiều trong số chúng đã
được làm hoàn thiện và sẳn sàng áp dụng trong các ngành nghề lĩnh vực kinh doanh.
Các thuật toán đang dần chính xác hơn, hiệu quả hơn, và có thể xữ lý tốt hơn sự
phức tạp của dữ liệu. Hơn nữa, giao diện lập trình ứng dụng Data Mining (APIs) đã
và đang được chuẩn hóa, chúng sẽ cho phép các nhà phát triển xây dựng các ứng
dụng Data Mining tốt hơn nữa.
1.2 Các bài toán của Data Mining trong kinh doanh
- Phân tích thị trường: Những khách hàng nào có khả năng lớn nhất để chuyển
đổi sự cạnh tranh này? Truyền thông ngân hàng và ngành bảo hiểm luôn đối phó với
sự cạnh tranh khốc liệt hằng ngày. Trong số đó, mỗi một số điện thoại di động mới
của người dùng sẽ phải trả cho công ty sản xuất điện thoại một số tiền vượt quá
200$ trong việc đầu tư vào tiếp thị sản phẩm. Công việc kinh doanh hằng ngày
mong muốn giữ lại các khách hàng hiện tại là một vấn đề hợp lý. Phân tích thị
trường có thể trợ giúp việc quản lý tiếp thị dưới mặt lý trí khách hàng, cải thiện mối
quan hệ với khách hàng, và cuối cùng là tăng thêm lòng tin tưởng, trung thành của
các khách hàng với doanh nghiệp.
- Trao đổi mua bán: Các sản phẩm nào mà khách hàng muốn mua về? trao đổi mua
bán là một vấn đề thách thức quan trọng trong kinh doanh của các thương nhân. Rất nhiều
thương nhân, đặc biệt là các nhà buôn bán qua mạng sử dụng điểm này để tăng cường sự trao
đổi mua bán của họ. Ví dụ, Nếu bạn muốn lên mạng tìm sách trên mạng Amazon.com … để
mua một quyển sách, bạn sẽ được khuyến cáo rằng các site đó cho bạn một tập các khuyến
khích và ý kiến tiếp thị về cuốn sách có liên quan. Tất cả các ý kiến đó có thể là xuất phát từ
sự phân tích Data Mining.

- Phát hiện gian lận trong kinh doanh: Cái gì có thể bảo đảm được lừa đảo tài
chính. Bảo hiểm doanh nghiệp đang xữ lý hàng ngàn số tiền hàng ngày. Nó không
GVHD: TS. Nguyễn Mạnh Hùng - 4 - HVTH: Đậu Hoài Nam
Đồ án tốt nghiệp Kỹ thuật Text Mining và ứng dụng
thể kiểm tra tính minh bạch của nó trong mọi trường hợp. Data Mining có thể giúp
chúng ta nhận ra các khoản tiền mà có khả năng bị sai.
- Quản lý rủi ro trong kinh doanh: Làm sao để sự cho vay được chấp thuận
trong các khách hàng. Đó là một trong những câu hỏi phổ biến trong sự kiện các
ngân hàng. Kỹ thuật Data Mining có thể được sử dụng để căn cứ mức rủi ro của
khách hàng, trợ giúp những người quản lý để ra quyết định thích hợp.
- Phân loại khách hàng: Ai là khách hàng của mình? Phân loại khách hàng
giúp việc quản lý tiếp thị dưới mặt khác của khách hàng và tạo nên cơ sở hoạt động
tiếp thị thích hợp trong từng giai đoạn kinh doanh.
- Mục đích quảng cáo: Các biểu ngữ quảng cáo sẽ được hiển thị trong các
người viếng thăm đặc biệt? Web mua bán và các cổng thông tin sẽ cá nhân hóa Web
khách hàng của họ. Sử dụng điều hướng khách hàng và mô hình mua bán trực tuyến,
tất cả các cổng thông tin này có thể sử dụng dự án Data Mining để hiển thị mục đích
quảng cáo cho sự điều hướng khách hàng của họ.
- Dự báo thị trường: Có bao nhiêu trường hợp rượu của tôi có thể bán được trong
tuần tới mà còn trong kho dự trữ? Cái gì sẽ phải kiểm kê trong tháng? Kỹ thuật dự báo của
Data Mining có thể sử dụng để dự báo các câu hỏi với thời gian liên quan.
1.3 Nhiệm vụ của Data Mining
Data Mining có thể sử dụng để giải quyết hàng trăm vấn đề của kinh doanh. Cơ
sở bản chất của các vấn đề đó chúng ta có thể nhóm chúng vào các nhiệm vụ của
Data Mining dưới đây:
- Phép phân loại: Phân lọai là một trong rất nhiều các nhiệm vụ thông thường
của Data Mining. Vấn đề kinh doanh như là phân tích thị trường, quản lý rủi ro, và
mục đích quảng cáo thường xuyên phải đòi hỏi phân loại.
Sự phân loại chỉ dẫn các trường hợp vào trong cơ sở kinh doanh trên một thuộc tính
dự đoán. Một trong các nội dung chứa đựng là tạo nên một tập các nội dung dự đoán.

Một trong đó là các lớp thuộc tính (thuộc tính dự báo). Nhiệm vụ này đòi hỏi sự tìm kiếm
một mẫu mà mô tả lớp thuộc tính như là các hàm của thuộc tính đầu vào. Cái đó thường
xuyên liên quan đến dữ liệu lịch sử. Thuật toán Data Mining cần một mục tiêu hướng đến
GVHD: TS. Nguyễn Mạnh Hùng - 5 - HVTH: Đậu Hoài Nam
Đồ án tốt nghiệp Kỹ thuật Text Mining và ứng dụng
thuật toán giám sát. Trong thuật toán phân loại, các mục tiêu được đưa vào Cây quyết
định,Naïve Bayes, mạng Neural và đưa ra quyết định.
- Kỹ thuật Clustering (phân cụm): Kỹ thuật này cũng có thể được gọi là phân
loại. Nó được sử dụng để nhận biết các nhóm tự nhiên của các trường hợp trên cơ sở
một tập thuộc tính. Các trường hợp trong một nhóm tương tự nhau có nhiều hoặc ít
các giá trị thuộc tính giống nhau. Clustering là một Data Mining không giám sát.
Không có thuộc tính đơn nào được sử dụng để chỉ dẫn các xử lý. Tất cả các thuộc
tính đầu vào được đối xử ngang bằng. Phần lớn các thuật toán Clustering được xây
dựng thông qua một mẫu lặp lại và chỉ dừng lại khi mô hình đã hồi quy, đó là khi
ranh giới giữa các cụm trở nên rõ ràng và ổn định.
- Luật kết hợp: Luật kết hợp là một dạng phổ biến khác của các nhiệm vụ Data
Mining. Kết hợp cũng được gọi là phân tích cái bọc thị trường. Sự kết hợp các vấn đề
kinh doanh điển hình là để phân tích một bảng quản lý giao dịch mua bán và nhận dạng
các sản phẩm thường được giao bán trong một cửa hiệu. Cách dùng phổ biến của sự kết
hợp để nhận dạng một tập các Items, và nguyên tắc chỉ định các trao đổi mua bán
(Rules). Trong các điều kiện của tập hợp, mỗi sản phẩm hay tổng quát hơn mỗi cặp thuộc
tính giá trị được coi là như một Item. Nhiệm vụ tập hợp có hai hướng đi: Tìm tập các
Item thường xuyên, và tìm nguyên tắc kết hợp. Hầu hết các loại thuật toán về luật kết
hợp tìm thấy thuộc tính thường xuyên bằng việc quét các dữ liệu phức tạp nhiều lần.
Giới hạn thường xuyên (hổ trợ) là một định nghĩa bởi người sử dụng trước khi xử lý các
mô hình. Mổi tập thường xuyên đó có một kích cỡ nhất định, đó là số các Items mà nó
chứa đựng. Hầu hết các loại thuật toán luật kết hợp cũng là các nguyên tắc tìm kiếm.
Một nguyên tắc tập hợp là có từ A,B => C với một xác suất, nơi A,B,C là các tập
thường xuyên. Một xác suất là một giá trị tranh luận, mà người sử dụng cần nó để định
rõ trước khi thực hiện mô hình tập hợp.

- Hồi quy: Chức năng hồi quy tương tự sự phân loại. Cái khác chủ yếu là các
thuộc tính dự báo là một số liên tục. Kỹ thuật hồi quy được nghiên cứu rộng rãi hàng
trăm năm trong ngành khoa học thống kê. Hồi quy tuyến tính và hồi quy hậu, là các
phương thức hồi quy phổ biến. Mặt khác kỹ thuật hồi quy cũng được đưa vào các
cây hồi quy và mạng Neural. Chức năng hồi quy có thể giải quyết rất nhiều các vấn
GVHD: TS. Nguyễn Mạnh Hùng - 6 - HVTH: Đậu Hoài Nam
Đồ án tốt nghiệp Kỹ thuật Text Mining và ứng dụng
đề của kinh doanh. Ví dụ chúng có thể được sử dụng để dự đoán tỉ lệ số vé hồi lại,
phương thức phân phối và khối lượng phân phối, hoặc là dự đoán tốc độ gió dựa
trên nhiệt độ, áp suất và độ ẩm không khí.
- Dự báo: Dự báo là một chức năng quan trọng nữa của Data Mining. Giá trị
của cổ phiếu Microsoft sẽ thế nào sau ngày mai? Số lượng bán ra của sản phẩm
Pepsi sẽ thế nào trong tháng tới. Chức năng dự báo có thể trả lời tất cả các câu hỏi
đó. Nó luôn giữ lấy một chuỗi các giá trị đầu vào của tập CSDL, ví dụ như chuổi các
con số với một thuộc tính mô tả thời gian. Chuổi dữ liệu đặc trưng đó chứa đựng sự
theo dỏi các sự kiện gần kề, chúng là các Order-Dependent. Kỹ thuật dự đoán công
bằng, khách quan tác động tất cả các phương hướng, các chu kỳ và lọc các tạp
nhiễu. Đa số ưa chuộng kỹ thuật chuổi thời gian là ARIMA, đứng trên mô hình tự
động quay lui hội nhập và hoạt động trung bình.
- Phép phân tích: Phép phân tích được sử dụng để tìm các phần mẫu trong một
chuổi riêng biệt. Một chuổi sự kiện bao gồm một chuổi các giá trị rời rạc (hoặc các
trạng thái rời rạc). Ví dụ chuỗi trình tự ADN là một chuỗi dài các trạng thái khác
nhau: A, G, C và T. Chuỗi sự kiện click vào Web là một chuỗi URLs. Khách mua
hàng cũng có thể là mô hình như chuỗi sự kiện các dữ liệu. Cả hai chuỗi sự kiện và
chuỗi dữ liệu đều chứa đựng sự quan sát theo dõi liền kề sau đó mà gọi là các sự
kiện ăn theo. Trong trường hợp khác đó là chuỗi các trạng thái riêng rẽ, trong khi
chuỗi thời gian là bao gồm các con số liên tục.
Chuỗi sự kiện và luật kết hợp dữ liệu giống nhau ở điểm là mổi trường hợp
riêng rẽ là một tập các Item hoặc các trạng thái. Cái khác nhau giữa các chuỗi sự
kiện và các mô hình kết hợp là mô hình phân tích các chuỗi sự kiện là trạng thái

chuyển trong khi cái kia thì tính đến mỗi một Item trong một cửa hàng đến ngang
nhau và độc lập. Với mô hình chuỗi các sự kiện, thì việc mua một máy tính trước
một tai nghe khác với việc mua một tai nghe trước máy tính. Với một thuật toán kết
hợp thì sẽ có nhiều ý kiến trùng nhau trong một tập hợp các mục.
Phân tích hướng sự kiện là một nhiệm vụ mới của Data Mining. Nó trở nên
quan trọng hơn để được hưởng hai cái chính của ứng dụng là: Phân tích Web giải
thích và phân tích ADN. Có rất nhiều kỹ thuật phân tích chuỗi các sự kiện thông
GVHD: TS. Nguyễn Mạnh Hùng - 7 - HVTH: Đậu Hoài Nam
Đồ án tốt nghiệp Kỹ thuật Text Mining và ứng dụng
thường, sẳn có ngày nay như là xích Markov. Các nhà nghiên cứu đã hoạt động
khám phá ra các thuật toán mới trong lĩnh vực hoạt động này.
- Phân tích độ lệch: Phân tích độ lệch là tìm ra các trường hợp hiếm có mà rất
khác với tất cả các cái khác. Nó cũng được gọi là tìm kiếm ngoài, tìm kiếm các
thông tin thay đổi quan trọng từ các tập dữ liệu lịch sử. Phân tích độ lệch được ứng
dụng rất nhiều. Một ví dụ phổ biến đó là ứng dụng trong việc phát hiện gian lận việc
sử dụng Credit Card. Nhận dạng các trường hợp dị thường trong hàng triệu các dữ
liệu giao dịch là một vấn đề thách thức.
Không có một kỹ thuật chuẩn nào cho việc phân tích độ lệch. Nó vẫn là một đề
tài đang được nghiên cứu phát triển. Thường thì việc phân tích tận dụng các phiên bản
của cây quyết định, Clustering, hoặc các thuật toán mạng Neural cho nhiệm vụ này.
1.4 Kỹ thuật Data Mining
Mặc dù Data Mining là một lĩnh vực khá mới, phần lớn kỹ thuật Data Mining đã
tồn tại nhiều năm. Nếu chúng ta thấy được gốc của các thuật toán Data Mining thông
dụng, chúng ta sẽ thấy rằng chúng xuất phát từ 3 trường: Thống kê, máy thông minh và
CSDL. Phần lớn danh sách các nhiệm vụ của Data Mining trong phần trước đã có địa
chỉ trong cộng đồng ngành thống kê. Một con số lớn thuật toán Data Mining, kể cả hồi
quy, chuỗi thời gian, và cây quyết định được phát minh bởi các nhà thống kê. Kỹ thuật
hồi quy đã tồn tại cách đây 100 năm. Thuật toán chuỗi thời gian được đã được nghiên
cứu hàng thập kỹ nay. Và thuật toán cây quyết định là một trong những kỹ thuật mới
nhất hiện nay, nằm trong khoảng giữa thập kỹ 80.

Data Mining nổi bật trên lĩnh vực tự động hóa, hoặc phát hiện các mô hình chung.
Các thiết bị được trang bị thuật toán thông thường đều được sử dụng Data Mining.
Mạng Neural là một trong những kỹ thuật đó tiêu biểu cho phân loại và hồi quy, đặc
biệt nhất là khi mối liên hệ các thuộc tính là không tuyến tính. Thuật toán di truyền học
là một trong những kỹ thuật khác của máy thông minh. Nó tái tạo quá trình xử lý tiến
hóa tự nhiên bằng cách làm việc với một tập các ứng viên và một chức năng tồn tại
hoặc thích hợp. Hàm tồn tại này chọn lựa lặp đi lặp lại nhiều lần các ứng viên phù hợp
trong quá trình vận động tiếp theo. Thuật toán di truyền học có thể được sử dụng trong
cho phân loại và Clustering. Chúng cũng có thể sử dụng trong dùng chung với các thuật
GVHD: TS. Nguyễn Mạnh Hùng - 8 - HVTH: Đậu Hoài Nam
Đồ án tốt nghiệp Kỹ thuật Text Mining và ứng dụng
toán khác như trường hợp trợ giúp một mạng Neural để tìm một tập tốt nhất trong mổi
trọng số noron thành viên bao quanh.
Một CSDL là một nguồn cơ sở thứ ba cho phát triển Data Mining. Khoa học thống
kê truyền thống thừa nhận rằng tất cả các CSDL có thể được nạp vào bộ nhớ cho phân
tích thống kê. Đáng tiếc, nó chưa được phổ biến trong thời điểm hiện đại. CSDL
chuyên nghiệp biết bao nhiêu số lượng lớn dữ liệu phải xữ lý mà không xứng với bộ
nhớ. Như việc tìm một nguyên tắc trong một bảng thực tế chứa đựng trong nó hàng
triệu các giao dịch mua bán. Như một vấn đề của thực tế, thì các thuật toán tập hợp có
hiệu quả đến từ việc nghiên cứu các CSDL cộng đồng. Cũng có một vài các phiên bản
cao hơn của thuật toán phân loại và kỹ thuật Clustering mà sử dụng trong kỹ thuật
CSDL, bao gồm cả kỹ thuật thuật toán Clustering của Microsoft.
1.5 Các thuật toán Data Mining.
1.5.1 Thuật toán Naive Bayes:
a. Trường hợp áp dụng:
Thuật toán này cho phép tạo mô hình một cách nhanh chóng, đơn giản. Thuật
toán được ứng dụng vào các mô hình phân tích dự báo, phân loại, phân lớp. Thuật
toán chỉ hỗ trợ các thuộc tính rời rạc (discrete, ví dụ: Gới tính), nếu tạo một mô hình
Naïve Bayes với thuộc tính liên tục (continuous, ví dụ: tuổi) sẽ sinh ra lỗi.
b. Nguyên tắc của thuật toán:

Thuật toán sử dụng kết hợp xác xuất có điều kiện và không có điều kiện theo công thức:
( )
)(
)()|(
|
EP
HPHEP
EHP
×
=
Trong đó:
H: là giả thuyết
E: là điều kiện
P(H|E): là xác suất của giả thuyết H với điều kiện E
P(E|H): là xác suất của điều kiện E với giả thuyết H
c. Các tham số của thuật toán:
Vì sự thực hiện của thuật toán không phức tạp nên nó không đòi hỏi nhiều tham số.
Naïve Bayes có các tham số sau:
GVHD: TS. Nguyễn Mạnh Hùng - 9 - HVTH: Đậu Hoài Nam
Đồ án tốt nghiệp Kỹ thuật Text Mining và ứng dụng
- MAXIMUM_INPUT_ATTRIBUTES: Xác định số thuộc tính đầu vào cho huấn
luyện. Nếu có nhiều hơn số thuộc tính đầu vào này thì thuật toán sẽ chọn các đầu vào
quan trọng nhất và bỏ qua các thuộc tính còn lại. Thiết lập tham số này bằng 0 để thuật
toán chọn tất cả các thuộc tính. Giá trị mặc định là 255.
- MAXIMUM_OUTPUT_ATTRIBUTES: Xác định số thuộc tính đầu ra cho huần
luyện. Nếu có nhiều hơn số thuộc tính đầu ra này thì thuật toán sẽ chọn các đầu ra quan
trọng nhất và bỏ qua các thuộc tính còn lại. Thiết lập tham số này bằng 0 để thuật toán
chọn tất cả các thuộc tính. Giá trị mặc định là 255.
- MAXIMUM_STATES: điều khiển bao nhiêu trạng thái của một thuộc tính được
xem xét. Nếu một thuộc tính có nhiều trạng thái hơn số này, chỉ các trạng thái phổ biến

nhất sẽ được sử dụng. Các trạng thái không được chọn sẽ được xem là dữ liệu lỗi.
Tham số này hữu ích khi một thuộc tính có nhiều trạng thái.
- MINIUMUM_DEPENDENCY_PROBABILITY: Là số đo từ 0 đến 1 khả năng xảy
ra như thế nào của một thuộc tính đầu vào dự báo một thuộc tính đầu ra. Thiết lập tham
số này không làm ảnh hưởng đến huấn luyện mô hình hay dự đóan; hơn nữa, nó cho
phép giảm số lượng nội dung được server trả lại từ nội dung truy vấn. Thiết lập giá trị này
bằng 0.5 trả lại chỉ các thuộc tính đầu vào có khả năng hơn ngẫu nhiên tương quan với
các đầu ra. Nếu bạn browse một mô hình và không tìm thấy bất kì thông tin nào, thử
giảm giá trị này xuống cho đến khi quan sát được sự tương quan. Giá trị mặc định là 0,5.
d. DMX:
Vì Naïve Bayes là thuật toán khá đơn giản nên có thể tạo mô hình và huấn
luyện bằng lệnh DMX chuẩn
CREATE MINING MODEL Tên mô hình (
[ID] LONG KEY,
[Tên thuộc tính] TEXT DISCRETE PREDICT,
[Tên thuộc tính] TEXT DISCRETE,…
)USING Microsoft_Naive_Bayes
Huấn luyện có thể dùng cấu trúc lệnh INSERT INTO chuẩn. Có thể sử dụng
lệnh INSERT INTO đơn giản bằng cách không cần xác định bất kỳ tên cột nào,
chẳng hạn:
GVHD: TS. Nguyễn Mạnh Hùng - 10 - HVTH: Đậu Hoài Nam
Đồ án tốt nghiệp Kỹ thuật Text Mining và ứng dụng
INSERT INTO VotingRecords
OPENQUERY([Voting Records], ‘SELECT * FROM
VotingRecords’)
Để dự đoán, dùng lệnh SELECT chuẩn với mệnh đề PREDICTION JOIN, Ví dụ: sử
dụng các tham số để dự đoán Party dựa trên Food Stamps and Nuclear Waste
SELECT Predict(Party) FROM VotingRecords
NATURAL PREDICTION JOIN
(SELECT @FoodStamps AS [Food Stamps],

@NuclearWaste AS [Nuclear Waste]) as t
1.5.2 Thuật toán cây quyết đinh.
a. Trường hợp áp dụng:
Thuật toán cây quyết định dùng để phân loại, chẳng hạn để phân loại khách hàng
mua hàng trực tuyến và khách hàng mua trực tiếp, hoặc dùng trong các tác vụ hồi qui.
Thuật toán cây quyết định hỗ trợ cả thuộc tính rời rạc và thuộc tính liên tục.
b. Nguyên tắc của thuật toán:
Nguyên tắc của thuật toán cây quyết định (Decision trees) là chia nhỏ dữ liệu
một cách đệ qui thành các tập con và mỗi tập con này chứa các trạng thái đồng nhất
hoặc không đồng nhất. Tại mỗi nhánh trên cây, tất cả thuộc tính input được đánh giá
tầm ảnh hưởng của chúng lên các thuộc tính có thể dự đoán. Khi tiến trình đệ qui
này kết thúc một cây quyết định sẽ được hình thành.
- Đầu tiên thuật toán Decision trees sẽ lấy một thuộc tính để rẽ nhánh ở nút gốc
- Điều kiện để chọn thuộc tính rẽ nhánh sử dụng công thức tính số Entropy nếu
số entropy của thuộc tính nào nhỏ nhất thì thuộc tính đó sẽ được chọn:
Entropy (p
1
, p
2
, p
3
, …, p
n
) = - p
1
log
2
p
1
- p

2
log
2
p
2
…- p
n
log
2
p
n
Trong đó p
1
, p
2
, p
3
, …, p
n
là xác suất của mỗi trạng thái thuộc tính dự đoán,
p
1
,+p
2
+ p
3
+ …+p
n
= 1.
c. Các tham số thuật toán:

- MAXIMUM_INPUT_ATTRIBUTES: Xác định số thuộc tính input mà thuật toán
có thể điều khiển trước khi nó gọi tới đặc tính lựa chọn. Đặt giá trị này bằng 0 để tắt đặc
tính lựa chọn. Mặc định là 255.
GVHD: TS. Nguyễn Mạnh Hùng - 11 - HVTH: Đậu Hoài Nam
Đồ án tốt nghiệp Kỹ thuật Text Mining và ứng dụng
- MAXIMUM_OUTPUT_ATTRIBUTES: Xác định số thuộc tính output mà thuật
toán có thể điều khiển trước khi nó gọi tới đặc tính lựa chọn. Đặt giá trị này bằng 0 để
tắt đặc tính lựa chọn. Mặc định là 255.
- SCORE_METHOD: Xác định phương thức sử dụng để tính toán điểm rẽ nhánh
Một số lựa chọn sẵn có: Entropy (1), Microsoftyesian with K2 Prior (2), or
Microsoftyesian Dirichlet Equivalent (BDE) Prior (3). Mặc định là 3.
- SPLIT_METHOD: xác định phương thức được sử dụng để chia nhỏ một node.
Available options: Binary (1), Complete (2), hoặc Both (3). Mặc định là 3.
- MINIMUM_SUPPORT: Xác định số tối thiểu của mức lá mà được yêu cầu để
sinh ra một nhánh trên cây quyết định. Mặc định là 10.
- COMPLEXITY_PENALTY: Điều khiển độ tăng trưởng của cây quyết định. Giá
trị thấp sẽ làm tằng số lượng các nhánh và ngược lại. giá trị mặc định dựa vào số lượng
thuộc tính của mô hình cụ thể, được liệt kê như sau:
Từ 1 đến 9 thuộc tính mặc định là 0.5. Từ 10 đến 99 thuộc tính mặc định là 0.9. Từ
100 thuộc tính trở lên mặc định là 0.99.
d. DMX:
Tạo mô hình:
Create mining model CollegePlan(
StudentId long Key,
Gender text discrete,
ParentIncome long discrete,
IQ long continuous,
ParentEncouragement text discrete,
CollegePlans text discrete predict
)Using Microsoft_Decision_Trees(Complexity_Penalty=0.5)

Sau khi tạo mô hình có thể huấn luyện mô hình và sau đó browse .
1.5.3 Thuật toán Neural Network.
a. Trường hợp áp dụng:
Thuật toán cây quyết định dùng để thực hiện các nhiệm phân loại, chẳng hạn để
phân loại sở hữu nhà của khách hàng trong giao dịch bất động sản dựa vào thông tin
GVHD: TS. Nguyễn Mạnh Hùng - 12 - HVTH: Đậu Hoài Nam
Đồ án tốt nghiệp Kỹ thuật Text Mining và ứng dụng
lý lịch và thu nhập của họ, hoặc dùng trong các tác vụ hồi qui và nhận dạng. Thuật
toán Neural Network hỗ trợ cả thuộc tính rời rạc và thuộc tính liên tục.
b. Nguyên tắc của thuật toán:
Nguồn gốc của Neural Network có thể được phát hiện đầu tiên vào thập kỷ 40, từ hai
nhà nghiên cứu là Warren McCulloch và Walter Pits, khi cố gắng xây dựng một mô hình
tái tạo lại quá trình làm việc của các neural thần kinh sinh học. Năm 1982, John Hopfield
đã phát minh sự lan truyền ngược (backpropagation), một phương pháp để điều chỉnh
trọng số của một Neural Network trong hướng lùi dự trên nghiên cứu về độ lệch (sai số).
Và sức mạnh tính toán của máy tính hiện đại đã làm cho khả năng phân tích xử lý các mô
hình Neural Network lớn trong thời gian chấp nhân được. Kỹ thuật Neural Network đã
được ứng dụng nhiều hơn trong các lĩnh vực kinh doanh thương mại và kỹ thuật như nhận
dạng giọng nói và chữ viết tay, phát hiện gian lận trong giao dịch thẻ tín dụng và phân tích,
phân loại khách hàng. Người ta sử dụng Neural Network hơn là sử dụng Decision trees và
Naive Bayes vào các nhiệm vụ phân loại. Mặt hạn chế của Neural Network là khó khăn
trong việc phân tích kết quả. Neural Network hỗ trợ đầu ra rời rạc và cả liên tục. Khi đầu ra
là liên tục, nhiệm vụ của nó là hồi quy. Trong thực tế, kỹ thuật phân loại hồi quy, như hồi
quy hậu có thể xem như một trường hợp đặc biệt của Neural Network.
- Khái niệm mạng Neural Network.
Thế nào gọi là một Neural Network hồi quy tiến? Neural Network có thể hiệu
quả hơn Decision trees và Naive Bayes trong việc phân lọai và hồi quy? Hình 1 thể
hiện một cặp ví dụ của Neural Network.
Hình 1: Ví dụ mạng Neural Network
GVHD: TS. Nguyễn Mạnh Hùng - 13 - HVTH: Đậu Hoài Nam

Đồ án tốt nghiệp Kỹ thuật Text Mining và ứng dụng
Một Neural Network chứa một tập các node (neuron), và các cạnh. Có ba loại
node: Đầu vào (Input node), node ẩn (Hident node) và đầu ra (Output node). Mổi
cạnh kết nối hai node với nhau với tập hợp các trọng số riêng biệt. Hướng của mổi
cạnh được miêu tả như một luồng dữ liệu trong suốt quá trình dự báo kết quả của
mô hình. Mỗi node là một đơn vị của quá trình xử lý. Các node đầu vào là từ layer
đầu tiên của mạng. Trong các mạng Neural Network phổ biến, mổi node đầu vào
được kết nối tới một thuộc tính đầu vào như tuổi thọ, giới tính hay thu nhập. Giá trị
gốc của một thuộc tính đầu vào cần được chuẩn hóa tới một miền giá trị số thực nhất
định (thường là từ -1 đến 1) trước khi xử lý.
Node ẩn là các node nằm trong các layer trung gian. Một node ẩn nhận đầu vào
từ các node trong layer đầu vào hoặc từ các layer tiền nhiệm. Nó kết hợp tất cả các
đầu vào dựa trên trọng số của các cạnh liên quan, xử lý các tính toán và đưa ra giá
trị kết quả đến layer tiếp theo.
Output nodes thường được coi là các thuộc tính dự báo. Một Neural Network có
thể có nhiều thuộc tính đầu ra, như trong hình 1(b). Nó có thể tách rời các Output
node với các mạng khác. Nhưng trong các trường hợp phổ biến, nó giảm bớt các lần
xử lý khi chúng kết hợp các mạng dùng chung của quá trình quét nguồn dữ liệu. Kết
quả của Output node thường là một số thực từ 0 đến 1.
Kỹ thuật dự báo của Neural Network không phức tạp. Các giá trị thuộc tính của các
Input case được chuẩn hóa và ánh xạ tới các neuron của layer đầu vào. Sau đó mổi node
Hidden layer phân tích các đầu vào và khởi sự các đầu ra cho layer tiếp theo. Cuối cùng
neuron đầu ra bắt đầu xử lý các giá trị tự sinh và các giá trị đầu ra. Giá trị này ánh xạ đến
mức co giản đầu vào (original scale - thuật ngữ của thuộc tính liên tục) hoặc một loại đầu
vào (original category - thuật ngữ của thuộc tính rời rạc). Trong quá trình phân tích xử lý,
một Neural Network tốn rất nhiều thời gian, tạo dự báo lại một mô hình Neural Network đã
huấn luyện thì hiệu quả mang lại là cao hơn.
Như minh họa trên hình 1, cấu trúc mạng Neural Network có thể biến đổi. Hình 1(a)
thể hiện một mạng rất đơn giản, nó có một thuộc tính đầu ra, với 1 hidden layer. Tất cả các
neuron input đều kết nối tới các neuron đầu ra trực tiếp. Đấy chính là mạng hồi quy hậu

(Logistic Regression).
GVHD: TS. Nguyễn Mạnh Hùng - 14 - HVTH: Đậu Hoài Nam
Đồ án tốt nghiệp Kỹ thuật Text Mining và ứng dụng
Hình 1(b) là một mạng với 3 layer. Có 3 neuron trong hidden layer. Mỗi neuron trong
hidden layer kết nối đầy đủ tới các đầu vào trong layer trước. Hidden layer là thành phần rất
quan trọng của Neural Network. Nó cho phép mạng có thể nghiên cứu các quan hệ phi
tuyến.
Sau khi topo mạng của một Neural Network đã được cấu hình, số các Hidden node là
theo lý thuyết (theo danh nghĩa), quá trình xử lý huấn luyện tìm ra tập các trọng số tốt nhất
của các cạnh trong mạng. Nhiệm vụ này tiêu tốn một thời gian nhất định. Ban đầu, các
trọng số là được gán ngẫu nhiên. Trong mỗi lần huấn luyên lặp lại, các trường hợp của quá
trình xử lý mạng sẽ sinh ra một giá trị dự báo trên output layer dựa trên cấu hình mạng hiện
thời. Sau đó nó sẽ tính toán các sai số cho các đầu ra. Dựa trên các sai số đó, nó điều chỉnh
trọng số của mạng sử dụng lan truyền ngược (backward propagation). Chúng ta sẽ tiến tới
chi tiết cách làm việc của mạng Neural Network trong đoạn tiếp theo.
- Tổ hợp và kích hoạt (Combination and Activation)
Mỗi neuron trong mạng Neural Network là một đơn vị xử lý cơ sở. Một neuron có một số
các đầu vào và một đầu ra. Nó tổ hợp tất cả các giá trị đầu vào (combination), thực hiện tính
toán đôi chút, và sau đó đưa ra một giá trị đầu ra (activation). Quá trình xử lý đó giống như
mạng Neural Network sinh học. Hình 2 minh họa cấu trúc của một neuron.
Hình 2: Một đơn vị xử lý cơ sở
Nó chứa hai hàm: Một hàm tổ hợp các đầu vào, và một hàm tính toán đầu ra. Hàm tổ
hợp đầu vào thực hiện tổ hợp tất cả các giá trị đầu vào vào trong một giá trị. Có hai cách
khác nhau để tổ hợp các giá trị đầu vào. Phương pháp phổ biến nhất là tính tổng các trọng
số (weighted sum), có nghĩa là tổng của mỗi giá trị đầu vào là bội số bằng tập hợp các
GVHD: TS. Nguyễn Mạnh Hùng - 15 - HVTH: Đậu Hoài Nam
Đồ án tốt nghiệp Kỹ thuật Text Mining và ứng dụng
trọng số của nó. Cách khác là hàm chứa giá trị trung bình, max logical OR và logical AND
của các giá trị đầu vào. Microsoft Neural Network sử dụng phép tính gần đúng tổng các
trọng số. Đầu ra của tổ hợp sẽ được dùng cho hàm kích hoạt.

Tương tự như cách mà mạng Neural Network sinh học làm việc, khi sử dụng hàm
kích hoạt, các thay đổi nhỏ của giá trị đầu vào đôi khi gây ra thay đổi lớn giá trị đầu ra và
thay đổi lớn của giá trị đầu vào lại hầu như tác động rất nhỏ hoặc không đáng kể tới giá trị
đầu ra. Cụ thể, giá trị đầu ra rất nhạy với các thay đổi của giá trị đầu vào khi giá trị đó xa
với mức trung bình của nó. Đặc tính làm nổi bật khả năng của Neural Network là nghiên
cứu được các quan hệ phi tuyến bên trong mạng. Một vài hàm toán học thỏa mãn đặc tính
này. Hàm phổ biến trong số đó là hàm xích-ma sigmoid (logistic) và tanh. Đó là hai hàm
phi tuyến và kết quả của nó cũng là trạng thái phi tuyến. Định nghĩa của hàm sigmoid và
tanh là:
( )
a
eOsigmoid += 11:
( ) ( )
aaaa
eeeeO
−−
+−=:tanh
Trong đó a là giá trị đầu vào và O là là giá trị đầu ra.
Hình 3 minh họa phân phối của hai hàm trên. Trục x là giá trị đầu vào, trục y là giá trị
đầu ra. Giá trị đầu ra của hàm sigmoid là từ 0 đến 1, còn tanh là từ -1 đến 1. Khi giá trị đầu
vào là 0 thì đầu ra thay đổi nhạy nhất so với thay đổi nhỏ của đầu vào. Khi giá trị đầu vào
được đưa vào là lớn thì thay đổi của giá trị đầu ra hầu như không đáng kể.
Microsoft Neural Network sử dụng hàm tanh như một hàm kích hoạt trong Hidden
nodes. Với Output nodes thì nó sử dụng hàm sigmoid.
GVHD: TS. Nguyễn Mạnh Hùng - 16 - HVTH: Đậu Hoài Nam
Đồ án tốt nghiệp Kỹ thuật Text Mining và ứng dụng
Hình 3: Hàm kích hoạt (Actiovation)
GVHD: TS. Nguyễn Mạnh Hùng - 17 - HVTH: Đậu Hoài Nam
Đồ án tốt nghiệp Kỹ thuật Text Mining và ứng dụng
- Backpropagation, Error Function, và Conjugate Gradient

Phần cốt lỏi trong quá trình phân tích xử lý của Neural Network là backpropagation.
Quá trình huấn luyện một Neural Network là một quá trình lặp lại nhiều lần. Trong mỗi
bước lặp, thuật toán sẽ so sánh đối chiếu giá trị đầu ra với giá trị đã biết hiện thời để đưa ra
sai số cho mỗi neuron đầu ra. Các trọng số chỉ rõ neurons đầu ra được thay đổi dựa trên
tính toán sai số. Có một số thay đổi là quá trình phát sinh này từ output layer qua hidden
layer và cuối cùng tới input layer. Tất cả các trọng số của mạng Neural Network đều được
điều chỉnh cho phù hợp với mạng.
Các xử lý cốt lõi của quá trình huấn luyện mạng Neural Network được miêu tả bằng
các bước sau:
1. Thuật toán sẽ gán các giá trị ngẫu nhiên cho tất cả các trọng số trong mạng tại
trạng thái ban đầu (giá trị này từ -1.0 đến 1.0)
2. Cho mỗi mẫu huấn luyện (hoặc một tập mẫu huấn luyện) nó tính toán giá trị đầu
ra dựa trên các trọng số hiện thời trong mạng.
3. Sai số đầu ra đã được tính toán và quá trình backpropagation sẽ tính toán các sai
số cho mỗi đầu ra và hidden neuron trong mạng. Các trọng số trong mạng đã được
thay đổi.
4. Trở lại bước 2 cho đến khi điều kiện thỏa mãn.
Một vài mạng Neural Network cập nhật trọng số sau khi kiểm tra mỗi trường hợp. Đó
được gọi là case[online] updating. Các mạng Neural Network khác cập nhật trọng số cho tới
khi tất cả các trường hợp đã được phân tích. Nó được gọi là epoch[batch] updating. Một sự
tương tác thông qua quá trình huấn luyện dataset được gọi là một epoch. Microsoft Neural
Network sử dụng epoch cập nhật bởi vì nó là phương thức mạnh cho mô hình hồi quy.
Neural Network cần một thước đo tính toán để chỉ ra chất lượng của quá trình huấn
luyện. Đó chính là hàm sai số (error function) hay còn được gọi là hàm tổn thất (loss
function). Toàn bộ mục đích của quá trình huấn luyện Neural Network là làm cực tiểu hóa
sai số huấn luyện.
Có nhiều lựa chọn khác cho error function, ví dụ, đó là phần dư bình phương squared
residual (bình phương của số delta giữa giá trị dự báo và giá trị hiện thời) hoặc là ngưỡng
GVHD: TS. Nguyễn Mạnh Hùng - 18 - HVTH: Đậu Hoài Nam
Đồ án tốt nghiệp Kỹ thuật Text Mining và ứng dụng

của phân loại nhị phân binary classification (nếu số delta giữa giá trị dự báo và giá trị hiện
thời nhỏ hơn 0.5 thì sai số là 0 ngược lại là 1).
Công thức dưới đây đưa ra một phương thức thông thường cho tính toán sai số cho các
neuron tại output layer sử dụng đạo hàm của hàm lùi (logistic function). Microsoft Neural
Network sử dụng tổng của các sai số bình phương sum-of-squares error cho các giá trị liên
tục và cross-entropy cho các thuộc tính rời rạc:
( )( )
iiiii
OTOOErr −−= 1
Trong trường hợp trên, O
i
là đầu ra của output neuron đơn vị i. Và T
i
là giá trị hiện
thời cho output neuron đó dựa trên mẫu huấn luyện.
Tính toán sai số cho hidden neuron dựa trên sai số của các neuron trong các layer dưới
và kết hợp trọng số. Công thức như sau:
( )

−=
j
ijjiii
wErrOOErr 1
Ở đây, O
i
là đầu ra của hidden neuron đơn vị i, và có j output đến các layer tiếp theo
đó. Err
j
là sai số của neuron đơn vị j, w
ij

là trọng số giữa hai neurons.
Khi sai số của mỗi neuron được tính toán, bước tiếp theo là điều chỉnh trọng số trong
mạng cho phù hợp sử dụng công thức sau đây:
ijijij
OErrlww **+=
Ở đây, l là giá trị trong vùng từ 0 đến 1.
Biến l được gọi là mức (tốc độ, tỉ lệ) học của mạng. Nếu giá trị của l nhỏ thì thay đổi
của trọng số là nhỏ sau mỗi bước lặp, vì thế mức học là thấp. Giá trị của l thường giảm
trong quá trình huấn luyện mạng. Tại trạng thái đầu của mạng, giá trị l là khá lớn, cho phép
mạng Neural Network di chuyển trạng thái nhanh hơn về gần với trạng thái tối ưu. Sau đó
nó giảm dần, để chúng ta có thể làm mịn mạng để tìm thấy kết quả tốt nhất.
Nhiều mạng Neural Network áp dụng một phương pháp được gọi là conjugate
gradient để điều chỉnh trọng số sau mỗi vòng lặp. Conjugate gradient là một thuật toán cho
việc tìm các tối thiểu lân cận. Phương pháp conjugate gradient sử dụng đạo hàm (gradient) để
tìm hướng tiếp theo. Liên hợp (conjugate) tạo ra bên trong tính toán các hướng ưu tiên, khi
nó tính toán hướng tiếp mà nó có thể tránh được các lỗi dích dắc, có nghĩa là tạo ra một lối
tắt.
GVHD: TS. Nguyễn Mạnh Hùng - 19 - HVTH: Đậu Hoài Nam
Đồ án tốt nghiệp Kỹ thuật Text Mining và ứng dụng
Bởi vì không gian tìm kiếm cho tập các trọng số tốt là rất lớn, với rất nhiều điểm tối
ưu lân cận, các nhà nghiên cứu đã áp dụng phương pháp phi tuyến tối ưu khác để chỉ dẫn
quá trình thực hiện huấn luyện. Có nhiều thuật toán tối ưu như thuật toán di truyền học,
thuật toán tái tạo huấn luyện (u), thuật toán cải thiện bước lặp.v.v
- Một ví dụ đơn giản về quá trình xử lý Neural Network
Cách tốt nhât để giải thích quá trình huấn luyện của Neural Network là qua một ví dụ
nhỏ của quá trình cập nhật một mẫu. Trong ví dụ này chúng ta sử dụng tổng trọng số là
hàm tổ hợp combination function, và sigmoid là hàm kích hoạt. Hình 4 minh họa cấu trúc
của mạng Neural Network đơn giản với 6 neuron. Các trọng số ban đầu của các cạnh được
hiển thị trong minh họa.
Hình 4: Một ví dụ của quá trình huấn luyện mạng Neral Network

Ví dụ này có 3 Input node và 1 Output node và nó ánh xạ tới 4 thuộc tính của mỗi 1
trường hợp. Giả sử rằng, trường hợp các mẫu là (1,1,0,1) là con số cuối của đầu ra.
Bước thứ nhất là tính toán đầu ra cho mỗi hidden và output neuron được minh họa
trong bảng 1:
Bảng 1: Tính toán đầu ra cho Hidden và Output neuron
GVHD: TS. Nguyễn Mạnh Hùng - 20 - HVTH: Đậu Hoài Nam
Đồ án tốt nghiệp Kỹ thuật Text Mining và ứng dụng
Chúng ta tính ra được giá trị đầu ra của neurons 6 là 0.667. Giá trị hiện thời được đưa
vào bằng ví dụ là 1. Theo cách đó chúng ta có thể tính toán sai số của output neuron. sử
dụng phương pháp backpropagation chúng ta có thể nhận được tất cả các sai số cho tất cả
các output neuron và hidden neuron như hiển thị trong bảng 2:
Bảng 2: Tính toán sai số cho Hidden và Output neuron
Ví dụ Neural Network sử dụng phương pháp case updating method. Khi một sai
số được tính toán, chúng ta điều chỉnh trọng số cho phù hợp. Bảng 3 cho ta một tập
mới các trọng số sau trường hợp huấn luyện thứ nhất. Độ lớn bước này là một hằng
số, với giá trị là 0.8.
Bảng 3: Tính toán các trọng số mới
c. Các tham số thuật toán:
- MAXIMUM_INPUT_ATTRIBUTES: Xác định số thuộc tính đầu vào cho huấn
luyện. Nếu có nhiều hơn số thuộc tính đầu vào này thì thuật toán sẽ chọn các đầu vào
quan trọng nhất và bỏ qua các thuộc tính còn lại. Thiết lập tham số này bằng 0 để thuật
toán chọn tất cả các thuộc tính. Giá trị mặc định là 255.
- MAXIMUM_OUTPUT_ATTRIBUTES: Xác định số thuộc tính đầu ra cho huần
luyện. Nếu có nhiều hơn số thuộc tính đầu ra này thì thuật toán sẽ chọn các đầu ra quan
GVHD: TS. Nguyễn Mạnh Hùng - 21 - HVTH: Đậu Hoài Nam
Đồ án tốt nghiệp Kỹ thuật Text Mining và ứng dụng
trọng nhất và bỏ qua các thuộc tính còn lại. Thiết lập tham số này bằng 0 để thuật toán
chọn tất cả các thuộc tính. Giá trị mặc định là 255.
- MAXIMUM_STATES: điều khiển bao nhiêu trạng thái của một thuộc tính được
xem xét. Nếu một thuộc tính có nhiều trạng thái hơn số này, chỉ các trạng thái phổ biến

nhất sẽ được sử dụng. Các trạng thái không được chọn sẽ được xem là dữ liệu lỗi.
Tham số này hữu ích khi một thuộc tính có nhiều trạng thái.
- HOLDOUT_PERCENTAGE: chỉ rõ tỷ lệ phần trăm cho việc huấn luyện mô
hình. Tham số này dùng để xác định độ chính xác trong suốt quá trình huấn luyện
mô hình. Giá trị mặc định của nó là 0.1.
- HIDDEN_NODE_RATIO: được sử dụng để cấu hình số các Hidden nodes.
Đơn vị Hidden nodes là sqrt(m*n), trong đó n là số các input neuron và m là số các
output neuron. Nếu giá trị tham số là 2 thì số các Hidden nodes là 2 * sqrt(m*n). Giá
trị mặc định của tham số này là 4.
Chú ý: Microsoft Logistic Regression algorithm là dựa trên cơ sở của Microsoft
Neural Network Algorithm khi cho giá trị tham số Hidden_Node_Ratio là 0. Như
vậy sẽ không có Hidden nodes nào trong mạng.
d. DMX:
Tạo mô hình:
Create Mining Model HouseOwnershipPrediction(
Customer_Id long key,
Gender text discrete,
Marital_Status text discrete,
Income long continuous,
Age long continuous,
Education text discrete,
HouseOwnership text discrete predict
)Using Microsoft_Neural_Network
Sau khi tạo mô hình có thể huấn luyện mô hình và sau đó browse .
GVHD: TS. Nguyễn Mạnh Hùng - 22 - HVTH: Đậu Hoài Nam
Đồ án tốt nghiệp Kỹ thuật Text Mining và ứng dụng
2. Text Mining
2.1 Giới thiệu Text mining.
Trong thực tế, có nhiều dữ liệu không cấu trúc hơn là dữ liệu có cấu trúc xung
quanh chúng ta. Như Internet, nó chứa hàng tỷ các tài liệu Hypertext Markup

Language (HTML) nhưng chúng không hề có cấu trúc. Phân tích các tài liệu dạng Text
trở nên rất quan trọng. Hai Data Mining Tasks cho Text Mining là sự phân loại và sự
phân đoạn (classification and segmentation). Một trong các lĩnh vực Text Mining phổ
biến là các phản hồi đóng góp của khách hàng (customer support). Trong ví dụ phân
loại (classification), chúng ta có thể có rất nhiều các ý kiến phản hồi từ Web và email,
và chúng ta muốn ấn định cho mỗi ý kiến khách hàng. Trong ví dụ phân đoạn, chúng ta
có thể nhóm các ý kiến phản hồi đó cùng nhau và gửi chúng đến đúng các cơ quan cần
thiết (theo đúng từng nhóm phản hồi).
Với SQL Server 2005, chúng ta có thể thực thi một dự án Text Mining sử dụng
SSIS (SQL Server Integration Service) và Data Mining. Một điển hình là bắt đầu với
việc sử dụng Term Extraction để xây dựng một từ điển cho lĩnh vực kinh doanh,
giao dịch hoặc lĩnh vực cần thực hiện. Bước thứ hai là sử dụng Term Lookup để tìm
các key terms từ các cột dữ liệu gốc, theo đó chuyển đổi các dữ liệu không cấu trúc
sang dữ liệu có cấu trúc. Bước thứ 3 là đặt vào các kỹ thuật Data Mining như Naïve
Bayes, Neural Network, Clustering, và Decision trees để xây dựng các mô hình Data
Mining trên đầu ra của Term Lookup. Thông thường thì đầu ra của Term Lookup
được đối xử như một bảng lồng nhau (nested table) trong mô hình mining.
2.1.1 Khái niệm và vị trí quan trọng của Textmining
Text mining là một sự chuyên môn hóa và mở rộng của Data Mining, một dạng
của khai phá tri thức (knowledge discovery). Các nguồn thông tin cho Text Mining
là các trường dữ liệu văn bản. Trong các bước tạo nên một mô hình Text Mining thì
trong đó có một bước rất quan trọng là sử dụng kỹ thuật Data Mining để phân tích.
Trong các bước tạo dựng và thực thi mô hình Text Mining thì bước quan trọng đầu
tiên là thực hiện biến đổi dữ liệu từ không có cấu trúc thành dữ liệu có cấu trúc. Các
dữ liệu dạng Text được chuẩn hóa và biến đổi trước khi đưa vào một mô hình Data
Mining sử dụng các thuật toán Data Mining như chúng ta đã nêu ở trên. Các thành
GVHD: TS. Nguyễn Mạnh Hùng - 23 - HVTH: Đậu Hoài Nam
Đồ án tốt nghiệp Kỹ thuật Text Mining và ứng dụng
phần của văn bản được đưa vào các công thức biến đổi dữ liệu có cấu trúc (well-
formulated data structures), ứng dụng kỹ thuật thống kê để thực hiện giảm bớt chiều

cũng như độ lớn của dữ liệu, thực hiện nhận dạng các tương quan, phân cụm, liên
kết, tạo quan hệ, và tạo các nguyên tắc dự báo trong một quá trình tuần hoàn của
khai phá tri thức.
Kỹ thuật Text Mining đang thực sự phát triển và có tiềm năng to lớn trong
tương lai. Điểm bắt đầu của Text Mining là một tập các văn bản text nguyên bản, đó
là các yêu cầu đầu tiên cho các mô hình Text Mining, bằng công nghệ thông tin và
các chuyên gia kinh tế thực hiện khám phá các phần còn ẩn chứa trong đó để thực
hiện công việc nhất định. Đầu ra của Text Mining là các kiến thức dễ dàng lĩnh hội
và phát triển so với dữ liệu nguyên bản.
- Các dữ liệu không có cấu trúc:
Text hầu hết được nhóm trong phạm trù dữ liệu không có cấu trúc “unstructured
data” cùng với videos, images, audio, và các thông tin khác mà được lưu trữ với việc
ít hoặc không có sự chia nhỏ các trường dữ liệu bên trong với sự rối răm không rõ
ràng, không phân biệt hoặc không định hình được bằng đối tượng dữ liệu nhị phân.
Tuy nhiên cũng như các dữ liệu không cấu trúc khác, dữ liệu Text cũng có thể thực
hiện xữ lý một cách hoàn hảo nhờ kỹ thuật Text Mining.
Thứ nhất, các dữ liệu văn bản có cấu trúc ngôn ngữ học mà dễ dàng hiểu được
bằng con người trên các mức phức tạp khác nhau của nó. Các từ riêng rẽ có biến cách
(danh từ) và sự kết hợp chia (động từ), và trong tất cả các ngôn ngữ, tất cả các trường
hợp đó đều có nguyên tắc và ngữ nghĩa riêng của một nhóm từ trong một câu.
Các câu có cấu trúc ngữ pháp, xây dựng từ các cụm từ với chủ ngữ, vị ngữ, bổ
ngữ và các trợ động từ như giới từ chẳng hạn. Các đoạn văn, các chương, .v.v. được
xây dựng trên các thành phần cấu trúc nhỏ và bao gồm cả ngữ cảnh đến các thành
phần với mỗi mức khác nhau. Các công cụ Text Mining đặt các quy tắc kỹ thuật
ngôn ngữ học (natural language) để phân tích cú pháp và ngữ pháp và mô hình cấu
trúc vốn có của các văn bản Text nguyên bản.
Thứ hai, từ các dữ liệu không cấu trúc đó, phải có các tùy chỉnh phù hợp để đưa
các mô hình Text Mining vào xử lý trên việc phân tích và mô hình hóa chúng.
GVHD: TS. Nguyễn Mạnh Hùng - 24 - HVTH: Đậu Hoài Nam
Đồ án tốt nghiệp Kỹ thuật Text Mining và ứng dụng

Cuối cùng, từ các dữ liệu không có cấu trúc phải tạo ra mô hình dữ liệu có cấu
trúc để thực hiện các mục đích tiếp theo. Để thực hiện được chúng ta phải thực hiện
quá trình khai phá trí thức các text không cấu trúc đưa vào bằng các phương pháp như
phân loại, quan hệ hóa và các nguyên tắc dự báo. Các quá trình thực hiện khai phá
thông qua phân cụm, tuyến tính hóa, phân tích trên các thông tin trích rút. Các thông
tin đó là nguồn dữ liệu cho một quá trình phân tích xử lý tiếp theo là Data Mining.
- Vị trí quan trọng của Text Mining
Kỹ thuật Text mining tương tác và chồng lấp lẫn nhau trong quá trình phát triển,
được ứng dụng ngày càng nhiều trên nhiều lĩnh vực. Hiện nay, kỹ thuật Text mining đã
có vị trí quan trọng không thể thiếu được trong quá trình phát triển của các ứng dụng
trên máy tính trong tình trạng tìm kiếm thông tin đang là vấn đề rất nóng và quan trọng.
Nó ứng dụng nhiều trong quản lý nội dung, tìm kiếm tra cứu và phân tích.
• Quản lý nội dung, quản lý tri thức, và phân phối nội dung:
Text Mining có thể đưa ra các lời khuyên hữu ích cho việc tăng thêm giá trị vào
quá trình quản lý nội dung (CM: Content Management), và các hệ thống cổng thông
tin. CM về cơ bản là cung cấp các văn bản hoạt động quá khứ của các hoạt động kinh
doanh hoặc hoạt động hành chính nào đó mà tiêu điểm là việc quản lý thông minh và
truy tìm thông tin dựa trên quá trình khai phá tri thức. Trong lĩnh vực kinh doanh,
quản lý tri thức (KM: Knowledge Management) về bản chất là đồng nghĩa với CM
với việc thêm các khía cạnh thông tin, các nguyên tắc kinh doanh thương mại, và
quản lý các kho siêu dữ liệu (metadata). Các máy chủ của các cổng thông tin sử dụng
các dao diện, cung cấp các kỹ thuật, kỹ xảo để tìm kiếm và phân phát các văn bản,
cung cấp các khả năng phân tích dữ liệu quan trọng mà cho phép người sử dụng trích
rút các thông tin dựa vào các quan hệ và nguyên tắc có trên mỗi tài liệu được lưu trữ.
• Enterprise, Desktop, và Web Search:
Tìm kiếm Enterprise là tìm kiếm các khả năng đến các chỉ mục văn bản trong
các định dạng khác nhau, có trong các kho chứa báo cáo, cơ sở dữ liệu và các files
hệ thống thông qua các tổ chức, truy tìm thông tin dựa trên việc tìm các thuật ngữ và
các đặc tính như tạo và chỉnh sửa dữ liệu, các định dạng văn bản, tác giả và phân
loại các đối tượng.

GVHD: TS. Nguyễn Mạnh Hùng - 25 - HVTH: Đậu Hoài Nam

×