2012-02-03 35 views
7

Tôi đang cố gắng để xây dựng một giao diện cho công cụ của tôi để truy vấn từ Semantic/Relational DB sử dụng C# .NETNET dll cho ngôn ngữ tự nhiên để SQL/SPARQL

bây giờ tôi cần phải có một lớp trên lớp truy vấn để chuyển đổi đầu vào NL thành SQL/SPARQL, tôi đọc qua các giấy tờ của NLI, Quá trình tạo lớp như vậy là một tải trọng cho dự án của tôi bên cạnh đó, nó không phải là mục tiêu chính, nó là một phần bổ sung.

Tôi không quan tâm nếu dll chỉ hỗ trợ đầu vào có hướng dẫn hoặc văn bản đầu vào tự do và xử lý các bản chưa khớp, tôi chỉ cần một dll để bắt đầu và thêm một số mã trên đó.

Thực tế cho dù đó nên hỗ trợ cả SQL và SPARQL không thực sự quan trọng, bởi vì tôi có thể quản lý để chuyển đổi từ một đến khác trong phạm vi của dự án của tôi (một cái gì đó địa phương)

bất kỳ ý tưởng về dlls sẵn?

Trả lời

1

Bạn có thể thử số Natural Language Engine for .NET của mình. Dự án mẫu trên các gói Bitbucket và Nuget có sẵn.

Sử dụng TokenPhrase trong quy tắc của bạn có thể khớp với bất kỳ chuỗi chưa khớp nào trong đầu vào hoặc chuỗi được trích dẫn.

Trong bản sửa đổi tiếp theo, tôi sẽ sớm phát hành, nó cũng hỗ trợ 'quy tắc sản xuất' và quyền ưu tiên của nhà điều hành giúp dễ dàng xác định ngữ pháp của bạn hơn nữa.

Độc đáo nó cung cấp các đối tượng .NET được nhập mạnh mẽ và thực hiện các quy tắc của bạn theo cách tương tự như ASP.NET MVC với bộ điều khiển, phương pháp tiêm phụ thuộc và các phương thức hành động. Tất cả các quy tắc được định nghĩa trong mã đơn giản bằng cách viết một phương thức chấp nhận mã thông báo bạn muốn khớp. Nó bao gồm các mã thông báo cho những thứ phổ biến như số, khoảng cách, thời gian, trọng số và các biểu thức thời gian bao gồm các biểu thức hữu hạn và vô hạn.

Tôi sử dụng nó trong các ứng dụng khác nhau để xây dựng các truy vấn SQL nên không quá khó để sử dụng nó để tạo truy vấn SPARQL.

0

Check-out Kueri.me

Nó không phải là một DLL mà đúng hơn là một máy chủ để lộ một API, vì vậy hiện nay nó không có một wrapper đặc biệt cho C#. Có một API được hiển thị qua XmlRpc mà bạn có thể tích hợp với bất kỳ ngôn ngữ nào.

Chuyển đổi tiếng Anh thành SQL và đưa ra đề xuất kiểu Google Nếu bạn muốn triển khai hộp tìm kiếm (hỗ trợ một số nhà cung cấp DB - như MySQL, MSSQL, v.v.).

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