문서항행렬

Document-term matrix

[1] 문서항 행렬은 문서 집합에서 발생하는 용어의 빈도를 설명하는 수학 행렬입니다.문서 항 행렬에서 행은 집합의 문서에 해당하고 열은 항에 해당합니다.이 매트릭스는 문서 기능 매트릭스의 특정 인스턴스이며, 여기서 "기능"은 [2]용어 외에 문서의 다른 속성을 참조할 수 있습니다.또한 문서가 열이고 항이 행인 전치 또는 용어 문서 행렬이 나타나는 경우가 흔합니다.자연어 처리계산 텍스트 [3]분석 분야에서 유용합니다.

셀 값은 일반적으로 주어진 항의 원시 카운트이지만 행 정규화(상대 주파수/비례) 및 tf-idf와 같은 원시 카운트의 가중치를 부여하기 위한 다양한 방식이 있습니다.

용어는 일반적으로 공백 또는 구두점(유니그램)으로 구분된 단일 단어입니다.이 경우 문서 내의 단어 순서는 유지되지만 개별 단어의 수는 유지되기 때문에 이를 "단어 묶음" 표현이라고도 합니다.

일반적인 개념

문서 말뭉치에 나타나는 용어의 데이터 세트를 작성할 때 문서 용어 행렬에는 문서에 해당하는 행과 용어에 해당하는 열이 포함됩니다.ij 셀은 문서 i에서 단어 j가 발생한 횟수입니다.따라서 각 행은 해당 행에 대응하는 문서의 내용을 나타내는 용어 카운트의 벡터입니다.예를 들어 다음과 같은 두 개의 (짧은) 문서가 있는 경우:

  • D1 = "데이터베이스가 좋다"
  • D2 = "데이터베이스가 싫다",

문서-항 행렬은 다음과 같습니다.

I 맘에 들다 싫어합니다 데이터베이스
D1 1 1 0 1
D2 1 0 1 1

어떤 문서에 어떤 용어가 포함되어 있고 표시되는 횟수가 표시됩니다.문서를 단순한 토큰 카운트 목록으로 나타내는 것과 달리, 문서 용어 매트릭스는 말뭉치의 모든 용어(즉, 말뭉치 어휘)를 포함하므로, 특정 문서에서도 발생하지 않는 말뭉치의 용어에 대한 카운트가 0이 된다.

거의 모든 말뭉치에서 토큰의 멱함수 법칙 분포의 결과로 (Zipf의 법칙 참조) 카운트에 무게를 두는 것이 일반적이다.이는 문서 내 토큰의 총 수(상대 빈도 또는 비율)로 카운트를 나누거나 각 문서의 최대 빈도로 나누거나(프로포지 맥스라고 함), 빈도의 로그 기록(로그 카운트라고 함)으로 간단하게 할 수 있습니다.말뭉치 전체와 비교하여 개별 문서에 가장 고유한 단어에 무게를 두고 싶다면 용어 빈도를 용어의 문서 빈도로 나눈 tf-idf를 사용하는 것이 일반적이다.

개념의 역사

문서 용어 행렬은 텍스트의 전산화 초기에 나타났다.문서 저장 용량이 증가함에 따라 주어진 문서를 효율적으로 검색하는 문제가 발생했습니다.이전에는 분류 및 색인 작업을 손으로 수행했지만, 연구자들은 단어 빈도 정보를 사용하여 자동으로 수행할 수 있는 가능성을 탐색했습니다.

최초로 공개된 문서 항 행렬 중 하나는 1962년 해롤드 보르코의 기사 "경험적으로 수학적으로 파생된 분류 체계 구축" (282쪽, 그의 1965년[4] 논문도 참조)에 있었다.보르코는 존 C가 쓴 두 개의 컴퓨터 프로그램인 "FEAT"를 참조한다.System Development Corporation의 Olney와 System Development Corporation의 Eileen Stone이 작성한 Descriptor Word Index Program은 다음과 같습니다.

실험 라이브러리를 구성하는 문서를 선택한 후, 다음 단계는 텍스트 준비의 전체 본문을 컴퓨터 처리로 펀칭하는 것으로 구성되었습니다.이 분석에 사용된 프로그램은 FEAT(Frequency of Every Allowable Term)입니다.그것은 존 C에 의해 쓰여졌다.System Development Corporation의 Olney는 개별 단어 및 단어 쌍의 빈도 및 요약 카운트를 수행하도록 설계되었습니다.이 프로그램의 출력은 텍스트에 나타난 모든 단어 유형을 발생 빈도별로 알파벳 순으로 나열한 것입니다.및, at, a 등의 특정 함수 단어가 "금기어 목록" 표에 배치되어 있으며, 이 단어들의 빈도는 별도의 목록에 기록되었습니다.Descriptor Word Index Program이라 불리는 특별한 컴퓨터 프로그램이 이 정보를 제공하고 인자 분석 프로그램에 적합한 형태로 문서 용어 매트릭스를 준비하기 위해 작성되었습니다.기술자 단어 색인 프로그램은 System Development Corporation의 [5]Eileen Stone에 의해 준비되었습니다.

직후, Gerard Salton은 1963년에 문서 용어 [6]매트릭스의 시각적 묘사를 포함한 "자동 문서 검색을 위한 일부 계층적 모델"을 발표했다.당시 샐튼은 하버드 대학에 재학 중이었으며 그의 연구는 공군 캠브리지 연구소와 실바니아 전기제품 주식회사의 지원을 받았다.이 문서에서 Salton은 단어 간의 유사성을 측정하는 데 사용되는 일종의 용어 컨텍스트 매트릭스와 비교하여 문서 용어 매트릭스를 소개합니다.

