자연어 처리에 관심이있는 사람에게 좋은 출발점은 무엇입니까? [닫은

StackOverflow https://stackoverflow.com/questions/212219

  •  03-07-2019
  •  | 
  •  

문제

의문

그래서 최근에 사용자가 제출하고 생성 한 텍스트에서 파생 된 '의미'를 다루어야 할 새로운 가능한 프로젝트를 생각해 냈습니다.

자연어 처리 이러한 종류의 문제를 다루는 분야이며, 초기 연구 후에 나는 Opennlp 허브 그리고와 같은 대학 협력 시도 프로젝트. 그리고 stackoverflow가 있습니다 이것.

Reseach 신문과 소개 텍스트에서 API에 이르기까지 누군가가 나를 좋은 자료에 연결할 수 있다면, 나는 그의 크리스마스 선물을 여는 6 살짜리 아이보다 더 행복 할 것입니다!

업데이트

내가 찾은 권장 사항 중 하나를 통해 Opencyc ('세계에서 가장 크고 가장 완전한 일반 지식 기반 및 상식 추론 엔진'). 더욱 놀라운 것은 Opencyc의 증류 된 버전 인 프로젝트가 있습니다. 산형 화서. RDF/OWL/SKOS N3 구문의 시맨틱 데이터를 특징으로합니다.

나는 또한 우연히 발견했다 antlr, 파서 생성기 '문법 설명에서 인식 자, 통역사, 컴파일러 및 번역기 구성'.

그리고 여기에 질문이 있습니다. 무료 및 오픈 데이터.

감사합니다 Stackoverflow 커뮤니티!

도움이 되었습니까?

해결책

힘든 전화, NLP는 대부분의 사람들이 생각하는 것보다 훨씬 더 넓습니다. 기본적으로 언어는 여러 범주로 나눌 수 있으므로 완전히 다른 것을 배워야합니다.

내가 시작하기 전에, 일부 (밀접하게 관련된) 분야에서 학위를받지 않고 눈에 띄는 성공을 거두게 될 것입니다. 많은 이론이 포함되어 있으며, 대부분은 건조하고 배우기가 어렵습니다. 당신은 많은 지구력과 무엇보다도 시간이 필요합니다 : 시간.

텍스트의 의미에 관심이 있다면, 이것이 다음 큰 것입니다. 시맨틱 검색 엔진은 웹 3.0을 시작하는 것으로 예측되지만 우리는 아직 '거기'에서 멀리 떨어져 있습니다. 텍스트에서 논리 추출은 여러 단계에 따라 다릅니다.

  • 토큰 화, 청킹
  • 어휘 수준에서의 명확성 (시간은 화살처럼 날아가지 만 과일은 바나나처럼 날아갑니다.)
  • 구문 파싱
  • 형태 학적 분석 (시제, 측면, 사례, 숫자, whatnot)

내 머리 꼭대기에서 작은 목록. 더 많은 것 :-), 그리고 각 지점에 더 많은 세부 사항이 있습니다. 예를 들어, "파싱"이라고 말할 때 이것이 무엇입니까? 거기 있습니다 많은 다른 구문 분석 알고리즘, 그리고 많은 구문 분석 형식이 있습니다. 가장 강력한 것 중 하나입니다 나무 조정 문법 그리고 헤드 구동 문구 구조 문법. 그러나 둘 다 현장에서 거의 사용되지 않습니다 (현재). 일반적으로, 당신은 반으로 구운 생성 접근법을 다룰 것이며, 직접 형태 학적 분석을 수행해야합니다.

거기에서 의미론으로가는 것은 큰 단계입니다. 구문/시맨틱 인터페이스는 구문에 따라 다릅니다. 그리고 시맨틱 프레임 워크가 사용되었으며 아직 단일 작업 솔루션이 없습니다. 의미 측면에는 고전적인 생성 시맨틱이 있습니다. 담론 표현 이론, 동적 의미론, 그리고 더 많은. 모든 것이 기반으로하는 논리적 형식주의조차도 여전히 잘 정의되지 않았습니다. 어떤 사람들은 1 차 논리를 사용해야한다고 말하지만 거의 충분하지 않은 것 같습니다. 그런 다음 Montague에서 사용하는 비교 논리가 있지만 지나치게 복잡하고 계산적으로 불가능 해 보입니다. 역동적 인 논리가 있습니다 (Groenendijk와 Stokhof는이 물건을 개척했습니다. 훌륭한 것들!). Jeroen Groenendijk 새로운 형식주의를 제시하고 알고 싶어하는 의미론, 또한 매우 흥미 롭습니다.

아주 간단한 수준에서 시작하려면 읽으십시오. Blackburn and Bos (2005), 그것은 훌륭한 것들이며, 계산 시맨틱에 대한 현지 소개! 나는 최근에 Groenendijk and Stokhof (1982)가 제안한 바와 같이, 질문의 분할 이론 (질문 대답은 짐승입니다!)을 다루기 위해 그들의 시스템을 확장했지만 불행히도 이론은 개인의 영역에 대한 O (n²)의 복잡성을 가지고 있습니다. . 그렇게하는 동안, 나는 B & B의 구현이 조금이라도… 그럼에도 불구하고, 그것은 정말로, 당신이 계산 시맨틱에 뛰어 들면서 실제로 할 수있는 일에 대한 매우 인상적인 쇼케이스입니다. 또한, 그들은 펄프 소설 (영화)에 정착 된 문법을 구현하기 위해 여분의 시원한 포인트를받을 자격이 있습니다.

