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
Trang 1LỜ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
Trang 2MỤC LỤC
Trang 3Chươ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
Trang 4khó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
Trang 5thể 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
Trang 6thuật tốn giám sát Trong thuật tốn phân loại, các mục tiêu được đưa vào Cây quyết định,Nạ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 tố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 tố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 tố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
Trang 7đề 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
Trang 8thườ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
Trang 9tố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 tố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 tố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 tốn Clustering của Microsoft
1.5 Các thuật tốn Data Mining.
1.5.1 Thuật tốn Naive Bayes:
b Nguyên tắc của thuật tốn:
Thuật tố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:
)(
)()
|(
|
E P
H P H E P E
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 tốn:
Vì sự thực hiện của thuật tốn khơng phức tạp nên nĩ khơng địi hỏi nhiều tham số Nạve Bayes cĩ các tham số sau:
Trang 10- 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 tố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 tố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 tố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 tố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ì Nạve Bayes là thuật tố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:
Trang 11INSERT 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 (p1, p2, p3, …, pn) = - p1log2 p1 - p2log2 p2 …- pnlog2 pn
Trong đó p1, p2, p3, …, pn là xác suất của mỗi trạng thái thuộc tính dự đoán, p1,+p2+ p3+ …+pn = 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
Trang 12- 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
Trang 13lý 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
Trang 14Mộ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)
Trang 15Hì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
Trang 16trọ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à:
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
Trang 17Hình 3: Hàm kích hoạt (Actiovation)
Trang 18- 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
Trang 19củ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:
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:
( − ) ∑
Ở đâ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:
i j ij
Ở đâ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
Trang 20Bở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
Trang 21Chú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
Trang 22trọ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
Trang 232 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ư Nạ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 tốn Data Mining như chúng ta đã nêu ở trên Các thành
Trang 24phầ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 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
(well-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
Trang 25Cuố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
Trang 26Tìm kiếm Desktop có đặc tính nhỏ hơn so với tìm kiếm Enterprise Đa số các thực hiện tìm kiếm các hệ thống files và được cung cấp công cụ kém hơn Các công
cụ tìm kiếm Web-search đã thực sự có vị thế phổ biến trên thế giới như Google, Yahoo hứa hẹn là những công cụ tốt trên Desktop với những tùy chọn phong phú và tiện lợi, không những Text mà còn các dữ liệu không có cấu trúc khác như image, audio, video…
Text Mining chia sẽ sức mạnh với các công cụ tìm kiếm từ Web search Google, Yahoo và một số công cụ tìm kiếm khác phổ biến khắp nơi, đơn giản, tiện dụng, và rẻ nữa Chúng đã được khách hàng thừa nhận là đã thống trị thế giới kinh doanh Các công cụ này đã thu hẹp dần khoảng cách vùng miền và ngôn ngữ, tác động sâu sắc đến hoạt động kinh tế thế giới, và các công cụ Text Mining cho từng mục đích công việc Việc phát triển các ứng dụng tìm kiếm trên mạng có lẽ sẽ quan trọng hơn nữa nếu có tích hợp các công cụ mạnh hơn, ví dụ Text mining tools
Hình 5: Ứng dụng Text Ming trong Web-search
Trang 27• Business Intelligence:
Business intelligence (BI) bao gồm một tập các kỹ thuật thuật khác nhau dùng cho các nhiệm vụ khác nhau BI tối thiểu cung cấp các truy vấn, báo cáo, và các phân tích đa chiều (OLAP, On-Line Analytical Processing) của dữ liệu dạng số trong các kho dữ liệu hoặc các dữ liệu kinh doanh buôn bán Nhưng bên cạnh đó thì
nó cũng cung cấp một kỹ thuật riêng là ETL (extract, transform, load), làm sạch dữ liệu, phân tích dữ liệu, quản lý siêu dữ liệu, và quản lý kho dữ liệu Khu vực phát triển của BI là lĩnh vực quản lý kinh doanh và các hoạt động phân tích nhúng Công
cụ này cũng đã hổ trợ vào các định dạng văn bản như Microsoft Exceel, nhưng chúng ta cần phải tạo ra nhiều ứng dụng phong phú hơn nữa cho người dùng có thể thực hiện công việc tùy theo mục đích của mình
• Visualization
Các lĩnh vực hoạt đông khoa học dự báo như công nghệ vũ trụ, công nghệ sinh học cũng ứng dụng Text Mining rất phổ biến ví dụ như áp dụng vào quá trình tiến hóa sinh học, phát hiện các chuỗi ADN dựa vào kỹ thuật Text Mining
• Ứng dụng kinh doanh
Các ứng dụng kinh doanh từ các nhà cung cấp như SAP, Oracle, Peoplesoft, và Siebel tự động thực hiện hoạt động bằng các giao diện và cấu trúc dữ liệu cho việc quản lý tài nguyên con người, kế toán, sản xuất chế tạo, hậu cần, tiếp thị và tự động bán hàng, quản lý quan hệ khách hàng, và các khóa chức năng liên hiệp liên kết kinh doanh Tất cả được xây dựng với nhiều tùy chọn phong phú, thực tiễn cao trong việc quản lý kinh doanh Việc xây dựng các ứng dụng Text Mining trong nó càng tăng thêm sức mạnh của các công cụ này
2.1.2 Kỹ thuật Text Mining
Kỹ thuật Text Mining bắt đầu với phân tích từ vựng ngôn ngữ với một tài liệu văn bản: nhồi từ, thực hiện đếm tần số xuất hiện, xác định vai trò, xác định các nguyên tắc và liên kết tập hợp Công cụ Text Mining là trích rút, gắn từ, phân tích tập hợp giữa các thực thể nhận dạng và nội dung và các tài liệu văn bản chứa trong chúng Chúng ta có thể hình dung kỹ thuật đó tiến hành một cách có thứ bậc với việc phân loại văn bản tài liệu, trích rút thuật ngữ và sử dụng nó cho các dạng phân tích
Trang 28khác tiếp theo Chúng sử dụng các kỹ thuật thống kê, phân loại, và xử lý các ký tự có trong một văn bản để thực hiện bước chuẩn bị dữ liệu cho quá trình thực hiện Data Mining
Kỹ thuật đó là tổng hợp các phương pháp thông minh như nhồi từ, nhận dạng cụm từ, trích rút thuật ngữ và thực thể tồn tại trong nó Đây là kỹ thuật phân tích rất phức tạp dựa vào quá trình phân tích cú pháp và ngữ pháp của từng ngôn ngữ khác nhau Nó sử dụng cả hai kỹ thuật là kỹ thuật thống kê và kỹ thuật ngôn ngữ học để thực hiện quá trình khai phá tri thức trong từng dữ liệu tài liệu văn bản text
Cuối cùng, Text Mining sẽ thực hiện đưa dữ liệu đã phân tích biến đổi vào các thuật toán để thực hiện các nhiệm vụ khai phá các tri thức trong đó dựa vào các thuật toán và công cụ Data Mining Một điển hình là nó được hổ trợ rất tốt trong Business Intelligence Development của SQL 2005
2.2 Thuật toán hổ trợ và các bước tiến hành
Kỹ thuật Text Mining được hổ trợ hầu hết các thuật toán đã trình bày trong phần 1.5 Tùy vào từng mục đích và yêu cầu công việc mà lựa chọn các thuật toán cho phù hợp với mô hình Text Mining
Mô hình Text Mining thực hiện các bước như minh họa dưới đây:
Trang 29Hình 6: Các bước thông thường của Text Mining
Trang 30Trong đó, với từng giai đoạn xử lý, các kỹ thuật Text Mining được áp dụng và đưa vào một cách tuần tự, có thứ bậc đến cuối quá trình:
Hình 7: Thứ tự các kỹ thuật thực hiện dự án Text Mining
Trong đó ta thấy đầu của quá trình là một văn bản thô nhưng sau của quá trình thực hiện là một dữ liệu đầu ra có cấu trúc và thực hiện các bước khai phá tiếp theo của dự án Text Mining bằng các mô hình Data Mining
Với Microsoft SQL Server 2005, các bước trong một mô hình Text Mining thông thường như sau:
• Trích rút thuật ngữ bằng Term Extraction transformation
Quá trình này tạo từ điển các danh từ và cụm danh từ được trích rút ra từ trường tài liệu cần trích rút và lưu vào một bảng với cột là thuật ngữ
• Cấu trúc hóa dữ liệu bằng Term Lookup Transformation
Quá trình này thực hiện việc tạo ra một bảng dữ liệu gồm các thuật ngữ và tần
số xuất hiện của nó, dựa trên tham chiếu của trường văn bản cần khai phá và bảng từ điển thuật ngữ vừa xây dựng
Trang 31• Đưa dữ liệu có cấu trúc vừa biến đổi vào một mô hình Data Mining sử dụng các thuật toán Data Mining đã trình bày trong mục 1.5 để thực hiện quá trình khai phá dữ liệu Text.
• Sử dụng các tri thức sau khi thực hiện khai phá mô hình Data Mining để xây dựng các ứng dụng tiếp theo
Cụ thể các bước xây dựng được trình bày trong phần II và ứng dụng thực hiện trong đề tài
Trang 32Chương II: SQL Server Integration Services (SSIS)
Trong một dự án Data Mining điển hình, bước tốn nhiều tài nguyên nhất là bước chuẩn bị Tạo và điều chỉnh một mô hình mining có thể chỉ tiêu tốn 20% thời gian thực hiện dự án Tuy nhiên trước khi tạo các mô hình này thì dữ liệu của chúng
ta phải được định dạng đúng Bước chuẩn bị dữ liệu bao gồm nhiều bước, bao gồm thu nhặt dữ liệu, làm sạch và biến đổi Bạn có thể chuẩn bị dữ liệu sử dụng các SQL Scrift, nhưng có một công cụ tốt hơn cho nó đó là SQL Server Integration Service (SSIS), trước đây nó có tên gọi là Data Transformation Services (DTS)
SSIS là một môi trường thực hiện các chuỗi công việc cho chúng ta để xây dựng các gói biến đổi dữ liệu Chúng ta có thể trích rút dữ liệu từ các nguồn dữ liệu khác nhau và thực hiện các chuổi thao tác trên dữ liệu Các thao tác này được xác định trước và cung cấp các thành phần hợp thành trong SSIS Toolboxes Sau khi biến đổi dữ liệu thì có thể triển khai mô hình Data Mining hoặc thực thi các truy vấn
dự báo trực tiếp bên trong môi trường SSIS
Trong phần này, đầu tiên sẽ là những giới thiệu về SSIS Nội dung dưới đây cũng sẽ hướng dẫn chúng ta những thao tác để thực hiện một nhiệm vụ Data Mining trong môi trường SSIS
1 Giới thiệu về SSIS
SSIS đầu tiên được giới thiệu trong SQL Server 7.0 vào năm 1997 với tên gọi đầu tiên là DTS (Data Transformation Services) SSIS có liên quan tới ETL, nó có nghĩa là trích chọn (Extraction), biến đổi (Transformation), và nhập vào (Loading) Nhiều hoạt động kinh doanh có một kho dữ liệu cực lớn trong thời điểm hiện nay ELT là một công cụ không thể thiếu được cho loading data từ cơ sở dữ liệu OLTP bên trong các kho dữ liệu lớn Trong SQL 1997 và 2000 thì dịch vụ này chỉ hội tụ ở hai phần là Extraction và Loading Nó cho phép chúng ta trích rút và load dữ liệu đến hoặc từ các nguồn dữ liệu khác nhau Trong SQL Server 2005, SSIS được xây dựng lại và nâng cấp lên một mức cao hơn Nó cung cấp các control flow và data flow Control flow được gọi là các luồng công việc và luồng nhiệm vụ Nó giống như các chuỗi công việc mà tại đó các thành phần cấu thành là một nhiệm vụ Các nhiệm
Trang 33vụ này được thực hiện trong một chuỗi xác định trước Cũng có các nhánh trong các luồng nhiệm vụ đó Kết quả thi hành của mỗi nhiệm vụ hiện thời quyết định thực hiện nhiệm vụ của nhánh sau đó
Data flow là một khái niệm mới, nó được gọi là một đường ống pipeline Nó
chủ yếu chú trọng việc lưu trử và phát triển các dữ liệu biến đổi Một data flow bao gồm một tập các biến đổi có giới hạn Điểm bắt đầu của một data flow thường là dữ liệu nguồn, điểm cuối cùng của một data flow thường là dữ liệu đích Bạn có thể hiểu rằng việc thực thi của một data flow như một quá trình của một đường ống dẫn với mổi dòng dữ liệu như một phần của quá trình xử lý và một biến đổi như một đơn
vị xử lý trong một tuyến họat động của quá trình
Hình 8: SSIS Desigdner
Hình 8 minh họa cho chúng ta thấy một kiểu thiết kế SSIS Chúng ta có thể được
hổ trợ thiết kế một mô hình SSIS bằng Business Intelligence Development Studio và Integration Services project Và một Toolbox windows chứa các điều khiển xác định
Trang 34trước các Control flow tasks và data flow transforms Panel giữa chứa 4 view Control Flow, Data Flow, Event Handler, và Package Explorer Control Flow view cung cấp một môi trường thiết kế cho các control flow bằng việc sử dụng các đối tượng này trên Toolbox Data Flow view cung cấp một môi trường thiết kế cho các data flow bằng việc sử dụng các đối tượng này trên Toolbox Sự kiện điều khiển view cho phép chúng ta thực hiện tuần tự trên xuống các hành động thực thi Package Explorer view cung cấp một view dạng cây của luồng
1.1 SSIS Packages
Một package là một triển khai cơ sở và một đơn vị thực thi của một SSIS
project Tất cả các công việc thực hiện bằng SSIS tasks xảy ra trong phạm vi của gói
đó Một SSIS package là một nơi chứa các luồng SSIS Chúng ta có thể tạo một SSIS package bằng việc click chuột phải vào Folder SSIS package trong Integration Services project folder và chọn New SSIS Package menu item
Một SSIS project có thể chứa rất nhiều gói, một gói chỉ chứa một control flow
và có thể chứa một hay nhiều data flow Ngoài data flow và control flow, mổi gói chứa SSIS connections và package variables Variables có các phạm vi ảnh hưởng khác nhau, toàn bộ gói hoặc chỉ trong một chuỗi các nhiệm vụ
Connections và variables được trình bày trong một khay, và nó được đặt ở phần trên cùng của SSIS Designer Connection có thể là một cơ sở dữ liệu quan hệ hoặc một Analysis Services database
1.2 Task Flow
Một SSIS package chứa một control flow, nó được tạo ra bởi một tập các nhiệm
vụ Các nhiệm vụ này định nghĩa các công việc của gói, như Loading Data, thực thi các câu lệnh khai báo SQL, xử lý các Scrift, hoặc hổ trợ các xử lý khác Các nhiệm
vụ được tạo danh sách trong Toolbox Chúng ta có thể tạo thêm các nhiệm vụ bằng cách gắp thả nó từ Toolbox vào trong bảng thiết kế SSIS package
Một gói thường chứa nhiều nhiều nhiệm vụ trong một Task Flow Các đa nhiệm này được tổ chức trong một chuỗi sắp xếp với ràng buộc có thứ bậc Ràng buộc có thứ bậc kết nối hai nhiệm vụ trong một chuỗi Ở đó kết quả của xử lý trước làm nền tảng cho xử lý sau Ta có thể sử dụng các ràng buộc có thứ bậc này để xây dựng các nhánh
Trang 35có điều kiện trong một luồng các công việc cần triển khai cho một dự án Nhiều ràng buộc có thứ bậc có thể được coi như một ràng buộc lớn
Các nhiệm vụ chuẩn trong SSIS
Trong bảng 4 là danh sách các nhiệm và mô tả của nó trong luồng nhiệm vụ SSIS SSIS cung cấp các APIs cho chúng ta để phát triển các nhiệm vụ này
Bulk Insert Task Load một lượng lớn DL từ một file text đến một
bảng SQL Server
Data Flow Task Hỗ trợ copy và biến đổi dữ liệu giữa các dữ liệu
hổn tạp không đồng nhất Một data flow tasks chứa một đường ống dẫn data flow
Execute Package Task Chạy các gói con
Execute Process Task Chạy một chương trình hoặc file khối như một
phần của một gói
Execute SQL Task Chạy một câu lệnh khai báo SQL trong suốt quá
trình thực thi gói và tùy chọn lưu trữ kết quả của truy vấn đó
File System Task Thực thi hoạt động của file hệ thống
File Transfer Protocol
Task
Downloads các file dữ liệu từ một remote server hoặc từ một Internet location như một phần của luồng công việc của gói
Message Queue Task Sử dụng các chuổi Message để gửi và nhận giữa
các SSIS packages
Script Task Sử dụng một script để thực thi một hàm mà không
có sẳn trong SSIS tasks Script này cho phép bạn viết script trong VB.NET sử dụng môi trường Microsoft Visual Studio for Applications (VSA)
Send Mail Task Sends một Email message
XML Task Trộn, lọc và biến đổi DL trong XML documents
Bảng 4: Các nhiệm vụ chuẩn trong SSIS
- Containers
Container là một đối tượng SSIS mà cung cấp các cấu trúc tới một gói Mỗi gói
có một container mà lưu trử các luồng của gói Một package container có thể có các dạng khác nhau như là Sequence Container, Foreach Loop Container, và For Loop
Trang 36Container, nó sẳn có trong Control Flow Toolbox Chúng ta có thể định nghĩa các luồng con trong các container đó Các Container nâng cao chất lượng thời gian thực
thi mô hình của control flow Không phải tất cả các nhiệm vụ được thực thi trong
một tuần tự sắp xếp, luồng con với một Foreach loop container sẽ thực hiện nhiều
lần dựa trên định nghĩa lặp trong Containers
- Debugging
Debugging SSIS control flow là một đặc trưng mới trong SQL 2005 Chúng ta
có thể thiết lập một điểm ngắt bằng sử dụng nhấn F9 trong khi vẩn đang lựa chọn
một nhiệm vụ trong thiết kế Debugging cho phép chúng ta thực hiện kiểm tra giá trị của các package variables và trạng thái của một nhiệm vụ trong suốt quá trình xử lý
Điểm ngắt có thể được thiết lập dựa trên các sự kiện Ví dụ chúng ta có thể thiết lập một hoặc nhiều điểm ngắt trên các sự kiện dưới đây của một nhiệm vụ:
một Transform Một data flow thường bắt đầu với một một biến đổi nguồn và cuối
cùng là một biến đổi đích Giữa hai quá trình này, các biến đổi data flow được định trước việc thực thi dữ liệu trong một tuần tự sắp xếp Vài biến đổi gọi là
Trang 37synchronous (đồng bộ), ví dụ như Lookup, Conditional Split, và Data Conversion
Các biến đổi đồng bộ này có thể được thực hiện song song
Một biến đổi có thể được thực thi tới một dòng dữ liệu, khi đó biến đổi tiếp theo
có thể bắt đầu hoạt động trên nó mà không cần chờ cho đến khi toàn bộ dataset được
xử lý trong biến đổi ngược lại Một số biến đổi thì không đồng bộ, ví dụ,
Aggregation và Sort Các biến đổi này phải chờ đầu ra của các biến đổi trước để
thực hiện thủ tục tạo đầu ra cho biến đổi tiếp theo trong chuỗi các hoạt động được sắp xếp trước
Bổ sung thêm, SSIS cung cấp các APIs để giúp chúng ta xây dựng các luồng biến đổi DL của mình Ví dụ, chúng ta cần xây dựng một biến đổi các con số
(Numeric Processing transform) để thực hiện các tính toán toán học và các phép
biến đổi trên data flow
Data flow thường được include trong một task flow Có một nhiệm vụ đặc biệt
có tên gọi là Data Flow task, nó có một container để tổ chức một data flow Bạn
cần thêm một Data Flow task đến trước khi xây dựng một data flow
- Transforms
Trong khi các nhiệm vụ là cấu thành cơ sở của các luồng nhiệm vụ Các
Transform lại là thành phần cấu thành cơ sở của data flows
Copy/Map Transformation Thêm các bản copy của cột đầu vào đến các biến đổi
đầu ra (transformation output)
Xử lý các thứ nguyên Analysis Services
Fuzzy Grouping Thực hiện nhiệm vụ làm sạch dữ liệu bằng việc nhận
Trang 38Transformation dạng các dòng dữ liệu mà có khả năng giống nhau và
chọn một dòng hợp với tiêu chuẩn sử dụng trong chuẩn hóa DL
Merge Transformation Trộn hai tập DL đã sắp xếp
Merge Join Transformation Kết nối hai tập DL đã được sắp xếp sử dụng Full, Left
và Inner join
Multicast Transformation Phân phối tập dữ liệu tới các output
Partition Processing
Transformation
Xử lý quá trình phân chia Analysis Services
Pivot Transformation Tạo một một phiên bản chuẩn hóa nhỏ hơn của một
bảng chuẩn hóa
Sort Transformation Sắp xếp pipeline data
Union All Transformation Tạo một kết hợp của nhiều dataset
UnPivot Transformation Tạo một một phiên bản chuẩn hóa lớn hơn của một
có thể gắn trên các tuyến giữa các biến đổi Để thêm một Viewer, đơn giản click
chuột phải vào một tuyến và chọn menu mục Data Viewers Mặc định là Viewer Grid Chúng ta có thể tạo thêm một biểu đồ, các hình vẽ phân tán và biểu đồ dạng
cột như Graphic Viewers Nếu chúng ta không tìm thấy Viewer như ý thì ta có thể
thực hiện tạo ra các viewer mới
2 Data Mining trong môi trường SSIS
Như chúng ta đã biết, việc làm tốn nhiều tài nguyên trong một dự án Data Mining là làm sạch dữ liệu và các phép biến đổi Tất nhiên, SSIS có thể là một phần
bổ sung tốt cho một dự án Data Mining Bạn có thể sử dụng các công cụ rất mạnh để load data từ các nguồn khác nhau, kết nối chung với nhau, chuẩn hóa giá trị các cột,
Trang 39loại bỏ các các bản ghi nhiễm bẩn, thay thế các giá trị đã bị mất, tách dữ liệu huấn luyện và dữ liệu kiểm tra, vv…
Hơn thế nữa, nó còn cung cấp một ETL tool đầy đủ cho Data Mining, SSIS thậm chí còn cung cấp một vài thành phần xây dựng Data Mining trong môi trường data flow và control flow Bảng 6 cho ta danh sách các tiện ích đó:
Data Mining Query Task Chạy các truy vấn dự báo dựa trên mô hình DM
Analysis Services Processing
Thực thi các truy vấn dự báo DM
Data Mining Model Training
Term Lookup
Transformation
Tìm kiếm và trích rút các các key terms từ một cột nguyên gốc dựa trên một từ điển Kết quả của Term Lookup có thể được sử dụng để training data cho text mining
Bảng 6: Tasks và Transforms cho Data Mining
2.1 Data Mining Tasks
- The Data Mining Query Task
Data Mining Query task được sử dụng cho thực thi một truy vấn Data Mining, phần lớn là truy vấn dự báo trong SSIS control flow
Trong Data Mining Query task, trước hết chúng ta phải chỉ định kết nối đến Analysis Services database Sau đó chỉ rõ mining structure và mining model trên truy vấn đó Trong tab Query của Data Mining Query task, chúng ta cần đưa vào một khai báo truy vấn data mining
- Analysis Services Processing Task