문장에서 단어를 추출하고 각 연설의 어떤 부분을 결정할 수 있습니까? [닫은]

나는 문장을 취하고 그 단어에 포함 된 각 단어를 식별하고 각 단어의 음성 부분을 정의하는 무언가를 쓰고 싶습니다.

예를 들어

안녕하세요 세계, 나는 문장입니다

이것을 반환합니다

verb noun, pronoun verb adjective noun

이상적으로, 나는 결국 한 걸음 더 나아가 문장을 취하고 프로그래밍 방식으로 해석하려고하는 것을 이해하고 그것에 대해 무언가를하고 싶습니다.

그래서 제 질문은 누군가 이런 것을 들었습니까?



답변

이것을 자연어 처리 라고 하며 매우 복잡한 분야입니다. 당신이 묘사 한 것은 기념비적 인 업적이며 Watson 과 같은 최고의 솔루션조차도 완벽하지 않습니다.

이 같은 상황은 도전합니다 “버팔로 버팔로 버팔로 버팔로 버팔로 버팔로 버팔로 버팔로”

미국식 영어로 된 문법적으로 정확한 문장으로, 복잡한 언어 구조를 만들기 위해 동음 이의어와 호모 폰을 사용하는 방법의 예로 사용됩니다. 그것은 1972 년부터 문학에서 논의되었습니다. 그것은 또한 스티븐 핑커 (Steven Pinker)의 1994 년 책 ” The Language Instinct “에서 “겉보기에 무의미하지만”문법적인 문장의 예로써 소개되었습니다.

이 문장의 의미는 뉴욕 버팔로시와 “버팔로”( “버팔로”또는 “괴롭히다 또는 협박하다”)라는 어구를 사용하고 문장 부호와 문법이 확장되어 문장이 표현 될 때 이해됩니다 “버팔로 버팔로 버팔로 버팔로 버팔로 버팔로 버팔로 버팔로 버팔로.” 동의어가 사용될 때 그 의미는 더욱 명확 해집니다. “버팔로 들소는 다른 버팔로 들소가 스스로를 괴롭히는 버팔로 들소입니다.”


답변

첫 번째 문제를 해결하면서 문장을 나누고 문법의 정확성을 결정하는 것이 두 번째 문제보다 쉬우지만, 동사 명사 나 수영, 프로그래밍 등과 같은 복잡성과 같은 많은 복잡한 문제는 여전히 어려운 과제입니다. 대답.

그러나 두 번째 문제는 – 사람들이 완벽한 해결책을 찾기 위해 엄청난 노력에 넣어,하지만 정말 완벽한 “해석”알고리즘이 실현 실질적으로 영어와 같은 모든 자연 언어에 대한 아니다 – 변화가있는 알고리즘을 망치는. 이 분야-인공 지능, 컴퓨터 과학 및 언어학의 하이브리드는 NLP 로 알려져 있습니다 . 다음을 고려하십시오 : 문장을 “통역”할 때 Google Translate도 완벽하지 않습니다.

그럼에도 불구하고 이것은 매우 흥미로운 분야입니다.


답변

이 Wikipedia 기사를 읽어야한다고 생각합니다.

http://en.wikipedia.org/wiki/Part-of-speech_tagging

(연구 분야이므로 쉬운 해결책을 기대하지 마십시오.)


답변

이것을하는 가장 저렴한 방법은 사전 데이터베이스를 설정하는 것입니다 (나는 누군가가 이것을 한 것에 대해 거의 긍정적입니다).

테이블에 두 개의 필드가 필요 word하고usage

문구를 문자열 배열 (각 단어는 문자열 임)로 독립적으로 전환하십시오.

select 'usage' from Dictionary WHERE 'word' = $word;

그것은 무거운 솔루션이지만 과거에 사용한 적이 있습니다.


답변