0

의 우리가 모든 형태, 동의어, 포함 (결국) 가능한 모든 영어 단어를 나타내는 데이터를 저장하고 싶은 말은하자 품사 :. 시제, 일반 표현, 관용구을 포함합니다. 그리고 심지어 더 - 우리가 지금까지 알지도 못하는 많은 연결. 단어를 검색하는 방법에 대한어떤 종류의 '단어를 자연 언어 사이의 연결을 나타내는 데리러

요구 사항 :빠른해야한다. 나는 단어 "go"가 사용되는 모든 관용구를 즉시 얻을 수 있습니다. 또는 에 비즈니스 (태그)와 관련된 3 개의 문자가있는 모든 단어를 얻을 수 있으며 모든 시제에서 동일한 양식을 사용할 수 있습니다.

어떤 유형의 데이터베이스를 문제 유형으로 사용합니까?

  1. NOSQL Mongo DB와 같은 데이터베이스입니까? 아마도 그렇지 않을 것입니다. 많은 연결이 있기 때문입니다. 하지만 언뜻보기에 그것은 나쁜 생각이 아닐 수도 있습니다 - json이 우리를 명확하게 (인간을 위해) 나타낼 수 있습니까? MySql, whateverSQL 같은
  2. Relational Database, SQL 하나 '.. 어쩌면 - 세 많이 많은 인덱스를 조인 수 있으며이 경우에도 충분한 수 있기 때문에? 또는 클러스터를 사용하더라도이 구조를 이해하고 지원하는 것이 엉망이 될 수 있습니다.
  3. [Graph database][1]? 이것은 모든 객체들 사이의 링크와 연결에 관한 것으로 보이며, 데이터를 표현하는 방법 (참조/연결 : 동의어와 같은 일부 이름은 & 유형으로 표시하는 것이 이해하기 쉽다)에 훨씬 더 가깝게 보입니다. 그러나 느린 비교 일지 모르지만 관계형 데이터베이스 (위키 피 디아를 따를 경우)? (나는 이런 종류의 dbs로 일한 적이 없다). 그리고 스케일링 (scaling) (어쩌면 그 유형의 dbs가 실제 작업을 위해 아직 입증되지 않았습니까?)
  4. 자신의 만들기 (나는이 길을 갈 것입니다 ..)

질문은 다음과 같습니다?

  1. 는 DB의 또 다른 유형/당신이 사용할 수있는 데이터의 표현이 있는가 작업 유형?
  2. 비슷한 문제로 일하는 일부 경험에 대해 입증 된 견해를 가진 사람이 있습니까?
+0

의미 론적 (RDF) 데이터베이스는 어떻습니까? –

답변

1

그래프 데이터베이스를 사용해 보겠습니다. 이 이야기에서 어떤 영감을 얻을 수 있습니다 : http://skillsmatter.com/podcast/home/case-study-using-graph-theory-graph-databases-to-understand-user-intent/mh-6603

그냥 깔끔하게 선택하십시오. 그래프 데이터베이스도 NoSQL으로 간주됩니다. Martin Fowler의 위대한 대화를 확인하십시오 : http://www.youtube.com/watch?v=qI_g07C_Q5I

+0

"N- 그램"은 저에게 흥미로울만한 것입니다. 그 방향에 대한 감사. – ses