언어 처리를하고 있습니다. 문자열을받습니다 (예 : 음성 인식). 이 문자열에는 이 포함 된 명령이 포함되어 있으며입니다. 내 자신의 시스템을 함께 넣었지만, 알고리즘을 이해할 수는 없다. (나는 프로그래밍과 파이썬에 익숙하지 않다.)문장을 기반으로 중첩 된 사전에서 함수 찾기
쉬운 예 :
received_string = 'I want to turn on machine'
# idea dictionary in dictionary
# commands
def function1():
pass
def function2():
pass
commands = \
{
'I want to turn on ': {
'machine': function1,
'lights': function2
},
'Open the ': {
#####
#####
}
}
그래서 기본적으로 내가 예를 들어받는 '나는 기계를 켜려고합니다'. "나는 켜고 싶다"는 명령은 여러 개체 중 하나에 적용 할 수 있습니다. commands
사전에 이러한 개체를 저장하고 싶습니다. &은 '기계를 켜고 싶습니다'라는 메시지를 처리하고 '켜고 싶습니다'라는 메시지를 처리 한 다음 'machine'개체를 찾고 function1()
을 실행하는 영리한 알고리즘을 구현할 수 있습니까?
문자열의 마지막 단어를 잘라내어 검색하는 알고리즘을 갖고 싶지는 않습니다. 그 이유는 사전에 질문을하고 싶기 때문이며 그것을 자르는 요점이 없다. 사실 나는 복잡한 시스템을 원하고 명령과 다른 목적을 가진이 사전은 나의 진도를 저해하고있다. 나는 '기계를 켜고 싶다'와 '나는 조명을 켜고 싶다'라는 두 가지 독립 명령을 내릴 수있는 해결책이 있다는 것을 알고 있습니다.하지만 전문가가 아니기 때문에 실용적이지 않습니다.
감사합니다. Thats 훨씬 더 좋은 생각 - 사전 키를 문자열 대신 문자열과 키로 비교하는 것. 귀하의 솔루션을 시도 할 것입니다 – Martin
문제는 아니지만 일반적으로 문자열이 특정 프로그래밍 방식의 관점에서 특정 하위 문자열을 포함하고 있는지보다 큰 문자열에 있는지 쉽게 알아낼 수 있습니다. – tmwilson26