자연어 처리 구문 분석 된 데이터 유지


12

최근 Stanford의 CoreNLP를 사용하여 NLP (Natural Language Processing) 실험을 시작했으며 텍스트 마이닝 응용 프로그램과 같은 NLP 구문 분석 데이터를 저장하는 표준 방법이 무엇인지 궁금합니다.

내가 흥미로울 것이라고 생각한 한 가지 방법은 아이들을 인접 목록으로 저장하고 재귀 쿼리를 잘 활용하는 것입니다 (Postgres는 이것을 지원하며 실제로 잘 작동한다는 것을 알았습니다).

그러나 몇 년 동안 현장에서 일하는 사람들이 채택한 분석의 종류에 따라이 작업을 수행하는 표준 방법이 많이 있다고 생각합니다. 그렇다면 NLP 파싱 된 데이터에 대한 표준 지속성 전략은 무엇이며 어떻게 사용됩니까?

답변:


3

나는 한 번 NLP 툴킷과 함께 일하면서 설명 한 문제에 부딪쳤다. 나는 적어도 두 가지 접근법이 있다고 생각합니다.

  • (암시 적 접근), 메모 사용

    함수가 일류 객체 (예 : Lua, Python 또는 Perl 1 ) 인 프로그래밍 언어에서 주어진 값에 대해 값이 계산되면 함수를 계산 된 값으로 (런타임에) 대체하여 자동 메모를 구현할 수 있습니다. 파라미터 세트.

    이것이 내가 사용한 접근 방식이며 빠르게 구현 될 수 있습니다. 단점은 더 큰 특정 데이터 구조가 디스크에 유지 될 것이며로드가 재 계산보다 훨씬 빠르지 만 여전히 시간이 걸렸다는 것입니다.

  • (명시 적), 관계형이거나 문서 지향적 인 데이터베이스를 사용하여 나중에 관심을 가질만한 모든 결과를 저장하십시오. 처음에는 더 많은주의가 필요하지만 장기적으로는 돈을 지불해야합니다.

아마도 관심이있을 것입니다 :


편집 : 다단계 장기 실행 계산에 최근에 사용한 또 다른 사항은 워크 플로우 프레임 워크이며 수십 가지가 있습니다. 지속성에 관한 것이 아니라 지속성은 워크 플로의 한 단계입니다. Luigi 를 시도하고 있으며 예를 들어 Hadoop 및 Postgres 도우미 클래스가있어 많은 상용구 코드를 제거 할 수 있습니다.


2

좋은 전략은 MongoDB 또는 CouchDB와 같은 NOSQL 데이터베이스와 같은 좋은 Reduce / Map 기능을 갖춘 데이터베이스를 사용하는 것입니다.
이 데이터베이스를 사용하면 용어 및 인접성 을 매핑 하는 간단한 코딩 된 규칙과 정보를 줄이기위한 간단한 코딩 된 규칙을 만들 수 있습니다 ( "그룹").

여기에서 시작할 수 있습니다 :
http://www.mongodb.org/
http://wiki.apache.org/couchdb/

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.