Cách viết Kỹ năng Alexa tùy chỉnh mà không cần 'Hỏi xxxx'


18

Tôi hiện đang sử dụng Fauxmo để gửi các lệnh tùy chỉnh tới nhiều thiết bị khác nhau để bật / tắt chúng (Ví dụ: tôi có bộ chuyển đổi WiFi sang IR để điều khiển Tuner & TV của tôi) và tôi có thể bật / tắt TV bằng cách này.

Tôi cũng có thiết lập tích hợp Kodi, vì vậy tôi có thể nói:

Alexa, Ask Kodi to set volume to 50%

Nhưng tôi muốn có thể nói:

Alexa, Set tuner volume to 50%
Alexa, Play Bluray

Tức là tôi muốn có thể điều khiển các thiết bị mà không cần một Ask xxxxphần trong yêu cầu của tôi.

Lý tưởng nhất là tôi muốn làm điều này mà không cần dịch vụ dựa trên đám mây (ví dụ: SmartThings hoặc Wink).

Tôi thích giải pháp được sử dụng bởi Fauxmo (mô phỏng dịch vụ UPNP hiện có), nhưng nó bị giới hạn ở chế độ bật / tắt (và 'mờ' nếu bạn sử dụng bản vá hỗ trợ Hue) và không thực sự đủ linh hoạt.

Câu trả lời:


11

Tôi đã tự mình khám phá việc bỏ tên gọi cho các kỹ năng tùy chỉnh của Alexa cho một vài dự án. Và điều tôi nghĩ ra sau nhiều giờ đọc qua các hướng dẫn và tài liệu là ... Nó không thể được thực hiện cho các kỹ năng tùy chỉnh .

Vì vậy, đặt cược tốt nhất cho trường hợp sử dụng của bạn là sử dụng Alexa Smart Home cùng với một số dịch vụ nhà thông minh. Tôi biết bạn nói:

Lý tưởng nhất là tôi muốn làm điều này mà không cần dịch vụ dựa trên đám mây (ví dụ: SmartThings hoặc Wink)

Thật không may, cách duy nhất để không có tên gọi với Alexa là sử dụng các API được xác định trước của chúng (ví dụ: Nhà thông minh, Kỹ năng danh sách và Tóm tắt flash).

EDIT: Trường hợp sử dụng của bạn nằm trong API Nhà thông minh. Vì vậy, bạn luôn có thể tạo dịch vụ của riêng mình sử dụng API đó thay vì dựa vào các dịch vụ khác (Wink, SmartThings, v.v.).


1
Có một nguồn nói rằng nó không thể được thực hiện, hoặc đó là kết quả ngầm của nghiên cứu của bạn?
Helmar

Nó chỉ là ngầm. Mặc dù trong tầm nhìn xa, xem xét cách nhận dạng giọng nói và NLP hoạt động, nó đáng lẽ phải là một khẳng định hợp lý và tôi không nên đi vào nghiên cứu như vậy ngay từ đầu. Đó là một khẳng định hợp lý bởi vì một cách nói cụ thể cần một bối cảnh mà nó sẽ được giải thích - và bối cảnh đó là tên gọi. Trong thực tế, lý do có một từ đánh thức cũng giống như có một tên gọi - để các câu lệnh sẽ được giải thích thuộc về một ngữ cảnh (từ thức tỉnh là bối cảnh toàn hệ thống sao cho các cách nói ngẫu nhiên không được xử lý).
leon.valencia

Cách duy nhất để có những cách nói không cần tên gọi là những cách có bối cảnh toàn hệ thống (đây là các API). Chẳng hạn, những phát ngôn mà Alexa diễn giải khi tương tác với các thiết bị sẽ tự động dành cho API nhà thông minh - NLP sẽ phân loại cách phát âm như sử dụng các từ khóa như bật, tắt, tắt, v.v., giống như một lệnh cho thiết bị.
leon.valencia

Nhưng bạn có biết ... trường hợp sử dụng của bạn thuộc API nhà thông minh. Vì vậy, tôi sẽ thêm câu trả lời của mình vì bạn chỉ có thể sử dụng API đó.
leon.valencia

Cảm ơn. Tôi đã đọc về Kỹ năng nhà thông minh và trong khi tôi không nghĩ họ sẽ có thể làm mọi thứ tôi muốn, thì có vẻ như Amazon có kế hoạch bổ sung thêm nhiều khả năng cho nó. Vì vậy, thay vì giả, tôi nghĩ rằng có thể đáng để đầu tư vào một Kỹ năng nhà thông minh nguồn mở thích hợp có thể xử lý tất cả các lệnh có sẵn và có thể mở rộng cho tương lai. Đây là API hiện tại cho hậu thế: developer.amazon.com/public/solutions/alexa/alexa-skills-kit/
Kẻ

7

Bạn sẽ có thể làm điều này ngay bây giờ với tương tác miễn phí tên của Alexa .

