2010-11-21 30 views
11

Tôi muốn sử dụng các sửa đổi/đề xuất chính tả của Google trong ứng dụng tôi đang thực hiện. Tôi đã googled nó nhưng tất cả những gì tôi tìm thấy là các ví dụ cho API SOAP bị hủy của Google và API tìm kiếm web XML không được chấp nhận.Truy cập API chính tả/đề xuất của Google qua C#

Tôi chỉ muốn có thể gửi truy vấn tìm kiếm và lấy lại sửa chữa được đề xuất.

alt text

nào API tôi có thể sử dụng bây giờ? Bạn có thể đưa ra một ví dụ về cách sử dụng của nó không? Có một C# Wrapper xung quanh nó?

Cảm ơn!

EDIT:

Vấn đề với Bing và Yahoo API chính tả là họ dường như để kiểm tra đối với một cuốn từ điển, vì vậy một số thương hiệu/tên sản phẩm không được công nhận, Googles dường như được dựa trên lỗi chính tả thông thường và trang họ đã kết thúc tham quan, vì vậy nó có thể đề nghị kiểm tra chính tả cho những điều phổ biến nhất, ví dụ:

nếu bạn gõ

"hello từ"

nó sẽ nói

"ý bạn là hello world?"

mặc dù nó được viết đúng chính tả

+0

bản sao có thể có của [Google "Ý của bạn là gì?" Thuật toán hoạt động?] (Http://stackoverflow.com/questions/307291/how-does-the-google-did-you-mean-algorithm-work) –

Trả lời

6

Nếu bất cứ điều gì, bạn có thể xây dựng nó cho mình với một chương trình nhỏ C# mà tải trang tìm kiếm google cho một từ cụ thể ví dụ http://www.google.com/search?q=filipines và tìm kiếm các

Hiển thị kết quả cho philippines. Tìm kiếm thay thế cho filipines

đoạn, trong đó sẽ được chứa trong một <p class="sp_cnt"> trong trường hợp từ ngữ không chính xác, từ đó bạn chỉ có thể trích xuất các gợi ý đúng chính tả

Cập nhật: Thực ra, tùy thuộc vào một một vài điều, nó cũng có thể ở trong một <p class="ssp">, tôi nghĩ nó phụ thuộc vào khoảng thời gian cụm từ, dù sao bạn có thể tìm kiếm <span id="topstuff"> và tìm một đoạn con với một trong hai lớp và trích xuất chính tả từ đó, lưu ý rằng các "ssp" trường hợp các từ ngữ là khác nhau:

Ý của bạn là: hiển thị kết quả cho phi

Bạn có thể phân tích các trang như là một XML, nếu mã là XHTML, sau đó hoan hô, nếu không bạn sẽ phải tinh chỉnh nó một chút, làm cho nó "được hình thành tốt" để được nạp với XML dưới dạng XMLDocument.Sau đó nó sẽ dễ dàng tìm kiếm các mảnh vỡ của trang (nó nên tồn tại) cho bạn biết chính tả thích hợp

+1

Vâng, tôi cũng đã nghĩ đến việc thu thập dữ liệu trang, nhưng tôi muốn để điều đó như là phương tiện cuối cùng để làm điều đó, tôi muốn nhiều hơn là thích một API chính thức mà có thể không phá vỡ từ một ngày khác .. thực sự im nhìn vào YQL của Yahoo quá, nó khá tốt! –

+2

Nếu bạn thường xuyên gọi tìm kiếm trên web, một hình ảnh xác thực có thể bật lên một lần trong một thời gian và bạn cũng có thể bị chặn. Sử dụng tốt hơn một API (thường có giới hạn hàng ngày trừ khi bạn trả tiền). –

+0

Mặc dù đây không phải là cách "đúng", đó là cách duy nhất tôi tìm thấy. Các đề xuất tìm kiếm của Google và các tìm kiếm có liên quan chỉ tốt hơn là của bing và yahoo ... vì vậy tôi đoán tôi sẽ cuộn với điều này cho đến khi một cái gì đó tốt hơn xuất hiện –

10

Nếu bạn không cần phải sử dụng Google, API Bing thực sự bao gồm chính tả, bạn có thể sử dụng http://bingsharp.codeplex.com/

+0

Không, tôi không phải sử dụng nó, tôi cũng đang thử nghiệm yahoos YQL, nó chỉ là của Google sẽ là một trong những nổi tiếng nhất, cảm ơn cho điều này! –

1

Hơi trễ, nhưng trình kiểm tra chính tả của Google là một phần của API tìm kiếm. Xem

http://code.google.com/apis/soapsearch/reference.html#1_3

+0

"Yêu cầu chính tả gửi truy vấn đến dịch vụ API Tìm kiếm SOAP của Google" ... như tôi đã nói trong câu hỏi API SOAP đã bị loại bỏ và XML đã bị ngừng sử dụng kể từ tháng 11 ..., vẫn còn, cảm ơn vì nỗ lực :) –

2

Google Search Api Mẫu Mã http://deepumi.wordpress.com/2010/05/20/google-spell-checker-api-asp-net-c/ Như u sẽ sử dụng Proxy xác thực lỗi sẽ đến sau đó thêm dòng mã sau đây để loại bỏ lỗi System.Net.IWebProxy theProxy = webclient.Proxy; nếu (theProxy! = Null) theProxy.Credentials = System.Net.CredentialCache.DefaultCredentials;

2

Có một Google-API Spelling implementation trong Java, được Kamran triển khai. Nó không phải là phức tạp như tôi nhìn vào nguồn. Bạn có thể xem xét dịch nó thành C#?!

Trang dự án khẳng định rằng

Đây là một Java API đơn giản mà làm cho nó rất dễ dàng để gọi dịch vụ kiểm tra chính tả của Google từ các ứng dụng Java.

nhưng dịch vụ kiểm tra chính tả google nào nó sử dụng tôi không biết, nhưng nó hoạt động khá tốt.

Các vấn đề liên quan