파이썬은 방대한 텍스트 및 코퍼스 자원과 함께 다양한 텍스트 마이닝 및 처리 방법을 제공합니다. 가능한 일치를 위해 전달하는 의미에 따라 문장을 비교할 수있는 방법이 있습니까? 즉, 지능형 문장 일치 자입니까? 예를 들어문장의 의미에 따라 비교
, giggling at bad jokes
및 I like to laugh myself silly at poor jokes
같은 문장. 둘 다 같은 의미를 전달하지만 문장은 원격으로 일치하지 않습니다 (단어가 다르면 Levenstein Distance
이 나쁘게 실패합니다!).
이제 here과 같은 기능을 제공하는 API가 있다고 가정 해 보겠습니다. 그래서이를 기반으로 우리는 giggle
과 laugh
이라는 단어가 전달하는 의미와 일치한다는 것을 알 수있는 메커니즘을 가지고 있습니다. 그들이 joke
같은 단어의 맥락에서 일치처럼 bad joke
이기 때문에, (Bad
는 poor
에 일치하지 않습니다, 그래서 우리는 더 레이어를 추가해야 할 수 있습니다 일반적으로 같은, poor joke
로 bad person
있지만,은 poor person
와 같지 않습니다!).
중요한 도전은 문장의 의미를 크게 바꾸지 않는 내용을 버리는 것입니다. 그래서, 알고리즘이 첫 문장이 사이 matchness 동일한 수준 반환해야합니다 : 그 사용할 수에 따라서 I like to laugh myself silly at poor jokes, even though they are completely senseless, full of crap and serious chances of heart-attack!
을 아직 잉태되어 그 같은 어떤 알고리즘이있다? 아니면 바퀴를 발명해야합니까?
나는 이것을 몇 주 전에 들여다 보았다. 나는 NLTK의 전문가는 아니지만 휠을 발명하거나 NLTK 위에 구축 된 퍼지 매칭을 찾아야한다고 생각합니다. 해결책을 찾지 못했지만 거기에 뭔가있는 것으로 의심됩니다. 테스트 준비를위한 질문을 검토하기 위해 자유 형식 텍스트 응답의 자동 채점을 가능하게하려고했습니다. 아무것도 찾으면 업데이트를 게시하십시오. – jimhark
그래, 뭐. 그럴거야. 그래프 기반 알고리즘을 생각하고있었습니다. – SexyBeast
열렬히 하향 투표하거나 투표 마감하기 전에, 적어도 설명을하십시오. 익명으로 아무도 아무 것도 할 수 없기 때문에 높은 손으로 굴지 말라. – SexyBeast