"파싱"의 두 판 사이의 차이
hangyuwon95 (토론 | 기여) (→참고자료) |
hangyuwon95 (토론 | 기여) (→컵퓨터언어로 분석 방법) |
||
18번째 줄: | 18번째 줄: | ||
<ref> | <ref> | ||
〈[https://en.wikipedia.org/wiki/Parsing 파싱]〉, 《위키피디아》</ref> | 〈[https://en.wikipedia.org/wiki/Parsing 파싱]〉, 《위키피디아》</ref> | ||
+ | ==파서== | ||
+ | 파서(Parser)란 Compiler의 일부로서 원시 프로그램의 명령문이나 온라인 명령문, HTML 문서 등에서 Markup Tag 등을 입력으로 받아들여서 구분을 해석 할 수 있는 단위로 여러 부분으로 해석해 w는 역할을 한다. 즉 Compiler나 Interpreter에서 원시 프로그램을 읽어 들여, 그 문장이 구조를 알아내는 Parsing을 행하여 주는 프로그램이다. | ||
+ | <ref>킹포도의 코딩, 〈[ https://kingpodo.tistory.com/8]〉, 《티스토리》, 2018-04-29</ref> | ||
==특징== | ==특징== |
2019년 8월 14일 (수) 10:42 판
구문 분석 , 구문 분석 , 또는 구문 분석 분석하는 과정입니다 문자열 의 문자 중 하나로, 자연 언어 , 컴퓨터 언어 또는 데이터 구조 (a)의 규정에 부합하는, 형식적인 문법 . 파싱 ( parsing ) 이라는 용어 는 라틴어 파스 ( orationis )에서 유래 한 것으로 음성의 일부를 의미 합니다. [1] 용어는 언어학 과 컴퓨터 과학 의 다른 분야에서 약간 다른 의미를 가지고 있습니다 . 전통적인 문장 분석은 종종 문장 다이어그램 과 같은 장치를 사용하여 문장이나 단어의 정확한 의미를 이해하는 방법으로 수행됩니다 . 보통 주제 와 술어 와 같은 문법 구분의 중요성을 강조합니다 . 내 컴퓨터 언어학 용어는 결과의 성분으로 단어의 문장이나 다른 문자열의 컴퓨터에 의해 형식적인 분석을 참조하는 데 사용됩니다 파스 트리 도 포함 할 수있는, 서로 자신의 구문 관계를 보여주는 의미 및 기타 정보를. 이 용어는 언어 이해를 설명 할 때 심리 언어학 에도 사용됩니다 . 이 문맥에서, 파싱은 인간이 "문법적 구성 요소, 말의 부분을 식별하는 것, 구문 적 관계 등"으로 문장 또는 구 (언어 또는 텍스트로)를 분석하는 방식을 말한다. [1] 이 용어는 화자가 정원 경로 문장 을 해석하는 데 도움이되는 언어 적 신호를 논의 할 때 특히 일반적 입니다. 컴퓨터 과학 내에서이 용어는 컴퓨터 언어 분석에 사용되며, 컴파일러 와 해석기 의 작성을 용이하게하기 위해 입력 코드를 구성 요소 부분으로 구문 분석하는 것을 말합니다 . 이 용어는 또한 분리 또는 분리를 설명하기 위해 사용될 수있다.
언어적 분석 방법
때때로로 알려진 구문 분석의 전통적인 문법 운동, 절 분석 , 형태, 기능에 대한 설명 및 각 부분의 통 사적 관계와 언론의 그 구성 부분으로 텍스트를 분해 포함한다. [2] 이것은 크게 활용되는 언어의 경우 상당히 복잡 할 수있는 언어의 활용 및 축소 에 대한 연구에서 결정 됩니다. 'man bites dog'와 같은 문구를 구문 분석하려면 단수 명사 'man'이 문장의 주제이고 동사 'bites'는 동사 '물기'의 현재 시제의 단수 인 세 번째 사람이며 단수 명사 'dog'은 문장의 대상입니다. 문장 도표 와 같은 기술 문장에서 요소 간의 관계를 나타내는 데 사용되기도합니다.
파싱은 영어권 세계에서 문법을 가르치는 데 중심이되었으며, 언어의 사용과 이해의 기본으로 널리 간주되었습니다. 그러나 이러한 기술에 대한 일반적인 가르침은 더 이상 최신이 아닙니다.
컵퓨터언어로 분석 방법
일부 기계 번역 및 자연어 처리 시스템에서, 인간 언어로 작성된 텍스트는 컴퓨터 프로그램에 의해 구문 분석됩니다. [3] 인간 언어 구조에는 상당한 모호성 이 있기 때문에 인간 문장은 프로그램에 의해 쉽게 파싱되지 않으며 , 그 사용은 잠재적으로 무한한 가능성 범위 사이에 의미 (또는 의미 ) 를 전달하는 것이지만 그 중 일부만이 특별한 경우. [4]따라서 발화 "Man bites dog"와 "Dog bites man"은 세부적으로 명확하지만 다른 언어에서는 "Man dog bites"로 표시 될 수 있습니다. 걱정. 일부 규칙을 준수하고 있음에도 불구하고 비공식적 인 행동을 설명하기위한 공식 규칙을 준비하는 것은 어렵습니다. [ 인용 필요 ]
자연어 데이터를 구문 분석하려면 먼저 사용할 문법 에 동의해야합니다 . 구문 선택은 언어 적 문제와 계산상의 문제 모두에 영향을받습니다 . 예를 들어 일부 구문 분석 시스템은 어휘 기능 문법을 사용 하지만 일반적으로이 유형의 문법 구문 분석은 NP-complete로 알려져 있습니다 . 머리 중심 구문 구조 문법 은 구문 분석 커뮤니티에서 인기가있는 또 다른 언어 형식주의이지만, 다른 연구 노력은 Penn Treebank 에서 사용되는 것과 같은 덜 복잡한 형식주의에 중점을 두었습니다 . 얕은 파싱명사구와 같은 주요 구성 요소의 경계만을 찾는 것을 목표로합니다. 언어 논쟁을 피하기위한 또 다른 대중적인 전략은 의존성 문법 분석입니다.
대부분의 현대적인 파서는 적어도 부분적으로 통계적입니다 . 즉, 그들은 이미 주석이 달린 (수동으로 파싱 된) 훈련 데이터 모음에 의존합니다. 이 접근법을 통해 시스템은 특정 상황에서 다양한 구성이 발생하는 빈도에 대한 정보를 수집 할 수 있습니다. (참고 기계 학습 .) 간단한 포함 사용되고 접근 PCFGs (확률 문맥 자유 문법), [5] , 최대 엔트로피 , [6] 및 신경망을 . [7] 가장 성공적인 시스템의 대부분은 어휘 통계를 사용 합니다. 즉, 관련된 단어의 정체성과품사 ). 그러나 이러한 시스템은 취약하다 overfitting 과 어떤 종류의 필요 스무딩 효과가있다. [ 인용 필요 ]
자연 언어에 대한 구문 분석 알고리즘은 프로그래밍 언어에 대해 수동으로 디자인 된 문법과 마찬가지로 'nice'속성을 가진 문법에 의존 할 수 없습니다. 앞에서 언급했듯이 일부 문법 형식은 계산 방식으로 구문 분석하기가 매우 어렵습니다. 일반적으로, 원하는 구조가 문맥 이없는 경우에도 , 문법에 대한 어떤 종류의 문맥이없는 근사가 제 1 패스를 수행하는 데 사용된다. 문맥없는 문법을 사용하는 알고리즘은 종종 CYK 알고리즘 의 일부 변형에 의존하며 , 일반적으로 시간을 절약하기 위해 분석을 제거 하는 휴리스틱 이 있습니다. ( 차트 구문 분석 참조 ) 그러나 일부 시스템은 예를 들어 시프트 타임의 선형 시간 버전을 사용하여 정확도를 위해 속도를 교환 합니다.연산. 파서가 많은 분석을 제안하고 다소 복잡한 시스템이 최선의 옵션을 선택 하는 다소 최근의 개발이 파싱 리 랭킹 입니다. [ 표창장은 필요로했다 ] 시맨틱 파서는 그 의미의 표현으로 텍스트를 변환합니다. [8] [1]
파서
파서(Parser)란 Compiler의 일부로서 원시 프로그램의 명령문이나 온라인 명령문, HTML 문서 등에서 Markup Tag 등을 입력으로 받아들여서 구분을 해석 할 수 있는 단위로 여러 부분으로 해석해 w는 역할을 한다. 즉 Compiler나 Interpreter에서 원시 프로그램을 읽어 들여, 그 문장이 구조를 알아내는 Parsing을 행하여 주는 프로그램이다. [2]
특징
- 프로그램을 compile하는 과정에서 특정 프로그래밍 언어가 제시하는 문법을 잘 지켜서 작성하였는지 compiler가 검사하는 것
ex) XML parser는 XML 문서가 XML 문법에 맞게 작성되었는지 검사
- XML 문서를 읽고 해석하여 태그명, 속성명, 속성값 및 엘리먼트 내용을 분리해 주는 프로그램
- 인터넷에 주어진 정보를 내가 원하는대로 가공하여 서버에서 원하는 때 불러올 수 있도록 하는 것
- 웹 브라우저인 explorer 또한 하나의 응용프로그램으로 XML parser가 parsing(해석)한 결과를 이용해 display 하도록 programming 되었었다
- 어떤 data를 원하는 form으로 만들어 내는 것
- 특정 문서(XML, HTML 등)을 읽어 다른 프로그램이나 서브루틴이 사용할 수 있는 내부의 표현 방식으로 변환해 주는 것
ex) 학교 홈페이지의 공지사항(태그 안의 text 내용이 있는 것)을 읽어와서 그 중 텍스트 내용만 따로 저장하는 등의 다른 프로그램이나 서브루틴이 사용할 수 있는 표현방식으로 변경 (의미를 파악하면서 읽는다- 값이 얼마인지 id 태그의 이름이 무엇인지 등을 파악)
- <>와 같은 태그를 사용자가 입력하면 컴퓨터가 알아볼 수 있도록 바꿔주는 과정
- 컴파일러의 일부로 원시 프로그램의 명령문이나 온라인 명령문, HTML 문서 등에서 Markup Tag 등을 입력으로 받아들여 구문을 해석할 수 있는 단위로 여러부분으로 분할해주는 역할
- Parsing 기법으로 XMl 파싱 기법인 DOM과 SAX / JSON 파싱 기법이 있다
각주
- ↑ 〈파싱〉, 《위키피디아》
- ↑ 킹포도의 코딩, 〈[ https://kingpodo.tistory.com/8]〉, 《티스토리》, 2018-04-29
참고자료
- 〈파싱〉, 《위키피디아》