단어 연관성 대신 문서 연관성 또는 문서 클러스터를 생성하려면 동일한 절차를 약간 수정하여 사용할 수 있습니다.단어-문장 행렬 C로 시작하는 대신...문서j D...에i 단어 W의 발생 빈도를 나열하는 단어-문서 행렬 F를 구성하는 것이 편리하다.이제 행 쌍을 비교하고 주어진 문서에 포함된 내용 단어의 공존 빈도에 기초한 유사도 계수를 구함으로써 이전과 같이 문서 유사도를 계산할 수 있습니다.이 절차에서는 문서 클러스터 [6]생성에 사용할 수 있는 문서-문서 유사성 매트릭스를 생성합니다.

1964년 Borko와 Salton 외에 F.W. Lancaster는 자동화된 인덱싱 및 검색에 대한 포괄적인 리뷰를 발표했습니다.그가 워싱턴 D.C.의 Herner and Company에서 일하는 동안, 이 논문은 그가 "Aslib Cranfield [7]Project의 연구 업무에 고용되었을 때" 쓰여졌다.Lancaster는 Borko에 문서 용어 매트릭스를 부여하고 있습니다.

System Development Corporation의 Harold Borko가 이 작업을 좀 더 진행했습니다.중요한 단서 단어 그룹은 실험 모음의 어휘에서 선택된다.각 문서의 각 용어가 발생하는 빈도를 나타내기 위해 문서/용어 매트릭스로 배열되어 있습니다.다음으로 문서 세트에서의 이들의 공존에 근거하여 각 단어 쌍의 상관계수가 계산된다.결과 항/항 행렬...인자를 분석하여 일련의 인자를 분리한다.이러한 인자는 각 인자에 나타나는 높은 적재가 있는 항을 기준으로 해석하고 명명하면 경험적 분류의 클래스가 됩니다.각 요인의 적재가 높은 항은 범주의 단어나 예측 변수입니다.

용어의 선택

매트릭스의 관점은 각 행이 문서를 나타낸다는 것입니다.일반적으로 문서-항 행렬 계산에 사용되는 벡터 의미 모델에서 목표는 의미론적으로 유의한 용어의 빈도로 문서의 주제를 표현하는 것이다.용어는 문서의 의미 단위입니다.인도유럽어족 언어에서는 명사, 동사 및 형용사가 더 중요한 범주이며, 이러한 범주에서 나온 단어는 용어로 유지되어야 한다고 종종 가정한다.용어로서 코로케이션을 추가하면, 특히 문서간의 유사성을 계산할 때, 벡터의 품질이 향상됩니다.

적용들

검색 결과 향상

잠재의미분석(LSA, 문서용어 매트릭스에서 특이값 분해를 실행)은 다의어를 명확히 하고 쿼리의 동의어를 검색함으로써 검색 결과를 개선할 수 있다.그러나 고차원 연속 공간에서의 검색은 검색 엔진의 표준 trie 데이터 구조를 검색하는 것보다 훨씬 느리다.

토픽 검색

문서-항 행렬의 다변량 분석은 말뭉치의 주제/주제를 밝힐 수 있다.구체적으로 잠재 의미 분석과 데이터 클러스터링을 사용할 수 있으며, 보다 최근에는 일반화 잠재 디리클레 할당비음성 행렬 인수분해를 통한 확률론적 잠재 의미 분석이 이 작업에 대해 잘 수행된다는 것이 밝혀졌다.

「 」를 참조해 주세요.

실장

  • Gensim: Vector Space 모델링을 위한 오픈 소스 Python 프레임워크.텍스트와 공통 변환(tf-idf, LSA, LDA)에서 용어 문서 행렬을 구성하는 메모리 효율적인 알고리즘을 포함합니다.

레퍼런스

  1. ^ "10.1063/1.4831988.4". Default Digital Object Group. 2013-11-15. Retrieved 2022-01-30.
  2. ^ "Document-feature matrix :: Tutorials for quanteda". tutorials.quanteda.io. Retrieved 2021-01-02.
  3. ^ "15 Ways to Create a Document-Term Matrix in R". Dustin S. Stoltz. Retrieved 2021-01-02.
  4. ^ Borko, Harold (1965). "A Factor Analytically Derived Classification System for Psychological Reports". Perceptual and Motor Skills. 20 (2): 393–406. doi:10.2466/pms.1965.20.2.393. ISSN 0031-5125. PMID 14279310. S2CID 34230652.
  5. ^ Borko, Harold (1962). "The construction of an empirically based mathematically derived classification system". Proceedings of the May 1–3, 1962, Spring Joint Computer Conference on - AIEE-IRE '62 (Spring). AIEE-IRE '62 (Spring). New York, New York, USA: ACM Press: 279–289. doi:10.1145/1460833.1460865. ISBN 9781450378758. S2CID 6483337.
  6. ^ a b Salton, Gerard (July 1963). "Some hierarchical models for automatic document retrieval". American Documentation. 14 (3): 213–222. doi:10.1002/asi.5090140307. ISSN 0096-946X.
  7. ^ LANCASTER, F.W. (1964-01-01). "MECHANIZED DOCUMENT CONTROL: A Review of Some Recent Research". ASLIB Proceedings. 16 (4): 132–152. doi:10.1108/eb049960. ISSN 0001-253X.