그리고 내가 그곳에있는 동안 프롤로그를 집어 들으십시오. 계산 의미론에 대한 많은 연구는 프롤로그를 기반으로합니다. 지금 프롤로그를 배우십시오! 좋은 소개입니다. 또한 "The Art of Prolog"및 Covington의 "Prolog Programming In Depth"및 "Prolog Programmers를위한 자연 언어 처리"를 추천 할 수 있습니다.

다른 팁

Chomsky는 NLP를 찾을 수있는 잘못된 출처입니다 (그리고 그는 강조 적으로 자신을 많이 말할 것입니다). "통계적 방법 및 언어학"Abney에 의해.

위에서 언급 한 Jurafsky와 Martin은 표준 참조이지만 나는 나 자신이 선호합니다. 매닝과 슈 테즈. NLP에 대해 진지하게 생각한다면 둘 다 읽고 싶을 것입니다. Manning의 코스 중 하나에 대한 비디오가 있습니다. 온라인.

당신이 Prolog를 통해 Prolog를 배우십시오! 위의 Dimitrov 씨에 의해 언급 된 경우, Prolog는 귀하에게 질문 응답을 통해 업데이트 될 수있는 지식과 신념 데이터베이스를 유지하는 매우 간단한 방법을 제공하기 때문에 귀하의 시스템에 시맨틱을 얻는 것을 시작할 수 있습니다.

문헌과 관련하여, 나는 당신에게 하나의 주요 권장 사항이 있습니다 : 도망가는 것입니다. 언어 및 언어 처리 Jurafsky & Martin. 거의입니다 그만큼 NLP에 관한 책 (첫 번째 장은 온라인으로 제공됨); Frillion University 코스에 사용되지만 비양관과 실질적으로 지향적 인 경우도 읽을 수 있으며 동시에 언어학 문제에 대해 상당히 깊이 들어갑니다. 나는 그것을 충분히 추천 할 수 없다. 17 장, 18 장 및 21 장은 당신이 찾고있는 것 같습니다 (첫 번째 판의 14, 15 및 18). 그들은 당신에게 단순한 람다 표기법을 보여줍니다.

오, BTW, 언어학 석사를 얻는 데; NL 시맨틱이 당신이 원하는 것이라면, 당신이 찾을 수있는 모든 AI 관련 코스를 수강하는 것이 좋습니다 ( "일반"언어 시맨틱, 논리, 논리적 의미론, Drt, LFG/hpsg/ccg, nl parsing, 공식 언어 이론 등이 아프지 않을 것입니다 ...)

Chomsky의 독창적 인 문학을 읽는 것은 실제로 유용하지 않습니다. 내가 아는 한, 현재 구현은 곧장 그의 이론에 해당하는데, 그의 유용한 것은 다른 이론에 의해 거의 다루어지며 (그리고 어떤 시간 동안 어떤 시간 동안 언어 학자 근처에 머무르는 사람은 삼투에 의해 Chomsky에 대한 지식을 흡수 할 것입니다).

나는 함께 놀고있는 것이 좋습니다 NLTK 그리고 읽기 NLTK 책. NLTK는 매우 강력하고 쉽게 들어가기 쉽습니다.

당신은 조금만 읽을 수 있습니다 구조화 된 문법, 이것은 기본적으로 많은 언어 처리의 배후에있는 수학입니다. 실제로 세트와 그래프 이론을 기반으로하는 것은 그다지 무겁지 않습니다. 나는 개별 수학 과정의 일환으로 많은 달을 공부 했으며이 단계에서는 많은 참고 문헌이 있다고 생각합니다.

편집 : Google에서 기대했던 것만 큼 많지는 않지만 이 하나 좋은 학습 소스처럼 보입니다.

NLP의 초기 탐험가 중 하나는 Noam Chomsky입니다. 그는 50 년대부터 70 년대 까지이 주제에 관한 작은 책을 썼습니다. 매력적인 독서를 찾을 수 있습니다.

cycorp에는 a 간단한 설명 그들의 CYC 지식 기반이 문장에서 의미를 도출하는 방법에 대해.

공통된 사실의 거대한 지식 기반을 활용함으로써 시스템은 문장의 가장 논리적 인 구문 분석을 결정할 수 있습니다.

빌딩 블록부터 시작하기에 더 간단한 장소는 패키지를 시도하는 문서를 살펴 보는 것입니다. 파이썬 [NLTK (Natural Language Toolkit)를 추천합니다.1, 특히 그들의 잘 쓰여진 무료 책, 그것은 예로 채워져 있습니다. 그것은 당신이 원하는 것 (Ai-Hard 문제)까지 당신을 완전히 얻지 못하지만 좋은 발을 줄 것입니다. NLTK에는 파서, 덩어리, 상황이없는 문법 등이 있습니다.

이것은 진짜 어려운 것들. 언어학 석사 학위를받은 다음 NLP에 집중하면서 컴퓨터 과학 박사 학위를 취득하여 시작했습니다.

문제는 우리 대부분이 언어가 무엇인지 이해하지 못한다는 것입니다. 그리고 그 이해가 없다면 솔루션을 구현하는 것은 피의 힘이 있습니다.

다른 의견은 일부 독서를 제공합니다. 문제의 작은 부분 집합으로 놀기 시작하고 싶을 때 괜찮을 것입니다. 그러나 정말 강력한 솔루션을 만들기 위해서는 단축키가 없습니다. 두 분야의 학업 배경이 필요합니다.

매우 즐거운 읽을 수있는 소개는 Steven Pinker의 언어 본능입니다. 그것은 Chomsky의 것들에 들어가고 또한 진화 생물학 각도에서 흥미로운 이야기를 들려줍니다. 당신이 주제를 처음 접한다면 Chomsky의 논문과 관련 작업에 뛰어 들기 전에 그런 것과 같은 가치가있을 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top