Làm cách nào để kiểm tra chính tả và/hoặc sửa lỗi chính tả trong ứng dụng Java?Kiểm tra chính tả và/hoặc sửa lỗi chính tả trong Java
Trả lời
chính tả của Google Checker http://code.google.com/p/google-api-spelling-java/
SpellChecker checker = new SpellChecker();
SpellResponse spellResponse = checker.check("helloo worlrd");
for(SpellCorrection sc : spellResponse.getCorrections())
System.out.println(sc.getValue());
Nó giống như khi bạn sử dụng Gmail hoặc dịch vụ của Google (như translate.google.com hoặc tìm kiếm) cung cấp cho bạn gợi ý thay thế nếu bạn có một lỗi đánh máy.
Điều gì xảy ra trong nền?
Lớp SpellChecker biến yêu cầu thành XML và gửi nó đến dịch vụ kiểm tra chính tả của Google. Câu trả lời cũng có trong XML, trong đó sau đó được deserialized thành các POJO đơn giản.
Yêu cầu ví dụ đầu tiên ở trên trông giống như:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <spellrequest textalreadyclipped="0" ignoredigits="1" ignoreallcaps="1" ignoredups="0"> <text>helloo worlrd</text> </spellrequest>
Và XML phản ứng trông giống như:
<?xml version="1.0" encoding="UTF-8"?> <spellresult error="0" clipped="0" charschecked="13"> <c o="0" l="6" s="1">hello Helli hell hallo hullo</c> <c o="7" l="6" s="1">world whorled wold warlord would</c> </spellresult>
Đã không cố gắng mặc dù.
UPDATE:
Google có thể đã bắt đầu tính phí cho việc này. Tôi không có thời gian để viết mã để kiểm tra điều này. Ai đó có thể xác nhận. Theo như Google có liên quan, có vẻ như họ đã không dùng API cũ cho API mới và trả phí.
Tham khảo: Google Translate API FAQ
gì đã xảy ra với phiên bản miễn phí trước đó của Dịch API?
Google Translate API v1 không còn khả dụng kể từ ngày 1 tháng 12 năm 2011 và đã được thay thế bằng API Google Translate v2. API Google Translate v1 đã chính thức ngừng sử dụng vào ngày 26 tháng 5 năm 2011. Quyết định từ chối API và thay thế nó bằng dịch vụ trả tiền đã được thực hiện do gánh nặng kinh tế đáng kể do lạm dụng rộng rãi.
Bạn có thể sử dụng JOrtho. Tôi đã sử dụng nó trước đó trong một trong các ứng dụng swing.
Hãy thử Hunspell. Nó là một tiêu chuẩn để kiểm tra chính tả. Bạn có thể sử dụng Java port of Hunspell là Hunspell-c + JNA
Giải pháp ngoại tuyến tốt là Jazzy. Hãy thử điều này example và tải xuống dictionary.
Đây là Maven dependency cho thư viện:
<dependency>
<groupId>net.sf.jazzy</groupId>
<artifactId>jazzy</artifactId>
<version>0.5.2-rtext-1.4.1-2</version>
</dependency>
Ví dụ khác có thể được tìm thấy [tại đây] (http://alvinalexander.com/blog/post/java/jazzy-spell-checking-tool-test-2) – cgl
Nếu bạn muốn có một giải pháp đơn giản và trực tuyến, dựa trên Peter Norvig explanation của Google chính tả sửa, hãy xem ở đây: http://raelcunha.com/spell-correct.php
Languagetool là căn cứ Java kiểm tra chính tả và phần mềm hiệu đính có thể phù hợp. Xem
giải pháp google này không hoạt động trong diễn đàn? – Rakesh
Nó sẽ không hoạt động ngoại tuyến. Vâng. – Nishant
Điều đó vẫn miễn phí? Google hiện muốn tiền cho việc sử dụng API Google Translate. Tôi đoán họ đang thực sự ở đó ... – thedp