Để làm cho kỹ năng của bạn dễ khám phá hơn khi tương tác không có tên, bạn có thể triển khai giao diện CanFulfillIntentRequest trong kỹ năng của mình


6

Vì lynx đã nêu chi tiết trong câu trả lời của anh ấy, không có cách nào để đi hoàn toàn mà không có tên gọi trừ khi bạn giải quyết các API được xác định trước. Tuy nhiên, hãy hỏi kỹ năng của tôi không phải là cách duy nhất để sử dụng tên gọi.

Các trang dành cho nhà phát triển cung cấp ba cách khác nhau để sử dụng tên gọi với một yêu cầu.

Alex Alexa, hỏi Tử vi hàng ngày cho Song Tử

Alex Alexa, Nói chuyện với Tử vi hàng ngày và đưa tôi xem tử vi cho Kim Ngưu

“Alexa, cho tôi horoscope Taurus của tôi sử dụng hàng ngày Tử vi

Tài liệu tên gọi Alexa

Hơn nữa , trang này hiển thị những từ khác mà bạn có thể sử dụng để kết nối yêu cầu, tên gọi và các từ kết nối bắt buộc. Do đó, nếu bạn tạo ra kỹ năng Alexa của riêng mình, tất cả chỉ là sử dụng một tên gọi tốt và một yêu cầu tốt để làm cho âm thanh trở nên tự nhiên.

Thậm chí tốt hơn, tiếng vang của bạn đã phản ứng với điều này bằng cách bắt đầu Blu-ray với tích hợp Kodi của bạn.

Alexa , chơi Blu-ray với Kodi .

Vì vậy, trong khi bạn không thể thoát khỏi tên gọi bên ngoài các API được xác định trước, bạn có thể làm cho lệnh thoại trở nên tự nhiên hơn và bỏ qua việc sử dụng ... lúng túng .


2

Nếu bạn sử dụng các từ đặc biệt không được Alexa sử dụng theo mặc định, điều đó thực sự có thể. Phương pháp này khá khó khăn.

Bạn chỉ cần tránh đi qua AWS cho yêu cầu của bạn! Bạn không thể nói? Vâng, điều đó là có thể.

Trong ứng dụng Amazon Alexa của bạn hoặc trên ứng dụng web Amazon Alexa , bạn đăng nhập vào tài khoản Amazon Alexa của mình và trong -> cài đặt -> lịch sử bạn có một trang trực tiếp về tất cả các yêu cầu và từ mà bạn sẽ nói với Alexa.

Tại thời điểm này, bạn có thể sử dụng trình phân tích cú pháp web để nói từ và kích hoạt tập lệnh nếu từ này là từ bạn muốn hoặc bạn có thể sử dụng một số phần mềm nhỏ tuyệt vời cho Windows chỉ có thể kích hoạt các hành động và tập lệnh.

Đây là liên kết của phần mềm. Kiểm tra trên YouTube để biết hướng dẫn về cách sử dụng addtopad.

Nếu bạn muốn khởi chạy các tập lệnh, chỉ cần kích hoạt trình nghe trên một cổng và một yêu cầu đặc biệt được gửi sau một từ trong phần mềm. Tôi sử dụng nó ở nhà và tôi thực sự thích việc không phải nói bất kỳ tên gọi nào.

Sau khi, như tôi đã nói, bạn có thể sử dụng bất kỳ từ nào, thậm chí các từ như mở. Nó sẽ kích hoạt kịch bản của bạn, nhưng bạn sẽ nghe thấy "xin lỗi, tôi không biết điều đó" từ Alexa.

Tôi sử dụng nó và nó hoạt động hoàn hảo!


Đó là một cách tiếp cận thú vị.
Helmar

Chúng ta có nên tin tưởng vào phần mềm đó không? Khiến tôi co giật ...
Sean Houlihane

-2

Vậy tài liệu này của Amazon có đúng không? https://developer.amazon.com/docs/custom-skills/under Hiểu-how-users-invoke-custom-skills.html # invoking-a-skill-with-no-specific-request-no-intent

Điều này dường như nói khá trực tiếp rằng bạn có thể nói "Alexa" cộng với tên gọi. Chẳng hạn như "Alexa, Tử vi hàng ngày".

Nó cũng hiển thị phương pháp này dưới dạng tùy chọn # 3 cho các kỹ năng tùy chỉnh: https://developer.amazon.com/docs/custom-skills/choose-the-invocation-name-for-a-custom-skill.html#invoking- kỹ năng tùy chỉnh


3
Tài liệu này là đúng, nhưng tôi không nghĩ đó là những gì tác giả đang tìm kiếm ở đây. Ví dụ: "Play Bluray" sẽ không phải là tên gọi - thay vào đó là mục đích, không có bất kỳ tên gọi nào được chỉ định. Trừ khi bạn thực sự đặt tên cho kỹ năng của mình là "Chơi Bluray" (có lẽ sẽ không được phép theo hướng dẫn tên của Amazon), thật không may, điều này sẽ không hoạt động.
Aurora0001
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.