Tiếng Việt

Văn bản & công cụ hàng ngày · Bộ công cụ văn bản

Cách URL và trích xuất email biết địa chỉ kết thúc ở đâu

· Cách thức hoạt động

text-extraction url email-addresses

Ghi chú cuộc họp có URL và email trùng khớp được tách biệt khỏi dấu câu xung quanh
Hình minh họa vector ToolAcre gốc

Xem xét hai quyết định khó khăn trong việc trích xuất các liên kết và địa chỉ từ văn xuôi — nơi URL dừng lại và mức độ nghiêm ngặt của mẫu email — và tại sao mẫu thực dụng lại đánh bại ngữ pháp RFC đầy đủ trên văn bản thực.

Liên kết có dấu dừng hoàn toàn được dán vào - tại sao quá trình trích xuất ngây thơ trả về https://example.com. và phá vỡ liên kết

Ghi chú cuộc họp thường đặt một liên kết hữu ích ở cuối câu: `Agenda: https://example.com/roadmap.` Tìm kiếm chấp nhận mọi ký tự không phải dấu cách sẽ bao gồm dấu chấm cuối cùng. Văn bản hiển thị trông có vẻ hợp lý nhưng giá trị được trích xuất không còn phù hợp với địa chỉ mà người viết dự định chia sẻ hoặc truy cập lại.

ToolAcre trước tiên tìm thấy chuỗi HTTP hoặc HTTPS, sau đó xóa toàn bộ dấu chấm, dấu phẩy, dấu chấm phẩy, dấu hai chấm, dấu chấm than và dấu chấm hỏi ở cuối. Việc dọn dẹp được cố tình gắn vào ranh giới phù hợp thay vì áp dụng trên toàn bộ tài liệu. Dấu câu ở nơi khác trong URL vẫn khả dụng khi mẫu ban đầu cho phép.

Liên kết có dấu chấm kèm theo: tại sao việc trích xuất phải loại trừ dấu chấm câu ở cuối

Mẫu URL chỉ bắt đầu tại `http://` hoặc `https://` và tiếp tục cho đến khi khoảng trắng hoặc một trong nhiều dấu phân cách đóng xuất hiện. Dấu ngoặc kép, dấu ngoặc nhọn, dấu ngoặc đơn đóng và dấu ngoặc vuông đóng đều dừng kết quả khớp. Quy tắc đó cho phép văn xuôi chẳng hạn như `(https://example.com/notes)` trả về địa chỉ mà không có dấu ngoặc bao quanh.

Đây là quy tắc ranh giới thực tế, không phải là trình phân tích cú pháp chung cho mọi URI có thể. Dấu ngoặc đơn mở có thể vẫn còn bên trong một kết quả khớp trong khi dấu ngoặc đóng kết thúc nó, do đó, một địa chỉ có đường dẫn riêng thực sự chứa ký tự đó có thể được rút ngắn. Trình trích xuất thiên về các ranh giới văn xuôi chung và để lại những trường hợp bất thường để xem xét thủ công.

Việc đối sánh email phải nghiêm ngặt đến mức nào — những gì RFC 5322 cho phép về mặt kỹ thuật và tại sao việc đối sánh tất cả các nội dung đó lại tạo ra kết quả tồi tệ hơn trên văn bản thực

Việc trích xuất email cũng tạo ra sự đánh đổi tương tự. Nó tìm kiếm các chữ cái, số và dấu câu trong hộp thư quen thuộc trước `@`, sau đó là một chuỗi giống như miền, theo sau là dấu chấm và ít nhất hai chữ cái. Mẫu đó nắm bắt các địa chỉ thông thường được nhúng trong ghi chú mà không cố gắng tái tạo mọi cấu trúc được ngữ pháp email đầy đủ thừa nhận.

Mẫu hẹp hơn rất hữu ích vì việc trích xuất và xác nhận trả lời các câu hỏi khác nhau. Trích xuất xác định các chi tiết liên hệ có thể có trong văn bản phi cấu trúc; nó không chứng minh rằng hộp thư tồn tại, chấp nhận thư hoặc thuộc về người được nêu tên. Hãy coi kết quả là một danh sách có thể xem lại, đặc biệt khi dấu câu hoặc cú pháp hộp thư không phổ biến xuất hiện gần đó.

Loại bỏ trùng lặp và thứ tự — một bản sao của mỗi địa chỉ, theo thứ tự xuất hiện lần đầu, để danh sách phản ánh nguồn

Đối với URL và địa chỉ email, ToolAcre xóa các bản sao trùng lặp bằng `Set`. JavaScript đặt giữ nguyên thứ tự chèn, do đó lần xuất hiện đầu tiên sẽ xác định vị trí một mục xuất hiện trong kết quả và các kết quả trùng khớp giống nhau sau đó sẽ biến mất. Do đó, đầu ra tuân theo nguồn từ trên xuống dưới thay vì sắp xếp theo thứ tự bảng chữ cái các liên hệ hoặc liên kết mà không được phép.

Bình đẳng là chính xác. `https://example.com` và `https://example.com/` vẫn tách biệt, cũng như các địa chỉ email có cách viết chữ khác nhau. Trình trích xuất không chuẩn hóa các miền, xóa các đoạn URL hoặc quyết định rằng hai đích đến là tương đương nhau. Những thay đổi đó có thể hợp nhất văn bản riêng biệt có chủ ý, do đó, mọi quá trình chuẩn hóa tiếp theo đều thuộc một bước được kiểm tra riêng.

Các con số cũng vậy - kéo các giá trị số ra khỏi văn xuôi và tại sao dấu phân cách thập phân và hàng nghìn làm cho 'một số' ít rõ ràng hơn âm thanh của nó

Việc trích số chấp nhận dấu trừ tùy chọn, một hoặc nhiều chữ số và phần thập phân tùy chọn được giới thiệu bằng dấu chấm. Nó có thể lấy `-12`, `48` và `3.75` từ văn xuôi. Không giống như URL và trích xuất email, nó trả về trực tiếp mọi kết quả trùng khớp, do đó, các giá trị lặp lại vẫn được lặp lại và duy trì số lần xuất hiện của chúng.

Các biểu mẫu được nhóm và bản địa hóa sẽ bộc lộ giới hạn của quy tắc nhỏ gọn đó. `1,250` được trả về dưới dạng `1` và `250`, trong khi `3,5` cũng được phân tách thay vì được hiểu là dấu phẩy thập phân. Ký hiệu tiền tệ, số mũ và dấu cộng hàng đầu không phải là một phần của kết quả khớp. Đọc văn bản gần đó trước khi gán ý nghĩa cho bất kỳ số nào được trích xuất.

Số cũng vậy: số nguyên có dấu và số thập phân, không coi các giá trị được nhóm là một số

Hãy thử những ghi chú sau: `Email sam@example.com, then review https://example.com/plan. Backup: sam@example.com. Budget -12.5; seats 24. Reference (https://example.com/help).` Trích xuất email sẽ trả về một `sam@example.com`. Trích xuất URL trả về địa chỉ kế hoạch và trợ giúp không có dấu chấm câu hoặc dấu ngoặc đơn đóng, theo thứ tự đó.

Quét thủ công sẽ tìm thấy hai lần xuất hiện email nhưng có một kết quả email duy nhất, hai lần xuất hiện URL riêng biệt và hai số trùng khớp. Trích xuất số trả về `-12.5` và `24`; các chữ số bên trong các miền ví dụ không thêm kết quả trùng khớp vì không có chữ số nào. Việc kiểm tra này sẽ tách số lần xuất hiện khỏi danh sách liên hệ và liên kết đã loại bỏ trùng lặp.

Điều này không bao gồm những gì - xác nhận rằng một địa chỉ thực sự tồn tại và các địa chỉ kỳ lạ nhưng hợp lệ mà mẫu thực dụng bỏ lỡ

Một email phù hợp chỉ có văn bản có hình dạng giống như mẫu đã triển khai. ToolAcre không truy vấn máy chủ thư, gửi thư kiểm tra hoặc kiểm tra bản ghi tên miền. Do đó, một lỗi đánh máy có vẻ hợp lý có thể vượt qua quá trình trích xuất, trong khi một địa chỉ không phổ biến nhưng có thể sử dụng được có thể bị bỏ qua. Xác nhận các liên hệ quan trọng thông qua kênh đáng tin cậy phù hợp trước khi dựa vào danh sách.

Tương tự, trích xuất URL không yêu cầu một trang, theo dõi các chuyển hướng hoặc kiểm tra xem đích đến có an toàn hay khả dụng hay không. Nó cũng yêu cầu tiền tố HTTP hoặc HTTPS rõ ràng, do đó `example.com` trần sẽ không được trả về. Những giới hạn này giữ cho việc trích xuất mang tính cục bộ và có thể dự đoán được, nhưng chúng khiến việc đánh giá của con người trở thành một phần của bất kỳ quy trình làm việc tiếp theo nào.

Bài học rút ra - các nút trích xuất của Bộ công cụ văn bản giúp thực hiện những sự đánh đổi này một cách rõ ràng và cung cấp cho bạn một danh sách rõ ràng, không trùng lặp trong trình duyệt của bạn

Các nút trích xuất biến khối văn xuôi hỗn hợp thành các kết quả phù hợp được phân tách bằng dòng mới trong trình duyệt. URL và email sử dụng các mẫu thực dụng, cắt bớt hoặc dừng ở ranh giới văn xuôi chung và trả về các giá trị duy nhất theo thứ tự nhìn thấy đầu tiên. Các số sử dụng mẫu thập phân có dấu nhỏ hơn và giữ lại các bản sao, phản ánh một hợp đồng chức năng khác thay vì một chính sách trích xuất phổ quát.

Chỉ dán những ghi chú bạn cần, chạy Trích xuất URL và Trích xuất email riêng biệt, đồng thời so sánh từng danh sách với nguồn trước khi sao chép tiếp. Đầu ra sạch sẽ loại bỏ quá trình quét lặp đi lặp lại, trong khi các ranh giới được ghi lại cho thấy những nơi vẫn cần phải phán đoán. Đối với cú pháp bất thường, hãy giữ đoạn văn gốc bên cạnh kết quả được trích xuất trong quá trình xem xét.